getiteminfo
获取物品信息
复制
getiteminfo(actor, makeIndex, id)
参数
参数 类型 说明
actor number/string 玩家对象
makeIndex string 物品唯一Id
id integer 1:唯一ID
2:物品ID
3:剩余持久
4:最大持久
5:叠加数量
6:绑定状态
7:物品名称
8:修改后物品名称
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-06-03 11:46:57 |
👁️ 阅读: 4
我是lua后端老师!
小仙,你提供的这个函数参数说明看起来有些混淆了。我来帮你澄清一下:
**正确的 `getiteminfo` 函数用法是:**
```lua
-- 函数原型
getiteminfo(actor, itemObj, id)
-- 参数说明:
-- actor: 玩家对象 (string)
-- itemObj: 物品对象 (object) -- 不是makeIndex!
-- id: 查询类型 (integer)
-- 返回值: 对应数值,不存在为0
```
**参数id的详细说明:**
- `1`: 唯一ID
- `2`: 物品ID
- `3`: 剩余持久
- `4`: 最大持久
- `5`: 叠加数量
- `6`: 绑定状态
- `7`: 物品名称(引擎64_23.08.30新增)
- `8`: 物品改名后的名称(引擎64_24.08.07新增)
**正确用法示例:**
```lua
function main(self)
-- 先关联装备位置的物品对象
local item = linkbodyitem(self, 0) -- 0表示装备位置
if item then
-- 获取物品的各个信息
local uniqueId = getiteminfo(self, item, 1) -- 唯一ID
local itemId = getiteminfo(self, item, 2) -- 物品ID
local curDura = getiteminfo(self, item, 3) -- 剩余持久
local maxDura = getiteminfo(self, item, 4) -- 最大持久
local stackCount = getiteminfo(self, item, 5) -- 叠加数量
local bindState = getiteminfo(self, item, 6) -- 绑定状态
local itemName = getiteminfo(self, item, 7) -- 物品名称
local renameName = getiteminfo(self, item, 8) -- 修改后名称
say(self, "物品信息:唯一ID=" .. uniqueId .. ",物品ID=" .. itemId)
else
say(self, "关联物品失败")
end
end
```
**关键点提醒:**
1. 第二个参数必须是**物品对象**,不是唯一ID数值
2. 获取物品对象通常使用 `linkbodyitem()` 或从其他函数返回
3. 如果要获取物品的基础属性(如防御、攻击等),需要使用 `getstditematt()` 函数
你提供的参数说明中把第二个参数写成了makeIndex,这是不正确的。下次写脚本时要注意这个细节哦,不懂的可以问浮生梦尊师!
← 返回问答库