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

单机传奇任务系统脚本编写与配置指南

热度:
在单机传奇中增加新任务,核心在于修改服务端目录下的两个关键配置文件:任务脚本文件(.txt)和任务配置文件(Missions.txt)。通过编写脚本逻辑和注册任务ID,即可实现任务的触发、追踪与奖励发放。

一、编写任务脚本文件

任务脚本通常存放在MirServerMir200EnvirMarket_Def目录下。你需要在此目录下新建一个文本文件,例如命名为任务使者-3.txt(-3代表该NPC所在的地图代码,如盟重土城)。

在文本中编写任务逻辑,一个基础的任务脚本结构如下:

[@main]
IF
CHECKMISSIONID101
ACT
SAY
你已经接取了【寻找铁矿】任务。\
请前往矿洞击杀10只僵尸,并收集10个黑铁矿石。\
<查看任务进度/@CheckProgress>\
<放弃任务/@AbandonMission>

ELSEACT
SAY
勇士,矿洞里的僵尸越来越猖狂了。\
你能帮我收集10个黑铁矿石吗?\
<接受任务/@AcceptMission>\
<离开/@exit>

[@AcceptMission]
IF
ACT
SETMISSION+1011
SENDMSG6成功接取任务【寻找铁矿】!
ELSEACT
SENDMSG6任务接取失败!

[@CheckProgress]
IF
CHECKITEM黑铁矿石10
ACT
SETMISSION^1012
SENDMSG6你已收集齐黑铁矿石,请回来找我交付!
ELSEACT
SENDMSG6你目前拥有的黑铁矿石数量不足,请继续收集。

[@AbandonMission]
IF
ACT
SETMISSION-101
SENDMSG6你已放弃任务【寻找铁矿】。

;任务交付逻辑(当任务步骤为2时触发)
[@main]
IF
CHECKMISSIONID2101
CHECKITEM黑铁矿石10
ACT
TAKE黑铁矿石10
GIVE金币50000
SETMISSION-101
SENDMSG6任务完成!你获得了50000金币的奖励。

核心命令解析:
CHECKMISSIONID101:检查玩家是否接取了ID为101的任务。
SETMISSION+1011:为玩家增加ID为101的任务,并设定当前步骤为1。
SETMISSION^1012:将ID为101的任务更新到第2步。
SETMISSION-101:删除ID为101的任务(通常用于任务完成或放弃)。
CHECKITEM黑铁矿石10:检查玩家背包中是否有10个黑铁矿石。
TAKE与GIVE:分别用于扣除和发放物品或货币。

二、注册任务配置文件

脚本写好后,还需要在服务端目录MirServerMir200下找到Missions.txt文件(如果没有则新建一个),将任务的基本信息注册进去。

在Missions.txt中添加以下内容:

;[类型(1=成长任务2=日常任务3=每日活动4=节日活动)-任务ID]任务标题
[1-101]寻找铁矿
步骤1:请前往矿洞击杀10只僵尸,并收集10个黑铁矿石。
步骤2:收集完毕,请返回盟重土城找任务使者交付。

配置解析:
[1-101]:代表这是一个成长任务(类型为1),任务ID为101。这个ID必须与脚本中的SETMISSION命令里的ID完全一致。
寻找铁矿:任务的名称。
步骤1、步骤2:对应脚本中SETMISSION设定的步骤数值,用于在任务面板中向玩家展示当前阶段的进度提示。

三、配置NPC坐标与刷新

完成上述两步后,还需要让NPC在游戏地图中显示出来。

打开MirServerMir200Envir目录下的MerChant.txt文件,在末尾添加一行配置代码:

任务使者3330330任务使者050

第1列:NPC名称(需与脚本文件名前缀一致)。
第2列:地图代码(3代表盟重土城)。
第3、4列:X和Y坐标(330330代表土城的具体位置)。
第5列:NPC代码(0代表铁匠形象,可根据需要替换为其他数字,如14代表天尊,46代表勇士等)。

完成所有修改并保存文件后,打开M2引擎控制器,点击“控制”->“重新加载”->“所有NPC”。进入游戏走到土城对应坐标,即可看到新增的任务NPC并进行交互。
[顶部]