Jump to content

[Obsoleto] error con cuentas - [vD]


Recommended Posts

Posted (edited)

[ vDscript Build 182 - 188 ]

El problema esta en que al tener el mismo script que en la wiki, tira error, es decir, "got bolean" y no se exactamente como solucionarlo:

error:

[2014-07-31 08:35:42] vDscript build: 182 
[2014-07-31 08:35:42] WARNING: vDscript\gamemode\GMserver.lua:80: Bad argument @ 'getPlayerAccount' [Expected element at argument 1, got resource-data] 
[2014-07-31 08:35:42] WARNING: vDscript\gamemode\GMserver.lua:81: Bad argument @ 'isGuestAccount' [Expected account at argument 1, got boolean] 

server

function accountChecker (source) 
    sourceAccount = getPlayerAccount (source) 
    if isGuestAccount (sourceAccount) then 
        triggerClientEvent("panelLogin",source) 
    end 
end 
addEventHandler("onPlayerJoin",root,accountChecker) 
addEventHandler("onResourceStart",root,accountChecker) 

client

function ddddd () 
-- GUI de login privada 
end 
addEvent("panelLogin",true) 
addEventHandler("panelLogin",getLocalPlayer(),ddddd) 

y quitando onResourceStart sale esto:

error:

[2014-07-31 08:56:25] JOIN: #FFFFFF'~'V#666666eNaD joined the game (IP: 192.168.1.234) 
[2014-07-31 08:56:25] WARNING: vDscript\gamemode\GMserver.lua:80: Bad argument @ 'getPlayerAccount' [Expected element at argument 1, got nil] 
[2014-07-31 08:56:25] WARNING: vDscript\gamemode\GMserver.lua:81: Bad argument @ 'isGuestAccount' [Expected account at argument 1, got boolean]] 

PD: la IP es local

server:

function accountChecker (source) 
    sourceAccount = getPlayerAccount (source) 
    if isGuestAccount (sourceAccount) then 
        triggerClientEvent("panelLogin",source) 
    end 
end 
addEventHandler("onPlayerJoin",root,accountChecker) 

y creo que no se me olvida nada mas por mostrar en este post

el fin de esta funcion es:

Si el jugador ya esta loggeado, que al darle reset al resource no le salte otra vez el panel, y si al darle restart (o iniciarlo) hay algun jugador con guest, que le salte el panel para loggearse

Edited by Guest
Posted · Hidden
Hidden

Es obvio por que el evento onResourceStart no te entrega source, lo que tienes que hacer es un loop con todos los jugadores, te quedaría así el server-side:

  
function accountChecker (source) 
    sourceAccount = getPlayerAccount (source) 
    if isGuestAccount (sourceAccount) then 
        triggerClientEvent("panelLogin",source) 
    end 
end 
addEventHandler("onPlayerJoin",root,accountChecker) 
  
function accountCheckerOnStart (source) 
    for k,v in ipairs(getElementsByType("player")) do 
        sourceAccount = getPlayerAccount (v) 
        if isGuestAccount (sourceAccount) then 
            triggerClientEvent("panelLogin",v) 
        end 
    end 
end 
addEventHandler("onResourceStart",root,accountCheckerOnStart) 

Posted
Es obvio por que el evento onResourceStart no te entrega source, lo que tienes que hacer es un loop con todos los jugadores, te quedaría así el server-side:
  
function accountChecker (source) 
    sourceAccount = getPlayerAccount (source) 
    if isGuestAccount (sourceAccount) then 
        triggerClientEvent("panelLogin",source) 
    end 
end 
addEventHandler("onPlayerJoin",root,accountChecker) 
  
function accountCheckerOnStart (source) 
    for k,v in ipairs(getElementsByType("player")) do 
        sourceAccount = getPlayerAccount (v) 
        if isGuestAccount (sourceAccount) then 
            triggerClientEvent("panelLogin",v) 
        end 
    end 
end 
addEventHandler("onResourceStart",root,accountCheckerOnStart) 

[2014-07-31 10:51:09] WARNING: vDscript\gamemode\GMserver.lua:91: Bad argument @ 'getPlayerAccount' [Expected element at argument 1, got nil] 
[2014-07-31 10:51:09] WARNING: vDscript\gamemode\GMserver.lua:92: Bad argument @ 'isGuestAccount' [Expected account at argument 1, got boolean] 

  
--function accountChecker (source) 
    sourceAccount = getPlayerAccount (source) 
    if isGuestAccount (sourceAccount) then 
--        triggerClientEvent("panelLogin",source) 

  • MTA Team
Posted · Hidden
Hidden

Saca a source de la funcion ya que ya esta pasando source al ser un evento de player.

function accountChecker () 
    sourceAccount = getPlayerAccount (source) 
    if isGuestAccount (sourceAccount) then 
        triggerClientEvent("panelLogin",source) 
    end 
end 
addEventHandler("onPlayerJoin",root,accountChecker) 

onPlayerJoinServerside event

This event is triggered when a player joins the server.

Parameters

No parameters.

Source

The source of this event is the player who joined.

Posted · Hidden
Hidden

Sinceramente a las 5 de la madrugada no me di cuenta de que tenia source escrito en la declaración de la función, así debería funcionar.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...