Registrarse

problema con scripts de gatillo

Estado
Cerrado para nuevas respuestas.

Hack-roms edi

En busca de equipo
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:
#org @inicio
checkflag 0x2101
if 0x1 goto @inicio2
msgbox @oye
callstd 0x3
applymovement 0x44 @llega
waitmovement 0x44
msgbox @cont.
callstd 0x3
applymovement 0x44 @seva
waitmovement 0x44
setflag 0x2101
release
end

#org @inicio2
end

#org @llega
#raw 2 'Face Left
#raw 2 'Face Left
#raw 2 'Face Left
#raw 2 'Face Left
#raw 2 'Face Left
#raw 2 'Face Left
#raw 2 'Face Left
#raw 2 'Face Left
#raw 2 'Face Left
#raw 2 'Face Left
#raw 2 'Face Left
#raw 2 'Face Left
#raw 2 'Face Left
#raw 2 'Face Left
#raw 2 'Face Left
#raw 2 'Face Left
#raw 2 'Face Left
#raw 2 'Face Left
#raw 2 'Face Left
#raw FE 'End of Movements

#org @seva
#raw 3 'Face Right
#raw 0 'Face Down
#raw 0 'Face Down
#raw 2 'Face Left
#raw 2 'Face Left
#raw 1 'Face Up
#raw 2 'Face Left
#raw 1 'Face Up
#raw 1 'Face Up
#raw 1 'Face Up
#raw FE 'End of Movements

#org @oye
= ???: Oye tu alto ahi.\p[player]: Ahh.

#org @cont.
= ???: Hola,[player] talves no sepas\nquien soy, soy Nando.\p[player]: Ahm hola Nando que\nquerias?\pNando: Ah si venia a adver...\p[player]: Que Nando que pasa?\pNando: Esa marca la reconosco pero\nde donde, de donde...\p...\n...\pNando: Anda ya recuerdo pero era\nsolo una leyenda.\p[player]: Espero qu....\p-Pokenav sonando-\pNando: Bueno, ok, ajam, ya voy.\pNando: Bueno [player] me tengo que\nir te contare la leyenda en otro\pmomento.\p[player]: ok

porfa diganme en que estoy mal y porque se congela el juego.
 
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
 

cosarara97

Dejad de cambiar de nick
Miembro de honor
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.
 
cosarara97 dijo:
Noooo... Si no usas dynamic con scripts largos te pasas la vida buscando espacio, además de que puede que se te solapen cosas.
cosarara97 dijo:
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.
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
 

cosarara97

Dejad de cambiar de nick
Miembro de honor
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.
 

Hack-roms edi

En busca de equipo
ya solucione el problema del congelamiento ahora lo que pasa es que cuando paso por el script de gatillo no pasa nada que hago????
 
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
 

Hack-roms edi

En busca de equipo
bueno ya tengo el nuevo script es asi:
#dynamic 0x800000

#org @inicio
checkflag 0x2101
if 0x1 goto @inicio2
msgbox @oye
callstd 0x3
applymovement 0x44 @llega
waitmovement 0x44
msgbox @cont.
callstd 0x3
applymovement 0x44 @seva
waitmovement 0x44
setflag 0x2101
release
end

#org @inicio2
setvar 0x10008000
release
end

#org @llega
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw FE 'End of Movements

#org @seva
#raw 0x3 'Face Right
#raw 0x0 'Face Down
#raw 0x0 'Face Down
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x1 'Face Up
#raw 0x2 'Face Left
#raw 0x1 'Face Up
#raw 0x1 'Face Up
#raw 0x1 'Face Up
#raw FE 'End of Movements

#org @oye
= ???: Oye tu alto ahi.\p[player]: Ahh.

#org @cont.
= ???: Hola,[player] talves no sepas\nquien soy, soy Nando.\p[player]: Ahm hola Nando que\nquerias?\pNando: Ah si venia a adver...\p[player]: Que Nando que pasa?\pNando: Esa marca la reconosco pero\nde donde, de donde...\p...\n...\pNando: Anda ya recuerdo pero era\nsolo una leyenda.\p[player]: Espero qu....\p-Pokenav sonando-\pNando: Bueno, ok, ajam, ya voy.\pNando: Bueno [player] me tengo que\nir te contare la leyenda en otro\pmomento.\p[player]: ok

Ese es el nuevo script ustedes me dicen si esta bien o mal espero pronta respuesta.
 
#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
 

Hack-roms edi

En busca de equipo
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
 
Estado
Cerrado para nuevas respuestas.
Arriba