qna_rh
Thread Id: 11002
Thread Name: Duda en flags y vars
#0
DjDinho 12400
Hola, como ya veran estoy poniendo muchas dudas sobre esto, y eske no me aclaro.
He leido muchos tutos de flags y en todos ponen un nº de 4 cifras. Mi pregunta es cómo sacar ese numero, ¿puedo poner yo uno al azar?
Con las variables es lo mismo, como cojo una cifra de variables? al azar?

Ademas de esas dudas, quisiera preguntar en esencia las variables, porque siguiendo un tuto de Cheve X me informe mas o menos, pero por ejemplo:
addvar 0x(variable) 0x(valor a añadir) y subvar 0x(variable) 0x(valor a substraer)
seria: addvar 0x4050 0x1 entonces la variable seria 4051?
Y querria decir que es una variable nueva, por lo tanto, seria un nuevo script en el mismo offset no?

Perdonen mis paranoyas pero no me entero de estas cosas xD
#1
Javi4315♪ 13374
Uff, estás liado, ¿Eh? xDD

Bueno, a ver, en ruby no sé cómo irá lo de las variables y tal, porque uso fire red, pero creo que era de la 4051 hacia delante.

A ver, las variables sirven para almacenar información. Tú puedes elegir una variable, por ejemplo, la 0x4051. Ahí puedes guardar un valor entre 0 y FFFF. Entonces, si tu almacenas un valor en la variable 0x4051, tendrías que utilizar la 0x4052 si quieres una variable nueva, y así sucesivamente xD

Las variables tienen por defecto el valor 0, con lo cual, si tu pones addvar 0x4051 0x1, no es 0x4052, sino que tú al valor de la variable 0x4051 le has sumado uno (y al revés si lo restas). Así que si la variable tenía el valor 0, al sumarle 1, pues tendrá 1 xD

Es un poco difícil al principio, pero cuando lo entiendas, ya verás que fácil ;D

En fin, dime de que no te has enterado xDD
#2
DjDinho 12400
gracias xD pero y donde se le mete la informacion a la variable 4051 por ejemplo, abajo del script no?

ah y lo de las flags, puedo coger los 4 numeros esos que quiera o hay un patron o algo?

y lo ultimo.
En algunos tutos ponen no se ke de ponerle un nº de variable al principio, para el applymovement por ejemplo. Con ponerle un nº y seguir con el resto basta, o hay que prepararla antes o algo?
#3
Cheve_X 15014
¡Vaya! ¡Estas bastante desorientado! xD

Haber que podemos hacer...

Mmm a sí! Mira, te haré uno dibujitos ^^


Imagínate que este rectángulo es una variable (Puede ser la 4050, o cualquier variable Libre)





Ahora le agregamos un valor con addvar, por ejemplo 0x1:






¿Ves? Ahora la variable tiene Un punto más que le hemos agregado con addvar 0x4050 0x1...

¿Porqué no le agregamos un valor más? Usemos addvar 0x2





¿Qué?¿Que porqué tiene 3 si solo le sumamos 2?... justamente por eso Sumamos

Ajá! ¿Y si quiero que derrepente tenga valor 7? ¿Tengo que andar sumando y/o restando? ¡No! Solo usa "Setvar" de ésta forma, la variable tendrá el valor que tú quieras...

usemos Setvar 0x4050 0x8





¿Ves? No se han sumado 8, sino que ahora el contenido de la variable es 8...

Y siguiendo éste ejemplo, una variable llegaría a su límite de almacenamiento al pasar ésto:





Conclusión: Una variable, es un contenedor de valores los cuales pueden ser cambiados o leídos y usados a conveniencia..

Espero que entiendas mejor ahora... ¡Salu2!
#4
DjDinho 12400
vale, creo que ya me voy enterando, entonces, las variables tendrian un contenido, y si le añades un valor con addvar 0x1 por ejemplo, se le suma uno, por lo que quedaria totalmente distinta, y con otro funcionamiento en el script (diganme ke es asi porfa xD).
Ok, ok, y creo ke lei desde donde van las vars en el ruby, asique si mi conclusion es cierta ya pueden cerrar el tema ^^.

Gracias Mew2 y Cheve_X ^^
#5
Javi4315♪ 13374
Bueno... No estoy muy seguro de qué quieres decir xD

Pero a ver, las variables sólo sirven para guardar un valor en ellas. Es simplemente eso. Claro que eso luego te sirve para poner condiciones, por ejemplo:

compare 0x4050 0x1 => Esto comprueba si el valor de la variable 4050, es 1.

Esto es algo así como las flags y su "checkflag", pero en vez de comparar si esta está activada o no, compruebas cuál es el valor de una variable.

Tras compararlo, puedes hacer que pase algo si la variable tiene cierto valor o, también, si tiene un valor distinto, mayor o menor. Por lo que a veces es necesario utilizar variables en vez de flags.

Eso es lo que debes saber sobre variables, que sirven para almacenar un valor que, posteriormente se puede comprobar para desencadenar un evento en caso de cumplir la condición. Simplemente eso.

Luego hay scripts como los de gatillo (se inician al pisarlos) o los de nivel (nada más entrar en el mapa) que necesitas hacer uso de variables. Pero eso ya se explica en los tutoriales sobre ambos tipos de scripts y comprendiendo cómo funcionan las variables, no deberías tener problemas ;D
#6
DjDinho 12400
Ok gracias, ya me quedó claro ^^ ciero el tema