Welf Posted July 4, 2020 Posted July 4, 2020 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 Lord Henry Posted July 4, 2020 Moderators Posted July 4, 2020 (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 July 4, 2020 by Lord Henry Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! 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.
Welf Posted July 4, 2020 Author Posted July 4, 2020 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 Lord Henry Posted July 5, 2020 Moderators Posted July 5, 2020 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 Thanks! 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.
Blaack Posted July 5, 2020 Posted July 5, 2020 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 '-'
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now