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
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.
  • Other Languages 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.

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

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