骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 衣谷三国
查看: 4303|回复: 4

[讨论] 关于获取玩家某个物品的拥有数量

[复制链接]

72

主题

3128

回帖

1435

积分

骑士长

自由骑士
战团ID:SPH_sunshine

学院画匠

Rank: 5Rank: 5Rank: 5

UID
2530057
第纳尔
18053
精华
0
互助
45
荣誉
25
贡献
21
魅力
550
注册时间
2015-6-3

骑砍中文站APP会员勋章有生之年勋章霸主正版勋章原版正版勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士精神之浪漫勋章骑士美德之慷慨勋章骑砍中文站微信会员勋章骑友真人秀Ⅳ勋章骑友真人秀Ⅵ勋章骑友真人秀终身成就勋章元老骑士勋章

QQ
鲜花(411) 鸡蛋(1)
发表于 2020-7-22 13:46:03 | 显示全部楼层
本帖最后由 阳光刺破心脏 于 2020-7-22 14:13 编辑

“获取物品栏中某物品的数量”思路就是:
① 定义一个物品局部变量,来记录该物品的数量,初始化为0;
② 用 troop_get_inventory_capacity 获取玩家的物品栏容量;
③ 用 try_for_range 遍历物品栏每一个格子;
④ 用 troop_get_inventory_slot 获取当前格子的物品id;
⑤ 物品id大于0时(格子里有物品),判断物品id是否等于你要的物品;
⑥ 如果是,物品局部变量 +1 ;
⑦ 直到 try_end 遍历结束;
⑧ 得到的局部变量数值就是你要的物品数量。

所以没必要移除物品再添加物品,你是怕有的物品被遍历多次,其实不然。
只要你得到物品栏的容量,从0开始遍历到最大容量值,就不会被多次遍历啦。
try_for_range 是有顺序地遍历,并不是类似抽签那样 检测到但不拿走 会干扰结果。
当然如果笼统地判断马,也可以用 item_get_type ,然后判断物品是否有 itp_type_horse 标签。

如果有什么误解的地方,望指正。

您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

Archiver|手机版|小黑屋|骑马与砍杀中文站

GMT+8, 2025-9-24 03:01 , Processed in 0.088256 second(s), 19 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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