脚本设置前置核心要点
装备掉落左侧提示脚本核心是通过触发命令调用界面显示功能,需先确认游戏引擎(Hero、GOM、Blue),不同引擎命令语法、显示参数存在差异,需针对性编写。提前备份脚本文件,设置失败可恢复初始状态,避免影响游戏正常运行。
确保脚本与游戏版本兼容,需调用的核心文件包括QFunction-0.txt、MapQuest_def.txt及引擎配置文件,部分引擎需开启界面显示权限,在引擎控制器中勾选“允许自定义提示显示”选项,保障脚本生效。
分引擎脚本设置步骤
Hero引擎(最通用版本)
1. 打开QFunction-0.txt文件,新增[@ItemDrop]触发段,该触发为装备掉落核心触发点,用于检测物品掉落并执行提示命令:
[@ItemDrop]
#IF
CHECKITEMTYPE 装备 // 仅对装备触发提示,排除杂物
#ACT
SENDMSG 1 【装备掉落】<$ITEMNAME> 已掉落至当前地图 // 1代表左侧显示通道
SETMAPVAR DropItemName <$ITEMNAME> // 记录掉落装备名称
SETMAPVAR DropMapX <$MAPX> // 记录掉落X坐标
SETMAPVAR DropMapY <$MAPY> // 记录掉落Y坐标
2. 若需显示坐标信息,补充提示命令,调整文字颜色与格式,Hero引擎支持尖括号颜色标识,例如红色为<R>、黄色为<Y>:
#ACT
SENDMSG 1 <R>【稀有装备】<Y><$ITEMNAME><W> 掉落坐标:(<$MAPX>,<$MAPY>)
3. 高阶设置:区分装备品级显示不同提示,通过CHECKITEMLEVEL命令筛选装备等级,高阶装备显示特殊提示:
[@ItemDrop]
#IF
CHECKITEMTYPE 装备
CHECKITEMLEVEL > 30 // 30级以上为高阶装备
#ACT
SENDMSG 1 <R>【高阶装备】<G><$ITEMNAME><W> 掉落,速去拾取!
#ELSEACT
SENDMSG 1 <Y>【普通装备】<$ITEMNAME> 已掉落
GOM引擎设置要点
1. GOM引擎需在MapQuest_def.txt中设置地图触发,打开文件后找到对应地图编号段落,添加以下内容,确保全地图生效或指定地图生效:
MapQuest Map001 // Map001为新手村地图编号,可替换为ALL代表全地图
Begin
OnItemDrop
#IF
True
#ACT
ShowNotice 1 0 2000 【装备掉落】<$ITEMNAME> 已刷新 // 1为左侧显示,2000为显示时长(毫秒)
End
2. 颜色设置与Hero引擎不同,GOM需通过颜色代码设置,例如红色代码为255,0,0,黄色为255,255,0,补充颜色参数:
ShowNotice 1 0 2000 【装备掉落】[255,255,0]<$ITEMNAME>[255,255,255] 已刷新
Blue引擎设置细则
1. Blue引擎无MapVAR变量,需使用S变量记录信息,打开QFunction-0.txt,新增[@OnItemDrop]触发段,语法格式如下:
[@OnItemDrop]
#IF
CHECKITEMTYPE 武器 // 仅武器触发提示,可改为装备覆盖全品类
#ACT
SAVEVAR S DropItem <$ITEMNAME> ..\QuestDiary\DropLog.txt
SENDMSG LEFT 【武器掉落】<$ITEMNAME> 已掉落 // LEFT直接指定左侧显示
2. Blue引擎需添加内存声明命令,确保变量生效,在脚本开头补充:
VAR STRING S DropItem // 声明S变量存储掉落装备名称
脚本参数自定义配置
提示内容与时长设置
1. 提示内容优化:可添加装备属性、品级标识,例如结合CHECKITEMQUALITY命令区分普通、精良、稀有装备,自定义提示文案:
#IF
CHECKITEMQUALITY 3 // 3代表稀有品级
#ACT
SENDMSG 1 <R>【稀有装备】<$ITEMNAME> 掉落,附带特殊属性!
2. 显示时长调整:Hero引擎无默认时长,需搭配定时器关闭提示;GOM引擎通过ShowNotice命令最后一位参数设置,单位为毫秒,建议设置2000-5000,避免提示过快消失或占用界面。
范围与权限控制
1. 限定拾取范围提示:仅当角色距离掉落点一定范围内显示提示,添加坐标检测命令:
#IF
CHECKDISTANCE <$MAPX> <$MAPY> 5 // 5为距离范围,单位为格
#ACT
SENDMSG 1 【附近掉落】<$ITEMNAME> 距离你5格内
2. 角色权限过滤:仅管理员或指定权限角色显示全地图掉落提示,普通玩家仅显示附近掉落,添加权限检测:
#IF
CHECKADMIN 1 // 1为管理员权限等级
#ACT
SENDMSG 1 【全图掉落】<$MAPNAME> 出现 <$ITEMNAME>
#ELSEACT
CHECKDISTANCE <$MAPX> <$MAPY> 8
SENDMSG 1 【附近掉落】<$ITEMNAME> 已刷新
脚本调试与常见问题排查
1. 提示不显示:核对触发段名称是否正确,Hero/GOM为[@ItemDrop],Blue为[@OnItemDrop];检查引擎权限是否开启,部分引擎默认关闭自定义提示,需在控制器中手动启用。
2. 显示位置错误:确认SENDMSG命令通道参数,1或LEFT代表左侧,避免误设为2(右侧)、3(顶部);GOM引擎ShowNotice首参数需设为1,确保左侧显示。
3. 变量失效:Hero/GOM检查MapVAR变量书写格式,Blue引擎需提前声明S变量,无声明则无法存储和读取装备名称、坐标信息。
4. 颜色显示异常:Hero/GOM检查尖括号颜色标识或颜色代码,Blue引擎需用单词标识颜色(如Red、Yellow),替换对应参数即可修复。
5. 部分装备无提示:检查CHECKITEMTYPE命令参数,确保涵盖所需装备类型,避免仅设置武器而遗漏首饰、防具。
实操关键技巧
1. 分步测试:先设置基础提示功能,确保装备掉落时左侧正常显示文字,再逐步添加颜色、坐标、品级区分等进阶设置,降低调试难度。
2. 格式规范:#IF、#ACT、#ELSEACT需单独成行,命令参数与符号间无多余空格,装备名称占位符<$ITEMNAME>不可遗漏,否则提示显示异常。
3. 多地图适配:全地图生效可将MapQuest地图编号改为ALL,指定地图生效需核对地图编号,可通过游戏内/@map命令查看当前地图编号。
4. 日志备份:设置脚本后开启掉落日志记录,将装备名称、坐标、时间保存至文本文件,便于核对脚本执行情况,排查异常问题。

