传奇脚本语法入门指南:基础命令到实战应用

来源: 作者: 点击:
一、传奇脚本是什么?

传奇脚本是用于控制《热血传奇》游戏内NPC(非玩家角色)行为和交互逻辑的编程语言。通过编写脚本,可以让NPC执行特定操作,比如对话、发放物品、传送玩家、触发任务等。脚本文件通常以 .txt 为后缀,存放在服务器的 Envir 文件夹中。

二、基础语法结构
段落与跳转

每个脚本以 [main] 开头,表示主程序段。

用 [@段名] 定义子段落,通过 goto @段名 跳转执行。

示例:


[main]
#say 欢迎来到我的商店!
goto @buy # 跳转到购买功能段落
[buy]
#say 请选择要购买的物品:

对话与操作命令

#say 文字:显示对话内容(无需引号)。

#act 命令:执行系统指令,如传送、刷怪等。

close:关闭对话框。

示例:


#say 金币不足,请充值!
close # 关闭对话

物品与金币管理

give 物品ID 数量:发放物品(如 give 2001 1 发放药水)。

take 物品ID 数量:收回物品。

give gold 数量:发放金币。

示例:


#act give 2001 1 # 给玩家一瓶药水
#act takegold 100 # 收取100金币

地图与传送控制

map 地图ID:传送到随机坐标(如 map 101)。

mapmove 地图ID X Y:传送到指定坐标(如 mapmove 101 30 50)。

monclear 地图ID:清除地图上的怪物。
时间与状态控制

TimeRecall 数值:设置限时(单位:分钟),超时后触发事件。

checklevel 数值:检测玩家等级是否≥数值。

checkgold 数值:检测玩家金币是否≥数值。

---

三、逻辑控制语句
条件判断

#IF 条件:满足条件时执行后续操作。

#ELSEACT:条件不满足时执行。

示例:


#IF checklevel 30
#say 恭喜达到30级!
#ELSEACT
#say 等级不足,继续努力!

变量操作

mov 变量名 数值:赋值(如 mov P0 10)。

inc 变量名 数值:增加变量值(如 inc P0 5)。

sum 变量A 变量B:变量相加(需先初始化变量)。
随机与概率

random 数值:生成随机数,常用于概率触发。

示例:


#IF random 3 # 30%概率触发
#act give 2001 1
#ELSEACT
#say 很遗憾,未触发!


---

四、实战案例

案例1:简单传送脚本

[main]
say 是否传送到安全区?

IF checkpkpoint 2 # 检测是否红名

say 红名无法传送!

ELSEACT

mapmove 101 100 100 # 传送到比奇城
say 传送成功!

close


案例2:抽奖脚本

[main]
say 消耗100金币抽奖!

IF checkgold 100

act takegold 100

random 10 # 生成1-10的随机数
IF random 1

act give 2001 10 # 10%概率得10瓶药水

ELSEACT

say 感谢参与!

ENDIF

close


---

五、注意事项
语法规范:命令区分大小写,变量名需唯一。

测试脚本:修改后需在测试服验证,避免崩溃。

备份文件:修改前备份原脚本,防止误操作。