(French Only) MythicMobs Tutorial for Beginners

Discussion in 'Tutorials' started by Whiterun_Sword, Oct 30, 2018.

  1. Whiterun_Sword

    Whiterun_Sword New Member

    Joined:
    Mar 1, 2017
    Messages:
    22
    Likes Received:
    13
    Ce tutoriel à été écrit ici : https://github.com/BidouilleurO/MythicMobs/wiki
    La version Github sera mise à jour et possède plus de contenus comme une traduction des conditions ect.


    Merci de votre lecture.



    1) Présentation du plugin MythicMobs


    J'estime que vous pouvez tous lire cette page, même si elle a l'air vraiment basique, il est mieux d'avoir les mêmes termes et d'être sûr que nous sommes sur la même longueur d'onde.

    MythicMobs est un plugin Spigot et Bukkit Minecraft permettant de contrôler certains paramètres des monstres et de les intégrer avec vos autres créations grâce à ses nombreuses compatibilités avec d'autres plugins :

    [​IMG]

    Vous pourriez vous dire que vous pourriez utiliser simplement des command blocks pour faire vos mobs sauf que non ! les mobs via plugin sont beaucoups plus simple d'utilisation une fois créée, les donjons sans command block (BetonQuest / MythicMobs) sont devenus réalités et permettent de transiter de version sans devoir refaire 300 command blocks.

    Le plugin possède des commandes basiques :

    • Faire spawn un mob
    • Donne un oeuf d'un certains monstres
      • Très utile pour les boutiques
    • Se donner un item

    Boutique MythicMobs

    Exemple d'utilisation de MythicMobs dans une boutique entièrement automatique (don d'oeuf à l'acheteur) :

    [​IMG] [​IMG]

    Cette boutique a été faite avec https://www.buycraft.net qui peut vous être très utile si vous êtes majeur et que vous voulez donner des récompenses aux joueurs en les faisant payer. Faites attention à l'EULA qui permet une certaine égalités entre joueurs ^^.


    Configuration dans MythicMobs ?

    Mais alors, qu'est ce que permet MythicMobs, qu'est ce qui est configurable ? Vous devez surement vous poser cette question, je vais donc vous répondre par une petite liste :


    Options de mobs

    • Le basique : ❤️ / ⚔️
    • Un peu plus poussé : Vitesse Attaque / Vitesse Mouvement / Fluorescence

    Équipements

    • Accepte les couleurs d'armures de cuir
    • Enchantement et Description aussi

    Sorts

    • Qui ont de nombreuses cibles
    • plus de 50 effets

    Faire ses premier fichiers .yml


    Accéder au fichier Mythic Mobs

    Pour accéder aux fichiers de vos serveurs, vous aurez besoin d'un FTP : File Transfer Protocol, c'est un logiciel qui permet de relier votre ordinateur aux fichiers d'une autre ordinateur (réel ou virtuel). Le logicel le plus utilisé est : Filezilla que je vous recommande. Vous entrerez dans Filezilla les identifiants donnés par votre hébergeur ou votre supérieur en haut :

    [​IMG]

    Après votre connexion, vous tomberez dans le dossier de votre serveur. Les fichiers de configurations de Mythicmobs doivent se trouver dans : /Plugin/Mythicmobs/ Si vous n'avez pas Mythicmobs, installez le en le déposant dans le dossier plugin. (Page de téléchargement) et redémarrer le serveur.


    Créer un fichier lisible par MythicMobs

    Si vous allez dans un dossier du dossier MythicMobs :

    [​IMG]

    Vous verrez que les fichiers se terminent en .yml, en effet ce langage nommé YAML est un langage qui permet de créer des configurations pour les programmes. Il est donc utilisés par tous les plugins Minecraft pour sa simplicité. Pour modifier ce langage il vous faudra un éditeur de texte capable de le reconnaitre. Le plus utilisé et celui que j'utilise (pour Minecraft en tout cas) est Notepad++ ou si vous êtes sur mac Sublime Text 2.

    Téléchargez-le et créez un nouveau fichier avec et séléctionner le langage YAML dans la barre d'option (View/Syntax/YAML)

    Vous pouvez désormais faire des fichiers lisibles pour le plugin !
     
    #1
    Last edited: Oct 30, 2018
    Finiel, Ashlouu and Buguser like this.
  2. Whiterun_Sword

    Whiterun_Sword New Member

    Joined:
    Mar 1, 2017
    Messages:
    22
    Likes Received:
    13
    2)Configurer un mob "basique"

    Les bases de MythicMobs et YAML


    Explications

    Cette première partie va permettre de configurer un mob basique : Changer ses point de vie, et la plupart de ses paramètres "basiques" (faisable avec un command block). Voici la page du Wiki correspondantes en anglais : http://www.mythicmobs.net/manual/doku.php/databases/mobs/overview


    Le langage yml

    Tout d'abords, apprenons comment est configuré un fichier YAML pour MythicMobs. Voici à quoi ressemble un fichier mobs simple (sans équipement et sorts) :

    Code:
    internal_mobname:
      Type:
      Display:
      Health:
      Damage:
      Armor:
      BossBar:
      Faction:
      Mount:
      Options:
        Paramètre1:
        Paramètre2:

    Comme vous pouvez l'observer, YAML est un langage qui repose sur l'indexation (ici 2 espaces) pour définir l'importance de chaque élément. Le nom du mob est donc le seul mot qui est sur la première colonne (sans espace) ce qui permet aussi de faire plusieurs mobs sur un même fichier.

    Code:
    zombie-dur:
      Type: ZOMBIE
      Display: '&7&lZombie Endurci'
      Health: 30
      Damage: 4
      Armor: 5
    squel1:
      Type: SKELETON
      Display: '&7&lPetit Skel'
      Health: 10
      Damage: 1
      Armor: 1
    Si vous vous trompez d'espacement, un mob devient incompréhensible / L'indexation est fausse.


    Les options du mob

    Nous allons donc parler un à un de chaque options des mobs et en faire une liste :

    • Les 4 principaux :
      • Type : Le type de monstre (Manuel Type Mobs avec liste de mobs).
      • Vie : Le nombre de demi-coeur de vie. Un joueur à 20 Pdv.
      • Damage : Dégâts de mêlée du mobs.
      • Display : Le nom personnel du mob avec code couleur ex : Display: '&6Monstre Marin &4(Niv.10)'
    • quelques autres (une liste anglaise ici)
      • Mount : pour le faire monter un autre mythicmobs créé précedemment. ex : Mount : ChevalSquel
      • Drops : pour ajouter des drops au monstres, des pourcentages sont possibles. (Un peu compliqué à mettre en place)

    Un exemple rapide :

    Code:
    squel1:
      Type: SKELETON
      Display: '&7&lPetit Skel'
      Health: 10
      Damage: 1
      Drops:
      - <item/exp/droptable> <amount> <chance>
      - <item/exp/droptable> <amount> <chance>
    Important : On appelle les caractéristiques de la fonction, ses caractère (ceci est valable dans tout les langages de codes. Ici, le premier caractère est le type : il est obligatoire, les deux autres caractères ne sont pas obligatoires et s'attribueront comme des grands si ils ne sont pas remplis (avec la valeur 1).

    Infos complémentaires sur le 3ème critère: Sa valeur détermine le pourcentage de chance d'obtenir l'objet et ne se calcule pas sur une échelle de 100 mais ue échelle de 0 à 1. Par exemple, 0.25 signifie 25% de chance d'obtenir l'objet et 1 signifie 100%.

    Le but ici n'est pas d'énumérer une liste complète mais bien de vous permettre de comprendre dans les grandes lignes comment faire un mob. Voici donc un exemple de mob pour que vous puissez comprendre :

    Code:
    archerskel:
      Type: SKELETON
      Display: '&7&lArcher Monté'
      Health: 25
      Damage: 5
      Armor: 1
      Mount: chevalskel
      Drops:
      - exp 20-50 0.5
      - 264 1 0.25
    chevalskel:
      Type: SKELETON_HORSE
      Health: 50
    • Le type du monstre est donc SKELETON : un squelette.
    • Son nom affiché (au dessus de sa tête) est [​IMG].
    • Il possède 40 PdV et fait 5 Demi coeur de dégâts de mêlée.
    Un squelette ne possédant pas d'arc va obligatoirement attaquer au corps à corps (sauf si vous faites de la configuration de mob plus complexe)

    • Il a 1 Point d'armure : Il réduit donc tout les dégâts subis de 1 Demi coeur.
    • Il monte le mob ChevalSkel.
    • Laisse tomber des objets à sa mort :
      • 20 points d'expérience (obligatoirement puisque le pourcentage n'a pas été clairement défini
      • 1 chance sur 4 de laisser tomber 1 seul diamant à sa mort.
    La seule chose que vous devriez avoir du mal à comprendre sont les Drops du monstres, celui-ci à été configuré * pour donner 10 Exp à sa mort et avoir 25% de chance de donner 1 Diamant (1 = 100% comme expliqué plus haut).

    Les drops peuvent être créés dans un fichier à part pour permettre plus de personnalisation mais ceci n'étant pas l'objet direct du tutoriel, vous pouvez trouver plus d'informations ici.


    Je pense que j'ai assez bien montré la personnalisation d'un mobs sur MythicMobs .

    Si vous avez eu des soucis avec le tutoriel ou vous le trouvez incomplet, vous pouvez ajouter une "issue" sur le projet.

    [​IMG]
     
    #2
    Ashlouu and Buguser like this.
  3. Whiterun_Sword

    Whiterun_Sword New Member

    Joined:
    Mar 1, 2017
    Messages:
    22
    Likes Received:
    13
    3) Configurer les items que portera un mob

    Les préparatifs

    [​IMG]

    Nous allons cette fois-ci créer un nouveau fichier dans Item. Avec l'extension .yml comme fait auparavant pour la préparation du plugin.


    Créer son premier item


    Plan Basique :

    Code:
    internal_itemname:
      Id: [Nombre]
    

    Concret Basique :


    Code:
    diamond_sword:
      Id: 276 
    Les ID doivent être obligatoirement le nom de l'item ou des chiffres

    Il faut savoir que chaque item donné à un mob doit être créé précédemment sauf si vous utilisez l'ID.


    Plan Complexe :

    Code:
    internal_itemname:
      Id:
      Data:
      Display:
      Attributes:
      Amount:
      Options:
      Enchantments:
      Lore:

    Concret Complexe :

    Code:
    SkeletonKingSword:
      Id: 276
      Data: 0
      Display: '&3Superbe épée du Roi Squelette'
      Lore:
      - '&6Une épée puissante utilisé'
      - '&6par le roi Squelette.'
      Enchantments:
      - DAMAGE_ALL:5
      - KNOCKBACK:2
      - FIRE_ASPECT:2
      Attributes:
        MainHand:
          Health: 10
          MovementSpeed: 0.1

    Expliquons ceci petit à petit :

    • Data : C'est la sous catégorie de l'ID, elle permet de différencier des objets ayant le même ID (Laine et Teinture par exemple) mais permet surtout de donner des effets à des objets avec des textures personnalisés.
    • Display : le nom de l'objet affiché dans l'inventaire (supporte les codes couleurs)
    • Lore : La description de l'objet (accepte les codes couleurs et les variables) Utiliser un nouveau - permet de sauter une nouvelle ligne. N'utilisez pas trop de caractère sans sauter de ligne sinon le texte deviendra illisible (environ 5 mots).
    • Enchantment : rajoute des enchantements à l'objet (liste en anglais).
    • Attributs : la caractéristique la plus complexe à comprendre : elle permet d'ajouter des caractéristique selon l'endroit ou l'objet est placé.
    [​IMG]


    Attributs :

    • AttackSpeed: [number] Modifie la vitesse de chargement pour ré-attaquer (Pour 1.9+)
    • Armor: [number] Augmente l'armure que confère l'objet : Armor: 1 augmente l'amure de 1/2 plastron.
    • ArmorToughness: [number] Modifie le pourcentage de dégâts reçus (Essais en cours pour comprendre le fonctionnement exactement).
    • Damage: [number] Remplace les dégats initiaux de l'arme par cette nouvelle valeur.
    • MovementSpeed: [number] Affecte la vitesse de déplacement (MovementSpeed: 1 augmente de 100% la vitesse).
    • Health: [number] Ajoute des coeurs supplémentaires : Health: 1 ajoute 1/2 coeur.
    • KnockbackResistance: [number] Permet de résister au knockback. Les [number]% sont autorisé (exemple : KnockbackResistance: 60%)
    Un item peut avoir plusieurs attributs pour plusieurs slot.


    Exemple avec plusieurs attributs :

    Code:
    FauxMort:
      Id: 292
      Display: '&3Faux Mortelle'
      Lore:
      - '&6Une épée puissante utilisé'
      - '&6par le roi Squelette.'
      Attributes:
        MainHand:
          Damage: 8
          MovementSpeed: 0.1
        Offhand:
          Damage: 4
          MovementSpeed: 0.4

    Il reste quelques autres caractéristiques moins connus mais utile :


    Hide

    Il permet de cacher certains "pouvoirs" de l'épée comme ses enchantements et ses attributs. Rien de mieux pour donner un sentiment de découverte au joueur !

    Code:
    SkeletonKingSword:
      Id: 276
      Data: 0
      Display: '&3Superbe épée du Roi Squelette'
      Lore:
      - '&6Une épée puissante utilisé'
      - '&6par le roi Squelette.'
      Enchantments:
      - DAMAGE_ALL:5
      - KNOCKBACK:2
      - FIRE_ASPECT:2
      Hide:
      - ENCHANTMENTS

    Ici les enchantements de l'arme sont cachés, mais vous pouvez aussi cacher de nombreux autres caratéristiques avec les effets suivants : “ATTRIBUTES” “ENCHANTS” “DESTROYS” “PLACED_ON” “POTION_EFFECTS” “UNBREAKABLE”


    Les potions

    Ce sont des objets pouvant être grandements modifiés à l'utilisation mais elles seront évoqués plus tard puisque plus particulière et différente à mettre en place. (METTRE LIEN ICI quand terminé)


    Les bannières

    Ce sont des objets qui peuvent aussi être customisée en tant qu'objet par Mythicmobs mais ceci n'est pas une priorité.


    Donner cet Item au Mob

    C'est bien de créer des belles épées avec des enchantements hors-normes et des armures scintillantes mais il vaudrait mieux que les ennemis puissent la porter.


    Plan :

    Code:
    internal_mobname:
      Type:
      Display:
      Health:
      Damage:
      Equipment:
      - <item>:<slot>
      - <item>:<slot>
      - ...
    

    Concret :

    Code:
    PinkyZombie:
      Type: ZOMBIE
      Display: '&dPinky'
      Health: 5
      Damage: 0
      Equipment:
      - PinkHelm:4
      - PinkChest:3
      - PinkLegs:2
      - PinkBoots:1
      - Bow:0
      - Bow:5

    [​IMG]

    C'est tout simple, pensez juste au fait que il faut mettre des éléments "normaux" aux torse, jambes et pieds mais il peut porter n'importe quoi dans les mains et sur la tête (un bloc de vitre peut faire office de casque sous marin par exemple).

    Une liste d'items basique est à votre disposition sur le même Repo à cette adresse : Fichier Items

    Si vous avez eu des soucis avec le tutoriel ou vous le trouvez incomplet, vous pouvez ajouter une "issue" sur le projet.

    [​IMG]
     
    #3
    Ashlouu and Buguser like this.
  4. Whiterun_Sword

    Whiterun_Sword New Member

    Joined:
    Mar 1, 2017
    Messages:
    22
    Likes Received:
    13
    4) Les bases des skills

    Explication :

    Les skills sont une série d'action/effets (mechanics) qui sera effectué selon un déclencheur (trigger) et peut viser de nombreuses cibles (targeters). Les sorts se décomposent donc en 3 catégories qui sont complémentaires.

    Les skills sont l'aspect le plus intéressant de Mythicmobs puisqu'ils sont impossible à reproduire fidèlement avec des command block.


    Une première approche des skills :


    Plan Basique :


    Code:
    FieryZombie:
      Type: ZOMBIE
      Display: 'Zombie de Feu'
      Health: 50
      Skills:
      - mechanic 1
      - mechanic 2
      - ...

    Concret Basique :


    Code:
    FieryZombie:
      Type: ZOMBIE
      Display: 'Zombie de Feu'
      Health: 50
      Skills:
      - ignite{ticks=100} @target ~onAttack
    Voici un des sort (=skill) les plus faciles, mais étudions le plus pour qu'il vous paraisse limpide. Il faut pour ceci le partager en 3 catégorie comme dit précédemment:

    • mechanics : ici ignite{ticks=100}, elle possède un argument ({ticks=100}) comme la plupart des mechanics.
    • Targeter : ici tout simplement @target, elle permet ici de cibler le jouer qui a été visé par le mob, c'est la cible la plus simple.
    • Trigger : ici le déclencheur est ~onAttack, le sort s'active donc dès que le mob attaque sa cible.
    Vous pouvez ajouter d'autres effets comme indiqué ici :

    Code:
    Skills:
    - mechanic{option=value} @[targeter] ~on[trigger] [health_modifier] [chance]

    • health_modifier : L'attaque ne va s'effectuer que si le mob est à un certain pourcentage, il peut s'agir d'un nombre fixe (=90%),d'une range (<50% / >60%) ou bien même une range "interne" (=20%-80%).
    • chance : L'effet ne pas toujours s'activer, c'est le même système que les chances de loot d'objets (1 = 100% et 0.25 = 25%)

    Mise en contexte :


    Code:
    FieryZombie:
      Type: ZOMBIE
      Display: 'Zombie de Feu'
      Health: 50
      Skills:
      - ignite{ticks=100} @target ~onAttack <50% 0.5
    Ce sort un peu amélioré n'a donc que 50% de chances d'enflammer l'adversaire à chaque attaque quand les PV du Zombie de Feu sont inférieurs à 50%.


    Les skills de manière plus complexe


    Les mechanics :

    Voyons de manière plus complexe les mechanics à travers 2 exemples :

    "Damage" et "Potion"


    La mechanic simple : Damage

    Cette mechanic inflige des dégâts simples à la cible sélectionné, (une valeur de 1 signifie 0.5 cœur de dommages). Elle peut posséder au maximum 4 arguments que sont :

    Code:
    amount            /  Valeur : Nombre   /  Le nombre de dommage            /  Abrévation : a   /  Valeur de base : 1
    ignoreArmor       /  Valeur : T ou F   /  Si le coup ignore l'armure      /  Abrévation : ia  /  Valeur de base : False
    preventKnockback  /  Valeur : T ou F   /  Si le coup ignore le knockback  /  Abrévation : pk  /  Valeur de base : False
    preventImmunity   /  Valeur : T ou F   /  Si le coup ignore l'immunité    /  Abrévation : pi  /  Valeur de base : False

    Une mechanic permet de donner l'immunité à une cible, ce 4ème argument permet donc d'outrepasser ce pouvoir.

    T ou F signifie qu'il possède deux valeurs : True ou False

    Code:
    DamageZombie:
      Type: ZOMBIE
      Display: 'Zombie Dangereux'
      Health: 50
      Damage: 0
      Skills:
      - damage{a=5;pi=True;ia=True} @target ~onAttack

    Vous pouvez observer deux particularités : On sépare chaque argument avec un ; et les arguments n'ont pas d'ordre précis.

    Ce Zombie ne fait aucun dégât "réel" lorsqu'il vous touche mais va par contre déclencher un sort qui lui va faire des dommages spéciaux lorsqu'il vous attaque. Ces dommages ont 3 arguments : a=5 le sort fait donc 5 points de dommages, pi=True il ignore l'immunité et ia=True ignore l'armure.


    La mechanic plus complexe : Potion

    Cette mechanic inflige des effets de potions à la cible sélectionné.

    Elle peut posséder au maximum 4 arguments comme Damage :

    Code:
    type      /  Valeur : Potion   /  Le type de potion          /  Abrévation : t  /  Valeur de base :
    Duration  /  Valeur : Tick     /  Durée de l'effet (en tick) /  Abrévation : d  /  Valeur de base : 100
    Level     /  Valeur : Nombre   /  Niveau de l'effet          /  Abrévation : l  /  Valeur de base : 1
    Force     /  Valeur : T ou F   /  Priorité de l'effet        /  Abrévation :    /  Valeur de base : False

    La mechanic Force permet d'effacer un autre effet de potion si la cible subissait déjà cet effet

    T ou F signifie qu'il possède deux valeurs : True ou False

    Ici, l'argument Type n'a pas de valeur de base, il est donc Obligatoire.

    Code:
    SorcierZombie:
      Type: ZOMBIE
      Display: 'Zombie Sorcier'
      Health: 50
      Damage: 3
      Skills:
      - potion{t=BLINDNESS;d=40;l=2} @target ~onAttack

    Le trigger et le targeter sont les même, le sort vise donc sa cible habituelle et se déclenche lors de son attaque. L'effet du sort est une potion Blindness (Cécité dans la langue de Molière) avec une durée de 40ticks soit 2 secondes (20 Ticks = 1 Seconde) avec une puissance d'effet de 2 (La cécité n'offre pas d'effet bonus selon la puissance d'effet donc l'effet ici est le même que 1).


    Les targeters :

    Ils commencent tous par @ et sont au nombre de 37 en 4.3.2.

    Les targeters (= ciblage) méritent eux aussi qu'on s'intéresse à eux avec deux exemple :

    "@Self" et "@PlayersInRadius"


    Une cible facile : @Self

    Ce ciblage est très utilisé mais aussi très simple, il sélectionne le mob ayant lancé le sort. Imaginez tout simplement un monstre qui se donne des bonus après avoir perdu 50% de ses PVs :

    Code:
    AngryZombie:
      Type: ZOMBIE
      Display: '&4Zombie Colérique'
      Health: 50
      Damage: 4
      Skills:
      - potion{t=FIRE_RESISTANCE;d=400;l=2} @Self =50%
      - potion{t=INCREASE_DAMAGE;d=400;l=2} @Self =50%
      - potion{t=SPEED;d=400;l=2} @Self =50%
      - effect:flames @self =50%

    Le dernier sort effect:flames @self =50% est un autre type (commençant par effect:), qui fait apparaître des types de particules spéciaux.

    Vous apprendrez que ce code est très mauvais dans la seconde partie des skills mais l'on va s'en contenter pour l'instant.


    Un second ciblage plus complexe : @PlayersInRadius

    Ce ciblage permet de sélectionner tout les joueurs dans un rayon donné autour du mob ou d'une localisation précise (comme des effets de zone persistent). Ce ciblage possède 1 Arguments :

    Code:
    Radius  /  Valeur : Nombre  /  Radius Effet  /  Abrévation : r  /  Valeur de base :
    Le ciblage se présente sous cette forme : @PlayersInRadius{r=#} (avec une valeur @PlayersInRadius{r=10}) mais aussi s'écrire sous la forme @PIR{r=#}

    Testons avec un Zombie qui va infliger des dégâts à tout les joueurs autour de lui toutes les 5 secondes :

    Code:
    ZoneZombie:
      Type: ZOMBIE
      Display: '&5Zombie Runique'
      Health: 40
      Damage: 3
      Skills:
      - damage{a=1;pi=True;ia=True} @PlayersInRadius{r=10} ~onTimer:100
      - effect:flames @PIR{r=10} 100

    Les triggers :

    Ils commencent tous par ~ et sont au nombre de 17 en 4.3.2.

    Nous avons déjà étudié un Trigger et ils ne sont pas très complexe, un seul exemple sera donc suffisant :

    "~OnTimer"


    ~OnTimer :

    Ce déclencheur permet d'activer un sort à intervalle régulier, il est aussi l'unique déclencheur avec un arguments :

    Code:
    Temps  /  Valeur : Nombre  /  Temps en Tick  /  Abréviation : aucun  /  Valeur de base :
    Le ciblage se présente sous cette forme : ~OnTimer:# (avec une valeur ~OnTimer:10). Il faut faire attention, le temps est en Tick, un temps très court (par exemple 5 Ticks) peut ne pas marcher du tout.

    Si vous avez eu des soucis avec le tutoriel ou vous le trouvez incomplet, vous pouvez ajouter une "issue" sur le projet.

    [​IMG]
     
    #4
    Ashlouu and Buguser like this.
  5. Whiterun_Sword

    Whiterun_Sword New Member

    Joined:
    Mar 1, 2017
    Messages:
    22
    Likes Received:
    13
    5) Création de skills plus complexes !

    Créer un fichier Skill et le relier

    Les skills plus complexes, c'est à dire avec + que 1 action, peuvent être simplifié avec un fichier skill et sont même obligatoires pour certains sorts.


    Création d'un fichier skill.

    [​IMG]

    Le dossier skill se trouve dans Plugins/MythicsMobs/Skills. Créez ensuite un fichier .yml à cet emplacement.


    Relier un skill du fichier au mob.

    Un skill existe pour relier le fichier au mob :

    Code:
    Skills:
    - skill{skill=nom_du_skill}
    - skill{s=nom_du_skill}

    Il faut ensuite créer le skill dans un fichier skill de cette manière :

    Code:
    nom-du-skill:
      Cooldown:
      Conditions:
      - condition 1
      - condition 2
      Skills:
      - skill 1
      - skill 2
      - skill 3

    Le cooldown se compte en secondes et accepte les décimales comme 0.5 ou 2.75. Il n'est pas obligatoire

    Les Conditions ou TargetConditions sont-elles aussi non obligatoires.


    Les premiers skills :


    Plan - Skill & Mob :

    Le mob :

    Code:
    internal_mobname:
      Type:
      Display:
      Health:
      Damage:
      Armor:
      Skills:
      - skill{s=nom_du_skill}

    Le skill :

    Code:
    nom-du-skill:
      Skills:
      - skill 1
      - skill 2
      - skill 3


    Concret - Skill & Mob :

    Le mob :

    Code:
    ChamanOrcV1:
      Type: Zombie
      Display: '&5&lChaman Guerrier'
      Health: 65
      Damage: 4
      Armor: 2
      Skills:
      - skill{s=GlowPower} @Self =50%
    Le skill :

    Code:
    GlowPower:
      Skills:
      - lightning{d=0}
      - effect:glow{color=YELLOW;duration=100000}
      - potion{type=SPEED;duration=100000;level=2}
      - potion{type=DAMAGE_RESISTANCE;duration=100000;level=2}

    Tout les skills peuvent vous paraître complexe mais elle viennent tous de la page de MythicMobs et je vais les expliquer.

    • Lightning
      • Un seul argument damage ici avec une valeur de 0
      • Un simple effet visuel
    • Effect:glow
      • 2 Arguments :
        • La couleur qui est jaune
        • La durée en Tick (équivalente à 83minutes ici)
      • Fait partie d'une catégorie n'étant pas réellement des mechanics qui se concentre sur l'aspect esthétique et les particules.
    • Les effets de potions comme étudiés auparavant.
    Vous noterez que seules des mechanics ont été notés dans le fichier skill (Aucun @OnDamaged) puisqu'ils ont déjà été noté lors du lien entre le fichier et le skill : - skill{s=GlowPower} @Self =50%. Les valeurs de Trigger sont donc par défaut attribués comme @Self et =50%. Vous pouvez les réattribuer si vous voulez mettre un effet de zone dans le sort si vous le souhaitez :

    Code:
    GlowPower:
      Skills:
      - lightning{d=0}
      - effect:glow{color=YELLOW;duration=100000}
      - potion{type=SPEED;duration=100000;level=2}
      - potion{type=DAMAGE_RESISTANCE;duration=100000;level=2}
      - damage{a=3} @PIR{r=8}

    Si vous ajoutez un trigger comme ~onAttack à damage{a=3} @PIR{r=8}, cette nouvelle condition sera vérifié et le skill ne s'activera donc que si le mob attaque à 50% de ses PV. Cela n'empêchera pas que tout le reste des skills s'active sans problème.


    Un skill plus complexe

    L'avantage de faire des skills dans des fichiers sont de les complexifier en les transformant en un enchaînement de sorts ou bien en rajoutant des conditions.

    https://imgur.com/3JHPDe6


    Le Mob :


    Code:
    GardienDonjon:
      Mobtype: ZOMBIE
      Display: '&8&lGardien'
      Health: 10
      Damage: 0
      Options:
        MovementSpeed: 0.01
      Skills:
      - skill{s=FlecheDonjon} @Target ~onTimer:5

    Son Skill :


    Code:
    FlecheDonjon:
      TargetConditions:
      - onblock MOSSY_COBBLESTONE
      Skills:
      - projectile{onTick=Tir-Tick;onHit=Tir-Hit;v=8;i=1;hR=1;vR=1}
    Il existe deux types de conditions, la simple qui est Conditions et vérifie la condition sur le lanceur de sort. La seconde TargetConditions vérifie la condition sur la cible. Chaque condition est utilisable par ces 2 types.

    Par exemple, ce mob ne va activer son skill que si la cible est sur un bloc de Mossy Cobblestone. ce genre d'utilisation peut être utile das des donjons avec des dalles piégés ou autres.

    La liste des conditions est disponible ici.

    À vous ensuite de créez vos sorts de vous-mêmes en fusionnant une série de plusieurs skills et en ajoutant des conditions.

    Code:
    FireAuraStart:
      Skills:
      - skill{s=FireAuraDamageEffect} @Self
      - effect:blockmask{m=netherrack;n=0.3;r=8;d=440} @self
      - effect:blockmask{m=magma;n=0.3;r=8;d=440} @self
      - delay 400
      - remove @self
    FireAuraDamageEffect:
      Skills:
      - damage{a=5;i=false} @PlayersInRadius{r=8}
      - ignite{d=200} @PlayersInRadius{r=8}
      - effect:sound{s=block.fire.ambient;v=1;p=1} @Self
      - effect:particlering{p=flame;a=100;vs=0.5;hs=0.5;s=0;y=0;points=20;radius=1}
      - delay 3
      - effect:particlering{p=flame;a=100;vs=0.5;hs=0.5;s=0;y=0;points=20;radius=2}
      - delay 3
      - effect:particlering{p=flame;a=100;vs=0.5;hs=0.5;s=0;y=0;points=20;radius=3}
      - delay 3
      - effect:particlering{p=flame;a=100;vs=0.5;hs=0.5;s=0;y=0;points=20;radius=4}
      - delay 3
      - effect:particlering{p=flame;a=100;vs=0.5;hs=0.5;s=0;y=0;points=20;radius=5}
      - delay 3
      - effect:particlering{p=flame;a=100;vs=0.5;hs=0.5;s=0;y=0;points=20;radius=6}
      - delay 3
      - effect:particlering{p=flame;a=100;vs=0.5;hs=0.5;s=0;y=0;points=20;radius=7}
      - skill{s=FireAuraDamageEffect} @Self
    
     
    #5
    Ashlouu and Buguser like this.
  6. Lenitra

    Lenitra New Member

    Joined:
    Apr 25, 2018
    Messages:
    5
    Likes Received:
    0
    Hello ! Superbe tutoriel !
    Après comme tu le dis ce sont les bases. Je suis en train de faire un logiciel externe pour pouvoir créer un mob sans avoir besoin de savoir comment les configs fonctionnes :3
    Je ferai un post lorsque ce sera terminé !!

    Bon jeu à tous et à très vite !
     
    #6

Share This Page