设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 28775|回复: 49
打印 上一主题 下一主题

[RMVA发布] 【RMVA】物品得失脚本 Enhance 1.02a

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1268
在线时间
409 小时
注册时间
2012-8-7
帖子
1536
跳转到指定楼层
1
发表于 2012-9-23 11:01:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 harinlen 于 2012-9-24 20:39 编辑

今天私在填坑的时候才发现RMVA居然连个物品得失提示都没有,然后私就抑郁了。
虽然第一反应是直接抓个脚本,可惜私只找到了XP和VX的。而且需要在事件中等待3帧。而且要是物品名称过长的话还会挤在一起?!(←这啥?)
最后私自己写了一个物品得失脚本,之后才发现了Ace区xmheart已经发了一个脚本了,但貌似就是VX版本的移植版……

下面就是私的脚本了,比起前几个脚本有如下的更新:
1、宽度自适应。能够根据物品名字的宽度、金钱的宽度进行调整。(参考了各种压力的猫君的双默认字体脚本的测量函数)
2、与Vocab挂钩,直接显示在数据库中的用语处设定的名称
3、无需最后等待3帧,这个已经整合到脚本之中了。
4、窗体始终居中。



更新日志

1.02a
将临时性的布尔型变量对启用进行控制变更为使用开关。

1.01a
修正了没有将Window居中的问题。

1.00a
发布公开的测试版本

转载、使用无需保留前面的作者信息。

以上。
  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 = 10        #金钱窗口提示的开关
  22. # $window_tips_item = 11        #物品窗口提示的开关
  23. # $window_tips_weapon = 12      #武器窗口提示的开关
  24. # $window_tips_armor = 13       #防具窗口提示的开关
  25. #
  26. # ☆ 脚本的自定义
  27. # 请修改下方的音效设定部分,将对应的音效更改成自己想要的音效即可。
  28. # 音效名的获取请使用媒体库进行查看。只能使用SE中的音效。
  29. #==============================================================================

  30. #==============================================================================
  31. # ■ 提示开关定义
  32. #------------------------------------------------------------------------------
  33. #  用于定义是否显示Window
  34. #==============================================================================
  35. $window_tips_gold = 10
  36. $window_tips_item = 11
  37. $window_tips_weapon = 12
  38. $window_tips_armor = 13

  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
复制代码

评分

参与人数 6星屑 +399 +2 收起 理由
枻白白 + 1 认可答案
RCP + 1 塞糖
Mr丶木头 + 7 塞糖
alann + 12 我很赞同
狱冥幻翼 + 60 塞糖
迷糊的安安 + 320 塞了个糖!

查看全部评分



Lv4.逐梦者

梦石
0
星屑
8264
在线时间
971 小时
注册时间
2010-10-10
帖子
2777
2
发表于 2012-9-23 11:04:51 | 只看该作者
HAR触!
这不应该发在技术发布之类的地方么……
2014.7.6,晚上03.41分,他死于脑癌。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1268
在线时间
409 小时
注册时间
2012-8-7
帖子
1536
3
 楼主| 发表于 2012-9-23 11:05:29 | 只看该作者
疯狂异形 发表于 2012-9-23 11:04
HAR触!
这不应该发在技术发布之类的地方么……

自知私技术渣所以只能放在水区不解释= =

点评

水区人多嘛。。我发在技术区的时候只有0回复  发表于 2012-9-23 17:03


回复 支持 反对

使用道具 举报

Lv1.梦旅人


4
发表于 2012-9-23 11:06:48 | 只看该作者
马达马达,汝还粉嫩啊!
[url=http://tvsolo.net/]TVSOLO|[/url][url=http://tvsolo.net/]电视搜罗|[/url][url=http://tvsolo.net/]http://www.tvsolo.net/[/url]
[font=黑体][size=3][url=http://tvsolo.net][color=Red]最新动漫热播[/color][/url]http://www.tvsolo.net[/size][/font]
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1268
在线时间
409 小时
注册时间
2012-8-7
帖子
1536
5
 楼主| 发表于 2012-9-23 11:07:39 | 只看该作者
小叽 发表于 2012-9-23 11:06
马达马达,汝还粉嫩啊!

是的说T T私和众神比起来差距超级大的说= =
话说前辈求勾搭DA☆ZE~


回复 支持 反对

使用道具 举报

Lv4.逐梦者 (管理员)

砂上描绘的愿想

梦石
15
星屑
4145
在线时间
5076 小时
注册时间
2012-1-15
帖子
4618

开拓者贵宾短篇七成年组亚军剧作品鉴家

6
发表于 2012-9-23 11:08:31 | 只看该作者
0 0 求效果图……

点评

阿里嘎多够咋一嘛斯~  发表于 2012-9-23 11:42
发了DAZE~  发表于 2012-9-23 11:15
若后退就皆成谎言。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

哆啦菌

梦石
0
星屑
46
在线时间
795 小时
注册时间
2010-7-24
帖子
3800
7
发表于 2012-9-23 11:08:32 | 只看该作者
harinlen 发表于 2012-9-23 11:07
是的说T T私和众神比起来差距超级大的说= =
话说前辈求勾搭DA☆ZE~

我想说你是卖萌么。。
随便看看
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1268
在线时间
409 小时
注册时间
2012-8-7
帖子
1536
8
 楼主| 发表于 2012-9-23 11:09:28 | 只看该作者
fxwd 发表于 2012-9-23 11:08
我想说你是卖萌么。。

私木有在卖萌啊……T T……
前辈不能这样……


回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4694
在线时间
5240 小时
注册时间
2009-4-29
帖子
14318

贵宾

9
发表于 2012-9-23 11:13:41 | 只看该作者
水区真是什么都可以发呀,技术发布区取消掉算了,喵
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1268
在线时间
409 小时
注册时间
2012-8-7
帖子
1536
10
 楼主| 发表于 2012-9-23 11:16:53 | 只看该作者
protosssonny 发表于 2012-9-23 11:13
水区真是什么都可以发呀,技术发布区取消掉算了,喵

0 0 p大早DA☆ZE~


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-21 22:05

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表