Registrarse

[RH - Otros] Nedecito ayuda con la programación

Estado
Cerrado para nuevas respuestas.
Solo se insertar comandos básicos y no logro hacer una conexión de eventos, cómo tener que hacer algo antes de ir a ciertas zonas y cosas así quisiera pedirles ayuda para que los personajes hagan más que sólo hablar o pelear quiero darles algo más de importancia a varios npc y no se como
 

Katherine

Omnipresente
Miembro de honor
Esto se hace leyendo un tutorial de scripts y aprendiendo a utilizar variables y flags: https://whackahack.com/foro/t-42542/megatutorial-scripting-desde-cero-finalizado

Variables (1) / Condiciones es la sección que estás buscando.

Revisa un poco más los tutoriales que hay (también disponemos de un Índice de Tutoriales con todos los tutoriales clasificados), porque esto es una duda muy básica y resuelta miles de veces.

¡Nos vemos! Miau revoir~.
 
No entendí nada como se que la variable sirve para lo que yo quiero, por ejemplo si quiero que ganen la liga primero o alguna medalla cómo le advierto a la variable?
 

Inferno

Miembro insignia
Miembro insignia
No entendí nada como se que la variable sirve para lo que yo quiero, por ejemplo si quiero que ganen la liga primero o alguna medalla cómo le advierto a la variable?
Ahí es donde entran las condiciones, también aparecen en ese apartado.

Tú la variable la puedes activar en la parte del script que más te convenga para la secuencia de eventos, te pongo un ejemplo fácil y rápido:

Yo quiero que la secuencia de eventos continúe en cuanto el personaje responda "Sí" a una pregunta que le hago.
Llamamos a secuencia de eventos a los eventos que estén encadenados o de cierto modo enlazados, es decir, que hasta que uno suceda el resto no ocurrirá.

Código:
#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @msg 0x5
compare 0x800D 0x1 'la variable 0x800D también se puede escribir como lastresult, pero yo la aconsejo poner así, como su nombre indica compruba el valor de la última operación realizada, sea cual sea.
if 0x1 goto @RespuestaSi
msgbox @msg2 0x6
release
end

#org @RespuestaSi
msgbox @msg3 0x6
setvar 0x4FFF 0x1
release
end

#org @msg
= Te gustaría saber un secreto?

#org @msg2
= Bueno, pues si no quieres saberlo\nme lo guardaré para mi solo.

#org @msg3
= Te lo diré, pero no se lo digas a\nnadie más.\lDentrás del centro Pokémon hay un\lchico que te regalará un\lCharmander si le dices la palabra\lsecreta "Whack a Hack".
Una vez hecho esto vamos a realizar un script que se active en cuanto la respuesta haya sido "Sí" o, dicho de otro modo, cuando la variable 0x4FFF tenga el valor 1, valor asignado por nosotros.

Código:
#dynamic 0x800000

#org @start
lock
faceplayer
compare 0x4FFF 0x1
if 0x1 goto @SabemosElSecreto
msgbox @msg 0x6
release
end

#org @SabemosElSecreto
msgbox @msg2 0x6
givepokemon 0x4 0x5 0x0 0x0 0x0 0x0
release
end

#org @msg
= ...

#org @msg2
= Sabes la contraseña... Debes de\nser uno de los nuevos, aquí\ltienes.
Este último script como podrás ver no se activará hasta que la var 0x4FFF tenga el valor 1, y te preguntarás, ¿Cómo sabes eso y cómo lo has hecho? Pues muy fácil, gracias a los condicionantes, lo que vendría a ser esta parte:
Código:
compare 0x4FFF 0x1
if 0x1 goto @SabemosElSecreto
Con el comando compare comprobamos si la var 0x4FFF tiene el valor 1, si es así (if 0x1) nos lleva a la parte del script @SabemosElSecreto.

Para que veas como quedaría esos dos scripts en conjunto te dejo un gif:



Te recomiendo que repases esos dos scripts comando por comando y vayas leyendo que hace cada uno en el tutorial que ya te han dejado, de esta manera podrás entender mejor el funcionamiento, lo demás es practicar, practicar y practicar.

Mucha suerte!!
 
Última edición:
Ahí es donde entran las condiciones, también aparecen en ese apartado.

Tú la variable la puedes activar en la parte del script que más te convenga para la secuencia de eventos, te pongo un ejemplo fácil y rápido:

Yo quiero que la secuencia de eventos continúe en cuanto el personaje responda "Sí" a una pregunta que le hago.
Llamamos a secuencia de eventos a los eventos que estén encadenados o de cierto modo enlazados, es decir, que hasta que uno suceda el resto no ocurrirá.

Código:
#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @msg 0x5
compare 0x800D 0x1 'la variable 0x800D también se puede escribir como lastresult, pero yo la aconsejo poner así, como su nombre indica compruba el valor de la última operación realizada, sea cual sea.
if 0x1 goto @RespuestaSi
msgbox @msg2 0x6
release
end

#org @RespuestaSi
msgbox @msg3 0x6
setvar 0x4FFF 0x1
release
end

#org @msg
= Te gustaría saber un secreto?

#org @msg2
= Bueno, pues si no quieres saberlo\nme lo guardaré para mi solo.

#org @msg3
= Te lo diré, pero no se lo digas a\nnadie más.\lDentrás del centro Pokémon hay un\lchico que te regalará un\lCharmander si le dices la palabra\lsecreta "Whack a Hack".
Una vez hecho esto vamos a realizar un script que se active en cuanto la respuesta haya sido "Sí" o, dicho de otro modo, cuando la variable 0x4FFF tenga el valor 1, valor asignado por nosotros.

Código:
#dynamic 0x800000

#org @start
lock
faceplayer
compare 0x4FFF 0x1
if 0x1 goto @SabemosElSecreto
msgbox @msg 0x6
release
end

#org @SabemosElSecreto
msgbox @msg2 0x6
givepokemon 0x4 0x5 0x0 0x0 0x0 0x0
release
end

#org @msg
= ...

#org @msg2
= Sabes la contraseña... Debes de\nser uno de los nuevos, aquí\ltienes.
Este último script como podrás ver no se activará hasta que la var 0x4FFF tenga el valor 1, y te preguntarás, ¿Cómo sabes eso y cómo lo has hecho? Pues muy fácil, gracias a los condicionantes, lo que vendría a ser esta parte:
Código:
compare 0x4FFF 0x1
if 0x1 goto @SabemosElSecreto
Con el comando compare comprobamos si la var 0x4FFF tiene el valor 1, si es así (if 0x1) nos lleva a la parte del script @SabemosElSecreto.

Para que veas como quedaría esos dos scripts en conjunto te dejo un gif:



Te recomiendo que repases esos dos scripts comando por comando y vayas leyendo que hace cada uno en el tutorial que ya te han dejado, de esta manera podrás entender mejor el funcionamiento, lo demás es practicar, practicar y practicar.

Mucha suerte!!
gracias por la ayuda ;) :D
 
Estado
Cerrado para nuevas respuestas.
Arriba