Partagez
Aller en bas
Balbereith
Balbereith
Staffeux retraité

Nombre de messages : 4129
Age : 27
Localisation : dans l'ombre...
Distinction : Péripatéticienne à temps perdu
Helly n°666 [Coco' ;D]
mon ptit balbounet p'tit jardinier en herbe(les râteaux ça le connait) [tonton Adurna]
Cultivateur professionnel de la commu' (il a de bons outils en de nombreux exemplaires Equipment Levels Up 522164 ) [Coco' Smile]
Date d'inscription : 13/05/2009

Equipment Levels Up Empty Equipment Levels Up

le Sam 25 Aoû 2012 - 23:07
Nouvelle traduction.
Requiert : https://www.rpgmakervx-fr.com/t12868-individual-equipment
Crédit : Fomar0153

Code:
=begin
Equipment Levels Up
by Fomar0153
Version 1.0
----------------------
Notes
----------------------
Ce script permet aux armes te devenir plus forte et de monter de niveau
quand elles gagnent de XP ou des AP.
----------------------
Instructions
----------------------
Requiert : Individual equipement 1.1+
Requiert : un script d'AP si le leveling nécessite des AP
Personnalisez les variables dans le module pour configurer le script à votre préférence.

notetags

<maxlevel x> - ajoute un niveau max qui n'est pas celui par défaut.
----------------------
Known bugs
----------------------
None
=end

module Fomar
 
  #Si vous voulez seulement implémenter pour les armes ou pour les armures
  # mettez false à celui que vous ne voulez pas.
  WLU_WEAPONS_LEVEL_UP = true
  WLU_ARMOURS_LEVEL_UP = true
  #Ce script peut être utilisé avec les XP ou les AP
  # Pour utiliser les AP, il vous faut aussi un système d'AP
  # true -> utilise AP
  # false -> utilise EXP
  WLU_USE_AP = false
  # Détermine l'ordre de la nomination des équipements
  # true -> level, nom
  # false -> nom, level
  WLU_PREFIX = false
  # Les %s sont remplacés par le niveau et le nom de l'équipement.
  WLU_VOCAB_WEAPON_NAME = "%s LV %s"
  # level max par défaut
  # Mettre 0 permet de choisir les armes qui vont level up
  WLU_DEF_MAX_LEVEL = 5
  #Augmentation par défaut des stats d'une arme lors d'un level up (pourcentages)
  WLU_DEF_PARAM_INC = 25
  # Mettez sur false si vous voulez que le prix ne soit pas affecté
  # par l'augmentation de niveau.
  WLU_PRICE_LEVEL_UP = true
  # Expérience par défaut par niveau
  # J'ai prévu de formules par défaut : une pour les XP et une pour les AP
  def self.WLU_EXP_FOR_LEVEL(item); return item.performance * 10; end
  def self.WLU_AP_FOR_LEVEL(item); return item.performance; end
 
end


class Game_CustomEquip < Game_BaseItem
 
  alias wlu_initialize initialize
  def initialize
    wlu_initialize
    @exp = 0
    @level = 1
  end
 
  def gain_exp(exp)
    return unless levels?
    @exp += exp
    last_level = @level
    unless Fomar::WLU_USE_AP
      while @exp >= @level * Fomar.WLU_EXP_FOR_LEVEL(object) and @level < object.max_level
        @level += 1
        $game_message.add(object.name + " levels up.")
      end
    else
      while @exp >= @level * Fomar.WLU_AP_FOR_LEVEL(object) and @level < object.max_level
        @level += 1
        $game_message.add(object.name + " levels up.")
      end
    end
  end
 
  def levels?
    return false if is_nil?
    return (((is_weapon? and Fomar::WLU_WEAPONS_LEVEL_UP) or
            (is_armor? and Fomar::WLU_ARMOURS_LEVEL_UP)) and
            object.max_level > 0)
  end
 
  alias wlu_name name
  def name
    return nil if is_nil?
    return wlu_name unless levels?
    return sprintf(Fomar::WLU_VOCAB_WEAPON_NAME,@level,wlu_name) if Fomar::WLU_PREFIX
    return sprintf(Fomar::WLU_VOCAB_WEAPON_NAME,wlu_name,@level)
  end
 
  alias wlu_price price
  def price
    return nil if is_nil?
    return wlu_price unless levels?
    return wlu_price unless Fomar::WLU_PRICE_LEVEL_UP
    return (100 + Fomar::WLU_DEF_PARAM_INC * @level + object.price)/100
  end
 
  def params
    return nil if is_nil?
    par = object.params.clone
    for i in 0..par.size - 1
      par[i] *= 100 + Fomar::WLU_DEF_PARAM_INC * (@level - 1)
      par[i] /= 100
    end
    return par
  end
 
  alias wlu_performance performance
  def performance
    return nil if is_nil?
    return wlu_performance unless levels?
    par = params
    p = 0
    for pa in par
      p += pa
    end
    if is_weapon?
      p += par[2] + par[4]
    else
      p += par[3] + par[5]
    end
    return p
  end
 
end

module RPG
  class EquipItem
    def max_level
      if self.note =~ /<maxlevel (.*)>/i
        return $1.to_i
      else
        return Fomar::WLU_DEF_MAX_LEVEL
      end
    end
  end
end

class Game_Actor < Game_Battler
 
  alias wlu_gain_exp gain_exp
  def gain_exp(exp)
    for equip in @equips
      equip.gain_exp(exp)
    end
    wlu_gain_exp(exp)
  end
 
  def gain_ap(ap)
    for equip in @equips
      equip.gain_exp(ap)
    end
  end
 
  def custom_equips
    return @equips
  end
 
  # rewrites param_plus
  def param_plus(param_id)
    p = super(param_id)
    for equip in @equips
      p += equip.params[param_id] unless equip.is_nil?
    end
    return p
  end
 
end


class Window_Base < Window
 
  alias wlu_draw_item_name draw_item_name
  def draw_item_name(item, x, y, enabled = true, width = 172)
    return unless item
    if item.is_a?(Game_CustomEquip)
      return if item.is_nil?
    end
    wlu_draw_item_name(item, x, y, enabled = true, width)
  end
 
end

class Window_EquipSlot < Window_Selectable
 
  # rewrites draw_item
  def draw_item(index)
    return unless @actor
    rect = item_rect_for_text(index)
    change_color(system_color, enable?(index))
    draw_text(rect.x, rect.y, 92, line_height, slot_name(index))
    draw_item_name(@actor.custom_equips[index], rect.x + 92, rect.y, enable?(index))
  end
 
end



Dernière édition par Balbereith le Lun 3 Sep 2012 - 2:25, édité 1 fois
Shadow Of Kragors
Shadow Of Kragors
Membre

Nombre de messages : 104
Age : 23
Localisation : Au plus profond des ténèbres, parmis les ombres . . .
Distinction : aucune
Date d'inscription : 28/08/2012

Equipment Levels Up Empty Re: Equipment Levels Up

le Mer 29 Aoû 2012 - 16:01
Sympa comme script Very Happy

Y a t-il un moyen de ne selectionner que l'accessoire ?
Balbereith
Balbereith
Staffeux retraité

Nombre de messages : 4129
Age : 27
Localisation : dans l'ombre...
Distinction : Péripatéticienne à temps perdu
Helly n°666 [Coco' ;D]
mon ptit balbounet p'tit jardinier en herbe(les râteaux ça le connait) [tonton Adurna]
Cultivateur professionnel de la commu' (il a de bons outils en de nombreux exemplaires Equipment Levels Up 522164 ) [Coco' Smile]
Date d'inscription : 13/05/2009

Equipment Levels Up Empty Re: Equipment Levels Up

le Mer 29 Aoû 2012 - 16:26
Code:
  # Mettre 0 permet de choisir les armes qui vont level up
  WLU_DEF_MAX_LEVEL = 5
et
Code:

notetags

<maxlevel x> - ajoute un niveau max qui n'est pas celui par défaut.

Donc c'est possible.

Toutes les instructions sont dans le script.
Shadow Of Kragors
Shadow Of Kragors
Membre

Nombre de messages : 104
Age : 23
Localisation : Au plus profond des ténèbres, parmis les ombres . . .
Distinction : aucune
Date d'inscription : 28/08/2012

Equipment Levels Up Empty Re: Equipment Levels Up

le Mer 29 Aoû 2012 - 17:53
Merci Very Happy
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum