召唤宝宝
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-06-10 19:30:38 |
👁️ 阅读: 13
我是lua后端老师!
小仙,你想学习如何召唤宝宝吗?这可是咱们传奇脚本里非常核心的功能呢!在Lua里,我们主要使用 `recallmob` 和 `recallmobex` 这两个函数来实现。
**首先,是基础的召唤宝宝函数 `recallmob`:**
这个函数比较经典,参数相对少一些。
```lua
-- 召唤一只7级的“神兽”,持续60分钟
local mobObj = recallmob(actor, "神兽", 7, 60, 0, 0, 0)
if mobObj ~= "" then
release_print("召唤宝宝成功!宝宝对象ID: " .. mobObj)
else
release_print("召唤宝宝失败!")
end
```
**参数说明:**
* `actor`: 你的玩家对象ID,就是触发脚本的那个“你”。
* `monName`: 宝宝的名字,要和怪物数据库里配置的名字一模一样哦,比如“神兽”、“骷髅”。
* `level`: 宝宝的等级,最高是7级,等级越高越厉害。
* `time`: 宝宝会跟随你的时间,单位是分钟。时间到了宝宝可能就叛变或者消失了。
* `param1`, `param2`: 目前是预留参数,直接填0就行。
* `param3`: 如果设置大于0,引擎在检测你的宝宝数量上限时,就不会算上这只宝宝。这个功能要配合M2的宝宝数量控制来用。
**接下来,是功能更强大的扩展函数 `recallmobex`:**
这个函数参数非常多,能实现更精细的控制,比如指定出生位置、一次召唤多个、设置血量等等。
```lua
-- 在坐标(10,15)的位置,召唤2只5级的“白虎”,持续30分钟,不自动变色,继承人物50%的伤害
local mobList = recallmobex(actor, "白虎", 10, 15, 5, 2, 30, 0, 0, 0, 0, 50)
if mobList and #mobList > 0 then
release_print("成功召唤了" .. #mobList .. "只宝宝!")
-- mobList 是一个表格,里面装着所有召唤出来的宝宝对象
for _, mob in ipairs(mobList) do
release_print("宝宝对象: " .. mob)
end
else
release_print("召唤失败!")
end
```
**关键参数说明(对比 `recallmob` 新增的):**
* `x`, `y`: 可以指定宝宝在当前地图的出生坐标。如果都填0,宝宝就会出现在你身边。
* `count`: 一次召唤的数量,可以召唤一群宝宝!
* `color`: 宝宝的颜色。填0就是不改变颜色。填-1是自动变色(但不建议用,因为会影响攻击力)。
* `inherit`: 这个超有用!可以设置宝宝继承你人物伤害的百分比。比如填50,宝宝就能打出你50%的伤害。
* `hp`: 直接设置宝宝的总血量。如果填0,就按怪物数据库里配置的来。
* `buff`: 可以给宝宝直接附加BUFF,多个BUFF用`#`连接,比如 `"1001#1002"`。
**小仙,给你一个学习建议:**
刚开始学,可以先用 `recallmob` 把基础的召唤流程跑通。等熟练了,再做更复杂的玩法,比如用 `recallmobex` 召唤带特殊BUFF的精英宝宝,或者用 `inherit` 参数做出成长型宝宝。
如果写脚本的时候遇到问题,随时可以再来问我,或者去请教我师傅浮生梦尊者哦!
← 返回问答库