一、人物死亡上电视脚本核心原理
传奇人物死亡上电视,本质是通过全局触发脚本监听角色死亡事件,满足判定条件后,触发全服文字公告(即上电视效果)。脚本依托服务端全局触发文件运行,无需单独搭建NPC,角色倒地瞬间自动执行指令,支持自定义公告内容、播报范围、触发条件,适配Hero、GOM、GEE三大主流引擎。
脚本核心逻辑:监听角色死亡状态→判定死亡类型(正常PK死亡、怪物击杀死亡)→读取角色名称、击杀者名称、死亡地图信息→推送全服公告,实现死亡消息全服可见的上电视效果。
二、人物死亡上电视完整脚本代码
;全局触发监听人物死亡事件
[@PlayDie]
#IF
#ACT
;读取死亡角色、击杀者、地图信息
MOV S1 "$USERNAME"
MOV S2 "$KILLERNAME"
MOV S3 "$MAPNAME"
;判断击杀者类型(玩家/怪物)
#IF
EQUAL S2 ""
#ACT
;被怪物击杀的上电视公告
SendCenterMsg 251 0 【全服通告】玩家<$STR(S1)>在<$STR(S3)>被怪物击倒,不幸身亡! 5
SendMsg 0 【全服通告】玩家<$STR(S1)>在<$STR(S3)>被怪物击倒,不幸身亡!
BREAK
#ELSEACT
;被玩家击杀的上电视公告
SendCenterMsg 253 0 【全服通告】玩家<$STR(S2)>在<$STR(S3)>将<$STR(S1)>击倒,威名远扬! 5
SendMsg 0 【全服通告】玩家<$STR(S2)>在<$STR(S3)>将<$STR(S1)>击倒,威名远扬!
BREAK
三、脚本存放路径与加载方式
3.1 对应引擎存放文件
- Hero引擎:放入服务端 MirServer\Mir200\Envir\QFunction-0.txt 文件,直接粘贴至文件末尾即可
- GOM/GEE引擎:放入服务端 MirServer\Mir200\Envir\QuestDiary\QuestFunc.txt 文件,新建[@PlayDie]触发段粘贴代码
3.2 脚本生效步骤
1. 打开对应触发文件,将完整脚本粘贴至末尾,保留原有代码不删除、不修改
2. 保存文件,关闭文本编辑器,避免文件占用导致加载失败
3. 打开M2Server引擎控制器,点击顶部【加载】选项,选择【重载触发脚本】
4. 等待脚本重载完成,无需重启整个服务端,进入游戏测试即可
四、脚本自定义修改教程
4.1 修改公告文字内容
找到脚本内SendCenterMsg 和 SendMsg 后的双引号内容,替换为自定义公告文字,保留<$STR(S1)>(死亡角色)、<$STR(S2)>(击杀者)、<$STR(S3)>(死亡地图)变量,示例:
替换为:【江湖通告】大侠<$STR(S1)>在<$STR(S3)>不敌<$STR(S2)>,倒地惜败!
4.2 调整公告颜色与播报时长
修改 SendCenterMsg 后的数字参数,第一个数字为公告颜色代码(251蓝色、253黄色、252绿色、255红色),末尾数字为公告停留时长(单位秒),默认5秒可按需调整,数值越大停留越久。
4.3 限制触发条件(可选)
可添加条件过滤,仅满足要求的角色死亡才上电视,示例:添加CHECKLEVELEX > 50(仅50级以上角色死亡触发),代码如下:
[@PlayDie]
#IF
CHECKLEVELEX > 50
#ACT
MOV S1 "$USERNAME"
MOV S2 "$KILLERNAME"
MOV S3 "$MAPNAME"
;后续公告代码不变
4.4 关闭怪物击杀播报(可选)
删除脚本内“被怪物击杀的上电视公告”整段代码,仅保留玩家PK死亡播报,实现只有玩家互杀才上电视的效果。
五、脚本常见问题排查
- 死亡不上电视、无公告:检查存放路径是否正确,触发文件是否选错;确认重载触发脚本操作执行到位;查看脚本语法,标点、换行无错误,变量符号未缺失
- 公告显示乱码:用记事本打开触发文件,点击【另存为】,编码选择ANSI,重新保存加载
- 变量显示异常(显示$USERNAME):核对变量写法,必须使用<$STR(S1)>格式,不要直接写$USERNAME
- 重复播报公告:检查文件内是否重复粘贴脚本,删除多余重复代码,仅保留一组[@PlayDie]触发段
- 引擎不兼容报错:Hero引擎脚本不可直接用于GOM/GEE引擎,按对应引擎文件路径放置,不要混用文件
六、进阶功能扩展
6.1 添加死亡公告音效
在公告指令前添加 PlaySound 1 指令,数字对应音效编号,角色死亡上电视时同步播放提示音,增强播报效果。
6.2 行会公告同步播报
添加GuildNoticeMsg 251 0 【行会通告】本行会玩家<$STR(S1)>不幸阵亡! 指令,实现全服公告+行会公告双播报。
6.3 屏蔽GM账号死亡播报
添加CHECKISADMIN 判定,GM账号死亡不触发公告,避免测试账号干扰正常播报,代码示例:
#IF
CHECKISADMIN
#ACT
BREAK
#ELSEACT
;执行原有死亡公告代码
七、脚本使用注意事项
修改触发文件前务必备份原始文件,防止改错导致其他触发功能失效;脚本变量不可随意修改,否则无法读取角色、地图信息;公告文字不宜过长,避免超出屏幕显示范围;测试时用普通账号角色死亡验证,不要用GM账号测试,确保普通玩家可正常触发上电视效果。

