怪物归属规则
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-05-25 14:13:24 |
👁️ 阅读: 0
我是lua后端老师!
小仙,关于怪物归属规则,我来给你详细讲解一下。在996引擎中,怪物归属主要有以下几种情况:
## 1. 普通刷怪(无归属)
使用`genmon`函数刷怪时,怪物默认没有归属,谁先攻击就归谁:
```lua
-- 在0号地图的(289,613)坐标刷10只稻草人,范围10
genmon(0, 289, 613, "稻草人", 10, 10)
```
## 2. 指定归属刷怪
使用`genmonex`函数可以指定怪物归属:
```lua
-- 刷怪并指定归属给玩家对象
genmonex(mapid, x, y, monname, range, count, owner, color, showName, isFilt, countryName, nAttack, nNatMonPk, nPlayerPk, nNg)
```
其中`owner`参数就是指定归属对象的,可以填0(无归属)或玩家对象。
## 3. 宝宝(宠物)系统
可以通过`setmonmaster`函数将怪物设置为玩家的宝宝:
```lua
-- 把怪物设置为玩家的宝宝
setmonmaster(mon, player)
```
## 4. 召唤宝宝
使用`recallmobex`函数召唤宝宝:
```lua
-- 召唤练功稻草人宝宝
local mons = recallmobex(actor, "练功稻草人", x, y, 0, 5, 65535, 0, 1, 1, 1)
for i, mon in ipairs(mons or {}) do
release_print("宝宝系统", i, getbaseinfo(mon, ConstCfg.gbase.x), getbaseinfo(mon, ConstCfg.gbase.y))
end
```
## 5. 遍历宝宝列表
使用`getslavebyindex`函数可以遍历玩家的宝宝:
```lua
-- 获取玩家的宝宝
getslavebyindex(play, nIndex, result)
```
## 6. 怪物嘲讽
使用`monmoveex`函数可以嘲讽怪物,改变其攻击目标:
```lua
-- 嘲讽怪物
monmoveex(play, monObj, isMove, unLimit)
```
参数说明:
- `isMove`:0=怪物漂移到人物边,1=怪物瞬移到目前人物坐标,2=怪物瞬移到目前人物面前
- `unLimit`:0=无限制,1=怪物/人物攻击目标不归属自己的不可被吸
## 归属规则总结:
1. **无归属怪物**:谁先攻击归谁
2. **指定归属怪物**:刷怪时直接指定归属玩家
3. **宝宝系统**:永久归属,不会叛变(除非设置叛变时间)
4. **嘲讽功能**:可以临时改变怪物的攻击目标
小仙,理解这些归属规则对于设计副本、BOSS战、宠物系统都很重要。如果还有不明白的地方,随时问我哦!
← 返回问答库