❤ 0 Ce tutorial est tellement simple à comprendre que je ne comprends pas comment d'autres personnes n'ont rien posté avant moi !
Le but de ce tutorial est de créer une nouvelle aptitude pour le héros, appelée "limite", à la manière de ff7.
Nous utiliserons ici la gestion des évènements de combat, des interrupteurs, et des variables! Rien de bien méchant donc.
J'utilise personnellement rm2003 mais ce tutorial est adaptable aux autres versions de rm.
I- Définition de la limite
Nous devons d'abord créer un algorithme pour remplir la "jauge" virtuelle de la limite. J'en voie plein crisser des dents déjà ! Un algorithme est une suite de petits calculs élémentaires !
Notre jauge virtuelle se remplira de la façon suivante:
- on calcule l'écart relatif entre la vie du personnage avant le coup et après le coup ( c'est quoi ce terme barbare!). C'est un terme qu'on utilise au lycée les gars! Il s'agit de calculer la différence en % de la vie du personnage après un coup avec la vie du personnage avant ce coup.
- on additionne cette valeur a la jauge virtuelle de la limite
- lorsque celle-ci atteint la valeur 100, le héros peut utiliser la limite.
- lorsqu'il utilise sa limite, la jauge se vide totalement et la compétence limite est retirée
Ici la compétence "limite" remplacera la commande "attaque" dans les commandes de combat.
II- La programmation !
Quand je dis "programmation", je parle bien sûr de la gestion des évènements dans l'éditeur de rm!
Je conseille à tous ceux qui veulent utiliser des limites dans leur jeu de faire la programmation AVANT de créer les groupes de monstres.
Il suffit alors de programmer un groupe vide de monstres pui de programmer les 3 PAGES qui vont suivre, puis de faire un copier-coller des groupes dans la liste à gauche.
1-) Création des variables, interrupteurs et autres
Créez 2 événements communs en appel:
- ch_com_cb_XXX_1
- ch_com_cb_XXX_2
Créez les variables et les interrupteurs suivants:
Variables: remplacez XXX par le nom que vous voulez
- Vie_XXX_av
- Vie_XXX_ap
- Vie_en_moins_XXX
- Limite_XXX
Interrupteurs: remplacez XXX par le nom que vous voulez
- Combat
- Limite_XXX_OK
2-) Créez donc 3 pages dans l'onglet "Groupes de monstres" dans la catégorie "Événements de combat" comme suit:
3-) La première page:
Déclencheur: cocher "Tours écoulés Tous les 0 tours à partir du tour 0". Ainsi l'évènement se produira avant que le groupe attaque.
Ajoutez les évènements suivants:
- modifiez la variable: Vie_XXX_av rendre égale à HP courants du héro (test de la valeur de la vie du héros avant de combattre)
- désactivez l'interrupteur Limite_XXX_OK
- activez l'interrupteur Combat
Citation:
<>Variable(s): [0022:Vie_KMI_av] =, KMI HP
<>Interrupteur(s): [0021:limite_ok] désactivé(s)
<> |
4-) La deuxième page:
Déclencheur: cocher "L'interrupteur Combat est activé".
Remarque: vous auriez pu cocher "Tours écoulés Tous les 1 tours à partir du tour 0" car cela revient au même. A ce moment la création de l'interrupteur Combat est inutile. Mais dans le cas présent, cet interrupteur sert à couper le remplissage de la jauge de limite du héros si besoin.
Ajoutez les évènements suivants:
- modifiez la variable: Vie_XXX_ap rendre égale à HP courants du héro (ainsi chaque tour on saura si le héros à perdu de la vie après un coup)
Rappel de la formule de l'écart relatif:
((V1-V2)/V1)*100 V1: valeur avant
V2: valeur après
On multiplie par 100 pour avoir une valeur en %
Donc maintenant faut me faire confiance ^^
C'est parti pour la suite on applique la formule!
- modifiez la variable: Vie_en_moins_XXX rendre égale à Vie_XXX_av
- modifiez la variable: Vie_en_moins_XXX soustraire Vie_XXX_ap
- modifiez la variable: Vie_en_moins_XXX multiplier par 100
- modifiez la variable: Vie_en_moins_XXX diviser par Vie_XXX_av
On divise APRÈS ! En effet rm ne gère pas les valeurs décimales. Si vous divisez avant, la valeur de Vie_en_moins_XXX sera toujours 0!
On additionne la valeur trouvée à la jauge de limite:
- modifiez la variable:Limite_XXX additionner Vie_en _moins_XXX
Testons la valeur de Limite_XXX:
- condition: si Limite supérieur ou égal à 100
-> appeler évènement commun: ch_com_cb_XXX1
Fin de la 2e page!
Citation:
<>Variable(s): [0022:Vie_KMI_ap] =, KMI HP
<>Variable(s): [0023:Vie_en_moins_KMI] =,valeur de [0022]
<>Variable(s): [0023:Vie_en_moins_KMI] -,valeur de [0021]
<>Variable(s): [0023:Vie_en_moins_KMI] *,100
<>Variable(s): [0023:Vie_en_moins_KMI] /,valeur de [0022]
<>Variable(s): [0023:Limite_KMI] +,valeur de [0023]
<>Variable(s): [0023:Vie_KMI_ap] =,KMI HP
<>Si variable[0027:limite] 100 ou plus
<>Appeler évènement commun: ch_com_cb_KMI1
<>
Fin
<> |
5-) Création de l'évènement commun ch_com_cb_XXX1
Dans l'onglet "Options des combats" de l'éditeur de ressources, cliquet sur "modifier" en haut à droite puis augmentez le nombre d'éléments. Créez-en un appelé "Limite" de type "Sous-compétence".
Revenez à la programmation de l'évènement commun ch_com_cb_XXX1.
Ajoutez les évènements suivants:
- Condition: si interrupteur Limite_XXX_OK sur OFF
-> Message: \C[5]\N[1] peut utiliser limite !\|\^
Le message disparaîtra tout seul. La couleur 5 n'est pas obligatoire mais dans le système que j'utilise, elle est multicolore comme dans ff7 .
-> Interrupteur Limite_XXX_OK activé
Attention! Fin de la condition ici!
L'utilisation de cette condition et de l'interrupteur sert en fait à n'afficher le message qu'une seule fois! sinon le message est redondant à chaque tour...
- Changer les commandes: XXX Toutes Retirées
- Changer les commandes: XXX Limite Ajouté
Puis ajoutez toutes les commandes que vous utilisez d'habitude, "Attaque" étant remplacé par "Limite".
Citation:
<>Si interrupteur[0021:limite_ok] sur OFF
<>Message \C[5]\N[1] peut utiliser limite !\|\^
<>interrupteur(s):[0021:limite_ok] activé(s)
<>
Fin
<>Changer les commandes: KMI Toutes Retiré(e)
<>Changer les commandes: KMI Limite Ajouté(e)
<>Changer les commandes: KMI Compétence Ajouté(e)
<>Changer les commandes: KMI Invoquer Ajouté(e)
<>Changer les commandes: KMI Défendre Ajouté(e)
<>Changer les commandes: KMI Objet Ajouté(e)
<>Changer les commandes: KMI Fuir Ajouté(e)
<>
|
6-) La troisième page
Retour à la aux évènements de combats.
Dans la 3e page:
Déclencheur: cocher "Commande Le héros XXX utilise la commande Limite".
Ajoutez l'évènement suivant:
- Appeler évènement commun ch_com_cb_XXX2
Heu... Oui c'est tout ! Désolé mais je n'ai pas pu supprimer cette page mais vous comprendrez...
Citation: <>Appeler évènement commun: ch_com_cb_KMI2
<> |
7-) Programmation de l'évènement commun ch_com_cb_XXX2
Ajoutez les évènements suivants:
- Changer les commandes: XXX Toutes Retirées
- Changer les commandes: XXX Limite Ajouté
Puis ajoutez toutes les commandes que vous utilisez d'habitude, "Attaque" remplacera bien sûr "Limite".
- La variable Limite_XXX est vidée à 0
- Désactivez l'interrupteur Limite_OK
Citation:
<>Changer les commandes: KMI Toutes Retiré(e)
<>Changer les commandes: KMI Limite Ajouté(e)
<>Changer les commandes: KMI Compétence Ajouté(e)
<>Changer les commandes: KMI Invoquer Ajouté(e)
<>Changer les commandes: KMI Défendre Ajouté(e)
<>Changer les commandes: KMI Objet Ajouté(e)
<>Changer les commandes: KMI Fuir Ajouté(e)
<>Variable(s): [0027:Limite_KMI] =, 0
<>Interrupteur(s):[0021:Limite_ok]désactivé(s)
<>
|
Dernière ligne droite: créer LA limite
Allez dans l'onglet "Compétences" de l'éditeur de ressources.
Créez une compétence... par exemple "Coup tranchant". Sa l'fait non ?
Créez-là de type Limite. Cout en mp: 0. Chances de succès: 100%.
Choisissez ensuite les effets. Le taux d'effet doit être assez conséquent pour que la puissance de l'attaque soit supérieure à l'attaque d'un coup critique.
Vous pouvez aussi créer simplement une Animation de coup.
Un exemple de fichier d'animation à utiliser pour l'animation:
C'est simple non ?
Reste à apprendre cette compétence au héros, dans l'onglet "Héros" à "Évolution des compétences". Si le test de votre jeu est déjà commencé, créez un évènement de type carte pour apprendre la compétence au héros!
Dans les versions XP et VX de rm, il me semble que l'on peut appeler un évènement commun avec la compétence. Cela permettrait de supprimer la 3e page du code de combat. Dans les versions en dessous c'est impossible et on doit se trimballer avec sa page quasi vide !
III- Améliorations possibles
Vous pouvez créer une barre de jauge en combat pour symboliser la limite... les tutos pour le faire sont sur oniro!
Vous pouvez le faire pour plusieurs héros aussi. Pour la 1ere et la 2e page, dupliquez les évènements, et les variables. La 3e page sera dupliquée en autant de héros qui pourrons utiliser des limites.
Voila maintenant le résultat final de ce tuto (et que vous devriez avoir maintenant )
Voila c'est fini. J'espère que ça vous aura plu. N'hésitez pas à me poser des questions...
|