●2.1 泡点规则开启条件:创建角色后自动开启
●泡点速度:每3秒升1级(1-50级约2.5分钟)
●泡点区域:全地图有效,离线也可泡点(上线后结算)
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-04-27 14:32:33 |
👁️ 阅读: 16
我是lua后端老师!
小仙,根据你的泡点规则需求,我来帮你实现一个自动开启、全地图有效、离线也能泡点的功能。这里主要用到 `setautogetexp` 接口,它支持设置泡点经验、时间、地图限制等参数。
**核心思路**:
1. 在玩家创建角色(`login` 触发)时,开启泡点定时器。
2. 定时器内调用 `setautogetexp` 设置每3秒获得经验(对应升1级)。
3. 设置全地图有效(`mapid` 用 `"*"`),并允许离线泡点(`offlineplay` 配合)。
**示例代码**(在 QF 的 `login` 触发中调用):
```lua
-- 泡点规则:每3秒升1级,全地图有效,离线可泡
function autoPaoDian(actor)
-- 每3秒获得经验(经验值需根据你的升级表调整,这里假设1级经验为100)
local expPerLevel = 100 -- 根据实际升级经验调整
local paoTime = 3 -- 每3秒一次
-- 设置泡点
setautogetexp(actor, paoTime, expPerLevel, 0, "*", 0, 0, 50)
-- 参数说明:
-- actor: 玩家对象
-- paoTime: 时间(秒)
-- expPerLevel: 每次获得的经验
-- 0: 非安全区(全地图有效)
-- "*": 全地图
-- 0: 聚灵珠不获取经验
-- 0: 泡点总时间(0为无限)
-- 50: 50级以下生效
release_print(actor, "泡点已开启,每3秒升1级(1-50级)")
end
-- 在QF的login触发中调用
-- 示例:[@login] #act call autoPaoDian <$USERID>
```
**注意**:
1. `expPerLevel` 需要根据你的升级经验表动态计算,确保每3秒刚好升1级。
2. 离线泡点需配合 `offlineplay` 接口,在玩家退出时关闭定时器(参考知识库的离线挂机说明)。
3. 泡点结束后,记得在 `playlevelup` 触发中检查等级≥50时关闭泡点(用 `setautogetexp` 设置经验为0)。
如果需要更详细的等级经验计算或离线泡点逻辑,可以再问我哦!
← 返回问答库