qna_rh
Thread Id: 25157
Thread Name: DUDA | Script de Gatillo | SOLUCIONADO
#0
Guilly Power 27880
Hola a todos!!!!
Tengo una duda con un script de gatillo (los odio!!!, no se me dan nada bien D: )

En el lugar donde te dan al pokémon, cómo se hace para que al pisar el scrip de gatillo te impida pasar hasta que hables con una persona?
#1
cosarara97 12296
Depende de cómo lo quieras hacer, hombre!
"Te impida pasar". Porque te impide pasar... ¿un personaje? ¿la moral del protagonista? ¿algo que cierra el paso? (en este últimpo caso no sería un script de gatillo).

¿Y si nos enseñas una captura del mapa y explicas exactamente lo que quieres que pase?

Oh, y esos gifs de tu firma me harán volver loco. Ponlos en un spoiler o algo por favor D:
#2
Natsu Dragneel 23919
Pues si usas Flags...
Haciendo un Checkflag en la persona que supuestamente de debe dejar pasar.
En la persona que tienes que hablar usas un setflag para que esa flag se active y en el policía o quien te debe dejar pasar usas
checkflag
if 0x1 @dejarpasar

Y en el puntero @dejarpasar pones los movs que quieres que haga el mini ya sea el poli o lo que sea, o el prota.(Los movs los sacas del Move It!)
Si no entiendes te lo explico más detalldamente.

♪ La primera vez que ayudo con scripts, LOL ♪
#3
Guilly Power 27880
Iniciado por cosarara97
Depende de cómo lo quieras hacer, hombre!
"Te impida pasar". Porque te impide pasar... ¿un personaje? ¿la moral del protagonista? ¿algo que cierra el paso? (en este últimpo caso no sería un script de gatillo).

¿Y si nos enseñas una captura del mapa y explicas exactamente lo que quieres que pase?

Oh, y esos gifs de tu firma me harán volver loco. Ponlos en un spoiler o algo por favor D:



Puees, que cuando intentes pasar al lado del personaje te mande parar como si estuviera gritand
#4
Megascep_9 Kuchiki 28187
Te pondre un ejemplo:

Este es el script de que no te deja pasar:

#dynamic 0x800000
#org @inicio
lock
faceplayer
checkflag 0x500-------------Cuando esto se active podras pasar
if 0x1 call @siguiente
msgbox @msg1 0x6
applymovement 0xff @mov1
waitmovement 0x0
release
end

#org @siguiente
nop
end

#org @msg1
= No puede tener a tu pokemon./n Hasta que no hables con tu madre.

#org @mov1
#raw------------Hacia donde quieras que camine el mini, si va hacia arriba que se devuelva

Ahora creas el de tu madre, es solo un ejemplo no es necesario que sea tu madre XD:

#dynamic 0x800000
#org @inicio
lock
faceplayer
checkflag 0x500
if 0x1 call @siguiente
msgbox @msg2 0x6
setflag 0x500 ----------------Esto activara el gatillo y podras pasar
release
end

#org @siguiente
nop
end

#org @msg1
= Ve y busca a tu pokemon hijo.

Los textos son solo ejemplos, puedes poner los que quieras.
Espero haberte ayudado
#5
Natsu Dragneel 23919
Sceptile9 aprovecha y para que resulte mucho más fácil distinguir el Script texto de tu texto usa la etiqueta CODE.
Si no puede resultar pesado leerlo.
Se verá así!.

El script está bien hecho por lo que Wolf puedes confiar en él XD!
Salu2 a todoh

PD: Tengo que ser más rápido para responder el único y llevarme toda la glória :snooty:
#6
Megascep_9 Kuchiki 28187
Ok si ya lo edite, gracias.

Espero que lo entienda mejor, lo unico que no especifico es que
si es una persona quien lo detiene, haci que lo hice de esa menera.

El primero lo pones en el script y el otro en tu madre XD, mentira donde lo desees.
que no se te olvide en el A-Map poner la variable en Var number para que se active.
#7
Loony Boo♪ 12263
Sceptile9 te ha propuesto una estructura aceptable, pero si eres una persona ambiciosa como yo (y espero que muy escrupuloso en hacer los scripts en condiciones), desearás hacer chorrecientos mini-eventos y agilizar todo el proceso, así que yo te recomendaría que emplees variables y pases de malgastar flags. Te explicaré lo que debes hacer:

[LIST=1]
  • Creas el evento para el script de nivel, es decir, la casillita verde con la S amarilla en el centro.
  • Organizas el script (a estas alturas doy por hecho de que sabes scriptear), lo compilas y asignas el offset en la casillita que aparece al lado de "Offset".
  • Te aparecerán otras dos casillas, Var Number y Var Value; en Var Number colocas el número de variable que usaste, y en Var Value colocas el valor de la variable para el cual se activa el script de gatillo.
  • [/LIST]

    ¿Qué significa lo último que dije? Que el script de gatillo compara el valor de una variable, y si tiene ese valor, se activa el script. ¿Qué comandos puedes usar para cambiarle el valor a la variable? Puedes emplear el comando setvar en el mini con el que tienes que hablar y el comando compare para que no se repita el diálogo. Por ejemplo, si quieres que la variable 7FFF tenga valor 1, pondrías:

    setvar 0x7FFF 0x1

    ¿Una rallada? No, es cuestión de práctica, puede que algunos digan que esta es una forma de complicarse o rallarse la sesera, pero te recomiendo que aprendas a jugar con el valor de las variables. Si tienes problemas para buscar y necesitas de algún tutorial en concreto, házmelo saber.

    Y bueno, puedes usar el método que quieras.

    PD: Hace tiempo que no cojo el Advance Map, por favor, no me matéis si me equivoqué en el nombrecito correspondiente al Offset xD
    #8
    Guilly Power 27880
    Iniciado por Sceptile9
    Te pondre un ejemplo:

    Este es el script de que no te deja pasar:

    #dynamic 0x800000
    #org @inicio
    lock
    faceplayer
    checkflag 0x500-------------Cuando esto se active podras pasar
    if 0x1 call @siguiente
    msgbox @msg1 0x6
    applymovement 0xff @mov1
    waitmovement 0x0
    release
    end

    #org @siguiente
    nop
    end

    #org @msg1
    = No puede tener a tu pokemon./n Hasta que no hables con tu madre.

    #org @mov1
    #raw------------Hacia donde quieras que camine el mini, si va hacia arriba que se devuelva

    Ahora creas el de tu madre, es solo un ejemplo no es necesario que sea tu madre XD:

    #dynamic 0x800000
    #org @inicio
    lock
    faceplayer
    checkflag 0x500
    if 0x1 call @siguiente
    msgbox @msg2 0x6
    setflag 0x500 ----------------Esto activara el gatillo y podras pasar
    release
    end

    #org @siguiente
    nop
    end

    #org @msg1
    = Ve y busca a tu pokemon hijo.

    Los textos son solo ejemplos, puedes poner los que quieras.
    Espero haberte ayudado


    Si, es una gran ayuda, muchas gracias, aunque al pasar por encima se queda parado D:
    #9
    Megascep_9 Kuchiki 28187
    Iniciado por Loony Boo♪
    Sceptile9 te ha propuesto una estructura aceptable, pero si eres una persona ambiciosa como yo (y espero que muy escrupuloso en hacer los scripts en condiciones), desearás hacer chorrecientos mini-eventos y agilizar todo el proceso, así que yo te recomendaría que emplees variables y pases de malgastar flags. Te explicaré lo que debes hacer:

    [LIST=1]
  • Creas el evento para el script de nivel, es decir, la casillita verde con la S amarilla en el centro.
  • Organizas el script (a estas alturas doy por hecho de que sabes scriptear), lo compilas y asignas el offset en la casillita que aparece al lado de "Offset".
  • Te aparecerán otras dos casillas, Var Number y Var Value; en Var Number colocas el número de variable que usaste, y en Var Value colocas el valor de la variable para el cual se activa el script de gatillo.
  • [/LIST]

    ¿Qué significa lo último que dije? Que el script de gatillo compara el valor de una variable, y si tiene ese valor, se activa el script. ¿Qué comandos puedes usar para cambiarle el valor a la variable? Puedes emplear el comando setvar en el mini con el que tienes que hablar y el comando compare para que no se repita el diálogo. Por ejemplo, si quieres que la variable 7FFF tenga valor 1, pondrías:

    setvar 0x7FFF 0x1

    ¿Una rallada? No, es cuestión de práctica, puede que algunos digan que esta es una forma de complicarse o rallarse la sesera, pero te recomiendo que aprendas a jugar con el valor de las variables. Si tienes problemas para buscar y necesitas de algún tutorial en concreto, házmelo saber.

    Y bueno, puedes usar el método que quieras.

    PD: Hace tiempo que no cojo el Advance Map, por favor, no me matéis si me equivoqué en el nombrecito correspondiente al Offset xD


    Pues si de esa manera lo hago yo, pero como el no sabe mucho de esto no le queria complicar la vida XD, aunque sea mas fácil de esa manera.
    Solo le recarco que en var number coloque la variable, ya sea desde 7000 hasta 7FFF o de 4000 hasta 4FFF
    #10
    Natsu Dragneel 23919
    Pues Wolf, prueba entonces a quitar el comando
    nop

    del puntero @siguiente
    Talvez se trabe un poco debido a que está ejecutando un comando apesar de que el comando nop sea inútil.
    #11
    Megascep_9 Kuchiki 28187
    Iniciado por ~XTheVoidX~
    Pues Wolf, prueba entonces a quitar el comando

    del puntero @siguiente
    Talvez se trabe un poco debido a que está ejecutando un comando apesar de que el comando nop sea inútil.


    Se que el nop, no le afecta en nada, el problema esta en que dejo en 0000 el var number en el A-Map. Aunque no esta de más que lo quite y ponga release.
    #12
    Natsu Dragneel 23919
    CORECCIÒN!!!
    Los scripts de gatillo nunca deben contener los comando lock o faceplayer...
    Solo me dí cuenta ahora que Sceptile lo mencionó.
    Por lo que si , Sceptile, me das permiso, edito tu Script...

    #dynamic 0x800000
    #org @inicio
    checkflag 0x500-------------Cuando esto se active podras pasar
    if 0x1 call @siguiente
    msgbox @msg1 0x6
    applymovement 0xff @mov1
    waitmovement 0x0
    end

    #org @siguiente
    release
    end

    #org @msg1
    = No puede tener a tu pokemon./n Hasta que no hables con tu madre.



    Y el otro:

    #dynamic 0x800000
    #org @inicio
    checkflag 0x500
    if 0x1 call @siguiente
    msgbox @msg2 0x6
    setflag 0x500 ----------------Esto activara el gatillo y podras pasar
    end

    #org @siguiente
    release
    end

    #org @msg1
    = Ve y busca a tu pokemon hijo.



    CREO que no me he equivocado en nada más yu creo también que hemos convertido el Tema en Topic-chat por lo que apartir de ahora me callo.
    Salu2
    #13
    Loony Boo♪ 12263
    Iniciado por ~XTheVoidX~
    CORECCIÒN!!!
    Los scripts de gatillo nunca deben contener los comando lock o faceplayer...


    Vuelvo a corregir, pueden tener dichos comandos (sólo no se debe añadir lock en scripts de nivel "03"), pero por favor, moderemos un poco el Topic Chat.
    #14
    Guilly Power 27880
    Sigue sin funcionar T_T, no se que pasa, he hecho todo lo que me habeís dicho.

    EDITO:

    SOLUCIONADO!!!!!

    Pues sí, aunque no lo parezca, lo he conseguido solucionar.
    Muchísimas Gracias a Sceptile9