3K传奇引擎假人死亡30秒自动重连登录配套脚本编写与触发逻辑

来源: 作者: 点击:
[@main]
#ACT
MESSAGE假人管理控制器,管控假人掉线死亡后自动重登,假人死亡触发倒计时等待30秒重新上线
MESSAGE1.开启假人自动复活登录2.关闭假人自动复活登录3.查看假人运行状态4.关闭对话
BREAK
[@开启假人自动复活登录]
#IF
ISADMIN
#ACT
CALCVARGLOBALFakeAutoLogin=1
SENDMSG0管理员开启假人死亡30秒自动登录功能
MESSAGE假人死亡倒计时功能已启用,假人阵亡等待30秒自动登录
BREAK
#ELSEACT
MESSAGE权限不足,仅管理员可操作假人控制器
BREAK
[@关闭假人自动复活登录]
#IF
ISADMIN
#ACT
CALCVARGLOBALFakeAutoLogin=0
SENDMSG0管理员关闭假人死亡自动登录功能
MESSAGE假人死亡自动登录功能关闭,假人死亡后不再自动重连
BREAK
#ELSEACT
MESSAGE权限不足,仅管理员可操作假人控制器
BREAK
[@查看假人运行状态]
#ACT
#IF
CHECKVARGLOBALFakeAutoLogin=1
MESSAGE当前假人自动登录状态:开启,假人死亡等待30秒自动上线
BREAK
#ELSEACT
MESSAGE当前假人自动登录状态:关闭,假人死亡不再自动重登
BREAK
BREAK
[@关闭对话]
#ACT
MESSAGE假人控制器持续监控假人在线状态
BREAK

QFunction-0.txt假人死亡触发倒计时脚本
[@OnPlayerDeath]
#IF
ISDUMMY
CHECKVARGLOBALFakeAutoLogin=1
#ACT
TIMERADDFakeDeathTimer_<\(USERNAME>30
MESSAGE假人<\)USERNAME>已阵亡,启动30秒倒计时,倒计时结束自动登录
BREAK

[@OnTimer]
#IF
ISDUMMY
TIMEREXISTFakeDeathTimer_<\(USERNAME>
#ACT
TIMERDELFakeDeathTimer_<\)USERNAME>
DUMMYLOGIN<\(USERNAME>
SENDMSG0假人<\)USERNAME>倒计时结束,执行自动登录
BREAK

机器人脚本,假人定时器清理保护
[@Start]
#ACT
CALCVARGLOBALFakeAutoLogin=1
BREAK
[@OnTimerDummyClearTimer120]
#ACT
#IF
#ACT
DUMMYCLEARTIMER
BREAK

整套脚本适配3K传奇引擎,分为管理员NPC控制面板、QFunction假人死亡事件触发器、机器人定时清理定时器模块。脚本存放路径为QuestDiary目录新建dummy文件夹,全局变量FakeAutoLogin用来控制整套功能总开关,无需大量玩家变量存储。NPC操作入口仅限管理员,普通玩家无法修改假人自动登录开关。

[@OnPlayerDeath]死亡事件增加ISDUMMY判断,仅假人角色死亡才会触发逻辑,真实玩家死亡不会执行任何倒计时。假人阵亡后,以假人角色名创建独立定时器,计时30秒。定时器到期后删除当前计时,执行DUMMYLOGIN指令,让该假人账号重新登录服务器。

机器人脚本服务器启动时默认开启假人自动登录功能,每120秒执行DUMMYCLEARTIMER清理残留无效假人定时器,防止大量假人反复死亡后堆积定时器造成引擎卡顿。管理员通过NPC开启或者关闭FakeAutoLogin全局开关,关闭后假人死亡不会生成倒计时,不再自动重登。

测试阶段,管理员开启功能,使用MONGEN或者假人控制台让假人被怪物击杀,观察假人死亡后的30秒倒计时,验证到期自动登录效果。修改TIMERADD后面数字可以调整等待时长,例如修改60代表等待60秒登录。可新增假人登录后定点传送,假人上线自动传送到指定地图坐标。

可拓展配套玩法,增加假人死亡次数统计,记录单个假人每日阵亡次数。增加假人分组控制,部分假人开启自动登录,另一部分假人死亡永久下线。增加假人登录后自动执行基础行为,例如自动打怪、自动走动。增加假人黑名单,名单内假人死亡不会触发自动登录。增加消息过滤,关闭假人登录全服广播减少刷屏。

需要核对引擎指令兼容情况,部分3K内核DUMMYLOGIN、ISDUMMY指令存在版本差异,假人无法自动登录时核对M2版本。假人账号需要提前在角色数据库建立,假人账号名称必须和脚本内调用名称保持一致。大量假人同时在线时,定时器数量会同步增加,建议搭配机器人DUMMYCLEARTIMER定期清理无效定时器,避免引擎内存持续上涨。

脚本仅实现假人死亡倒计时重登逻辑,假人上线后的AI行为、打怪移动逻辑需要在假人配置文件内单独设置。假人登录后默认出生点为角色存档回城坐标,如需固定假人上线位置,可在[@OnDummyLogin]触发器增加MAPMOVE传送指令。可以增加假人血量保护,假人血量低于阈值自动回城,避免高频死亡频繁创建定时器。

脚本不影响真实玩家任何机制,ISDUMMY条件会隔离所有真人角色,不会出现真人死亡触发假人重登的bug。可增加假人登录冷却,同一个假人短时间多次死亡,增加最低冷却时间,防止短时间循环反复登录下线冲击服务器。也可以增加日志输出,假人死亡、倒计时、登录事件写入日志,方便查看假人运行状态。
[顶部]