Partagez
Aller en bas
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu attaque finale

le Mer 30 Nov 2016 - 14:21
bonjour

je voudrais créer une compétence qui permette à un personnage ou un ennemi de faire des dégâts mais qui en contrepartie le tue (une attaque suicide quoi)

quelqu'un a une idée de comment faire ?


Dernière édition par scottsummers le Jeu 1 Déc 2016 - 15:38, édité 1 fois
avatar
Ashala
Membre

Nombre de messages : 531
Age : 26
Localisation : L'Antre-Deux-Mondes.
Distinction : "A une araignée au plafond" [Nowa]
Date d'inscription : 09/06/2016

Résolu Re: attaque finale

le Mer 30 Nov 2016 - 14:42
Une solution, même si il y a sûrement plus propre :

image:
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: attaque finale

le Mer 30 Nov 2016 - 15:12
pour un perso bien déterminé ça fonctionne bien mais pour un ennemi ça ne marche pas
avatar
Ashala
Membre

Nombre de messages : 531
Age : 26
Localisation : L'Antre-Deux-Mondes.
Distinction : "A une araignée au plafond" [Nowa]
Date d'inscription : 09/06/2016

Résolu Re: attaque finale

le Mer 30 Nov 2016 - 15:26
Il y a une commande équivalente pour changer les HP de l'ennemi, donc ça doit être possible en récupérant son ID. J'aurai un peu de mal à te l'expliquer moi même vu qu'a partir de là je dois aller chercher comment faire sur les forums anglophones. x)

Mais l'idée est que si tu arrives à la récupérer tu peux aussi faire l'équivalent pour les joueurs et avoir un event propre avec des conditions.
avatar
Gelarto
Gelato Della Mamma

Nombre de messages : 2849
Age : 23
Distinction : Grand bêta-testeur de la communauté Curse
Personne avec du goût
Je ne suis pas une glace italienne, bordel de merde! [Gel']
Mon plus grand fan [Yama']
Mon ptit bichon [encore Yama']
Jeau-Paul II[Mist']
Saint-Gelato Le Frais [Mist']
Écrivain du dimanche [Amal']
FF IV Fanatic [LaCommu']
Collectionneur de distinctions de merde [Yama]
ModoGel [Un staffieux mais lequel?]
RNGel 2.0 [Zeal']
Date d'inscription : 31/07/2012

Résolu Re: attaque finale

le Mer 30 Nov 2016 - 17:01
Normalement tu dois pouvoir faire une formule du genre :

a.atk*4 - b.def*2 ; a.hp -= a.mhp

La première partie est simplement la formule choisi (donc modifiable)
La seconde est un effet ajouté qui tuera le lanceur peu importe son nombre de pv (modifiable selon l'effet souhaité).



_________________
avatar
Ashala
Membre

Nombre de messages : 531
Age : 26
Localisation : L'Antre-Deux-Mondes.
Distinction : "A une araignée au plafond" [Nowa]
Date d'inscription : 09/06/2016

Résolu Re: attaque finale

le Mer 30 Nov 2016 - 17:38
Ah en effet, c'est vachement plus pratique.
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: attaque finale

le Jeu 1 Déc 2016 - 8:44
merci beaucoup
j'ai mis ça :
100 + a.mat * 4 - b.mdf * 2 ; a.hp -= a.mhp
(la compétence est utilisée par un ennemi)
mais ça ne fonctionne pas, non seulement les membres de l'équipe se prenne 0 en dégât mais le lanceur ne meurt pas
avatar
dricc
Membre

Nombre de messages : 2753
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: attaque finale

le Jeu 1 Déc 2016 - 10:48
Tu peux aussi essayer :

100 + a.mat * 4 - b.mdf * 2 ; a.die()

je suis tombé sur un article qui explique comment ça marche :
http://www.rpgmakercentral.com/topic/36290-damage-formulas-101-mv-edition/
avatar
Gelarto
Gelato Della Mamma

Nombre de messages : 2849
Age : 23
Distinction : Grand bêta-testeur de la communauté Curse
Personne avec du goût
Je ne suis pas une glace italienne, bordel de merde! [Gel']
Mon plus grand fan [Yama']
Mon ptit bichon [encore Yama']
Jeau-Paul II[Mist']
Saint-Gelato Le Frais [Mist']
Écrivain du dimanche [Amal']
FF IV Fanatic [LaCommu']
Collectionneur de distinctions de merde [Yama]
ModoGel [Un staffieux mais lequel?]
RNGel 2.0 [Zeal']
Date d'inscription : 31/07/2012

Résolu Re: attaque finale

le Jeu 1 Déc 2016 - 10:50
Après quelques recherches, y a effectivement quelques changements au niveau des formules entre Ace & MV (je me coucherais moins con ce soir).

Du coup faut faire :

a.setHp(0) ; 100 + a.mat * 4 - b.mdf * 2

La première partie met les PVs à 0, et la seconde c'est la formule de dégâts.
Seul petit problème, si c'est un ennemi qui lance la compétence, il ne disparaît pas... là ou un personnage prend bien sa pose mort u_u

EDIT : le a.die() proposé par Dricc a le même problème que moi, au niveau de l'ennemi, je viens de tester x)

_________________
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: attaque finale

le Jeu 1 Déc 2016 - 12:37
oui j'avais trouvé le même article et effectivement la bestiole ne disparait pas et il faut mettre les dégâts en deuxième sinon ça fait 0 dégât
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: attaque finale

le Jeu 1 Déc 2016 - 13:01
contournement du problème :
a.setHp(1)
au lieu de 0
et page d'ev dans la troupe : si l'ennemi passe sous les 1% de hp lui retirer 9999hp
sachant qu'il déclenche son attaque suicide s'il passe sous les 10% de hp ça passe

pb : ça oblige a paramétrer toutes les troupes ce qui est assez fastidieux

cela dit je me demande s'il y a moyen de remplacer "a.setHp" par autre chose qui voudrait dire "infliger l'état assommé"

@↓ Gelarto : peux tu me dire où tu as trouvé cette astuce ?

EDIT :
je viens de trouver "a.addState(1)" mais même pb : la bestiole ne disparait pas Crying or Very sad
a.gainHp(-9999) : même bug
avatar
dricc
Membre

Nombre de messages : 2753
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: attaque finale

le Jeu 1 Déc 2016 - 15:19
Et "a.die()", ça donne quoi ? quoique d'aprés ce que je vois , ça met les HP à 0 et efface toutes les altérations d'état .

En fait , il faut aller voir dans la classe "Game_BattlerBase" visiblement .

Il y a aussi un "hide()" par exemple . du coup , il faudrait l'associer à un moyen de mettre les HP à zero .
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: attaque finale

le Jeu 1 Déc 2016 - 15:35
a.die() fait la même chose : l'ennemi disparait de la liste des ennemis attaquables et n'attaque plus mais son battler reste visible

IMPECABLE
a.die();a.hide();100+a.mat*4-b.mdf*2
et ça fonctionne

un énorme merci à vous tous
Contenu sponsorisé

Résolu Re: attaque finale

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum