UserToDelete Posted July 2, 2014 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
Bc# Posted July 2, 2014 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)
UserToDelete Posted July 2, 2014 Author 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)
MTA Team 0xCiBeR Posted July 2, 2014 MTA Team 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.
Bc# Posted July 2, 2014 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.
Recommended Posts