- #============================================================================== 
- # ☆ HAR - 得失物品脚本 (v1.01a) 
- # 日期:2012/09/23 
- #============================================================================== 
- # -- 作者:    Harinlen 
- # -- 等级:    普通级 
- # -- 依赖关系:  无 
- # -- 适用范围:  RPG Maker VX Ace 
- # -- 不兼容脚本: 暂无 
- #============================================================================== 
- # ☆ 声明 
- # 此脚本参考了[PS0]双默认脚本的长度测量函数。 
- #============================================================================== 
- # ☆ 脚本使用说明 
- # 此脚本无需额外代码即可使用,使用事件调用增减金钱、增减武器、增减防具和增减物品的 
- # 时候会显示一个对话框显示得失物品情况。 
- # 
- # ☆ 脚本的启用 
- # 修改对应等号后面对应的数值为对应的开关序号,在事件中直接对开关进行判定即可: 
- # 
- # $window_tips_gold = 10        #金钱窗口提示的开关 
- # $window_tips_item = 11        #物品窗口提示的开关 
- # $window_tips_weapon = 12      #武器窗口提示的开关 
- # $window_tips_armor = 13       #防具窗口提示的开关 
- # 
- # ☆ 脚本的自定义 
- # 请修改下方的音效设定部分,将对应的音效更改成自己想要的音效即可。 
- # 音效名的获取请使用媒体库进行查看。只能使用SE中的音效。 
- #============================================================================== 
-   
- #============================================================================== 
- # ■ 提示开关定义 
- #------------------------------------------------------------------------------ 
- #  用于定义是否显示Window 
- #============================================================================== 
- $window_tips_gold = 10 
- $window_tips_item = 11 
- $window_tips_weapon = 12 
- $window_tips_armor = 13 
-   
- #============================================================================== 
- # ■ 音效设定 
- #------------------------------------------------------------------------------ 
- #  设定对应的音效播放效果 
- #============================================================================== 
- $SE_Gold_Gain   = "Shop"      # 获得金钱声效 
- $SE_Gold_Loss   = "Blow2"     # 失去金钱声效 
-   
- $SE_Item_Gain   = "Item1"     # 获得物品声效 
- $SE_Item_Loss   = "Blow2"     # 失去物品声效 
-   
- $SE_Weapon_Gain = "Item1"     # 获得武器声效 
- $SE_Weapon_Loss = "Blow2"     # 失去武器声效 
-   
- $SE_Armor_Gain  = "Item1"     # 获得防具声效 
- $SE_Armor_Loss  = "Blow2"     # 失去防具声效 
- #============================================================================== 
- # ■ Window_Tips 
- #------------------------------------------------------------------------------ 
- #  显示增减物品、金钱和装备的窗口 
- #============================================================================== 
-   
- class Window_Tips < Window_Base 
-   #-------------------------------------------------------------------------- 
-   # ● 初始化对象 
-   #-------------------------------------------------------------------------- 
-   def initialize(x = 170, y = 128, width = 300, height = 96) 
-     super 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # ● 增强绘制物品名称 
-   #-------------------------------------------------------------------------- 
-   def adv_draw_item_name(item, x, y) 
-     return unless item 
-     draw_icon(item.icon_index, x, y, true) 
-     change_color(normal_color, true) 
-     draw_text(x + 24, y, width, line_height, item.name) 
-   end 
-   
- end 
-   
- class Game_Interpreter 
-   
-   #-------------------------------------------------------------------------- 
-   # ● 增减金钱 
-   #-------------------------------------------------------------------------- 
-   def command_125 
-     value = operate_value(@params[0], @params[1], @params[2]) 
-     $game_party.gain_gold(value) 
-     if $game_switches[$window_tips_gold] == true 
-       show_tips_window(0, value) 
-     end 
-     return true 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # ● 增减物品 
-   #-------------------------------------------------------------------------- 
-   def command_126 
-     value = operate_value(@params[1], @params[2], @params[3]) 
-     $game_party.gain_item($data_items[@params[0]], value) 
-     if $game_switches[$window_tips_item] == true 
-       show_tips_window(1, value) 
-     end 
-     $game_map.need_refresh = true 
-     return true 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # ● 增减武器 
-   #-------------------------------------------------------------------------- 
-   def command_127 
-     value = operate_value(@params[1], @params[2], @params[3]) 
-     $game_party.gain_item($data_weapons[@params[0]], value, @params[4]) 
-     if $game_switches[$window_tips_weapon] == true 
-       show_tips_window(2, value) 
-     end 
-     return true 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # ● 增减防具 
-   #-------------------------------------------------------------------------- 
-   def command_128 
-     value = operate_value(@params[1], @params[2], @params[3]) 
-     $game_party.gain_item($data_armors[@params[0]], value, @params[4]) 
-     if $game_switches[$window_tips_armor] == true 
-       show_tips_window(3, value) 
-     end 
-     return true 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # ● 显示增减提示窗口 
-   #-------------------------------------------------------------------------- 
-   def show_tips_window(type, value) 
-     case type 
-       when 0 
-         item_type = Vocab::currency_unit 
-         if value >= 0 
-           Audio.se_play("Audio/SE/" + $SE_Gold_Gain, 100, 100) 
-         else 
-           Audio.se_play("Audio/SE/" + "Item1", 100, 100) 
-       end 
-       when 1 
-         item_type = Vocab::item 
-         processed_items = $data_items[@params[0]] 
-         if value >= 0 
-           Audio.se_play("Audio/SE/" + $SE_Item_Gain, 100, 100) 
-         else 
-           Audio.se_play("Audio/SE/" + $SE_Item_Loss, 100, 100) 
-       end 
-       when 2 
-         item_type = Vocab::weapon 
-         processed_items = $data_weapons[@params[0]] 
-         if value >= 0 
-           Audio.se_play("Audio/SE/" + $SE_Weapon_Gain, 100, 100) 
-         else 
-           Audio.se_play("Audio/SE/" + $SE_Weapon_Loss, 100, 100) 
-       end 
-       when 3 
-         item_type = Vocab::armor 
-         processed_items = $data_armors[@params[0]] 
-         if value >= 0 
-           Audio.se_play("Audio/SE/" + $SE_Armor_Gain, 100, 100) 
-         else 
-           Audio.se_play("Audio/SE/" + $SE_Armor_Loss, 100, 100) 
-       end 
-     end 
-   
-     if value >= 0 
-       tips_processed_text = "获得"     
-     else 
-       tips_processed_text = "失去" 
-     end 
-   
-     if type != 0 
-       text_value = "×" + value.abs.to_s 
-       bitmap = Bitmap.new(100, 100) 
-       itemwidth = bitmap.text_size(processed_items.name).width + 95 
-       valuewidth = bitmap.text_size(text_value).width 
-       itempop_window = Window_Tips.new((544 - itemwidth - valuewidth) / 2, 128, itemwidth + valuewidth, 88) 
-       itempop_window.contents = Bitmap.new(itempop_window.width - 32, itempop_window.height - 32) 
-   
-       itempop_window.contents.draw_text(0, 0, 160, 32, tips_processed_text + item_type+":") 
-       itempop_window.adv_draw_item_name(processed_items, 28, 32) 
-       itempop_window.contents.draw_text(0, 30, itemwidth, 32, "×" + value.abs.to_s, 2) 
-     else 
-       text_value = value.abs.to_s + " " + Vocab::currency_unit 
-       bitmap = Bitmap.new(100, 100) 
-       textwidth = bitmap.text_size(text_value).width + 95 
-       itempop_window = Window_Tips.new(170, 128, textwidth, 88) 
-       itempop_window.contents = Bitmap.new(itempop_window.width - 32, itempop_window.height - 32) 
-   
-       itempop_window.contents.draw_text(0, 0, 160, 32, tips_processed_text + item_type+":") 
-       itempop_window.contents.draw_text(32, 32, 240, 32, value.abs.to_s + "  " + Vocab::currency_unit) 
-     end 
-   
-     for i in 0..60 
-       Graphics.update 
-     end 
-     for i in 0..10 
-       itempop_window.opacity -= 30 
-       itempop_window.contents_opacity -= 30 
-       Graphics.update 
-     end 
-     itempop_window.dispose 
-   
-     for i in 0..3 
-       Graphics.update 
-     end 
-   end 
- end