传奇怪物攻城脚本添加的核心是实现“触发机制-怪物刷新-奖励结算”的完整逻辑,需匹配服务器引擎特性与游戏版本节奏。本文覆盖Gee、GOM等主流引擎,详解定时触发、手动开启、波次刷新等核心功能的添加方法,附适配代码与避坑要点。
一、添加前核心准备:引擎适配与工具清单
怪物攻城脚本的稳定性依赖引擎匹配与前期环境搭建,不同引擎的脚本指令、文件路径差异显著,前期准备直接决定添加成功率。
1.引擎识别与核心差异
通过服务器核心文件可快速识别引擎类型,核心差异集中在脚本存放路径与刷新指令,具体对应关系如下:
引擎类型
核心文件
脚本存放路径
核心刷新指令
Gee引擎
GeeM2.exe
Mir200/Envir/QuestDiary/
MOBPLACE怪物名数量地图坐标范围
GOM引擎
GOMM2.exe
Mir200/Envir/Function/
SpawnMonster地图坐标X坐标Y怪物名数量
BLUE引擎
BlueM2.exe
Mir200/Envir/Script/
MonCreate怪物名数量地图X1Y1X2Y2
例如同样刷新10只沃玛教主至比奇城,Gee引擎用“MOBPLACE沃玛教主10比奇城320330350360”,GOM引擎则需改为“SpawnMonster比奇城335345沃玛教主10”,指令错配会导致怪物无法刷新。
2.必备工具与环境配置
基础工具清单:
-脚本编辑器:推荐Notepad++,开启“显示所有字符”功能,避免空格或换行符导致脚本解析错误。
-怪物数据库工具:用于确认怪物名称(如“沃玛教主”而非“沃玛教”),路径为“Mir200/Envir/Monster.txt”。
-测试账号:需具备GM权限,方便快速触发脚本验证效果,GM权限可通过“@GM”指令激活(部分引擎需在引擎设置中开启)。
环境配置核心步骤:1.关闭引擎“脚本加密”功能(Gee引擎在“参数设置-脚本安全”中取消勾选);2.备份对应路径下的默认脚本,避免覆盖原有功能;3.将游戏客户端设置为窗口模式,便于同步观察怪物刷新效果。
二、核心脚本添加:触发机制与波次刷新实现
怪物攻城脚本的核心是触发机制(定时/手动)与波次刷新逻辑,以下以主流Gee引擎为例,详解完整添加流程,其他引擎可对应替换指令。
1.定时触发脚本:固定时间自动开启
定时触发适合固定活动(如每周六晚开启),需通过机器人脚本设置时间触发点,搭配攻城主脚本实现怪物刷新与公告提示。
添加步骤:
1.设置时间触发点:打开“Mir200/Envir/Robot_def/AutoRunRobot.txt”,添加定时指令,示例:
#AutoRunNPCRunOnDay19:00@MonsterSiegeStart
该指令表示每周六19:00自动触发“@MonsterSiegeStart”标签对应的脚本。
2.编写攻城主脚本:在“QuestDiary”目录新建“MonsterSiege.txt”,写入核心逻辑,实现全服公告、场景切换与第一波怪物刷新。
//怪物攻城定时触发主脚本(Gee引擎)
(@MonsterSiegeStart)
#ACT
//全服红字公告(5秒内连续发送3次)
SendMsg025500【怪物攻城】活动已开启!大量BOSS入侵比奇城,击杀可获稀有装备!
Delay1000
SendMsg025500【怪物攻城】活动已开启!大量BOSS入侵比奇城,击杀可获稀有装备!
Delay1000
SendMsg025500【怪物攻城】活动已开启!大量BOSS入侵比奇城,击杀可获稀有装备!
//设置全局变量标记攻城状态(1为开启,0为关闭)
MOVG01
//传送所有在线玩家至比奇城安全区
MapMoveAll比奇城335345
//触发第一波怪物刷新
GotoWave1
//第一波怪物刷新(普通小怪)
(@Wave1)
#ACT
SendMsg5【攻城波次】第一波怪物已刷新!清理小怪可获大量金币!
//在比奇城320-350330-360坐标范围内刷新20只半兽勇士
MOBPLACE半兽勇士20比奇城320330350360
//5分钟后触发第二波刷新
SetScTimer1300
#ELSEACT
SendMsg5攻城活动未开启,无法触发波次刷新!
//第二波怪物刷新(精英怪)
(@OnTimer1)
#ACT
KillScTimer1//关闭当前定时器
SendMsg5【攻城波次】第二波精英怪已刷新!掉落高级技能书!
MOBPLACE沃玛卫士15比奇城310320360370
SetScTimer2300//5分钟后触发第三波
//第三波怪物刷新(BOSS)
(@OnTimer2)
#ACT
KillScTimer2
SendMsg02552550【攻城警报】终极BOSS沃玛教主已刷新!掉落屠龙级装备!
MOBPLACE沃玛教主3比奇城330340340350//皇宫附近刷新3只BOSS
SetScTimer3600//10分钟后结束攻城
//攻城结束脚本
(@OnTimer3)
#ACT
KillScTimer3
MOVG00//重置攻城状态
SendMsg002550【怪物攻城】活动结束!感谢参与,未击杀BOSS已自动清除!
ClearMapMonster比奇城//清除比奇城所有活动怪物
2.手动触发脚本:GM指令与NPC开启
手动触发适合灵活加开活动,分为GM指令触发与NPC对话触发两种方式,核心是通过命令或交互激活攻城脚本。
GM指令触发添加步骤:
1.打开“Mir200/Envir/UserCmd.txt”,添加指令映射:
@开启攻城10
“10”为指令编号,需与脚本标签对应。
2.在“MonsterSiege.txt”中添加对应标签,直接复用定时脚本的核心逻辑:
//GM手动触发攻城脚本(Gee引擎)
(@usercmd10)//编号与UserCmd.txt中保持一致
#IF
CheckAdmin1//仅1级GM可触发(0为普通玩家,1为初级GM,10为超级GM)
#ACT
GotoMonsterSiegeStart//跳转到定时脚本的主逻辑
#ELSE
#SAY
无权限执行该命令,请联系GM开启活动。\
<返回/@main>
NPC对话触发添加步骤:在“QuestDiary”目录新建“SiegeNPC.txt”,编写NPC对话逻辑,玩家点击即可申请开启(需GM确认):
//怪物攻城NPC脚本(Gee引擎)
(@main)
#SAY
<COLOR=clRed怪物攻城活动申请><BR>
当前活动状态:<$STR(G0)>(1=开启,0=关闭)<BR>
<申请开启攻城/@ApplyStart><活动奖励说明/@RewardIntro>
(@ApplyStart)
#IF
EqualG00//攻城未开启
#ACT
SendMsg0255255255【攻城申请】玩家[$USERNAME]已申请开启怪物攻城,GM可通过@开启攻城指令响应!
#ELSE
#SAY
当前攻城活动已开启,请勿重复申请。\
<返回/@main>
(@RewardIntro)
#SAY
<COLOR=clGreen击杀奖励:><BR>
半兽勇士:金币10万/只<BR>
沃玛卫士:高级技能书<BR>
沃玛教主:屠龙刀、裁决之杖等稀有装备<BR>
<返回/@main>
3.掉落奖励脚本:击杀反馈与全服播报
奖励脚本需绑定至怪物死亡事件,实现击杀奖励发放与全服播报,提升玩家参与动力,添加步骤需关联怪物数据库。
//攻城怪物死亡奖励脚本(Gee引擎)
(@SiegeMonsterDie)
#ACT
//识别怪物类型发放对应奖励
#IF
CheckMonName半兽勇士
#ACT
GiveGold100000//发放10万金币
SendMsg5击杀半兽勇士,获得10万金币奖励!
#ELSEIF
CheckMonName沃玛卫士
#ACT
RandomItem高级技能书1//随机发放1本高级技能书
SendMsg5击杀沃玛卫士,获得高级技能书1本!
#ELSEIF
CheckMonName沃玛教主
#ACT
GiveItem屠龙刀1Bind//发放绑定屠龙刀
SendBroadMsg255【神器出世】玩家[$USERNAME]击杀沃玛教主,获得屠龙刀!
#ELSE
#ACT
GiveGold50000
绑定步骤:打开“Monster.txt”,找到“沃玛教主”等攻城怪物条目,在“死亡脚本”栏填写“@SiegeMonsterDie”,保存后重启引擎即可生效。
三、脚本配置与触发:引擎设置与效果验证
脚本编写完成后需进行引擎配置与效果测试,确保触发稳定、怪物刷新正常,核心是路径配置与权限设置。
1.脚本路径与引擎加载
-Gee引擎:将“MonsterSiege.txt”“SiegeNPC.txt”放入“QuestDiary”目录,在引擎“脚本管理”中点击“重读脚本”,无需重启引擎。
-GOM引擎:脚本需放入“Function”目录,命名为“QFunction-0.txt”(若已存在则追加内容),在引擎“功能设置-脚本设置”中勾选“自动加载脚本”。
2.效果验证核心步骤
1.状态检测:GM登录游戏,输入“@查看变量G0”,若显示“0”则攻城未开启,符合预期。
2.触发测试:输入“@开启攻城”,观察是否收到全服公告,比奇城是否刷新怪物。
3.奖励验证:击杀一只半兽勇士,检查背包金币是否增加10万,确保奖励脚本生效。
4.结束测试:等待10分钟(或手动输入“@结束攻城”),确认怪物是否清除,变量G0是否重置为0。
四、常见问题解决:脚本失效与刷新异常
1.脚本无响应:路径与指令问题
表现:触发指令后无公告、无怪物刷新,排查步骤:
-路径检查:确认脚本文件放在对应引擎的指定目录,如GOM引擎误放“QuestDiary”会导致失效。
-标签校验:GM指令触发的脚本标签“@usercmd10”需与“UserCmd.txt”中的编号一致,遗漏或错写会导致命令无效。
-引擎日志:打开引擎“日志管理-脚本日志”,查看是否有“指令不存在”提示,针对性修改指令格式(如GOM引擎将“MOBPLACE”改为“SpawnMonster”)。
2.怪物刷新异常:坐标与权限问题
表现:怪物集中在某点或无法刷新,解决方法:
-坐标范围:确保刷新坐标在地图内(如比奇城坐标范围通常为300-380300-380),超出范围会导致怪物刷新在地图外。
-怪物名称:与“Monster.txt”中的名称完全一致,如“沃玛教主”不可简写为“沃玛教”,否则无法识别。
-权限设置:GM指令触发需确保账号权限等级足够,在“Mir200/Envir/AdminList.txt”中确认账号前缀为“1”(初级GM)及以上。
3.奖励发放异常:脚本绑定问题
表现:击杀怪物无奖励,排查步骤:1.检查怪物数据库中“死亡脚本”栏是否填写“@SiegeMonsterDie”;2.脚本中“CheckMonName”后的怪物名称与数据库一致;3.确认“GiveGold”“GiveItem”等指令格式正确(如GOM引擎为“AddGold”)。
五、脚本优化与扩展:多地图与个性化设置
基础脚本可扩展多地图攻城(如同时入侵比奇城与盟重省),只需在刷新指令中添加多地图坐标;个性化设置方面,可增加攻城积分系统(击杀怪物累计积分兑换道具),核心是通过变量记录积分(如U1为个人积分,G1为全服积分排行)。
//积分系统扩展(Gee引擎)
(@SiegeMonsterDie)
#ACT
MOVU1<$STR(U1)+1>//个人积分+1
MOVG1<$STR(G1)+1>//全服总积分+1
#IF
CheckMonName沃玛教主
#ACT
MOVU1<$STR(U1)+10>//BOSS积分额外+10
SendMsg5击杀沃玛教主,获得11点攻城积分!
一、添加前核心准备:引擎适配与工具清单
怪物攻城脚本的稳定性依赖引擎匹配与前期环境搭建,不同引擎的脚本指令、文件路径差异显著,前期准备直接决定添加成功率。
1.引擎识别与核心差异
通过服务器核心文件可快速识别引擎类型,核心差异集中在脚本存放路径与刷新指令,具体对应关系如下:
引擎类型
核心文件
脚本存放路径
核心刷新指令
Gee引擎
GeeM2.exe
Mir200/Envir/QuestDiary/
MOBPLACE怪物名数量地图坐标范围
GOM引擎
GOMM2.exe
Mir200/Envir/Function/
SpawnMonster地图坐标X坐标Y怪物名数量
BLUE引擎
BlueM2.exe
Mir200/Envir/Script/
MonCreate怪物名数量地图X1Y1X2Y2
例如同样刷新10只沃玛教主至比奇城,Gee引擎用“MOBPLACE沃玛教主10比奇城320330350360”,GOM引擎则需改为“SpawnMonster比奇城335345沃玛教主10”,指令错配会导致怪物无法刷新。
2.必备工具与环境配置
基础工具清单:
-脚本编辑器:推荐Notepad++,开启“显示所有字符”功能,避免空格或换行符导致脚本解析错误。
-怪物数据库工具:用于确认怪物名称(如“沃玛教主”而非“沃玛教”),路径为“Mir200/Envir/Monster.txt”。
-测试账号:需具备GM权限,方便快速触发脚本验证效果,GM权限可通过“@GM”指令激活(部分引擎需在引擎设置中开启)。
环境配置核心步骤:1.关闭引擎“脚本加密”功能(Gee引擎在“参数设置-脚本安全”中取消勾选);2.备份对应路径下的默认脚本,避免覆盖原有功能;3.将游戏客户端设置为窗口模式,便于同步观察怪物刷新效果。
二、核心脚本添加:触发机制与波次刷新实现
怪物攻城脚本的核心是触发机制(定时/手动)与波次刷新逻辑,以下以主流Gee引擎为例,详解完整添加流程,其他引擎可对应替换指令。
1.定时触发脚本:固定时间自动开启
定时触发适合固定活动(如每周六晚开启),需通过机器人脚本设置时间触发点,搭配攻城主脚本实现怪物刷新与公告提示。
添加步骤:
1.设置时间触发点:打开“Mir200/Envir/Robot_def/AutoRunRobot.txt”,添加定时指令,示例:
#AutoRunNPCRunOnDay19:00@MonsterSiegeStart
该指令表示每周六19:00自动触发“@MonsterSiegeStart”标签对应的脚本。
2.编写攻城主脚本:在“QuestDiary”目录新建“MonsterSiege.txt”,写入核心逻辑,实现全服公告、场景切换与第一波怪物刷新。
//怪物攻城定时触发主脚本(Gee引擎)
(@MonsterSiegeStart)
#ACT
//全服红字公告(5秒内连续发送3次)
SendMsg025500【怪物攻城】活动已开启!大量BOSS入侵比奇城,击杀可获稀有装备!
Delay1000
SendMsg025500【怪物攻城】活动已开启!大量BOSS入侵比奇城,击杀可获稀有装备!
Delay1000
SendMsg025500【怪物攻城】活动已开启!大量BOSS入侵比奇城,击杀可获稀有装备!
//设置全局变量标记攻城状态(1为开启,0为关闭)
MOVG01
//传送所有在线玩家至比奇城安全区
MapMoveAll比奇城335345
//触发第一波怪物刷新
GotoWave1
//第一波怪物刷新(普通小怪)
(@Wave1)
#ACT
SendMsg5【攻城波次】第一波怪物已刷新!清理小怪可获大量金币!
//在比奇城320-350330-360坐标范围内刷新20只半兽勇士
MOBPLACE半兽勇士20比奇城320330350360
//5分钟后触发第二波刷新
SetScTimer1300
#ELSEACT
SendMsg5攻城活动未开启,无法触发波次刷新!
//第二波怪物刷新(精英怪)
(@OnTimer1)
#ACT
KillScTimer1//关闭当前定时器
SendMsg5【攻城波次】第二波精英怪已刷新!掉落高级技能书!
MOBPLACE沃玛卫士15比奇城310320360370
SetScTimer2300//5分钟后触发第三波
//第三波怪物刷新(BOSS)
(@OnTimer2)
#ACT
KillScTimer2
SendMsg02552550【攻城警报】终极BOSS沃玛教主已刷新!掉落屠龙级装备!
MOBPLACE沃玛教主3比奇城330340340350//皇宫附近刷新3只BOSS
SetScTimer3600//10分钟后结束攻城
//攻城结束脚本
(@OnTimer3)
#ACT
KillScTimer3
MOVG00//重置攻城状态
SendMsg002550【怪物攻城】活动结束!感谢参与,未击杀BOSS已自动清除!
ClearMapMonster比奇城//清除比奇城所有活动怪物
2.手动触发脚本:GM指令与NPC开启
手动触发适合灵活加开活动,分为GM指令触发与NPC对话触发两种方式,核心是通过命令或交互激活攻城脚本。
GM指令触发添加步骤:
1.打开“Mir200/Envir/UserCmd.txt”,添加指令映射:
@开启攻城10
“10”为指令编号,需与脚本标签对应。
2.在“MonsterSiege.txt”中添加对应标签,直接复用定时脚本的核心逻辑:
//GM手动触发攻城脚本(Gee引擎)
(@usercmd10)//编号与UserCmd.txt中保持一致
#IF
CheckAdmin1//仅1级GM可触发(0为普通玩家,1为初级GM,10为超级GM)
#ACT
GotoMonsterSiegeStart//跳转到定时脚本的主逻辑
#ELSE
#SAY
无权限执行该命令,请联系GM开启活动。\
<返回/@main>
NPC对话触发添加步骤:在“QuestDiary”目录新建“SiegeNPC.txt”,编写NPC对话逻辑,玩家点击即可申请开启(需GM确认):
//怪物攻城NPC脚本(Gee引擎)
(@main)
#SAY
<COLOR=clRed怪物攻城活动申请><BR>
当前活动状态:<$STR(G0)>(1=开启,0=关闭)<BR>
<申请开启攻城/@ApplyStart><活动奖励说明/@RewardIntro>
(@ApplyStart)
#IF
EqualG00//攻城未开启
#ACT
SendMsg0255255255【攻城申请】玩家[$USERNAME]已申请开启怪物攻城,GM可通过@开启攻城指令响应!
#ELSE
#SAY
当前攻城活动已开启,请勿重复申请。\
<返回/@main>
(@RewardIntro)
#SAY
<COLOR=clGreen击杀奖励:><BR>
半兽勇士:金币10万/只<BR>
沃玛卫士:高级技能书<BR>
沃玛教主:屠龙刀、裁决之杖等稀有装备<BR>
<返回/@main>
3.掉落奖励脚本:击杀反馈与全服播报
奖励脚本需绑定至怪物死亡事件,实现击杀奖励发放与全服播报,提升玩家参与动力,添加步骤需关联怪物数据库。
//攻城怪物死亡奖励脚本(Gee引擎)
(@SiegeMonsterDie)
#ACT
//识别怪物类型发放对应奖励
#IF
CheckMonName半兽勇士
#ACT
GiveGold100000//发放10万金币
SendMsg5击杀半兽勇士,获得10万金币奖励!
#ELSEIF
CheckMonName沃玛卫士
#ACT
RandomItem高级技能书1//随机发放1本高级技能书
SendMsg5击杀沃玛卫士,获得高级技能书1本!
#ELSEIF
CheckMonName沃玛教主
#ACT
GiveItem屠龙刀1Bind//发放绑定屠龙刀
SendBroadMsg255【神器出世】玩家[$USERNAME]击杀沃玛教主,获得屠龙刀!
#ELSE
#ACT
GiveGold50000
绑定步骤:打开“Monster.txt”,找到“沃玛教主”等攻城怪物条目,在“死亡脚本”栏填写“@SiegeMonsterDie”,保存后重启引擎即可生效。
三、脚本配置与触发:引擎设置与效果验证
脚本编写完成后需进行引擎配置与效果测试,确保触发稳定、怪物刷新正常,核心是路径配置与权限设置。
1.脚本路径与引擎加载
-Gee引擎:将“MonsterSiege.txt”“SiegeNPC.txt”放入“QuestDiary”目录,在引擎“脚本管理”中点击“重读脚本”,无需重启引擎。
-GOM引擎:脚本需放入“Function”目录,命名为“QFunction-0.txt”(若已存在则追加内容),在引擎“功能设置-脚本设置”中勾选“自动加载脚本”。
2.效果验证核心步骤
1.状态检测:GM登录游戏,输入“@查看变量G0”,若显示“0”则攻城未开启,符合预期。
2.触发测试:输入“@开启攻城”,观察是否收到全服公告,比奇城是否刷新怪物。
3.奖励验证:击杀一只半兽勇士,检查背包金币是否增加10万,确保奖励脚本生效。
4.结束测试:等待10分钟(或手动输入“@结束攻城”),确认怪物是否清除,变量G0是否重置为0。
四、常见问题解决:脚本失效与刷新异常
1.脚本无响应:路径与指令问题
表现:触发指令后无公告、无怪物刷新,排查步骤:
-路径检查:确认脚本文件放在对应引擎的指定目录,如GOM引擎误放“QuestDiary”会导致失效。
-标签校验:GM指令触发的脚本标签“@usercmd10”需与“UserCmd.txt”中的编号一致,遗漏或错写会导致命令无效。
-引擎日志:打开引擎“日志管理-脚本日志”,查看是否有“指令不存在”提示,针对性修改指令格式(如GOM引擎将“MOBPLACE”改为“SpawnMonster”)。
2.怪物刷新异常:坐标与权限问题
表现:怪物集中在某点或无法刷新,解决方法:
-坐标范围:确保刷新坐标在地图内(如比奇城坐标范围通常为300-380300-380),超出范围会导致怪物刷新在地图外。
-怪物名称:与“Monster.txt”中的名称完全一致,如“沃玛教主”不可简写为“沃玛教”,否则无法识别。
-权限设置:GM指令触发需确保账号权限等级足够,在“Mir200/Envir/AdminList.txt”中确认账号前缀为“1”(初级GM)及以上。
3.奖励发放异常:脚本绑定问题
表现:击杀怪物无奖励,排查步骤:1.检查怪物数据库中“死亡脚本”栏是否填写“@SiegeMonsterDie”;2.脚本中“CheckMonName”后的怪物名称与数据库一致;3.确认“GiveGold”“GiveItem”等指令格式正确(如GOM引擎为“AddGold”)。
五、脚本优化与扩展:多地图与个性化设置
基础脚本可扩展多地图攻城(如同时入侵比奇城与盟重省),只需在刷新指令中添加多地图坐标;个性化设置方面,可增加攻城积分系统(击杀怪物累计积分兑换道具),核心是通过变量记录积分(如U1为个人积分,G1为全服积分排行)。
//积分系统扩展(Gee引擎)
(@SiegeMonsterDie)
#ACT
MOVU1<$STR(U1)+1>//个人积分+1
MOVG1<$STR(G1)+1>//全服总积分+1
#IF
CheckMonName沃玛教主
#ACT
MOVU1<$STR(U1)+10>//BOSS积分额外+10
SendMsg5击杀沃玛教主,获得11点攻城积分!

