Aller au contenu principal

Créer des pouvoirs

webapp_banner.jpg

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

Events

Cliquez sur le lien ci-dessus pour apprendre à utiliser les événements !

Targets

Targets

Cliquez sur le lien ci-dessus pour apprendre à utiliser les cibles !

Actions

Actions

Cliquez sur le lien ci-dessus pour apprendre à utiliser les actions !

Zones

Zones

Cliquez sur le lien ci-dessus pour apprendre à utiliser les zones !

Conditions

Conditions

Cliquez sur le lien ci-dessus pour apprendre à utiliser les conditions !

Cooldowns

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éValeursPar défaut
effectStringnone

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éValeursPar défaut
powerCooldownInteger0

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éValeursPar défaut
globalCooldownInteger0