Registrarse

[RH - Scripting] [ESCUELA DE SCRIPTS] Warps / Moves

Estado
Cerrado para nuevas respuestas.

Xabier2012

Usuario mítico



Warp

Como sabréis por utilizar el AM, un warp es un evento que se representa con una "W" y que indica un punto donde el personaje puede transportarse, comunicando un mapa con otro. Mediante script, también podemos hacer "waprs" para que el personaje se mueva a otro warp o zona determinada, y estos son los pararemos de un warp en un script:

Código:
warp 0x(Banco) 0x(Numero) 0x(Nº warp) 0x0 0x0
Cada palabra es un número que en función al warp al que nos queremos transportar variará.

Banco hace referencia al número de banco del mapa, que es el primer número con el que identificamos un mapa. Vamos a poner de ejemplo que queremos transportarnos al laboratorio del profesor Oak, el cual está en la carpeta 4, lo que quiere decir que su número de banco es 4.

Con número nos referimos a el número de la división de dicho banco de mapa. Por ejemplo, es el 4 se guardan todas las casas de pueblo paleta, y la del lab es la 4.3, entonces nuestro número de mapa será el 3.

Con nº de warp nos referimos a que warp nos queremos transportar. Así como en AM al configurar los warps tenemos que poner a que warp nos transportamos, aquí también hay que poner un número de warp. En este caso el warp del centro del lab de Oak es el nº 0, por lo que pondremos un 0.

Entonces el warp quedaría así:

Código:
warp 0x4 0x3 0x0 0x0 0x0
Al utilizar este código en un script nuestro personaje se teletrasportará ahí.


Warp a unas coordenadas

Podemos en vez de transportarnos a un warp determinado, transportarnos a unas coordenadas determinadas que nosotros le demos al comando, y para eso utilizaremos los dos ultimos ceros.

Si nos fijamos en el AM, cuando ponemos el ratón sobre un tile, abajo a la izquierda nos aparecen las coordenadas de ese cuadrado, y son estas coordenadas "x" e "y" las que tenemos que coger para saber el punto al que nos queremos transportar. El warp quedaría así:

Código:
warp 0x(banco) 0x(numero) 0xFF 0x(X) 0x(Y)
El banco y el número quedan igual para saber a que mapa nos referimos, en vez de poner el nº de warp, ponemos FF, que le dice al juego que queremos transportarnos a una coordenada, y en X e Y ponemos la coordenada correspondiente.

Si el ejemplo del lab de Oak lo ponemos en coordenadas quedaría así:

Código:
warp 0x4 0x3 0xFF 0x6 0xC
De esta forma no necesitamos warp para transportarnos.


Movesprite

Con este comando podremos mover un sprite del mapa donde ejecutemos nuestro script a una determinada coordenada.

Como ya expliqué arriba como mirar la coordenada de algún sitio, este comando será muy fácil de explicar:

Código:
movesprite 0x(nº minisprite) 0x(X) 0x(Y)
Se intuye como funciona. Nº minisprite es el people number del AM, y X e Y son las coordenadas del punto al que queremos que se transporte dicho mini.


Abrir puertas

Y aprovechando que estamos trabajando con coordenadas, que mejor idea que explicar los comandos para abrir y cerrar puertas mediante un script, que por ejemplo, nos puede servir para simular que alguien sale de casa o entra.

Imaginemos que queremos abrir la puerta del lab de oak, entoncers utilizaremos este comando:

Código:
setdooropened 0x10 0x0D
La base es setdooropened 0xX 0xY. Como podéis intuir, hemos puesto las coordenadas de donde exactamente está la puerta en el mapa.

¿No se abre?

Bueno, esto es algo como los comando de setweather, tenemos que poner un segundo comando que ejecutará la orden de abrir la puerta, que es:

Código:
doorchange
Entonces si ponemos estos dos comandos seguidos en nuestro script la puerta del lab de oak se abrirá sin ningún problema.


Cerrar puertas

Si abrimos una puerta, esta después del doorchange siempre quedará abierta (hasta que cambiemos de mapa al menos), y visualmente queda mal. Entonces tendremos que utilizar el comando de cerrar una puerta para que esta haga la animación de cerrarse. Y el proceso es exactamente igual que el anterior.

Código:
setdoorclosed 0x10 0xD
doorchange
Volvemos a poner la coordenada de la puerta, y con setdoorclosed y luego el doorchange se cerrará.


Preguntas Frecuentes

Mi script no funciona luego de un warp

Cuando utilizas un warp, refrescas el mapa, y cuando refrescas la pantalla el script deja de funcionar, es así.

Las puertas no hacen sonido

No lo tiene que hacer. Pon junto a tu doorchnage el sound correspondiente a abrir/cerrar puerta que ya hemos visto en otra lección, de esta forma quea bien el efecto.
@Tervaxx @Toni @rdoble @AwesomeCS @RafaSc3 @LluviaElemental @AlexanderWWE @Axnez @♦ZeØn♦ @jfem
 
Estado
Cerrado para nuevas respuestas.
Arriba