PeeQ. Posted April 6, 2020 Share Posted April 6, 2020 function tipob() carro = createVehicle(555, -2064.5, -83, 35) setVehicleColor(carro, 255, 255, 255) warpPedIntoVehicle(player, carro) end addEventHandler("onResourceStart", resourceRoot, tipob) Esse é o meu script, ele é server-side, pq quero q o carro criado seja visto e interagido por qlq pessoa e eu queria que o player que está executando esse recurso, fosse teleportando por carro, mas tá dando bad argumento no comando do warp ped, falando que o primeiro argumento está errado por padrão essa function vai ser chamada por uma gui, mas eu deixei pra iniciar junto com recursos pra testar Link to comment
Other Languages Moderators Lord Henry Posted April 6, 2020 Other Languages Moderators Share Posted April 6, 2020 Não existe essa de "player que está executando este recurso" no servidor. Ele é ativado pelo sistema e não pelo jogador. Você precisa especificar qual jogador deve ser teleportado pro veículo, mas no seu exemplo player não existe pois vc não declarou ele em lugar nenhum. Faça por comando, dai quem der o comando é o jogador que está interagindo com o resource. function tipob (thePlayer, cmd) -- thePlayer = jogador que executou o comando. carro = createVehicle (555, -2064.5, -83, 35) setVehicleColor (carro, 255, 255, 255) warpPedIntoVehicle (thePlayer, carro) end addCommandHandler ("carro", tipob) -- comando pra ativar essa função: /carro 1 Link to comment
PeeQ. Posted April 6, 2020 Author Share Posted April 6, 2020 20 hours ago, Lord Henry said: Não existe essa de "player que está executando este recurso" no servidor. Ele é ativado pelo sistema e não pelo jogador. Você precisa especificar qual jogador deve ser teleportado pro veículo, mas no seu exemplo player não existe pois vc não declarou ele em lugar nenhum. Faça por comando, dai quem der o comando é o jogador que está interagindo com o resource. function tipob (thePlayer, cmd) -- thePlayer = jogador que executou o comando. carro = createVehicle (555, -2064.5, -83, 35) setVehicleColor (carro, 255, 255, 255) warpPedIntoVehicle (thePlayer, carro) end addCommandHandler ("carro", tipob) -- comando pra ativar essa função: /carro function select() local row = guiGridListGetSelectedItem(gridlist) if row == 1 then cMoney = getPlayerMoney() if (cMoney < 1500) then outputChatBox("Você não tem dinheiro suficiente para adquirir essa habilitação!", 255, 0, 0) return end outputChatBox("está sendo chamado") -- só pra oritençãp triggerServerEvent("habilitacao.tipob", resourceRoot, tipob) end end No meu caso, essa é parte do client-side que chama a função "tipob" no server side, como eu posso declarar o player que está chamando na function tipob? Link to comment
Angelo Pereira Posted April 6, 2020 Share Posted April 6, 2020 (edited) Opa, para você receber esse evento no server-side (no caso), você precisar utilizar as seguintes funções. addEvent("Nome do seu Evento", true) addEventHandler("Nome do seu Evento", getRootElement(), nome da sua função ) --/> Exemplo : -- client-side function select () local row = guiGridListGetSelectedItem(gridlist) if row == 1 then cMoney = getPlayerMoney() if (cMoney < 1500) then outputChatBox("Yes") triggerServerEvent("habilitacao.tipob", resourceRoot, localPlayer) --/> AQUI else outputChatBox("Você não tem dinheiro suficiente para adquirir essa habilitação!", 255, 0, 0) end end end -- server-side function tipo_b ( player ) local carro = createVehicle( 555, -2064.5, -83, 35 ) setVehicleColor( carro, 255, 255, 255) warpPedIntoVehicle( player, carro ) end addEvent("habilitacao.tipob", true) --/> AQUI addEventHandler("habilitacao.tipob", getRootElement(), tipo_b) --/> AQUI Edited April 6, 2020 by Angelo Pereira 1 1 Link to comment
Other Languages Moderators Lord Henry Posted April 7, 2020 Other Languages Moderators Share Posted April 7, 2020 (edited) Você deveria prestar mais atenção nos avisos da Wiki sobre o triggerServerEvent. Aviso: Você deveria usar a variável global client no lado server em vez de passar o localPlayer como parâmetro ou source. Se não, falsificação de evento (passando outro jogador em vez do localPlayer) seria possível. Mais informações no addEventHandler -- client-side triggerServerEvent ("habilitacao.tipob", localPlayer) -- localPlayer será o source do evento. -- server-side function tipo_b () local carro = createVehicle (555, -2064.5, -83, 35) setVehicleColor (carro, 255, 255, 255) warpPedIntoVehicle (source, carro) -- também daria pra utilizar client em vez de source. end addEvent ("habilitacao.tipob", true) addEventHandler ("habilitacao.tipob", root, tipo_b) Edited April 7, 2020 by Lord Henry 1 1 Link to comment
Angelo Pereira Posted April 7, 2020 Share Posted April 7, 2020 15 hours ago, Lord Henry said: Você deveria prestar mais atenção nos avisos da Wiki sobre o triggerServerEvent. Aviso: Você deveria usar a variável global client no lado server em vez de passar o localPlayer como parâmetro ou source. Se não, falsificação de evento (passando outro jogador em vez do localPlayer) seria possível. Mais informações no addEventHandler -- client-side triggerServerEvent ("habilitacao.tipob", localPlayer) -- localPlayer será o source do evento. -- server-side function tipo_b () local carro = createVehicle (555, -2064.5, -83, 35) setVehicleColor (carro, 255, 255, 255) warpPedIntoVehicle (source, carro) -- também daria pra utilizar client em vez de source. end addEvent ("habilitacao.tipob", true) addEventHandler ("habilitacao.tipob", root, tipo_b) Ah, notei meu erro, acabei nem percebendo, desculpe-me. 1 Link to comment
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