传奇脚本怎么用:服务端NPC/触发脚本与客户端挂机部署全流程

来源: 作者: 点击:
传奇脚本分服务端脚本(NPC对话、任务、登录触发、地图事件、物品使用)和客户端辅助脚本(自动打怪/拾取/补给)两条完全独立的线,前者给服主和GM用,后者给玩家挂机用,部署路径和生效方式不一样,混着搞就会弹“脚本错误”。

服务端脚本部署(服主/GM侧)
脚本统一是 .txt 纯文本,用记事本或 Notepad++ 写,保存必须选 ANSI(GBK),UTF-8 带 BOM 必乱码。
NPC对话脚本 → 放 Mir200\Envir\QuestDiary\ 下,按功能建子目录(如 QuestDiary\泡点\泡点.txt),文件里以 [@Main] 开头,#IF 判条件、#ACT 执行动作、#SAY 显示对话、@标签做跳转。NPC 本身还要在 MerChant.txt 里登记坐标、形象、绑定脚本文件名,不然点了没反应。
登录/全局触发 → Mir200\Envir\MapQuest_def\QManage.txt,写 @Login 段做上线送装备、清负属性、读变量。
功能触发(用卷轴、双击物品、输命令) → Mir200\Envir\Market_Def\QFunction-0.txt,物品在 DB 里绑 @命令名,双击时引擎调这里对应的 [@命令名] 段。
地图进入/杀怪触发 → MapInfo.txt 配地图参数,MapQuest_def 下建对应任务文件。
机器人/定时活动 → Robot_def\AutoRunRobot.txt 和 RobotManage.txt,用 SetScTimer 控间隔。
挂脚本进主循环 → 在 QuestDiary.txt 末尾写 #INCLUDE 子文件名,或把合成/自动执行脚本名加进 AutoRun.txt,引擎启动才扫得到。

改完怎么生效
GOM/GEE 引擎:开 M2Server → 顶部“脚本”菜单 → 脚本设置里勾“启用自定义脚本” → 点“重载脚本”或“刷新脚本”,提示成功即生效,不用关服。Hero 引擎直接重载脚本即可。
触发验证:建小号进游戏,走到 NPC 面前点一下看对话出不出;输 @命令名 看功能跑不跑;登录看 QM 里的赠送有没有到账。小号测完再上大号。

客户端挂机脚本(玩家侧)
先确认脚本标的引擎(HERO/GOM/GEE/BLUE 命令不通用)和游戏版本(1.76/合击/单职业迷失),错配必失效。
电脑端:先开传奇客户端登进游戏选好挂机地图,再右键脚本主程序“以管理员身份运行”,或打开辅助面板点启动,脚本会绑游戏窗口句柄开始模拟按键;最小化别关窗口,杀软加信任避免拦 DLL。
手机端:云手机或模拟器里先起游戏进图,再启动导入的脚本,关屏幕也能离线挂。
参数先设保守:只开自动攻击+自动拾取+低血药喝,观察半小时角色会不会卡墙、乱跑、不捡物,再逐步开合成/回城/买卖。

常见用错地方导致不生效
脚本放错目录:NPC 脚本扔进 MapQuest_def 就不会被点击触发;QFunction 里写的段没在物品 DB 绑命令,双击物品无反应。
中文路径/空格:客户端装“D:\我的游戏\传奇”会让登录器读 Script 失败弹脚本错误,改纯英文 D:\Legend\Client。
引擎不对应:GOM 的 DIALOG 弹窗命令直接抄给 GEE 会报未知命令,按本服引擎手册改前缀和参数。
编码和全角符:网页复制的代码带隐藏格式符、中文逗号、全角括号,引擎解析到那行就断,Notepad++ 转 ANSI+显示所有符号清一遍。

服务端脚本最小可用模板(泡点 NPC)
QuestDiary\泡点\泡点.txt:
[@Main]
SAY 欢迎来到泡点\\点击领取泡点经验\\

<领取泡点/@getexp>
[@getexp]
IF

CheckLevelEx > 1
ACT

GiveExp 100000
SendMsg 6 领取成功,获得10万经验
ELSEACT

SendMsg 6 等级不足

MerChant.txt 加一行:泡点使者 3 330 330 泡点.txt 0 0 0 0 1 0
M2 重载脚本,进比奇(330:330)点 NPC 试领。

客户端脚本启动前检查清单
游戏版本=脚本标注版本、引擎=脚本标注引擎、登录器能正常进游戏、挂机地图有怪、背包有药、脚本主程序加杀软信任、先小号后大号。