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

传奇清除指定地图怪物脚本编写:含宝宝清除的完整教程

热度:
传奇中常需清除指定地图怪物(如活动前清场、清理挂机怪),且需连带清除玩家召唤的宝宝、诱惑的宠物及购买的随从。本文提供适配主流引擎的完整脚本,从编写逻辑到调用方法全解析,新手可直接复制修改使用。

核心认知:清除脚本的2个关键逻辑

清除脚本并非只杀“野怪”,需覆盖“系统怪物”和“玩家附属单位”两类目标,提前明确逻辑避免漏清或误杀。

-清除范围:系统刷新的怪物(如僵尸、野猪)+玩家召唤物(如战士英雄、法师诱惑的多多)+付费宝宝(如道士召唤的麒麟、购买的宠物);

-触发方式:支持“NPC对话触发”“命令触发”“定时自动触发”三种,可根据场景选择(如活动用NPC触发,日常清场用定时触发)。

前期准备:1分钟搞定工具与文件位置

脚本编写无需复杂工具,重点是找对存放文件,避免写好后无法调用。

1.必备工具

-文本编辑器:Notepad++(支持语法高亮,避免括号遗漏);

-地图编号查询:打开服务端“MapInfo.txt”(路径:服务端\Scripts),搜索地图名获取编号(如“比奇城”编号为3)。

2.脚本存放位置

核心脚本写在“QFunction-0.txt”(路径:服务端\Scripts),该文件是功能触发脚本的默认载体;若需NPC调用,需同步修改“QuestDiary.txt”(任务与NPC脚本文件)。

完整脚本:3类场景直接复用(含宝宝清除)

按“基础清场-带条件清场-定时清场”分类,均包含“杀怪物+杀宝宝”双逻辑,新手只需替换“地图编号”即可使用。

1.基础版:清除指定地图所有目标(新手首选)

作用:触发后立即清除目标地图的怪物和所有宝宝,无额外条件,适合临时清场。

//脚本核心功能:清除编号为10的地图(可替换为目标地图编号)所有怪物与宝宝
[@ClearMapMonster]//脚本触发入口名称,可自定义
#IF
//无前置条件,触发即执行(如需限制GM使用,可加CHECKADMIN命令)
#ACT
//第一步:清除地图内所有系统怪物(参数:地图编号0=清除所有怪物)
KILLMONSTER100
//第二步:清除地图内所有玩家召唤的宝宝(含诱惑、购买、英雄)
KILLPET100//参数:地图编号0=清除该地图所有玩家的宝宝
//第三步:发送系统提示告知玩家
SENDMSG6【地图清场】编号10的地图已清除所有怪物及宝宝!
SENDMSG1全服通知:编号10的地图已完成清场,可正常进入!
BREAK//结束脚本逻辑,避免冲突

修改说明:将“10”替换为目标地图编号(如比奇城3、蜈蚣洞15),直接复制到QFunction-0.txt末尾即可。

2.进阶版:带条件的清除脚本(防误触)

作用:添加“GM权限判断”“地图人数检测”,避免普通玩家误触发或清场时伤到活人,适合正式服使用。

[@ClearMapMonster_Advance]
#IF
CHECKADMIN1//仅GM权限(等级1及以上)可触发
CHECKMAPPLAYERS10<1//判定编号10的地图内玩家数<1(无人时才清场)
#ACT
KILLMONSTER100//清怪物
KILLPET100//清宝宝
SENDMSG6【GM操作】地图10清场完成,当前地图无玩家!
#ELSEACT
//不满足条件时提示原因
#IF
NOTCHECKADMIN1
SENDMSG6权限不足,仅GM可执行地图清场操作!
#ELSEIF
CHECKMAPPLAYERS10>=1
SENDMSG6地图10内仍有玩家(当前<$MAPPLAYERS(10)>人),请先通知离场!
#ENDIF

关键命令:CHECKMAPPLAYERS地图编号条件用于检测地图内玩家数量,避免清场时误杀玩家。

3.定时版:自动清除指定地图(无需手动触发)

作用:设置固定时间(如每天凌晨3点)自动清场,适合清理长期挂机怪,无需人工干预。

//第一步:在QManage.txt(登录脚本文件)添加定时触发
[@Login]
#IF
CHECKLEVELEX>0//任意玩家登录时初始化计时器
#ACT
SETTIMER自动清场86400//设置计时器:每86400秒(24小时)执行一次
GOTO@AutoClearMap//跳转至自动清场脚本

//第二步:在QFunction-0.txt添加清场逻辑
[@AutoClearMap]
#IF
//判定当前时间为凌晨3点(小时=3)
CHECKTIMEHOUR=3
#ACT
KILLMONSTER100//清地图10怪物
KILLPET100//清地图10宝宝
SENDMSG1全服通知:地图10已自动清场,保障次日玩法正常!
#ELSEACT
//未到时间则重新设置计时器
SETTIMER自动清场3600//每小时检测一次时间


时间调整:将“CHECKTIMEHOUR=3”中的3改为目标小时(如6=凌晨6点),86400秒可改为3600(每小时一次)适配高频清场需求。

脚本调用:2种触发方式(新手一看就会)

写好的脚本需通过“触发入口”调用,推荐两种最常用方式,覆盖手动和自动场景。

1.NPC对话触发(玩家/GM手动调用)

适合活动前由GM或玩家通过NPC触发清场,步骤如下:

1.打开QuestDiary.txt,添加以下NPC脚本(以“活动管理员”为例);

2.在游戏内刷新NPC(命令:@refreshnpc活动管理员),对话即可触发。
[顶部]