Jump to content

Ajuda com codigo .Lua (Garagem)


Recommended Posts

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
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
Link to comment

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.
Link to comment

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
Link to comment

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