delitembymakeindex(actor, makeIndex, 1) 这个接口不无法拿走穿戴的物品
🤖 回答引擎: 热血江湖Lua |
🕒 时间: 2026-03-09 15:46:08 |
👁️ 阅读: 14
是的,`delitembymakeindex` 接口无法直接删除玩家身上穿戴的装备。根据接口定义,它主要用于删除背包中的物品。
如果你需要删除玩家身上穿戴的装备,应该使用另一个专门的接口:`delbodybymakeindex`。
**函数原型:**
```lua
delbodybymakeindex(actor, makeIndex)
```
**参数说明:**
* `actor` (必选,object): 玩家对象。
* `makeIndex` (必选,string): 需要删除的物品的唯一ID。支持多个ID用逗号串联,但串联起来的物品必须同时存在,否则无法删除。
**示例代码:**
```lua
-- 删除身上的武器和衣服
local weaponMakeIndex_0 = bodyiteminfo(actor, "0_MAKEINDEX")
local weaponMakeIndex_1 = bodyiteminfo(actor, "1_MAKEINDEX")
local makeIndex = weaponMakeIndex_0..","..weaponMakeIndex_1
delbodybymakeindex(actor, makeIndex)
```
因此,处理穿戴物品和背包物品的删除需要区分使用:
* `delitembymakeindex(actor, makeIndex, num)` - 用于删除背包中的物品。
* `delbodybymakeindex(actor, makeIndex)` - 用于删除身上穿戴的装备。
← 返回问答库