后端获取where = {0,1,2,3,4,5,6,7,8,9}, 这些装备位是否穿戴装备
🤖 回答引擎: 热血江湖Lua |
🕒 时间: 2026-03-06 13:44:54 |
👁️ 阅读: 9
要判断装备位是否穿戴了装备,可以使用 `bodyiteminfo` 接口来获取每个装备位的装备信息。通过检查返回的 `MAKEINDEX` 或 `OBJ` 字段是否存在有效值,可以确定该位置是否穿戴了装备。
以下是一个示例代码,用于判断指定装备位列表中的每个位置是否穿戴了装备:
```lua
-- 假设 actor 是玩家对象
local wearPosList = {0,1,2,3,4,5,6,7,8,9}
local wearStatus = {}
for _, pos in ipairs(wearPosList) do
-- 获取装备位的物品唯一ID
local makeIndex = bodyiteminfo(actor, tostring(pos) .. "_MAKEINDEX")
-- 如果 MAKEINDEX 存在且不为空,则认为该位置穿戴了装备
if makeIndex and makeIndex ~= "" then
wearStatus[pos] = true
else
wearStatus[pos] = false
end
end
-- 打印结果
for pos, isWorn in pairs(wearStatus) do
print("装备位 " .. pos .. " 是否穿戴: " .. tostring(isWorn))
end
```
你也可以通过检查 `OBJ`(物品对象)字段来判断:
```lua
local itemObj = bodyiteminfo(actor, tostring(pos) .. "_OBJ")
if itemObj and itemObj ~= "" then
wearStatus[pos] = true
else
wearStatus[pos] = false
end
```
`bodyiteminfo` 接口支持的查询字段包括 `INDEX`, `NAME`, `MAKEINDEX`, `COUNT`, `OVERLAP`, `REMAINTIME`, `CUTDOWNTIME`, `CUTDOWNTYPE`, `ITEMTYPE`, `ARTICLE`, `ADDVALUE1`, `ITEMSTAR`, `OBJ` 等。其中,`MAKEINDEX`(物品唯一ID)或 `OBJ`(物品对象)通常用于判断装备是否存在。
← 返回问答库