Voici un script que j'adore! Vous pouvez avoir plusieur equipement. Regardez le Screen ci-dessous.
INSTRUCTION: Placez le script au dessus de main.
A la ligne 28 vous pouvez choisir quelle equipement ajouté. (EXTRA_EQUIP_KIND = ["Shoulder", "Feet"])
A la ligne 35 vous placez l'ordre que vous voulez vos équipement. (EQUIP_TYPE = [0, 1, 2, 4, 5, 3, 3])
A la ligne 53 et 55 vous choisisez le maximum et Minimum de Equipement points. (EP_MAX = 20, EP_MIN = 4 )
Allez a la ligne 59 pour choisir combien de EP que tu gagne par Level. (EP_CALC_EXP = "level * 0.2 + 3")
Pour choisir combien de EP qu' un equipement vaux vous devez écrire dans Notes. Voici un screen pour vous aider.
Invité
Invité
Sujet: Re: [VX] EquipExtension Ven 18 Avr 2008 - 1:05
Code:
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #_/ ◆ 装備拡張 - KGC_EquipExtension ◆ VX ◆ #_/ ◇ Last update : 2008/03/02 ◇ #_/---------------------------------------------------------------------------- #_/ 装備関連の機能を拡張します。 #_/============================================================================ #_/ 【メニュー】≪拡張装備画面≫ より下に導入してください。 #It sets EP to the equipment, when total EP of the equipment exceeds one fixed-command, #try not to be able to equip. #It is equipment edition of the ≪ skill CP system ≫. #The # & expansion equipment classification #EXTRA_EQUIP_KIND = [“foot” and “technical skill book”] # the equipment classification which in this part of customization item, newly is drawn up is appointed. #With example the classification, “foot” and the “technical skill book” is drawn up. #Number of the classification which it drew up, from the first 4, 5 and 6, becomes with… in order. #(In case of example, “the foot” 4, the “technical skill book” 6) #after setting with customization item, < equipment classification name > adds to the memo column of the guard. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #============================================================================== # ★ カスタマイズ項目 - Customize ★ #============================================================================== module KGC module EquipExtension # ◆ From the extended equipment #classification first in order 4, 5 and 6,… Is allotted. EXTRA_EQUIP_KIND = ["Shoulder", "Feet"] # ◆ 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, 1, 2, 4, 5, 3, 3] # ◆ EP (Equip Point) 制を使用する USE_EP_SYSTEM = true # ◆ EP の名前 VOCAB_EP = "EP" # ◆ EP の名前 (略) VOCAB_EP_A = "E" # ◆ ステータス画面に EP を表示する SHOW_STATUS_EP = true # ◆ 消費 EP 既定値 # 消費 EP が指定されていない装備品で使用。 DEFAULT_EP_COST = 1 # ◆ 消費 EP 0 は表示しない HIDE_ZERO_EP_COST = true # ◆ EP 上限 EP_MAX = 20 # ◆ EP 下限 EP_MIN = 4 # ◆ 最大 EP 算出式 # level..アクターのレベル # Because integer it is converted automatically, the result becoming in decimal, OK. EP_CALC_EXP = "level * 0.2 + 3" # ◆ 消費 EP 値の色 (アイテム名の末尾に付く数値) # 数値 : \C[n] と同じ色。 # Color : 指定した色。 ( Color.new(128, 255, 255) など ) EP_COST_COLOR = 23 # ◆ EP ゲージの開始色 EP_GAUGE_START_COLOR = 28 # ◆ EP ゲージの終了色 EP_GAUGE_END_COLOR = 29 end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ $imported = {} if $imported == nil $imported["EquipExtension"] = true module KGC::EquipExtension # EP 制を使用しない場合の設定 unless USE_EP_SYSTEM SHOW_STATUS_EP = false HIDE_ZERO_EP_COST = true end # 正規表現 module Regexp # ベースアイテム module BaseItem # 消費 EP 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 #-------------------------------------------------------------------------- # ○ アクターの装備タイプを設定 # actor_id : アクター ID # equip_type : 装備タイプ #-------------------------------------------------------------------------- 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 #-------------------------------------------------------------------------- # ○ アクターの装備を変更 # actor_id : アクター ID # index : 装備部位 (0~) # item_id : 武器 or 防具 ID (0 で解除) #-------------------------------------------------------------------------- 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 # EP def self.ep return KGC::EquipExtension::VOCAB_EP end # EP (略) 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 @__ep_cost = $1.to_i when KGC::EquipExtension::Regexp::BaseItem::EQUIP_TYPE # 装備タイプ @__equip_type = [] $1.scan(/\d+/) { |num| @__equip_type << num.to_i } end } # EP 制を使用しない場合は消費 EP = 0 @__ep_cost = 0 unless KGC::EquipExtension::USE_EP_SYSTEM end #-------------------------------------------------------------------------- # ○ 消費 EP #-------------------------------------------------------------------------- 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 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 # 装備タイプ #-------------------------------------------------------------------------- # ● セットアップ # actor_id : アクター ID #-------------------------------------------------------------------------- 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 #-------------------------------------------------------------------------- # ○ MaxEP 取得 #-------------------------------------------------------------------------- def maxep n = Integer(eval(KGC::EquipExtension::EP_CALC_EXP)) return [[n, ep_limit].min, KGC::EquipExtension::EP_MIN].max end #-------------------------------------------------------------------------- # ○ EP 取得 #-------------------------------------------------------------------------- def ep n = 0 equips.compact.each { |item| n += item.ep_cost } return [maxep - n, 0].max end #-------------------------------------------------------------------------- # ○ EP 上限取得 #-------------------------------------------------------------------------- def ep_limit return KGC::EquipExtension::EP_MAX end #-------------------------------------------------------------------------- # ○ 防具欄の取得 #--------------------------------------------------------------------------
Invité
Invité
Sujet: Re: [VX] EquipExtension Ven 18 Avr 2008 - 1:05
Code:
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 #-------------------------------------------------------------------------- # ○ 防具 ID リストの取得 #-------------------------------------------------------------------------- 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 # 5番目以降の防具を追加 extra_armor_number.times { |i| armor_id = extra_armor_id[i] result << (armor_id == nil ? nil : $data_armors[armor_id]) } return result end #-------------------------------------------------------------------------- # ● 装備の変更 (オブジェクトで指定) # equip_type : 装備部位 # item : If weapon or guard (nil equipment cancellation) # test : テストフラグ (戦闘テスト、または装備画面での一時装備) #-------------------------------------------------------------------------- alias change_equip_KGC_EquipExtension change_equip def change_equip(equip_type, item, test = false) 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 restore_battle_skill if $imported["SkillCPSystem"] restore_passive_rev if $imported["PassiveSkill"] end #-------------------------------------------------------------------------- # ● 装備の破棄 # item : 破棄する武器 or 防具 # 武器/防具の増減で「装備品も含める」のとき使用する。 #-------------------------------------------------------------------------- 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 #-------------------------------------------------------------------------- # ● 職業 ID の変更 # class_id : 新しい職業 ID #-------------------------------------------------------------------------- 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 #-------------------------------------------------------------------------- # ○ EP 条件クリア判定 # equip_type : 装備部位 # item : 武器 or 防具 #-------------------------------------------------------------------------- def ep_condition_clear?(equip_type, item) return true if item == nil # nil は解除なので OK 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 #-------------------------------------------------------------------------- # ○ 装備品を正しい箇所にセット # item : 武器 or 防具 #-------------------------------------------------------------------------- def equip_legal_slot(item) if item.is_a?(RPG::Weapon) if @weapon_id == 0 # 武器 1 change_equip(0, item) elsif two_swords_style && @armor1_id == 0 # 武器 2 (二刀流の場合) 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 #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Window_Base #============================================================================== class Window_Base < Window #-------------------------------------------------------------------------- # ○ EP の文字色を取得 # actor : アクター #-------------------------------------------------------------------------- def ep_color(actor) return knockout_color if actor.maxep > 0 && actor.ep == 0 return normal_color end #-------------------------------------------------------------------------- # ○ EP ゲージの色 1 の取得 #-------------------------------------------------------------------------- def ep_gauge_color1 color = KGC::EquipExtension::EP_GAUGE_START_COLOR return (color.is_a?(Integer) ? text_color(color) : color) end #-------------------------------------------------------------------------- # ○ EP ゲージの色 2 の取得 #-------------------------------------------------------------------------- def ep_gauge_color2 color = KGC::EquipExtension::EP_GAUGE_END_COLOR return (color.is_a?(Integer) ? text_color(color) : color) end #-------------------------------------------------------------------------- # ○ EP の描画 # actor : アクター # x : 描画先 X 座標 # y : 描画先 Y 座標 # width : 幅 #-------------------------------------------------------------------------- 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 #-------------------------------------------------------------------------- # ○ EP ゲージの描画 # actor : アクター # x : 描画先 X 座標 # y : 描画先 Y 座標 # width : 幅 #-------------------------------------------------------------------------- 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 #-------------------------------------------------------------------------- # ○ 消費 EP の描画 # item : 武器 or 防具 # rect : 描画する領域 # enabled : 許可状態 #-------------------------------------------------------------------------- def draw_equipment_ep_cost(item, rect, enabled = true) return if item == nil # 消費 EP 0 を表示しない場合 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 [url=http://rpg-maker-vx.bbactif.com/mailto:1...@actor.armor_number]1...@actor.armor_number[/url] 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
Invité
Invité
Sujet: Re: [VX] EquipExtension Ven 18 Avr 2008 - 1:06
Code:
#-------------------------------------------------------------------------- # ○ 防具欄の名称を取得 # kind : 種別 #-------------------------------------------------------------------------- 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"] #-------------------------------------------------------------------------- # ● カーソルを 1 ページ後ろに移動 #-------------------------------------------------------------------------- def cursor_pagedown return if Input.repeat?(Input::R) super end #-------------------------------------------------------------------------- # ● カーソルを 1 ページ前に移動 #-------------------------------------------------------------------------- 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 #-------------------------------------------------------------------------- # ● アイテムをリストに含めるかどうか # item : アイテム #-------------------------------------------------------------------------- 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 #-------------------------------------------------------------------------- # ● アイテムを許可状態で表示するかどうか # item : アイテム #-------------------------------------------------------------------------- def enable?(item) return false unless @actor.equippable?(item) # 装備不可 return false unless @actor.ep_condition_clear?(@equip_type, item) # EP 不足 return true end #-------------------------------------------------------------------------- # ● 項目の描画 # index : 項目番号 #-------------------------------------------------------------------------- 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 #-------------------------------------------------------------------------- # ○ 簡易リフレッシュ # equip_type : 装備部位 #-------------------------------------------------------------------------- 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 #-------------------------------------------------------------------------- # ● 基本情報の描画 # x : 描画先 X 座標 # y : 描画先 Y 座標 #-------------------------------------------------------------------------- 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 #-------------------------------------------------------------------------- # ● 装備品の描画 # x : 描画先 X 座標 # y : 描画先 Y 座標 #-------------------------------------------------------------------------- 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 #-------------------------------------------------------------------------- # ● アクターの現装備と能力値変化の描画 # actor : アクター # x : 描画先 X 座標 # y : 描画先 Y 座標 #-------------------------------------------------------------------------- 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 #-------------------------------------------------------------------------- # ● オブジェクト初期化 # actor_index : アクターインデックス # equip_index : 装備インデックス #-------------------------------------------------------------------------- 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 #-------------------------------------------------------------------------- # ○ 装備欄の種別を取得 # index : Equipment column index #-------------------------------------------------------------------------- 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
Invité
Invité
Sujet: Re: [VX] EquipExtension Ven 18 Avr 2008 - 1:06
Code:
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Scene_File #============================================================================== class Scene_File < Scene_Base #-------------------------------------------------------------------------- # ● セーブデータの読み込み # file : 読み込み用ファイルオブジェクト (オープン済み) #-------------------------------------------------------------------------- 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
Enjoy!!
lesims100
Citadin Lv.7
Age : 31 Inscrit le : 06/04/2008 Messages : 167
Sujet: Re: [VX] EquipExtension Ven 18 Avr 2008 - 3:19
Woaw tu es en feu ce soir, tu en post des scripts !
fabY
dYeu retraité prématurément
Age : 29 Inscrit le : 09/02/2008 Messages : 5357
Sujet: Re: [VX] EquipExtension Ven 18 Avr 2008 - 9:14
lesims100 a écrit:
Woaw tu es en feu ce soir, tu en post des scripts !
Je te réctifie : Le matin xD. Il vit en Amérique, c'est pour ça qu'il est si actif la nuit x). Merci beaucoup =D, bonne nuit ^^.
lesims100
Citadin Lv.7
Age : 31 Inscrit le : 06/04/2008 Messages : 167
Sujet: Re: [VX] EquipExtension Mer 14 Mai 2008 - 3:17
ahah, moi aussi je vie au Québec.
Dernière édition par lesims100 le Mer 23 Juil 2008 - 23:07, édité 1 fois
Invité
Invité
Sujet: Re: [VX] EquipExtension Mer 14 Mai 2008 - 12:27
Les script de "KGC" (je sais pas si c'est un groupe, ou une seule personne) sont vraiment très bien, seule chose c'est que ceux-ci soit en japonais, mais à la limite c'est pas plus mal, ça permet de bien voir la maniere dont est fait le script pour reussir a le traduire, puis on apprend toujours des mots nouveau comme ça :p (Par contre, les script sont vraiment long, a la limite, peut-etre faudrait-il le mettre dans un seul fichier texte qu'il faudrait heberger ensuite, -- a la rigueur une démo ?-- )
MirainoHikari
Ex-Admin-Script
Age : 42 Inscrit le : 26/05/2008 Messages : 2360
Sujet: Re: [VX] EquipExtension Jeu 5 Juin 2008 - 0:36
Age : 28 Avertissements : 2Inscrit le : 12/10/2008 Messages : 116
Sujet: Re: [VX] EquipExtension Dim 12 Oct 2008 - 3:52
J'ai un probleme , dans le script 3 , il me dise que la ligne 41 a une erreur
Gothor
Chevalier Lv.17
Age : 31 Inscrit le : 27/04/2008 Messages : 1835
Sujet: Re: [VX] EquipExtension Dim 12 Oct 2008 - 8:18
Le code qu'il a donné n'est qu'un seul et unique script, seulement il l'a mis en plusieurs parties parce que les admins ont la flemme de modifier le nombre maximum de caractères dans un message >< Mais sinon tu prends tous les codes et les mets les uns après les autres... c'est peut-être pour ça