Xabier2012
Usuario mítico
Special
Un special es un comando el cual ejecutará un evento pre-programado del juego. Esto quiere decir que el juego tiene diferentes "specials" los cuales harán diferentes eventos como curar tus pokémons o activar la dex nacional.
El comando a usar es simple:
Código:
special 0x(num del special)
special 0x0 - Heal Pokemon
special 0x3C - Access Bill's PC (FR/LG)
special 0x98 - Going up to Mountain (R/S)
special 0x9C - Wally Catch (R/S)
special 0x9F - choose A Pokemon (R/S)
special 0xE0 - PokeBlock Case (R/S)
special 0x10F - Restart Game
special 0x110 - Hall of Fame and Credits
special 0x111 - Elevator Animation
special 0x119 - Groudon's Orb effect (R/S)
special 0x131 - Earthquake (R/S)
special 0x132 - Show Floors
special 0x133 - Long Earthquake (Emerald)
special 0x136 - Earthquake (FR/LG)
special 0x137 - Lava Battle
special 0x13D - Short Earthquake (Emerald)
special 0x156 - Battle with Ghost (FR/LG)
special 0x157 - Get on Bike (FR/LG)
special 0x161 - Start Surfing (FR/LG)
special 0x166 - Nickname
special 0x16F - Activate National Dex (FR/LG)
special 0x17B - Seagallop Animation
special 0x191 - SS. Anne Leaving
special 0x1F3 - Activate National Dex (Emerald)
special 0x3C - Access Bill's PC (FR/LG)
special 0x98 - Going up to Mountain (R/S)
special 0x9C - Wally Catch (R/S)
special 0x9F - choose A Pokemon (R/S)
special 0xE0 - PokeBlock Case (R/S)
special 0x10F - Restart Game
special 0x110 - Hall of Fame and Credits
special 0x111 - Elevator Animation
special 0x119 - Groudon's Orb effect (R/S)
special 0x131 - Earthquake (R/S)
special 0x132 - Show Floors
special 0x133 - Long Earthquake (Emerald)
special 0x136 - Earthquake (FR/LG)
special 0x137 - Lava Battle
special 0x13D - Short Earthquake (Emerald)
special 0x156 - Battle with Ghost (FR/LG)
special 0x157 - Get on Bike (FR/LG)
special 0x161 - Start Surfing (FR/LG)
special 0x166 - Nickname
special 0x16F - Activate National Dex (FR/LG)
special 0x17B - Seagallop Animation
special 0x191 - SS. Anne Leaving
special 0x1F3 - Activate National Dex (Emerald)
Por ejemplo en Rojo Fuego si ejecutamos el special 0x3C, se nos abrirá el pc de bill.
Waitstate
Cuando utilizamos un special es recomendable poner después un waitstate para que se acabe de ejecutar el special antes de seguir leyendo código. Es imprescindible en eventos como al poner el mote a un pokemon.
Código:
special 0x9E
waitstate
Terremotos
El efecto del terremoto se consigue mediante un special y modificar unas variables que tiene el juego para este evento.
Para explicaros el terremoto, me voy a dar el lujo de coger de ejemplo el script del señor @Gut_Bro, el cual lo explicó en su momento perfectamente y me gustaría entrar en detalle. El código del terremoto es este:
Código:
#dynamic 0x740000
'---------------
#org @start
sound 0x4B 'Efecto de sonido
setvar 0x8004 0x2 'Movimiento Y
setvar 0x8005 0x2 'Movimiento X
setvar 0x8006 0x16 'Repeticiones
setvar 0x8007 0x3 'Velocidad
special 0x136 'Ejecutar el temblor
waitstate
msgbox @mensaje MSG_NORMAL
end
'---------------
#org @mensaje
= [PLAYER]: ¡Waaaaah!\nEstúpidos temblores[.]
Cada terremoto es a gusto de la persona que lo quiera hacer. Lo normal es variar las repeticiones para hacerlo más largo o más corto, pero depende de vosotros.
Con el special 0x136 ejecutamos el terremoto y con el waitstate esperará a que se termine de ejecutar el terremoto para decir el msgbox. No es complicado.
Fadescreen
Con este comando podremos poner la pantalla de color negro o blanco. Los fadescreen disponibles son estos:
Código:
fadescreen 0x0 (De negro a normal)
fadescreen 0x1 (De normal a negro)
fadescreen 0x2 (De blanco a normal)
fadescreen 0x3 (De normal a blanco)
Cabe destacar que los diálogos que tengamos aunque la pantalla esté en negro o blanco se verán igual.
Pantalla color blanco-negro
Esto no tiene nada que ver con un fadescreen, sino con un comando llamado writebytetooffset, el cual en esta escuela no vamos a entrar en su función ni en como manejarnos con él, pero os diré como se crea el efecto por si lo queréis hacer (como por ejemplo para representar un flashback).
Es simple, si queremos que la pantalla se ponga blanco-negro, pondremos este comando:
Código:
writebytetooffset 0x1 0x2036E28
Código:
writebytetooffset 0x0 0x2036E28
Hidesprite
Como indica ese "hide", este comando sirve para ocultar un sprite. Normalmente se utiliza en eventos que tu quieres que un personaje desaparezca caminado, por ejemplo. Pero en realidad este comando solo sirve para hacer visible el sprite temporalmente. Funciona de esta forma:
Código:
hidesprite 0x(Person event no)
Por ejemplo, si a una persona en person id (en AM) le ponemos la flag 0x200, si nosotros en un script activamos dicha flag, desactivaremos el mini que tiene esa flag y no volverá aparecer, pero esto solo se hará cuando se refresque el mapa. Si queremos que el efecto sea inmediato tendremos que poner un hidesprite con el person event no de la persona que queremos que desaparezca, de tal forma que tendríamos que ponerlo así:
Código:
hidesprite 0x3
setflag 0x200
Showsprite
Esto es igual al hidesprite, pero para minis que ya están desactivados. De tal forma que si queremos que un mini vuelva a aparecer, tendremos que poner:
Código:
showsprite 0x(person event no)
TAREA
Os lo voy a poner fácil y guay para que entreguéis todos. Simplemente hacer un script donde haya un special y un terremoto. Cuanto más original, más nota.
@Tervaxx @Toni @rdoble @AwesomeCS @RafaSc3 @LluviaElemental @AlexanderWWE @Axnez @♦ZeØn♦ @jfem
*La tardanza de esta clase se debe a que hoy se ha caido internet en mi zona
Última edición: