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

Project1

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

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

[复制链接]

Lv2.观梦者

梦石
0
星屑
254
在线时间
316 小时
注册时间
2015-7-2
帖子
1747

开拓者

跳转到指定楼层
1
发表于 2015-8-23 13:26:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如题。
假设说我所能持有的所有物品有上限.(比如上限为20,A物品15个,B物品1个,C物品4个就达到上限了)。
而物品可以有多种方式获得,比如购买,打怪掉落,开宝箱。
这样的话用变量就不好用了。。
求解。
测试你的东方project认知程度?那就来玩[url=https://store.steampowered.com/app/930840/TouHouAsked/]《东方百问》[/url]吧!
东方风自作曲认知企划绝赞咕咕咕中

Lv1.梦旅人

梦石
0
星屑
48
在线时间
784 小时
注册时间
2013-1-4
帖子
1102
2
发表于 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,瞳色黑色,病气和御宅属性,是天才少女。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
784 小时
注册时间
2013-1-4
帖子
1102
3
发表于 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.和上边限制单个物品数量上限的不冲突
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 增加/减少物品
  3.   #     include_equip : 是否包括装备
  4.   #--------------------------------------------------------------------------
  5.   def gain_item(item, amount, include_equip = false)
  6.     container = item_container(item.class)
  7.     return unless container
  8.     if max_item_number(item) - item_number(item) < amount then
  9.       amount = max_item_number(item) - item_number(item)
  10.     end
  11.     if @max_item - @item_sum < amount then
  12.       amount = @max_item - @item_sum
  13.     end
  14.     @item_sum = @item_sum + amount
  15.     last_number = item_number(item)
  16.     new_number = last_number + amount
  17.     container[item.id] = [[new_number, 0].max, max_item_number(item)].min
  18.     container.delete(item.id) if container[item.id] == 0
  19.     if include_equip && new_number < 0
  20.       discard_members_equip(item, -new_number)
  21.     end
  22.     $game_map.need_refresh = true
  23.   end
RM-GUI延期。。。最近被黑心老板压迫T_T
二次元少女的shitake,长着长脸,身高165,蓝色卷双马尾,FCUP,瞳色黑色,病气和御宅属性,是天才少女。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 15:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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