Project1

标题: 求背包容量(负重)脚本 [打印本页]

作者: 无忧谷主幻    时间: 2016-10-16 00:40
标题: 求背包容量(负重)脚本
这次也是照常搜索过结果大部分都失效了
希望现有容量和最高容量在物品菜单中就能显示,如果容量已满,开宝箱则获取失败(但是宝箱不消失)
至于商店购买和贩卖就不用考虑了
作者: yang1zhi    时间: 2016-10-16 09:41
我是用的限制携带种类上限。不是负重。
就是一个变量表示最大能带几种道具。
另一个变量表示当前带了几种道具。
我是改了脚本。不是插件脚本。
  1.   #--------------------------------------------------------------------------
  2.   # ● 增加物品 (减少)
  3.   #     item_id : 物品 ID
  4.   #     n       : 个数
  5.   #--------------------------------------------------------------------------
  6.   def gain_item(item_id, n)
  7.     a = item_number(item_id)
  8.     # 更新 hash 的个数数据
  9.     if item_id > 0
  10.       if $game_variables[54] >= 10
  11.                               else
  12.       @items[item_id] = [[item_number(item_id) + n, 0].max, 10].min
  13.       if @items.include?(item_id)
  14.                 if n >= 0
  15.                   if a == 0
  16.           $game_variables[54] += 1
  17.           end
  18.         end
  19.       end
  20.                    if   a > 0
  21.                      if item_number(item_id) == 0
  22.           $game_variables[54] -= 1
  23. end
  24.       end
  25.     end
  26.     end
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   # ● 增加武器 (减少)
  30.   #     weapon_id : 武器 ID
  31.   #     n         : 个数
  32.   #--------------------------------------------------------------------------
  33.   def gain_weapon(weapon_id, n)
  34.     a = weapon_number(weapon_id)
  35.     # 更新 hash 的个数数据
  36.     if weapon_id > 0
  37.             if $game_variables[54] >= 10
  38.            else
  39.       @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, 10].min
  40.     if @weapons.include?(weapon_id)
  41.                       if n >= 0
  42.                   if a == 0               
  43.           $game_variables[54] += 1
  44.           end
  45.         end
  46.       end
  47.                    if   a > 0
  48.                      if weapon_number(weapon_id) == 0
  49.           $game_variables[54] -= 1
  50. end
  51.       end
  52.     end
  53.     end
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ● 增加防具 (减少)
  57.   #     armor_id : 防具 ID
  58.   #     n        : 个数
  59.   #--------------------------------------------------------------------------
  60.   def gain_armor(armor_id, n)
  61.         a = armor_number(armor_id)
  62.             # 更新 hash 的个数数据
  63.     if armor_id > 0
  64.             if $game_variables[54] >= 10
  65.             else
  66.           @armors[armor_id] = [[armor_number(armor_id) + n, 0].max, 10].min
  67.     if @armors.include?(armor_id)
  68.                       if n >= 0
  69.                   if a == 0               
  70.           $game_variables[54] += 1
  71.           end
  72.         end
  73.       end
  74.                    if   a > 0
  75.                      if armor_number(armor_id) == 0
  76.           $game_variables[54] -= 1
  77. end
  78.       end
  79.     end
  80.   end
  81.   end
复制代码

作者: cinderelmini    时间: 2016-10-16 13:26
唔……有几个几个问题点:
1-1,容量是指每个角色都有容量值,然后队伍总容量是整队人的容量值加起来?或是队伍容量值只是个可以设定的变量?
1-2,基于1-1,如果是前者,那个队伍有人离队的话,缺少的队伍容量肿么办?扩展一下这个问题,如果队伍容量是可变的变量值,那么减少这个值之后,溢出的那部分容量肿么办?
2,容量数值只在物品背包界面显示?是要肿么显示呢?放个独立小窗还是直接显示在哪个窗口里?
3,也就是说商店买东西的话不管溢出的容量?
4,箱子的话大概得手动加条件分歧。
作者: 无忧谷主幻    时间: 2016-10-16 14:31
标题: ()
本帖最后由 无忧谷主幻 于 2016-10-16 14:36 编辑
cinderelmini 发表于 2016-10-16 13:26
唔……有几个几个问题点:
1-1,容量是指每个角色都有容量值,然后队伍总容量是整队人的容量值加起来?或是 ...

1-1,这个不用考虑,因为队伍就一个人
1-2,因为自始至终就一个人,所以不用考虑了
2,只要能显示就行了(当然新增个窗口比较美观吧)

3,没有商店,所以不用考虑
4,嗯,也可以
作者: 无忧谷主幻    时间: 2016-10-16 14:33
yang1zhi 发表于 2016-10-16 09:41
我是用的限制携带种类上限。不是负重。
就是一个变量表示最大能带几种道具。
另一个变量表示当前带了几种 ...

虽然勉强也可以……
能在背包中显示吗?
作者: cinderelmini    时间: 2016-10-16 15:28
本帖最后由 cinderelmini 于 2016-10-16 18:01 编辑
无忧谷主幻 发表于 2016-10-16 14:33
虽然勉强也可以……
能在背包中显示吗?


唔。。。大概写了一个……Main前什么的……
用法在代码开头有说明,可以在物品/武器/防具的说明栏最后面加上“♂数值”(不含引号)设置重量,
不设置的话统一默认设定为代码里设置的默认重量。
基于默认系统,搬运大概需要整合?

作者: 无忧谷主幻    时间: 2016-10-16 16:10
cinderelmini 发表于 2016-10-16 15:28
唔。。。大概写了一个……Main前什么的……
用法在代码开头有说明,可以在物品/武器/防具的说明栏最后面 ...

还是有2个问题:
1,判断物品1是否超过负重,条件分歧应该写
burden_max?(item, 1)吗?

2,现有负重的刷新:
在使用物品或丢弃物品后没有及时刷新,必须关闭物品菜单再打开才会更新
丢弃物品





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