Bienvenue visiteur !
|
Désactiver la neige

Statistiques
Liste des membres
Contact
Mentions légales
143 connectés actuellement
10913384 visiteurs depuis l'ouverture
844 visiteurs aujourd'hui

Partenaires









Tous nos partenaires
Devenir partenaire
|

◂
| Limite/break en combat
Une technique de limite en combat à la façon de ff7 ! Niveau de difficulté : heu... facile je crois. | Ecrit par kmi81 le 16/02/2009 |
▸
|
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...
|
adidi - posté le 17/02/2009 à 09:36:41 (184 messages postés)
|

| pas mal mais je sais pas comment intégrer sa sur RMVX vas falloir réfléchir 
|
je commence une aventure et je la finiré jamais |
kmi81 - posté le 17/02/2009 à 12:05:52 (102 messages postés)
|

Buvez, c'est mon sang. Mangez, c'est mon corps. Touchez pas c'est mon cul. | des souvenirs que j'ai de vx, c'est possible je crois...
désolé les images beuguent...
animation de combat:
image de message de limite:
image des options de combat:
Il y a un bémol. Si le héros apprends cette technique dès le début du jeu, il pourra l'utiliser dans le menu compétence du menu principal. Pour palier à ce problème apprenez lui cette compétence l'évènement commun ch_com_cb_XXX1 et retirez la lui dans l'évènement commun ch_com_cb_XXX2. Autre problème: si le héros n'utilise pas sa limite durant le combat alors qu'il a le droit de l'utiliser, il pourra utiliser la compétence dans le menu, à volonté...
Autre chose! Testez dans la page 2 des évènements de combat la valeur de la variable vie_en_moins_XXX. Si elle est négative, donnez lui la valeur 0. En effet si le héros utilise un sort de régénération, ou une potion,la jauge de limite va diminuer ...
|
Commence tout, ne fini rien... |
Totoj - posté le 15/05/2009 à 15:16:29 (1 messages postés)
|

| Salut, alors voila.
J'utilise RPG VX et à un moment je ne peux pas faire :
"changer commande"
il n'existe pas.
Comment y remédier?
C'est mon tout premier post sur votre fofo
please help!!!
|
kmi81 - posté le 16/06/2009 à 15:06:37 (102 messages postés)
|

Buvez, c'est mon sang. Mangez, c'est mon corps. Touchez pas c'est mon cul. | J'ai peur que ce ne soit pas possible... il faut trouver un moyen juste par ajout de compétence... ou utiliser RM 2003... ^^. Le problème avec XP et VX c'est qu'on ne peut plus rien faire en programmation événementielle...
|
Commence tout, ne fini rien... |
gif - posté le 16/06/2009 à 16:01:40 (4470 messages postés)
-  |

| Dans les commandes d'event, tu as la commande "script".
A partir de là tu peux accéder à toutes les variables, donc faire beaucoup de choses.
Par exemple, je construis mon CBS Pokémon en event, et je peux
t'assurer que j'ai une bibliothèque de variables conséquentes
tirées de la commande "script".
Le tout en event donc.
|
Itch.io | Twitter | Cochouchou à la coupe du monde ! | le concours hebdomadaire du meilleur screen ! |
kmi81 - posté le 18/06/2009 à 20:44:01 (102 messages postés)
|

Buvez, c'est mon sang. Mangez, c'est mon corps. Touchez pas c'est mon cul. | ok! c'est possible oui^^. Je n'ai pas beaucoup utilisé ce logiciel...
|
Commence tout, ne fini rien... |
MageTitan - posté le 02/07/2009 à 00:03:55 (1 messages postés)
|

En train d'étudier RPG maker et l'alphabet | Dites quelqu'un peut m'aider avec le premier truc? Je n'y ai rien compris ._.
|
(Faites semblant que y'a une signature super cool ici -> ) |
lionel31 - posté le 24/08/2019 à 03:47:46 (18 messages postés)
|
| j'ai un souci avec le tuto, quant j'arrive a la limite mon personnage oublie rien et append rien ( je suis sur RM mv)
| 
|
|
|