传奇怪物攻城脚本添加核心是完成脚本编写、文件放置、参数配置及测试调试,适配主流传奇引擎,无需专业编程基础,按步骤操作即可成功添加,支持玩家申请触发、GM手动触发及定时自动触发三种模式,以下是完整添加流程、脚本编写示例及常见问题解决。
添加怪物攻城脚本前,需准备基础工具及文件,确保操作顺利。首先准备正规文本编辑器(如记事本、Notepad++),用于编写和修改脚本文件,保存时需将编码设置为ANSI,避免出现乱码导致脚本无法读取。其次确认传奇服务器安装路径,核心路径为D:\mirserver\Mir200\Envir,该目录下的Npcs.txt、Npc_def文件夹、QuestDiary文件夹是脚本添加的关键位置,需提前找到对应路径,避免后续操作出错。最后确认服务器所使用的引擎类型(如GOM、HERO、BLUE),不同引擎脚本命令略有差异,需针对性调整,确保脚本适配。
第一步:添加怪物攻城触发NPC,用于触发攻城脚本,分为玩家申请触发和GM手动触发两种NPC,可根据需求选择添加,操作步骤如下:打开服务器路径D:\mirserver\Mir200\Envir,找到Npcs.txt文件,用文本编辑器打开,在文件末尾添加NPC参数,格式为“怪物攻城申请人 0 3 340 340 0 14”,其中“怪物攻城申请人”为NPC名称,可自行修改,“340 340”为NPC所在地图坐标(可根据需求调整为土城、沙巴克等地图),“3”为地图编号(3对应土城),其他参数保持默认即可。
NPC参数添加完成后,打开D:\mirserver\Mir200\Envir\Npc_def文件夹,新建一个txt文档,文档名称格式为“怪物攻城申请人-3.txt”(“怪物攻城申请人”需与Npcs.txt中设置的NPC名称一致,“3”为对应地图编号),该文档用于编写NPC触发脚本,是玩家申请或GM触发攻城的核心文件。
第二步:编写NPC触发脚本,根据触发模式编写对应内容,支持玩家等级限制、金币消耗、怪物类型选择等功能,以下是通用脚本示例,可直接复制修改使用。玩家申请触发脚本示例:(@main)#IF checklevel 45 #SAY 你想申请怪物攻城??\你可以查看可以召唤何种<怪物/@spawnlist>攻城?每只怪物需消耗100W金币!!\#ELSESAY 你等级没有45,无法申请怪物攻城。
继续编写怪物选择及数量选择脚本,添加到上述txt文档中:(@spawnlist)#SAY 你可选择以下攻城怪物,每只100W金币,谨慎选择:\ <攻城将军/@jiangjun> <攻城教主/@jiaozhu> <攻城骷髅/@kulou> <攻城钳虫/@qianchong> <攻城蛇王/@shewang>。(@jiangjun)#SAY 选择攻城将军数量(每只100W金币):<1只/@jiangjun_1> <3只/@jiangjun_3> <5只/@jiangjun_5> <7只/@jiangjun_7>。
编写怪物召唤执行脚本,添加数量判断、金币扣除及怪物刷新命令:(@jiangjun_1)#IF checkgold 1000000 #ACT take 金币 1000000 Param1 3 Param2 330 Param3 330 MonGen 攻城将军 1 1 close #ELSESAY 你金币不足,无法召唤1只攻城将军!\ <取消/@exit>。(@jiangjun_3)#IF checkgold 3000000 #ACT take 金币 3000000 Param1 3 Param2 330 Param3 330 MonGen 攻城将军 1 3 close #ELSESAY 你金币不足,无法召唤3只攻城将军!\ <取消/@exit>。
按照上述格式,依次编写攻城教主、攻城骷髅等其他怪物的数量选择及召唤脚本,可根据需求调整怪物名称、消耗金币数量及召唤数量。若需设置GM手动触发脚本,可在同一txt文档中添加:(@GM攻城触发)#IF checkgm #SAY GM手动触发怪物攻城,请选择怪物类型:<攻城将军(10只)/@gm_jiangjun10> <攻城教主(8只)/@gm_jiaozhu8> #ACT mov P0 0 #IF equal P0 1 #ACT Param1 3 Param2 330 Param3 330 MonGen 攻城将军 1 10 sendmsg 6 全服通知:GM触发攻城将军攻城,各位玩家做好准备! close #ELSEIF equal P0 2 #ACT Param1 3 Param2 330 Param3 330 MonGen 攻城教主 1 8 sendmsg 6 全服通知:GM触发攻城教主攻城,各位玩家做好准备! close #ELSEACT close。
第三步:编写怪物攻城核心脚本,实现怪物集中刷新、自动攻击目标、攻城结束判定等功能,需在D:\mirserver\Mir200\Envir\QuestDiary文件夹中新建“怪物攻城”文件夹,在该文件夹内新建txt文档,命名为“攻城核心脚本.txt”,编写核心脚本内容。
核心脚本基础内容:(@MobMission)#IF #ACT MISSION 3 330 330 Param1 360 Param2 340 Param3 10 Param4 5 MOBPLACE 攻城将军 MOBPLACE 攻城教主 。其中MISSION命令用于设置怪物集中位置,“3 330 330”为怪物集中地图及坐标,Param1、Param2为怪物刷新坐标,Param3为刷新数量,Param4为刷新范围,MOBPLACE命令用于设置刷新的怪物名称,可添加多个MOBPLACE命令,实现多种怪物同时攻城。
补充攻城脚本逻辑,添加怪物攻击模式、攻城时长及结束判定:#ACT ChangeAttatckMode 0 ,该命令设置怪物为全体攻击模式,主动攻击玩家及城市建筑;TimeRecall 30 ,设置攻城时长为30分钟,可自行调整时长;BreakTimeRecall ,用于手动终止攻城;set (101) 1 ,标记攻城启动,set (101) 0 ,标记攻城结束。
添加攻城结束处理脚本,确保攻城结束后清理剩余怪物:(@攻城结束)#IF check (101) 1 BreakTimeRecall #ACT MonClear 攻城将军 MonClear 攻城教主 sendmsg 6 全服通知:怪物攻城结束,感谢各位玩家参与! set (101) 0 close 。其中MonClear命令用于清除指定类型的怪物,避免攻城结束后怪物残留影响游戏正常运行。
第四步:添加定时自动触发脚本,无需手动操作,到点自动启动怪物攻城,适合定期举办攻城活动。打开D:\mirserver\Mir200\Envir\QuestDiary文件夹,找到“QManage.txt”文件,用文本编辑器打开,在文件末尾添加定时触发脚本:#IF HOUR 20 MINUTE 00 #ACT Param1 3 Param2 330 Param3 330 MonGen 攻城将军 1 15 MonGen 攻城教主 1 10 sendmsg 6 全服通知:定时怪物攻城启动,大量攻城怪物已刷新,快来参与! set (101) 1 TimeRecall 30 。
定时脚本参数说明:HOUR 20 MINUTE 00 表示每天20点00分自动触发攻城,可调整小时和分钟参数;MonGen 攻城将军 1 15 表示刷新15只攻城将军,可调整怪物名称和数量;TimeRecall 30 表示攻城时长30分钟,与核心脚本时长保持一致即可。若需设置每周固定时间触发,可添加星期判断命令,如#IF WEEK 6 HOUR 20 MINUTE 00 ,表示每周六20点触发。
第五步:脚本文件配置及服务器调试,确保脚本能够正常生效。所有脚本编写完成后,保存所有txt文档,关闭文本编辑器,返回服务器控制面板,先停止服务器,再重启服务器,让脚本文件被服务器正常读取。重启完成后,登录游戏,找到添加的“怪物攻城申请人”NPC,测试玩家申请触发功能,检查金币扣除、怪物刷新是否正常。
GM测试手动触发功能,登录GM账号,输入@GM攻城触发命令,查看是否能正常选择怪物类型、刷新怪物及发送全服通知。测试定时触发功能,可临时修改定时脚本的时间(如当前时间延后5分钟),等待时间到达,查看是否能自动触发攻城、怪物是否正常刷新。测试过程中,需检查怪物是否主动攻击、攻城时长是否正常、结束后怪物是否清理干净。
不同引擎脚本命令调整,确保脚本适配。GOM引擎:若怪物无法正常刷新,将MonGen命令替换为MobPlace命令,参数格式不变;HERO引擎:需在核心脚本开头添加#DEFINE 攻城脚本 1 ,确保脚本被识别;BLUE引擎:将TimeRecall命令替换为Delay 1800000 (1800000毫秒=30分钟),实现攻城时长控制。
脚本添加补充说明:怪物名称需与服务器怪物数据库中的名称一致,避免因名称错误导致怪物无法刷新,可在D:\mirserver\DBServer\Monster.txt文件中查看怪物名称;NPC坐标需设置在玩家容易找到的位置,如土城安全区附近,方便玩家申请;金币消耗数量、怪物数量、攻城时长可根据服务器玩法调整,满足不同需求。
若添加脚本后,NPC无法显示,检查Npcs.txt中NPC参数是否正确,确保地图编号、坐标无误,重启服务器后再次尝试;若怪物无法刷新,检查脚本中怪物名称是否正确、命令格式是否有误,可逐行核对脚本内容,修正语法错误;若攻城脚本无法触发,检查脚本文件存放路径是否正确,确保Npc_def文件夹中的脚本名称与Npcs.txt中NPC名称一致。
怪物攻城脚本优化技巧:可添加攻城奖励脚本,在攻城结束后,给参与攻城的玩家发放奖励,脚本示例:(@攻城奖励)#IF check (101) 0 #ACT give 金币 500000 give 疗伤药 10 sendmsg 6 恭喜你参与怪物攻城,获得参与奖励! close ,将该脚本添加到攻城结束脚本后,即可实现奖励发放。
可添加多波次攻城脚本,设置第一波刷新普通攻城怪物,第二波刷新精英攻城怪物,第三波刷新BOSS级攻城怪物,提升攻城趣味性。脚本示例:#ACT Param1 3 Param2 330 Param3 330 MonGen 攻城骷髅 1 20 Delay 300000 MonGen 攻城将军 1 15 Delay 300000 MonGen 攻城教主 1 5 ,其中Delay命令用于设置波次间隔(300000毫秒=5分钟)。
若服务器开启假人功能,可添加假人参与攻城脚本,让假人协助玩家抵御攻城怪物,脚本示例:#IF ISDUMMY #ACT ChangeAttatckMode 0 DUMMYSTART ,将该脚本添加到核心脚本中,假人会自动攻击攻城怪物,增强攻城氛围。假人相关配置需确保D:\mirserver\Mir200\Envir\DummyNameList.txt文件中添加假人名称,避免假人无法登录。
脚本添加完成后,可定期检查脚本运行状态,根据服务器玩家反馈调整参数,如增加怪物数量、延长攻城时长、调整奖励内容等。若游戏版本更新后,脚本出现失效,需检查脚本命令是否适配新版本引擎,及时修改脚本内容,确保怪物攻城功能正常使用。
常见脚本错误及解决方法:1. 脚本乱码:将脚本文件编码改为ANSI,重新保存后重启服务器;2. 怪物刷新后不攻击:检查ChangeAttatckMode命令是否添加,确保设置为0(全体攻击模式);3. 定时攻城不触发:检查QManage.txt中定时脚本格式是否正确,确保小时、分钟参数无误;4. GM无法触发攻城:检查checkgm命令是否正确,确认当前账号拥有GM权限;5. 攻城结束后怪物残留:检查MonClear命令是否添加,确保怪物名称与刷新的怪物名称一致。
此外,可将怪物攻城脚本与沙巴克攻城脚本关联,实现怪物攻城与沙巴克争夺联动,提升游戏可玩性。关联方法:在沙巴克攻城脚本中添加怪物攻城触发命令,当沙巴克攻城启动时,自动触发怪物攻城,脚本示例:#IF checkcastlewar 1 #ACT Param1 3 Param2 330 Param3 330 MonGen 攻城教主 1 10 sendmsg 6 沙巴克攻城启动,怪物攻城同步开启! 。

