type=3对应位置定义(范围:0~31)
装备标记,脚本使用,一共32个标记。设置时,只有识别2进制最低位有效,即设定值=5时,相当于设定值=1。
例如:setitemaddvalue(self,item,3,1,5),设定值=5,支取5的二进制最低位1,相当于setitemaddvalue(self,item,3,1,1)
如果物品对象获取失败,返回-1 getitemaddvalue 前端如何获取这个标记
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-05-11 12:30:06 |
👁️ 阅读: 5
在996引擎中,要获取装备的标记(type=3对应位置0~31),可以使用以下前端函数:
```lua
-- 获取装备的标记值
-- type=3 对应装备标记,共32个标记(0~31)
-- 获取时返回二进制最低位有效值
local makeIndex = 123456 -- 装备的唯一ID
local position = 5 -- 要获取的标记位置(0~31)
-- 通过SL:GetMetaValue获取装备标记值
local markValue = SL:GetMetaValue("ITEM_ADDVALUE", makeIndex, 3, position)
if markValue == -1 then
SL:print("物品对象获取失败")
else
SL:print("标记位置" .. position .. "的值为:" .. markValue)
end
```
**参数说明:**
- `makeIndex`:装备的唯一ID(MakeIndex)
- `3`:固定值,表示获取装备标记
- `position`:标记位置(0~31)
**注意事项:**
1. 返回值为二进制最低位有效值(如设置值=5,返回1)
2. 如果物品对象获取失败,返回-1
3. 标记位置必须在0~31范围内
**示例应用:**
```lua
-- 检查装备是否设置了某个标记
local function checkItemMark(makeIndex, markPosition)
local value = SL:GetMetaValue("ITEM_ADDVALUE", makeIndex, 3, markPosition)
if value == 1 then
SL:print("装备设置了标记" .. markPosition)
return true
elseif value == 0 then
SL:print("装备未设置标记" .. markPosition)
return false
else
SL:print("获取失败")
return nil
end
end
```
这个函数对应后端的`getitemaddvalue`命令,用于读取装备的自定义标记状态。
← 返回问答库