Registrarse

[RH - Scripting] Script NPC

Estado
Cerrado para nuevas respuestas.
Hola, me gustaría que me ayudaraís con un script. Lo que quiero hacer con ese script es conseguir que cuando "pises" ese script se mueva un mini en concreto hacia ti, muestre un textbox y luego se vaya. No se si me explico. El problema es que no se como hacer ese script ni que poner, por lo cual no he podido probar con ninguno.

Me gustaria que me orientarais mas o menos en que debo de poner.

Gracias!
 

Kammm

Profesional de WaH

Lunos

Enfrentando a La Organización
Miembro insignia
Hola, me gustaría que me ayudaraís con un script. Lo que quiero hacer con ese script es conseguir que cuando "pises" ese script se mueva un mini en concreto hacia ti, muestre un textbox y luego se vaya. No se si me explico. El problema es que no se como hacer ese script ni que poner, por lo cual no he podido probar con ninguno.

Me gustaria que me orientarais mas o menos en que debo de poner.

Gracias!
Primero que nada y antes que todo, deberias leer uno de los cientos de tutoriales sobre scripting que puedes encontrar en esta comunidad. Te sugiero que le eches un vistazo a la zona de Tutoriales GBA, que es en donde los puedes encontrar.

Ahora, yo dejaré aquí un pequeño ejemplo con comentarios, del cual tambien puedes aprender algunas cosas de manera mas rapida.
Código:
#dynamic 0x071A250 // Busca un offset con espacio libre para insertar este script en la ROM. La busqueda iniciará en 0x71A250.
#org @inicio // Inicia del script
lockall // Bloquea el movimiento de todos los personajes en pantalla.
checkflag 0x200 // Comprueba si este script ya fue ejecutado por el jugador.
if 0x1 goto @end // Si es asi, te lleva a una sección que simplemente contiene un releaseall y un end, para acabar con el script.
applymovement @mov1 0x(ID del Person Event que quieres mover) // Aplica una serie de movimientos especificos en @mov1
waitmovement 0x0 // Espera a que todos los movimientos hayan sido ejecutados antes de proceder.
msgbox @1 0x6 // Msgbox del tipo NPC
applymovement @mov2 0x(ID del Person Event que quieres mover) // Aplica una serie de movimientos especificos en @mov2
waitmovement 0x0 // Espera a que todos los movimientos hayan sido ejecutados antes de proceder.
setflag 0x200
releaseall // Permite que los personajes en pantalla se vuelvan a mover normalmente.
end // Fin del script.

#org @end
releaseall
end

#org @mov1
//Inserta aquí la lista de movimientos que hará que el mini vaya hacia ti
#raw 0xFE // Toda cadena de movimientos necesita terminar con un #raw 0xFE.

#org @mov2
//Inserta aquí la lista de movimientos que hará que el mini se vaya a cualquier otro sitio
#raw 0xFE

#org @1
= Inserte aquí el texto que le quieras dar al mini
 

KERBEROS

Usuario de Platino
yo le pondria despues del setflag, un
fadescreen 0x1
hidesprite oxnumero del mini en am
fadescreen 0x0

para que el mini desaparezca despues
 
Hola de nuevo, he estado mirando tutoriales/guias y además de vuestras respuesta y he hecho el script, pero me da el fallo de que en la línea 8 (applymovement @mov1 0x9999) debo poner #define pero, en los sitios que he mirado no pone nada de deba poner eso. Alguna posible solución.



Código:
#dynamic 0x800000

'---------------
#org @start
lockall
checkflag 0x200
if 0x1 goto @end
applymovement @mov1 0x9999 
waitmovement 0x0
msgbox @1 0x6 
applymovement @mov2 0x9999 
waitmovement 0x0 
setflag 0x200
fadescreen 0x1
hidesprite 0x9999
fadescreen 0x0
releaseall
end

#org @end
releaseall
end

#org @mov1
#raw 0x4 
#raw 0x4 
#raw 0x4 
#raw 0x4 
#raw 0x4 
#raw 0x4 
#raw 0x4 
#raw 0xFE

#org @mov2
#raw 0x5 
#raw 0x5 
#raw 0x5 
#raw 0x5 
#raw 0x5 
#raw 0x5 
#raw 0x5 
#raw 0xFE

#org @1
= ...
 

Ayman

Cazador Sin Recompensa
applymovement @mov1 0x9999
????? por que usas 9999?, acaso el numero de gente es es 9999: Imposible.
applymovement @mov1 0xnumero de gente en advanced map.
Ánimo!
P.D= El numero de gente lo sacas de advanced map clickeando en eventos y le das click al mini y lo ves.
 
Ahora he puesto esto pero, me sigue diciento lo mismo del #define

Código:
applymovement @mov1 0x16
16 porque es el numero de gente.
 

~Criisss

Usuario mítico
Ojo que el número de persona que te da advance map está en decimal y en XSE debes ponerlo en hex, si es 16 deberias poner 0x10 (tenes una calculadora en el mismo XSE)
 
Lo he arreglado y me sigue saliendo el mismo error en la misma línea

Código:
#dynamic 0x800000

'---------------
#org @start
lockall
checkflag 0x200
if 0x1 goto @end
applymovement @mov1 0x10
waitmovement 0x0
msgbox @1 0x6 
applymovement @mov2 0x10
waitmovement 0x0 
setflag 0x200
fadescreen 0x1
hidesprite 0x10
fadescreen 0x0
releaseall
end

#org @end
releaseall
end

#org @mov1
#raw 0x4 
#raw 0x4 
#raw 0x4 
#raw 0x4 
#raw 0x4 
#raw 0x4 
#raw 0x4 
#raw 0xFE

#org @mov2
#raw 0x5 
#raw 0x5 
#raw 0x5 
#raw 0x5 
#raw 0x5 
#raw 0x5 
#raw 0x5 
#raw 0xFE

#org @1
= ...
Y es que si pongo #define en esa linea, me dice que solo puede a ver dos parámetros
 

~Criisss

Usuario mítico
Revisando bien tu código, el error del applymovement es que tenes alreves los parámetros, la forma correcta es asi:

applymovement 0x(ID) @puntero
waitmovement 0x0
 

~Criisss

Usuario mítico
El script no aparenta tener mas errores, eso debe ser porque configuraste mal el gatillo en advance map. ¿Podrias poner una imagen o algo con los datos que completaste? Seguro te falta ponerle una variable, revisa esto de los tutoriales
 
El script no aparenta tener mas errores, eso debe ser porque configuraste mal el gatillo en advance map. ¿Podrias poner una imagen o algo con los datos que completaste? Seguro te falta ponerle una variable, revisa esto de los tutoriales
Es que no entiendo lo que hay que poner ahí, pro mucho que miro los tutoriales no lo entiendo.
 
Estado
Cerrado para nuevas respuestas.
Arriba