101Level - Foro

[F.A.Q.] Dudas Comunes Sobre Varibales

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Celsius

  • *
  • *
  • 6.600
  • 166
  • Actividad:
    0%
  • Sexo: Femenino
  • Cold as Fire(?) and Hot as Ice(?)
[F.A.Q.] Dudas Comunes Sobre Varibales
« en: 21 de Agosto de 2011, 22:49 »
[F.A.Q.] Dudas Comunes Sobre Variables
Realizada por: Celsius

Que valor puede tener una variable?
Puede contener casi cualquier valor, ya sea numerico o alfanumerico, y claro esta que tambien depende del tipo de variable declarado.

Que tipo de variables hay?
Dependen del Prefijo que se le ponga. Estos son los principales existentes y validos

PrefijosExplicacion
(ninguno)Al no llevar prefijo, es una variable de tipo permanente para el jugador
$
Convierte la Variable en tipo global permanente, se puede usar en cualquier momento para ser usada en cualquier Script
@
hace que la variable sea temporal para el jugador. Al ser temporal al momento de ejecutarse en el script un end; la variable se resetea.
.
Convierte la variable en tipo NPC, es decir esta se queda adjunta al script del NPC y solamente se ejecutara dentro de el.
#
Convierte la Variable en una variable de Cuenta. Esta sirve y funciona para todos los personajes dentro de la cuenta, un ejemplo claro es la variable #CASH que maneja los cash points de la cuenta.

Las variables pueden llevar tambien el sufijo $, al llevarlo pueden almacenar texto, mientras no lo lleven solo pueden almacenar numeros enteros, asi que olvidense de hacer operaciones matematicas jejej xD

Bueno es una breve explicacion que espero les funcione y sirva a todos aquellos que van comenzando en scripting.

La Clave del exito es la perseverancia, solo recuerda que todo lo bueno toma su debido tiempo. Si lo Aceleras siempre saldra mal.


Desconectado Dean

  • *
  • 1.489
  • 308
  • Actividad:
    0%
  • Sexo: Masculino
  • League of Legens LAS - Dean - Plata II
Re:[F.A.Q.] Dudas Comunes Sobre Varibales
« Respuesta #1 en: 21 de Agosto de 2011, 22:55 »
:O Bn bn, pero seria bueno tambien poner todas las combinaciones posibles.

Citar
nothing  - A permanent variable attached to the character, the default variable
           type. They are stored with all the account data in "save\athena.txt"
           in TXT versions and in the SQL versions in the `global_reg_value`
           table using type 3.
"@"      - A temporary variable attached to the character.
           SVN versions before 2094 revision and RC5 version will also treat
           'l' as a temporary variable prefix, so beware of having variable
           names starting with 'l' if you want full backward compatibility.
"$"      - A global permanent variable.
           They are stored in "save\mapreg.txt" or database table `mapreg`,
           depending on server type.
"$@"     - A global temporary variable.
           This is important for scripts which are called with no RID
           attached, that is, not triggered by a specific character object.
"."      - A NPC variable.
           They exist in the NPC and disappear when the server restarts or the
           NPC is reloaded. Can be accessed from inside the NPC or by calling
           'getvariableofnpc'.
".@"     - A scope variable.
           They are unique to the instance and scope. Each instance has it's
           own scope that ends when the script ends. Calling a function with
           callsub/callfunc starts a new scope, returning from the function
           ends it. When a scope ends, it's variables are converted to values
           ('return .@var;' returns a value, not a reference).
"#"      - A permanent local account variable.
           They are stored with all the account data in "save\accreg.txt" in
           TXT versions and in the SQL versions in the 'global_reg_value'
           table using type 2.
"##"     - A permanent global account variable stored by the login server.
           They are stored in "save\account.txt" and in the SQL versions in the
           'global_reg_value' table, using type 1. The only difference you will
           note from normal # variables is when you have multiple char-servers
           connected to the same login server. The # variables are unique to
           each char-server, while the ## variables are shared by all these
           char-servers.

Postfix: integer or string
nothing - integer variable, can store positive and negative numbers, but only
          whole numbers (so don't expect to do any fractional math)
'$'     - string variable, can store text

Examples:
  name  - permanent character integer variable
  name$ - permanent character string variable
 @name  - temporary character integer variable
 @name$ - temporary character string variable
 $name  - permanent global integer variable
 $name$ - permanent global string variable
$@name  - temporary global integer variable
$@name$ - temporary global string variable
 .name  - NPC integer variable
 .name$ - NPC string variable
.@name  - scope integer variable
.@name$ - scope string variable
 #name  - permanent local account integer variable
 #name$ - permanent local account string variable
##name  - permanent global account integer variable
##name$ - permanent global account string variable

También cabe mencionar la diferencia entre variable permanente y temporal ya que por lo menos yo, cuando comencé esto del scripting, no tenia idea de que tipo de variables usar y me confundía con facilidad.

Variable Temporal: Desaparece o es borrada al reiniciar servidor o realizar @reloadscript.
Variable Permanente: No desaparece al reiniciar servidor o realizar @reloadscript.
« última modificación: 21 de Agosto de 2011, 23:38 por Dean »

Desconectado KMS

  • *
  • *
  • 260
  • 11
  • Actividad:
    0%
  • Sexo: Masculino
Re:[F.A.Q.] Dudas Comunes Sobre Varibales
« Respuesta #2 en: 21 de Agosto de 2011, 22:58 »
Bastante buen FAQ, me hizo recordar algunas cosas para hacer el NPC q ando haciendo, es que hace rato no me ponía a hacer uno xD Gracias Celsius

Desconectado javier00

  • *
  • 175
  • 13
  • Actividad:
    0%
  • Sexo: Masculino
Re:[F.A.Q.] Dudas Comunes Sobre Varibales
« Respuesta #3 en: 21 de Agosto de 2011, 23:10 »
ta buena la FAQ Gracias Celsius.


 

[F.A.Q.] Algunos Errores Comunes de Scripts

Iniciado por Celsius

Respuestas: 0
Vistas: 2712
Último mensaje 13 de Agosto de 2011, 09:58
por Celsius