qna_rh
Thread Id: 10629
Thread Name: ayuda script no se pausa -fire red usa
#0
akane159 16805
hola era para lo siguiente esq tengo este script, verdad, aja despues de q se ejecuta si le vulves a pasar por ensima no hay ningun problema no se repite, pero si por ejemplo entras en batalla (es detro de una cueva el script) pues y si despues de terminar la batalla pisas el script se vuelve a ejecutar, noc xq pero cuando se refesca la pantalla si pisas el script se vuelve a repetir y noc xq eso no deberia pasar, si alguien sab como solucionarlo porfavor q me diga si , gracias :D, aqui le anexo el script




'---------------
#org 0x800736
lock
checkflag 0x5004
if 0x1 call 0x88003B9
applymovement 0x1 0x8800AED
waitmovement 0x3
msgbox 0x880075B MSG_NORMAL '"ZERO: HEY TU DETENTE!!\p[player]:?..."
setflag 0xAA9C
setflag 0x5004
release
end

'---------------
#org 0x8003B9

'---------
' Strings
'---------
#org 0x80075B
= ZERO: HEY TU DETENTE!!\p[player]:?????\pZERO: tu no dejare que tu y tus\nequipo interfiera con nuestra\linvestigacion..\pZERO:???, oye tu no parecs de\nellos, menos mal casi libero mis\lpokemon para detenerte...\p[player]:pero quien eres tu? y q querian\nesas personas?\pZERO: ellos estan aqui para robar\nla reliquia q encontramos en estra\lexcavacion, esa reliquia estava\ljunto a una pequeña tabliya que\lrelatava la historia de unos\lantiguos seres, y no me refiero a\lantiguos pokemon, no nada de eso,\lsino de unos seres que eran\lpokemon pero poseian forma\lhumana!!\p[player]???!! que eso no puede ser\nverdad, ajaj seguro me estas\lmintiendo...\pZERO: NADA DE ESO!! todo lo que\nte digo es verdad, pero ahora no\lhay tiempo de explicarte mejor\lven y ves esa reliquia con tus\lpropios ojos y asi me ayudas a\lprotegerla de esas personas\p[player]: estabien te acompañare, por\ndonde es???\pZERO: por aqui arriva hay q subir\nun par de escaleras y ya... vamos


'-----------
' Movements
'-----------
#org 0x800AED
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0xFE 'End of Movements
#1
Javi4315♪ 13374
A ver, en primer lugar es mejor que aprendas a usar variables para los scripts de gatillo, es más "profesional", por llamarlo de alguna forma. Pero bueno, si quieres también puedes hacerlo así, no hay problema xD

En segundo lugar, en ese offset 0x8003B9 añade los comandos correspondientes (release y end).

Tercero, ¿Ese movimiento no es excesivamente largo? xD

Cuarto, ¿Por que activas dos flags?

Quinto y último, ¿De dónde sacas esas flags? Creo que el problema viene de ahí. Lo mejor es que utilices a partir de la 200 (hacia delante), creo que eso solucionará el problemas.

Bueno, eso xD
Espero que se soluciones ;D
#2
Cheve_X 15014
Prueba a hacer ésto:

En la parte que dice:

'---------------
#org 0x8003B9

deberías ponerlo así:

'---------------
#org 0x8003B9
release
end

Si aún así sigue sin funcionar, fíjate de en AM haber puesto 03 en "Desconocido"

[hr]

Otra cosa, no tiene que ver con tu duda pero puede ayudarte, en scripts de Gatillo, te recomiendo que uses variables, pones una libre ahí donde dice "Var" (Ej: 4050) y en "Value" 0001 una vez que se ejecuta el script, deberas usar un addvar 0x4050 0x1 entonces a la variable 4050 se le sumará 1 unidad, asi pasará a tener valor 0002, por lo que el Script de gatillo no se ejecutará...

Si usas esto que te dí arriba, tu script quedaría así:



Más fácil ¿No? además te ahorras espacio :D

Salu2!

Pd: SI no entiendes Mensaje de Perfil ^^

Edit: Mew2! Siempre te me adelantas! xD
#3
Hackun 12904
- Primero:
applymovement 0x1 0x8800AED
waitmovement 0x3 <- WTF? debes poner lo mismo que en el apply, osea, 1.

- Segundo:
#org 0x8003B9 <- ¿Y el release y el end?

- Tercero: (Está es la solución, pero igual quería regañarte :P)
Esas flag tienen un valor demasiado alto, no se almacenan correctamente.
Usa algo así como: 8BA o 9A0. (Te recomiendo anotar las flag que usas)

EDITO: Siempre se me adelantan los 2 ¬¬

Tu apply no funciona. ¿por qué? Lee mi mensaje nuevamente.
#4
akane159 16805
pues lo de
setflag 0xAA9C
setflag 0x5004
es q necesito q tambien desactive esa flag

y lo de checkflag 0x5004 , el 5004 esq vi en un tutorial q en el fire red se comienza en el 5000 asi q supongo q deveria seguir asi si ya hic del 5001 al 5003 no?

bueno no importa voy a provar la forma q dijo cheve aver si asi me agarra , si funciono o no les aviso :)
#5
Hackun 12904
Mmm he tenido que entrar a descifrar tu script :P
Tu quieres que se mueva el mini del protagonista ¿no?
Sería:
applymovement 0xFF @mov
waitmovement 0xFF
Si no es así, ignora este mensaje.
Saludos.
#6
akane159 16805
no troll el del protagonistano es, es de un mini q esta serk de dond pasa el protagonista

movi el mini de lugar para q no sean tantos movimientos y quedo algo asi


aqui esta como me qdo al final


'---------------
#org 0x800736
lock
applymovement 0x5 0x8800AED
waitmovement 0x5
msgbox 0x880075B MSG_NORMAL '"ZERO: HEY TU DETENTE!!\p[player]:?..."
setflag 0xAA9C
addvar 0x4050 0x1
release
end


'---------
' Strings
'---------
#org 0x80075B
= ZERO: HEY TU DETENTE!!\p[player]:?????\pZERO: tu no dejare que tu y tus\nequipo interfiera con nuestra\linvestigacion..\pZERO:???, oye tu no parecs de\nellos, menos mal casi libero mis\lpokemon para detenerte...\p[player]:pero quien eres tu? y q querian\nesas personas?\pZERO: ellos estan aqui para robar\nla reliquia q encontramos en estra\lexcavacion, esa reliquia estava\ljunto a una pequeña tabliya que\lrelatava la historia de unos\lantiguos seres, y no me refiero a\lantiguos pokemon, no nada de eso,\lsino de unos seres que eran\lpokemon pero poseian forma\lhumana!!\p[player]???!! que eso no puede ser\nverdad, ajaj seguro me estas\lmintiendo...\pZERO: NADA DE ESO!! todo lo que\nte digo es verdad, pero ahora no\lhay tiempo de explicarte mejor\lven y ves esa reliquia con tus\lpropios ojos y asi me ayudas a\lprotegerla de esas personas\p[player]: estabien te acompañare, por\ndonde es???\pZERO: por aqui arriva hay q subir\nun par de escaleras y ya... vamos


'-----------
' Movements
'-----------
#org 0x800AED
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0xFE 'End of Movements
#7
Gut_Bro 14808
Ps creo que ya te dieron la solución, pero vamos a aclarar algo,
Las variables son las que empiezan desde el 5000 (o por lo menos así lo he hecho yo sim problema alguno) pero las Flags son otra cosa, haz como dice Traollfiuld, usar una mas pequeña ^^

También, como dice cheve, usa Variables para tus Scripts de gatillo y de nivel, ya que estos a la par que se ejecutan, te impiden que se vuelvan a ejecutar, ¿como es esto? Pues fácil, asignas el Script a un Gatillo en AM y le das una variable y un valor. Si al momento de pisarlo, el valor de dicha variable coincide, entonces se ejecuta, de lo contrario no pasará nada. Y para que el valor deje de coincidir (es decir, que no se vuelva a ejecutar) utilizas ya sea addvar ó setvar.

Si utilizas este sistema no tienes que comparar valores en el script (checkflag, if goto etc), simplemente haces un, repito setvar ó addvar al final para que la próxima vez que se pise el gatillo no se ejecute, repito, porque los valores ya no coinciden.

Es cosa de práctica, pero eso sí, haz caso a toooodos los consejos y correcciones que te han dado mis compañeritos xD e intenta con los Scripts dinámicos, te ayudarán un montón también ^^

Saludos!
#8
Nattramn 24439
Es decir, que tu script, debe tener un var al final, y por medidas de seguridad anti-crash, tu lista de movimientos debe tener nueve movimientos o menos. Despues puedes poner algo asi como,


applymovement 0x5 $offsetxD)
waitmovement 0x5
applymovement 0x5
waitmovement 0x5

Es decir, puedes llegar hasta todos los movimientos que quieras, con que no se te olvide usar el waitmovement, (si no solo sera uno).
Y bueno, aunque creo que ya resolvieron tus dudas, y este post ha de ser viejo, que yo me acuerde, no era "setvar", y no "addvar"?
Si es asi entonces ahi esta tu error. Pero si XSE no lo detecta es porque lo hiziste correctamente.