5CHIHGSAYSN~0GRHOW9O7ID.png (957 Bytes, 下载次数: 32)
这是商店卖的东西
5~$GFQN}Z6A2_PG82C{TJ$2.png (246.55 KB, 下载次数: 30)
这是进到游戏后的商店
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #_/ ◆ 简易商店拓展描绘脚本 - FSL_SHOP ◆ VX ◆ #_/ #_/ ◇ 许可协议 :FSL ◇ #_/ ◇ 项目分类 : 角色辅助 ◇ #_/ ◇ 项目版本 : 1.5.903 ◇ #_/ ◇ 建立日期 : 2010/8/26 ◇ #_/ ◇ 最后更新 : 2010/9/03 ◇ #_/---------------------------------------------------------------------------- #_/ 作者:wangswz DeathKing #_/ 引用网址: [url]http://rpg.blue/thread-154915-1-1.html[/url] #_/============================================================================ #_/ 【基本机能】方便商店购物选择 #_/ 放在默认脚本之后,Main脚本之前,通过事件指令【商店处理】调用。 #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #=============================================================================== #------------------------------------------------------------------------------- # ▼ 通用配置模块 #------------------------------------------------------------------------------- module FSL module SHOP # ◆ 无法装备的提示信息 Shop_help = "-无法装备-" # ◆ 无法使用的提示信息 Shop_help2 = "-无法使用-" # ◆ 设置atk def spi agi 上升 下降 相等时 图标显示 4个一组 Shop_icon = [ 120,121,122,123, 124,125,126,127, 0, 0, 0, 0 ] end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ $imported = {} if $imported == nil $fscript = {} if $fscript == nil $fscript["FSL_SHOP"] = "1.5.903" #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Scene_Map #============================================================================== class Scene_Map < Scene_Base #-------------------------------------------------------------------------- # ● ショップ画面への切り替え #-------------------------------------------------------------------------- def call_shop if $imported["ComposeItem"] == true && $game_switches[KGC::ComposeItem::COMPOSE_CALL_SWITCH] # 合成画面に移行 $game_temp.next_scene = nil $game_switches[KGC::ComposeItem::COMPOSE_CALL_SWITCH] = false $scene = Scene_ComposeItem.new else $game_temp.next_scene = nil $scene = Scene_Shop2.new end end end #============================================================================== # ■ Scene_Shop #------------------------------------------------------------------------------ # 处理商店画面的类。 #============================================================================== class Scene_Shop2 < Scene_Base #-------------------------------------------------------------------------- # ● 开始处理 #-------------------------------------------------------------------------- def start super create_menu_background create_command_window create_command_window2 @help_window = Window_Help.new @gold_window = Window_Gold.new(384, 56) @dummy_window = Window_Base.new(0, 112, 544, 304) @dummy_window2 = Window_Base.new(304, 112, 240, 304) @dummy_window3 = Window_Base.new(0, 168, 304, 248) @dummy_window2.visible = false @dummy_window3.visible = false @buy_window = Window_ShopBuy2.new(0, 168) @buy_window.active = false @buy_window.visible = false @buy_window.help_window = @help_window @sell_window = Window_ShopSell.new(0, 112, 544, 304) @sell_window.active = false @sell_window.visible = false @sell_window.help_window = @help_window @number_window = Window_ShopNumber.new(0, 112) @number_window.active = false @number_window.visible = false @actor_index = 0 @status_window = Window_Shop_ActorStatus.new($game_party.members[@actor_index]) @status_window.visible = false end #-------------------------------------------------------------------------- # ● 结束处理 #-------------------------------------------------------------------------- def terminate super dispose_menu_background dispose_command_window dispose_command_window2 @help_window.dispose @gold_window.dispose @dummy_window.dispose @dummy_window2.dispose @dummy_window3.dispose @buy_window.dispose @sell_window.dispose @number_window.dispose @status_window.dispose end #-------------------------------------------------------------------------- # ● 更新画面 #-------------------------------------------------------------------------- def update super update_menu_background @help_window.update @command_window.update @command_window2.update @gold_window.update @dummy_window.update @dummy_window2.update @dummy_window3.update @buy_window.update @sell_window.update @number_window.update @status_window.update if @command_window.active update_command_selection elsif @buy_window.active update_buy_selection1 elsif @sell_window.active update_sell_selection elsif @number_window.active update_number_input elsif @command_window2.active update_command_selection2 end end #-------------------------------------------------------------------------- # ● 生成命令窗口 #-------------------------------------------------------------------------- def create_command_window s1 = Vocab::ShopBuy s2 = Vocab::ShopSell s3 = Vocab::ShopCancel @command_window = Window_Command.new(384, [s1, s2, s3], 3) @command_window.y = 56 if $game_temp.shop_purchase_only @command_window.draw_item(1, false) end end #-------------------------------------------------------------------------- # ● 释放命令窗口 #-------------------------------------------------------------------------- def dispose_command_window @command_window.dispose end #-------------------------------------------------------------------------- # ● 更新命令窗口 #-------------------------------------------------------------------------- def update_command_selection if Input.trigger?(Input::B) Sound.play_cancel $scene = Scene_Map.new elsif Input.trigger?(Input::C) case @command_window.index when 0 # 买入 Sound.play_decision @command_window.active = false @dummy_window.visible = false @dummy_window2.visible = true @dummy_window3.visible = true @command_window2.active = true @command_window2.visible = true when 1 # 卖出 if $game_temp.shop_purchase_only Sound.play_buzzer else Sound.play_decision @command_window.active = false @dummy_window.visible = false @sell_window.active = true @sell_window.visible = true @sell_window.refresh end when 2 # 离开 Sound.play_decision $scene = Scene_Map.new end end end #-------------------------------------------------------------------------- # ● 生成二级命令窗口 #-------------------------------------------------------------------------- def create_command_window2 s1 = "物品" s2 = "武器" s3 = "防具" @command_window2 = Window_Command.new(304, [s1, s2, s3], 3) @command_window2.x = 0 @command_window2.y = 112 @command_window2.active = false @command_window2.visible = false end #-------------------------------------------------------------------------- # ● 释放二级命令窗口 #-------------------------------------------------------------------------- def dispose_command_window2 @command_window2.dispose end #-------------------------------------------------------------------------- # ● 更新二级命令窗口 #-------------------------------------------------------------------------- def update_command_selection2 if Input.trigger?(Input::B) Sound.play_cancel @command_window.active = true @command_window2.active = false @command_window2.visible = false @dummy_window.visible = true @dummy_window2.visible = false @dummy_window3.visible = false @buy_window.active = false @buy_window.visible = false @status_window.visible = false @status_window.item = nil @help_window.set_text("") return elsif Input.trigger?(Input::C) case @command_window2.index when 0 Sound.play_decision @command_window2.active = false @buy_window.index = 0 @buy_window.active = true @buy_window.visible = true @buy_window.type = 0 @buy_window.refresh @status_window.visible = true when 1 Sound.play_decision @command_window2.active = false @buy_window.index = 0 @buy_window.active = true @buy_window.visible = true @buy_window.type = 1 @buy_window.refresh @status_window.visible = true when 2 Sound.play_decision @command_window2.active = false @buy_window.index = 0 @buy_window.active = true @buy_window.visible = true @buy_window.type = 2 @buy_window.refresh @status_window.visible = true end end end #-------------------------------------------------------------------------- # ● 更新买入选择 #-------------------------------------------------------------------------- def update_buy_selection1 @status_window.item = @buy_window.item if Input.trigger?(Input::B) Sound.play_cancel @command_window2.active = true @buy_window.active = false @buy_window.visible = false @status_window.visible = false @status_window.item = nil @help_window.set_text("") return end if Input.trigger?(Input::C) @item = @buy_window.item number = $game_party.item_number(@item) if $imported["LimitBreak"] == true if @item == nil || @item.price > $game_party.gold || number == @item.number_limit Sound.play_buzzer else Sound.play_decision max = (@item.price == 0 ? @item.number_limit : $game_party.gold / @item.price) max = [max, @item.number_limit - number].min @buy_window.active = false @buy_window.visible = false @number_window.set(@item, max, @item.price) @number_window.active = true @number_window.visible = true end else if @item == nil or @item.price > $game_party.gold or number == 99 Sound.play_buzzer else Sound.play_decision max = @item.price == 0 ? 99 : $game_party.gold / @item.price max = [max, 99 - number].min @buy_window.active = false @buy_window.visible = false @number_window.set(@item, max, @item.price) @number_window.active = true @number_window.visible = true end end end if Input.trigger?(Input::RIGHT) Sound.play_cursor next_actor elsif Input.trigger?(Input::LEFT) Sound.play_cursor prev_actor end if Input.trigger?(Input::X) @buy_window.sort_item end end #-------------------------------------------------------------------------- # ● 切换至下一角色画面 #-------------------------------------------------------------------------- def next_actor @actor_index += 1 @actor_index %= $game_party.members.size @status_window.actor = ($game_party.members[@actor_index]) end #-------------------------------------------------------------------------- # ● 切换至上一角色画面 #-------------------------------------------------------------------------- def prev_actor @actor_index += $game_party.members.size - 1 @actor_index %= $game_party.members.size @status_window.actor = ($game_party.members[@actor_index]) end #-------------------------------------------------------------------------- # ● 更新卖出选择 #-------------------------------------------------------------------------- def update_sell_selection if Input.trigger?(Input::B) Sound.play_cancel @command_window.active = true @dummy_window.visible = true @sell_window.active = false @sell_window.visible = false @status_window.item = nil @help_window.set_text("") elsif Input.trigger?(Input::C) @item = @sell_window.item @status_window.item = @item if @item == nil or @item.price == 0 Sound.play_buzzer else Sound.play_decision max = $game_party.item_number(@item) @sell_window.active = false @sell_window.visible = false @number_window.set(@item, max, @item.price / 2) @number_window.active = true @number_window.visible = true @status_window.visible = true end end end #-------------------------------------------------------------------------- # ● 更新数值输入 #-------------------------------------------------------------------------- def update_number_input if Input.trigger?(Input::B) cancel_number_input elsif Input.trigger?(Input::C) decide_number_input end end #-------------------------------------------------------------------------- # ● 取消数值输入 #-------------------------------------------------------------------------- def cancel_number_input Sound.play_cancel @number_window.active = false @number_window.visible = false case @command_window.index when 0 # 买入 @buy_window.active = true @buy_window.visible = true when 1 # 卖出 @sell_window.active = true @sell_window.visible = true @status_window.visible = false end end #-------------------------------------------------------------------------- # ● 确认数值输入 #-------------------------------------------------------------------------- def decide_number_input Sound.play_shop @number_window.active = false @number_window.visible = false case @command_window.index when 0 # 买入 $game_party.lose_gold(@number_window.number * @item.price) $game_party.gain_item(@item, @number_window.number) @gold_window.refresh @buy_window.refresh @status_window.refresh @buy_window.active = true @buy_window.visible = true when 1 # 卖出 $game_party.gain_gold(@number_window.number * (@item.price / 2)) $game_party.lose_item(@item, @number_window.number) @gold_window.refresh @sell_window.refresh @status_window.refresh @sell_window.active = true @sell_window.visible = true @status_window.visible = false end end end #============================================================================== # ■ Window_Shop_ActorStatus #------------------------------------------------------------------------------ # 显示角色的状态窗口。 #============================================================================== class Window_Shop_ActorStatus < Window_Base #-------------------------------------------------------------------------- # ● 初始化对像 # actor : 角色 #-------------------------------------------------------------------------- def initialize(actor, item = nil, sort = 0) super(304, 112, 240, 304) @item = item @actor = actor @sort = sort refresh end #-------------------------------------------------------------------------- # ● 刷新 #-------------------------------------------------------------------------- def refresh self.contents.clear draw_Shopface(@actor.face_name, @actor.face_index, 84, 4) draw_actor_name(@actor, 4, 0) draw_actor_graphic(@actor, 192, 56) if @item != nil draw_actor_parameter_change(@actor, 4, 96) number = $game_party.item_number(@item) self.contents.font.color = system_color self.contents.draw_text(4, WLH * 10, 200, WLH, Vocab::Possession) self.contents.font.color = normal_color self.contents.draw_text(4, WLH * 10, 200, WLH, number, 2) if @item.is_a?(RPG::Item) && @item.scope > 0 draw_item_parameter_change(4, 48) elsif @item.is_a?(RPG::Item) self.contents.font.color = system_color self.contents.draw_text(0, y + 24, 200, WLH, FSL::SHOP::Shop_help2, 1) end end end #-------------------------------------------------------------------------- # ● 绘制物品效果 # x : 绘制点 X 座标 # y : 绘制点 Y 座标 #-------------------------------------------------------------------------- def draw_item_parameter_change(x, y) if @item.scope > 6 draw_actor_hp(@actor, x, y) draw_actor_mp(@actor, x, y + 24) self.contents.font.color = system_color self.contents.draw_text(x, y + WLH * 2, 200, WLH, "hp mp 回复值/率", 2) self.contents.font.color = hp_gauge_color1 self.contents.draw_text(x - 10, y + WLH * 3, 104, WLH, sprintf("%d", @item.hp_recovery), 2) self.contents.draw_text(x, y + WLH * 4, 104, WLH, sprintf("%d", @item.hp_recovery_rate)+"%", 2) self.contents.font.color = mp_gauge_color1 self.contents.draw_text(x - 10, y + WLH * 3, 200, WLH, sprintf("%d", @item.mp_recovery), 2) self.contents.draw_text(x, y + WLH * 4, 200, WLH, sprintf("%d", @item.mp_recovery_rate)+"%", 2) if @item.parameter_type > 0 self.contents.font.color = system_color self.contents.draw_text(x, y + WLH * 7, 200, WLH, "增加能力") self.contents.font.color = normal_color case @item.parameter_type when 1 self.contents.draw_text(x, y + WLH * 7, 200, WLH, "HP", 1) when 2 self.contents.draw_text(x, y + WLH * 7, 200, WLH, "MP", 1) when 3 self.contents.draw_text(x, y + WLH * 7, 200, WLH, "ATK", 1) when 4 self.contents.draw_text(x, y + WLH * 7, 200, WLH, "DEF", 1) when 5 self.contents.draw_text(x, y + WLH * 7, 200, WLH, "SPI", 1) when 6 self.contents.draw_text(x, y + WLH * 7, 200, WLH, "AGI", 1) end self.contents.draw_text(x, y + WLH * 7, 200, WLH, sprintf("%d", @item.parameter_points), 2) else self.contents.font.color = text_color(7) self.contents.draw_text(x, y + WLH * 7, 200, WLH, "增加能力") end else self.contents.font.color = normal_color draw_actor_parameter(@actor, x, y, 0) draw_actor_parameter(@actor, x, y + 24, 2) self.contents.font.color = system_color self.contents.draw_text(x, y + WLH * 2, 240, WLH, "伤害值 力量/精神影响") self.contents.font.color = normal_color self.contents.draw_text(x, y + WLH * 3, 104, WLH, sprintf("%d", @item.base_damage)) self.contents.font.color = hp_gauge_color1 self.contents.draw_text(x, y + WLH * 4, 104, WLH, sprintf("%d", @item.atk_f), 2) self.contents.font.color = mp_gauge_color1 self.contents.draw_text(x, y + WLH * 4, 200, WLH, sprintf("%d", @item.spi_f), 2) end self.contents.font.color = system_color if @item.plus_state_set.size == 0 self.contents.font.color = text_color(7) end self.contents.draw_text(x, y + WLH * 5, 200, WLH, "增益") self.contents.font.color = system_color if @item.minus_state_set.size == 0 self.contents.font.color = text_color(7) end self.contents.draw_text(x, y + WLH * 6, 200, WLH, "削减") m = 48 for i in @item.plus_state_set draw_icon($data_states[i].icon_index, x + m, y + WLH * 5) break if m == 168 m += 24 end m = 48 for i in @item.minus_state_set draw_icon($data_states[i].icon_index, x + m, y + WLH * 6) break if m == 168 m += 24 end end #-------------------------------------------------------------------------- # ● 绘制角色当前装备和能力值 # actor : 角色 # x : 绘制点 X 座标 # y : 绘制点 Y 座标 #-------------------------------------------------------------------------- def draw_actor_parameter_change(actor, x, y) return if @item.is_a?(RPG::Item) enabled = actor.equippable?(@item) if @item.is_a?(RPG::Weapon) item1 = weaker_weapon(actor) elsif actor.two_swords_style and @item.kind == 0 item1 = nil else if $imported["EquipExtension"] == true index = actor.equip_type.index(@item.kind) item1 = (index != nil ? actor.equips[1 + index] : nil) else item1 = actor.equips[1 + @item.kind] end end if enabled atk1 = item1 == nil ? 0 : item1.atk atk2 = @item == nil ? 0 : @item.atk change = atk2 - atk1 shop_change(change) if change > 0 draw_icon(FSL::SHOP::Shop_icon[0], 108, y + WLH) elsif change < 0 draw_icon(FSL::SHOP::Shop_icon[4], 108, y + WLH) else draw_icon(FSL::SHOP::Shop_icon[8], 108, y + WLH) end self.contents.draw_text(x, y + WLH, 200, WLH, sprintf("%d", atk2), 2) def1 = item1 == nil ? 0 : item1.def def2 = @item == nil ? 0 : @item.def change = def2 - def1 shop_change(change) if change > 0 draw_icon(FSL::SHOP::Shop_icon[1], 108, y + WLH * 2) elsif change < 0 draw_icon(FSL::SHOP::Shop_icon[5], 108, y + WLH * 2) else draw_icon(FSL::SHOP::Shop_icon[9], 108, y + WLH) end self.contents.draw_text(x, y + WLH * 2, 200, WLH, sprintf("%d", def2), 2) spi1 = item1 == nil ? 0 : item1.spi spi2 = @item == nil ? 0 : @item.spi change = spi2 - spi1 shop_change(change) if change > 0 draw_icon(FSL::SHOP::Shop_icon[2], 108, y + WLH * 3) elsif change < 0 draw_icon(FSL::SHOP::Shop_icon[6], 108, y + WLH * 3) else draw_icon(FSL::SHOP::Shop_icon[10], 108, y + WLH) end self.contents.draw_text(x, y + WLH * 3, 200, WLH, sprintf("%d", spi2), 2) agi1 = item1 == nil ? 0 : item1.agi agi2 = @item == nil ? 0 : @item.agi change = agi2 - agi1 shop_change(change) if change > 0 draw_icon(FSL::SHOP::Shop_icon[3], 108, y + WLH * 4) elsif change < 0 draw_icon(FSL::SHOP::Shop_icon[7], 108, y + WLH * 4) else draw_icon(FSL::SHOP::Shop_icon[11], 108, y + WLH) end self.contents.draw_text(x, y + WLH * 4, 200, WLH, sprintf("%d", agi2), 2) self.contents.font.color = system_color self.contents.draw_text(4, y - 32, 204, WLH, "当前装备") self.contents.draw_text(x + 45, y + WLH, 200, WLH, sprintf("%d", atk1)) self.contents.draw_text(x + 45, y + WLH * 2, 200, WLH, sprintf("%d", def1)) self.contents.draw_text(x + 45, y + WLH * 3, 200, WLH, sprintf("%d", spi1)) self.contents.draw_text(x + 45, y + WLH * 4, 200, WLH, sprintf("%d", agi1)) self.contents.draw_text(0, y + WLH, 200, WLH, "攻击") self.contents.draw_text(0, y + WLH * 2, 200, WLH, "防御") self.contents.draw_text(0, y + WLH * 3, 200, WLH, "精神") self.contents.draw_text(0, y + WLH * 4, 200, WLH, "敏捷") if item1 != nil self.contents.draw_text(24, y, 208, WLH, item1.name) draw_icon(item1.icon_index, 0, y) else self.contents.draw_text(24, y, 208, WLH, "无") end else self.contents.font.color = normal_color self.contents.draw_text(0, y + 24, 200, WLH, FSL::SHOP::Shop_help, 1) end end #-------------------------------------------------------------------------- # ● 判断数值颜色 # change : 数值 #-------------------------------------------------------------------------- def shop_change(change) if change == 0 self.contents.font.color = normal_color else self.contents.font.color = change>0 ? power_up_color : power_down_color end end #-------------------------------------------------------------------------- # ● 获取双刀派角色所装备的武器中较弱的武器 # actor : 角色 #-------------------------------------------------------------------------- def weaker_weapon(actor) if actor.two_swords_style weapon1 = actor.weapons[0] weapon2 = actor.weapons[1] if weapon1 == nil or weapon2 == nil return nil elsif weapon1.atk < weapon2.atk return weapon1 else return weapon2 end else return actor.weapons[0] end end #-------------------------------------------------------------------------- # ● 设置角色 # actor : 角色 #-------------------------------------------------------------------------- def actor=(actor) if @actor != actor @actor = actor refresh end end #-------------------------------------------------------------------------- # ● 设置物品 # item : 新物品 #-------------------------------------------------------------------------- def item=(item) if @item != item @item = item refresh end end #-------------------------------------------------------------------------- # ● 绘制头像部分图 # face_name : 头像文件名 # face_index : 头像号码 # x : 描画目标 X 坐标 # y : 描画目标 Y 坐标 # size : 显示大小 #-------------------------------------------------------------------------- def draw_Shopface(face_name, face_index, x, y, size = 96) bitmap = Cache.face(face_name) rect = Rect.new(0, 0, 0, 0) rect.x = face_index % 4 * 96 + (96 - size) / 2 rect.y = face_index / 4 * 96 + (96 - size) / 2 + size / 4 rect.width = size rect.height = size / 2 self.contents.blt(x, y, bitmap, rect) bitmap.dispose end end #============================================================================== # ■ Window_ShopBuy2 #------------------------------------------------------------------------------ # 商店画面、浏览显示可以购买的商品的窗口。 #============================================================================== class Window_ShopBuy2 < Window_Selectable #-------------------------------------------------------------------------- # ● 初始化对像 # x : 窗口 X 座标 # y : 窗口 Y 座标 #-------------------------------------------------------------------------- def initialize(x, y) super(x, y, 304, 248) @shop_goods = $game_temp.shop_goods @type = 0 @sort = 0 refresh self.index = 0 end #-------------------------------------------------------------------------- # ● 商品类型 #-------------------------------------------------------------------------- def type=(type) if @type != type @type = type refresh end end #-------------------------------------------------------------------------- # ● 获取商品 #-------------------------------------------------------------------------- def item if @type == 0 return @data1[self.index] elsif @type == 1 return @data2[self.index] else return @data3[self.index] end end #-------------------------------------------------------------------------- # ● 刷新 #-------------------------------------------------------------------------- def refresh @data1 = [] @data2 = [] @data3 = [] $data_items = load_data("Data/Items.rvdata") $data_weapons = load_data("Data/Weapons.rvdata") $data_armors = load_data("Data/Armors.rvdata") for goods_item in @shop_goods case goods_item[0] when 0 item = $data_items[goods_item[1]] if item != nil @data1.push(item) end when 1 item = $data_weapons[goods_item[1]] if item != nil @data2.push(item) end when 2 item = $data_armors[goods_item[1]] if item != nil @data3.push(item) end end end for i in [email]0...@data2.size[/email] for j in [email]i...@data2.size[/email] if @data2[i].atk < @data2[j].atk m = @data2[i] @data2[i] = @data2[j] @data2[j] = m end end end for i in [email]0...@data3.size[/email] for j in [email]i...@data3.size[/email] if @data3[i].atk < @data3[j].atk m = @data3[i] @data3[i] = @data3[j] @data3[j] = m end end end @sort = 1 if @type == 0 @item_max = @data1.size elsif @type == 1 @item_max = @data2.size else @item_max = @data3.size end create_contents for i in 0...@item_max draw_item1(i) end end #-------------------------------------------------------------------------- # ● 绘制商品 # index : 商品索引 #-------------------------------------------------------------------------- def draw_item1(index) if @type == 0 item = @data1[index] elsif @type == 1 item = @data2[index] else item = @data3[index] end number = $game_party.item_number(item) if $imported["LimitBreak"] == true enabled = (item.price <= $game_party.gold && number < item.number_limit) else enabled = (item.price <= $game_party.gold and number < 99) end rect = item_rect(index) self.contents.clear_rect(rect) draw_item_name(item, rect.x, rect.y, enabled) rect.width -= 4 self.contents.draw_text(rect, item.price, 2) end #-------------------------------------------------------------------------- # ● 顺位排序 #-------------------------------------------------------------------------- def sort_item case @sort when 0 for i in [email]0...@data2.size[/email] for j in [email]i...@data2.size[/email] if @data2[i].atk < @data2[j].atk m = @data2[i] @data2[i] = @data2[j] @data2[j] = m end end end for i in [email]0...@data3.size[/email] for j in [email]i...@data3.size[/email] if @data3[i].atk < @data3[j].atk m = @data3[i] @data3[i] = @data3[j] @data3[j] = m end end end @sort = 1 when 1 for i in [email]0...@data2.size[/email] for j in [email]i...@data2.size[/email] if @data2[i].def < @data2[j].def m = @data2[i] @data2[i] = @data2[j] @data2[j] = m end end end for i in [email]0...@data3.size[/email] for j in [email]i...@data3.size[/email] if @data3[i].def < @data3[j].def m = @data3[i] @data3[i] = @data3[j] @data3[j] = m end end end @sort = 2 when 2 for i in [email]0...@data2.size[/email] for j in [email]i...@data2.size[/email] if @data2[i].spi < @data2[j].spi m = @data2[i] @data2[i] = @data2[j] @data2[j] = m end end end for i in [email]0...@data3.size[/email] for j in [email]i...@data3.size[/email] if @data3[i].spi < @data3[j].spi m = @data3[i] @data3[i] = @data3[j] @data3[j] = m end end end @sort = 3 when 3 for i in [email]0...@data2.size[/email] for j in [email]i...@data2.size[/email] if @data2[i].agi < @data2[j].agi m = @data2[i] @data2[i] = @data2[j] @data2[j] = m end end end for i in [email]0...@data3.size[/email] for j in [email]i...@data3.size[/email] if @data3[i].agi < @data3[j].agi m = @data3[i] @data3[i] = @data3[j] @data3[j] = m end end end @sort = 0 end if @type == 0 @item_max = @data1.size elsif @type == 1 @item_max = @data2.size else @item_max = @data3.size end create_contents for i in 0...@item_max draw_item1(i) end end #-------------------------------------------------------------------------- # ● 更新帮助窗口文字 #-------------------------------------------------------------------------- def update_help @help_window.set_text(item == nil ? "" : item.description) end end
夜狠简单 发表于 2016-4-21 21:19
[fold=商店(替换原来的)]#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ ...
IZX)GL`5PDP`7{AR(29TG63.png (3.82 KB, 下载次数: 27)
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |