Registrarse

[GBA][SCRIPTING] Random 0xVariableConElValorMax

Estado
Cerrado para nuevas respuestas.

pikachu240

Junior C# Developer
hola

necesito ayuda, quiero que el random coja el valor de una variable pero parece que no lo hace...alguna idea de como hacerlo? aunque sea añadiendo una rutina asm...que lea el valor de una variable...
 

Lunos

Enfrentando a La Organización
Miembro insignia
Random no recibe valores de otros comandos, tú le das una cantidad total y de ahi saca un numero al azar, es un dado.
 

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
Veamos. Hay comandos que toman variables como parámetros, es cierto. Entonces, quiero que entiendan lo siguiente chicos: con ASM las limitaciones son las del hardware, puedes hacer cualquier cosa que ya exista en este y en otros juegos de GBA.

Entonces sí, con ASM puedes agregar lo que quieres. Pero ten en cuenta que la forma en la que GF detecta si un comando es una variable es comparándolo con $3FFF, cualquier cosa mayor lo toma como variable (en los comandos en los que admite variables, claro). En este caso deberías pensar si te importa perder el random con valores superiores a $3FFF o bien aplicar tu propio método.

Para hacerlo habría que buscar en la tabla de comandos el número de índice del comando random. Seguir el puntero y editar la rutina. No habrá lugar suficiente allí, por supuesto, así que habrá que hookearla.
No es un proceso difícil pero sí bastante tedioso. Personalmente no creo que valga la pena, lo veo más difícil que útil.
 

Dani_SR_17

¡Pokémon LionHeart!
Siempre te queda el método muy pobre de eficiencia, pero que si tienes acotada la variable tampoco debería ser demasiado malo.

Código:
#org @RandomVar
random 0xFFFF 'Si sabes que la variable no va a superar X valor, pon ese X en lugar del FFFF.
copyvar 0xVarDinamica LASTRESULT
compare 0xVarDinamica 0xVarRandom
if 0x2 goto @RandomVar
goto @Script
La VarRandom es la variable que determina el máximo valor del random y la VarDinamica es la que tendrá el valor del random.

Nota: Esta con goto, si vas a usarlo en muchos scripts te recomiendo que uses call, pero vaya, el cambio es mínimo.
 
Estado
Cerrado para nuevas respuestas.
Arriba