ES/setAccountData: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Created page with "{{Server function}} __NOTOC__ {{Note_box|Es fuertemente recomendado que uses como estandar ''modulo.clave'' para nombrar a tus claves, como se muestra en el ejemplo mas abajo. Es...")
 
mNo edit summary
Line 1: Line 1:
{{Server function}}
{{Server function}}
__NOTOC__
__NOTOC__
{{Note_box|Es fuertemente recomendado que uses como estandar ''modulo.clave'' para nombrar a tus claves, como se muestra en el ejemplo mas abajo. Esto previene contradicciones con otros scripts.}}
{{Note_box|Es fuertemente recomendado que uses como estándar ''módulo.clave'' para nombrar a tus claves, como se muestra en el ejemplo más abajo. Esto previene contradicciones con otros scripts.}}
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.
Esta función establece un string para ser guardado en una cuenta. Esta información puede ser obtenida luego, usando la función [[getAccountData]]. Los datos guardados en las cuentas (''account data'') son persistentes a través de sesiones de usuario y cambios de mapa, a menos que los usuarios estén logueados en una cuenta de invitado (''guest account''). Incluso si están logueados en la cuenta de invitado, los datos de cuenta pueden ser útiles como una vía para guardar referencia de tu propio sistema de cuentas, sin embargo sus usos son equivalentes al de [[setElementData]] en el jugador.


==Sintax==  
==Sintax==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
bool setAccountData ( account laCuenta, string clave, string valor )
bool setAccountData ( account laCuenta, string clave, string valor )
Line 11: Line 11:
===Argumentos Requeridos===  
===Argumentos Requeridos===  
*'''laCuenta:''' La cuenta desde la cual deseas recobrar los datos.
*'''laCuenta:''' La cuenta desde la cual deseas recobrar los datos.
*'''clave:''' La clave en la que deseas almacenar la informacion.
*'''clave:''' La clave en la que deseas almacenar la información.
*'''valor:''' El valor que desees guardar.
*'''valor:''' El valor que desees guardar.


===Returns===
===Regresa===
Devuelve ''true'' si los datos fueron establecidos en la cuenta, ''false'' si se especificaron argumentos invalidos.
Regresa ''true'' si los datos fueron establecidos en la cuenta, ''false'' si se especificaron argumentos inválidos.


==Ejemplo==  
==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.
Para un tipo de juego roleplay pirata, la cantidad de dinero que un jugador posee se mantendrá almacenada guardándola en su cuenta. Se debe notar que el codigo usa ''piraterpg.money'' como la clave en lugar de sólo "money", dado que el jugador podría estar participando en otros tipos de juego que también guardan su cantidad de dinero en las cuentas. Si ambos tipos de juego usaran "money" como la clave, cada uno estaría sobre-escribiendo en los datos del otro.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function onPlayerQuit ( )
function onPlayerQuit ( )

Revision as of 20:35, 15 November 2011

This template is no longer in use as it results in poor readability. Esta función establece un string para ser guardado en una cuenta. Esta información puede ser obtenida luego, usando la función getAccountData. Los datos guardados en las cuentas (account data) son persistentes a través de sesiones de usuario y cambios de mapa, a menos que los usuarios estén logueados en una cuenta de invitado (guest account). Incluso si están logueados en la cuenta de invitado, los datos de cuenta pueden ser útiles como una vía para guardar referencia de tu propio sistema de cuentas, sin embargo sus usos son equivalentes al 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 información.
  • valor: El valor que desees guardar.

Regresa

Regresa true si los datos fueron establecidos en la cuenta, false si se especificaron argumentos inválidos.

Ejemplo

Para un tipo de juego roleplay pirata, la cantidad de dinero que un jugador posee se mantendrá almacenada guardándola en su cuenta. Se debe notar que el codigo usa piraterpg.money como la clave en lugar de sólo "money", dado que el jugador podría estar participando en otros tipos de juego que también guardan su cantidad de dinero en las cuentas. Si ambos tipos de juego usaran "money" como la clave, cada uno estaría sobre-escribiendo en los datos del otro.

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