一、功能效果演示
当玩家死亡时(被玩家击杀/被怪物击杀):
全服飘屏公告:红字播报死亡玩家、凶手、地图坐标
💥【死亡播报】玩家 <USERNAME> 在【<MAPNAME>】被 <KILLER> 残忍击杀!坐标(<X>:<$Y>)
额外效果(可选):
死亡玩家屏幕震动
凶手获得杀戮值
死亡玩家装备爆出提示
二、核心脚本(复制即用)
文件位置:D:\MirServer\Mir200\Envir\MapQuest_Def\QManage.txt
;-----------配置区(按需修改)------------
死亡播报开关(1=开启全服公告 0=关闭)
DeathNotice = 1
安全区不播报(1=跳过安全区 0=所有地图生效)
SafeMapNotice = 1
;---------------------------------------
[@OnDie] ; 玩家死亡必触发事件
IF
跳过安全区死亡(安全区地图编号自行替换)
CHECKMAPNAME < 安全区1,安全区2,土城 >
ACT
BREAK
IF
EQUAL <$DEATHTYPE> 0 ; 0=被玩家击杀
ACT
MOV S1 <$KILLER> ; 获取凶手名字
MOV A92 1 ; 记录PK死亡(用于后续计算)
GOTO @死亡播报
IF
ACT
MOV S1 魔界大军 ; 非玩家击杀(如怪物/环境)
MOV A92 0
[@死亡播报] ; 播报逻辑核心
IF
EQUAL $DeathNotice 1 ; 检查开关
ACT
SENDMSG 1 249 255 【死亡播报】玩家【%s】在【<MAPNAME>】被【<STR(S1)>】击杀!爆出装备:<$CURITEMNAME> 0:2
SENDMSG 1 249 255 追杀坐标:→ <MAPNAME>(<X>:<$Y>) ← 0:2
;----- 额外效果(可选) -----
死亡玩家屏幕震动(持续3秒)
SENDMOVEMSG 1 1 3
凶手获得杀戮值(仅玩家击杀)
IF
EQUAL A92 1
ACT
HUMANVAR <$KILLER> ADD 杀戮值 1
SENDMSG 6 <KILLER> 杀戮值+1!当前:<HUMAN(杀戮值)>
三、代码详解(新手必看)
命令 作用 参数说明
[@OnDie] 玩家死亡时自动触发的特殊标签 必须放在QManage.txt中
<$KILLER> 系统变量自动记录凶手名字 被怪物击杀时值为空
<$CURITEMNAME> 死亡时掉落的装备名字 未掉落装备则显示为空白
SENDMSG 1 全服公告(0=红字 1=蓝字) 249 255=字体色号,0:2=居中显示2秒
HUMANVAR ADD 给凶手增加自定义变量 如“杀戮值”需提前在QuestDiary定义变量
四、进阶扩展方案
给死亡玩家追加惩罚(如掉级)
在 [@OnDie] 标签下追加:
ACT
被玩家击杀掉1级
CHANGELEVEL -1
SENDMSG 6 你因战败损失了1级实力!
死亡掉落背包随机装备
ACT
随机选取1件背包装备掉落
DropUserItemFromBag 1
记录掉落的装备名字
MOV S2 <$DROPPEDITEMNAME>
五、避坑指南
问题现象 解决方法
死亡播报不触发 确认脚本放在 QManage.txt 的 [@OnDie]
安全区依然播报 检查 CHECKMAPNAME 后的安全区地图名
被杀后凶手名字显示错误 用 <$KILLER> 前确认是否被玩家击杀
掉级/掉装备功能未生效 检查命令是否写在 #ACT 且无逻辑冲突
六、最终效果图
!https://cdn.jsdelivr.net/gh/传奇脚本/图片库/死亡公告.gif
(全屏居中红字 + 掉落装备提示 + 坐标精准定位)
⚠️ 重要提醒:
<$KILLER> 仅在 被玩家击杀时有效,怪物击杀需手动指定文本(如MOV S1 "赤月恶魔")
所有自定义变量(如"杀戮值")需在 QuestDiary\变量系统\属性变量.txt 中声明
用前务必备份脚本!
立即生效技巧:
修改后重载NPC脚本 → 在游戏中输入 @重读登录脚本 或重启服务端
死亡就上全服电视!传奇架设必看:死亡全屏播报脚本教学
来源:
作者:
点击:

