传奇脚本分为服务端逻辑脚本和客户端自动化脚本两类,用途不同,编写方式各异。服务端脚本控制游戏规则、NPC行为、任务流程;客户端脚本模拟人工操作,实现自动打怪、拾取、回城等功能。以下分别说明。
一、服务端脚本编写(以Hero引擎为例)
脚本文件存放于服务端目录的Mir200EnvirQuestDiary中,使用Q语言编写,文本格式必须为ANSI编码。
基础结构由标签、条件、动作三部分组成。例如创建一个卖药NPC:
[@main]
IF
ACT
SENDMSG0欢迎光临!输入1购买红药,2购买蓝药。
WAITINGINPUT'BuyMedicine'
在同目录下新建[@BuyMedicine]脚本:
[@BuyMedicine]
IF
EQUALINPUTSTR1
CHECKGOLD500
ACT
TAKE金币500
GIVE金创药10
CLOSE
IF
EQUALINPUTSTR2
CHECKGOLD800
ACT
TAKE金币800
GIVE魔法药10
CLOSE
INPUTSTR为玩家输入内容,CHECKGOLD检测金币是否足够,TAKE和GIVE执行物品交易。
变量用于记录状态。如每日签到:
[@main]
IF
EQUALQ_签到0
ACT
SETQ_签到1
GIVE金币10000
SENDMSG0签到成功,获得10000金币!
CLOSE
Q_签到为玩家专属变量,重启服务端后仍保留。
二、客户端自动化脚本(以按键精灵为例)
适用于重复操作,如挂机打怪、自动喝药。使用Q语言或VBScript编写,依赖坐标和颜色判断。
自动喝红药脚本:
RemLoop
IfColor48035"FF0000"0Then
KeyPress"F1"1
EndIf
Delay600
GotoLoop
通过取色工具获取血条位置(48035)和红色值FF0000,每0.6秒检测一次。
自动拾取脚本需图像识别:
FindPic001024768"D:coin.bmp"0.9xy
Ifx>0Then
MoveToxy
LeftClick1
EndIf
Delay300
提前截取金币图标保存为coin.bmp,识别成功则点击拾取。
三、调试与注意事项
服务端脚本修改后,在M2Server控制台输入!reloadquest重载,无需重启。若NPC无反应,检查Npc_defNpc.txt是否正确关联脚本路径,格式为“药店老板元宝充值.txt”。
客户端脚本需固定游戏窗口分辨率(推荐1024×768),避免坐标偏移。部分系统需关闭全屏优化,右键Login.exe→属性→兼容性→勾选“禁用全屏优化”。
所有脚本命令必须严格遵循引擎规范。Hero引擎不支持LUA,而部分新引擎仅支持LUA,编写前需确认服务端类型。脚本文件禁止使用中文命名,路径中不可含空格或特殊符号,否则服务端读取失败。
一、服务端脚本编写(以Hero引擎为例)
脚本文件存放于服务端目录的Mir200EnvirQuestDiary中,使用Q语言编写,文本格式必须为ANSI编码。
基础结构由标签、条件、动作三部分组成。例如创建一个卖药NPC:
[@main]
IF
ACT
SENDMSG0欢迎光临!输入1购买红药,2购买蓝药。
WAITINGINPUT'BuyMedicine'
在同目录下新建[@BuyMedicine]脚本:
[@BuyMedicine]
IF
EQUALINPUTSTR1
CHECKGOLD500
ACT
TAKE金币500
GIVE金创药10
CLOSE
IF
EQUALINPUTSTR2
CHECKGOLD800
ACT
TAKE金币800
GIVE魔法药10
CLOSE
INPUTSTR为玩家输入内容,CHECKGOLD检测金币是否足够,TAKE和GIVE执行物品交易。
变量用于记录状态。如每日签到:
[@main]
IF
EQUALQ_签到0
ACT
SETQ_签到1
GIVE金币10000
SENDMSG0签到成功,获得10000金币!
CLOSE
Q_签到为玩家专属变量,重启服务端后仍保留。
二、客户端自动化脚本(以按键精灵为例)
适用于重复操作,如挂机打怪、自动喝药。使用Q语言或VBScript编写,依赖坐标和颜色判断。
自动喝红药脚本:
RemLoop
IfColor48035"FF0000"0Then
KeyPress"F1"1
EndIf
Delay600
GotoLoop
通过取色工具获取血条位置(48035)和红色值FF0000,每0.6秒检测一次。
自动拾取脚本需图像识别:
FindPic001024768"D:coin.bmp"0.9xy
Ifx>0Then
MoveToxy
LeftClick1
EndIf
Delay300
提前截取金币图标保存为coin.bmp,识别成功则点击拾取。
三、调试与注意事项
服务端脚本修改后,在M2Server控制台输入!reloadquest重载,无需重启。若NPC无反应,检查Npc_defNpc.txt是否正确关联脚本路径,格式为“药店老板元宝充值.txt”。
客户端脚本需固定游戏窗口分辨率(推荐1024×768),避免坐标偏移。部分系统需关闭全屏优化,右键Login.exe→属性→兼容性→勾选“禁用全屏优化”。
所有脚本命令必须严格遵循引擎规范。Hero引擎不支持LUA,而部分新引擎仅支持LUA,编写前需确认服务端类型。脚本文件禁止使用中文命名,路径中不可含空格或特殊符号,否则服务端读取失败。

