当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇装备掉落左侧提示脚本设置指南

热度:
在传奇版本中实现装备掉落时的左侧提示(滚动公告),核心是使用SENDMOVEMSG命令(GOM/GEE/翎风引擎)或SendTopChatBoardMsg(部分引擎),并配合@PickUpItemEx(捡取触发)或@StdModeFuncX(双击触发)事件。以下为详细设置方法。

一、GOM/GEE引擎:SENDMOVEMSG屏幕滚动公告

此命令专用于屏幕左侧的滚动提示,参数控制显示位置。

1.基础脚本(捡取即触发)
在QFunction-0.txt中写入以下内容,当玩家捡取任意物品时触发:
[@PickUpItemEx]
#if
;检测条件:仅对“屠龙”生效(避免垃圾刷屏)
EQUAL<$CURRTEMNAME>屠龙
#act
;SENDMOVEMSG模式字体色背景色Y坐标滚动次数内容
SENDMOVEMSG025003501恭喜玩家【%s】在【%m】地图获得了【<$CURRTEMNAME>】!

参数详解:
•模式0:全服广播(1为仅自己)。

•Y坐标350:控制提示在屏幕左侧的垂直位置(通常300-400为视野中央)。

-滚动次数1:滚动显示1次。
•%s:自动替换为玩家名,%m:自动替换为地图名。

2.指定物品ID精准触发(推荐)
为避免文本匹配错误,使用物品IDX编号触发更稳定。先在StdItems.DB中查好“屠龙”的IDX(假设为118)。
[@PickUpItem118]
#if
#act
SENDMOVEMSG025103602【全服喜报】%s刚刚爆出了神器【屠龙】!

此脚本仅当捡起IDX=118的物品时才会触发,不会误报。

二、其他引擎与替代方案

1.HERO/LEG引擎(老版)
老版引擎若无SENDMOVEMSG,可使用SendTopChatBoardMsg在聊天框顶部显示,效果类似左侧提示。
[@PickUpItem118]
#if
#act
SendTopChatBoardMsg0250010【%s】获得了【屠龙】!0


2.996/龙族引擎(手游方向)
部分新引擎支持SendCenterMsg配合坐标参数实现左侧固定位置显示。
[@PickUpItemEx]
#if
EQUAL<$CURRTEMNAME>屠龙
#act
SendCenterMsg2500【%s】捡到屠龙!05@Null0100300


三、高级应用:首爆奖励与防刷机制

1.首爆触发(仅第一次捡取提示)
结合全局变量,实现全服第一把屠龙才提示的逻辑。
[@PickUpItem118]
#if
;检测全局变量是否已标记(未标记则执行)
CHECKGLOBALVARG_First_TuLong=0
#act
;设置全局变量为1(已爆出)
SETGLOBALVARG_First_TuLong=1
;发送全服滚动公告
SENDMOVEMSG025303503【全服首爆】恭喜【%s】获得了本服第一把【屠龙】!
;发放首爆奖励
GAMEGOLD+50000


2.地图与怪物信息拼接
若需要显示“从XX怪物爆出”,需提前在怪物死亡或掉落触发时记录变量,或在公告中直接引用<$KILLMONNAME>(击杀怪名,部分引擎支持)。
SENDMOVEMSG025203501【%s】击杀了【<$KILLMONNAME>】,爆出了【<$CURRTEMNAME>】!


四、常见错误与排查

1.提示不显示:
◦检查QFunction-0.txt路径是否正确(Mir200\Envir\Market_Def)。

◦确认物品名称或IDX是否与数据库完全一致(区分大小写)。

◦检查M2是否开启了“过滤垃圾物品触发”选项(需关闭)。

2.位置偏移:SENDMOVEMSG的Y坐标参数需根据登录器分辨率调整。1920x1080分辨率下,350-400是居中位置;800x600分辨率下需调小。
3.刷屏卡顿:切勿在[@PickUpItemEx]中不加条件直接写SENDMOVEMSG,否则捡个金币都会弹公告,导致客户端卡顿。务必使用#if限制高级装备。

生效步骤:修改脚本后,在M2控制台点击“重载QF脚本”(ReloadQF),无需重启服务端。
[顶部]