Jump to content

[AJUDA] Grudar veículos


Recommended Posts

Posted

Olá galera, tudo bem? estou aprendendo e estou bem iniciante sobre os scripts mas me surgiu uma situação e não consegui desenvolve-la!

estou editando os empregos do AirNew e pensei em colocar trens e vagoes, no entanto o "createVehicle" está na server-side, e pra usar o "attachTrailerToVehicle" ele deveria estar na client-side, 

a princípio pensei na idéia de "triggerServerEvent" com essa idéia:

--CLIENT-SIDE

function CriarVeiculosComData ( commandName )
    triggerServerEvent ( "onCars", resourceRoot )
		attachTrailerToVehicle ( newvehicle, trailer )   -- attach them
	end, 50, 1)
addCommandHandler ( "cars", CriarVeiculosComData )
-- SERVER SIDE

function CriarVeiculosComData ()
VeiculosComDataMaquinista = {
newvehicle = createVehicle(537, 1893.611328125, -1957.9782714844, 14.554664611816, 0, 0, 180 ),
trailer = createVehicle(590, 1931.2244873047, -1958.1781005859, 13.546875, 0, 0, 180 ),


}

for i, veh in ipairs(VeiculosComDataMaquinista) do
setElementData ( veh, "Emprego", "Maquinista" )
setVehicleDamageProof(veh,true)
setVehicleColor( veh, 0, 0, 0 )
setVehiclePlateText ( veh, "BR" )
addEventHandler("onVehicleStartEnter", veh, VerificarEmprego )
--addEventHandler("onVehicleExit", veh, SairDoVeiculosComData )
local tx, ty, tz = getElementPosition(veh)
local rx, ry, rz = getElementRotation(veh)
setVehicleRespawnPosition(veh, tx, ty, tz, rx, ry, rz)
end
end
addEvent( "onCars", true )
addEventHandler( "onCars", resourceRoot, CriarVeiculosComData ) -- Bound to this resource only, saves on CPU usage.
addEventHandler("onResourceStart", resourceRoot, CriarVeiculosComData )

 

mas obviamente está muito errado!

 

Alguem poderia me ajudar relacionar e fazer juntar os trens "veiculos com data" ?

  • Moderators
Posted (edited)

Server-side está ilegível. Corrija a indentação.

Sobre o problema em si: Você não pode anexar dois elementos que não foram declarados naquele lado do script. No caso newvehicle e trailer estão como nil no client-side. Vc precisa primeiro de um triggerClientEvent passando os dois via parâmetro pro client, para só então poder anexá-los lá.

Obs: Não entendi a necessidade de fazer o attachTrailerToVehicle ser no client-side, pois é uma função shared (funciona em ambos os lados)

Edited by Lord Henry

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
1 hour ago, Lord Henry said:

Server-side está ilegível. Corrija a indentação.

Sobre o problema em si: Você não pode anexar dois elementos que não foram declarados naquele lado do script. No caso newvehicle e trailer estão como nil no client-side. Vc precisa primeiro de um triggerClientEvent passando os dois via parâmetro pro client, para só então poder anexá-los lá.

Obs: Não entendi a necessidade de fazer o attachTrailerToVehicle ser no client-side, pois é uma função shared (funciona em ambos os lados)

Não sabia que era uma função shared, mas no caso onde entraria o attachTrailerToVehicle no server-side?

function CriarVeiculosComData ()
VeiculosComDataMaquinista = {
newvehicle = createVehicle ( 537, 1893.611328125, -1957.9782714844, 14.554664611816 ),
trailer = createVehicle ( 569, 1931.2244873047, -1958.1781005859, 13.546875 ),

}

for i, veh in ipairs(VeiculosComDataMaquinista) do

setElementData ( veh, "Emprego", "Maquinista" )
attachTrailerToVehicle ( newvehicle, trailer ) -- Não deu certo
setVehicleDamageProof(veh,true)
setVehicleColor( veh, 0, 0, 0 )
setVehiclePlateText ( veh, "BR" )
addEventHandler("onVehicleStartEnter", veh, VerificarEmprego )
local tx, ty, tz = getElementPosition(veh)
local rx, ry, rz = getElementRotation(veh)
setVehicleRespawnPosition(veh, tx, ty, tz, rx, ry, rz)
end
end
addEventHandler("onResourceStart", resourceRoot, CriarVeiculosComData )

 

  • Moderators
Posted
10 hours ago, Lord Henry said:

Server-side está ilegível. Corrija a indentação.

☝️

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

Cara não estou entendendo por que tanta "complexidade" em algo simples! 

newvehicle = createVehicle ( 537, 1893.611328125, -1957.9782714844, 14.554664611816 )
 
setTimer(
	function()
		trailer = createVehicle ( 569, 1931.2244873047, -1958.1781005859, 13.546875 ) -- ID 569 É REALMENTE UM TRAILER?
		attachTrailerToVehicle ( newvehicle, trailer )
        setElementData ( veh, "Emprego", "Maquinista" )
        setVehicleDamageProof(veh,true)
        setVehicleColor( veh, 0, 0, 0 )
        setVehiclePlateText ( veh, "BR" )
        addEventHandler("onVehicleStartEnter", veh, VerificarEmprego )
local tx, ty, tz = getElementPosition(veh)
local rx, ry, rz = getElementRotation(veh)
     setVehicleRespawnPosition(veh, tx, ty, tz, rx, ry, rz)
	end, 50, 1)

Exemplo usado da propria wiki '-'

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