Gameofmir Help遍历背包勾选物品
格式: LoopBagItems 参数1 参数2 参数3 参数4
参数1: 回调接口,填写 @跳转标签
参数2: 当前遍历到的物品唯一ID存入变量
参数3: 当前遍历到的物品名字存入变量
参数4: 当前遍历到的物品数量存入变量
说明: 遍历当前人物背包物品,每遍历到一个物品就跳转执行一次回调标签。遍历前会先记录背包物品唯一ID,回调里删除当前物品不会影响后续继续遍历。叠加物品数量返回当前叠加数量,非叠加物品数量返回1。
通过物品唯一ID删除背包物品
格式: DelItemByMakeIndex 参数1
参数1: 物品唯一ID,多个唯一ID可使用英文逗号串联
例: DelItemByMakeIndex 12345
例: DelItemByMakeIndex 12345,12346,12347
说明: 只删除当前人物背包中匹配唯一ID的物品,未找到的唯一ID自动跳过。
关联背包物品唯一ID
格式: LINKITEMBYMAKEINDEX 参数1
参数1: 背包物品唯一ID
关联刷新: UpDateBoxItem -1
说明: 关联后可使用 -1 作为当前关联物品位置,配合 SetNewItemValue、ChangeItemNameColor 等物品操作命令修改该背包物品;修改完成后执行 UpDateBoxItem -1 刷新客户端显示。
完整例子:
[@MAIN]
#IF
#ACT
MOV S$递增物品唯一ID
MOV S$递增物品名称
MOV S$递增物品数量
LoopBagItems @获取当前背包所有物品 N$物品唯一ID S$物品的名称 S$物品的数量
SENDMSG 6 你当前背包所有物品ID:<$STR(S$递增物品唯一ID)>
SENDMSG 6 你当前背包所有物品名称:<$STR(S$递增物品名称)>
SENDMSG 7 你当前背包所有物品数量:<$STR(S$递增物品数量)>
[@获取当前背包所有物品]
#IF
#ACT
INC S$递增物品唯一ID <$STR(N$物品唯一ID)>,
INC S$递增物品名称 <$STR(S$物品的名称)>,
INC S$递增物品数量 <$STR(S$物品的数量)>,
SENDMSG 6 遍历到的物品唯一ID:<$STR(N$物品唯一ID)>--名称:<$STR(S$物品的名称)>--数量:<$STR(S$物品的数量)>
#IF
EQUAL S$物品的名称 开天斩
#ACT
DelItemByMakeIndex <$STR(N$物品唯一ID)>
SENDMSG 7 删除开天斩
#IF
EQUAL S$物品的名称 屠龙
#ACT
LINKITEMBYMAKEINDEX <$STR(N$物品唯一ID)>
SetNewItemValue -1 0 + 1
ChangeItemNameColor -1 253
UpDateBoxItem -1
SENDMSG 7 屠龙暴击+1%
批量删除例子:
[@批量删除指定唯一ID物品]
#IF
#ACT
DelItemByMakeIndex <$STR(S0)>,<$STR(S1)>,<$STR(S2)>
SENDMSG 6 已尝试删除指定唯一ID背包物品
注意事项:
1、LoopBagItems 只遍历当前人物背包,不包含身上装备、仓库、首饰盒等位置。
2、DelItemByMakeIndex 只删除背包物品,多个唯一ID之间使用英文逗号。
3、LINKITEMBYMAKEINDEX 关联的是背包内现有物品,关联后使用 -1 操作当前关联物品。
4、修改关联物品属性后建议执行 UpDateBoxItem -1,让客户端立即刷新显示。
5、回调标签内可继续判断物品名称、唯一ID、数量,也可删除当前遍历物品。