一、核心触发方式及适用场景
燃放烟花进地图脚本核心通过检测烟花道具使用、燃放动作触发地图传送,主流分为两种模式:NPC交互触发(需手动对话)、道具使用直接触发(自动燃放传送),适配不同玩法需求,兼容GOM、HERO等主流引擎。
适用场景包括焰火屠魔、专属活动地图、隐藏地图解锁等,可按需求设置烟花数量、等级门槛、燃放后效果等条件,实现精准管控地图进入权限。
二、脚本核心命令及作用说明
1.道具检测命令
-CHECKITEM物品ID数量:检测玩家背包内指定ID的烟花道具是否满足数量要求,烟花ID需对应服务端数据库(如普通烟花ID=5001,高级烟花ID=5002)。
-DELITEM物品ID数量:燃放烟花后扣除对应数量道具,作为进入地图的消耗,需与检测命令中的数量保持一致。
2.传送及燃放效果命令
-MAPMOVE地图编号X坐标Y坐标:核心传送命令,燃放成功后将玩家传送至指定地图及坐标,地图编号需查询服务端地图列表。
-PLAYSOUND音效路径:触发燃放音效,增强沉浸感,音效文件放入服务端Sound目录,路径格式如“Sound/Firework.wav”。
-SENDMSG颜色代码提示文本:弹出燃放及传送提示,常用颜色代码253(绿色,成功)、252(紫色,失败),告知玩家操作结果。
3.辅助条件命令
-CHECKLEVELEX>=等级:设置等级门槛,仅达到指定等级玩家可燃放烟花进地图,避免低等级玩家进入。
-CHECKTIMER计时器编号:设置冷却时间,限制玩家重复进入频率,如每日仅可进入1次。
三、两种主流脚本实现方案(可直接嵌入)
方案一:NPC交互触发(焰火屠魔专属)
通过与指定NPC对话,消耗烟花进入专属地图,支持多档位烟花对应不同地图,核心代码如下:
//脚本路径:D:\Mirserver\Mir200\Envir\Market_Def\焰火NPC.txt
[main]
<SCOLOR=253>欢迎参与焰火屠魔活动!消耗对应烟花即可进入专属地图。</SCOLOR>
<SCOLOR=245>【普通焰火(3个)-低级地图】/@NormalFire</SCOLOR>
<SCOLOR=245>【高级焰火(1个)-高级地图】/@AdvancedFire</SCOLOR>
[@NormalFire]
#IF
CHECKLEVELEX>=37//等级门槛37级
CHECKITEM50013//检测3个普通烟花(ID=5001)
#ACT
DELITEM50013//扣除3个普通烟花
MAPMOVE101120130//传送至低级焰火地图(编号101,坐标120130)
PLAYSOUNDSound/Firework1.wav
SENDMSG253燃放普通焰火成功,已传送至低级活动地图!
#ELSEACT
SENDMSG252等级不足37级或普通烟花数量不够,无法进入!
[@AdvancedFire]
#IF
CHECKLEVELEX>=45
CHECKITEM50021//检测1个高级烟花(ID=5002)
#ACT
DELITEM50021
MAPMOVE102150150//传送至高级焰火地图(编号102,坐标150150)
PLAYSOUNDSound/Firework2.wav
SENDMSG253燃放高级焰火成功,已传送至高级活动地图!
#ELSEACT
SENDMSG252等级不足45级或高级烟花数量不够,无法进入!
方案二:道具使用直接触发(自动燃放传送)
玩家使用烟花道具后自动燃放并传送,无需NPC交互,适配隐藏地图解锁,核心代码如下:
//脚本路径:D:\Mirserver\Mir200\Envir\QuestDiary\烟花触发.txt
[@UseItem5001]//使用普通烟花(ID=5001)时触发
#IF
CHECKLEVELEX>=30
#ACT
MAPMOVE103100100//传送至隐藏地图(编号103)
PLAYSOUNDSound/Firework1.wav
SENDMSG253普通烟花燃放成功,开启隐藏地图入口!
#ELSEACT
SENDMSG252等级不足30级,无法燃放该烟花解锁地图!
[@UseItem5002]//使用高级烟花(ID=5002)时触发
#IF
CHECKLEVELEX>=50
#ACT
MAPMOVE104180180//传送至高阶隐藏地图(编号104)
PLAYSOUNDSound/Firework2.wav
SENDMSG253高级烟花燃放成功,已传送至高阶地图!
#ELSEACT
SENDMSG252等级不足50级,无法燃放高级烟花!
四、脚本适配与挂载方法
1.基础适配调整
物品ID适配:替换脚本中“5001”“5002”为服务端实际烟花道具ID,可通过服务端数据库或Envir/Item.txt查询确认。
地图参数适配:修改“MAPMOVE”后的地图编号及坐标,确保对应地图已在服务端开启,坐标需避开障碍物及怪物刷新点。
条件调整:按需增减等级门槛、烟花数量,添加冷却时间(如SETTIMER186400设置24小时冷却),优化玩法管控。
2.脚本挂载步骤
第一步:按对应路径创建脚本文件(如焰火NPC.txt、烟花触发.txt),复制代码粘贴并保存,使用记事本或Notepad编辑,避免格式错乱。
第二步:NPC交互脚本需关联NPC,在Envir/Npc_def/Npcs.txt中添加NPC配置,绑定脚本路径及对话触发。
第三步:道具触发脚本需确保[@UseItemXX]标识正确,XX为烟花道具ID,保存后重启服务端,或通过M2引擎“重载功能脚本”快速生效。
五、常见问题及排查方案
1.燃放烟花后不传送
排查1:烟花ID错误,核对服务端道具ID与脚本一致,避免因ID不匹配导致检测失败;排查2:地图编号无效,确认地图已添加至服务端,且未被隐藏或关闭;排查3:坐标超出范围,调整“MAPMOVE”后的坐标至地图有效区域。
2.道具不扣除或提示不足
排查1:检测与扣除数量不一致,确保“CHECKITEM”与“DELITEM”后的数量相同;排查2:玩家背包内存在绑定烟花,脚本默认检测非绑定道具,需添加绑定道具检测命令(如CHECKBINDITEM)。
3.无燃放音效或提示
排查1:音效文件路径错误,确认音效文件放入指定目录,路径与脚本中“PLAYSOUND”参数一致;排查2:颜色代码错误,确保“SENDMSG”后的颜色代码在0-255范围内,推荐使用253、252等常用代码。
4.引擎适配异常
排查1:HERO引擎需将道具触发脚本放入Envir/Npc_def目录,而非QuestDiary;排查2:GOM引擎需在Setup.ini中开启道具使用触发权限,避免脚本被拦截。
六、补充优化技巧
1.多烟花组合触发:设置多种烟花组合燃放规则,如1个高级烟花+2个普通烟花进入终极地图,通过叠加CHECKITEM命令实现。
2.燃放视觉效果:添加屏幕闪光效果命令(如SCREENFLASH2552552551),配合音效提升燃放体验。
3.地图时长限制:进入地图后添加计时命令(如MAPTIMER1011800),设置30分钟停留时间,超时自动传送出地图。
燃放烟花进地图脚本核心通过检测烟花道具使用、燃放动作触发地图传送,主流分为两种模式:NPC交互触发(需手动对话)、道具使用直接触发(自动燃放传送),适配不同玩法需求,兼容GOM、HERO等主流引擎。
适用场景包括焰火屠魔、专属活动地图、隐藏地图解锁等,可按需求设置烟花数量、等级门槛、燃放后效果等条件,实现精准管控地图进入权限。
二、脚本核心命令及作用说明
1.道具检测命令
-CHECKITEM物品ID数量:检测玩家背包内指定ID的烟花道具是否满足数量要求,烟花ID需对应服务端数据库(如普通烟花ID=5001,高级烟花ID=5002)。
-DELITEM物品ID数量:燃放烟花后扣除对应数量道具,作为进入地图的消耗,需与检测命令中的数量保持一致。
2.传送及燃放效果命令
-MAPMOVE地图编号X坐标Y坐标:核心传送命令,燃放成功后将玩家传送至指定地图及坐标,地图编号需查询服务端地图列表。
-PLAYSOUND音效路径:触发燃放音效,增强沉浸感,音效文件放入服务端Sound目录,路径格式如“Sound/Firework.wav”。
-SENDMSG颜色代码提示文本:弹出燃放及传送提示,常用颜色代码253(绿色,成功)、252(紫色,失败),告知玩家操作结果。
3.辅助条件命令
-CHECKLEVELEX>=等级:设置等级门槛,仅达到指定等级玩家可燃放烟花进地图,避免低等级玩家进入。
-CHECKTIMER计时器编号:设置冷却时间,限制玩家重复进入频率,如每日仅可进入1次。
三、两种主流脚本实现方案(可直接嵌入)
方案一:NPC交互触发(焰火屠魔专属)
通过与指定NPC对话,消耗烟花进入专属地图,支持多档位烟花对应不同地图,核心代码如下:
//脚本路径:D:\Mirserver\Mir200\Envir\Market_Def\焰火NPC.txt
[main]
<SCOLOR=253>欢迎参与焰火屠魔活动!消耗对应烟花即可进入专属地图。</SCOLOR>
<SCOLOR=245>【普通焰火(3个)-低级地图】/@NormalFire</SCOLOR>
<SCOLOR=245>【高级焰火(1个)-高级地图】/@AdvancedFire</SCOLOR>
[@NormalFire]
#IF
CHECKLEVELEX>=37//等级门槛37级
CHECKITEM50013//检测3个普通烟花(ID=5001)
#ACT
DELITEM50013//扣除3个普通烟花
MAPMOVE101120130//传送至低级焰火地图(编号101,坐标120130)
PLAYSOUNDSound/Firework1.wav
SENDMSG253燃放普通焰火成功,已传送至低级活动地图!
#ELSEACT
SENDMSG252等级不足37级或普通烟花数量不够,无法进入!
[@AdvancedFire]
#IF
CHECKLEVELEX>=45
CHECKITEM50021//检测1个高级烟花(ID=5002)
#ACT
DELITEM50021
MAPMOVE102150150//传送至高级焰火地图(编号102,坐标150150)
PLAYSOUNDSound/Firework2.wav
SENDMSG253燃放高级焰火成功,已传送至高级活动地图!
#ELSEACT
SENDMSG252等级不足45级或高级烟花数量不够,无法进入!
方案二:道具使用直接触发(自动燃放传送)
玩家使用烟花道具后自动燃放并传送,无需NPC交互,适配隐藏地图解锁,核心代码如下:
//脚本路径:D:\Mirserver\Mir200\Envir\QuestDiary\烟花触发.txt
[@UseItem5001]//使用普通烟花(ID=5001)时触发
#IF
CHECKLEVELEX>=30
#ACT
MAPMOVE103100100//传送至隐藏地图(编号103)
PLAYSOUNDSound/Firework1.wav
SENDMSG253普通烟花燃放成功,开启隐藏地图入口!
#ELSEACT
SENDMSG252等级不足30级,无法燃放该烟花解锁地图!
[@UseItem5002]//使用高级烟花(ID=5002)时触发
#IF
CHECKLEVELEX>=50
#ACT
MAPMOVE104180180//传送至高阶隐藏地图(编号104)
PLAYSOUNDSound/Firework2.wav
SENDMSG253高级烟花燃放成功,已传送至高阶地图!
#ELSEACT
SENDMSG252等级不足50级,无法燃放高级烟花!
四、脚本适配与挂载方法
1.基础适配调整
物品ID适配:替换脚本中“5001”“5002”为服务端实际烟花道具ID,可通过服务端数据库或Envir/Item.txt查询确认。
地图参数适配:修改“MAPMOVE”后的地图编号及坐标,确保对应地图已在服务端开启,坐标需避开障碍物及怪物刷新点。
条件调整:按需增减等级门槛、烟花数量,添加冷却时间(如SETTIMER186400设置24小时冷却),优化玩法管控。
2.脚本挂载步骤
第一步:按对应路径创建脚本文件(如焰火NPC.txt、烟花触发.txt),复制代码粘贴并保存,使用记事本或Notepad编辑,避免格式错乱。
第二步:NPC交互脚本需关联NPC,在Envir/Npc_def/Npcs.txt中添加NPC配置,绑定脚本路径及对话触发。
第三步:道具触发脚本需确保[@UseItemXX]标识正确,XX为烟花道具ID,保存后重启服务端,或通过M2引擎“重载功能脚本”快速生效。
五、常见问题及排查方案
1.燃放烟花后不传送
排查1:烟花ID错误,核对服务端道具ID与脚本一致,避免因ID不匹配导致检测失败;排查2:地图编号无效,确认地图已添加至服务端,且未被隐藏或关闭;排查3:坐标超出范围,调整“MAPMOVE”后的坐标至地图有效区域。
2.道具不扣除或提示不足
排查1:检测与扣除数量不一致,确保“CHECKITEM”与“DELITEM”后的数量相同;排查2:玩家背包内存在绑定烟花,脚本默认检测非绑定道具,需添加绑定道具检测命令(如CHECKBINDITEM)。
3.无燃放音效或提示
排查1:音效文件路径错误,确认音效文件放入指定目录,路径与脚本中“PLAYSOUND”参数一致;排查2:颜色代码错误,确保“SENDMSG”后的颜色代码在0-255范围内,推荐使用253、252等常用代码。
4.引擎适配异常
排查1:HERO引擎需将道具触发脚本放入Envir/Npc_def目录,而非QuestDiary;排查2:GOM引擎需在Setup.ini中开启道具使用触发权限,避免脚本被拦截。
六、补充优化技巧
1.多烟花组合触发:设置多种烟花组合燃放规则,如1个高级烟花+2个普通烟花进入终极地图,通过叠加CHECKITEM命令实现。
2.燃放视觉效果:添加屏幕闪光效果命令(如SCREENFLASH2552552551),配合音效提升燃放体验。
3.地图时长限制:进入地图后添加计时命令(如MAPTIMER1011800),设置30分钟停留时间,超时自动传送出地图。

