Registrarse

[PEDIDO] Script de volver atras

Estado
Cerrado para nuevas respuestas.

Pistis

Usuario mítico
Vale lo que quiero hacer es que cuando el personaje sin un pokemon se quiera ir del pueblo diga "Debo ir a por mi primer pokemon." y de un paso hacia atras ,vamos bloquear el paso y cuando tengas un pokemon que se pueda pasar :D

PD: Lo siento por el exceso de pedidos pero es que esto del scrpting se me da muy mal intentare aprender un poco mas :D
 

Isra

Más raro que algo raro.
Si lo que quieres es aprender, mirar este tutorial es tu deber.

A lo que me refiero. Script de gatillo que está en nivel fácil número 6.
Recuerda que también tendrás que hacer uso de una flag una vez que te de el pokémon para que dicho script de gatillo no salte más.

Inténtalo aprendiendo eso y si no sabes como hacerlo pasas tu script y yo te lo intento corregir;)

PD : No te preocupes, yo por lo menos estoy para ayudar jajaja Así que cualquier duda con gusto te las respondo.
 

Pistis

Usuario mítico
Si lo que quieres es aprender, mirar este tutorial es tu deber.

A lo que me refiero. Script de gatillo que está en nivel fácil número 6.
Recuerda que también tendrás que hacer uso de una flag una vez que te de el pokémon para que dicho script de gatillo no salte más.

Inténtalo aprendiendo eso y si no sabes como hacerlo pasas tu script y yo te lo intento corregir;)

PD : No te preocupes, yo por lo menos estoy para ayudar jajaja Así que cualquier duda con gusto te las respondo.
Yo se hacer esos script lo que pasa es k nose como poner que vuelva para atras ni el codigo ra cuando me den el poke se vaya el script
 

Isra

Más raro que algo raro.
Yo se hacer esos script lo que pasa es k nose como poner que vuelva para atras ni el codigo ra cuando me den el poke se vaya el script
Mira, te lo voy a explicar más fácil.

En el script de gatillo pones un checkflag.
Al entregar el pokémon pones esa flag.

Esa parte fácil. Y ya lo otro es un applymovement 0x0 @mov1
Siendo 0x0 el protagonista y @mov1 el offset donde van los movimientos.

applymovement 0x0 @mov1

#org @mov1
raw 0x8 'Paso abajo
raw 0xFE 'Termina movimiento
 

Jack Johnson

Hoenn Adventures Dev
Miembro del equipo
Administrador
¡Hola!
Me voy a incrustar en tu tema para recomendarte la herramienta Move It. Es una especie de base de datos con los códigos de cada movimiento para tu applymovement. De esta forma no tendrás que buscarlo en Gúguel cada vez ;)

La herramienta es gratuita y la tienes en la web, concretamente, aquí. No obstante, te recomiendo que uses la versión 1.2, ya que la 1.3 está dando problemas a algunos usuarios.
 

Pistis

Usuario mítico
Mira, te lo voy a explicar más fácil.

En el script de gatillo pones un checkflag.
Al entregar el pokémon pones esa flag.

Esa parte fácil. Y ya lo otro es un applymovement 0x0 @mov1
Siendo 0x0 el protagonista y @mov1 el offset donde van los movimientos.
Mira puse este codigo:
#dynamic 0x800000

#org @inicio
lock
faceplayer
checkflag 0x828
msgbox @mensaje
applymovement 0x0 @mov1
setflag 0x828
release
end

#org @mensaje
= Deberia ir a por mi primer\nPokemon.

#org @mov1
#raw 0x12 'Step Left (Normal)
#raw 0xFE 'End of Movements

Y SE ME FREEZEA TODO xD

PD:La flag es 828 por que si no no me daban el menu de los pokes

PD2:Solo he puesto en AMap el desconocido que es 0003 los otros no los toque por que no se que hay que poner.

¡Hola!
Me voy a incrustar en tu tema para recomendarte la herramienta Move It. Es una especie de base de datos con los códigos de cada movimiento para tu applymovement. De esta forma no tendrás que buscarlo en Gúguel cada vez ;)

La herramienta es gratuita y la tienes en la web, concretamente, aquí. No obstante, te recomiendo que uses la versión 1.2, ya que la 1.3 está dando problemas a algunos usuarios.
Gracias pero yo ya usaba esa herraminta y tengo la version 1.2 y me va bien sin fallos :D
 

Jack Johnson

Hoenn Adventures Dev
Miembro del equipo
Administrador
Es posible que si quieres mover al protagonista debas cambiar el número de persona en el applymovement:
Código:
applymovement 0x0 @mov1
por
Código:
applymovement 0xFF @mov1
 

KevinXDE

Usuario mítico
Intenta esto:

#dynamic 0x800000
#org @inicio
lockall
faceplayer
checkflag 0x828
msgbox @mensaje 0x6
applymovement 0xFF @mov1
waitmovement 0x0
setflag 0x828
releaseall
end

#org @mensaje
= Deberia ir a por mi primer\nPokemon.

#org @mov1
#raw 0x12 'Step Left (Normal)
#raw 0xFE 'End of Movements
 

Pistis

Usuario mítico
Intenta esto:

#dynamic 0x800000
#org @inicio
lockall
faceplayer
checkflag 0x828
msgbox @mensaje 0x6
applymovement 0xFF @mov1
waitmovement 0x0
setflag 0x828
releaseall
end

#org @mensaje
= Deberia ir a por mi primer\nPokemon.

#org @mov1
#raw 0x12 'Step Left (Normal)
#raw 0xFE 'End of Movements
No me sale el script mira te paso esta imagen para que veas como lo tengo todo :D
 

KevinXDE

Usuario mítico
Eso es porque en A Map tiene la Var Value a 0003. Para que una flag se active siempre debe ser 0000, y para que se desactive, otro valor cualquiera. Por lo tanto esa Flag esta desactivada y el script no salta ^^. Cambia el Var Value por 0000 y dime si va
 

Pistis

Usuario mítico
Eso es porque en A Map tiene la Var Value a 0003. Para que una flag se active siempre debe ser 0000, y para que se desactive, otro valor cualquiera. Por lo tanto esa Flag esta desactivada y el script no salta ^^. Cambia el Var Value por 0000 y dime si va
Nada no se activa e cambiado eso a 0000 y sigue sin saltarme el script :C
 

Isra

Más raro que algo raro.
Código:
#dynamic 0x800000 
#org @inicio
checkflag 0x828
if 0x1 goto @nada 'Necesitas que al comprobar la flag vaya a algun sitio
msgbox @mensaje 0x6
applymovement 0xFF @mov1
waitmovement 0x0
release
end

#org @mensaje
= Deberia ir a por mi primer\nPokemon.

#org @nada
release
end

#org @mov1
#raw 0x12 'Step Left (Normal)
#raw 0xFE 'End of Movements
La flag 0x828 no va ahí. Va donde te dan el pokémon.

Código:
#org @inicio
lock
faceplayer
checkflag 0x828 'Para no utilizar 200 flags en este caso se puede reusar
if 0x1 goto @nada
msgbox @mensaje1 0x2
setflag 0x828 'Aqui es donde la activas
release
end

#org @nada
release
end

#org @mensaje1
=Ma-yo-neesa 'Esto es tontería xD pero algo debia de poner
El segundo script es como una base para el script del profesor y que te hagas una idea. Puedes aumentarlo o hacer otro a tu gusto xD lo hice en 2 minutos. Y el primer script no se por que no te vá (necesitara puleva).


PD : En var number pon otro numero. 4000 o así creo que iba bien. Y var value 0000.
 

Pistis

Usuario mítico
Código:
#dynamic 0x800000 
#org @inicio
checkflag 0x828
if 0x1 goto @nada 'Necesitas que al comprobar la flag vaya a algun sitio
msgbox @mensaje 0x6
applymovement 0xFF @mov1
waitmovement 0x0
release
end

#org @mensaje
= Deberia ir a por mi primer\nPokemon.

#org @nada
release
end

#org @mov1
#raw 0x12 'Step Left (Normal)
#raw 0xFE 'End of Movements
La flag 0x828 no va ahí. Va donde te dan el pokémon.

Código:
#org @inicio
lock
faceplayer
checkflag 0x828 'Para no utilizar 200 flags en este caso se puede reusar
if 0x1 goto @nada
msgbox @mensaje1 0x2
setflag 0x828 'Aqui es donde la activas
release
end

#org @nada
release
end

#org @mensaje1
=Ma-yo-neesa 'Esto es tontería xD pero algo debia de poner
El segundo script es como una base para el script del profesor y que te hagas una idea. Puedes aumentarlo o hacer otro a tu gusto xD lo hice en 2 minutos. Y el primer script no se por que no te vá (necesitara puleva).


PD : En var number pon otro numero. 4000 o así creo que iba bien. Y var value 0000.
GRACIAS me funcione perfecto pero solo utilice el codigo de arriba ¿el de abajo para que es? xD Pero bueno funciona perfecto no me deja passar sin pokemon y cuando lo cojo me deja pasar :D GRACIAS
 

Laquin

Usuario mítico
Intenta esto:

#dynamic 0x800000
#org @inicio
lockall
faceplayer
checkflag 0x828
msgbox @mensaje 0x6
applymovement 0xFF @mov1
waitmovement 0x0
setflag 0x828
releaseall
end

#org @mensaje
= Deberia ir a por mi primer\nPokemon.

#org @mov1
#raw 0x12 'Step Left (Normal)
#raw 0xFE 'End of Movements
¿Para qué pones un checkflag si luego no usas el if? Es inútil, ya que estás gastando espacio en la rom para nada. Si comparas una flag debes poner qué pasa si el valor de esa flag es 0xX ;)

Sobre el número de la flag, @Sayer301! lo dijo todo.
------------------------------------------------------------
Hice un script como el que necesitas, así era:
Código:
#dynamic 0x800000
#org @inicio
msgbox @texto 0x6 '"¡Necesito un pokémon para irme!"
applymovement MOVE_PLAYER @app
end


'---------
' Strings
'---------
#org @texto
= ¡Necesito un pokémon para irme!

#org @app
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements
Solo debes cambiar los movimientos si necesitas.

Te preguntarás: ¿La flag? Pues no. Aunque no haya puesto flag, he puesto la variable:

Si pongo ahí la variable 0x6FCD(o una cualquiera que esté libre) y var value 0, lo que pasa es que si 0x6FCD es igual a 0x0, va a ejecutar el script. Pero luego, en el otro script que harás(supongo) de que te dan el pokémon, harás que la variable sea igual a 0x1, o sea igual 0x643, o cualquier número que no sea el 0x0(Eso se hace "setvar 0xVariable 0xValor. Entonces volveras a pisar es script y no ejecutará, ¿por qué no? Porque 0x6FCD no es igual a 0x0.

¡Saludos!;)

EDIT: ¡No gastéis flags en estas cosas, usad vars! (Aunque en este caso se puede usar la 0x828, ya que es una flag especial. Una flag libre no la uséis en esto)
 

Isra

Más raro que algo raro.
¿Para qué pones un checkflag si luego no usas el if? Es inútil, ya que estás gastando espacio en la rom para nada. Si comparas una flag debes poner qué pasa si el valor de esa flag es 0xX ;)
------------------------------------------------------------
Hice un script como el que necesitas, así era:
Código:
#dynamic 0x800000
#org @inicio
msgbox @texto 0x6 '"¡Necesito un pokémon para irme!"
applymovement MOVE_PLAYER @app
end


'---------
' Strings
'---------
#org @texto
= ¡Necesito un pokémon para irme!

#org @app
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements
Te preguntarás: ¿La flag? Pues no. Aunque no haya puesto flag, he puesto la variable:

Si pongo ahí la variable 0x6FCD(o una cualquiera que esté libre) y var value 0, lo que pasa es que si 0x6FCD es igual a 0x0, va a ejecutar el script. Pero luego, en el otro script que harás(supongo) de que te dan el pokémon, harás que la variable sea igual a 0x1, o sea igual 0x643, o cualquier número que no sea el 0x0(Eso se hace "setvar 0xVariable 0xValor. Entonces volveras a pisar es script y no ejecutará, ¿por qué no? Porque 0x6FCD no es igual a 0x0.

¡Saludos!;)

EDIT: ¡No gastéis flags en estas cosas, usad vars!

En ningún momento malgasta flags debido a que flag 0x828 ya es una flag predefinida en el juego y lo que hace es reciclarla de una manera bastante inteligente.


Me alegro que te haya funcionado y el segundo script es una base para lo del profesor xD por si no tenías uno. @Tervaxx

Cualquier duda ya sabes:D aqui se esta para ayudar.
 

Sayer301!

UnityLord!
Miembro de honor
@Isra @Laquin os estais colando, bueno Laquin iba bien encaminado, pero se ha dejado dominar por informacion falsa XD.

Primero de todo no puedes poner una flag, os pongais como os pongais lo que estais poniendo es una Variable, cual? la 828 que esta sobreescribiendo la entrada en la RAM de la flag 828, pero no solo eso, si no que además las flags solo tienen estado positivo o negativo, por lo que con un "FF" sobra para definir sus estados, mientras que una variable tiene "FFFF" estados,por lo cual estais sobreescribiendo en la RAM.

El metodo adecuado es el que comenta Laquin en su post anterior, pero también se ha pasado, las variables seguras sin que sobreescriban Specials ni nada raro son de la 4000 a la 40FF.
 

Isra

Más raro que algo raro.
@Isra @Laquin os estais colando, bueno Laquin iba bien encaminado, pero se ha dejado dominar por informacion falsa XD.

Primero de todo no puedes poner una flag, os pongais como os pongais lo que estais poniendo es una Variable, cual? la 828 que esta sobreescribiendo la entrada en la RAM de la flag 828, pero no solo eso, si no que además las flags solo tienen estado positivo o negativo, por lo que con un "FF" sobra para definir sus estados, mientras que una variable tiene "FFFF" estados,por lo cual estais sobreescribiendo en la RAM.

El metodo adecuado es el que comenta Laquin en su post anterior, pero también se ha pasado, las variables seguras sin que sobreescriban Specials ni nada raro son de la 4000 a la 40FF.

Pero sayer, si la flag 828 es la del menú pokemon. ¿No puede usarla para hacer un simple checkflag? No se que sobre escribe en la RAM si es un simple checkflag XD
 

Sayer301!

UnityLord!
Miembro de honor
Pero sayer, si la flag 828 es la del menú pokemon. ¿No puede usarla para hacer un simple checkflag? No se que sobre escribe en la RAM si es un simple checkflag XD
Es que no te hablo de un checkflag, ya que eso implicaria tener el script de gatillo siempre activo y queda feisimo, cuando pisas un script de gatillo que has usado el metodo "check" y no se ha desactivado de verdad, cuando pasas por encima se produce un "minilag" y queda como el culo, el metodo correcto es asignarle una variable y cambiarle el valor de esta para desactivar el script oficialmente.
 
Estado
Cerrado para nuevas respuestas.
Arriba