查看: 2241|回复: 2

[已经解决] 如何限制人物所持有的物品个数?

[复制链接]
梦石
0
星屑
254
在线时间
316 小时
注册时间
2015-7-2
回帖
1629

开拓者

发表于 2015-8-23 13:26:20 | 显示全部楼层 |阅读模式

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

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

×
如题。
假设说我所能持有的所有物品有上限.(比如上限为20,A物品15个,B物品1个,C物品4个就达到上限了)。
而物品可以有多种方式获得,比如购买,打怪掉落,开宝箱。
这样的话用变量就不好用了。。
求解。
测试你的东方project认知程度?那就来玩[url=https://store.steampowered.com/app/930840/TouHouAsked/]《东方百问》[/url]吧!
东方风自作曲认知企划绝赞咕咕咕中
梦石
0
星屑
48
在线时间
784 小时
注册时间
2013-1-4
回帖
1057
发表于 2015-8-23 14:09:40 | 显示全部楼层
本帖最后由 墨凌羽 于 2015-8-23 08:13 编辑

  Game_Party219行,把return 99改成
  1. return item.note != "" ? item.note.to_i : 99
复制代码
使用方法:在物品备注栏里进行备注。无备注的最大限制数仍为99。限制数是多少,就直接备注为多少。
噗 仔细看了下,貌似和楼主想要的有差别。。。嗯 其实和那种负重脚本差不多。原理大概就是在增加物品时遍历整个物品列表计算总的持有数(负重脚本使计算总的负重),如果超出就不能获得。
要出个门,回来再说吧。

点评

的确有差别。。。我搜索一下负重脚本吧  发表于 2015-8-24 10:34
多谢,我试试看看  发表于 2015-8-23 21:47

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

RM-GUI延期。。。最近被黑心老板压迫T_T
二次元少女的shitake,长着长脸,身高165,蓝色卷双马尾,FCUP,瞳色黑色,病气和御宅属性,是天才少女。
回复

使用道具 举报

梦石
0
星屑
48
在线时间
784 小时
注册时间
2013-1-4
回帖
1057
发表于 2015-8-27 13:14:55 | 显示全部楼层
本帖最后由 墨凌羽 于 2015-8-27 07:19 编辑

补脚本来了
Game_Party的gain_item替换成下边这个。然后在该类初始化的时候执行变量初始化操作(@max_item = 40 @item_sum = 0)其中@max_item是总的最大物品持有数。
说明:
1.物品超出没提示。想要提示自己写【大概改改map和shop就行
2.和上边限制单个物品数量上限的不冲突
[pre lang="ruby"]  #--------------------------------------------------------------------------
  # ● 增加/减少物品
  #     include_equip : 是否包括装备
  #--------------------------------------------------------------------------
  def gain_item(item, amount, include_equip = false)
    container = item_container(item.class)
    return unless container
    if max_item_number(item) - item_number(item) < amount then
      amount = max_item_number(item) - item_number(item)
    end
    if @max_item - @item_sum < amount then
      amount = @max_item - @item_sum
    end
    @item_sum = @item_sum + amount
    last_number = item_number(item)
    new_number = last_number + amount
    container[item.id] = [[new_number, 0].max, max_item_number(item)].min
    container.delete(item.id) if container[item.id] == 0
    if include_equip && new_number < 0
      discard_members_equip(item, -new_number)
    end
    $game_map.need_refresh = true
  end[/pre]
RM-GUI延期。。。最近被黑心老板压迫T_T
二次元少女的shitake,长着长脸,身高165,蓝色卷双马尾,FCUP,瞳色黑色,病气和御宅属性,是天才少女。
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部