ES/setAccountData
This template is no longer in use as it results in poor readability. Esta funcion establece un string para ser guardado en una cuenta. Esta informacion puede ser obtenida luego usando la funcion getAccountData. Los datos guardados en las cuentas (account data) son persistentes através de sesiones de usuario y cambios de mapa, amenos que los usuarios esten logueados en una cuenta de invitado (guest account). Incluso si estan logueados en la cuenta de invitado, los datos de cuenta pueden ser utiles como una via para guardar referencia de tu propio sistema de cuentas, sin embargo sus usos son equivalentes al uso de setElementData en el jugador.
Sintax
bool setAccountData ( account laCuenta, string clave, string valor )
Argumentos Requeridos
- laCuenta: La cuenta desde la cual deseas recobrar los datos.
- clave: La clave en la que deseas almacenar la informacion.
- valor: El valor que desees guardar.
Returns
Devuelve true si los datos fueron establecidos en la cuenta, false si se especificaron argumentos invalidos.
Ejemplo
Para un tipo de juego roleplay pirata, la cantidad de dinero que un jugador posee se mantendra almacenada guardandola en su cuenta. Se debe notar que el codigo usa "piraterpg.money" como la clave en lugar de solo "money", dado que el jugador podria estar participando en otros tipos de juego que tambien guardan su cantidad de dinero en las cuentas. Si ambos tipos de juego usan "money" como la clave, estarian sobre escribiendo en los datos de el otro tipo de juego.
function onPlayerQuit ( ) -- cuando un jugador sale, se guarda su cantidad de dinero actual en un dato de cuenta local cuentaDelJugador = getPlayerAccount ( source ) if ( cuentaDelJugador ) and not isGuestAccount ( cuentaDelJugador ) then -- si el jugador estaba logueado local dineroDelJugador = getPlayerMoney ( source ) -- obtener el dinero del jugador setAccountData ( cuentaDelJugador, "piraterpg.money", dineroDelJugador ) -- guardar la cantidad en la cuenta del jugador end end function onPlayerLogin (_, cuentaDelJugador ) -- cuando un jugador logea, se obtiene la cantidad su dinero desde los datos de cuenta y se le da al jugador el dinero if ( cuentaDelJugador ) then local dineroDelJugador = getAccountData ( cuentaDelJugador, "piraterpg.money" ) -- hay que estar seguros si de hecho habia un valor guardado bajo esta clave (verificar si dineroDelJugador no es false). -- Esto seria por ejemplo si es la primera vez que el jugador juega este tipo de juego if ( dineroDelJugador ) then setPlayerMoney ( source, dineroDelJugador ) end end end addEventHandler ( "onPlayerQuit", getRootElement ( ), onPlayerQuit ) addEventHandler ( "onPlayerLogin", getRootElement ( ), onPlayerLogin)
Vease tambien
- addAccount
- copyAccountData
- getAccount
- getAccountData
- getAccountName
- getAccountPlayer
- getAccountSerial
- getAccounts
- getAccountsBySerial
- getAllAccountData
- getPlayerAccount
- isGuestAccount
- logIn
- logOut
- removeAccount
- setAccountData
- setAccountPassword
- getAccountByID
- getAccountID
- getAccountIP
- getAccountsByData
- getAccountsByIP
- setAccountName