Đè cái này lên Window_Shop
class Window_ShopStatus < Window_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
super(368, 128, 272, 352)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype # "Shop" (Status - Right) window font
self.contents.font.size = $defaultfontsize
@item = nil
refresh
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
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, "Owned")
self.contents.font.color = normal_color
self.contents.draw_text(204, 0, 32, 32, number.to_s, 2)
if @item.is_a?(RPG::Item)
return
end
# 装備品追加情報
for i in 0...$game_party.actors.size
# アクターを取得
actor = $game_party.actors
# 装備可能なら通常文字色に、不可能なら無効文字色に設定
if actor.equippable?(@item)
self.contents.font.color = normal_color
else
self.contents.font.color = disabled_color
end
# アクターの名前を描画
self.contents.draw_text(4, 64 + 64 * i, 120, 32, actor.name)
# 現在の装備品を取得
if @item.is_a?(RPG::Weapon)
item1 = $data_weapons[actor.weapon_id]
elsif @item.kind == 0
item1 = $data_armors[actor.armor1_id]
elsif @item.kind == 1
item1 = $data_armors[actor.armor2_id]
elsif @item.kind == 2
item1 = $data_armors[actor.armor3_id]
else
item1 = $data_armors[actor.armor4_id]
end
# 装備可能な場合
if actor.equippable?(@item)
# 武器の場合
# PhotonWeapon - change variable becomes change1
if @item.is_a?(RPG::Weapon)
atk1 = item1 != nil ? item1.atk : 0
atk2 = @item != nil ? @item.atk : 0
change1 = atk2 - atk1
end
# 防具の場合
# PhotonWeapon - change variable becomes change1 for defense;
# added change2 variable for magic defense.
if @item.is_a?(RPG::Armor)
pdef1 = item1 != nil ? item1.pdef : 0
mdef1 = item1 != nil ? item1.mdef : 0
pdef2 = @item != nil ? @item.pdef : 0
mdef2 = @item != nil ? @item.mdef : 0
change1 = pdef2 - pdef1
change2 = mdef2 - mdef1
end
# パラメータの変化値を描画
if @item.is_a?(RPG::Weapon)
# PhotonWeapon - if selected weapon raises attack,
# change to crisis_color (usually yellow). If it lowers
# attack, change to knockout_color (usually red).
# If attack stays the same, use normal_color.
if atk2 > atk1
self.contents.font.color = crisis_color
elsif atk1 > atk2
self.contents.font.color = knockout_color
else
self.contents.font.color = normal_color
end
# PhotonWeapon - location of Atk change.
self.contents.draw_text(4, 64 + 64 * i + 32, 112, 32,
sprintf($data_system.words.atk + " %+d", change1), 1)
end
if @item.is_a?(RPG::Armor)
# PhotonWeapon - change color depending on whether
# defense raises, lowers, or stays the same.
if pdef2 > pdef1
self.contents.font.color = crisis_color
elsif pdef1 > pdef2
self.contents.font.color = knockout_color
else
self.contents.font.color = normal_color
end
# PhotonWeapon - location of PDef change.
self.contents.draw_text(4, 64 + 64 * i + 32, 112, 32,
sprintf($data_system.words.pdef + " %+d", change1), 2)
# PhotonWeapon - change color depending on
# whether magic defense raises, lowers, or stays the same.
if mdef2 > mdef1 # raises
self.contents.font.color = crisis_color
elsif mdef1 > mdef2 # lowers
self.contents.font.color = knockout_color
else # no change
self.contents.font.color = normal_color
end
## PhotonWeapon - location of MDef change.
self.contents.draw_text(124, 64 + 64 * i + 32, 112, 32,
sprintf($data_system.words.mdef + " %+d", change2), 2)
end
end
# アイテムを描画
## PhotonWeapon - Change color back to normal here, otherwise
## item name will be the color of crisis or knockout.
self.contents.font.color = normal_color
if item1 != nil
bitmap = RPG::Cache.icon(item1.icon_name)
opacity = self.contents.font.color == normal_color ? 255 : 128
self.contents.blt(96, 64 + 64 * i + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
self.contents.draw_text(124, 64 + 64 * i, 212, 32, item1.name)
end
end
end
#--------------------------------------------------------------------------
# ● アイテムの設定
# item : 新しいアイテム
#--------------------------------------------------------------------------
def item=(item)
if @item != item
@item = item
refresh
end
end
end
phù xong :whew: Chúc thàng công
class Window_ShopStatus < Window_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
super(368, 128, 272, 352)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype # "Shop" (Status - Right) window font
self.contents.font.size = $defaultfontsize
@item = nil
refresh
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
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, "Owned")
self.contents.font.color = normal_color
self.contents.draw_text(204, 0, 32, 32, number.to_s, 2)
if @item.is_a?(RPG::Item)
return
end
# 装備品追加情報
for i in 0...$game_party.actors.size
# アクターを取得
actor = $game_party.actors
# 装備可能なら通常文字色に、不可能なら無効文字色に設定
if actor.equippable?(@item)
self.contents.font.color = normal_color
else
self.contents.font.color = disabled_color
end
# アクターの名前を描画
self.contents.draw_text(4, 64 + 64 * i, 120, 32, actor.name)
# 現在の装備品を取得
if @item.is_a?(RPG::Weapon)
item1 = $data_weapons[actor.weapon_id]
elsif @item.kind == 0
item1 = $data_armors[actor.armor1_id]
elsif @item.kind == 1
item1 = $data_armors[actor.armor2_id]
elsif @item.kind == 2
item1 = $data_armors[actor.armor3_id]
else
item1 = $data_armors[actor.armor4_id]
end
# 装備可能な場合
if actor.equippable?(@item)
# 武器の場合
# PhotonWeapon - change variable becomes change1
if @item.is_a?(RPG::Weapon)
atk1 = item1 != nil ? item1.atk : 0
atk2 = @item != nil ? @item.atk : 0
change1 = atk2 - atk1
end
# 防具の場合
# PhotonWeapon - change variable becomes change1 for defense;
# added change2 variable for magic defense.
if @item.is_a?(RPG::Armor)
pdef1 = item1 != nil ? item1.pdef : 0
mdef1 = item1 != nil ? item1.mdef : 0
pdef2 = @item != nil ? @item.pdef : 0
mdef2 = @item != nil ? @item.mdef : 0
change1 = pdef2 - pdef1
change2 = mdef2 - mdef1
end
# パラメータの変化値を描画
if @item.is_a?(RPG::Weapon)
# PhotonWeapon - if selected weapon raises attack,
# change to crisis_color (usually yellow). If it lowers
# attack, change to knockout_color (usually red).
# If attack stays the same, use normal_color.
if atk2 > atk1
self.contents.font.color = crisis_color
elsif atk1 > atk2
self.contents.font.color = knockout_color
else
self.contents.font.color = normal_color
end
# PhotonWeapon - location of Atk change.
self.contents.draw_text(4, 64 + 64 * i + 32, 112, 32,
sprintf($data_system.words.atk + " %+d", change1), 1)
end
if @item.is_a?(RPG::Armor)
# PhotonWeapon - change color depending on whether
# defense raises, lowers, or stays the same.
if pdef2 > pdef1
self.contents.font.color = crisis_color
elsif pdef1 > pdef2
self.contents.font.color = knockout_color
else
self.contents.font.color = normal_color
end
# PhotonWeapon - location of PDef change.
self.contents.draw_text(4, 64 + 64 * i + 32, 112, 32,
sprintf($data_system.words.pdef + " %+d", change1), 2)
# PhotonWeapon - change color depending on
# whether magic defense raises, lowers, or stays the same.
if mdef2 > mdef1 # raises
self.contents.font.color = crisis_color
elsif mdef1 > mdef2 # lowers
self.contents.font.color = knockout_color
else # no change
self.contents.font.color = normal_color
end
## PhotonWeapon - location of MDef change.
self.contents.draw_text(124, 64 + 64 * i + 32, 112, 32,
sprintf($data_system.words.mdef + " %+d", change2), 2)
end
end
# アイテムを描画
## PhotonWeapon - Change color back to normal here, otherwise
## item name will be the color of crisis or knockout.
self.contents.font.color = normal_color
if item1 != nil
bitmap = RPG::Cache.icon(item1.icon_name)
opacity = self.contents.font.color == normal_color ? 255 : 128
self.contents.blt(96, 64 + 64 * i + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
self.contents.draw_text(124, 64 + 64 * i, 212, 32, item1.name)
end
end
end
#--------------------------------------------------------------------------
# ● アイテムの設定
# item : 新しいアイテム
#--------------------------------------------------------------------------
def item=(item)
if @item != item
@item = item
refresh
end
end
end
phù xong :whew: Chúc thàng công


