Crear Poderes
Sistema de Scripting de EliteMobs
La siguiente página describe cómo crear Elite Scripts.
Esta es una función avanzada y requiere un conocimiento profundo de EliteMobs.
Nota: Los Elite Scripts se pueden agregar como archivos de poder o a archivos de jefes personalizados. Si se usan como archivos de poder, puedes agregarlos como poderes normales a los jefes usando la configuración powers de los Jefes Personalizados, como de costumbre.
Agregar un EliteScript
Para comenzar a agregar un EliteScript a un jefe, agrega la siguiente entrada al archivo del jefe:
eliteScript:
Nota: Lo siguiente es extremadamente sensible a mayúsculas/minúsculas y espacios. Asegúrate de que tus espacios, saltos de línea y formato general coincidan con los ejemplos.
Ahora que tienes declarado el inicio de tu script, puedes agregar tu script específico. Para este ejemplo, vamos a crear un script llamado Example:
eliteScript:
Example:
Los EliteScripts tienen 5 secciones diferentes: Events, Conditions, Zones, Actions y Cooldowns. Solo Actions es obligatorio.
Veamos un ejemplo sencillo:
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: PUSH
Target:
targetType: SELF
vValue: 0,0.5,0
Cooldowns:
local: 60
global: 20
Este script hace que un elite sea empujado hacia arriba cuando es golpeado por un jugador, y no lo hará de nuevo durante 3 segundos (y evitará que otros poderes se activen durante 1 segundo debido a la configuración del Cooldown).
Ahora que conoces el formato general de cómo se estructuran los scripts, es hora de aprender qué puedes hacer con cada sección.
Events
Haz clic en el enlace de arriba para aprender a usar los eventos.
Targets
Haz clic en el enlace de arriba para aprender a usar los objetivos.
Actions
Haz clic en el enlace de arriba para aprender a usar las acciones.
Zones
Haz clic en el enlace de arriba para aprender a usar las zonas.
Conditions
Haz clic en el enlace de arriba para aprender a usar las condiciones.
Cooldowns
Haz clic en el enlace de arriba para aprender a usar los tiempos de reutilización.
Agregar múltiples EliteScripts
Puedes tener múltiples acciones en un evento, pero ¿qué pasa si quieres múltiples scripts en el mismo jefe? Es tan simple como crear una nueva entrada de script. Expandamos el ejemplo anterior y agreguemos otro script:
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: PUSH
Target:
targetType: SELF
vValue: 0,0.5,0
Cooldowns:
local: 60
global: 20
Example2:
Events:
- PlayerDamagedByEliteMobEvent
Actions:
- action: SET_ON_FIRE
Target:
targetType: DIRECT_TARGET
Cooldowns:
local: 200
global: 60
En este ejemplo hemos agregado un segundo script llamado Example2. Example2 prenderá fuego al jugador que sea dañado por el jefe, esto se debe a que el targetType está configurado como DIRECT_TARGET.
El cooldown de este script está configurado en 200 ticks, lo que significa que el jefe solo podrá prender fuego a los jugadores cada 10 segundos.
Crear poderes independientes
Los poderes independientes están compuestos casi en su totalidad por el Elite Script. Solo hay dos campos opcionales. No olvides que para que los poderes independientes funcionen, deben colocarse en la carpeta ~plugins/EliteMobs/powers.
Ejemplo de poder independiente:
isEnabled: true
powerType: UNIQUE
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: PUSH
Target:
targetType: SELF
vValue: 0,.3,0
Cooldowns:
local: 60
global: 20
isEnabled
Al igual que en el resto del plugin, establece si el poder está habilitado.
powerType
El tipo de poder establece cómo se asigna el poder. Los valores son:
UNIQUE: El poder solo se aplicará a jefes personalizados que tengan el poder configurado en la sección de poderes.DEFENSIVE/MISCELLANEOUS/OFFENSIVE: CUALQUIER elite podrá obtener estos poderes, y contarán para un subconjunto específico de poderes.MAJOR_ZOMBIE,MAJOR_SKELETON,MAJOR_BLAZE,MAJOR_ENDERMAN,MAJOR_GHAST: Solo los elites del tipo de entidad adecuado podrán aparecer naturalmente con estos poderes, y contarán como poderes mayores.
effect
Establece el efecto visual o material usado por el poder. Esto es utilizado por algunos poderes codificados para definir su efecto visual de partículas o material.
| Clave | Valores | Predeterminado |
|---|---|---|
effect | String | none |
powerCooldown
Establece el tiempo de reutilización, en ticks, para el poder individual. Esto controla con qué frecuencia puede activarse este poder específico.
| Clave | Valores | Predeterminado |
|---|---|---|
powerCooldown | Integer | 0 |
globalCooldown
Establece el tiempo de reutilización global, en ticks, compartido entre todos los poderes. Después de que este poder se active, ningún otro poder puede activarse hasta que expire el cooldown global.
| Clave | Valores | Predeterminado |
|---|---|---|
globalCooldown | Integer | 0 |
