AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



-59%
Le deal à ne pas rater :
TEFAL Marmite 28 cm inox – Tous feux dont induction – 9,6 L
21.99 € 53.97 €
Voir le deal

Partagez
 

 [VX] Version étendue pour costumes de KGC_EquipExtension VX

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
MirainoHikari
Ex-Admin-Script
Ex-Admin-Script
MirainoHikari


Masculin Age : 40
Inscrit le : 26/05/2008
Messages : 2360

[VX] Version étendue pour costumes de KGC_EquipExtension VX Empty
MessageSujet: [VX] Version étendue pour costumes de KGC_EquipExtension VX   [VX] Version étendue pour costumes de KGC_EquipExtension VX Icon_minitimeLun 2 Juin 2008 - 3:29

Bon, ça y est, j'ai finalement réussi. La version étendu de EquipExtension pour permettre le changement de costume.
Ce script remplace tout simplement l'ancien script de KGC_EquipExtension VX.

Désolé à l'avance, je sais que normalement je ne devrais pas reposter le même script, mais justement, ce n'est pas tout à fait le même. Cependant, je n'ai pas réussi à faire un joli petit fichier de patch, il a fallu que j'aille modifier des trucs directement dans le code et à cause de ces changements, remettre les autres fonctions qui les utilisaient, finalement je devais recopier 95% du script alors je me suis dit: «Oublie le patch, repost le fichier complet.»

Les screens :
[VX] Version étendue pour costumes de KGC_EquipExtension VX Suits010
[VX] Version étendue pour costumes de KGC_EquipExtension VX Suits011
[VX] Version étendue pour costumes de KGC_EquipExtension VX Suits012

Le code :
Code:
#
#
#_/    ◆ 装備拡張 - KGC_EquipExtension ◆ VX ◆
#_/    ◇ Last update : 2008/03/02 ◇
#
#  Expansion par MirainoHikari 28 mai 2008
#
#  Suits Set et Suits Index par MirainoHikari http://rpg-maker-vx.bbactif.com
#
#
#==============================================================================
# Modules nécessaires : Customize (KGC)
#==============================================================================

#Interrupteur (switch) du jeu indiquant les changements de costumes
$CAN_EQUIP_SUITS = 33 #true si on peut se changer
$SUITS_EQUIPED = 34 #true si un nouveau costume a été équipé
#Variables de jeu détenant les informations pour les costumes (set et index)
$SUITS_GROUP_VAR = 28 #Dans ce scrip, il s'agit du sex du perso, mais peu être étendu
$SUITS_SETS_VAR = 29
$SUITS_INDEX_VAR = 30

# Variable de jeu indiquant le numéro du costume équipé
# (utile pour faire des condition dans le jeu)
$EQUIPED_SUIT = 9

#Valeurs par défaut lorsqu'on retire un costume
$SUITS_DEFAULT_SETS = 0 #Mettre à 1 si vous utilisé les sets par défaut
$SUITS_DEFAULT_INDEX = 0
 

module MySuit
  #Si true, le costume peut être changé n'importe où, si false
  #nécessite un emplacement de changement
  ALWAYS_EQUIP_SUIT = false
 
  # Où voullez vous que le costume soit inscrit dans la liste de la
  # fenêtre d'équipement (0 = début, -1 = fin, 1 = après le 1er, -2 = avant dernier
  # et ainsi de suite
  # Si vous utiliser un entier "out of range", il sera placer comme dernier
  # item de la liste.
  # C'est également l'index qui sera bloqué si ALWAYS_EQUIP_SUIT est à false
  # Et que l'interrupteur $CAN_EQUIP_SUITS n'est pas activé
  SLOT_OF_SUITS = 6
  # Le nom à ajouter pour les costumes
  EXTRA_EQUIP_KIND = "Costume"
 
 
  #Nouveaux éléements pour le "parser" de notes
  SUITS_SETS_SUB = /<SUITS_SET\s*(\d+)>/i
  SUITS_INDEX_SUB = /<SUITS_INDEX\s*(\d+)>/i

end


module KGC
module EquipExtension
  # ◆ From the extended equipment
  #classification  first in order 4, 5 and 6,… Is allotted.
  EXTRA_EQUIP_KIND = ["Bouclier"]
  # ◆ After
  #the equipment place list # weapon, it lines up in the order which is appointed here.
  #Unless the # * equipment place is minimum of one, two swords style is a bug [ru] possibility.
  #  * Equipment classification summary &
  # 0. Shield 1. Head 2. Body 3. Ornament 4~. It defines with the ↑
  EQUIP_TYPE = [0, 4, 1, 2, 3]
 
  # Miraino Hikari : ici on ajoute ce qui est nécessaire pour le costume
  EXTRA_EQUIP_KIND << MySuit::EXTRA_EQUIP_KIND
  #vérification du out of range
  if (MySuit::SLOT_OF_SUITS > EQUIP_TYPE.size) | (MySuit::SLOT_OF_SUITS < -1 * EQUIP_TYPE.size)
    EQUIP_TYPE << EXTRA_EQUIP_KIND.size.to_i + 3 #se place à la fin
    MySuit::SLOT_OF_SUITS = EQUIP_TYPE.size.to_i # SLOT_OF_SUITS prends valeur max
  else
    #sinon s'insère à l'endroit désiré
    EQUIP_TYPE.insert MySuit::SLOT_OF_SUITS, (EXTRA_EQUIP_KIND.size.to_i + 3)
  end
 
  #Ajustement sur nombre négatif
  MySuit::SLOT_OF_SUITS = MySuit::SLOT_OF_SUITS + EQUIP_TYPE.size.to_i + 1 if MySuit::SLOT_OF_SUITS.to_i < 0

  USE_EP_SYSTEM = false
  VOCAB_EP  = "EP"
  VOCAB_EP_A = "E"
  SHOW_STATUS_EP = true
  DEFAULT_EP_COST  = 0
  HIDE_ZERO_EP_COST = true
  EP_MAX = 20
  EP_MIN = 0
  #  Because integer it is converted automatically, the result becoming in decimal, OK.
  EP_CALC_EXP = "level * 0.2 + 3"
  #  Color : Color ID ou Color.new(128, 255, 255)
  EP_COST_COLOR        = 23
  EP_GAUGE_START_COLOR = 28
  EP_GAUGE_END_COLOR  = 29
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
$imported = {} if $imported == nil
$imported["EquipExtension"] = true
module KGC::EquipExtension
  unless USE_EP_SYSTEM
    SHOW_STATUS_EP = false
    HIDE_ZERO_EP_COST = true
  end
  module Regexp
    module BaseItem
      EP_COST = /<EP\s*(\d+)>/i
      EQUIP_TYPE = /<EQUIP_TYPE\s*(\d+(?:\s*,\s*\d+)*)>/
    end
    module Armor
      EQUIP_KIND = /<EQUIP_KIND\s*(.+)>/i
    end
  end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# □ KGC::Commands
#==============================================================================
module KGC::Commands
  module_function
  def restore_equip
    (1...$data_actors.size).each { |i|
      actor = $game_actors[i]
      actor.restore_equip
    }
  end
  def set_actor_equip_type(actor_id, equip_type = nil)
    actor = $game_actors[actor_id]
    return if actor == nil
    actor.equip_type = equip_type
  end
  def change_actor_equipment(actor_id, index, item_id)
    actor = $game_actors[actor_id]
    return if actor == nil
    actor.change_equip_by_id(index, item_id)
  end
end
class Game_Interpreter
  include KGC::Commands
end
#==============================================================================
# ■ Vocab
#==============================================================================
module Vocab
  def self.ep
    return KGC::EquipExtension::VOCAB_EP
  end
  def self.ep_a
    return KGC::EquipExtension::VOCAB_EP_A
  end
  def self.extra_armor(index)
    return KGC::EquipExtension::EXTRA_EQUIP_KIND[index]
  end
end
#==============================================================================
# ■ RPG::BaseItem
#==============================================================================
class RPG::BaseItem
  def create_equip_extension_cache
    @__ep_cost = KGC::EquipExtension::DEFAULT_EP_COST
    @__equip_type = []
    self.note.split(/[\r\n]+/).each { |line|
      case line
        when KGC::EquipExtension::Regexp::BaseItem::EP_COST
          @__ep_cost = $1.to_i
        when MySuit::SUITS_SETS_SUB
          #Lors de la lecture des notes, prends la valeur indiqué après
          # <SUITS_SET>
          @suits_set_val = $1.to_i
        when MySuit::SUITS_INDEX_SUB
          #Lors de la lecture des notes, prends la valeur indiqué après
          # <SUITS_INDEX>
          @suits_index_val = $1.to_i
        when KGC::EquipExtension::Regexp::BaseItem::EQUIP_TYPE
          @__equip_type = []
          $1.scan(/\d+/) { |num| @__equip_type << num.to_i }
      end
    }
    @__ep_cost = 0 unless KGC::EquipExtension::USE_EP_SYSTEM
  end
  def ep_cost
    create_equip_extension_cache if @__ep_cost == nil
    return @__ep_cost
  end
  def equip_type
    create_equip_extension_cache if @__equip_type == nil
    return @__equip_type
  end
  #-----------------------
  #méthode pour récupérer les valeurs de suits_set et suits_index
  #de l'objet courrant
  #-----------------------
  def suits_set
    create_equip_extension_cache if @suits_set_val == nil
    return @suits_set_val
  end
  def suits_index
    create_equip_extension_cache if @suits_index_val == nil
    return @suits_index_val
  end
end
#==============================================================================
# ■ RPG::Armor
#==============================================================================
class RPG::Armor < RPG::BaseItem
  def create_equip_extension_cache
    super
    @__kind = -1
    self.note.split(/[\r\n]+/).each { |line|
      if line =~ KGC::EquipExtension::Regexp::Armor::EQUIP_KIND
        # 装備種別
        e_index = KGC::EquipExtension::EXTRA_EQUIP_KIND.index($1)
        next if e_index == nil
        @__kind = e_index + 4
      end
    }
  end
unless $@
  alias kind_KGC_EquipExtension kind
  def kind
    create_equip_extension_cache if @__kind == nil
    return (@__kind == -1 ? kind_KGC_EquipExtension : @__kind)
  end
end
end
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
  attr_writer  :equip_type              # 装備タイプ
  alias setup_KGC_EquipExtension setup
  def setup(actor_id)
    actor = $data_actors[actor_id]
    @extra_armor_id = []
    setup_KGC_EquipExtension(actor_id)
    restore_equip
  end
  def maxep
    n = Integer(eval(KGC::EquipExtension::EP_CALC_EXP))
    return [[n, ep_limit].min, KGC::EquipExtension::EP_MIN].max
  end
  def ep
    n = 0
    equips.compact.each { |item| n += item.ep_cost }
    return [maxep - n, 0].max
  end
  def ep_limit
    return KGC::EquipExtension::EP_MAX
  end
  #-----------------------
  #méthode pour vérifier les valeurs de suits_set et suits_index
  #équipé sur le personnage actif
  #-----------------------
  def suits_s
    n = $SUITS_DEFAULT_SETS.to_i
    equips.compact.each { |item| n = item.nil? ? $SUITS_DEFAULT_SETS.to_i : item.suits_set.to_i }
    return n
  end
  def suits_i
    n = $SUITS_DEFAULT_INDEX.to_i
    equips.compact.each { |item| n = item.nil? ? $SUITS_DEFAULT_INDEX.to_i : item.suits_index.to_i }
    return n
  end 
  def equip_type
    if @equip_type.is_a?(Array)
      return @equip_type
    else
      return KGC::EquipExtension::EQUIP_TYPE
    end
  end
  def armor_number
    return equip_type.size
  end
  def extra_armor_number
    return [armor_number - 4, 0].max
  end
  def extra_armor_id
    @extra_armor_id = [] if @extra_armor_id == nil
    return @extra_armor_id
  end
  alias armors_KGC_EquipExtension armors
  def armors
    result = armors_KGC_EquipExtension
    extra_armor_number.times { |i|
      armor_id = extra_armor_id[i]
      result << (armor_id == nil ? nil : $data_armors[armor_id])
    }
    return result
  end
  alias change_equip_KGC_EquipExtension change_equip
  def change_equip(equip_type, item, test = false)
   
    # Effectue le changement d'équipement si on est situer correctement ou
    # qu'on autorise toujours le changement d'équipement
    if MySuit::ALWAYS_EQUIP_SUIT | (equip_type != MySuit::SLOT_OF_SUITS) | ($game_switches[$CAN_EQUIP_SUITS] & (equip_type == MySuit::SLOT_OF_SUITS))
      change_equip_KGC_EquipExtension(equip_type, item, test)
      # When there is an extended guard column only,
      if extra_armor_number > 0
        item_id = item == nil ? 0 : item.id
        case equip_type
        when 5..armor_number  # Extended guard column
          @extra_armor_id = [] if @extra_armor_id == nil
          @extra_armor_id[equip_type - 5] = item_id
        end
      end
    end
    if (equip_type == MySuit::SLOT_OF_SUITS)
        #change la valeur des variables pour modification du personnage
        $game_variables[$SUITS_SETS_VAR] = suits_s.nil? ? $SUITS_DEFAULT_SETS : suits_s
        $game_variables[$SUITS_INDEX_VAR] = suits_i.nil? ? $SUITS_DEFAULT_INDEX : suits_i
        $game_switches[$SUITS_EQUIPED] = true
    end
    restore_battle_skill if $imported["SkillCPSystem"]
    restore_passive_rev  if $imported["PassiveSkill"]
  end
  alias discard_equip_KGC_EquipExtension discard_equip
  def discard_equip(item)
    last_armors = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
    discard_equip_KGC_EquipExtension(item)
    curr_armors = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
    return unless item.is_a?(RPG::Armor) 
    return if last_armors != curr_armors 
    extra_armor_number.times { |i|
      if extra_armor_id[i] == item.id
        @extra_armor_id[i] = 0
        break
      end
    }
    restore_battle_skill if $imported["SkillCPSystem"]
    restore_passive_rev  if $imported["PassiveSkill"]
  end
  alias class_id_equal_KGC_EquipExtension class_id=
  def class_id=(class_id)
    class_id_equal_KGC_EquipExtension(class_id)
    return if extra_armor_number == 0 
    for i in 5..armor_number
      change_equip(i, nil) unless equippable?(equips[i])
    end
  end
  def ep_condition_clear?(equip_type, item)
    return true if item == nil 
    curr_item = equips[equip_type]
    offset = (curr_item != nil ? curr_item.ep_cost : 0)
    return false if self.ep < (item.ep_cost - offset)  # EP 不足
    return true
  end
  def restore_equip
    return if @__last_equip_type == equip_type
    last_equips = equips
    last_hp = self.hp
    last_mp = self.mp
    if $imported["SkillCPSystem"]
      last_battle_skill_ids = battle_skill_ids.clone
    end
    last_equips.each_index { |i| change_equip(i, nil) }
    last_equips.compact.each { |item| equip_legal_slot(item) }
    self.hp = last_hp
    self.mp = last_mp
    if $imported["SkillCPSystem"]
      last_battle_skill_ids.each_with_index { |s, i| set_battle_skill(i, s) }
    end
    @__last_equip_type = equip_type.clone
    Graphics.frame_reset
  end
  def equip_legal_slot(item)
    if item.is_a?(RPG::Weapon)
      if @weapon_id == 0
        change_equip(0, item)
      elsif two_swords_style && @armor1_id == 0
        change_equip(1, item)
      end
    elsif item.is_a?(RPG::Armor)
      if !two_swords_style && item.kind == equip_type[0] && @armor1_id == 0
        change_equip(1, item)
      else
        list = [-1, @armor2_id, @armor3_id, @armor4_id]
        list += extra_armor_id
        # You set to the place where it is correct, at the same time has been less crowded
        equip_type.each_with_index { |kind, i|
          if kind == item.kind && list[i] == 0
            change_equip(i + 1, item)
            break
          end
        }
      end
    end
  end
end


Dernière édition par MirainoHikari le Lun 2 Juin 2008 - 12:09, édité 4 fois
Revenir en haut Aller en bas
http://mirainohikari.deviantart.com
MirainoHikari
Ex-Admin-Script
Ex-Admin-Script
MirainoHikari


Masculin Age : 40
Inscrit le : 26/05/2008
Messages : 2360

[VX] Version étendue pour costumes de KGC_EquipExtension VX Empty
MessageSujet: Re: [VX] Version étendue pour costumes de KGC_EquipExtension VX   [VX] Version étendue pour costumes de KGC_EquipExtension VX Icon_minitimeLun 2 Juin 2008 - 3:30

Code:
#==============================================================================
# ■ Window_Base
#==============================================================================
class Window_Base < Window
  def ep_color(actor)
    return knockout_color if actor.maxep > 0 && actor.ep == 0
    return normal_color
  end
  def ep_gauge_color1
    color = KGC::EquipExtension::EP_GAUGE_START_COLOR
    return (color.is_a?(Integer) ? text_color(color) : color)
  end
  def ep_gauge_color2
    color = KGC::EquipExtension::EP_GAUGE_END_COLOR
    return (color.is_a?(Integer) ? text_color(color) : color)
  end
  def draw_actor_ep(actor, x, y, width = 120)
    draw_actor_ep_gauge(actor, x, y, width)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 30, WLH, Vocab::ep_a)
    self.contents.font.color = ep_color(actor)
    xr = x + width
    if width < 120
      self.contents.draw_text(xr - 40, y, 40, WLH, actor.ep, 2)
    else
      self.contents.draw_text(xr - 90, y, 40, WLH, actor.ep, 2)
      self.contents.font.color = normal_color
      self.contents.draw_text(xr - 50, y, 10, WLH, "/", 2)
      self.contents.draw_text(xr - 40, y, 40, WLH, actor.maxep, 2)
    end
    self.contents.font.color = normal_color
  end
  def draw_actor_ep_gauge(actor, x, y, width = 120)
    gw = width * actor.ep / [actor.maxep, 1].max
    gc1 = ep_gauge_color1
    gc2 = ep_gauge_color2
    self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
    self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
  end
  def draw_equipment_ep_cost(item, rect, enabled = true)
    return if item == nil
    return if KGC::EquipExtension::HIDE_ZERO_EP_COST && item.ep_cost == 0
    color = KGC::EquipExtension::EP_COST_COLOR
    self.contents.font.color = (color.is_a?(Integer) ?
      text_color(color) : color)
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(rect, item.ep_cost, 2)
  end
end
#==============================================================================
# ■ Window_Equip
#==============================================================================
class Window_Equip < Window_Selectable
  def refresh
    self.contents.clear
    @data = @actor.equips.clone
    @item_max = [@data.size, @actor.armor_number + 1].min
    create_contents
    self.contents.font.color = system_color
    if @actor.two_swords_style
      self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon1)
      self.contents.draw_text(4, WLH * 1, 92, WLH, Vocab::weapon2)
    else
      self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon)
      name = armor_slot_name(@actor.equip_type[0])
      self.contents.draw_text(4, WLH * 1, 92, WLH, name)
    end
    for i in 1...@actor.armor_number
      name = armor_slot_name(@actor.equip_type[i])
      self.contents.draw_text(4, WLH * (i + 1), 92, WLH, name)
    end
    rect = Rect.new(92, 0, self.width - 128, WLH)
    @item_max.times { |i|
      rect.y = WLH * i
      draw_item_name(@data[i], rect.x, rect.y)
      draw_equipment_ep_cost(@data[i], rect)
    }
  end
  def armor_slot_name(kind)
    case kind
    when 0..3
      return eval("Vocab.armor#{kind + 1}")
    else
      return Vocab.extra_armor(kind - 4)
    end
  end
unless $imported["ExtendedEquipScene"]
  def cursor_pagedown
    return if Input.repeat?(Input::R)
    super
  end
  def cursor_pageup
    return if Input.repeat?(Input::L)
    super
  end
  def update
    super
    return unless self.active
    if Input.repeat?(Input::RIGHT)
      cursor_pagedown
    elsif Input.repeat?(Input::LEFT)
      cursor_pageup
    end
  end
end
end
#==============================================================================
# ■ Window_EquipItem
#==============================================================================
class Window_EquipItem < Window_Item
  def refresh
    @item_enabled = []
    super
    @data.each { |item| @item_enabled << enable?(item) }
  end
  def include?(item)
    return true if item == nil
    if @equip_type == 0
      return false unless item.is_a?(RPG::Weapon)
    else
      return false unless item.is_a?(RPG::Armor)
      return false unless item.kind == @equip_type - 1
    end
    return @actor.equippable?(item)
  end
  def enable?(item)
    return false unless @actor.equippable?(item)                      # 装備不可
    return false unless @actor.ep_condition_clear?(@equip_type, item)  # EP 不足
    return true
  end
  def draw_item(index)
    super(index)   
    rect = item_rect(index)
    item = @data[index]
    cw = self.contents.text_size(sprintf(":%2d", 0)).width
    rect.width -= cw + 4
    draw_equipment_ep_cost(item, rect, enable?(item))
  end
  def simple_refresh(equip_type)
    # Modifying the equipment region temporarily
    last_equip_type = @equip_type
    @equip_type = equip_type
    @data.each_with_index { |item, i|
      if enable?(item) != @item_enabled[i]
        draw_item(i)
        @item_enabled[i] = enable?(item)
      end
    }
    @equip_type = last_equip_type
  end
end
#==============================================================================
# ■ Window_EquipStatus
#==============================================================================
class Window_EquipStatus < Window_Base
  alias refresh_KGC_EquipExtension refresh
  def refresh
    refresh_KGC_EquipExtension
    draw_actor_ep(@actor, 120, 0, 56) if KGC::EquipExtension::USE_EP_SYSTEM
  end
end
#==============================================================================
# ■ Window_Status
#==============================================================================
class Window_Status < Window_Base
if KGC::EquipExtension::SHOW_STATUS_EP
  alias draw_basic_info_KGC_EquipExtension draw_basic_info
  def draw_basic_info(x, y)
    draw_basic_info_KGC_EquipExtension(x, y)
    draw_actor_ep(@actor, x + 160, y + WLH * 4)
  end
end
  def draw_equipments(x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, WLH, Vocab::equip)
    item_number = [@actor.equips.size, @actor.armor_number + 1].min
    item_number.times { |i|
      draw_item_name(@actor.equips[i], x + 16, y + WLH * (i + 1))
    }
  end
end
#==============================================================================
# ■ Window_ShopStatus
#==============================================================================
class Window_ShopStatus < Window_Base
  def draw_actor_parameter_change(actor, x, y)
    return if @item.is_a?(RPG::Item)
    enabled = actor.equippable?(@item)
    self.contents.font.color = normal_color
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(x, y, 200, WLH, actor.name)
    if @item.is_a?(RPG::Weapon)
      item1 = weaker_weapon(actor)
    elsif actor.two_swords_style and @item.kind == 0
      item1 = nil
    else
      index = actor.equip_type.index(@item.kind)
      item1 = (index != nil ? actor.equips[1 + index] : nil)
    end
    if enabled
      if @item.is_a?(RPG::Weapon)
        atk1 = item1 == nil ? 0 : item1.atk
        atk2 = @item == nil ? 0 : @item.atk
        change = atk2 - atk1
      else
        def1 = item1 == nil ? 0 : item1.def
        def2 = @item == nil ? 0 : @item.def
        change = def2 - def1
      end
      self.contents.draw_text(x, y, 200, WLH, sprintf("%+d", change), 2)
    end
    draw_item_name(item1, x, y + WLH, enabled)
  end
end
#==============================================================================
# ■ Scene_Equip
#==============================================================================
class Scene_Equip < Scene_Base
  EQUIP_TYPE_MAX = KGC::EquipExtension::EXTRA_EQUIP_KIND.size + 5
  alias initialize_KGC_EquipExtension initialize
  def initialize(actor_index = 0, equip_index = 0)
    initialize_KGC_EquipExtension(actor_index, equip_index)
    unit = ($imported["LargeParty"] ?
      $game_party.all_members : $game_party.members)
    actor = unit[actor_index]
    @equip_index = [@equip_index, actor.armor_number].min
  end
  alias create_item_windows_KGC_EquipExtension create_item_windows
  def create_item_windows
    create_item_windows_KGC_EquipExtension
    kind = equip_kind(@equip_index)
    EQUIP_TYPE_MAX.times { |i|
      @item_windows[i].visible = (kind == i)
    }
  end
  def update_item_windows
    kind = equip_kind(@equip_window.index)
    for i in 0...EQUIP_TYPE_MAX
      @item_windows[i].visible = (kind == i)
      @item_windows[i].update
    end
    @item_window = @item_windows[kind]
    @item_window.simple_refresh(@equip_window.index)
  end
  def equip_kind(index)
    if index == 0
      return 0
    else
      return @actor.equip_type[index - 1] + 1
    end
  end
unless $imported["ExtendedEquipScene"]
  def update_status_window
    if @equip_window.active
      @status_window.set_new_parameters(nil, nil, nil, nil)
    elsif @item_window.active
      temp_actor = Marshal.load(Marshal.dump(@actor))
      temp_actor.change_equip(@equip_window.index, @item_window.item, true)
      new_atk = temp_actor.atk
      new_def = temp_actor.def
      new_spi = temp_actor.spi
      new_agi = temp_actor.agi
      @status_window.set_new_parameters(new_atk, new_def, new_spi, new_agi)
    end
    @status_window.update
  end
end
  alias update_item_selection_KGC_EquipExtension update_item_selection
  def update_item_selection
    if Input.trigger?(Input::C)
      index = @equip_window.index
      item = @item_window.item
      unless item == nil ||
          (@actor.equippable?(item) && @actor.ep_condition_clear?(index, item))
        Sound.play_buzzer
        return
      end
    end
    update_item_selection_KGC_EquipExtension
  end
end
#==============================================================================
# ■ Scene_File
#==============================================================================
class Scene_File < Scene_Base
  alias read_save_data_KGC_EquipExtension read_save_data
  def read_save_data(file)
    read_save_data_KGC_EquipExtension(file)
    KGC::Commands.restore_equip
    Graphics.frame_reset
  end
end

Pour une utilisation optimale, vous devrez l'utiliser en combinaison avec le script MyFaceChanger (MFC)
Revenir en haut Aller en bas
http://mirainohikari.deviantart.com
zaioun
Habitant Lv.6
Habitant Lv.6
zaioun


Masculin Age : 26
Inscrit le : 06/05/2009
Messages : 121

[VX] Version étendue pour costumes de KGC_EquipExtension VX Empty
MessageSujet: Re: [VX] Version étendue pour costumes de KGC_EquipExtension VX   [VX] Version étendue pour costumes de KGC_EquipExtension VX Icon_minitimeDim 20 Déc 2009 - 14:15

Désolé du nécropost mais je n'ai pas compris comment utiliser ce script...
Revenir en haut Aller en bas
Zangther
Maître des Duels
Maître des Duels
Zangther


Masculin Age : 30
Inscrit le : 29/07/2009
Messages : 7838

[VX] Version étendue pour costumes de KGC_EquipExtension VX Empty
MessageSujet: Re: [VX] Version étendue pour costumes de KGC_EquipExtension VX   [VX] Version étendue pour costumes de KGC_EquipExtension VX Icon_minitimeDim 20 Déc 2009 - 17:09

Lire les commentaire c'est bien aussi...
Tout est marqué dedans, et en français en plus. Que demander de plus ? Qu'on fasse ton jeu à ta place ?
Nan mais faut se sortir les doigts du fion ><

Citation :
Code:
#==============================================================================
# Modules nécessaires : Customize (KGC)
#==============================================================================

#Interrupteur (switch) du jeu indiquant les changements de costumes
$CAN_EQUIP_SUITS = 33 #true si on peut se changer
$SUITS_EQUIPED = 34 #true si un nouveau costume a été équipé
#Variables de jeu détenant les informations pour les costumes (set et index)
$SUITS_GROUP_VAR = 28 #Dans ce scrip, il s'agit du sex du perso, mais peu être étendu
$SUITS_SETS_VAR = 29
$SUITS_INDEX_VAR = 30

# Variable de jeu indiquant le numéro du costume équipé
# (utile pour faire des condition dans le jeu)
$EQUIPED_SUIT = 9

#Valeurs par défaut lorsqu'on retire un costume
$SUITS_DEFAULT_SETS = 0 #Mettre à 1 si vous utilisé les sets par défaut
$SUITS_DEFAULT_INDEX = 0
 

module MySuit
  #Si true, le costume peut être changé n'importe où, si false
  #nécessite un emplacement de changement
  ALWAYS_EQUIP_SUIT = false
 
  # Où voullez vous que le costume soit inscrit dans la liste de la
  # fenêtre d'équipement (0 = début, -1 = fin, 1 = après le 1er, -2 = avant dernier
  # et ainsi de suite
  # Si vous utiliser un entier "out of range", il sera placer comme dernier
  # item de la liste.
  # C'est également l'index qui sera bloqué si ALWAYS_EQUIP_SUIT est à false
  # Et que l'interrupteur $CAN_EQUIP_SUITS n'est pas activé
  SLOT_OF_SUITS = 6
  # Le nom à ajouter pour les costumes
  EXTRA_EQUIP_KIND = "Costume"
 
 
  #Nouveaux éléements pour le "parser" de notes
  SUITS_SETS_SUB = /<SUITS_SET\s*(\d+)>/i
  SUITS_INDEX_SUB = /<SUITS_INDEX\s*(\d+)>/i

end


module KGC
module EquipExtension
  # ◆ From the extended equipment
  #classification  first in order 4, 5 and 6,… Is allotted.
  EXTRA_EQUIP_KIND = ["Bouclier"]
  # ◆ After
  #the equipment place list # weapon, it lines up in the order which is appointed here.
  #Unless the # * equipment place is minimum of one, two swords style is a bug [ru] possibility.
  #  * Equipment classification summary &
  # 0. Shield 1. Head 2. Body 3. Ornament 4~. It defines with the ↑
  EQUIP_TYPE = [0, 4, 1, 2, 3]
 
  # Miraino Hikari : ici on ajoute ce qui est nécessaire pour le costume
  EXTRA_EQUIP_KIND << MySuit::EXTRA_EQUIP_KIND
  #vérification du out of range
  if (MySuit::SLOT_OF_SUITS > EQUIP_TYPE.size) | (MySuit::SLOT_OF_SUITS < -1 * EQUIP_TYPE.size)
    EQUIP_TYPE << EXTRA_EQUIP_KIND.size.to_i + 3 #se place à la fin
    MySuit::SLOT_OF_SUITS = EQUIP_TYPE.size.to_i # SLOT_OF_SUITS prends valeur max
  else
    #sinon s'insère à l'endroit désiré
    EQUIP_TYPE.insert MySuit::SLOT_OF_SUITS, (EXTRA_EQUIP_KIND.size.to_i + 3)
  end
 
  #Ajustement sur nombre négatif
  MySuit::SLOT_OF_SUITS = MySuit::SLOT_OF_SUITS + EQUIP_TYPE.size.to_i + 1 if MySuit::SLOT_OF_SUITS.to_i < 0

  USE_EP_SYSTEM = false
  VOCAB_EP  = "EP"
  VOCAB_EP_A = "E"
  SHOW_STATUS_EP = true
  DEFAULT_EP_COST  = 0
  HIDE_ZERO_EP_COST = true
  EP_MAX = 20
  EP_MIN = 0
  #  Because integer it is converted automatically, the result becoming in decimal, OK.
  EP_CALC_EXP = "level * 0.2 + 3"
  #  Color : Color ID ou Color.new(128, 255, 255)
  EP_COST_COLOR        = 23
  EP_GAUGE_START_COLOR = 28
  EP_GAUGE_END_COLOR  = 29
end
end
Revenir en haut Aller en bas
zaioun
Habitant Lv.6
Habitant Lv.6
zaioun


Masculin Age : 26
Inscrit le : 06/05/2009
Messages : 121

[VX] Version étendue pour costumes de KGC_EquipExtension VX Empty
MessageSujet: Re: [VX] Version étendue pour costumes de KGC_EquipExtension VX   [VX] Version étendue pour costumes de KGC_EquipExtension VX Icon_minitimeDim 20 Déc 2009 - 18:04

Oui, d'accord mais comment on distingue dans la base de données que c'est un costume, quels commentaires on met ?
Revenir en haut Aller en bas
Blockade
Ex-Admin Cruelle
Ex-Admin Cruelle
Blockade


Féminin Age : 30
Inscrit le : 03/07/2008
Messages : 2441

[VX] Version étendue pour costumes de KGC_EquipExtension VX Empty
MessageSujet: Re: [VX] Version étendue pour costumes de KGC_EquipExtension VX   [VX] Version étendue pour costumes de KGC_EquipExtension VX Icon_minitimeDim 20 Déc 2009 - 18:19

T'a même un screen, tu sais lire ou pas ?

[VX] Version étendue pour costumes de KGC_EquipExtension VX Suits010

Pourquoi on est obligé de reposter des trucs déjà mis plus haut pour que vous compreniez ?...
Revenir en haut Aller en bas
zaioun
Habitant Lv.6
Habitant Lv.6
zaioun


Masculin Age : 26
Inscrit le : 06/05/2009
Messages : 121

[VX] Version étendue pour costumes de KGC_EquipExtension VX Empty
MessageSujet: Re: [VX] Version étendue pour costumes de KGC_EquipExtension VX   [VX] Version étendue pour costumes de KGC_EquipExtension VX Icon_minitimeDim 20 Déc 2009 - 18:23

Oui mais comment on choisit la nouvelle apparence du héros ?
Revenir en haut Aller en bas
Blockade
Ex-Admin Cruelle
Ex-Admin Cruelle
Blockade


Féminin Age : 30
Inscrit le : 03/07/2008
Messages : 2441

[VX] Version étendue pour costumes de KGC_EquipExtension VX Empty
MessageSujet: Re: [VX] Version étendue pour costumes de KGC_EquipExtension VX   [VX] Version étendue pour costumes de KGC_EquipExtension VX Icon_minitimeDim 20 Déc 2009 - 18:39

J'ai envie de péter encore un gros cable...
Tu lis le sujet merci c'est dedans....
Revenir en haut Aller en bas
Mekaball
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
Mekaball


Inscrit le : 07/10/2009
Messages : 54

[VX] Version étendue pour costumes de KGC_EquipExtension VX Empty
MessageSujet: Re: [VX] Version étendue pour costumes de KGC_EquipExtension VX   [VX] Version étendue pour costumes de KGC_EquipExtension VX Icon_minitimeLun 21 Déc 2009 - 8:35

Faut avouer qu'il suffit de lire. J'ay suis arrivé moi...

Sinon, Très bon script !
Revenir en haut Aller en bas
MirainoHikari
Ex-Admin-Script
Ex-Admin-Script
MirainoHikari


Masculin Age : 40
Inscrit le : 26/05/2008
Messages : 2360

[VX] Version étendue pour costumes de KGC_EquipExtension VX Empty
MessageSujet: Re: [VX] Version étendue pour costumes de KGC_EquipExtension VX   [VX] Version étendue pour costumes de KGC_EquipExtension VX Icon_minitimeLun 21 Déc 2009 - 13:22

En fait, c'est simplement pour ajouter une catégorie d'équipement "costume" qui te permet de changer l'apparence de ton personnage. Donc en ajoutant ce script, tu auras une nouvelle catégorie de classe d'armure qui apparaîtra. Les costumes te servent à changer d'apparence. Pour cela, il faut qu'ils soient définie comme costumes (voir les écrans du premier post). Et c'est tout. Le reste, c'est à toi de le gérer avec les index. Lit l'exemple.
Revenir en haut Aller en bas
http://mirainohikari.deviantart.com
zaioun
Habitant Lv.6
Habitant Lv.6
zaioun


Masculin Age : 26
Inscrit le : 06/05/2009
Messages : 121

[VX] Version étendue pour costumes de KGC_EquipExtension VX Empty
MessageSujet: Re: [VX] Version étendue pour costumes de KGC_EquipExtension VX   [VX] Version étendue pour costumes de KGC_EquipExtension VX Icon_minitimeLun 21 Déc 2009 - 17:26

Bon, désolé de vous embéter plus mais je crois que j'ai compris, je peux équiper l'armure en costume mais comment je fais pour que l'apparence de mon personnage change, j'ai mis ça dans les commentaires :

Code:

 <CATEGORY Suit>
<EQUIP_KIND Costume>
<SUITS_SET 10>
<SUITS_INDEX 8>
$CAN_EQUIP_SUITS = 144
$EQUIPED_SUIT = 36
Revenir en haut Aller en bas
Contenu sponsorisé




[VX] Version étendue pour costumes de KGC_EquipExtension VX Empty
MessageSujet: Re: [VX] Version étendue pour costumes de KGC_EquipExtension VX   [VX] Version étendue pour costumes de KGC_EquipExtension VX Icon_minitime

Revenir en haut Aller en bas
 

[VX] Version étendue pour costumes de KGC_EquipExtension VX

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» [Résolu]Question à propos de la Version étendue pour costumes de KGC_EquipExtension VX
» Cherche testeur pour version démo
» Recrutement pour Pokémon version Opale
» Probleme avec le Patch de traduction pour la version 1.02
» Mini jeu juste pour rire : Opération séduction Version BETA

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Scripts :: Scripts VX - RGSS2 :: Héros et équipe-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit