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

传奇脚本教程入门基础语法与常用命令详解

热度:
编写传奇脚本不需要具备编程基础,它本质上是一种结构化的配置文件,通过固定的命令格式和参数来定义游戏内各种功能。掌握这套规则后,你就可以自己修改NPC对话、添加新地图传送,甚至设计一套完整的活动玩法。

**一、脚本文件的存放位置**

所有脚本文件都放在服务端的Mir200\Envir目录下,不同类型的脚本存放位置不同。NPC脚本存放在Market_Def文件夹中,文件名格式为“NPC名字-地图代码.txt”,例如“盟重传送员-3.txt”表示盟重省地图上的传送员NPC。登录脚本QManage.txt和功能脚本QFunction-0.txt直接放在Envir根目录下,这两个文件控制角色登录触发和各类事件响应。地图配置文件MapInfo.txt、怪物爆率文件MonItems文件夹也都在Envir目录下,修改前最好先备份原文件。

**二、脚本的基本结构**

一段完整的脚本由头部和功能段两部分组成。头部用方括号括起来,表示一个功能段的入口标签。最常见的头部是[@main],这是NPC默认执行的主段。下面看一个最简单的NPC对话脚本:

```
[@main]
你好,欢迎来到迷失大陆。\
我可以帮你进行转生操作。\
<开始转生/@zhuan>
<查看条件/@tiaojian>

[@zhuan]
#IF
CHECKLEVELEX>199
#ACT
RENEWLEVEL1
SENDMSG6恭喜你完成转生!
#ELSESAY
你的等级不足200级,无法转生。\
```

方括号里的[@main]、[@zhuan]是段标签,井号开头的#IF、#ACT、#ELSESAY是执行流程控制命令,尖括号括起来的内容是玩家可点击的按钮。

**三、核心命令分类**

脚本命令按功能可以分为几类:

判断命令(#IF段使用):
-CHECKLEVELEX数值:检测等级是否大于等于指定值
-CHECKGAMEGOLD数值:检测元宝数量
-CHECKITEM物品名数量:检测背包中是否有指定物品
-CHECKBAGSIZE数量:检测背包空格数

执行命令(#ACT段使用):
-GIVE物品名数量:给予物品
-TAKE物品名数量:回收物品
-GAMEGOLD+数值:增加元宝
-MAP地图代码:传送玩家到指定地图
-SENDMSG颜色编号文字内容:发送系统广播
-RENEWLEVEL次数:执行转生

流程控制命令:
-BREAK:结束当前执行,不再向下继续
-CLOSE:关闭NPC对话窗口
-GOTO@标签:跳转到指定段继续执行

**四、变量系统的使用**

变量是脚本中用来存储和传递数据的工具,分为不同作用范围:
-G变量(全局数字变量):0-999,所有玩家共享,适合记录全区活动状态
-M变量(个人数字变量):0-999,每个玩家独立,适合记录个人任务进度
-S变量(个人字符变量):0-999,存储文字内容,适合保存玩家名字或输入信息

变量的赋值和比较方式:
```
#IF
CHECK[100]0检测个人标记100是否为0(未完成)
#ACT
SET[100]1将个人标记100设为1(已完成)
INCG101将全局变量G10增加1
MOVM5100将个人变量M5设为100
```

**五、条件判断的写法**

#IF段可以同时放置多个条件,每个条件单独占一行,多个条件之间是“与”的关系,所有条件必须同时满足才会执行#ACT段:
```
#IF
CHECKLEVELEX>100
CHECKGAMEGOLD>10000
CHECKITEM转生石5
#ACT
TAKE转生石5
GAMEGOLD-10000
RENEWLEVEL1
SENDMSG6转生成功!
#ELSESAY
条件不满足,请检查等级、元宝和材料。\
```

**六、NPC对话中的排版技巧**

对话框里的文字排版直接影响玩家阅读体验。换行用“\”表示,每个“\”后面的内容会另起一行。按钮文本用尖括号包起来,竖线隔开显示文本和跳转标签,中间不留空格:
```
<前往挑战/@go_dz>按钮显示“前往挑战”,点击跳转到@go_dz段
<关闭/@exit>点击后关闭对话框
```
颜色代码可以给文字着色,格式为{文字内容=颜色代码},颜色代码用0-255的数字表示,常见的有红色249、绿色250、蓝色251、黄色252。

**七、完整的脚本编写流程**

第一步:在Market_Def目录下新建一个文本文件,命名格式为“NPC名字-地图代码.txt”。
第二步:在MerChant.txt文件中注册这个NPC,格式为“NPC名字地图代码X坐标Y坐标NPC外观代码操作标记”。
第三步:打开新建的脚本文件,从[@main]开始编写对话内容和功能逻辑。
第四步:保存文件,在M2Server上点击“控制→重新加载→重新加载NPC脚本”,即可在游戏中测试新NPC的功能。

**八、常见错误与规避**

脚本报错绝大多数来源于三种情况:命令拼写错误、括号引号使用了全角符号、跳转标签不存在。养成一个习惯:每次写完一段脚本,先用M2的加载功能测试,不要一次性写几百行后再调试。变量值溢出的问题也要留个心眼,G变量和M变量的范围是0-999,超出会报错或产生异常数据。
[顶部]