Jump to content

Ajuda com codigo .Lua (Garagem)


Recommended Posts

Posted

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

Posted
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)

 

  • Thanks 1

Te ajudei ?, Avalia aew pls .-.

(desculpa eu não ter gorro de natal, eu odeio natal :( )

rgv.gif
OldNick: VictorScripting

Discord: vs hiro$hi#6667

GitHub: Hiroshi-Nagaza

Posted
1 minute ago, David Maleski said:

Obrigado amigo, deu certo aqui. Sucesso !!!

❤️

1 minute ago, HiroShi said:

❤️

precisar estamos aí !!!

  • Thanks 1

Te ajudei ?, Avalia aew pls .-.

(desculpa eu não ter gorro de natal, eu odeio natal :( )

rgv.gif
OldNick: VictorScripting

Discord: vs hiro$hi#6667

GitHub: Hiroshi-Nagaza

Posted (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 by Lord Henry
Código convertido de HTML para Lua.
  • Moderators
Posted

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 Thanksspacer.png

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.

Posted (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 by LucasST
Erro Ortográfico

DISCORD : LucasST#1725 ?

DÚVIDAS ESTOU SEMPRE A DISPOSIÇÃO

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...