Créer des pouvoirs
Système de scripting d'EliteMobs
La page suivante décrit comment créer des Elite Scripts !
Il s'agit d'une fonctionnalité avancée qui nécessite une connaissance approfondie d'EliteMobs.
Remarque : Les Elite Scripts peuvent être ajoutés en tant que fichiers de pouvoir ou dans des fichiers de boss personnalisés ! S'ils sont utilisés comme fichiers de pouvoir, vous pouvez les ajouter comme des pouvoirs normaux aux boss en utilisant le paramètre de configuration powers des Boss Personnalisés, comme d'habitude.
Ajouter un EliteScript
Pour commencer à ajouter un EliteScript à un boss, ajoutez l'entrée suivante au fichier du boss :
eliteScript:
Remarque : Ce qui suit est extrêmement sensible à la casse et aux espaces ! Assurez-vous que vos espaces, sauts de ligne et formatage général correspondent aux exemples !
Maintenant que le début de votre script est déclaré, vous pouvez ajouter votre script spécifique. Pour cet exemple, nous allons créer un script appelé Example :
eliteScript:
Example:
Les EliteScripts ont 5 sections différentes : Events, Conditions, Zones, Actions et Cooldowns. Seul Actions est obligatoire.
Examinons un exemple simple :
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: PUSH
Target:
targetType: SELF
vValue: 0,0.5,0
Cooldowns:
local: 60
global: 20
Ce script fait qu'un elite est poussé vers le haut lorsqu'il est frappé par un joueur, et ne le refera pas pendant 3 secondes (et empêchera d'autres pouvoirs de se déclencher pendant 1 seconde en raison des paramètres de la section Cooldowns).
Maintenant que vous connaissez le format général de la structure des scripts, il est temps d'apprendre ce que vous pouvez faire avec chaque section !
Events
Cliquez sur le lien ci-dessus pour apprendre à utiliser les événements !
Targets
Cliquez sur le lien ci-dessus pour apprendre à utiliser les cibles !
Actions
Cliquez sur le lien ci-dessus pour apprendre à utiliser les actions !
Zones
Cliquez sur le lien ci-dessus pour apprendre à utiliser les zones !
Conditions
Cliquez sur le lien ci-dessus pour apprendre à utiliser les conditions !
Cooldowns
Cliquez sur le lien ci-dessus pour apprendre à utiliser les temps de recharge !
Ajouter plusieurs EliteScripts
Vous pouvez avoir plusieurs actions sur un événement, mais que faire si vous voulez plusieurs scripts sur le même boss ? C'est aussi simple que de créer une nouvelle entrée de script ! Développons l'exemple précédent et ajoutons un autre 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
Dans cet exemple, nous avons ajouté un second script appelé Example2. Example2 mettra le feu au joueur qui est endommagé par le boss, car le targetType est défini sur DIRECT_TARGET.
Le cooldown de ce script est fixé à 200 ticks, ce qui signifie que le boss ne pourra enflammer les joueurs que toutes les 10 secondes.
Créer des pouvoirs autonomes
Les pouvoirs autonomes sont presque entièrement composés de l'Elite Script. Il n'y a que deux champs optionnels. N'oubliez pas que pour que les pouvoirs autonomes fonctionnent, ils doivent être placés dans le dossier ~plugins/EliteMobs/powers.
Exemple de pouvoir autonome :
isEnabled: true
powerType: UNIQUE
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: PUSH
Target:
targetType: SELF
vValue: 0,.3,0
Cooldowns:
local: 60
global: 20
isEnabled
Comme partout ailleurs dans le plugin, définit si le pouvoir est activé.
powerType
Le type de pouvoir définit comment le pouvoir est attribué. Les valeurs sont :
UNIQUE: Le pouvoir ne sera appliqué qu'aux boss personnalisés qui ont le pouvoir défini dans la section des pouvoirs.DEFENSIVE/MISCELLANEOUS/OFFENSIVE: N'IMPORTE QUEL elite pourra obtenir ces pouvoirs, et ils compteront pour un sous-ensemble spécifique de pouvoirs.MAJOR_ZOMBIE,MAJOR_SKELETON,MAJOR_BLAZE,MAJOR_ENDERMAN,MAJOR_GHAST: Seuls les elites du type d'entité approprié pourront apparaître naturellement avec ces pouvoirs, et ils compteront comme pouvoirs majeurs.
effect
Définit l'effet visuel ou le matériau utilisé par le pouvoir. Ceci est utilisé par certains pouvoirs codés en dur pour définir leur effet visuel de particules ou de matériau.
| Clé | Valeurs | Par défaut |
|---|---|---|
effect | String | none |
powerCooldown
Définit le temps de recharge, en ticks, pour le pouvoir individuel. Cela contrôle la fréquence à laquelle ce pouvoir spécifique peut se déclencher.
| Clé | Valeurs | Par défaut |
|---|---|---|
powerCooldown | Integer | 0 |
globalCooldown
Définit le temps de recharge global, en ticks, partagé entre tous les pouvoirs. Après le déclenchement de ce pouvoir, aucun autre pouvoir ne peut se déclencher tant que le cooldown global n'a pas expiré.
| Clé | Valeurs | Par défaut |
|---|---|---|
globalCooldown | Integer | 0 |
