Registrarse

Script

Estado
Cerrado para nuevas respuestas.
Ugh.. ya hasta verguenza me da publicar (? No me odien pls

Bien, la cosa es así, se trata de un mapa que tiene bloqueado el paso por una persona, al hablarle te explicará que es el lugar y preguntará si quieres aceptar el desafío o no, si aceptas, se corre de lugar, te deja entrar y vuelve a la entrada, para completar los objetivos hay que hablar con 3 personas que hay en el lugar y volver devuelta con el de la entrada para que te de tu premio y se corra de lugar para dejarte salir, hasta ahí todo funciona bien, mi duda es, qué le tendría que agregar al script para que una vez completado el desafío, el no vuelva a tapar la entrada, sino que se mantenga en el lugar a donde se movió por última vez por el resto del juego.

Aquí el código del de la entrada:

Código:
#dynamic 0x800000

#org @inicio
lock
faceplayer
compare 0x4004 0x1
if 0x1 goto @desafiocompleto
compare 0x4000 0x3
if 0x1 goto [MENTION=30277]regal[/MENTION]arpokemon
msgbox @frase 0x5
compare LASTRESULT 0x1
if 0x1 goto @desafio
if 0x0 goto @huida
release
end

#org [MENTION=30277]regal[/MENTION]arpokemon
msgbox @frase4 0x6
givepokemon 0x37 0xF 0x0 0x0 0x0 0x0
msgbox @frase5 0x6
setvar 0x4004 0x1
applymovement 0xA @movimiento4
waitmovement 0xA
release
end

#org @desafio
msgbox @frase1 0x6
applymovement 0xA @movimiento
waitmovement 0xA
msgbox @frase2 0x6
applymovement 0xFF @movimiento2
waitmovement 0xFF
applymovement 0xA @movimiento3
waitmovement 0xA
release
end

#org @huida
msgbox @frase3 0x6
release
end

#org @desafiocompleto
msgbox @frase6 0x6
release
end

#org @movimiento
#raw 0x13
#raw 0x10
#raw 0x1
#raw 0xFE

#org @movimiento2
#raw 0x13
#raw 0x13
#raw 0x13
#raw 0xFE

#org @movimiento3
#raw 0x11
#raw 0x12
#raw 0xFE

#org @movimiento4
#raw 0x12
#raw 0x11
#raw 0x11
#raw 0x2
#raw 0xFE

#org @frase
= This is the Valley of the\nChallenges. If you enter you can't\lgo back until you win or lose.\lIf you complete the challenge,\lI'll give you a Pokemon that you\lcan't find in this region.\lDo you accept?

#org @frase1
= Over here please.

#org @frase2
= Good luck!

#org @frase3
= When I saw you, I thought you were\nthe chosen one, but I see I was\lwrong.

#org @frase4
= Oh! You completed the challenge!\nCongratulations!\lTake this Pokemon, you won it!\l

#org @frase5
= You have received Gible!

#org @frase6
= Take good care of Gible.\nIt's a very energetic pokemon.
Por si acaso dejo los códigos de las tres personas con las cual se tiene que hablar, dudo que sea necesario pero por las dudas
Primero:
Código:
#dynamic 0x800000

#org @inicio
lock
faceplayer
compare 0x4001 0x1
if 0x1 goto @inicio2
setvar 0x4000 0x1
setvar 0x4001 0x1
msgbox @frase 0x6
release
end

#org @inicio2
msgbox @frase1 0x6
release
end

#org @frase
= Well done. You find me.\nNow go find the other two!

#org @frase1
= What are you waiting? Go Go
Segundo:
Código:
#dynamic 0x800000

#org @inicio
lock
faceplayer
compare 0x4002 0x1
if 0x1 goto @inicio2
setvar 0x4000 0x2
setvar 0x4002 0x1
msgbox @frase 0x6
release
end

#org @inicio2
msgbox @frase1 0x6
release
end

#org @frase
= Wow! Good Job! You're too close to\nwin.

#org @frase1
= Keep going!
Tercero:
Código:
#dynamic 0x800000

#org @inicio
lock
faceplayer
compare 0x4003 0x1
if 0x1 goto @inicio2
setvar 0x4000 0x3
setvar 0x4003 0x1
msgbox @frase 0x6
release
end

#org @inicio2
msgbox @frase1 0x6
release
end

#org @frase
= You did it! Now go claim your\nreward.

#org @frase1
= Still here?
 

Javi4315

Babyface
Miembro de honor
Eso no tiene nada que ver con los scripts que le asignas a los minis. Es mucho más sencillo. Sólo tienes que utilizar un script de nivel de tipo 03. Es un tipo de script que se ejecuta siempre al entrar al mapa, por lo que sólo debes comprobar la variable o la flag que estés utilizando en los eventos para determinar si se han cumplido o no. En el caso de cumplirse (es decir, si no me equivoco en tu script, cuando la variable 0x4003 tiene el valor 0x1), entonces ejecutas un movesprite2 (ojo, "movesprite2", no "movesprite") para que el mini se mueva a la posición que tú quieras.

Básicamente sería esto:

#org @inicio
compare 0x4003 0x1
if 0x1 goto @mover
end

#org @mover
movesprite2 (parámetros)
end
 
Modifiqué los 3 scripts de las 3 personas porque estaban medio mal, capaz por eso medio se confundía, pero cuando estaría hecho el desafío sería cuando la variable 0x4000 esté en 0x3, en lo que tu pusiste solo tendría que cambiar de variable y completar los parámetros, no?
Otra pregunta, si ahí pongo el movimiento final que quiero que ocurra, en el script de la persona se lo saco, no?
Perdón, hasta ahora venía usando solo los applymovement, cómo es la estructura del movesprite2? No encontré en el índice de tutoriales del foro D:
 
Última edición:

Javi4315

Babyface
Miembro de honor
Modifiqué los 3 scripts de las 3 personas porque estaban medio mal, capaz por eso medio se confundía, pero cuando estaría hecho el desafío sería cuando la variable 0x4000 esté en 0x3, en lo que tu pusiste solo tendría que cambiar de variable y completar los parámetros, no?
Otra pregunta, si ahí pongo el movimiento final que quiero que ocurra, en el script de la persona se lo saco, no?
Perdón, hasta ahora venía usando solo los applymovement, cómo es la estructura del movesprite2? No encontré en el índice de tutoriales del foro D:
Sí, no importa, el caso es que pongas la variable que corresponda para que se ejecute cuando corresponda. Así que sí, lo único sería hacer ese cambio.

Sobre la otra pregunta, sinceramente no entiendo a lo que te refieres. Poner el movesprite2 en el script de nivel es para que el mini se mueva a una nueva posición cuando se cumpla el requisito que sea. Es decir, para que deje de estar en medio. Pero no puedes utilizar un applymovement en un script de nivel de tipo 03, básicamente porque no los ejecuta. Pero vamos, que no sé exactamente a qué te refieres. Tendrías que explicarlo mejor.
 
Perdón si me expresé mal, a lo que me refiero es como se escribe el comando movesprite2, es como el movesprite?

movesprite 0x(núnero de persona) 0x(posición X) 0x(posición Y)

Aun soy muy noob en estos temas D: de hecho, ando leyendo como insertar el script de nivel 03 XD
 

Javi4315

Babyface
Miembro de honor
Perdón si me expresé mal, a lo que me refiero es como se escribe el comando movesprite2, es como el movesprite?

movesprite 0x(núnero de persona) 0x(posición X) 0x(posición Y)

Aun soy muy noob en estos temas D: de hecho, ando leyendo como insertar el script de nivel 03 XD
Si no me equivoco sí son los mismos parámetros en ambos. Pero vamos, XSE te lo dice en tiempo real o pulsando F1 para entrar en la lista de comandos.

Si no sabes hacer scripts de nivel, puedes pasarte por mi tutorial, está incluido en el macrotutorial (está como importante en la zona de tutoriales).
 
Javi4315♪;325172 dijo:
Si no me equivoco sí son los mismos parámetros en ambos. Pero vamos, XSE te lo dice en tiempo real o pulsando F1 para entrar en la lista de comandos.

Si no sabes hacer scripts de nivel, puedes pasarte por mi tutorial, está incluido en el macrotutorial (está como importante en la zona de tutoriales).
Si si, estoy leyéndolo desde hace un ratito :33 pero intentando adaptarlo a script de nivel 03
Gracias :D!
 
Estado
Cerrado para nuevas respuestas.
Arriba