Accueil du SiteAccueil du Site  AccueilAccueil  FAQFAQ  RechercherRechercher  MembresMembres  GroupesGroupes  ConnexionConnexion  S'enregistrerS'enregistrer  




Partagez | 
 

 [XP] Advanced Items

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Mat
Paysan (niveau 2)
Paysan (niveau 2)
avatar

Messages postés : 17
Date d'inscription : 05/09/2013
Jauge LPC :
40 / 10040 / 100


MessageSujet: [XP] Advanced Items   Ven 6 Sep 2013 - 22:51

Advanced Items

Auteur : Åvygeil

Description : Ce script permet de donner une existence propre à chaque item de l'inventaire au lieu de simplement connaitre le nombre d'items d'un type donné.
On peut ainsi donner des attributs dynamiques aux items.

Ce script n'a pas de réelle utilité seul, mais doit être étendre avec d'autres scripts.

Script : Le script est découpé ci-dessous en plusieurs parties.

Advanced Items :
Code:
#===============================================================================
# *** Advanced Items
#-------------------------------------------------------------------------------
# Auteur  : Åvygeil
# Version : 1.0
#-------------------------------------------------------------------------------
# Ce script permet de donner une existence propre à chaque item de l'inventaire
# au lieu de simplement connaitre le nombre d'items d'un type donné.
# On peut ainsi donner des attributs dynamiques aux items.
#===============================================================================

#===============================================================================
# ** Game_Item
#-------------------------------------------------------------------------------
# Cette classe permet de donner une existence propre à chaque objet.
#===============================================================================
class Game_Item
 
  attr_reader :name          
  attr_reader :icon_name    
  attr_reader :description    
  attr_reader :scope          
  attr_reader :occasion        
  attr_reader :animation1_id  
  attr_reader :animation2_id  
  attr_reader :menu_se        
  attr_reader :common_event_id
  attr_reader :price          
  attr_reader :consumable      
  attr_reader :parameter_type
  attr_reader :parameter_points
  attr_reader :recover_hp_rate
  attr_reader :recover_hp
  attr_reader :recover_sp_rate
  attr_reader :recover_sp
  attr_reader :hit
  attr_reader :pdef_f
  attr_reader :mdef_f
  attr_reader :variance
  attr_reader :element_set
  attr_reader :plus_state_set
  attr_reader :minus_state_set
 
  #=============================================================================
  # * initialize
  #    item_id : id de l'objet RPG::Item servant à l'initialisation.
  #=============================================================================
  def initialize(item_id)
    setup(item_id)
  end
 
  #=============================================================================
  # * setup
  #    item_id : id de l'objet RPG::Item servant à l'initialisation.
  #=============================================================================
  def setup(item_id)
    item = $data_items[item_id]
    @item_id = item_id
    @name = item.name
    @icon_name = item.icon_name
    @description = item.description
    @scope = item.scope
    @occasion = item.occasion
    @animation1_id = item.animation1_id
    @animation2_id = item.animation2_id
    @menu_se = item.menu_se
    @common_event_id = item.common_event_id
    @price = item.price
    @consumable = item.consumable
    @parameter_type = item.parameter_type
    @parameter_points = item.parameter_points
    @recover_hp_rate = item.recover_hp_rate
    @recover_hp = item.recover_hp
    @recover_sp_rate = item.recover_sp_rate
    @recover_sp = item.recover_sp
    @hit = item.hit
    @pdef_f = item.pdef_f
    @mdef_f = item.mdef_f
    @variance = item.variance
    @element_set = item.element_set
    @plus_state_set = item.plus_state_set
    @minus_state_set = item.minus_state_set
  end
 
  #=============================================================================
  # * id
  #-----------------------------------------------------------------------------
  # Renvoie l'id correspondant au type de l'objet.
  #=============================================================================
  def id
    return @item_id
  end
 
end

#===============================================================================
# ** Game_Weapon
#-------------------------------------------------------------------------------
# Cette classe permet de donner une existence propre à chaque arme.
#===============================================================================
class Game_Weapon
 
  attr_reader :name
  attr_reader :icon_name
  attr_reader :description
  attr_reader :animation1_id
  attr_reader :animation2_id
  attr_reader :price
  attr_reader :atk
  attr_reader :pdef
  attr_reader :mdef
  attr_reader :str_plus
  attr_reader :dex_plus
  attr_reader :agi_plus
  attr_reader :int_plus
  attr_reader :element_set
  attr_reader :plus_state_set
  attr_reader :minus_state_set
 
  #=============================================================================
  # * initialize
  #    weapon_id : id de l'objet RPG::Weapon servant à l'initialisation.
  #=============================================================================
  def initialize(weapon_id)
    setup(weapon_id)
  end
 
  #=============================================================================
  # * setup
  #    weapon_id : id de l'objet RPG::Weapon servant à l'initialisation.
  #=============================================================================
  def setup(weapon_id)
    weapon = $data_weapons[weapon_id]
    @weapon_id = weapon.id
    @name = weapon.name
    @icon_name = weapon.icon_name
    @description = weapon.description
    @animation1_id = weapon.animation1_id
    @animation2_id = weapon.animation2_id
    @price = weapon.price
    @atk = weapon.atk
    @pdef = weapon.pdef
    @mdef = weapon.mdef
    @str_plus = weapon.str_plus
    @dex_plus = weapon.dex_plus
    @agi_plus = weapon.agi_plus
    @int_plus = weapon.int_plus
    @element_set = weapon.element_set
    @plus_state_set = weapon.plus_state_set
    @minus_state_set = weapon.minus_state_set
  end
 
  #=============================================================================
  # * id
  #-----------------------------------------------------------------------------
  # Renvoie l'id correspondant au type de l'arme.
  #=============================================================================
  def id
    return @weapon_id
  end
 
end

#===============================================================================
# ** Game_Armor
#-------------------------------------------------------------------------------
# Cette classe permet de donner une existence propre à chaque armure.
#===============================================================================
class Game_Armor
 
  attr_reader :name
  attr_reader :icon_name
  attr_reader :description
  attr_reader :kind
  attr_reader :auto_state_id
  attr_reader :price
  attr_reader :pdef
  attr_reader :mdef
  attr_reader :eva
  attr_reader :str_plus
  attr_reader :dex_plus
  attr_reader :agi_plus
  attr_reader :int_plus
  attr_reader :guard_element_set
  attr_reader :guard_state_set
  
  #=============================================================================
  # * initialize
  #    armor_id : id de l'objet RPG::Armor servant à l'initialisation.
  #=============================================================================
  def initialize(armor_id)
    setup(armor_id)
  end
 
  #=============================================================================
  # * setup
  #    armor_id : id de l'objet RPG::Armor servant à l'initialisation.
  #=============================================================================
  def setup(armor_id)
    armor = $data_armors[armor_id]
    @armor_id = armor.id
    @name = armor.name
    @icon_name = armor.icon_name
    @description = armor.description
    @kind = armor.kind
    @auto_state_id = armor.auto_state_id
    @price = armor.price
    @pdef = armor.pdef
    @mdef = armor.mdef
    @eva = armor.eva
    @str_plus = armor.str_plus
    @dex_plus = armor.dex_plus
    @agi_plus = armor.agi_plus
    @int_plus = armor.int_plus
    @guard_element_set = armor.guard_element_set
    @guard_state_set = armor.guard_state_set
  end
 
  #=============================================================================
  # * id
  #-----------------------------------------------------------------------------
  # Renvoie l'id correspondant au type de l'armure.
  #=============================================================================
  def id
    @armor_id
  end
 
end

#===============================================================================
# ** Game_Party
#-------------------------------------------------------------------------------
# On modifie dans cette classe la manière dont
# les items sont stockés et manipulés.
#===============================================================================
class Game_Party
 
  attr_reader :items  # liste des items
  attr_reader :weapons # liste des armes
  attr_reader :armors  # liste des armures
 
  #=============================================================================
  # * initialize
  #-----------------------------------------------------------------------------
  # On définit les nouveaux conteneurs pour les items.
  #=============================================================================
  alias item_initialize initialize
  def initialize
    item_initialize
    @items = []
    @weapons = []
    @armors = []
  end
 
  #=============================================================================
  # * setup_battle_test_members
  #-----------------------------------------------------------------------------
  # Mise en place des combattants pour tester un combat.
  #=============================================================================
  def setup_battle_test_members
    @actors = []
    for battler in $data_system.test_battlers
      actor = $game_actors[battler.actor_id]
      actor.level = battler.level
      weapon = battler.weapon_id != 0 ? Game_Weapon.new(battler.weapon_id) : nil
      armor1 = battler.armor1_id != 0 ? Game_Armor.new(battler.armor1_id) : nil
      armor2 = battler.armor2_id != 0 ? Game_Armor.new(battler.armor2_id) : nil
      armor3 = battler.armor3_id != 0 ? Game_Armor.new(battler.armor3_id) : nil
      armor4 = battler.armor4_id != 0 ? Game_Armor.new(battler.armor4_id) : nil
      gain_weapon(weapon)
      gain_armor(armor1)
      gain_armor(armor2)
      gain_armor(armor3)
      gain_armor(armor4)
      actor.equip(0, weapon)
      actor.equip(1, armor1)
      actor.equip(2, armor2)
      actor.equip(3, armor3)
      actor.equip(4, armor4)
      actor.recover_all
      @actors.push(actor)
    end
    @items = {}
    for i in 1...$data_items.size
      if $data_items[i].name != ""
        occasion = $data_items[i].occasion
        if occasion == 0 or occasion == 1
          @items[i] = 99
        end
      end
    end
  end
 
  #=============================================================================
  # * item_number
  #    item_id : id du type d'objet
  #-----------------------------------------------------------------------------
  # Renvoie le nombre d'objets du type choisi.
  #=============================================================================
  def item_number(item_id)
    return @items.find_all { |item| item.id == item_id }.size
  end
 
  #=============================================================================
  # * gain_item
  #    item : un objet
  #-----------------------------------------------------------------------------
  # L'équipe ajoute l'objet à son inventaire.
  #=============================================================================
  def gain_item(item)
    @items.push(item)
  end
 
  #=============================================================================
  # * lose_item
  #    item  : un objet
  #-----------------------------------------------------------------------------
  # L'équipe enlève l'objet de son inventaire.
  #=============================================================================
  def lose_item(item)
    @items.delete(item)
  end
 
  #=============================================================================
  # * weapon_number
  #    weapon_id : id du type d'arme
  #-----------------------------------------------------------------------------
  # Renvoie le nombre d'armes du type choisi.
  #=============================================================================
  def weapon_number(weapon_id)
    return @weapons.find_all { |weapon| weapon.id == weapon_id }.size
  end
 
  #=============================================================================
  # * gain_weapon
  #    weapon : une arme
  #-----------------------------------------------------------------------------
  # L'équipe ajoute l'arme à son inventaire.
  #=============================================================================
  def gain_weapon(weapon)
    @weapons.push(weapon)
  end
 
  #=============================================================================
  # * lose_weapon
  #    weapon  : une arme
  #-----------------------------------------------------------------------------
  # L'équipe enlève l'arme de son inventaire.
  #=============================================================================
  def lose_weapon(weapon)
    @weapons.delete(weapon)
  end
 
  #=============================================================================
  # * armor_number
  #    armor_id : id du type d'armure
  #-----------------------------------------------------------------------------
  # Renvoie le nombre d'armures du type choisi.
  #=============================================================================
  def armor_number(armor_id)
    return @armors.find_all { |armor| armor.id == armor_id }.size
  end
 
  #=============================================================================
  # * gain_armor
  #    armor : une armure
  #-----------------------------------------------------------------------------
  # L'équipe ajoute l'armure à son inventaire.
  #=============================================================================
  def gain_armor(armor)
    @armors.push(armor)
  end
 
  #=============================================================================
  # * lose_armor
  #    armor : une armure
  #-----------------------------------------------------------------------------
  # L'équipe enlève l'armure de son inventaire.
  #=============================================================================
  def lose_armor(armor)
    @armors.delete(armor)
  end
 
end


Dernière édition par Mat le Ven 6 Sep 2013 - 23:11, édité 2 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Mat
Paysan (niveau 2)
Paysan (niveau 2)
avatar

Messages postés : 17
Date d'inscription : 05/09/2013
Jauge LPC :
40 / 10040 / 100


MessageSujet: Re: [XP] Advanced Items   Ven 6 Sep 2013 - 22:52

Game_Actor :
Code:
#===============================================================================
# ** Game_Actor
#-------------------------------------------------------------------------------
# On modifie dans cette classe la manière dont est géré l'équipement.
#===============================================================================
class Game_Actor < Game_Battler
 
  attr_reader :weapon
  attr_reader :armor1
  attr_reader :armor2
  attr_reader :armor3
  attr_reader :armor4
 
  #=============================================================================
  # * setup
  #    actor_id : id du personnage
  #=============================================================================
  def setup(actor_id)
    actor = $data_actors[actor_id]
    @actor_id = actor_id
    @name = actor.name
    @character_name = actor.character_name
    @character_hue = actor.character_hue
    @battler_name = actor.battler_name
    @battler_hue = actor.battler_hue
    @class_id = actor.class_id
    @weapon = (actor.weapon_id == 0 ? nil : Game_Weapon.new(actor.weapon_id))
    @armor1 = (actor.armor1_id == 0 ? nil : Game_Armor.new(actor.armor1_id))
    @armor2 = (actor.armor2_id == 0 ? nil : Game_Armor.new(actor.armor2_id))
    @armor3 = (actor.armor3_id == 0 ? nil : Game_Armor.new(actor.armor3_id))
    @armor4 = (actor.armor4_id == 0 ? nil : Game_Armor.new(actor.armor4_id))
    @level = actor.initial_level
    @exp_list = Array.new(101)
    make_exp_list
    @exp = @exp_list[@level]
    @skills = []
    @hp = maxhp
    @sp = maxsp
    @states = []
    @states_turn = {}
    @maxhp_plus = 0
    @maxsp_plus = 0
    @str_plus = 0
    @dex_plus = 0
    @agi_plus = 0
    @int_plus = 0
    for i in 1..@level
      for j in $data_classes[@class_id].learnings
        if j.level == i
          learn_skill(j.skill_id)
        end
      end
    end
    update_auto_state(nil, @armor1)
    update_auto_state(nil, @armor2)
    update_auto_state(nil, @armor3)
    update_auto_state(nil, @armor4)
  end
 
  #=============================================================================
  # * element_set
  #=============================================================================
  def element_set
    return @weapon != nil ? @weapon.element_set : []
  end
 
  #=============================================================================
  # * plus_state_set
  #=============================================================================
  def plus_state_set
    return @weapon != nil ? @weapon.plus_state_set : []
  end
 
  #=============================================================================
  # * minus_state_set
  #=============================================================================
  def minus_state_set
    return @weapon != nil ? @weapon.minus_state_set : []
  end
 
  #=============================================================================
  # * animation1_id
  #=============================================================================
  def animation1_id
    print "animation1_id" + (@weapon != nil ? @weapon.animation1_id : 0).to_s
    return @weapon != nil ? @weapon.animation1_id : 0
  end
 
  #=============================================================================
  # * animation2_id
  #=============================================================================
  def animation2_id
    print "animation2_id" + (@weapon != nil ? @weapon.animation2_id : 0).to_s
    return @weapon != nil ? @weapon.animation2_id : 0
  end
 
  #=============================================================================
  # * element_rate
  #=============================================================================
  def element_rate(element_id)
    table = [0,200,150,100,50,0,-100]
    result = table[$data_classes[@class_id].element_ranks[element_id]]
    for armor in [@armor1, @armor2, @armor3, @armor4]
      if armor != nil and armor.guard_element_set.include?(element_id)
        result /= 2
      end
    end
    for i in @states
      if $data_states[i].guard_element_set.include?(element_id)
        result /= 2
      end
    end
    return result
  end
 
  #=============================================================================
  # * state_guard?
  #=============================================================================
  def state_guard?(state_id)
    for armor in [@armor1, @armor2, @armor3, @armor4]
      if armor != nil
        if armor.guard_state_set.include?(state_id)
          return true
        end
      end
    end
    return false
  end
 
  #=============================================================================
  # * base_str
  #=============================================================================
  def base_str
    if $game_temp.god_mode
      return 999
    end
    n = $data_actors[@actor_id].parameters[2, @level]
    n += @weapon != nil ? @weapon.str_plus : 0
    n += @armor1 != nil ? @armor1.str_plus : 0
    n += @armor2 != nil ? @armor2.str_plus : 0
    n += @armor3 != nil ? @armor3.str_plus : 0
    n += @armor4 != nil ? @armor4.str_plus : 0
    return [[n, 1].max, 999].min
  end
 
  #=============================================================================
  # * base_dex
  #=============================================================================
  def base_dex
    if $game_temp.god_mode
      return 999
    end
    n = $data_actors[@actor_id].parameters[3, @level]
    n += @weapon != nil ? @weapon.dex_plus : 0
    n += @armor1 != nil ? @armor1.dex_plus : 0
    n += @armor2 != nil ? @armor2.dex_plus : 0
    n += @armor3 != nil ? @armor3.dex_plus : 0
    n += @armor4 != nil ? @armor4.dex_plus : 0
    return [[n, 1].max, 999].min
  end
 
  #=============================================================================
  # * base_agi
  #=============================================================================
  def base_agi
    if $game_temp.god_mode
      return 999
    end
    n = $data_actors[@actor_id].parameters[4, @level]
    n += @weapon != nil ? @weapon.agi_plus : 0
    n += @armor1 != nil ? @armor1.agi_plus : 0
    n += @armor2 != nil ? @armor2.agi_plus : 0
    n += @armor3 != nil ? @armor3.agi_plus : 0
    n += @armor4 != nil ? @armor4.agi_plus : 0
    return [[n, 1].max, 999].min
  end
 
  #=============================================================================
  # * base_int
  #=============================================================================
  def base_int
    if $game_temp.god_mode
      return 999
    end
    n = $data_actors[@actor_id].parameters[5, @level]
    n += @weapon != nil ? @weapon.int_plus : 0
    n += @armor1 != nil ? @armor1.int_plus : 0
    n += @armor2 != nil ? @armor2.int_plus : 0
    n += @armor3 != nil ? @armor3.int_plus : 0
    n += @armor4 != nil ? @armor4.int_plus : 0
    return [[n, 1].max, 999].min
  end
 
  #=============================================================================
  # * base_atk
  #=============================================================================
  def base_atk
    if $game_temp.god_mode
      return 9999999
    end
    return @weapon != nil ? @weapon.atk : 0
  end
 
  #=============================================================================
  # * base_pdef
  #=============================================================================
  def base_pdef
    if $game_temp.god_mode
      return 999999
    end
    pdef1 = @weapon != nil ? @weapon.pdef : 0
    pdef2 = @armor1 != nil ? @armor1.pdef : 0
    pdef3 = @armor2 != nil ? @armor2.pdef : 0
    pdef4 = @armor3 != nil ? @armor3.pdef : 0
    pdef5 = @armor4 != nil ? @armor4.pdef : 0
    return pdef1 + pdef2 + pdef3 + pdef4 + pdef5
  end
 
  #=============================================================================
  # * base_mdef
  #=============================================================================
  def base_mdef
    if $game_temp.god_mode
      return 999999
    end
    mdef1 = @weapon != nil ? @weapon.mdef : 0
    mdef2 = @armor1 != nil ? @armor1.mdef : 0
    mdef3 = @armor2 != nil ? @armor2.mdef : 0
    mdef4 = @armor3 != nil ? @armor3.mdef : 0
    mdef5 = @armor4 != nil ? @armor4.mdef : 0
    return mdef1 + mdef2 + mdef3 + mdef4 + mdef5
  end
 
  #=============================================================================
  # * base_eva
  #=============================================================================
  def base_eva
    if $game_temp.god_mode
      return 999999
    end
    eva1 = @armor1 != nil ? @armor1.eva : 0
    eva2 = @armor2 != nil ? @armor2.eva : 0
    eva3 = @armor3 != nil ? @armor3.eva : 0
    eva4 = @armor4 != nil ? @armor4.eva : 0
    return eva1 + eva2 + eva3 + eva4
  end
 
  #=============================================================================
  # * equip
  #    equip_type : type d'équipement
  #    item      : item à équiper
  #=============================================================================
  def equip(equip_type, item)
    case equip_type
    when 0
      $game_party.gain_weapon(@weapon) if @weapon != nil
      $game_party.lose_weapon(item) if item != nil
      @weapon = item
    when 1
      update_auto_state(@armor1, item)
      $game_party.gain_armor(@armor1) if @armor1 != nil
      $game_party.lose_armor(item) if item != nil
      @armor1 = item
    when 2
      update_auto_state(@armor2, item)
      $game_party.gain_armor(@armor2) if @armor2 != nil
      $game_party.lose_armor(item) if item != nil
      @armor2 = item
    when 3
      update_auto_state(@armor3, item)
      $game_party.gain_armor(@armor3) if @armor3 != nil
      $game_party.lose_armor(item) if item != nil
      @armor3 = item
    when 4
      update_auto_state(@armor4, item)
      $game_party.gain_armor(@armor4) if @armor4 != nil
      $game_party.lose_armor(item) if item != nil
      @armor4 = item
    end
  end
 
  #=============================================================================
  # * equippable?
  #    item : item à tester
  #=============================================================================
  def equippable?(item)
    if item.is_a?(Game_Weapon) or item.is_a?(RPG::Weapon)
      if $data_classes[@class_id].weapon_set.include?(item.id)
        return true
      end
    end
    if item.is_a?(Game_Armor) or item.is_a?(RPG::Armor)
      if $data_classes[@class_id].armor_set.include?(item.id)
        return true
      end
    end
    return false
  end
 
  #=============================================================================
  # * class_id=
  #    class_id : id de la nouvelle classe
  #=============================================================================
  def class_id=(class_id)
    if $data_classes[class_id] != nil
      @class_id = class_id
      unless equippable?(@weapon)
        equip(0, nil)
      end
      unless equippable?(@armor1)
        equip(1, nil)
      end
      unless equippable?(@armor2)
        equip(2, nil)
      end
      unless equippable?(@armor3)
        equip(3, nil)
      end
      unless equippable?(@armor4)
        equip(4, nil)
      end
    end
  end
 
end
Interpreter :
Code:
#===============================================================================
# ** Interpreter
#===============================================================================
class Interpreter
 
  #=============================================================================
  # * command_111
  #-----------------------------------------------------------------------------
  # Condition
  #=============================================================================
  def command_111
    result = false
    case @parameters[0]
    when 0
      result = ($game_switches[@parameters[1]] == (@parameters[2] == 0))
    when 1
      value1 = $game_variables[@parameters[1]]
      if @parameters[2] == 0
        value2 = @parameters[3]
      else
        value2 = $game_variables[@parameters[3]]
      end
      case @parameters[4]
      when 0
        result = (value1 == value2)
      when 1
        result = (value1 >= value2)
      when 2
        result = (value1 <= value2)
      when 3
        result = (value1 > value2)
      when 4
        result = (value1 < value2)
      when 5
        result = (value1 != value2)
      end
    when 2
      if @event_id > 0
        key = [$game_map.map_id, @event_id, @parameters[1]]
        if @parameters[2] == 0
          result = ($game_self_switches[key] == true)
        else
          result = ($game_self_switches[key] != true)
        end
      end
    when 3
      if $game_system.timer_working
        sec = $game_system.timer / Graphics.frame_rate
        if @parameters[2] == 0
          result = (sec >= @parameters[1])
        else
          result = (sec <= @parameters[1])
        end
      end
    when 4
      actor = $game_actors[@parameters[1]]
      if actor != nil
        case @parameters[2]
        when 0
          result = ($game_party.actors.include?(actor))
        when 1
          result = (actor.name == @parameters[3])
        when 2
          result = (actor.skill_learn?(@parameters[3]))
        when 3
          result = (actor.weapon.id == @parameters[3])
        when 4
          result = (actor.armor1.id == @parameters[3] or
                    actor.armor2.id == @parameters[3] or
                    actor.armor3.id == @parameters[3])
        when 5
          result = (actor.state?(@parameters[3]))
        end
      end
    when 5
      enemy = $game_troop.enemies[@parameters[1]]
      if enemy != nil
        case @parameters[2]
        when 0
          result = (enemy.exist?)
        when 1
          result = (enemy.state?(@parameters[3]))
        end
      end
    when 6
      character = get_character(@parameters[1])
      if character != nil
        result = (character.direction == @parameters[2])
      end
    when 7
      if @parameters[2] == 0
        result = ($game_party.gold >= @parameters[1])
      else
        result = ($game_party.gold <= @parameters[1])
      end
    when 8
      result = ($game_party.item_number(@parameters[1]) > 0)
    when 9
      result = ($game_party.weapon_number(@parameters[1]) > 0)
    when 10
      result = ($game_party.armor_number(@parameters[1]) > 0)
    when 11
      result = (Input.press?(@parameters[1]))
    when 12
      result = eval(@parameters[1])
    end
    @branch[@list[@index].indent] = result
    if @branch[@list[@index].indent] == true
      @branch.delete(@list[@index].indent)
      return true
    end
    return command_skip
  end
 
  #=============================================================================
  # * command_126
  #-----------------------------------------------------------------------------
  # Ajouter/retirer objets
  #=============================================================================
  def command_126
    value = operate_value(@parameters[1], @parameters[2], @parameters[3])
    value.abs.times do
      if value > 0
        item = Game_Item.new(@parameters[0])
        $game_party.gain_item(item)
      else
        item = $game_party.items.find { |item| item.id == @parameters[0] }
        $game_party.lose_item(item) if item != nil
      end
    end
    return true
  end

  #=============================================================================
  # * command_127
  #-----------------------------------------------------------------------------
  # Ajouter/retirer armes
  #=============================================================================
  def command_127
    value = operate_value(@parameters[1], @parameters[2], @parameters[3])
    value.abs.times do |i|
      if value > 0
        weapon = Game_Weapon.new(@parameters[0])
        $game_party.gain_weapon(weapon)
      else
        item = $game_party.weapons.find { |weapon| weapon.id == @parameters[0] }
        $game_party.lose_weapon(weapon) if weapon != nil
      end
    end
    return true
  end
 
  #=============================================================================
  # * command_128
  #-----------------------------------------------------------------------------
  # Ajouter/retirer armures
  #=============================================================================
  def command_128
    value = operate_value(@parameters[1], @parameters[2], @parameters[3])
    value.abs.times do |i|
      if value > 0
        armor = Game_Armor.new(@parameters[0])
        $game_party.gain_armor(armor)
      else
        armor = $game_party.armors.find { |armor| armor.id == @parameters[0] }
        $game_party.lose_armor(armor) if armor != nil
      end
    end
    return true
  end
 
  #=============================================================================
  # * command_319
  #-----------------------------------------------------------------------------
  # Modifier l'équipement
  #=============================================================================
  def command_319
    actor = $game_actors[@parameters[0]]
    if actor != nil
      item = nil
      if @parameters[2] != 0
        if @parameters[1] == 0
          item = Game_Weapon.new(@parameters[2])
        else
          item = Game_Armor.new(@parameters[2])
        end
      end
      actor.equip(@parameters[1], @parameters[2])
    end
    return true
  end
 
end
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Mat
Paysan (niveau 2)
Paysan (niveau 2)
avatar

Messages postés : 17
Date d'inscription : 05/09/2013
Jauge LPC :
40 / 10040 / 100


MessageSujet: Re: [XP] Advanced Items   Ven 6 Sep 2013 - 22:54

Scene_Item :
Code:
#===============================================================================
# *** Advanced Items : Scene_Item
#-------------------------------------------------------------------------------
# Auteur  : Åvygeil
# Version : 1.0
#-------------------------------------------------------------------------------
# Adaptation de Scene_Item au système d'items séparés.
#===============================================================================
 
#===============================================================================
# ** Scene_Item
#===============================================================================
class Scene_Item
 
  #=============================================================================
  # * update_item
  #=============================================================================
  def update_item
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new(0)
      return
    end
    if Input.trigger?(Input::C)
      @item = @item_window.item
      unless @item.is_a?(Game_Item)
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      unless $game_party.item_can_use?(@item.id)
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      $game_system.se_play($data_system.decision_se)
      if @item.scope >= 3
        @item_window.active = false
        @target_window.x = (@item_window.index + 1) % 2 * 304
        @target_window.visible = true
        @target_window.active = true
        if @item.scope == 4 || @item.scope == 6
          @target_window.index = -1
        else
          @target_window.index = 0
        end
      else
        if @item.common_event_id > 0
          $game_temp.common_event_id = @item.common_event_id
          $game_system.se_play(@item.menu_se)
          if @item.consumable
            $game_party.lose_item(@item)
            @item_window.refresh
          end
          $scene = Scene_Map.new
          return
        end
      end
      return
    end
  end
 
  #=============================================================================
  # * update_target
  #=============================================================================
  def update_target
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      unless $game_party.item_can_use?(@item.id)
        @item_window.refresh
      end
      @item_window.active = true
      @target_window.visible = false
      @target_window.active = false
      return
    end
    if Input.trigger?(Input::C)
      if $game_party.item_number(@item.id) == 0
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      if @target_window.index == -1
        used = false
        for i in $game_party.actors
          used |= i.item_effect(@item)
        end
      end
      if @target_window.index >= 0
        target = $game_party.actors[@target_window.index]
        used = target.item_effect(@item)
      end
      if used
        $game_system.se_play(@item.menu_se)
        if @item.consumable
          $game_party.lose_item(@item)
          @item_window.refresh
          @target_window.visible = false
          @target_window.active = false
          @target_window.index = -1
          @item_window.active = true
        end
        @target_window.refresh
        if $game_party.all_dead?
          $scene = Scene_Gameover.new
          return
        end
        if @item.common_event_id > 0
          $game_temp.common_event_id = @item.common_event_id
          $scene = Scene_Map.new
          return
        end
      end
      unless used
        $game_system.se_play($data_system.buzzer_se)
      end
      return
    end
  end
 
 
end

#===============================================================================
# ** Window_Item
#===============================================================================
class Window_Item < Window_Selectable
 
  #=============================================================================
  # * refresh
  #=============================================================================
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = $game_party.items
    unless $game_temp.in_battle
      @data += $game_party.weapons
      @data += $game_party.armors
    end
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      self.contents.font.name = $fontface
      self.contents.font.size = $fontsize
      for i in 0...@item_max
        draw_item(i)
      end
    end
  end
 
  #=============================================================================
  # * draw_item
  #=============================================================================
  def draw_item(index)
    item = @data[index]
    if item.is_a?(Game_Item) and
      $game_party.item_can_use?(item.id)
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
  end
 
end
Scene_Equip :
Code:
#===============================================================================
# *** Advanced Items : Scene_Equip
#-------------------------------------------------------------------------------
# Auteur  : Åvygeil
# Version : 1.0
#-------------------------------------------------------------------------------
# Adaptation de Scene_Equip au système d'items séparés.
#===============================================================================

#===============================================================================
# ** Scene_Equip
#===============================================================================
class Scene_Equip
 
  #=============================================================================
  # * refresh
  #=============================================================================
  def refresh
    @item_window1.visible = (@right_window.index == 0)
    @item_window2.visible = (@right_window.index == 1)
    @item_window3.visible = (@right_window.index == 2)
    @item_window4.visible = (@right_window.index == 3)
    @item_window5.visible = (@right_window.index == 4)
    item1 = @right_window.item
    case @right_window.index
    when 0
      @item_window = @item_window1
    when 1
      @item_window = @item_window2
    when 2
      @item_window = @item_window3
    when 3
      @item_window = @item_window4
    when 4
      @item_window = @item_window5
    end
    if @right_window.active
      @left_window.set_new_parameters(nil, nil, nil)
    end
    if @item_window.active
      item2 = @item_window.item
      last_hp = @actor.hp
      last_sp = @actor.sp
      @actor.equip(@right_window.index, item2)
      new_atk = @actor.atk
      new_pdef = @actor.pdef
      new_mdef = @actor.mdef
      @actor.equip(@right_window.index, item1)
      @actor.hp = last_hp
      @actor.sp = last_sp
      @left_window.set_new_parameters(new_atk, new_pdef, new_mdef)
    end
  end
 
  #=============================================================================
  # * update_item
  #=============================================================================
  def update_item
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @right_window.active = true
      @item_window.active = false
      @item_window.index = -1
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.equip_se)
      item = @item_window.item
      @actor.equip(@right_window.index, item)
      @right_window.active = true
      @item_window.active = false
      @item_window.index = -1
      @right_window.refresh
      @item_window.refresh
      return
    end
  end
 
end

#===============================================================================
# ** Window_EquipRight
#===============================================================================
class Window_EquipRight< Window_Selectable
 
  #=============================================================================
  # * refresh
  #=============================================================================
  def refresh
    self.contents.clear
    @data = []
    @data.push(@actor.weapon)
    @data.push(@actor.armor1)
    @data.push(@actor.armor2)
    @data.push(@actor.armor3)
    @data.push(@actor.armor4)
    @item_max = @data.size
    self.contents.font.color = system_color
    self.contents.draw_text(4, 32 * 0, 92, 32, $data_system.words.weapon)
    self.contents.draw_text(4, 32 * 1, 92, 32, $data_system.words.armor1)
    self.contents.draw_text(4, 32 * 2, 92, 32, $data_system.words.armor2)
    self.contents.draw_text(4, 32 * 3, 92, 32, $data_system.words.armor3)
    self.contents.draw_text(5, 32 * 4, 92, 32, $data_system.words.armor4)
    draw_item_name(@data[0], 92, 32 * 0)
    draw_item_name(@data[1], 92, 32 * 1)
    draw_item_name(@data[2], 92, 32 * 2)
    draw_item_name(@data[3], 92, 32 * 3)
    draw_item_name(@data[4], 92, 32 * 4)
  end
 
end

#===============================================================================
# ** Window_EquipItem
#===============================================================================
class Window_EquipItem < Window_Selectable
 
  #=============================================================================
  # * refresh
  #=============================================================================
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    if @equip_type == 0
      weapon_set = $data_classes[@actor.class_id].weapon_set
      @data += $game_party.weapons.find_all { |weapon|
        weapon_set.include?(weapon.id)
      }
    end
    if @equip_type != 0
      armor_set = $data_classes[@actor.class_id].armor_set
      @data += $game_party.armors.find_all { |armor|
        armor.kind == @equip_type-1 and armor_set.include?(armor.id)
      }
    end
    @data.push(nil)
    @item_max = @data.size
    self.contents = Bitmap.new(width - 32, row_max * 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    for i in 0...@item_max-1
      draw_item(i)
    end
  end
 
  #=============================================================================
  # * draw_item
  #=============================================================================
  def draw_item(index)
    item = @data[index]
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
  end
 
end
Scene_Status :
Code:
#===============================================================================
# *** Advanced Items : Scene_Status
#-------------------------------------------------------------------------------
# Auteur  : Åvygeil
# Version : 1.0
#-------------------------------------------------------------------------------
# Adaptation de Scene_Status au système d'items séparés.
#===============================================================================

#===============================================================================
# ** Window_Status
#===============================================================================
class Window_Status < Window_Base
 
  #=============================================================================
  # * refresh
  #=============================================================================
  def refresh
    self.contents.clear
    draw_actor_graphic(@actor, 40, 112)
    draw_actor_name(@actor, 4, 0)
    draw_actor_class(@actor, 4 + 144, 0)
    draw_actor_level(@actor, 96, 32)
    draw_actor_state(@actor, 96, 64)
    draw_actor_hp(@actor, 96, 112, 172)
    draw_actor_sp(@actor, 96, 144, 172)
    draw_actor_parameter(@actor, 96, 192, 0)
    draw_actor_parameter(@actor, 96, 224, 1)
    draw_actor_parameter(@actor, 96, 256, 2)
    draw_actor_parameter(@actor, 96, 304, 3)
    draw_actor_parameter(@actor, 96, 336, 4)
    draw_actor_parameter(@actor, 96, 368, 5)
    draw_actor_parameter(@actor, 96, 400, 6)
    self.contents.font.color = system_color
    self.contents.draw_text(320, 48, 140, 32, "Expérience : ")
    self.contents.draw_text(320, 80, 160, 32, "Niveau suivant : ")
    self.contents.font.color = normal_color
    self.contents.draw_text(320 + 140, 48, 84, 32, @actor.exp_s, 2)
    self.contents.draw_text(320 + 160, 80, 84, 32, @actor.next_rest_exp_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(320, 160, 196, 32, "Equipement : ")
    draw_item_name(@actor.weapon, 320 + 16, 208)
    draw_item_name(@actor.armor1, 320 + 16, 256)
    draw_item_name(@actor.armor2, 320 + 16, 304)
    draw_item_name(@actor.armor3, 320 + 16, 352)
    draw_item_name(@actor.armor4, 320 + 16, 400)
  end
 
end
Scene_Battle :
Code:
#===============================================================================
# *** Advanced Items : Scene_Battle
#-------------------------------------------------------------------------------
# Auteur  : Åvygeil
# Version : 1.0
#-------------------------------------------------------------------------------
# Adaptation de Scene_Battle au système d'items séparés.
#===============================================================================

#===============================================================================
# ** Scene_Battle
#===============================================================================
class Scene_Battle
 
  #=============================================================================
  # * make_item_action_result
  #=============================================================================
  def make_item_action_result
    @item = $game_party.items.find { |item|
      item.id == @active_battler.current_action.item_id
    }
    unless $game_party.item_can_use?(@item.id)
      @phase4_step = 1
      return
    end
    if @item.consumable
      $game_party.lose_item(@item)
    end
    @help_window.set_text(@item.name, 1)
    @animation1_id = @item.animation1_id
    @animation2_id = @item.animation2_id
    @common_event_id = @item.common_event_id
    index = @active_battler.current_action.target_index
    target = $game_party.smooth_target_actor(index)
    set_target_battlers(@item.scope)
    for target in @target_battlers
      target.item_effect(@item)
    end
  end
 
  #=============================================================================
  # * start_phase5
  #=============================================================================
  def start_phase5
    @phase = 5
    $game_system.me_play($game_system.battle_end_me)
    $game_system.bgm_play($game_temp.map_bgm)
    exp = 0
    gold = 0
    treasures = []
    for enemy in $game_troop.enemies
      unless enemy.hidden
        exp += enemy.exp
        gold += enemy.gold
        if rand(100) < enemy.treasure_prob
          if enemy.item_id > 0
            treasures.push(Game_Item.new(enemy.item_id))
          end
          if enemy.weapon_id > 0
            treasures.push(Game_Weapon.new(enemy.weapon_id))
          end
          if enemy.armor_id > 0
            treasures.push(Game_Armor.new(enemy.armor_id))
          end
        end
      end
    end
    treasures = treasures[0..5]
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      if actor.cant_get_exp? == false
        last_level = actor.level
        actor.exp += exp
        if actor.level > last_level
          @status_window.level_up(i)
        end
      end
    end
    $game_party.gain_gold(gold)
    for item in treasures
      case item
      when Game_Item
        $game_party.gain_item(item)
      when Game_Weapon
        $game_party.gain_weapon(item)
      when Game_Armor
        $game_party.gain_armor(item)
      end
    end
    @result_window = Window_BattleResult.new(exp, gold, treasures)
    @phase5_wait_count = 100
  end
 
end
Scene_Shop :
Code:
#===============================================================================
# *** Advanced Items : Scene_Shop
#-------------------------------------------------------------------------------
# Auteur  : Åvygeil
# Version : 1.0
#-------------------------------------------------------------------------------
# Adaptation de Scene_Shop au système d'items séparés.
#===============================================================================

#===============================================================================
# ** Scene_Shop
#===============================================================================
class Scene_Shop
 
  #=============================================================================
  # * update_sell
  #=============================================================================
  def update_sell
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @dummy_window.visible = true
      @sell_window.active = false
      @sell_window.visible = false
      @status_window.item = nil
      @help_window.set_text("")
      return
    end
    if Input.trigger?(Input::C)
      @item = @sell_window.item
      if @item == nil or @item.price == 0
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      $game_system.se_play($data_system.shop_se)
      $game_party.gain_gold(@number_window.number * (@item.price / 2))
      case @item
      when Game_Item
        $game_party.lose_item(@item)
      when Game_Weapon
        $game_party.lose_weapon(@item)
      when Game_Armor
        $game_party.lose_armor(@item)
      end
      @gold_window.refresh
      @sell_window.refresh
    end
  end
 
  #=============================================================================
  # * update_number
  #=============================================================================
  def update_number
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @number_window.active = false
      @number_window.visible = false
      case @command_window.index
      when 0
        @buy_window.active = true
        @buy_window.visible = true
      when 1
        @sell_window.active = true
        @sell_window.visible = true
        @status_window.visible = false
      end
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.shop_se)
      @number_window.active = false
      @number_window.visible = false
      case @command_window.index
      when 0
        $game_party.lose_gold(@number_window.number * @item.price)
        case @item
        when RPG::Item
          @number_window.number.times do
            $game_party.gain_item(Game_Item.new(@item.id))
          end
        when RPG::Weapon
          @number_window.number.times do
            $game_party.gain_weapon(Game_Weapon.new(@item.id))
          end
        when RPG::Armor
          @number_window.number.times do
            $game_party.gain_armor(Game_Armor.new(@item.id))
          end
        end
        @gold_window.refresh
        @buy_window.refresh
        @status_window.refresh
        @buy_window.active = true
        @buy_window.visible = true
      end
      return
    end
  end
 
end

#===============================================================================
# ** Window_ShopSell
#===============================================================================
class Window_ShopSell < Window_Selectable
 
  #=============================================================================
  # * refresh
  #=============================================================================
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = $game_party.items + $game_party.weapons + $game_party.armors
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      self.contents.font.name = $fontface
      self.contents.font.size = $fontsize
      for i in 0...@item_max
        draw_item(i)
      end
    end
  end
 
  #=============================================================================
  # * draw_item
  #=============================================================================
  def draw_item(index)
    item = @data[index]
    if item.price > 0
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
  end
 
end

#===============================================================================
# ** Window_ShopStatus
#===============================================================================
class Window_ShopStatus < Window_Base
 
  #=============================================================================
  # * refresh
  #=============================================================================
  def refresh
    self.contents.clear
    if @sprite1 != nil
      @sprite1.dispose
      @sprite1 = nil
    end
    if @sprite2 != nil
      @sprite2.dispose
      @sprite2 = nil
    end
    if @sprite3 != nil
      @sprite3.dispose
      @sprite3 = nil
    end
    if @sprite4 != nil
      @sprite4.dispose
      @sprite4 = nil
    end
    self.contents.font.name = "Arial"
    self.contents.font.size = 24
    if @item == nil
      return
    end
    case @item
    when RPG::Item
      number = $game_party.item_number(@item.id)
    when RPG::Weapon
      number = $game_party.weapon_number(@item.id)
    when RPG::Armor
      number = $game_party.armor_number(@item.id)
    end
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 200, 32, "Possédés :")
    self.contents.font.color = normal_color
    self.contents.draw_text(204, 0, 32, 32, number.to_s, 2)
    if @item.is_a?(RPG::Item)
      @walk = [false, false, false, false]
      return
    end
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      if @item.is_a?(RPG::Weapon)
        item1 = actor.weapon
      elsif @item.kind == 0
        item1 = actor.armor1
      elsif @item.kind == 1
        item1 = actor.armor2
      elsif @item.kind == 2
        item1 = actor.armor3
      else
        item1 = actor.armor4
      end
      if not actor.equippable?(@item)
        @walk[i] = false
        draw_actor_graphic(actor, 380, 194 + 64 * i, i, 0)
        self.contents.font.name = "Arial"
        self.contents.font.size = 24
        self.contents.font.color = normal_color
        self.contents.draw_text(32, 54 + 64 * i, 180, 32, "Ne peut pas être équipé")
      end
      if actor.equippable?(@item)
        @walk[i] = true
        draw_actor_graphic(actor, 380, 194 + 64 * i, i, 1)
          atk1 = 0
          atk2 = 0
          eva1 = 0
          eva2 = 0
          str1 = 0
          str2 = 0
          dex1 = 0
          dex2 = 0
          agi1 = 0
          agi2 = 0
          int1 = 0
          int2 = 0
          pdf1 = 0
          pdf2 = 0
          mdf1 = 0
          mdf2 = 0
          eva1 = 0
          eva2 = 0
          str1 = item1 != nil ? item1.str_plus : 0
          str2 = @item != nil ? @item.str_plus : 0
          dex1 = item1 != nil ? item1.dex_plus : 0
          dex2 = @item != nil ? @item.dex_plus : 0
          agi1 = item1 != nil ? item1.agi_plus : 0
          agi2 = @item != nil ? @item.agi_plus : 0
          int1 = item1 != nil ? item1.int_plus : 0
          int2 = @item != nil ? @item.int_plus : 0
          pdf1 = item1 != nil ? item1.pdef : 0
          pdf2 = @item != nil ? @item.pdef : 0
          mdf1 = item1 != nil ? item1.mdef : 0
          mdf2 = @item != nil ? @item.mdef : 0
        if @item.is_a?(RPG::Weapon)
          atk1 = item1 != nil ? item1.atk : 0
          atk2 = @item != nil ? @item.atk : 0
        end
        if @item.is_a?(RPG::Armor)
          eva1 = item1 != nil ? item1.eva : 0
          eva2 = @item != nil ? @item.eva : 0
        end
        str_change = str2 - str1
        dex_change = dex2 - dex1
        agi_change = agi2 - agi1
        int_change = int2 - int1
        pdf_change = pdf2 - pdf1
        mdf_change = mdf2 - mdf1
        atk_change = atk2 - atk1
        eva_change = eva2 - eva1
        if item1 == nil
          name1 = ""
        else
          name1 = item1.name
        end
        if @item == nil
          name2 = ""
        else
          name2 = @item.name
        end
        if str_change == 0 && dex_change == 0 && agi_change == 0 &&
        pdf_change == 0 && mdf_change == 0 && atk_change == 0 &&
        eva_change == 0 && name1 != name2
          self.contents.draw_text(32, 54 + 64 * i, 200, 32, "Pas de changements")
        end
        if name1 == name2
          self.contents.draw_text(32, 54 + 64 * i, 200, 32, "Déjà équipé")
        end
        self.contents.font.name = "Arial"
        self.contents.font.size = 16
        self.contents.font.color = normal_color
        if @item.is_a?(RPG::Weapon) && atk_change != 0
          self.contents.draw_text(32, 42 + 64 * i, 32, 32, "PAt")
        end
        if @item.is_a?(RPG::Armor) && eva_change != 0
          self.contents.draw_text(32, 42 + 64 * i, 32, 32, "Esq")
        end
        if pdf_change != 0
          self.contents.draw_text(32, 58 + 64 * i, 32, 32, "DfP")
        end
        if mdf_change != 0
          self.contents.draw_text(32, 74 + 64 * i, 32, 32, "DfM")
        end
        if str_change != 0
          self.contents.draw_text(112, 42 + 64 * i, 32, 32, "Att")
        end
        if dex_change != 0
          self.contents.draw_text(112, 58 + 64 * i, 32, 32, "Def")
        end
        if agi_change != 0
          self.contents.draw_text(112, 74 + 64 * i, 32, 32, "Agi")
        end
        if str_change != 0
          self.contents.draw_text(192, 42 + 64 * i, 32, 32, "Int")
        end
        if @item.is_a?(RPG::Weapon) && atk_change > 0
          self.contents.font.color = up_color
          s = atk_change.abs.to_s
          self.contents.draw_text(60, 42 + 64 * i, 4, 32, "+")
          self.contents.draw_text(62, 42 + 64 * i, 24, 32, s, 2)
        end
        if @item.is_a?(RPG::Weapon) && atk_change < 0
          self.contents.font.color = down_color
          s = atk_change.abs.to_s
          self.contents.draw_text(60, 42 + 64 * i, 4, 32, "-")
          self.contents.draw_text(62, 42 + 64 * i, 24, 32, s, 2)
        end
        if @item.is_a?(RPG::Armor) && eva_change > 0
          self.contents.font.color = up_color
          s = eva_change.abs.to_s
          self.contents.draw_text(60, 42 + 64 * i, 4, 32, "+")
          self.contents.draw_text(62, 42 + 64 * i, 24, 32, s, 2)
        end
        if @item.is_a?(RPG::Armor) && eva_change < 0
          self.contents.font.color = down_color
          s = eva_change.abs.to_s
          self.contents.draw_text(60, 42 + 64 * i, 4, 32, "-")
          self.contents.draw_text(62, 42 + 64 * i, 24, 32, s, 2)
        end
        if pdf_change > 0
          self.contents.font.color = up_color
          s = pdf_change.abs.to_s
          self.contents.draw_text(60, 58 + 64 * i, 4, 32, "+")
          self.contents.draw_text(62, 58 + 64 * i, 24, 32, s, 2)
        end
        if pdf_change < 0
          self.contents.font.color = down_color
          s = pdf_change.abs.to_s
          self.contents.draw_text(60, 58 + 64 * i, 4, 32, "-")
          self.contents.draw_text(62, 58 + 64 * i, 24, 32, s, 2)
        end
        if mdf_change > 0
          self.contents.font.color = up_color
          s = mdf_change.abs.to_s
          self.contents.draw_text(60, 74 + 64 * i, 4, 32, "+")
          self.contents.draw_text(62, 74 + 64 * i, 24, 32, s, 2)
        end
        if mdf_change < 0
          self.contents.font.color = down_color
          s = mdf_change.abs.to_s
          self.contents.draw_text(60, 74 + 64 * i, 4, 32, "-")
          self.contents.draw_text(62, 74 + 64 * i, 24, 32, s, 2)
        end
        if str_change > 0
          self.contents.font.color = up_color
          s = str_change.abs.to_s
          self.contents.draw_text(140, 42 + 64 * i, 4, 32, "+")
          self.contents.draw_text(142, 42 + 64 * i, 24, 32, s, 2)
        end
        if str_change < 0
          self.contents.font.color = down_color
          s = str_change.abs.to_s
          self.contents.draw_text(140, 42 + 64 * i, 4, 32, "-")
          self.contents.draw_text(142, 42 + 64 * i, 24, 32, s, 2)
        end
        if dex_change > 0
          self.contents.font.color = up_color
          s = dex_change.abs.to_s
          self.contents.draw_text(140, 58 + 64 * i, 4, 32, "+")
          self.contents.draw_text(142, 58 + 64 * i, 24, 32, s, 2)
        end
        if dex_change < 0
          self.contents.font.color = down_color
          s = dex_change.abs.to_s
          self.contents.draw_text(140, 58 + 64 * i, 4, 32, "-")
          self.contents.draw_text(142, 58 + 64 * i, 24, 32, s, 2)
        end
        if agi_change > 0
          self.contents.font.color = up_color
          s = agi_change.abs.to_s
          self.contents.draw_text(140, 74 + 64 * i, 4, 32, "+")
          self.contents.draw_text(142, 74 + 64 * i, 24, 32, s, 2)
        end
        if agi_change < 0
          self.contents.font.color = down_color
          s = agi_change.abs.to_s
          self.contents.draw_text(140, 74 + 64 * i, 4, 32, "-")
          self.contents.draw_text(142, 74 + 64 * i, 24, 32, s, 2)
        end
        if int_change > 0
          self.contents.font.color = up_color
          s = int_change.abs.to_s
          self.contents.draw_text(214, 42 + 64 * i, 4, 32, "+")
          self.contents.draw_text(216, 42 + 64 * i, 24, 32, s, 2)
        end
        if int_change < 0
          self.contents.font.color = down_color
          s = int_change.abs.to_s
          self.contents.draw_text(214, 42 + 64 * i, 4, 32, "-")
          self.contents.draw_text(216, 42 + 64 * i, 24, 32, s, 2)
        end
      end
    end
  end
 
end
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
lidenvice
Ancien staffeux
Ancien staffeux
avatar

Masculin
Messages postés : 1954
Date d'inscription : 18/10/2011
Jauge LPC :
68 / 10068 / 100






















MessageSujet: Re: [XP] Advanced Items   Sam 7 Sep 2013 - 5:07

Merci pour ce partage. Je te donne les points.

_____________________
Faire, chercher, persévérer et s'appliquer sont les verbes du maker

L'"antinormique attitude"® est propriété de L&V'corp™.
Toute reproduction serait pure perte de temps
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Zexion
Administrateur
Administrateur
avatar

Masculin
Messages postés : 6226
Date d'inscription : 04/01/2012
Jauge LPC :
97 / 10097 / 100












MessageSujet: Re: [XP] Advanced Items   Sam 7 Sep 2013 - 5:20

En effet, ce script est peu utile seul, mais il à le mérite d'exister pour les connaisseurs de RGSS qui souhaiteraient développer quelque chose à partir de ça.
Merci du partage. Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
City Hunter
Administrateur
Administrateur
avatar

Masculin
Messages postés : 6519
Date d'inscription : 25/05/2011
Jauge LPC :
40 / 10040 / 100

















MessageSujet: Re: [XP] Advanced Items   Sam 7 Sep 2013 - 10:09

Merci du partage Smile

_____________________
   
Code pour les bannières:
 


Qui aime City Hunter, est aimé de moi =D :
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: [XP] Advanced Items   

Revenir en haut Aller en bas
 
[XP] Advanced Items
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Achats make up Ebay US à nouveau bloqués?
» [Discussion] Les items que vous zieutez sur les snaps
» bilan logico math sans la formation
» [Items] collants et bas colorées
» Lost Miner

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ PARTAGE ~ :: Scripts et plugins :: RPG Maker XP :: Autres-
Sauter vers: