David Maleski Posted December 23, 2020 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
HiroShi Posted December 23, 2020 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 Te ajudei ?, Avalia aew pls .-. (desculpa eu não ter gorro de natal, eu odeio natal ) OldNick: VictorScripting Discord: vs hiro$hi#6667 GitHub: Hiroshi-Nagaza
David Maleski Posted December 23, 2020 Author Posted December 23, 2020 Obrigado amigo, deu certo aqui. Sucesso !!!
HiroShi Posted December 23, 2020 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 Te ajudei ?, Avalia aew pls .-. (desculpa eu não ter gorro de natal, eu odeio natal ) OldNick: VictorScripting Discord: vs hiro$hi#6667 GitHub: Hiroshi-Nagaza
David Maleski Posted December 26, 2020 Author 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 ?
David Maleski Posted December 26, 2020 Author 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.
Moderators Lord Henry Posted December 28, 2020 Moderators 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. Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment Discord Oficial do MTA: https://mtasa.com/discord Blacklist e Whitelist de Scripters: Planilha Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.
LucasST Posted December 29, 2020 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 DISCORD : LucasST#1725 DÚVIDAS ESTOU SEMPRE A DISPOSIÇÃO
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