1.76合击HeroM2传奇进阶:让打怪经验/物品提示'飘起来'!腐提示位置+颜色深度优化

来源: 作者: 点击:
上一篇文章解决了咱们1.76合击HeroM2传奇服里“打怪经验提示挤在聊天框”的痛点,通过修改脚本,成功让它移到了游戏画面左侧或上方滚动显示。问题看似解决了,但精益求精的GM和玩家们可能还会想:
提示文字颜色太单一?默认白字或者改了一种颜色,看久了单调,能不能让经验、金币、极品掉落提示有不同颜色?

想显示更多信息?除了基础经验,能不能同时显示获得的金币数,或者直接提示掉落的物品名称(比如“恭喜你杀死白野猪,获得2500点经验、5000金币!”“魔杖已掉落在身边!”)?

位置还能更灵活?想让不同的提示出现在屏幕不同区域?(比如经验在上方中间腐,极品提示在右侧醒目弹出)

效果太朴素?能不能让它更酷炫一点?(比如加个背景框或者边框?但注意,HeroM2引擎对此支持有限)

今天这篇进阶教程,就教你如何在实现“经验提示飘屏”的基础上,进行深度个性化定制,让你的提示系统更直观、更带感!

核心工具:依然是脚本+强大命令

跟上篇一样,核心思路是修改触发杀怪时的那段脚本([KillMon]段落)。这次我们要更精细地利用引擎提供的消息发送命令及其丰富的参数。

常用命令回顾与深化(适用于HeroM2及类似引擎)
SENDMOVEMSG(动态移动消息):

格式:SENDMOVEMSG模式类型颜色前景色背景色时间(毫秒)"提示文字"

参数详解(这是关键!):

模式(通常第1个参数):

0:消息从屏幕左上角开始逐行显示并向上滚动(类似公告牌,旧消息上移)。

1:消息从屏幕中间上方位置向上飘动飞出(经典的金币、经验获得飘字效果)。这个最常用也最直观。

2或3:部分引擎支持右侧或其他位置飞出(需测试你的引擎版本是否支持)。

类型(通常第2个参数):

0:普通提示消息。

1:部分引擎结合颜色参数定义的特殊效果(不常用)。

颜色(通常第3个参数):

文字颜色代码!这才是控制提示文字本身颜色的核心参数!HeroM2引擎使用0-255的数值代表不同颜色。

常用靓色:253(亮紫/粉红)254(亮橙)255(亮黄)249(淡绿)250(天蓝)252(金黄)

基础色:0(黑)1(深蓝)2(绿)3(浅蓝)4(红)5(紫)6(土黄)7(灰白)8(灰)9(蓝),14(更亮的黄),20(更亮的红)

强烈建议在游戏中用@TestColor命令测试你想要的准确颜色值!(有时255不是黄,而可能是254是黄)。

前景色(有时第4个参数):有些引擎定义这个为文字外发光之类的效果颜色(极少用,通常保持0或255)。某些版本也可能调整其位置含义,需测试。

背景色(有时第5个参数):HeroM2引擎基本不支持给这种腐提示文字添加实质性背景色块(非对话框形式)。此参数一般无效,保留0。

时间(通常靠后的参数如第4、5、6位):消息在屏幕上停留的毫秒数,1000毫秒=1秒。建议设置为2500(2.5秒)到4000(4秒)之间,太短看不清,太长碍眼。

提示文字:用双引号"包裹你自定义的提示内容。重要!要换行显示不同信息?不行,这条命令一次只能发一行消息!想显示多种信息?那就要多次调用此命令!
SENDTOPMSG/SENDTOPMSGBAR(顶部消息/顶部消息栏):

格式(简化):SENDTOPMSG"提示文字"颜色时间

效果:在屏幕最顶部(通常是正中间上方)横条区域显示一条消息,通常会覆盖旧消息(不滚动)。

优点:位置固定,适合做非常重要的公告类提示(比如触发了BOSS、行会事件)。

缺点:对于频繁出现的经验获取提示来说,容易刷屏挡住其他重要顶部信息(如任务提示),不是特别推荐用于打怪小提示。

格式(带条):SENDTOPMSGBAR类型背景色"提示文字"颜色时间

效果:在顶部区域显示一个带背景色条的消息(视觉效果更醒目)。

应用:更适合用于重要成就(如获得屠龙、开天、合击技能书等世界公告)、合击怒气值爆满提示或者大型活动倒计时。普通打怪提示用这个会过于“隆重”。

实战案例:打造“多彩+多信息”腐提示

假设我们想在玩家杀死怪物时同时显示:
经验值(用亮黄色,飘在中间靠上)

获得的金币数(用亮绿色,位置略微下移?其实命令控制位置能力有限,更多依赖模式1的自然错位)

如果掉落沃玛装备及以上(含祖玛、赤月、特殊)或者大药(大太阳、万年雪霜等),用醒目的粉红色单独弹出一条提示!

修改脚本(RobotManage.txt或对应[KillMon]脚本文件):

[KillMon]
IF

ACT
----------1.经验提示(亮黄色,255模式1飘字)----------

使用变量<$KILLMONEXP>获取本次杀怪经验

SENDMOVEMSG10255003000"恭喜杀死<KILLMONNAME>获得<KILLMONEXP>点经验!"
----------2.金币提示(亮绿色,249模式1飘字)----------

使用变量<$KILLMONGOLD>获取本次杀怪获得金币(部分引擎可能需自己定义金币变量)

注意:引擎默认可能不直接提供<$KILLMONGOLD>变量!这个脚本假设你服务端有类似功能或自己定义了此变量。

如果引擎不支持<$KILLMONGOLD>,你就需要自己写逻辑判断捡金币事件(用捡物触发@PickupItem),这里仅作效果演示。

SENDMOVEMSG10249003000"获得金币:<$KILLMONGOLD>!"
----------3.极品掉落提示----------

判断是否捡到了好东西(通常在捡物触发里做更准确,这里演示如何集成进杀怪触发假设你已捕获此物品)

#IFCheckTextList..\QuestDiary\极品物品列表.txt<$CURRTEMNAME>;假设有个列表定义了好东西

IF

CheckItemName<$CURRTEMNAME>"魔杖""炼狱""银蛇""幽灵项链""龙之戒指""骨玉权杖""裁决之杖""力量戒指""紫碧螺"...(列好你定义的重要物品)
或者CheckItemLevel>=3;假设你定义了物品等级(较复杂)

ACT
掉落极品提示(粉红253,醒目!)

SENDMOVEMSG10253005000"★★★恭喜获得【<$CURRTEMNAME>】!!!★★★"
配合声音(可选,增加气氛)

PlaySoundWav\GetItem.wav;假设Wav文件夹下有这个音效
----------4.合击版特色:怒气值提示----------

如果杀死一个怪获得大量怒气(比如10点以上),提示一下(天蓝色250)

IF

Large<IncAnger>9;假设<IncAnger>记录了本次杀怪涨的怒气值
ACT

SENDMOVEMSG10250002500"获得<$IncAnger>点怒气!"
触发合击技能满怒音效?(如果M2支持怒气触发脚本的话)

ELSEACT

;...其他触发逻辑...

BREAK

关键技巧与注意事项:
无法精确定位:HeroM2引擎的SENDMOVEMSG命令不能指定精确坐标(XY)!位置控制主要依赖“模式”参数(0左上角行滚动,1中间上飘)。想要多个提示错开?基本靠引擎在模式1下的“错落有致”效果,或者多次调用模式0形成滚动队列。

颜色测试是王道:颜色代码因引擎版本和客户端(如NewopUI.Pak)不同而可能差异巨大!务必在游戏内用@TestColorGM命令(需要GM权限)查看你服务端版本里0-255各个值对应的真实颜色。选好你喜欢的亮色。

金币变量可能需要自定义:HeroM2引擎通常没有直接获取“本次杀怪获得金币”的内置变量(<$KILLMONGOLD>)。这通常需要在捡物触发脚本(@PickupItem)里捕获捡起金币的行为来实现,然后在杀怪触发时关联。示例中的写法仅作效果展示。

极品判断需严谨:直接在[KillMon]里判断掉落物品(<$CURRTEMNAME>)只在某些特定触发点有效(比如鞭尸触发,但引擎默认不支持)!更可靠的方式是修改捡物触发脚本(@PickupItem),在那里判断捡起的物品是否属于“极品”,然后弹出提示。示例写法是为了演示集成思路。

分次调用命令:想显示多条独立信息(经验、金币、物品、怒气等),就必须分开写多条SENDMOVEMSG(或其他命令)。

避免刷屏:对于频繁出现的小怪经验提示,时间不宜过长(如3000毫秒=3秒)。重要提示(如顶级装备掉落)才可设置长点(如5000毫秒=5秒)。

备份与重启:改脚本→保存→重启服务端→上线测试!流程不能省。改动复杂时,最好改一处测一处。

背景与边框:HeroM2引擎自身不原生支持给SENDMOVEMSG产生的腐提示文字加背景框或边框。那些效果通常出现在对话框消息或者顶部消息栏(SENDTOPMSGBAR)上。如果你看到有的服有漂亮背景的飘字,很可能是通过修改引擎核心或封挂插件(如G盾、GK等)实现的,超出了标准脚本修改范畴。

总结:让你的提示系统活色生香

掌握了SENDMOVEMSG/SENDTOPMSG命令及其颜色参数、模式参数的灵活运用,结合服务端的变量提取和条件判断逻辑,你就可以:
让不同信息(经验、金币、怒气)穿上亮眼不同的外衣(颜色)飘飞在屏幕上方。

给极品装备、终极BOSS击杀提示配上夺目色彩甚至震撼音效,提升玩家的成就感。

将合击版特有的怒气系统提示也纳入腐体系,战斗节奏感更强。

虽然HeroM2原生功能有限,无法实现超高自由度的华丽UI,但通过这些脚本技巧的深度挖掘,已经足以打造出一个远超原版简陋聊天框提示的、生动直观的打怪反馈系统/手实践,让你的服拥有独特的提示魅力吧!
[顶部]