qna_rh
Thread Id: 8828
Thread Name: Script terminado
al hacer un script y poner checkflag y setflag luego no se repitio,
pero al entrar y salir de una casa el script seguía activo, porque? Que debo hacer para que no vuelva a salir?
Iniciado por Pablo
al hacer un script y poner checkflag y setflag luego no se repitio,
pero al entrar y salir de una casa el script seguía activo, porque? Que debo hacer para que no vuelva a salir?
¿Dices que el script no se repite cuando sucede una vez pero que al entrar en una casa sí vuelve a repetirse? Que raro...
¿Pero con una casa te refieres a cualquier casa en general o a una casa específica? Si es lo segundo, quizás estés activando una flag que se desactiva al entrar en la casa mediante un script de nivel.
Especifíca que flag estás usando, que rom y, si sucede en una casa en particular, que casa es.
al cambiar de ward, al cxambiar de ruta etc... al cambiar de lugar y volver a donde se encuantra el script se vuelve a repetir, pero al estar en ese mapa y alejarte no se repite.
Iniciado por Pablo
al cambiar de ward, al cxambiar de ruta etc... al cambiar de lugar y volver a donde se encuantra el script se vuelve a repetir, pero al estar en ese mapa y alejarte no se repite.
En ese caso es posible que el problema esté en el mapa donde está el script. Bueno, si quieres que te ayude dime que flag utilizaste, en que rom estás trabajando y cual es el mapa en el que hicistes el script.
Veis, este script me funcionó, pero las flags estan mal entonces se me repitio al cambiar de ruta, al metere en una casa, etc...
color=#FF4500]POKEMON ROJO FUEGO
#dynamic 0x710ED2
#org @comienzo
lock
faceplayer
checkflag 0x2000
msgbox 0x8000000
callstd 0x4
applymovement 0x3 0x710ED3
waitmovement 0x0
setflag 0x2000
release
end
#org 0x8000000
= BRUNO: Luego peleamos,\pAhora, me voy.
#org 0x710ED3
#raw 0x17
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x60
#raw 0xFE
Además creo que se me repitio porque falta algo.
asi que miralo a ver si es algo de eso.
Iniciado por Zarokken
Veis, este script me funcionó, pero las flags estan mal entonces se me repitio al cambiar de ruta, al metere en una casa, etc...
color=#FF4500]POKEMON ROJO FUEGO
#dynamic 0x710ED2
#org @comienzo
lock
faceplayer
checkflag 0x2000
if 0x1 goto 0xOFFSET (Esto te enviará al offset donde tu pongas otra cosa, un diálogo normal o lo que tu quieras)
msgbox 0x8000000
callstd 0x4
applymovement 0x3 0x710ED3
waitmovement 0x0
setflag 0x2000
release
end
#org 0x8000000
= BRUNO: Luego peleamos,\pAhora, me voy.
#org 0x710ED3
#raw 0x17
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x60
#raw 0xFE
Además creo que se me repitio porque falta algo.
asi que miralo a ver si es algo de eso.
Te puse algo en el script. En principio es eso, si no, pues vuelve a preguntar ;D
Gracias y podrías mirar este.
#org 0x7111BB
faceplayer
msgbox 0x87111BC
callstd 0x4
call 0x7111BD
msgbox 0x87111BE
callstd 0x6
release
end
#org 0x7111BD
msgbox 0x7111C1
callstd 0x4
applymovement 0x4 0x7111C0
waitmovement 0x0
msgbox 0x7111C2
callstd 0x6
return
#org 0x87111BC
= Hola [player], voy a estudiar los\nPOKEMON.
#org 0x87111BE
= AURA: Bueno me voy a ir.\pEspero que lo pases bien en\ntu aventura.
#org 0x7111C1
= [player]: Vete ya si quieres.
#org 0x7111C0
= AURA: ¿Insistes en que me valla ya?\nVale, adios.
#org 0x7111C0
#raw 0x17
#raw 0x09
#raw 0x09
#raw 0x09
#raw 0x09
#raw 0x09
#raw 0x09
#raw 0x0A
#raw 0x0A
#raw 0x0A
#raw 0x0A
#raw 0x01
#raw 0xFE
#org 0x7111C2
= AURA: Voy a estudiar esta ruta.\pSe llama...\pRUTA 1.
[hr]
A tambien e probado una cosa que me funciono ahora es asi:
1.escribe el scritp
2.pon un checkflag y un setflag
3.pon la flag en el advance map en people ID de una persona
4.pruebalo y ya esta.
no se repite mas.
Iniciado por Zarokken
Gracias y podrías mirar este.
[quote]#org 0x7111BB
faceplayer
msgbox 0x87111BC
callstd 0x4
call 0x7111BD
msgbox 0x87111BE
callstd 0x6
release
end
#org 0x7111BD
msgbox 0x7111C1
callstd 0x4
applymovement 0x4 0x7111C0
waitmovement 0x0
msgbox 0x7111C2
callstd 0x6
return
#org 0x87111BC
= Hola [player], voy a estudiar los\nPOKEMON.
#org 0x87111BE
= AURA: Bueno me voy a ir.\pEspero que lo pases bien en\ntu aventura.
#org 0x7111C1
= [player]: Vete ya si quieres.
#org 0x7111C0
= AURA: ¿Insistes en que me valla ya?\nVale, adios.
#org 0x7111C0
#raw 0x17
#raw 0x09
#raw 0x09
#raw 0x09
#raw 0x09
#raw 0x09
#raw 0x09
#raw 0x0A
#raw 0x0A
#raw 0x0A
#raw 0x0A
#raw 0x01
#raw 0xFE
#org 0x7111C2
= AURA: Voy a estudiar esta ruta.\pSe llama...\pRUTA 1.
[hr]
A tambien e probado una cosa que me funciono ahora es asi:
1.escribe el scritp
2.pon un checkflag y un setflag
3.pon la flag en el advance map en people ID de una persona
4.pruebalo y ya esta.
no se repite mas.[/quote]
Pero eso es hacer que desaparezca xD. En ese caso te sobraría el checkflag, ya que no serviría de nada. Para hacer que no se repita debes poner lo que te dije, if 0x1 goto 0xOFFSET después del checkflag.
Pero bueno, si ya lo has solucionado, pues ya está ^^
Saludos!!
EDITO: no me había dado cuenta de que habías puesto "me puedes mirar este" xD. ¿Qué le pasa a ese script?
No me funsiona eso es todo.
#org 0x7111BB
lock
faceplayer
msgbox 0x87111BC
callstd 0x4
call 0x7111BD (¿para que es eso?)
msgbox 0x87111BE
callstd 0x6
release
end
#org 0x7111BD
msgbox 0x7111C1
callstd 0x4
applymovement 0x4 0x7111C0
waitmovement 0x0
msgbox 0x7111C2
callstd 0x6
return
#org 0x87111BC
= Hola [player], voy a estudiar los\nPOKEMON.
#org 0x87111BE
= AURA: Bueno me voy a ir.\pEspero que lo pases bien en\ntu aventura.
#org 0x7111C1
= [player]: Vete ya si quieres.
#org 0x7111C0
= AURA: ¿Insistes en que me valla ya?\nVale, adios.
#org 0x7111C0
#raw 0x17
#raw 0x09
#raw 0x09
#raw 0x09
#raw 0x09
#raw 0x09
#raw 0x09
#raw 0x0A
#raw 0x0A
#raw 0x0A
#raw 0x0A
#raw 0x01
#raw 0xFE
#org 0x7111C2
= AURA: Voy a estudiar esta ruta.\pSe llama...\pRUTA 1.
___________________________
Veamos, ¿Por qué pusistes call sin una condición? O mejor, ¿Por qué pusistes call? No es necesario poner nada de eso, haz todo el script de paso, en el mismo offset núcleo.
La verdad es que no comprendo muy bien lo que quieres hacer en el script, está muy desordenado xD.
Iniciado por Zarokken
Gracias y podrías mirar este.
[quote]#org 0x7111BB
lock
faceplayer
msgbox 0x87111BC
callstd 0x4
call 0x7111BD
msgbox 0x87111BE
callstd 0x6
release
end
#org 0x7111BD
msgbox 0x7111C1
callstd 0x4
applymovement 0x4 0x7111C0
waitmovement 0x4
msgbox 0x7111C2
callstd 0x6
return
#org 0x87111BC
= Hola [player], voy a estudiar los\nPOKEMON.
#org 0x87111BE
= AURA: Bueno me voy a ir.\pEspero que lo pases bien en\ntu aventura.
#org 0x7111C1
= [player]: Vete ya si quieres.
#org 0x7111C0
= AURA: ¿Insistes en que me valla ya?\nVale, adios.
#org 0x7111C0
#raw 0x17
#raw 0x09
#raw 0x09
#raw 0x09
#raw 0x09
#raw 0x09
#raw 0x09
#raw 0x0A
#raw 0x0A
#raw 0x0A
#raw 0x0A
#raw 0x01
#raw 0xFE
#org 0x7111C2
= AURA: Voy a estudiar esta ruta.\pSe llama...\pRUTA 1.
[hr]
A tambien e probado una cosa que me funciono ahora es asi:
1.escribe el scritp
2.pon un checkflag y un setflag
3.pon la flag en el advance map en people ID de una persona
4.pruebalo y ya esta.
no se repite mas.[/quote]
Voy a hacer unas observaciones:
1º Si pones release, pones lock, es absurdo poner uno sin el otro, así que lo repito; si pones release, pones lock. Obviamente, no tendrás suficiente espacio para añadir lock, así que busca un offset principal limpio (bueno, esto también lo dijo javi, pero aprovecho para recopilarlo todo).
2º Script se escribe así: script. Antes de saber scriptear, hay que saber escribir bien.
3º El waitmovement lo tenías mal, así que me tomé la molestia de corregírtelo.
4º Concuerdo con javi. ¿Para qué te complicas tanto? Haz todo el script en un solo offset, no lo vayas cortando si no es necesario (aunque es a gusto del scripter, pero es un consejo).
5º ¿Te dan miedo las variables? Porque en lugar de derrochar flags, podrías "jugar" con las variables. ¿Cómo? Usando setvar 0x(variable) 0x(valor). Una variable que se emplea de esa manera hace más que 50 flags, porque la puedes reutilizar (la variable no funciona como un interruptor, sino como "una bolsa energética", es el propio script de gatillo el que comprueba la variable y el valor requerido y funciona a modo de interruptor, mejor dicho, funciona como un comprobador).
6º ¿Es posible hacer la desaparición de minis sólo con variables? Pues en principio, no te compliques y sigue haciéndolo con el setflag, aunque no puedo decirte que no se pueda hacer desaparecer minis sólo con variables.
¿Que dónde puedes encontrar un buen manual sobre variables? Pues en este tema: http://www.pokecommunity.com/showthread.php?t=164276
Es un manual completísimo donde te viene de todo en general
me atrevo a decir que es mejor que casi todos los manuales de scripts de la web de WAH juntos, ya que están anticuados y con estructuras incorrectas.
Saludos.