P43tous

VEICULO ADMIN DAYZ!! ALGUÉM ME AJUDA ??

Recommended Posts

Alguém pode me ajudar com um script?
eu consegui criar um veiculo para a acl "admin" através do comando "carro". Porém não consigo fazer para que respawne apenas um carro por vez. Toda vez que digita o comando "carro" ele continua spawnando o veiculo um do lado do outro.

function veiculodayz(thePlayer)
accountname = getAccountName(getPlayerAccount(thePlayer))
if isObjectInACLGroup("user." .. accountname, aclGetGroup("Admin")) then
do
        local x, y, z = getElementPosition(thePlayer)
        veh = createVehicle(489, x+3, y, z)
        setVehicleColor(veh,0,0,0)
        vehCol = createColSphere(x, y, z, 2.5)
        attachElements( vehCol, veh, 0, 0, 0 )
        setElementData(vehCol,"parent",veh)
        setElementData(veh,"parent",vehCol)
        setElementData(vehCol,"vehicle",true)
        setElementData(vehCol,"Tire_inVehicle",4)
        setElementData(vehCol,"Engine_inVehicle",1)
        setElementData(vehCol,"Parts_inVehicle",1)
        setElementData(vehCol,"fuel",10000)
        end    
    
end

end
addCommandHandler("carro", veiculodayz)

 

Share this post


Link to post
  • accountname está sendo usado em outro script ou outra função? Se não estiver, deixe ela como variável local.
  • Aquele do não faz sentido nenhum.
  • Corrija a indentação do código.
  • Existe um end em excesso.
  • Thanks 1

Share this post


Link to post

Lord Henry,

 como disse, porém minha duvida é como escrever para respawnar somente um veiculo toda vez que acionado o comando. consegue me ajudar?

https://uploaddeimagens.com.br/imagens/mta-screen_2018-12-17_16-23-48-png

function veiculodayz(thePlayer)
local accountname = getAccountName(getPlayerAccount(thePlayer))
if isObjectInACLGroup("user." .. accountname, aclGetGroup("Admin")) then

        local x, y, z = getElementPosition(thePlayer)
        veh = createVehicle(411, x+3, y, z)
        setVehicleColor(veh,255,255,255)
        vehCol = createColSphere(x, y, z, 2.5)
        attachElements( vehCol, veh, 0, 0, 0 )
        setElementData(vehCol,"parent",veh)
        setElementData(veh,"parent",vehCol)
        setElementData(vehCol,"vehicle",true)
        setElementData(vehCol,"Tire_inVehicle",4)
        setElementData(vehCol,"Engine_inVehicle",1)
        setElementData(vehCol,"Parts_inVehicle",1)
        setElementData(vehCol,"fuel",10000)
        end    
    
end

addCommandHandler("carro", veiculodayz)

 

Edited by P43tous
adição de screen!

Share this post


Link to post

Quando vc arrumar os erros do código atual, dai consigo te ajudar.

A propósito, sua imagem é essa:

Spoiler

mta-screen_2018-12-17_16-23-48.png?15450

 

  • Thanks 1

Share this post


Link to post

Desculpa me meter, mas parece que a print que ele enviou não parece combinar com esse código, tem output's que não se encontram no código mas na print contém.

  • Thanks 1

Share this post


Link to post

Lord Henry  Arrumei o código como me propôs, esta funcionando! Ele criar o veiculo ao lado do player. Minha duvida é como escrever que ao dar o comando "carro" novamente ele destrua o veiculo original e recria outro ao lado. Os output's encontrados na imagem não leve em consideração pois era uma resource que eu estava testando mas ja desativei! 

Share this post


Link to post
  1. function veiculodayz(thePlayer)
  2. local accountname = getAccountName(getPlayerAccount(thePlayer))
  3. if isObjectInACLGroup("user." .. accountname, aclGetGroup("Admin")) then
  4.  
  5.         local x, y, z = getElementPosition(thePlayer)
  6.         veh = createVehicle(411, x+3, y, z)
  7.         setVehicleColor(veh,255,255,255)
  8.         vehCol = createColSphere(x, y, z, 2.5)
  9.         attachElements( vehCol, veh, 0, 0, 0 )
  10.         setElementData(vehCol,"parent",veh)
  11.         setElementData(veh,"parent",vehCol)
  12.         setElementData(vehCol,"vehicle",true)
  13.         setElementData(vehCol,"Tire_inVehicle",4)
  14.         setElementData(vehCol,"Engine_inVehicle",1)
  15.         setElementData(vehCol,"Parts_inVehicle",1)
  16.         setElementData(vehCol,"fuel",10000)
  17.         end    
  18.     
  19. end
  20.  
  21. addCommandHandler("carro", veiculodayz)

Share this post


Link to post
function veiculodayz(thePlayer)
local accountname = getAccountName(getPlayerAccount(thePlayer))
if isObjectInACLGroup("user." .. accountname, aclGetGroup("Admin")) then
       if veh then
        DestroyElement(veh)
        DestroyElement(vehCol)
      end
        local x, y, z = getElementPosition(thePlayer)
        veh = createVehicle(411, x+3, y, z)
        setVehicleColor(veh,255,255,255)
        vehCol = createColSphere(x, y, z, 2.5)
        attachElements( vehCol, veh, 0, 0, 0 )
        setElementData(vehCol,"parent",veh)
        setElementData(veh,"parent",vehCol)
        setElementData(vehCol,"vehicle",true)
        setElementData(vehCol,"Tire_inVehicle",4)
        setElementData(vehCol,"Engine_inVehicle",1)
        setElementData(vehCol,"Parts_inVehicle",1)
        setElementData(vehCol,"fuel",10000)
        end    
    
end

addCommandHandler("carro", veiculodayz)

 

  • Like 1

Share this post


Link to post

Brunob22 , este código funcionou! não duplica mais itens, porém se o jogador said do veiculo e se distanciar, ele não ira conseguir chamar o veiculo novamente. Tem como mudar isso?

 

Share this post


Link to post

 

1 minute ago, P43tous said:

Brunob22 , este código funcionou! não duplica mais itens, porém se o jogador said do veiculo e se distanciar, ele não ira conseguir chamar o veiculo novamente. Tem como mudar isso?

 

não entendi

  • Thanks 1

Share this post


Link to post

 

6 minutes ago, brunob22 said:

 

não entendi

 

Um exemplo:

1 - O player aciona o comando "carro"  e o veiculo desova ao lado do player! Correto?

2- O player deixa o veiculo e começa a se distanciar do veiculo.

3-  Se o player quiser chamar o veiculo novamente ele não consegue. Ou ele volta e pega o veiculo ou ele explode o veiculo.

4- Minha pergunta é, ha possibilidade de quando o player acionar o comando "carro" o veiculo spawnar perto dele novamente sem criar duplicidade, ou seja somente puxar o veiculo pra perto do player?

Edited by P43tous

Share this post


Link to post
1 minute ago, P43tous said:

Um exemplo:

1 - O player aciona o comando "carro"  e o veiculo desova ao lado do player! Correto?

2- O player deixa o veiculo e começa a se distanciar do veiculo.

3-  Se o player quiser chamar o veiculo novamente ele não consegue. Ou ele volta e pega o veiculo ou ele explode o veiculo.

4- Minha pergunta é, ha possibilidade de quando o player acionar o comando "carro" o veiculo spawnar perto dele novamente sem criar duplicidade, ou seja somente puxar o veiculo pra perto do player?

tenta isso

veh = {}
vehCol = {}
function veiculodayz(thePlayer)
local accountname = getAccountName(getPlayerAccount(thePlayer))
if isObjectInACLGroup("user." .. accountname, aclGetGroup("Admin")) then
       if veh[thePlayer] then
        DestroyElement(veh[thePlayer])
        DestroyElement(vehCol[thePlayer])
      end
        local x, y, z = getElementPosition(thePlayer)
        veh[thePlayer] = createVehicle(411, x+3, y, z)
        setVehicleColor(veh[thePlayer],255,255,255)
        vehCol[thePlayer] = createColSphere(x, y, z, 2.5)
        attachElements( vehCol, veh, 0, 0, 0 )
        setElementData(vehCol[thePlayer],"parent",veh)
        setElementData(veh[thePlayer],"parent",vehCol)
        setElementData(vehCol[thePlayer],"vehicle",true)
        setElementData(vehCol[thePlayer],"Tire_inVehicle",4)
        setElementData(vehCol[thePlayer],"Engine_inVehicle",1)
        setElementData(vehCol[thePlayer],"Parts_inVehicle",1)
        setElementData(vehCol[thePlayer],"fuel",10000)
        end    
    
end

addCommandHandler("carro", veiculodayz)

não testei

  • Thanks 1

Share this post


Link to post

Não funcionou, ele continua do mesmo jeito e ainda não le as configurações de tires, engines, e parts.

6 minutes ago, brunob22 said:

tenta isso


veh = {}
vehCol = {}
function veiculodayz(thePlayer)
local accountname = getAccountName(getPlayerAccount(thePlayer))
if isObjectInACLGroup("user." .. accountname, aclGetGroup("Admin")) then
       if veh[thePlayer] then
        DestroyElement(veh[thePlayer])
        DestroyElement(vehCol[thePlayer])
      end
        local x, y, z = getElementPosition(thePlayer)
        veh[thePlayer] = createVehicle(411, x+3, y, z)
        setVehicleColor(veh[thePlayer],255,255,255)
        vehCol[thePlayer] = createColSphere(x, y, z, 2.5)
        attachElements( vehCol, veh, 0, 0, 0 )
        setElementData(vehCol[thePlayer],"parent",veh)
        setElementData(veh[thePlayer],"parent",vehCol)
        setElementData(vehCol[thePlayer],"vehicle",true)
        setElementData(vehCol[thePlayer],"Tire_inVehicle",4)
        setElementData(vehCol[thePlayer],"Engine_inVehicle",1)
        setElementData(vehCol[thePlayer],"Parts_inVehicle",1)
        setElementData(vehCol[thePlayer],"fuel",10000)
        end    
    
end

addCommandHandler("carro", veiculodayz)

não testei

 

Share this post


Link to post

Pronto.

veh = {}
vehCol = {}

function veiculodayz (thePlayer)
	local accountname = getAccountName (getPlayerAccount (thePlayer)) -- accountname recebe o nome da conta do jogador que usou o comando.
	if isObjectInACLGroup ("user."..accountname, aclGetGroup ("Admin")) then -- Se o nome da conta estiver na ACL Group Admin, então:
		local x, y, z = getElementPosition (thePlayer) -- x, y, z recebem a posição do jogador que usou o comando.
		if isElement (veh[thePlayer]) then -- Se já existe o veh[thePlayer] criado, então:
			spawnVehicle (veh[thePlayer], x+3, y, z) -- Spawna ele perto do jogador, sem criar outro.
			setElementData (vehCol[thePlayer], "parent", veh[thePlayer]) -- Reseta as datas do colider.
			setElementData (veh[thePlayer], "parent", vehCol[thePlayer])
			setElementData (vehCol[thePlayer], "vehicle", true)
			setElementData (vehCol[thePlayer], "Tire_inVehicle", 4)
			setElementData (vehCol[thePlayer], "Engine_inVehicle", 1)
			setElementData (vehCol[thePlayer], "Parts_inVehicle", 1)
			setElementData (vehCol[thePlayer], "fuel", 10000)
		else -- Se não existe um veh[thePlayer] criado, então:
			veh[thePlayer] = createVehicle (489, x+3, y, z) -- Cria o veh[thePlayer].
			setVehicleColor (veh[thePlayer], 0, 0, 0) -- Coloca ele na cor preta.
			if isElement (vehCol[thePlayer]) then -- Se já existe o colider (veículo foi deletado e o colider ficou lá), então:
				attachElements (vehCol[thePlayer], veh[thePlayer], 0, 0, 0) -- Anexa o colider novamente ao veh[thePlayer].
			else -- Se não existe colider nenhum, então:
				vehCol[thePlayer] = createColSphere (x, y, z, 2.5) -- Cria o colider.
				attachElements (vehCol[thePlayer], veh[thePlayer], 0, 0, 0) -- Anexa ele ao veh[thePlayer].
			end
			setElementData (vehCol[thePlayer], "parent", veh[thePlayer]) -- Seta as datas no veh[thePlayer] e no colider.
			setElementData (veh[thePlayer], "parent", vehCol[thePlayer])
			setElementData (vehCol[thePlayer], "vehicle", true)
			setElementData (vehCol[thePlayer], "Tire_inVehicle", 4)
			setElementData (vehCol[thePlayer], "Engine_inVehicle", 1)
			setElementData (vehCol[thePlayer], "Parts_inVehicle", 1)
			setElementData (vehCol[thePlayer], "fuel", 10000)
		end
	end
end
addCommandHandler ("carro", veiculodayz)

 

  • Thanks 1

Share this post


Link to post

Lord Henry 

Deu certo meu brother!!! Porém só tive que excluir ,

25.                                    end

e acrescentar ,

36.  end 

para fechar a função da linha 4.

Muito obrigado pela ajuda meu brother!!!!🤝👍👍👍

 

 

veh = {}
vehCol = {}

function veiculodayz (thePlayer)
    local accountname = getAccountName (getPlayerAccount (thePlayer)) -- accountname recebe o nome da conta do jogador que usou o comando.
    if isObjectInACLGroup ("user."..accountname, aclGetGroup ("Admin")) then -- Se o nome da conta estiver na ACL Group Admin, então:
        local x, y, z = getElementPosition (thePlayer) -- x, y, z recebem a posição do jogador que usou o comando.
        if isElement (veh[thePlayer]) then -- Se já existe o veh[thePlayer] criado, então:
            spawnVehicle (veh[thePlayer], x+3, y, z) -- Spawna ele perto do jogador, sem criar outro.
            setElementData (vehCol[thePlayer], "parent", veh[thePlayer]) -- Reseta as datas do colider.
            setElementData (veh[thePlayer], "parent", vehCol[thePlayer])
            setElementData (vehCol[thePlayer], "vehicle", true)
            setElementData (vehCol[thePlayer], "Tire_inVehicle", 4)
            setElementData (vehCol[thePlayer], "Engine_inVehicle", 1)
            setElementData (vehCol[thePlayer], "Parts_inVehicle", 1)
            setElementData (vehCol[thePlayer], "fuel", 10000)
        else -- Se não existe um veh[thePlayer] criado, então:
            veh[thePlayer] = createVehicle (489, x+3, y, z) -- Cria o veh[thePlayer].
            setVehicleColor (veh[thePlayer], 0, 0, 0) -- Coloca ele na cor preta.
            if isElement (vehCol[thePlayer]) then -- Se já existe o colider (veículo foi deletado e o colider ficou lá), então:
                attachElements (vehCol[thePlayer], veh[thePlayer], 0, 0, 0) -- Anexa o colider novamente ao veh[thePlayer].
            else -- Se não existe colider nenhum, então:
                vehCol[thePlayer] = createColSphere (x, y, z, 2.5) -- Cria o colider.
                attachElements (vehCol[thePlayer], veh[thePlayer], 0, 0, 0) -- Anexa ele ao veh[thePlayer].
            
            setElementData (vehCol[thePlayer], "parent", veh[thePlayer]) -- Seta as datas no veh[thePlayer] e no colider.
            setElementData (veh[thePlayer], "parent", vehCol[thePlayer])
            setElementData (vehCol[thePlayer], "vehicle", true)
            setElementData (vehCol[thePlayer], "Tire_inVehicle", 4)
            setElementData (vehCol[thePlayer], "Engine_inVehicle", 1)
            setElementData (vehCol[thePlayer], "Parts_inVehicle", 1)
            setElementData (vehCol[thePlayer], "fuel", 10000)
        end
    end
end
end
addCommandHandler ("carro", veiculodayz)

 

brunob22

Obrigado pela ajuda meu brother deu certo aqui conforme sugestão do Lord Henry 👍👍👍

abraço!!

Share this post


Link to post

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.