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

传奇杀怪任务脚本写法(NPC接取-交任务全流程)

热度:
传奇杀怪任务脚本核心是实现“NPC接取-杀怪计数-交任务领奖”闭环,依赖变量记录进度,适配QuestDiary.txt或QManage.txt文件,新手可按固定框架快速编写。

核心前提:必备指令与文件选择

一、杀怪任务专属指令(必记)

1.SET变量名数值:定义任务变量,记录杀怪进度,如SETKILLCOUNT0(初始化杀怪计数为0)。

2.CHECKVAR变量名比较符数值:判断变量值,如CHECKVARKILLCOUNT>=10(检查杀怪数≥10)。

3.CHANGEEXP+数值:发放经验奖励,如CHANGEEXP+5000(奖励5000经验)。

4.MAPMOVE地图IDXY:传送玩家至指定地图,可选用于引导杀怪区域。

5.CLEARVAR变量名:清除任务变量,重置任务状态,方便重复接取。

二、文件选择建议

1.新手首选QManage.txt:全局通用文件,编写简单杀怪任务无需复杂配置,重启服务端即可生效。

2.复杂任务用QuestDiary.txt:适合多阶段杀怪任务,支持任务列表显示,需配合NPC配置文件关联。

提示:无论选择哪个文件,编写前务必备份原文件,避免覆盖原有脚本。

脚本核心框架(三段式闭环)

杀怪任务脚本分三部分,对应接取、杀怪、交任务三个环节,逻辑连贯且格式固定,可直接套用修改。

第一部分:NPC接取任务(初始化变量)

核心功能:判断玩家是否满足接取条件(等级),同意后初始化杀怪变量、提示任务目标,可选传送至杀怪区域。

基础格式:

(@主线杀怪任务)//任务段落标识,可自定义命名

#IF//接取条件:等级门槛

CHECKLEVELEX>=15

#ACT//同意接取后操作

SETKILLCOUNT0//初始化杀怪计数变量

SENDMSG5已接取【杀怪任务】,前往野外击杀10只狼!//任务提示

MAPMOVE0300300//可选:传送至比奇野外(地图ID0)

#ELSE//不满足条件提示

SENDMSG5等级不足15级,无法接取该任务!

第二部分:杀怪计数(变量累加)

核心功能:玩家击杀目标怪物后,自动累加变量值,实时提示进度,达成目标后告知可交任务。

基础格式:

(@杀怪计数)//需绑定怪物死亡触发

#IF//判断是否为任务目标怪物、是否已接任务

CHECKMONNAME狼//目标怪物名称,需与服务端一致

CHECKVARKILLCOUNT<10//未达成目标

#ACT//累加计数并提示

SETKILLCOUNT+1//杀怪数+1

SENDMSG5已击杀狼{KILLCOUNT}/10只,继续努力!//显示当前进度

#IF//达成目标后提示

CHECKVARKILLCOUNT==10

#ACT

SENDMSG5任务目标达成5回找NPC提交任务领取奖励!

第三部分:交任务领奖(变量清零)

核心功能:判断玩家杀怪数是否达标,达标后发放经验、物品奖励,清零变量重置任务状态。

基础格式:

(@提交杀怪任务)

#IF//任务达标条件

CHECKVARKILLCOUNT>=10

#ACT//发放奖励并重置

CHANGEEXP+5000//奖励5000经验

ADDITEM小红药10//奖励10瓶小红药

ADDGOLD2000//奖励2000金币

CLEARVARKILLCOUNT//清零变量,可重复接取

SENDMSG5任务提交成功!获得经验5000、小红药10瓶、金币2000!

#ELSE//未达标提示

SENDMSG5尚未击杀足够数量的狼,无法提交任务!

完整实操案例(可直接复制使用)

需求:NPC“任务使者”处接取任务,等级≥15级可接,击杀10只狼后返回交任务,奖励5000经验、10瓶小红药、2000金币。

脚本代码(写入QManage.txt):

(@main)//NPC主对话界面

#SAY

欢迎来到任务中心!\//换行符号,游戏内显示换行

<接取杀怪任务/@主线杀怪任务>\//可点击选项,跳转接任落

<提交杀怪任务/@提交杀怪任务>//可点击选项,跳转提交段落

(@主线杀怪任务)

#IF

CHECKLEVELEX>=15

#ACT

SETKILLCOUNT0

SENDMSG5已接取【杀怪任务】,前往野外击杀10只狼!

MAPMOVE0300300

#ELSE

SENDMSG5等级不足15级,无法接取该任务!

(@杀怪计数)

#IF

CHECKMONNAME狼

CHECKVARKILLCOUNT<10

#ACT

SETKILLCOUNT+1

SENDMSG5已击杀狼{KILLCOUNT}/10只,继续努力!

#IF

CHECKVARKILLCOUNT==10

#ACT

SENDMSG5任务目标达成5回找任务使者提交任务领取奖励!

(@提交杀怪任务)

#IF

CHECKVARKILLCOUNT>=10

#ACT

CHANGEEXP+5000

ADDITEM小红药10

ADDGOLD2000

CLEARVARKILLCOUNT

SENDMSG5任务提交成功!获得对应奖励,可再次接取任务!

#ELSE

SENDMSG5尚未击杀足够数量的狼,无法提交任务!

NPC配置与脚本生效步骤

第一步:配置NPC显示。打开服务端Envir文件夹下的Merchant.txt,添加NPC信息:任务使者0320320010,代表NPC“任务使者”出现在比奇(地图ID0)320:320坐标,形象代码1。

第二步:绑定杀怪触发。将(@杀怪计数)段落绑定至狼的死亡脚本,打开Envir\MapQuest_def文件夹,找到对应怪物脚本文件,添加触发语句:ONDEATH@杀怪计数。

第三步:保存与生效。保存QManage.txt及NPC配置文件,重启游戏服务端,登录游戏即可在对应坐标找到NPC接取任务。

常见问题及解决方法

1.杀怪不计数:核对CHECKMONNAME后的怪物名称,需与服务端Skills.txt中怪物名称完全一致,避免中文错别字;检查杀怪计数段落是否绑定正确。

2.无法提交任务:确认变量名统一(如均为KILLCOUNT),无拼写错误;检查CLEARVAR指令是否遗漏,变量未清零会导致重复接取异常。

3.NPC不显示:核对Merchant.txt中NPC信息格式,地图ID、坐标需正确,形象代码需在有效范围(0-46)内,添加后可使用@reloadnpc指令刷新。

4.奖励不发放:检查CHANGEEXP、ADDITEM指令参数,经验数值需为正数,物品名称需与服务端Item.txt中内置标识一致,不可用中文显示名替代。

进阶优化技巧(新手可逐步尝试)

1.限制接取次数:添加CHECKDAYCOUNT指令,如CHECKDAYCOUNT1,设置每日仅可接取1次,提升任务稀缺性。

2.多怪物目标:在杀怪计数段落添加多个CHECKMONNAME语句,支持击杀多种怪物完成任务,适配复杂场景。

3.动态奖励:根据玩家等级调整经验奖励,如CHANGEEXP+{LEVEL}*100,让奖励随等级增长,提升合理性。
[顶部]