Project1

标题: 使用了Harinlen的物品得失脚本后,发现数字显示不全 [打印本页]

作者: SivanF    时间: 2015-7-3 15:25
标题: 使用了Harinlen的物品得失脚本后,发现数字显示不全
如题。想请教一下怎样才能解决这种状况。脚本与截图如下:
  1. #==============================================================================
  2. # ☆ HAR - 得失物品脚本 (v1.01a)
  3. # 日期:2012/09/23
  4. #==============================================================================
  5. # -- 作者:    Harinlen
  6. # -- 等级:    普通级
  7. # -- 依赖关系:  无
  8. # -- 适用范围:  RPG Maker VX Ace
  9. # -- 不兼容脚本: 暂无
  10. #==============================================================================
  11. # ☆ 声明
  12. # 此脚本参考了[PS0]双默认脚本的长度测量函数。
  13. #==============================================================================
  14. # ☆ 脚本使用说明
  15. # 此脚本无需额外代码即可使用,使用事件调用增减金钱、增减武器、增减防具和增减物品的
  16. # 时候会显示一个对话框显示得失物品情况。
  17. #
  18. # ☆ 脚本的启用
  19. # 修改对应等号后面对应的数值为对应的开关序号,在事件中直接对开关进行判定即可:
  20. #
  21. # $window_tips_gold = 1        #金钱窗口提示的开关
  22. # $window_tips_item = 2        #物品窗口提示的开关
  23. # $window_tips_weapon = 3      #武器窗口提示的开关
  24. # $window_tips_armor = 4       #防具窗口提示的开关
  25. #
  26. # ☆ 脚本的自定义
  27. # 请修改下方的音效设定部分,将对应的音效更改成自己想要的音效即可。
  28. # 音效名的获取请使用媒体库进行查看。只能使用SE中的音效。
  29. #==============================================================================

  30. #==============================================================================
  31. # ■ 提示开关定义
  32. #------------------------------------------------------------------------------
  33. #  用于定义是否显示Window
  34. #==============================================================================
  35. $window_tips_gold = 1
  36. $window_tips_item = 2
  37. $window_tips_weapon = 3
  38. $window_tips_armor = 4

  39. #==============================================================================
  40. # ■ 音效设定
  41. #------------------------------------------------------------------------------
  42. #  设定对应的音效播放效果
  43. #==============================================================================
  44. $SE_Gold_Gain   = "Shop"      # 获得金钱声效
  45. $SE_Gold_Loss   = "Blow2"     # 失去金钱声效

  46. $SE_Item_Gain   = "Item1"     # 获得物品声效
  47. $SE_Item_Loss   = "Blow2"     # 失去物品声效

  48. $SE_Weapon_Gain = "Item1"     # 获得武器声效
  49. $SE_Weapon_Loss = "Blow2"     # 失去武器声效

  50. $SE_Armor_Gain  = "Item1"     # 获得防具声效
  51. $SE_Armor_Loss  = "Blow2"     # 失去防具声效
  52. #==============================================================================
  53. # ■ Window_Tips
  54. #------------------------------------------------------------------------------
  55. #  显示增减物品、金钱和装备的窗口
  56. #==============================================================================

  57. class Window_Tips < Window_Base
  58.   #--------------------------------------------------------------------------
  59.   # ● 初始化对象
  60.   #--------------------------------------------------------------------------
  61.   def initialize(x = 170, y = 128, width = 300, height = 96)
  62.     super
  63.   end
  64.   
  65.   #--------------------------------------------------------------------------
  66.   # ● 增强绘制物品名称
  67.   #--------------------------------------------------------------------------
  68.   def adv_draw_item_name(item, x, y)
  69.     return unless item
  70.     draw_icon(item.icon_index, x, y, true)
  71.     change_color(normal_color, true)
  72.     draw_text(x + 24, y, width, line_height, item.name)
  73.   end
  74.   
  75. end

  76. class Game_Interpreter
  77.   
  78.   #--------------------------------------------------------------------------
  79.   # ● 增减金钱
  80.   #--------------------------------------------------------------------------
  81.   def command_125
  82.     value = operate_value(@params[0], @params[1], @params[2])
  83.     $game_party.gain_gold(value)
  84.     if $game_switches[$window_tips_gold] == true
  85.       show_tips_window(0, value)
  86.     end
  87.     return true
  88.   end
  89.   
  90.   #--------------------------------------------------------------------------
  91.   # ● 增减物品
  92.   #--------------------------------------------------------------------------
  93.   def command_126
  94.     value = operate_value(@params[1], @params[2], @params[3])
  95.     $game_party.gain_item($data_items[@params[0]], value)
  96.     if $game_switches[$window_tips_item] == true
  97.       show_tips_window(1, value)
  98.     end
  99.     $game_map.need_refresh = true
  100.     return true
  101.   end
  102.   
  103.   #--------------------------------------------------------------------------
  104.   # ● 增减武器
  105.   #--------------------------------------------------------------------------
  106.   def command_127
  107.     value = operate_value(@params[1], @params[2], @params[3])
  108.     $game_party.gain_item($data_weapons[@params[0]], value, @params[4])
  109.     if $game_switches[$window_tips_weapon] == true
  110.       show_tips_window(2, value)
  111.     end
  112.     return true
  113.   end
  114.   
  115.   #--------------------------------------------------------------------------
  116.   # ● 增减防具
  117.   #--------------------------------------------------------------------------
  118.   def command_128
  119.     value = operate_value(@params[1], @params[2], @params[3])
  120.     $game_party.gain_item($data_armors[@params[0]], value, @params[4])
  121.     if $game_switches[$window_tips_armor] == true
  122.       show_tips_window(3, value)
  123.     end
  124.     return true
  125.   end
  126.   
  127.   #--------------------------------------------------------------------------
  128.   # ● 显示增减提示窗口
  129.   #--------------------------------------------------------------------------
  130.   def show_tips_window(type, value)
  131.     case type
  132.       when 0
  133.         item_type = Vocab::currency_unit
  134.         if value >= 0
  135.           Audio.se_play("Audio/SE/" + $SE_Gold_Gain, 100, 100)
  136.         else
  137.           Audio.se_play("Audio/SE/" + "Item1", 100, 100)
  138.       end
  139.       when 1
  140.         item_type = Vocab::item
  141.         processed_items = $data_items[@params[0]]
  142.         if value >= 0
  143.           Audio.se_play("Audio/SE/" + $SE_Item_Gain, 100, 100)
  144.         else
  145.           Audio.se_play("Audio/SE/" + $SE_Item_Loss, 100, 100)
  146.       end
  147.       when 2
  148.         item_type = Vocab::weapon
  149.         processed_items = $data_weapons[@params[0]]
  150.         if value >= 0
  151.           Audio.se_play("Audio/SE/" + $SE_Weapon_Gain, 100, 100)
  152.         else
  153.           Audio.se_play("Audio/SE/" + $SE_Weapon_Loss, 100, 100)
  154.       end
  155.       when 3
  156.         item_type = Vocab::armor
  157.         processed_items = $data_armors[@params[0]]
  158.         if value >= 0
  159.           Audio.se_play("Audio/SE/" + $SE_Armor_Gain, 100, 100)
  160.         else
  161.           Audio.se_play("Audio/SE/" + $SE_Armor_Loss, 100, 100)
  162.       end
  163.     end
  164.   
  165.     if value >= 0
  166.       tips_processed_text = "获得"   
  167.     else
  168.       tips_processed_text = "失去"
  169.     end
  170.    
  171.     if type != 0
  172.       text_value = "×" + value.abs.to_s
  173.       bitmap = Bitmap.new(100, 100)
  174.       itemwidth = bitmap.text_size(processed_items.name).width + 95
  175.       valuewidth = bitmap.text_size(text_value).width
  176.       itempop_window = Window_Tips.new((544 - itemwidth - valuewidth) / 2, 128, itemwidth + valuewidth, 88)
  177.       itempop_window.contents = Bitmap.new(itempop_window.width - 32, itempop_window.height - 32)
  178.       
  179.       itempop_window.contents.draw_text(0, 0, 160, 32, tips_processed_text + item_type+":")
  180.       itempop_window.adv_draw_item_name(processed_items, 28, 32)
  181.       itempop_window.contents.draw_text(0, 30, itemwidth, 32, "×" + value.abs.to_s, 2)
  182.     else
  183.       text_value = value.abs.to_s + " " + Vocab::currency_unit
  184.       bitmap = Bitmap.new(100, 100)
  185.       textwidth = bitmap.text_size(text_value).width + 95
  186.       itempop_window = Window_Tips.new(170, 128, textwidth, 88)
  187.       itempop_window.contents = Bitmap.new(itempop_window.width - 32, itempop_window.height - 32)
  188.       
  189.       itempop_window.contents.draw_text(0, 0, 160, 32, tips_processed_text + item_type+":")
  190.       itempop_window.contents.draw_text(32, 32, 240, 32, value.abs.to_s + "  " + Vocab::currency_unit)
  191.     end
  192.    
  193.     for i in 0..60
  194.       Graphics.update
  195.     end
  196.     for i in 0..10
  197.       itempop_window.opacity -= 30
  198.       itempop_window.contents_opacity -= 30
  199.       Graphics.update
  200.     end
  201.     itempop_window.dispose
  202.    
  203.     for i in 0..3
  204.       Graphics.update
  205.     end
  206.   end
  207. end
复制代码

19.png (37.47 KB, 下载次数: 24)

19.png

作者: 赤炎    时间: 2015-7-3 16:25
建议用这个https://rpg.blue/forum.php?mod=viewthread&tid=372181
作者: SivanF    时间: 2015-7-3 16:51
赤炎 发表于 2015-7-3 16:25
建议用这个https://rpg.blue/forum.php?mod=viewthread&tid=372181

感谢!问题已解决=]




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1