Jump to content

[RESOLVIDO] Argument Player nil


Recommended Posts

Gente, estou fazendo uma loja de armas (diferente, estilo de um servidor de samp) e agora me vem um problema que ja to a um tempo tentando resolver, e já ta me dando uns nervos :lol: , no debugscript 3 diz "Server.lua:3:Attempt to compare number with boolean" e "Server.lua:2:Bad Argument @ getPlayerMoney[Expected player at argument 1, got nil]" não consegui nada mesmo, nao sei o pq disso, mas se alguem poder me ajudar, agradeço :wink:

Erros na linha 2 e 3

Server

function comprareagle (source) 
local money = getPlayerMoney (source) 
  if (money >=500) then 
            giveWeapon ( source, 24, 5000 ) 
                outputChatBox ('[ #00ffe6INFO#ffffff ] Voce Comprou #00ffe6Deseart Eagle #ffffffCom 5.123 de Munição !', source,255,255,255,true) 
                    takePlayerMoney ( source, 500 ) 
        else 
            outputChatBox ('[ #00ffe6INFO#ffffff ] Voce nao tem dinheiro suficiente ! !', source,255,255,255,true) 
        end 
    end 
addEvent("eaglecomprar", true) 
addEventHandler ( "eaglecomprar", root, comprareagle) 

Client

function comprareagle (_, state) 
if painel == true then 
if state == "down" then 
removeEventHandler ("onClientRender", root, dx) 
triggerServerEvent("eaglecomprar", root) 
showCursor (false) 
painel = false 
setCameraTarget(localPlayer) 
end 
end 
end 
bindKey("space", "down", comprareagle) 

Edited by Guest
Link to comment

O Erro ocorre porque a variavel source não existe, Sendo assim você não pode obter o dinheiro de um player inexistente, Acredito que tenha sido apenas falta de atenção sua, Você pode passar o jogador direto no segundo parametro da função triggerServerEvent, assim o servidor já irá receber a variavel source automaticamente (você não precisa colocar ela na lista de parâmetros da função comprareagle.

--client: 
  
triggerServerEvent("eaglecomprar", localPlayer) -- localPlayer vai ser o source do evento eaglecomprar 
  
-- server: 
  
function comprareagle () 

Se você ainda tiver duvidas sobre a função triggerServerEvent vale a pena olhar os parâmetros na wiki.

Link to comment
O Erro ocorre porque a variavel source não existe, Sendo assim você não pode obter o dinheiro de um player inexistente, Acredito que tenha sido apenas falta de atenção sua, Você pode passar o jogador direto no segundo parametro da função triggerServerEvent, assim o servidor já irá receber a variavel source automaticamente (você não precisa colocar ela na lista de parâmetros da função comprareagle.
--client: 
  
triggerServerEvent("eaglecomprar", localPlayer) -- localPlayer vai ser o source do evento eaglecomprar 
  
-- server: 
  
function comprareagle () 

Se você ainda tiver duvidas sobre a função triggerServerEvent vale a pena olhar os parâmetros na wiki.

Obg n3wage Ajudou Muito :D Continue assim

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