David Maleski Posted December 23, 2020 Share Posted December 23, 2020 Estou tentando criar uma funcão que quando o veiculo é destruido pelo painel P ou por algum staff (por comando /dv) o veiculo volte para a garagem. Vou postar um pedaço do codigo: function Destroy () local data2 = dbPoll(dbQuery(db, "SELECT * FROM Veiculos WHERE Conta = ?", getAccountName(getPlayerAccount(source))), -1) for i, data in ipairs (data2) do local IDDoDono = getElementData(source, "ID") if not IDDoDono then return end local VeiculoIDDoDono = ProcurarVeiculosNoJogo(IDDoDono) if VeiculoIDDoDono then destroyElement(VeiculoIDDoDono) end if VeiculoAluguel[source] then destroyElement(VeiculoAluguel[source]) end dbExec(db, "UPDATE Veiculos SET Status = ? WHERE Conta = ? AND Status = ?", "Guardado", getAccountName(getPlayerAccount(source)), "Spawnado") end end Link to comment
HiroShi Posted December 23, 2020 Share Posted December 23, 2020 36 minutes ago, David Maleski said: Estou tentando criar uma funcão que quando o veiculo é destruido pelo painel P ou por algum staff (por comando /dv) o veiculo volte para a garagem. Vou postar um pedaço do codigo: function Destroy () local data2 = dbPoll(dbQuery(db, "SELECT * FROM Veiculos WHERE Conta = ?", getAccountName(getPlayerAccount(source))), -1) for i, data in ipairs (data2) do local IDDoDono = getElementData(source, "ID") if not IDDoDono then return end local VeiculoIDDoDono = ProcurarVeiculosNoJogo(IDDoDono) if VeiculoIDDoDono then destroyElement(VeiculoIDDoDono) end if VeiculoAluguel[source] then destroyElement(VeiculoAluguel[source]) end dbExec(db, "UPDATE Veiculos SET Status = ? WHERE Conta = ? AND Status = ?", "Guardado", getAccountName(getPlayerAccount(source)), "Spawnado") end end use o evento onElementDestroy para isso. ex: addEventHandler("onElementDestroy", getRootElement(), function () if getElementType(source) == "vehicle" then local occupant = getVehicleOccupant(source, 0) if (occupant) then local data2 = dbPoll(dbQuery(db, "SELECT * FROM Veiculos WHERE Conta = ?", getAccountName(getPlayerAccount(occupant))), -1) for i, data in ipairs (data2) do local IDDoDono = getElementData(occupant, "ID") if not IDDoDono then return end local VeiculoIDDoDono = ProcurarVeiculosNoJogo(IDDoDono) if VeiculoIDDoDono then destroyElement(VeiculoIDDoDono) end if VeiculoAluguel[occupant] then destroyElement(VeiculoAluguel[occupant]) end dbExec(db, "UPDATE Veiculos SET Status = ? WHERE Conta = ? AND Status = ?", "Guardado", getAccountName(getPlayerAccount(occupant)), "Spawnado") end end end end) 1 Link to comment
David Maleski Posted December 23, 2020 Author Share Posted December 23, 2020 Obrigado amigo, deu certo aqui. Sucesso !!! Link to comment
HiroShi Posted December 23, 2020 Share Posted December 23, 2020 1 minute ago, David Maleski said: Obrigado amigo, deu certo aqui. Sucesso !!! 1 minute ago, HiroShi said: precisar estamos aí !!! 1 Link to comment
David Maleski Posted December 26, 2020 Author Share Posted December 26, 2020 Amigo, estou com um problema nesse codigo. Quando eu destruo qualquer veiculo na cidade todos voltam para a garagem. Oque pode ser ? Link to comment
David Maleski Posted December 26, 2020 Author Share Posted December 26, 2020 (edited) Um amigo aqui do Forum me ajudou a criar esse codigo addEventHandler("onElementDestroy", getRootElement(), function () if getElementType(source) == "vehicle" then local occupant = getVehicleOccupant(source, 0) if (occupant) then local data2 = dbPoll(dbQuery(db, "SELECT * FROM Veiculos WHERE Conta = ?", getAccountName(getPlayerAccount(occupant))), -1) for i, data in ipairs (data2) do local IDDoDono = getElementData(occupant, "ID") if not IDDoDono then return end local VeiculoIDDoDono = ProcurarVeiculosNoJogo(IDDoDono) if VeiculoIDDoDono then destroyElement(VeiculoIDDoDono) end if VeiculoAluguel[occupant] then destroyElement(VeiculoAluguel[occupant]) end dbExec(db, "UPDATE Veiculos SET Status = ? WHERE Conta = ? AND Status = ?", "Guardado", getAccountName(getPlayerAccount(occupant)), "Spawnado") end end end end) queria criar esse codigo para que quando algum staff do jogo desse destroy no veiculo de algum jogar usando /dv ou ate mesmo o painel P o veiculo voltasse para a garagem. o codigo funciona, o problema é que quando destruo algum veiculo TODOS os veiculos de todos os jogadores voltam para a garagem. Alguem pode ajudar ?? Edited December 28, 2020 by Lord Henry Código convertido de HTML para Lua. Link to comment
Other Languages Moderators Lord Henry Posted December 28, 2020 Other Languages Moderators Share Posted December 28, 2020 Da próxima vez não crie um novo tópico para tratar do mesmo assunto que é corrigir este script. Mantenha-se neste tópico. Link to comment
LucasST Posted December 29, 2020 Share Posted December 29, 2020 (edited) Você consegue identificar qual Element Data essa Concessionaria seta no Veiculo ao Retirar da Garagem ?, O Problema Está Ocorrendo Que o Update, da sua Função Está com WHERE apenas na conta e status, sendo assim modificando todos os carros da sua conta que estão retirados, utilize mais um AND no WHERE com o ID do Veiculo Especifico. Edited December 29, 2020 by LucasST Erro Ortográfico Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now