传奇blue引擎杀人和被杀显示脚本配置教程 含提示与记录

来源: 作者: 点击:
一、核心脚本文件定位与基础配置

传奇blue引擎杀人和被杀显示功能,需通过服务端QF脚本文件实现,核心配置文件为QFunction-0.txt,部分引擎版本需配合HeroQuest.txt或MapQuest.txt协同生效,优先操作QFunction-0.txt(路径通常为MirServer\Mir200\Envir\QuestDiary\QF)。

打开QFunction-0.txt文件,关闭自动换行与语法高亮功能,避免格式错乱导致脚本失效。在文件末尾另起一行添加脚本头部标识,格式为“[@KillDeathMsg]”,作为杀人和被杀显示脚本的入口,后续所有相关命令均需嵌套在该标识下方,不可插入现有脚本段中间。

基础参数初始化:添加“#ACT”命令触发执行动作,依次配置提示信息显示时长、范围及颜色参数。示例配置为“SETMSGCOLOR 251”(设置字体颜色为黄色,251为blue引擎通用黄色代码)、“SETMSGTIME 5”(提示信息显示5秒)、“SETMSGRANGE 0”(全服可见,0为全服范围,1-99为指定地图范围),参数可按需求调整,颜色代码支持1-255区间数值,需提前测试适配性。

二、杀人提示脚本编写与参数设置

杀人提示核心脚本需调用“@Kill”触发事件,当玩家击杀其他玩家时自动执行。脚本结构分为提示信息配置、击杀记录统计两部分,优先完成提示信息设置,确保基础显示功能正常。

杀人提示信息配置:在[@KillDeathMsg]标识下添加“[@Kill]”子标识,后续添加“#SAY”命令定义提示内容,支持调用玩家名称、被击杀者名称、击杀地图等变量。示例配置为“#SAY 【击杀公告】%USERNAME 于%MAPNAME 成功击杀 %TARGETNAME ,战力碾压!”,其中%USERNAME为击杀者名称变量,%TARGETNAME为被击杀者名称变量,%MAPNAME为击杀地图名称变量,变量需严格使用%包裹,不可遗漏或错写。

击杀记录统计配置:若需记录击杀次数,可添加“INC Q7 KillCount 1”命令(Q7为自定义变量前缀,KillCount为击杀次数变量名,1为每次击杀递增1),同时添加“SAVEVAR”命令保存变量数据,避免引擎重启后数据丢失,完整配置为“#ACT INC Q7 KillCount 1 SAVEVAR”。如需显示击杀连杀数,可补充“CHECKVAR Q7 KillStreak >= 1”(检测连杀数是否大于等于1)、“INC Q7 KillStreak 1”(连杀数递增),连杀中断时需添加重置命令,后续在被杀脚本中配置。

特殊击杀提示:若需区分普通击杀与暴击击杀,可添加“CHECKSKILL %USERNAME 烈火剑法”(检测击杀者是否使用烈火剑法),搭配“#IF”条件判断命令实现差异化提示。示例为“#IF CHECKSKILL %USERNAME 烈火剑法 #SAY 【暴击击杀】%USERNAME 施展烈火剑法,一击秒杀 %TARGETNAME ! #ELSE #SAY 【击杀公告】%USERNAME 于%MAPNAME 成功击杀 %TARGETNAME ,战力碾压!”,通过#IF与#ELSE实现条件分支,未使用指定技能则显示普通击杀提示。

三、被杀提示脚本编写与连杀重置

被杀提示脚本对应“@Death”触发事件,当玩家被其他玩家击杀时执行,核心功能为显示被杀公告、重置连杀数,可额外添加掉落提示或复活引导内容,提升玩法关联性。

被杀提示信息配置:添加“[@Death]”子标识,配合#SAY命令编写提示内容,示例为“#SAY 【阵亡公告】%USERNAME 于%MAPNAME 被 %KILLERNAME 击杀,节哀顺变!”,其中%KILLERNAME为击杀者名称变量,与杀人脚本中的%USERNAME对应,确保名称显示一致。若需添加掉落提示,可补充“#SAY 本次阵亡掉落:%DROPITEM”(%DROPITEM为掉落物品变量,需引擎支持该变量调用)。

连杀数重置配置:在被杀脚本中添加“#ACT”命令,执行“SET Q7 KillStreak 0”(将连杀数变量重置为0)、“SAVEVAR”(保存重置后的数据),确保玩家被杀后连杀记录清零,下次击杀重新计数。若需显示连杀中断提示,可补充“#SAY %KILLERNAME 终结了 %USERNAME 的 %Q7.KillStreak 连杀!”,通过%Q7.KillStreak调用当前连杀数变量,实现连杀中断公告。

复活引导配置(可选):可在被杀提示后添加复活引导命令,示例为“#SAY 点击前往安全区复活:@传送 3 330 330”(3为主地图编号,330 330为安全区坐标),通过@传送命令实现快速复活跳转,坐标需与MapInfo.txt中主地图安全区坐标一致,避免传送出错。

四、脚本权限设置与地图差异化配置

脚本权限控制:部分场景需限制提示信息显示范围,如仅在PK地图显示击杀公告,可通过#IF条件判断命令配置地图权限。示例为“#IF MAPNAME 沙巴克 #SAY 【沙巴克激战】%USERNAME 击杀 %TARGETNAME ,沙巴克归属岌岌可危! #ELSEIF MAPNAME 赤月峡谷 #SAY 【赤月PK】%USERNAME 于赤月峡谷击杀 %TARGETNAME ! #ELSE #SAY 【击杀公告】%USERNAME 击杀 %TARGETNAME !”,通过多个ELSEIF实现不同地图差异化提示,未匹配地图则显示默认提示。

玩家等级权限限制:若需限制低等级玩家击杀提示不显示,可添加等级判断条件,示例为“#IF LEVEL %USERNAME >= 50 #SAY 【高阶击杀】%USERNAME (%LEVEL%级)击杀 %TARGETNAME (%TARGETLEVEL%级)! #ELSE #ACT SETMSGRANGE 1”(低等级玩家击杀提示仅当前地图可见),其中%LEVEL%为击杀者等级变量,%TARGETLEVEL%为被击杀者等级变量,等级阈值可按玩法需求调整。

脚本冲突规避:配置完成后需检查是否存在重复的[@Kill]、[@Death]标识,若其他脚本文件中已存在相同标识,需删除或重命名重复标识,避免脚本冲突导致部分功能失效。建议在脚本头部添加注释,格式为“// 杀人和被杀显示脚本 开始”,尾部添加“// 杀人和被杀显示脚本 结束”,便于后续维护与修改。

五、客户端与服务端同步设置

服务端配置收尾:保存QFunction-0.txt文件,关闭文本编辑器,打开服务端引擎配置工具(通常为msever.exe),找到“脚本设置”选项,勾选“启用杀人被杀提示脚本”“加载QFunction-0.txt”,确认脚本优先级设置为“最高”,避免被其他脚本覆盖。

客户端提示显示设置:打开客户端配置文件(通常为mir2.ini或client.ini,路径为客户端根目录),找到“MsgDisplay”相关配置项,设置“ShowKillMsg=1”(启用击杀提示显示,1为启用,0为关闭)、“KillMsgPos=2”(提示信息显示位置,2为屏幕顶部居中,1为左上角,3为右上角),保存文件后关闭。

字体与显示效果调整:若客户端提示字体模糊或显示不全,可修改客户端Fonts文件夹下的字体文件,替换为清晰的宋体或黑体字体,字体大小建议设置为16号,同时调整客户端分辨率,确保提示信息完整显示,无遮挡或错位现象。

六、脚本测试与常见问题排查

基础功能测试:重启blue引擎,使用两个测试账号登录游戏,在指定地图进行PK操作,确认击杀与被杀时均能正常显示提示信息,检查字体颜色、显示时长、范围是否符合配置,变量是否正确调用(无%USERNAME等占位符显示)。

数据统计测试:连续击杀多次,确认连杀数正常递增,被杀后连杀数重置,重启引擎后检查击杀次数数据是否保留,若数据丢失需补充“SAVEVAR”命令,确保每个变量修改后都执行保存操作。

常见问题排查:

1. 提示信息不显示:检查QFunction-0.txt文件格式,确认无多余空格或换行,标识[@KillDeathMsg]、[@Kill]、[@Death]是否正确,变量名称是否拼写错误,颜色代码是否在1-255区间。

2. 脚本冲突导致功能失效:删除重复的触发标识,将杀人和被杀脚本移至文件末尾,提升脚本优先级,重启引擎后重新测试。

3. 变量不生效:确认变量使用%包裹,引擎版本是否支持该变量(部分旧版本不支持%MAPNAME等地图变量),替换为基础变量(如仅保留%USERNAME、%TARGETNAME)后测试。

4. 提示范围异常:检查SETMSGRANGE参数,0为全服,1-99为地图编号,若设置为地图编号需确认地图编号与MapInfo.txt中一致,避免编号错误导致范围异常。

七、进阶功能配置(可选)

击杀排行榜同步:添加“INC Q7 RankKill 1”命令统计总击杀数,配合RankList.txt文件实现排行榜显示,在RankList.txt中添加“击杀榜:%Q7.RankKill (%USERNAME)”,通过@排行榜命令调用显示,需确保RankList.txt与QFunction-0.txt变量前缀一致。

特殊称号触发:设置击杀达到指定次数触发称号,示例为“#IF CHECKVAR Q7 KillCount >= 100 #ACT ADDTITLE 杀戮战神 #SAVEVAR”,通过ADDTITLE命令添加称号,称号名称可自定义,需提前在称号配置文件中添加对应称号信息。

跨地图提示差异化:针对高危PK地图设置特殊提示,示例为“#IF MAPNAME 猪洞七层 #SAY 【高危击杀】%USERNAME 在猪洞七层击杀 %TARGETNAME ,斩获稀有掉落! #ACT SETMSGCOLOR 255”(255为红色代码),通过地图判断实现颜色与内容差异化,提升玩法氛围。