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

Project1

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

[RMVA发布] 物品选择改进模块

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2015-8-28
帖子
11
跳转到指定楼层
1
发表于 2015-9-25 13:37:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 Dazz 于 2015-9-26 14:41 编辑

事件里的物品选择,只能选择贵重品,且只能选择能在背包里直接使用的物品,这功能的狭隘程度实在是太气人了。所以我就自己搞了个脚本来强化它。

顺便一提,我特别爱用$的变量-。-

————————————————————以下是脚本内容————————————————————

RUBY 代码复制
  1. =begin
  2.  
  3.   ■ RPGMakerVXAce 物品选择改良模块 v1.02
  4.  
  5.      发布区:6r论坛
  6.      作者:DAZZ
  7.  
  8.      仅仅是改良事件里的物品选择部分的简单脚本。
  9.      允许您在事件里的物品选择功能中,更自由地进行物品选择。
  10.  
  11.  
  12.      在进行物品选择以前,用脚本定义一个数组:$ITEM_SELECT_TARGET
  13.      即可使用。
  14.    
  15.      $ITEM_SELECT_TARGET=[道具类别,可否留空,[可选道具ID表]]
  16.  
  17.      道具类别为"I","W","A"的其中一个,分别代表道具(含贵重品)、
  18.      武器、护具的选择。
  19.  
  20.      可否留空为true代表可以不选道具就这样结束,为false代表必选。
  21.  
  22.      例如:
  23.      $ITEM_SELECT_TARGET=["I",false,[1,2,3]]
  24.      代表:从1、2、3道具中选择1个,且不能不选。
  25.  
  26.      $ITEM_SELECT_TARGET=["W",true,[4,8,9]]
  27.      代表:从4、8、9武器中选择1个,可以不选。
  28.  
  29.      当然您的填写也可以不受拘束,比如这样:
  30.      list=[]
  31.      for i in 50..60 do
  32.        list.push(i)
  33.      end
  34.      $ITEM_SELECT_TARGET=["A",false,list]
  35.      这就会变成:从50到60号护具中选择1个,且不能不选。
  36.      您便可以不用在脚本里把50到60的数字写个遍了。
  37.  
  38.      ※本脚本使用时,必须注意以下事项:※
  39.      ●如果你设置了“必须选择”,而你的背包里可选的道具
  40.        一件也没有,则你会被卡在那里,无法执行任何操作。
  41.      ●如果你定义了$ITEM_SELECT_TARGET但未及时使用它,
  42.        你在菜单栏等地方使用背包里的道具的话可能受到干扰。
  43.        所以请在定义这个全球变量后,立刻选择物品。
  44.      ●物品选择完毕后,本脚本会自动回收$ITEM_SELECT_TARGET
  45.        这个全球变量(就是把这个变量设为nil来删除它),
  46.        使用时您可不必担心全球变量的问题。
  47.  
  48.      您无须声明使用情况,也无须为作者署名。可任意修改、传播。
  49.      若在使用时出现纠纷问题,作者概不负责。
  50.  
  51.      更新履历:
  52.  
  53.      v1.02又修复了一个低级BUG……
  54.  
  55.      v1.01修复了一个低级BUG……
  56.  
  57.      v1.0发行
  58.  
  59. =end
  60.  
  61. class Window_ItemList < Window_Selectable
  62.   #◇创建可选道具表
  63.   alias make_item_list_DAZZ make_item_list
  64.   def make_item_list
  65.     if $ITEM_SELECT_TARGET==nil
  66.       make_item_list_DAZZ
  67.     else
  68.       type=$ITEM_SELECT_TARGET[0]
  69.       list=$ITEM_SELECT_TARGET[2]
  70.       case type
  71.       when "I"
  72.         @data=$game_party.items.select{|item|list.include?(item.id)}
  73.       when "W"
  74.         @data=$game_party.weapons.select{|item|list.include?(item.id)}
  75.       when "A"
  76.         @data=$game_party.armors.select{|item|list.include?(item.id)}
  77.       end
  78.       @data.push(nil) if $ITEM_SELECT_TARGET[1]==true
  79.     end
  80.   end
  81.   #◇是否可使用道具(防止不可直接使用的道具变成无法被选择的BUG)
  82.   alias enable_DAZZ enable?
  83.   def enable?(item)
  84.     if $ITEM_SELECT_TARGET==nil
  85.       return enable_DAZZ(item)
  86.     else
  87.       return true
  88.     end
  89.   end
  90. end
  91. class Window_KeyItem < Window_ItemList
  92.   #◇回收全球变量
  93.   alias on_ok_DAZZ on_ok
  94.   def on_ok
  95.     $ITEM_SELECT_TARGET=nil
  96.     on_ok_DAZZ
  97.   end
  98.   #◇回收全球变量
  99.   alias on_cancel_DAZZ on_cancel
  100.   def on_cancel
  101.     $ITEM_SELECT_TARGET=nil
  102.     on_cancel_DAZZ
  103.   end
  104.   #●禁用取消
  105.   def cancel_enabled?
  106.     if $ITEM_SELECT_TARGET !=nil && $ITEM_SELECT_TARGET[1]==false
  107.       return false
  108.     else
  109.       return handle?(:cancel)
  110.     end
  111.   end
  112. end


————————————————————到此为止————————————————————

Lv1.梦旅人

梦石
0
星屑
50
在线时间
49 小时
注册时间
2014-11-1
帖子
21
2
发表于 2015-10-5 21:35:55 | 只看该作者
然而$是全局变量hhh
我也是新人来交个朋友吧hhh
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

3
发表于 2015-10-8 22:03:55 | 只看该作者
$全局变量
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2015-8-28
帖子
11
4
 楼主| 发表于 2015-10-24 15:58:47 | 只看该作者
中二病医生 发表于 2015-10-5 21:35
然而$是全局变量hhh
我也是新人来交个朋友吧hhh

今天才回来论坛看看-。-
嘛,反正就是$变量特别方便好用,而且关掉游戏后会被清理掉,这个特性特别有趣,可以轻易用$变量做到「每次打开游戏只触发1次,但一关闭游戏就会重置」的事件。

话说,全局变量和全球变量,有什么区别呢0.0
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-15 23:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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