Partagez
Aller en bas
avatar
Chaos17
Membre

Nombre de messages : 223
Localisation : France
Distinction : aucune
Date d'inscription : 11/04/2012
http://blogofchaos17.wordpress.com/

Résolu [Rpg maker Mv] Changer un code en javascript (résolu)

le Jeu 7 Avr 2016 - 18:42
Domaine concerné: script
Logiciel utilisé: Rpg maker Mv
Salut,

J'aimerai de l'aide sur un bout de code que Yanfly a fournit lors de l'une de ses vidéos d'astuces.

Son astuce est de reproduire une résurrection auto lorsqu'un personnage meurt.
Moi, je veux applique un soins auto lorsque le personnage est dessous de 30% (par exemple) et le soigne de 10%.

Je vois les partie où je dois changer mais je connais absolument pas la formule de calcule en javascript pour les %.

Code:
<Custom React Effect>
// Check to see if the party is in battle.
if ($gameParty.inBattle()) {
  // Sets the flag if the target has more than 1 HP at the time of death.
  target._secondChance = target.hp > 1;
}
</Custom React Effect>

<Custom Respond Effect>
// Check to see if the party is in battle, has the Second Chance flag, and if the target is dead with 0 HP.
if ($gameParty.inBattle() && target._secondChance && target.hp <= 0) {
  // Play the revival animation.
  target.startAnimation(49);
  // Set the target's HP to 1.
  target.setHp(1);
}
</Custom Respond Effect>


Dernière édition par Chaos17 le Ven 8 Avr 2016 - 9:08, édité 1 fois
avatar
Al'Jeït
Membre

Nombre de messages : 141
Age : 26
Distinction : aucune
Date d'inscription : 22/09/2015
http://aljeit.deviantart.com/

Résolu Re: [Rpg maker Mv] Changer un code en javascript (résolu)

le Jeu 7 Avr 2016 - 19:01
Le check pour le montant de PV est dans ce if
Code:
($gameParty.inBattle() && target._secondChance && target.hp <= 0)

Où <=0 veut dire inférieur ou égal à 0, à voir si <=30% marche directement - pas sûr que ce soit si simple Smile
avatar
Chaos17
Membre

Nombre de messages : 223
Localisation : France
Distinction : aucune
Date d'inscription : 11/04/2012
http://blogofchaos17.wordpress.com/

Résolu Re: [Rpg maker Mv] Changer un code en javascript (résolu)

le Jeu 7 Avr 2016 - 19:09
Déjà essayé, pour çà que je demande la formule de calcule des %.
Je sais que c'est truc en parenthèse puis * 100 à la fin.
avatar
johnseed
Membre

Nombre de messages : 55
Age : 34
Distinction : aucune
Date d'inscription : 03/03/2013
http://seedsoft.moe/

Résolu Re: [Rpg maker Mv] Changer un code en javascript (résolu)

le Jeu 7 Avr 2016 - 20:42
regarde ici ca pourra peut être t'aider
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random
avatar
Al'Jeït
Membre

Nombre de messages : 141
Age : 26
Distinction : aucune
Date d'inscription : 22/09/2015
http://aljeit.deviantart.com/

Résolu Re: [Rpg maker Mv] Changer un code en javascript (résolu)

le Jeu 7 Avr 2016 - 20:56
Théoriquement le calcul des pourcentages se fait comme ceci (PVactuel/PvMax) *100
Je ne sais pas si la valeur actuelle des PV est une variable qui existe déjà ? Il faudra peut-être aussi changer le type en un entier.

Je n'ai pas du tout idée de comment appliquer ça au moteur MV par contre =/
avatar
johnseed
Membre

Nombre de messages : 55
Age : 34
Distinction : aucune
Date d'inscription : 03/03/2013
http://seedsoft.moe/

Résolu Re: [Rpg maker Mv] Changer un code en javascript (résolu)

le Jeu 7 Avr 2016 - 21:07
cela devrais recembler a ca
Code:

   var pourcent = Math.random(hp/hpmax ) *100;{
   if (pourcent  < 0.30) {
//30%
   }
   else if (pourcent < 0.50) {
//50%
 }
   else {
//
  }
avatar
tonyryu
Membre

Nombre de messages : 896
Age : 37
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

Résolu Re: [Rpg maker Mv] Changer un code en javascript (résolu)

le Jeu 7 Avr 2016 - 21:25
oula, oula, oula, je vois plein plein de chose pas très correct ici bas.

On va déjà commencer par recueillir parfaitement le besoin, et éviter d'y mettre du random (aléatoire) là dedans.

Peux-tu avant tout commencer par expliquer comment ton système doit réagir pendant un combat, et si le joueur doit lancer quelque chose pour activer le regen?
avatar
Chaos17
Membre

Nombre de messages : 223
Localisation : France
Distinction : aucune
Date d'inscription : 11/04/2012
http://blogofchaos17.wordpress.com/

Résolu Re: [Rpg maker Mv] Changer un code en javascript (résolu)

le Jeu 7 Avr 2016 - 21:27
Merci Jonseed, avec ta réponse j'ai pu modifier cette ligne :

Code:
if ($gameParty.inBattle() && target._secondChance && target.hp <= 0) {

Par

Code:
if ($gameParty.inBattle() && target._secondChance &&  (target.hp / target.mhp * 100) <= 30) {

ça marche sauf que ça ne soigne pas.

@tonyryu a écrit:
Peux-tu avant tout commencer par expliquer comment ton système doit réagir pendant un combat, et si le joueur doit lancer quelque chose pour activer le regen?

Salut,

J'applique un état sur une personne, tant que cet état est actif, il soignera de tant de % la personne.

A l'origine, le code de Yanfly qui est dans mon premier poste, ressuscite automatiquement une personne lorsque sa vie est en dessous
de 0 lorsque l'état est appliqué sur lui.
Cet effet est possible grâce au plugin de Yanfly "http://yanfly.moe/2015/12/25/yep-50-buffs-states-core/".

J'ai donc voulu changer la condition, d'au lieu de ressusciter çà soigne à (par exemple) 30% de vie la personne.
avatar
tonyryu
Membre

Nombre de messages : 896
Age : 37
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

Résolu Re: [Rpg maker Mv] Changer un code en javascript (résolu)

le Jeu 7 Avr 2016 - 22:22
Ok, donc, la condition que tu as modifiée devrait effectivement permettre de lancer l'animation. Ce qui doit être le cas par le fait que tu précises que ça marche. Cependant as tu modifié cela :

target.setHp(1);

?
avatar
Chaos17
Membre

Nombre de messages : 223
Localisation : France
Distinction : aucune
Date d'inscription : 11/04/2012
http://blogofchaos17.wordpress.com/

Résolu Re: [Rpg maker Mv] Changer un code en javascript (résolu)

le Jeu 7 Avr 2016 - 22:44
Code:
target.setHP(1)

D'après mes test, c'est le code pour rendre la vie à la personne affecté par l'état.
Ca lui donne 1 HP après qu'il fut ressusciter.
Donc moi à la place, je souhaite que çà lui rend un % de ces max HP.
avatar
Azuma-01
Membre

Nombre de messages : 94
Age : 26
Localisation : Amos
Distinction : aucune
Date d'inscription : 22/09/2009

Résolu Re: [Rpg maker Mv] Changer un code en javascript (résolu)

le Ven 8 Avr 2016 - 1:18
pour soigner de 5% : target.setHP(target.hp + Math.floor(target.mhp * 0.05))
pour soigner de 10% : target.setHP(target.hp + Math.floor(target.mhp * 0.10))
pour soigner de 15% : target.setHP(target.hp + Math.floor(target.mhp * 0.15))
...
En texte : les hp de la cible sont égal à ces hp actuel + un pourcentage de sa vie maximale.

Note: Math.floor(N) arrondis N au plus grand entier plus petit que N
Donc Math.floor(1.5) == 1, Math.floor(2.00001) == 2, Math.floor(9.99999) == 9 ...

@Chaos17 a écrit:Ca lui donne 1 HP après qu'il fut ressusciter.
plus spécifiquement, target.setHP(N) :
si N <= 0 : Donne la valeur 0 au hp de "target" et donne le status MORT
si N > 0 : Donne la valeur N au hp de "target" et retire le status MORT si existant

code exemple: Si sous l'état et que ça vie est à moins de 30%, reçois 5% de vie avec l'animation 5
Code:
if($gameParty.inBattle() && target._secondChance && target.hpRate() < 0.30) {
  target.startAnimation(5);
  target.setHP(target.hp + Math.floor(target.maxhp * 0.05));
}
avatar
Chaos17
Membre

Nombre de messages : 223
Localisation : France
Distinction : aucune
Date d'inscription : 11/04/2012
http://blogofchaos17.wordpress.com/

Résolu Re: [Rpg maker Mv] Changer un code en javascript (résolu)

le Ven 8 Avr 2016 - 9:07
Merci pour l'explication, dur dur à retenir tout çà.

Sujet résolu, merci à tous Very Happy
avatar
tonyryu
Membre

Nombre de messages : 896
Age : 37
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

Résolu Re: [Rpg maker Mv] Changer un code en javascript (résolu)

le Ven 8 Avr 2016 - 9:19
C'est pour cela, qu'il faut absolument utiliser des outils adaptés. Je ne peux que conseiller NetBeans pour coder vos plugins :

Contenu sponsorisé

Résolu Re: [Rpg maker Mv] Changer un code en javascript (résolu)

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