qna_rh
Thread Id: 18349
Thread Name: Problema Scrip Gatillo & Setflag
#0
celsox26 26208
Hi All People (asojdoa :c)
Quisiera saber si tiene solucion mi problema un scrip Gatillo que estoi intentando incorporar .

Este es el scrip:
#dynamic 0x800000

#org @inicio
checkflag 0x3001
if 0x1 goto @inicio2
applymovement 0x3 @mov2
waitmovement 0x3
msgbox @frase3 0x6
trainerbattle 0x3 0x001 0x0 @frase
msgbox @frase2 0x6
applymovement 0x3 @mov1
waitmovement 0x3
applymovement 0x2 @mov3
waitmovement 0x2
msgbox @frase4 0x6
trainerbattle 0x3 0x001 0x0 @frase6
msgbox @frase5 0x6
applymovement 0x2 @mov6
applymovement 0x3 @mov7
waitmovement 0x2
waitmovement 0x3
hidesprite 0x2
hidesprite 0x3
applymovement 0x1 @mov4
waitmovement 0x1
msgbox @frase7 0x6
applymovement 0x1 @mov5
waitmovement 0x1
hidesprite 0x1
setflag 0x3001
release
end

#org @inicio2
end

#org @frase7
= Prof. Celso: Muy valiente de tu\nparte

#org @frase5
= Nos veremos pronto, no deviste\nintrometerte

#org @frase4
= a mi si que no me vences

#org @frase6
= Imposible , ya nos volveremos a\nver

#org @frase
= De aqui no pasas

#org @frase2
= A ver que tan fuerte eres

#org @frase3
= De aqui no pasas ahhh

#org @mov1
#raw 0x11 'Paso Arriba
#raw 0x11 'Paso Arriba
#raw 0x11 'Paso Arriba
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x2 'Mirar Izquierda
#raw 0xFE 'Finalizar Movimientos

#org @mov2
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x4A 'Mirar al Jugador
#raw 0xFE 'Finalizar Movimientos

#org @mov3
#raw 0x10 'Paso Abajo
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x4A 'Mirar al Jugador
#raw 0xFE 'Finalizar Movimientos

#org @mov4
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x4A 'Mirar al Jugador
#raw 0xFE 'Finalizar Movimientos

#org @mov5
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0xFE 'Finalizar Movimientos

#org @mov6
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0xFE 'Finalizar Movimientos

#org @mov7
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0xFE 'Finalizar Movimientos


Todo funciona de maravilla, finaliza & desaparecen los 3 minis ... Pero hay el problema.

Al momento de Salir & entrar de cualquier puerta, cueva, etc. la flag al parecer se reinicia, por que al volver a entrar al mapa en donde se lleva a cabo este gatillo, estan los 3 minis & si me acerco a ellos, el gatillo se inicia nuevamente (completamente) :c

Tengo una seria duda sobre la flag que escogi "3001", ya que en un post leei que las flag eran "LIMITADAS", hay mi otra duda :x

Gracias de antemado
(& si me ayudan a resolverlo, el gracias de comentario Claro)
#1
cosarara97 12296
Y si en lugar de una flag eliges una variable, se la asignas al gatillo y al final del script cambias el valor de esa variable?
#2
Sharki 26148
Como dijo cosarara para los scripts de gatillo vienen siendo mejor las variables. Porque (Si no me equivoco, corregidme) Al a ver una flag el script sigue estando, pero al usar las variables para desactivar el script, el script desaparece.

Asignale la variable 4052 al script de gatillo, y copia el code que te he dejado abajo, más abajo te explico una expliación medio decente.

#dynamic 0x800000

#org @inicio
applymovement 0x3 @mov2
waitmovement 0x3
msgbox @frase3 0x6
trainerbattle 0x3 0x001 0x0 @frase
msgbox @frase2 0x6
applymovement 0x3 @mov1
waitmovement 0x3
applymovement 0x2 @mov3
waitmovement 0x2
msgbox @frase4 0x6
trainerbattle 0x3 0x001 0x0 @frase6
msgbox @frase5 0x6
applymovement 0x2 @mov6
applymovement 0x3 @mov7
waitmovement 0x2
waitmovement 0x3
hidesprite 0x2
hidesprite 0x3
applymovement 0x1 @mov4
waitmovement 0x1
msgbox @frase7 0x6
applymovement 0x1 @mov5
waitmovement 0x1
hidesprite 0x1
Setvar 0x4052 0x2
release
end

#org @inicio2
end

#org @frase7
= Prof. Celso: Muy valiente de tu\nparte

#org @frase5
= Nos veremos pronto, no deviste\nintrometerte

#org @frase4
= a mi si que no me vences

#org @frase6
= Imposible , ya nos volveremos a\nver

#org @frase
= De aqui no pasas

#org @frase2
= A ver que tan fuerte eres

#org @frase3
= De aqui no pasas ahhh

#org @mov1
#raw 0x11 'Paso Arriba
#raw 0x11 'Paso Arriba
#raw 0x11 'Paso Arriba
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x2 'Mirar Izquierda
#raw 0xFE 'Finalizar Movimientos

#org @mov2
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x4A 'Mirar al Jugador
#raw 0xFE 'Finalizar Movimientos

#org @mov3
#raw 0x10 'Paso Abajo
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x4A 'Mirar al Jugador
#raw 0xFE 'Finalizar Movimientos

#org @mov4
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x4A 'Mirar al Jugador
#raw 0xFE 'Finalizar Movimientos

#org @mov5
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0xFE 'Finalizar Movimientos

#org @mov6
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0xFE 'Finalizar Movimientos

#org @mov7
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0xFE 'Finalizar Movimientos


Si tienes una variable de 'X' valor (en este casi variable de 4052 con valor de 0) Al usar el comando Setvar 0x4052 0x2 hace que el valor de la variable se incremente en 2 y por ende, se desactiva el script de gatillo).

Saludos #SharkI
#3
Tito Dafting301_4315♪ Kuchiki 24341
Iniciado por Sharki
Como dijo cosarara para los scripts de gatillo vienen siendo mejor las variables. Porque (Si no me equivoco, corregidme) Al a ver una flag el script sigue estando, pero al usar las variables para desactivar el script, el script desaparece.

Asignale la variable 4052 al script de gatillo, y copia el code que te he dejado abajo, más abajo te explico una expliación medio decente.



Si tienes una variable de 'X' valor (en este casi variable de 4052 con valor de 0) Al usar el comando Setvar 0x4052 0x2 hace que el valor de la variable se incremente en 2 y por ende, se desactiva el script de gatillo).

Saludos #SharkI


Voy a agregar una duda que me surgió ya que no estoy muy informado del uso de vars aplicado al scripting de Romhacks.

Con agregar el setvar ya está? No hace falta un check? Ni un if?

Puede ser que sea de esos scripts en los cuales se pone el offset de la variable en el A-Map y no es necesario usar comandos adicionales? La verdad que no lo recuerdo :s
#4
celsox26 26208
Ap gracias shark ! si me funciono pero me nace otra duda respecto a lo ablamos el otro dia, la cosa es que se supone k este comando "Setvar 0x4052 0x2", al hacer lo que hace, quiere decir que ya no puedo ocupar la variable 4054 ?? verdad ? o en algun otro scrip de gatillo puedo volver a crearla con la var 4052 ? o mas ??

Si no es asi , me podrias dar un lista con las variables posibles ocupar o alguna manera de encontrar var vacias ??
#5
Sharki 26148
Iniciado por celsox26
Ap gracias shark ! si me funciono pero me nace otra duda respecto a lo ablamos el otro dia, la cosa es que se supone k este comando "Setvar 0x4052 0x2", al hacer lo que hace, quiere decir que ya no puedo ocupar la variable 4054 ?? verdad ? o en algun otro scrip de gatillo puedo volver a crearla con la var 4052 ? o mas ??

Si no es asi , me podrias dar un lista con las variables posibles ocupar o alguna manera de encontrar var vacias ??


No, es muy diferente variable de valor de la variable, La variable es 4052, el valor es 0, el valor sube a 2, entonces la variable es 4052 con valor de 2.

No obstante la variable 4052 ya está usada, por ende no puedes usarla, pero si podrás usar la variable 4054, porque lo que se aumento en 2 es el VALOR de esa variable, no la variable.

Sobre las variables libres, se piensa que hay desde el 40FF para arriba. realmente no sé como funciona el listado en hexadecimal, pero si no estoy errado sería así:

4051
4052
4053
4054
4055
4056
4057
4058
4059
405A
405B
405C
405D
405E
405F
4060
4061

y ahí volverías a empezar.