UserToDelete Posted July 2, 2014 Share Posted July 2, 2014 (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 July 2, 2014 by Guest Link to comment
Bc# Posted July 2, 2014 Share Posted July 2, 2014 · 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) Link to comment
UserToDelete Posted July 2, 2014 Author Share Posted July 2, 2014 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) Link to comment
MTA Team 0xCiBeR Posted July 2, 2014 MTA Team Share Posted July 2, 2014 · 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 eventThis event is triggered when a player joins the server. Parameters No parameters. Source The source of this event is the player who joined. Link to comment
Bc# Posted July 2, 2014 Share Posted July 2, 2014 · 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. Link to comment
Recommended Posts