| Villageois (Nv 3) |
 |
Inscrit le: 18 Sep 2009, 19:20 Messages: 51 Niveau RPG Maker: Très correct Logiciel(s) préféré(s): RPG Maker XP Point(s) Fort(s): Evénements et making. Nul en Ruby. Points d'aide: 0/60
Créations :
Voir ses créations
|
Bonjour, J'ai trouvé un très beau script qui permet d'afficher un joli magasin, le problème est que le texte n'apparaît pas quand j'utilise (il n'apparaît pas dans le magasin uniquement). Je suppose que ce n'est pas un simple problème de police, donc si quelqu'un parvenait à trouver la solution, ce serait génial. (La raison du bug semble être donnée dans ce forum, mais je comprends pas ce que c'est, non pas que la langue me pose problème, mais 'PK' ne me dit rien ^^") http://rmrk.net/index.php?topic=24291.0- Code: Tout sélectionner
#=============================================================================== # Leon's Shopping System #------------------------------------------------------------------------------- # 3/10/2007 # v. 1.0 #------------------------------------------------------------------------------- # Instructions: # Place above main, and below the other default scripts. # (Yes, that is all of the instructions) # # Features: # Replaces the default shop system. # #===============================================================================
#=============================================================================== # Window_Shop_Info #=============================================================================== class Window_Shop_Info < Window_Base def initialize super(160, 0, 480, 64) self.contents = Bitmap.new(width - 32, height - 32) refresh end def refresh(selection = 0) self.contents.clear if selection == 0 self.contents.draw_text(0, 0, 448, 32, "Buy, sell, or leave?", 1) else self.contents.draw_text(0, 0, 448, 32, "Press 'Z' for character compatabilitiy.", 1) end end end #=============================================================================== # END Window_Shop_Info #===============================================================================
#=============================================================================== # Window_Shop_Option #=============================================================================== class Window_Shop_Option < Window_Selectable def initialize super(0, 0, 160, 128) @option = ["Buy", "Sell", "Leave"] @item_max = @option.size self.contents = Bitmap.new(width - 32, height - 32) self.index = 0 self.active = true refresh end def refresh self.contents.clear for i in 0...@option.size y = i * 32 self.contents.draw_text(0, y, 128, 32, @option[i], 1) end end end #=============================================================================== # END Window_Shop_Option #===============================================================================
#=============================================================================== # Window_Shop_Gold #=============================================================================== class Window_Shop_Gold < Window_Base def initialize super(0, 128, 160, 64) self.contents = Bitmap.new(width - 32, height - 32) refresh end def refresh self.contents.clear self.contents.font.color = system_color self.contents.draw_text(0, 0, 60, 32, $data_system.words.gold + ":") self.contents.font.color = normal_color self.contents.draw_text(0, 0, 128, 32, $game_party.gold.to_s, 2) end end #=============================================================================== # END Window_Shop_Gold #===============================================================================
#=============================================================================== # Window_Shop_Own #=============================================================================== class Window_Shop_Own < Window_Base def initialize super(0, 192, 160, 64) self.contents = Bitmap.new(width - 32, height - 32) item = nil refresh(item) end def refresh(item) self.contents.clear self.contents.font.color = system_color self.contents.draw_text(0, 0, 48, 32, "Own:") if item == nil return end self.contents.font.color = normal_color 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.draw_text(0, 0, 128, 32, number.to_s, 2) end end #=============================================================================== # END Window_Shop_Own #===============================================================================
#=============================================================================== # Window_Shop_List #=============================================================================== class Window_Shop_List < Window_Selectable def initialize(shop_goods) super(160, 64, 480, 192) self.contents = Bitmap.new(width - 32, height - 32) self.active = false self.index = 0 self.visible = false @shop_goods = shop_goods @sell = false end def item if @data != nil return @data[index] end end def refresh @sell = false @option_index = nil if self.contents != nil self.contents.dispose self.contents = nil end @data = [] for goods_item in @shop_goods case goods_item[0] when 0 item = $data_items[goods_item[1]] when 1 item = $data_weapons[goods_item[1]] when 2 item = $data_armors[goods_item[1]] end if item != nil @data.push(item) end end @item_max = @data.size if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * 32) for i in 0...@item_max draw_item(i) end end end def refresh_sell(option_index) @sell = true @option_index = option_index if self.contents != nil self.contents.dispose self.contents = nil end @data = [] for i in 1...$data_items.size if $game_party.item_number(i) > 0 @data.push($data_items[i]) end end for i in 1...$data_weapons.size if $game_party.weapon_number(i) > 0 @data.push($data_weapons[i]) end end for i in 1...$data_armors.size if $game_party.armor_number(i) > 0 @data.push($data_armors[i]) end end @item_max = @data.size if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * 32) for i in 0...@item_max draw_item(i) end end end def draw_item(index) item = @data[index] 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 if @option_index == nil if item.price <= $game_party.gold and number < 99 self.contents.font.color = normal_color else self.contents.font.color = disabled_color end else self.contents.font.color = normal_color end x = 4 y = index * 32 if item.price == 0 self.contents.font.color = disabled_color else self.contents.font.color = normal_color end if @sell == false if item.price <= $game_party.gold and number < 99 self.contents.font.color = normal_color else self.contents.font.color = disabled_color end end rect = Rect.new(x, y, self.width - 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) if @option_index == nil self.contents.draw_text(x + 350, y, 88, 32, item.price.to_s, 2) else item_price = (item.price / 2).round self.contents.draw_text(x + 350, y, 88, 32, item_price.to_s, 2) end end end #=============================================================================== # END Window_Shop_List #===============================================================================
#=============================================================================== # Window_Shop_Description_Item #=============================================================================== class Window_Shop_Description_Item < Window_Base def initialize super(90, 256, 460, 192) self.contents = Bitmap.new(width - 32, height - 32) self.visible = false item = nil refresh(item) end def refresh(item) self.contents.clear if item == nil return end bitmap = RPG::Cache.icon(item.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(0, 4, bitmap, Rect.new(0, 0, 24, 24), opacity) self.contents.draw_text(28, 0, 120, 32, item.name) self.contents.draw_text(0, 32, 428, 32, item.description) self.contents.font.color = system_color self.contents.draw_text(0, 64, 120, 32, "Range:") self.contents.draw_text(0, 96, 140, 32, "% HP Recovered:") self.contents.draw_text(0, 128, 140, 32, "% SP Recovered:") self.contents.draw_text(230, 96, 120, 32, "HP Recovered:") self.contents.draw_text(230, 128, 120, 32, "SP Recovered:") self.contents.font.color = normal_color self.contents.draw_text(150, 96, 90, 32, item.recover_hp_rate.to_s) self.contents.draw_text(150, 128, 90, 32, item.recover_sp_rate.to_s) self.contents.draw_text(360, 96, 90, 32, item.recover_hp.to_s) self.contents.draw_text(360, 128, 90, 32, item.recover_sp.to_s) case item.scope when 0 self.contents.draw_text(70, 64, 120, 32, "None") when 1 self.contents.draw_text(70, 64, 120, 32, "One Enemy") when 2 self.contents.draw_text(70, 64, 120, 32, "All Enemies") when 3 self.contents.draw_text(70, 64, 120, 32, "One Ally") when 4 self.contents.draw_text(70, 64, 120, 32, "All Allies") when 5 self.contents.draw_text(70, 64, 120, 32, "One Dead Ally") when 6 self.contents.draw_text(70, 64, 120, 32, "All Dead Allies") when 7 self.contents.draw_text(70, 64, 120, 32, "User") end end end #=============================================================================== # END Window_Shop_Description_Item #===============================================================================
#=============================================================================== # Window_Shop_Description_Equipment #=============================================================================== class Window_Shop_Description_Equipment < Window_Base def initialize super(0, 256, 640, 224) self.contents = Bitmap.new(width - 32, height - 32) self.visible = false item = nil refresh(item) end def refresh(item) self.contents.clear if item == nil return end bitmap = RPG::Cache.icon(item.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(0, 4, bitmap, Rect.new(0, 0, 24, 24), opacity) self.contents.draw_text(28, 0, 120, 32, item.name) self.contents.draw_text(0, 32, 460, 32, item.description) self.contents.font.color = system_color if item.is_a?(RPG::Weapon) self.contents.draw_text(0, 64, 75, 32, "Attack:") self.contents.draw_text(0, 96, 120, 32, "Phys. Def:") self.contents.draw_text(0, 128, 120, 32, "Mag. Def:") self.contents.draw_text(165, 64, 120, 32, "Str:") self.contents.draw_text(165, 96, 120, 32, "Dex:") self.contents.draw_text(165, 128, 120, 32, "Agi:") self.contents.draw_text(165, 160, 120, 32, "Int:") self.contents.draw_text(290, 64, 120, 32, "Elements:") self.contents.draw_text(470, 64, 120, 32, "Inflicts:") else self.contents.draw_text(0, 64, 120, 32, "Phys. Def:") self.contents.draw_text(0, 96, 120, 32, "Mag. Def:") self.contents.draw_text(0, 128, 120, 32, "Evade:") self.contents.draw_text(0, 160, 120, 32, "Auto:") self.contents.draw_text(165, 64, 120, 32, "Str:") self.contents.draw_text(165, 96, 120, 32, "Dex:") self.contents.draw_text(165, 128, 120, 32, "Agi:") self.contents.draw_text(165, 160, 120, 32, "Int:") self.contents.draw_text(370, 64, 120, 32, "Guards Against:") end self.contents.font.color = normal_color if item.is_a?(RPG::Weapon) self.contents.draw_text(60, 64, 75, 32, item.atk.to_s) self.contents.draw_text(90, 96, 75, 32, item.pdef.to_s) self.contents.draw_text(90, 128, 75, 32, item.mdef.to_s) self.contents.draw_text(195, 64, 50, 32, item.str_plus.to_s, 2) self.contents.draw_text(195, 96, 50, 32, item.dex_plus.to_s, 2) self.contents.draw_text(195, 128, 50, 32, item.agi_plus.to_s, 2) self.contents.draw_text(195, 160, 50, 32, item.int_plus.to_s, 2) self.contents.font.size = 14 for i in 0...item.element_set.size x = 265 + i % 2 * 75 y = 80 + i / 2 * 14 self.contents.draw_text(x, y, 120, 32, $data_system.elements[item.element_set[i]]) end for i in 0...item.plus_state_set.size x = 445 + i % 2 * 75 y = 80 + i / 2 * 14 self.contents.draw_text(x, y, 120, 32, $data_states[item.plus_state_set[i]].name) end else self.contents.draw_text(90, 64, 75, 32, item.pdef.to_s) self.contents.draw_text(90, 96, 75, 32, item.mdef.to_s) self.contents.draw_text(60, 128, 75, 32, item.eva.to_s) if $data_states[item.auto_state_id] != nil self.contents.draw_text(55, 160, 75, 32, $data_states[item.auto_state_id].name) end self.contents.draw_text(195, 64, 50, 32, item.str_plus.to_s, 2) self.contents.draw_text(195, 96, 50, 32, item.dex_plus.to_s, 2) self.contents.draw_text(195, 128, 50, 32, item.agi_plus.to_s, 2) self.contents.draw_text(195, 160, 50, 32, item.int_plus.to_s, 2) self.contents.font.size = 14 @defense = [] for i in 0...item.guard_element_set.size @defense.push($data_system.elements[item.guard_element_set[i]]) end for i in 0...item.guard_state_set.size @defense.push($data_states[item.guard_state_set[i]].name) end for i in 0...@defense.size x = 265 + i % 4 * 80 y = 80 + i / 4 * 14 self.contents.draw_text(x + 15, y, 85, 32, @defense[i]) end end self.contents.font.size = 22 end end #=============================================================================== # END Window_Shop_Description_Equipment #===============================================================================
#=============================================================================== # Window_Shop_Actors #=============================================================================== class Window_Shop_Actors < Window_Base def initialize super(84, 32, 472, 416) self.contents = Bitmap.new(width - 32, height - 32) self.visible = false self.active = false self.z += 100 item = nil refresh(item) end def refresh(item) self.contents.clear if item == nil return end for i in 0...$game_party.actors.size x = i%2 * 236 y = i/2 * 192 draw_actor_graphic($game_party.actors[i], x + 16, y + 48) draw_actor_name($game_party.actors[i], x + 48, y + 8) pdef1 = item.pdef mdef1 = item.mdef str1 = item.str_plus dex1 = item.dex_plus agi1 = item.agi_plus int1 = item.int_plus atk2 = 0 eva2 = 0 pdef2 = 0 mdef2 = 0 str2 = 0 dex2 = 0 agi2 = 0 int2 = 0 if item.is_a?(RPG::Weapon) if $data_weapons[$game_party.actors[i].weapon_id] != nil atk1 = item.atk atk2 = $data_weapons[$game_party.actors[i].weapon_id].atk pdef2 = $data_weapons[$game_party.actors[i].weapon_id].pdef mdef2 = $data_weapons[$game_party.actors[i].weapon_id].mdef str2 = $data_weapons[$game_party.actors[i].weapon_id].str_plus dex2 = $data_weapons[$game_party.actors[i].weapon_id].dex_plus agi2 = $data_weapons[$game_party.actors[i].weapon_id].agi_plus int2 = $data_weapons[$game_party.actors[i].weapon_id].int_plus end else eva1 = item.eva case item.kind when 0 if $data_armors[$game_party.actors[i].armor1_id] != nil eva2 = $data_armors[$game_party.actors[i].armor1_id].eva pdef2 = $data_armors[$game_party.actors[i].armor1_id].pdef mdef2 = $data_armors[$game_party.actors[i].armor1_id].mdef str2 = $data_armors[$game_party.actors[i].armor1_id].str_plus dex2 = $data_armors[$game_party.actors[i].armor1_id].dex_plus agi2 = $data_armors[$game_party.actors[i].armor1_id].agi_plus int2 = $data_armors[$game_party.actors[i].armor1_id].int_plus end when 1 if $data_armors[$game_party.actors[i].armor2_id] != nil eva2 = $data_armors[$game_party.actors[i].armor2_id].eva pdef2 = $data_armors[$game_party.actors[i].armor2_id].pdef mdef2 = $data_armors[$game_party.actors[i].armor2_id].mdef str2 = $data_armors[$game_party.actors[i].armor2_id].str_plus dex2 = $data_armors[$game_party.actors[i].armor2_id].dex_plus agi2 = $data_armors[$game_party.actors[i].armor2_id].agi_plus int2 = $data_armors[$game_party.actors[i].armor2_id].int_plus end when 2 if $data_armors[$game_party.actors[i].armor3_id] != nil eva2 = $data_armors[$game_party.actors[i].armor3_id].eva pdef2 = $data_armors[$game_party.actors[i].armor3_id].pdef mdef2 = $data_armors[$game_party.actors[i].armor3_id].mdef str2 = $data_armors[$game_party.actors[i].armor3_id].str_plus dex2 = $data_armors[$game_party.actors[i].armor3_id].dex_plus agi2 = $data_armors[$game_party.actors[i].armor3_id].agi_plus int2 = $data_armors[$game_party.actors[i].armor3_id].int_plus end when 3 if $data_armors[$game_party.actors[i].armor4_id] != nil eva2 = $data_armors[$game_party.actors[i].armor4_id].eva pdef2 = $data_armors[$game_party.actors[i].armor4_id].pdef mdef2 = $data_armors[$game_party.actors[i].armor4_id].mdef str2 = $data_armors[$game_party.actors[i].armor4_id].str_plus dex2 = $data_armors[$game_party.actors[i].armor4_id].dex_plus agi2 = $data_armors[$game_party.actors[i].armor4_id].agi_plus int2 = $data_armors[$game_party.actors[i].armor4_id].int_plus end end end color1 = Color.new(25, 210, 25, 255) color2 = Color.new(210, 25, 25, 255) if $game_party.actors[i].equippable?(item) self.contents.font.color = normal_color # PDEF if (pdef1 - pdef2) > 0 self.contents.font.color = color1 elsif (pdef1 - pdef2) < 0 self.contents.font.color = color2 else self.contents.font.color = normal_color end self.contents.draw_text(x + 25, y + 80, 70, 32, (pdef1 - pdef2).to_s, 2) # MDEF if (mdef1 - mdef2) > 0 self.contents.font.color = color1 elsif (mdef1 - mdef2) < 0 self.contents.font.color = color2 else self.contents.font.color = normal_color end self.contents.draw_text(x + 25, y + 112, 70, 32, (mdef1 - mdef2).to_s, 2) # STR if (str1 - str2) > 0 self.contents.font.color = color1 elsif (str1 - str2) < 0 self.contents.font.color = color2 else self.contents.font.color = normal_color end self.contents.draw_text(x + 125, y + 48, 70, 32, (str1 - str2).to_s, 2) # DEX if (dex1 - dex2) > 0 self.contents.font.color = color1 elsif (dex1 - dex2) < 0 self.contents.font.color = color2 else self.contents.font.color = normal_color end self.contents.draw_text(x + 125, y + 80, 70, 32, (dex1 - dex2).to_s, 2) # AGI if (agi1 - agi2) > 0 self.contents.font.color = color1 elsif (agi1 - agi2) < 0 self.contents.font.color = color2 else self.contents.font.color = normal_color end self.contents.draw_text(x + 125, y + 112, 70, 32, (agi1 - agi2).to_s, 2) # INT if (int1 - int2) > 0 self.contents.font.color = color1 elsif (int1 - int2) < 0 self.contents.font.color = color2 else self.contents.font.color = normal_color end self.contents.draw_text(x + 125, y + 144, 70, 32, (int1 - int2).to_s, 2) if item.is_a?(RPG::Weapon) self.contents.font.color = system_color self.contents.draw_text(x, y + 48, 80, 32, "Atk:") self.contents.draw_text(x, y + 80, 80, 32, "Pdef:") self.contents.draw_text(x, y + 112, 80, 32, "Mdef:") self.contents.draw_text(x + 110, y + 48, 80, 32, "Str:") self.contents.draw_text(x + 110, y + 80, 80, 32, "Dex:") self.contents.draw_text(x + 110, y + 112, 80, 32, "Agi:") self.contents.draw_text(x + 110, y + 144, 80, 32, "Int:") self.contents.font.color = normal_color # ATTACK if (atk1 - atk2) > 0 self.contents.font.color = color1 elsif (atk1 - atk2) < 0 self.contents.font.color = color2 else self.contents.font.color = normal_color end self.contents.draw_text(x + 25, y + 48, 70, 32, (atk1 - atk2).to_s, 2) # ELSE if armor... else self.contents.font.color = system_color self.contents.draw_text(x, y + 48, 80, 32, "Eva:") self.contents.draw_text(x, y + 80, 80, 32, "Pdef:") self.contents.draw_text(x, y + 112, 80, 32, "Mdef:") self.contents.draw_text(x + 110, y + 48, 80, 32, "Str:") self.contents.draw_text(x + 110, y + 80, 80, 32, "Dex:") self.contents.draw_text(x + 110, y + 112, 80, 32, "Agi:") self.contents.draw_text(x + 110, y + 144, 80, 32, "Int:") self.contents.font.color = normal_color if (eva1 - eva2) > 0 self.contents.font.color = color1 elsif (eva1 - eva2) < 0 self.contents.font.color = color2 else self.contents.font.color = normal_color end self.contents.draw_text(x + 25, y + 48, 70, 32, (eva1 - eva2).to_s, 2) end else self.contents.font.color = disabled_color self.contents.draw_text(x + 10, y + 80, 120, 32, "Cannot Equip") self.contents.font.color = normal_color end end end end #=============================================================================== # END Window_Shop_Actors #===============================================================================
#=============================================================================== # Window_Shop_Amount #=============================================================================== class Window_Shop_Amount < Window_Selectable attr_accessor :amount def initialize super(80, 208, 480, 96) @item_max = 1 self.contents = Bitmap.new(width - 32, height - 32) self.visible = false self.z += 100 @amount = 1 item = $data_items[1] option_index = 0 refresh(item, option_index) end def refresh(item, option_index) self.contents.clear if item == nil return end if option_index == nil return end if option_index == 0 self.contents.font.color = system_color self.contents.draw_text(0, 0, 200, 32, "How many?") self.contents.font.color = normal_color if $game_party.gold < (@amount * item.price) self.contents.font.color = disabled_color end bitmap = RPG::Cache.icon(item.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(0, 36, bitmap, Rect.new(0, 0, 24, 24), opacity) self.contents.draw_text(28, 32, 120, 32, item.name) self.contents.draw_text(335, 32, 10, 32, "x") self.contents.draw_text(280, 32, 30, 32, @amount.to_s, 2) self.cursor_rect.set(284, 32, 32, 32) self.contents.draw_text(370, 32, 70, 32, (@amount * item.price).to_s, 2) else self.contents.font.color = system_color self.contents.draw_text(0, 0, 200, 32, "How many?") self.contents.font.color = normal_color bitmap = RPG::Cache.icon(item.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(0, 36, bitmap, Rect.new(0, 0, 24, 24), opacity) self.contents.draw_text(28, 32, 120, 32, item.name) self.contents.draw_text(335, 32, 10, 32, "x") self.contents.draw_text(280, 32, 30, 32, @amount.to_s, 2) self.cursor_rect.set(284, 32, 32, 32) self.contents.draw_text(370, 32, 70, 32, (@amount * (item.price / 2)).to_s, 2) end end end #=============================================================================== # END Window_Shop_Amount #===============================================================================
#=============================================================================== # Scene_Shop #=============================================================================== class Scene_Shop def main @counter = 0 @info_window = Window_Shop_Info.new @option_window = Window_Shop_Option.new @gold_window = Window_Shop_Gold.new @own_window = Window_Shop_Own.new @list_window = Window_Shop_List.new($game_temp.shop_goods) @desc_item_window = Window_Shop_Description_Item.new @desc_equip_window = Window_Shop_Description_Equipment.new @actor_window = Window_Shop_Actors.new @amount_window = Window_Shop_Amount.new Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @info_window.dispose @option_window.dispose @gold_window.dispose @own_window.dispose @list_window.dispose @desc_item_window.dispose @desc_equip_window.dispose @actor_window.dispose @amount_window.dispose end def update @info_window.update @option_window.update @gold_window.update @own_window.update @list_window.update @desc_item_window.update @desc_equip_window.update @actor_window.update @amount_window.update if @option_window.active update_option return end if @list_window.active update_list return end if @actor_window.visible update_actors return end if @amount_window.active and @option_window.index == 0 update_amount return end if @amount_window.active and @option_window.index == 1 update_sell return end end def update_option @info_window.refresh(0) if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) $scene = Scene_Map.new return end if Input.trigger?(Input::C) case @option_window.index when 0 $game_system.se_play($data_system.decision_se) @list_window.refresh @option_window.active = false @list_window.visible = true @list_window.active = true @list_window.index = 0 when 1 $game_system.se_play($data_system.decision_se) @list_window.refresh_sell(@option_window.index) @option_window.active = false @list_window.visible = true @list_window.active = true @list_window.index = 0 when 2 $game_system.se_play($data_system.cancel_se) $scene = Scene_Map.new return end end end def update_list @info_window.refresh(1) @item = @list_window.item if @counter != 1 if @item.is_a?(RPG::Item) @desc_item_window.refresh(@item) @counter = 1 else @desc_equip_window.refresh(@item) @counter = 1 end end @own_window.refresh(@list_window.item) if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN) or Input.repeat?(Input::UP) or Input.repeat?(Input::DOWN) @counter = 0 end if @item.is_a?(RPG::Item) if @counter != 1 @desc_item_window.refresh(@item) @counter = 1 end @desc_item_window.visible = true @desc_equip_window.visible = false else if @counter != 1 @desc_equip_window.refresh(@item) @counter = 1 end @desc_item_window.visible = false @desc_equip_window.visible = true end if Input.trigger?(Input::B) @counter = 0 $game_system.se_play($data_system.cancel_se) @desc_item_window.visible = false @desc_equip_window.visible = false @desc_item_window.refresh(nil) @desc_equip_window.refresh(nil) @option_window.active = true @list_window.visible = false @list_window.active = false @own_window.refresh(nil) return end if Input.trigger?(Input::A) unless @item.is_a?(RPG::Item) $game_system.se_play($data_system.decision_se) @actor_window.refresh(@item) @actor_window.visible = true @list_window.active = false return else $game_system.se_play($data_system.buzzer_se) end end if Input.trigger?(Input::C) if @item == nil or @item.id == 0 or @item.price == 0 $game_system.se_play($data_system.buzzer_se) return end if @option_window.index == 0 case @item when RPG::Item if $game_party.item_number(@item.id) >= 99 $game_system.se_play($data_system.buzzer_se) return end when RPG::Weapon if $game_party.weapon_number(@item.id) >= 99 $game_system.se_play($data_system.buzzer_se) return end when RPG::Armor if $game_party.armor_number(@item.id) >= 99 $game_system.se_play($data_system.buzzer_se) return end end end $game_system.se_play($data_system.decision_se) @amount_window.visible = true @amount_window.active = true @list_window.active = false return end end def update_actors if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @actor_window.visible = false @list_window.active = true end end def update_amount @amount_window.refresh(@item, @option_window.index) if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @amount_window.amount = 1 @amount_window.visible = false @amount_window.active = false @list_window.active = true return end if Input.trigger?(Input::C) if $game_party.gold >= (@amount_window.amount * @item.price) $game_system.se_play($data_system.decision_se) $game_party.lose_gold(@amount_window.amount * @item.price) case @item when RPG::Item $game_party.gain_item(@item.id, @amount_window.amount) when RPG::Weapon $game_party.gain_weapon(@item.id, @amount_window.amount) when RPG::Armor $game_party.gain_armor(@item.id, @amount_window.amount) end @gold_window.refresh @amount_window.amount = 1 @amount_window.visible = false @amount_window.active = false @list_window.active = true @list_window.refresh return else $game_system.se_play($data_system.buzzer_se) end end if Input.trigger?(Input::LEFT) $game_system.se_play($data_system.cursor_se) @amount_window.amount -= 1 if @amount_window.amount == 0 @amount_window.amount = 1 end return end if Input.trigger?(Input::RIGHT) $game_system.se_play($data_system.cursor_se) @amount_window.amount += 1 case @item when RPG::Item if ($game_party.item_number(@item.id) + @amount_window.amount) > 99 @amount_window.amount = (99 - $game_party.item_number(@item.id)) end when RPG::Weapon if ($game_party.weapon_number(@item.id) + @amount_window.amount) > 99 @amount_window.amount = (99 - $game_party.weapon_number(@item.id)) end when RPG::Armor if ($game_party.armor_number(@item.id) + @amount_window.amount) > 99 @amount_window.amount = (99 - $game_party.armor_number(@item.id)) end end return end if Input.trigger?(Input::UP) $game_system.se_play($data_system.cursor_se) @amount_window.amount += 10 case @item when RPG::Item if ($game_party.item_number(@item.id) + @amount_window.amount) > 99 @amount_window.amount = (99 - $game_party.item_number(@item.id)) end when RPG::Weapon if ($game_party.weapon_number(@item.id) + @amount_window.amount) > 99 @amount_window.amount = (99 - $game_party.weapon_number(@item.id)) end when RPG::Armor if ($game_party.armor_number(@item.id) + @amount_window.amount) > 99 @amount_window.amount = (99 - $game_party.armor_number(@item.id)) end end return end if Input.trigger?(Input::DOWN) $game_system.se_play($data_system.cursor_se) @amount_window.amount -= 10 if @amount_window.amount < 1 @amount_window.amount = 1 end return end end def update_sell @amount_window.refresh(@item, @option_window.index) if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @amount_window.amount = 1 @amount_window.visible = false @amount_window.active = false @list_window.active = true return end if Input.trigger?(Input::C) if @item.price == 0 $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) case @item when RPG::Item $game_party.gain_gold(@amount_window.amount * (@item.price / 2)) $game_party.lose_item(@item.id, @amount_window.amount) when RPG::Weapon $game_party.gain_gold(@amount_window.amount * (@item.price / 2)) $game_party.lose_weapon(@item.id, @amount_window.amount) when RPG::Armor $game_party.gain_gold(@amount_window.amount * (@item.price / 2)) $game_party.lose_armor(@item.id, @amount_window.amount) end @gold_window.refresh @amount_window.amount = 1 @amount_window.visible = false @amount_window.active = false @list_window.active = true @list_window.refresh_sell(@option_window.index) @desc_equip_window.refresh(nil) @desc_item_window.refresh(nil) end if Input.trigger?(Input::LEFT) $game_system.se_play($data_system.cursor_se) @amount_window.amount -= 1 if @amount_window.amount < 1 @amount_window.amount = 1 end end if Input.trigger?(Input::RIGHT) $game_system.se_play($data_system.cursor_se) case @item when RPG::Item @amount_window.amount += 1 if @amount_window.amount > $game_party.item_number(@item.id) @amount_window.amount = $game_party.item_number(@item.id) end when RPG::Weapon @amount_window.amount += 1 if @amount_window.amount > $game_party.weapon_number(@item.id) @amount_window.amount = $game_party.weapon_number(@item.id) end when RPG::Armor @amount_window.amount += 1 if @amount_window.amount > $game_party.armor_number(@item.id) @amount_window.amount = $game_party.armor_number(@item.id) end end end if Input.trigger?(Input::UP) $game_system.se_play($data_system.cursor_se) case @item when RPG::Item @amount_window.amount += 10 if @amount_window.amount > $game_party.item_number(@item.id) @amount_window.amount = $game_party.item_number(@item.id) end when RPG::Weapon @amount_window.amount += 10 if @amount_window.amount > $game_party.weapon_number(@item.id) @amount_window.amount = $game_party.weapon_number(@item.id) end when RPG::Armor @amount_window.amount += 10 if @amount_window.amount > $game_party.armor_number(@item.id) @amount_window.amount = $game_party.armor_number(@item.id) end end end if Input.trigger?(Input::DOWN) $game_system.se_play($data_system.cursor_se) @amount_window.amount -= 10 if @amount_window.amount < 1 @amount_window.amount = 1 end end end end
Dernière édition par Wingan le 18 Déc 2011, 18:28, édité 2 fois au total.
|
|