qna_rh
Thread Id: 16156
Thread Name: problema con scripts de gatillo
#0
Hack-roms edi 25121
El problema es que yo hago todo el script con flags, applymovements y demas pero cuando lo pruebo para ver si me quedo bien al pisar el lugar del script de gatillo el juego se congela y no se por que por favor ayuda aqui les dejo mi script:


porfa diganme en que estoy mal y porque se congela el juego.
#1
gintonic091 19818
LOLAZO! a ver xD

Primero: Tienes el XSE des-actualizado... Descárgate la versión 1.1.1

Segundo: No se si entiendes inglés... Pero ningún personaje se va a mover, porque "Face" significa cara. Y eso significa que los movimientos son solo de mirar a un lado determinado.. xD

Otra cosa que has de hacer... Para Gatillos, Niveles, o scrips largos que lleven applymovements, y otras cosas que consuman bastantes bytes, no uses #dynamic.
Busca los espacios libres con FSF. Porque si no, se te pueden mezclar los offset y joderte todo el script.

Ahora bien, dicho esto. Para que un script de gatillo funcione. En el primer desconocido del AM has de ponerle un 0003.
Luego en Var Number, has de ponerle una variable. Que será la que pongas en otro script, o en el mismo para que deje de funcionar. El Var Value lo puedes dejar como está xD

Y bueno. Haz todo lo que te he dicho al principio. Si no, se te hará dificiísimo scriptear xD

Un saluder! :D
#2
cosarara97 12296
Iniciado por gintonic091
Otra cosa que has de hacer... Para Gatillos, Niveles, o scrips largos que lleven applymovements, y otras cosas que consuman bastantes bytes, no uses #dynamic.
Busca los espacios libres con FSF. Porque si no, se te pueden mezclar los offset y joderte todo el script.

Noooo... Si no usas dynamic con scripts largos te pasas la vida buscando espacio, además de que puede que se te solapen cosas. Eso sí, hay que usar el siguiente procedimiento:
1 - Hacer una copia del ROM.
2 - Compilar el script (con offsets dynamicos)
3 - Probarlo.
4 - Si funciona, perfecto, ya está si no, sigue:
5 - "Restaurar" la copia.
6 - Arreglar el script
7 - Volver al punto 2.

Para un script de solo 2 o 3 direcciones, puedes buscar offsets manualmente y dejar espacio en medio para añadir cosas luego, pero para scripts más complejos no lo recomiendo.
Y bueno, decirte que FE (en #raw 0xFE) es un valor hexadecimal, y por lo tanto tiene que llevar el 0x (un zero y una x minúscula) delante.
#3
gintonic091 19818
[QUOTE="cosarara97"]Noooo... Si no usas dynamic con scripts largos te pasas la vida buscando espacio, además de que puede que se te solapen cosas.[/QUOTE]

[QUOTE="cosarara97"]Para un script de solo 2 o 3 direcciones, puedes buscar offsets manualmente y dejar espacio en medio para añadir cosas luego, pero para scripts más complejos no lo recomiendo.[/QUOTE]

Al contrario xD
He tenido millones de problemas, en por ejemplo, al usar #dynamic en scripts largos, usando varios applymovement, msgbox, etc. Cuando probaba el script, a veces no me funcionaba. Y si editaba el script porque me había equivocado en alguna letra del msgbox o quería poner más conversación, o más comandos; al usarlo, de repente se me ponían movimientos por arte de magia, o símbolos raros en los msgbox. Cosa que NUNCA me ha pasado buscando los offsets yo mismo, con un espacio entre ellos de unos 300 o 400 bytes y un intervalo de unos 1000 o más (dependiendo de como sea el script de largo, o las veces que pueda llegar a editarlo)

Para postes, o conversaciones cortas con personas, o cosas así, que no usen muchos bytes y no sean tan largos, recomiendo los #dynamic para ahorrar espacio y para ir más rápido y que sea más cómodo.
Pero para largos o más complicados, en los que te puedas equivocar, o editarlos poniendo más comandos, o incluso que luego hagas otro script con un offset cercano al último, y se te puedan liar ambos scripts, no lo recomiendo. Por que eso ocurre mucho, y no solo a mi xD

Un saluder! :D
#4
cosarara97 12296
Iniciado por gintonic091
Cuando probaba el script, a veces no me funcionaba. Y si editaba el script porque me había equivocado en alguna letra del msgbox o quería poner más conversación, o más comandos; al usarlo, de repente se me ponían movimientos por arte de magia, o símbolos raros en los msgbox.

Obviamente, porque no puedes añadir algo así como así dejando los offsets que te ha dado dynamic. Tienes que restaurar la copia, y recompilar el script (con las etiquetas dimámicas), como he dicho en mi mensaje anterior.
Pero bueno, podemos crear un debate en otro tema.


Por cierto, estás seguro de que el mini es el 0x44? Me parece un número muy alto.
#5
Hack-roms edi 25121
ya solucione el problema del congelamiento ahora lo que pasa es que cuando paso por el script de gatillo no pasa nada que hago????
#6
gintonic091 19818
A ver, es que sinceramente, el script, tal y como lo has puesto, está casi todo mal. Por ejemplo, los movimientos se ponen con un 0xmovimiento y no directamente el número del movimiento.
Otra cosa que veo es que has usado un LASTRESULT para saltar a otro script cuando se active una flag, pero el script donde salta está vacío. Se te bloqueará cuando lo uses y llegues al segundo script (es decir, cuando lo pises de nuevo) para que no se siga ejecutando, basta con ponerle una flag al Script de Gatillo y en el script, poner un setvar 0xvariable y así se debería dejar de ejecutar.
Y llenar los espacios en el Advance Map como te dije en el primer mensaje...

Así te debería ir sin problemas.
Tú pruébalo y dices que tal te ha ido.
Un saluder! :D
#7
Hack-roms edi 25121
bueno ya tengo el nuevo script es asi:


Ese es el nuevo script ustedes me dicen si esta bien o mal espero pronta respuesta.
#8
gintonic091 19818
#org @inicio2
setvar 0x10008000
release
end


O.O que es eso? xDD no existe ninguna Flag tan larga S: al menos eso creo... xD

Otra cosa:

#org @inicio
checkflag 0x2101
if 0x1 goto @inicio2
msgbox @oye
callstd 0x3


Veo que no actualizas el XSE xD
Has de actualizarlo a la versión 1.1.1 ya que es mejor...
Así no te hará falta el use de los callstd.

Explícame porqué has puesto esa flag tan larga. Ya que no entiendo xD
Un saluder! :D
#9
Hack-roms edi 25121
bueno el setvar tiene que ser el numero de una flag?? esque no lo sabia por eso puse un numero tan largo entonces voy a poner el numero de la flag que use en el script???? por cierto como ya me acostumbre a escribir el callstd asi que me siento mas comodo asi