Project1

标题: 请问如何检测一个主角是否拥有被随机出来的物品? [打印本页]

作者: xie7    时间: 2014-6-8 22:03
标题: 请问如何检测一个主角是否拥有被随机出来的物品?
之前我已经用
  1. item = $data_items[1 + rand(16)]
  2. $game_variables[41] = item.name
  3. $game_variables[42] = item.price
复制代码
获得了物品的名字和价格,下一步该如何检测呢?
貌似只能用脚本了吗?
本人刚刚接触Ruby,还望大神详细点。感谢!
作者: fux2    时间: 2014-6-8 22:05
你把随机出来的这个装备ID保存到变量里不就好了。
作者: xie7    时间: 2014-6-8 22:22
似乎有点明白了,这样做是不是还需要一个类似银行系统?还望指教
作者: moy    时间: 2014-6-8 22:24
xie7 发表于 2014-6-8 22:22
似乎有点明白了,这样做是不是还需要一个类似银行系统?还望指教

$game_party就是你的银行
作者: xie7    时间: 2014-6-8 22:49
moy 发表于 2014-6-8 22:24
$game_party就是你的银行


额。。我糊涂了,我把我想要的都说一下吧,还加上我的思路

1. 一个npc来随机卖东西A,价格是东西A价格的正负30%,可能多或者少,我钱够就东西A加1到库里,钱减东西A正负30%后的价值。

2. 一个npc来随机买东西B,价格是东西B价格的正负30%,可能多或者少,我库里有东西B则减1,钱加B的那个随机价值。

我贴上我的代码  我怎么贴不上来?那就贴张图吧。 不要吐槽中间的恢复剂。。。我临时替代一下用的。


作者: moy    时间: 2014-6-8 23:04
本帖最后由 moy 于 2014-6-8 23:05 编辑
xie7 发表于 2014-6-8 22:49
额。。我糊涂了,我把我想要的都说一下吧,还加上我的思路

1. 一个npc来随机卖东西A,价格是东西A价格的 ...


Game_Party有这样的方法
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 判定是否持有某物品
  3.   #     include_equip : 检索是否包括装备
  4.   #--------------------------------------------------------------------------
  5.   def has_item?(item, include_equip = false)
  6.     return true if item_number(item) > 0
  7.     return include_equip ? members_equip_include?(item) : false
  8.   end
其中item就可以设置成你获取的那个
同样,如果获取物品数,可以使用这个
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 获取物品的持有数
  3.   #--------------------------------------------------------------------------
  4.   def item_number(item)
  5.     container = item_container(item.class)
  6.     container ? container[item.id] || 0 : 0
  7.   end

作者: xie7    时间: 2014-6-9 12:20
moy 发表于 2014-6-8 23:04
Game_Party有这样的方法
  #------------------------------------------------------------------------ ...

感谢感谢,似乎这样效率就很高了
作者: xie7    时间: 2014-6-9 17:40
moy 发表于 2014-6-8 23:04
Game_Party有这样的方法
  #------------------------------------------------------------------------ ...

抱歉连贴了,我想问问大神,这个不会用呀,,研究一天了也不知道把它放哪里……还望指点。
作者: moy    时间: 2014-6-9 17:56
本帖最后由 moy 于 2014-6-9 17:57 编辑
xie7 发表于 2014-6-9 17:40
抱歉连贴了,我想问问大神,这个不会用呀,,研究一天了也不知道把它放哪里……还望指点。 ...


不是…不用放……你只要用就好,这就是默认脚本
  1. $game_party.item_number(item)
复制代码
在事件脚本里直接用,条件分歧第四页或是变量赋值底下都有。
像你这种自己找了item的,只要在事件脚本框里自己赋值就可以了。
比如
  1. $game_variables[30] = $game_party.item_number(item)
复制代码
这样接下来的条件分歧就只需要看30号变量就可以了。




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