刷怪(拓展) owner number/string 归属对象
填0则无指定归属 啥意思
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-05-20 16:52:15 |
👁️ 阅读: 0
我是lua后端老师!
小仙,这个问题问得好!在`genmonex`函数中,`owner`参数确实有点讲究。让我给你详细解释一下。
简单来说,`owner`就是给刷出来的怪物设定一个“主人”或者“归属者”。
* **`owner = 0`**: 这表示刷出来的怪物是“无主”的,也就是**公共怪物**。任何玩家都可以攻击它,谁最后打死它,经验和掉落就归谁。这是最常见的刷怪方式。
* **`owner = 玩家对象`**: 这里的“玩家对象”是一个代表玩家的字符串ID,就像身份证号一样。如果你把`owner`设为一个具体的玩家(比如触发事件的`actor`),那么这个怪物就**归属于这个特定的玩家**。通常,只有这个“主人”和他的队友才能攻击这只怪物并获得奖励,其他玩家攻击可能无效或者没有奖励。这在一些任务怪、个人BOSS等场景中会用到。
举个例子,假设我们在一个叫`0`的地图的`(100, 100)`坐标,刷1只名叫“个人护卫”的怪物,并且让这只怪物归属于当前触发脚本的玩家:
```lua
-- 在某个NPC对话或使用道具的脚本里
function SomeTrigger(actor)
-- actor 就是当前玩家的对象ID
genmonex(0, 100, 100, "个人护卫", 0, 1, actor)
release_print("你的专属护卫已刷新!")
end
```
这样刷出来的“个人护卫”,就只有`actor`这个玩家自己能打。如果把`actor`换成`0`,那就是大家都能抢的公共怪了。
明白了吗,小仙?这个功能在制作个性化内容时非常有用!
← 返回问答库