Jump to content

[AJUDA] Grudar veículos


Recommended Posts

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" ?

Link to comment
  • Other Languages Moderators

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

 

Link to comment

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

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