Jump to content

warp ped into car não funciona


Recommended Posts

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

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

 

  • Thanks 1
Link to comment
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

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 by Angelo Pereira
  • Like 1
  • Thanks 1
Link to comment
  • Other Languages Moderators

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 by Lord Henry
  • Like 1
  • Thanks 1
Link to comment
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.

  • Like 1
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...