Partagez
Aller en bas
avatar
Nérylis
Membre

Nombre de messages : 605
Age : 29
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Modification du gain de TP

le Ven 3 Avr 2015 - 20:25
Coucou,

Par défaut dans RPG Maker, on gagne une certaine valeur de TP quand un héros se prend des dégâts. Cette valeur est de 50 TP pour 100% de HP retirés. J'aurais souhaité modifier ce système. Pouvez-vous m'aider ? Je ne vois pas comment faire.


Dernière édition par Nérylis le Mer 15 Avr 2015 - 6:34, édité 1 fois
avatar
Gelarto
Gelato Della Mamma

Nombre de messages : 2893
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: Modification du gain de TP

le Ven 3 Avr 2015 - 20:33
Alors pour modifier la formule de calcul de TP, il faut aller dans le script "Game_Battler" et allez à la ligne 742.

Le "damage_rate" si j'ai bonne mémoire, c'est un ratio Hp max/Hp perdus (ou inverse, je ne sais plus)^^

_________________
avatar
Nérylis
Membre

Nombre de messages : 605
Age : 29
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Re: Modification du gain de TP

le Ven 3 Avr 2015 - 22:27
Oki, alors par défaut, il y a ça : self.tp += 50 * damage_rate * tcr

Est-il possible d'avoir une traduction ?^^
avatar
Gelarto
Gelato Della Mamma

Nombre de messages : 2893
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: Modification du gain de TP

le Ven 3 Avr 2015 - 23:22
Aucun problème :

le "50" est le maximum de TP qu'on peut gagner.
le "damage_rate" comme dit au dessus et un ratio HP max/HP perdus. Il est donc compris entre 0 et 1.
le "tcr" correspond normalement au taux de la caractéristique "Gain de PT". Si il n'est pas modifié, il est de 1.
Le ration inférieur va entraîner une chute du gain de PT. Le TCR est un multiplicateur, qui sert à rien si tu comptes pas modifier le Gain de PT.

_________________
avatar
Nérylis
Membre

Nombre de messages : 605
Age : 29
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Re: Modification du gain de TP

le Sam 4 Avr 2015 - 8:27
C'est un peu bizarre l'histoire du 50 comme étant le maximum de TP qu'on puisse gagner. Avec mes persos au départ qui sont à 500 HP maximum, s'ils se prennent 1000 de dégâts ou plus, la barre de TP se remplit à fond. Il ne me semble pas que j'ai touché au TCR vu que je ne savais pas ce que c'était.

Est-ce qu'il est possible de faire en sorte que les héros se prennent une valeur fixe de TP quand ils prennent un coup ? Et en fonction du type de skill ?

avatar
Gelarto
Gelato Della Mamma

Nombre de messages : 2893
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: Modification du gain de TP

le Sam 4 Avr 2015 - 12:56
Dans ce cas, ça veut juste dire que les "HP perdus" ne sont pas limités au HP max, du coup avec 1000. Tu prend en 50*2 donc ouais tp au max.

Pour la valeur fixe, suffit de remplacer la formule actuel, par un seul chiffre (tu gardes que le 50, enfin que tu diminues). Pour que ce montant varie selon le type de skill, je sais pas :/

_________________
avatar
Nérylis
Membre

Nombre de messages : 605
Age : 29
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Re: Modification du gain de TP

le Sam 4 Avr 2015 - 20:27
J'ai créé un petit script pour le moment où chaque coup reçu me donne 1 TP :

Code:
class Game_Battler
  
  #--------------------------------------------------------------------------
  # * Charge TP by Damage Suffered
  #--------------------------------------------------------------------------
  def charge_tp_by_damage(damage_rate)
    self.tp += 1
  end
end

Par contre, ça m'intéresse si quelqu'un sait comment changer la formule pour avoir une valeur différente en fonction du type de skill.
avatar
Nérylis
Membre

Nombre de messages : 605
Age : 29
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Re: Modification du gain de TP

le Ven 10 Avr 2015 - 20:57
Une modification m'a été faite selon ma demande ci-dessus. Je peux configurer la valeur des TP gagnés lorsque mes héros se prennent un coup physique (critique ou non) ou magique.

Je partage :

Code:
#Pour changer la valeur de base des TP gagnés en cas d'attaque ennemie

#class Game_Battler
 
  #--------------------------------------------------------------------------
  # * Charge TP by Damage Suffered
  #--------------------------------------------------------------------------
  #def charge_tp_by_damage(damage_rate)
    #self.tp += 1
  #end
#end

class Game_Battler < Game_BattlerBase
  attr_accessor :get_current_tp_additive
  alias orpheus_tp_additive_initialize initialize
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    orpheus_tp_additive_initialize
    @get_current_tp_additive = 0 # resets to 0 every start of the battler init.
  end 
  #--------------------------------------------------------------------------
  # * Make Damage Value : Aliased
  #-------------------------------------------------------------------------- 
  def make_damage_value(user, item)
    value = item.damage.eval(user, self, $game_variables)
    value *= item_element_rate(user, item)
    value *= pdr if item.physical?
    value *= mdr if item.magical?
    value *= rec if item.damage.recover?
    value = apply_critical(value) if @result.critical
    value = apply_variance(value, item.damage.variance)
    value = apply_guard(value)
    @result.make_damage(value.to_i, item)
    if user.is_a?(Game_Enemy) and value > 0
      if item.physical? and user.is_a?(Game_Enemy)
        if @result.critical and user.is_a?(Game_Enemy)
          #valeur normale attaque physique * 2 (coup critique)
          #ici, un coup physique critique donne à la cible 1 TP * 2
          @get_current_tp_additive = 1 * 2
          self.tp += @get_current_tp_additive
        else
          #valeur normale attaque physique
          #ici, un coup physique donne à la cible 1 TP
          self.tp += 1
        end
      end
      #valeur normale attaque magique
      #ici, un sort magique donne à la cible 2 TP
      self.tp += 2 if item.magical? and user.is_a?(Game_Enemy)
    end   
  end
  #--------------------------------------------------------------------------
  # * [TP Gain] Effect : Modified
  #--------------------------------------------------------------------------
  def item_effect_gain_tp(user, item, effect)
    value = effect.value1.to_i
    @result.tp_damage -= value
    @result.success = true if value != 0
  end 
  #--------------------------------------------------------------------------
  # * Charge TP by Damage Suffered : Modified
  #--------------------------------------------------------------------------
  def charge_tp_by_damage(damage_rate); end 
end

J'ai une demande complémentaire à formuler, toujours sur le thème des TP mais cette fois, on se place dans le contexte où ce sont les héros qui attaquent l'ennemi et qui gagnent des TP en fonction de la valeur que nous entrons manuellement dans la BDD.

J'ai configuré les skills pour qu'ils donnent 0 TP, sauf l'attaque basique qui donne 1 TP à son utilisateur. Les deux choses que je voudrais :
- Quand le héros frappe l'ennemi mais qu'il fait 0 de dégâts, je voudrais que les TP du héros n'augmentent pas.
- Quand le héros frappe l'ennemi et lui fait un coup critique, je voudrais que les TP du héros soient augmentés du double de la valeur entrée manuellement dans la BDD (c'est-à-dire 2 si on se fie à mon exemple).

C'est possible de me faire cette modification s\'il vous plaît ? Attention, le script que j'ai mis au-dessus, c'est pour les TP gagnés quand le héros se fait taper. La demande que je fais maintenant nécessite de modifier un script qui se trouve à un autre emplacement (je ne peux pas donner plus de précisions, je n'y connais pas grand chose en script).
avatar
Nérylis
Membre

Nombre de messages : 605
Age : 29
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Re: Modification du gain de TP

le Mer 15 Avr 2015 - 6:34
Bon, en final, je vais utiliser le script TP Manager de Yanfly qui va me permettre de solutionner mes derniers problèmes.
Contenu sponsorisé

Résolu Re: Modification du gain de TP

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