轩辕传奇的脚本分为客户端lua脚本和服务端逻辑脚本,两类脚本的存放目录、加载机制、触发逻辑完全不一样,很多使用者拿到脚本后无法运行,大多是文件存放路径错误、编码格式异常、触发标签缺失或者相关配置参数没有调整。
客户端脚本多用于界面弹窗、快捷键定义、消息提示,文件后缀一般为lua。服务端脚本主要负责NPC交互、任务判定、奖励发放、怪物AI行为,文件后缀有txt和lua两种。拿到脚本首先确认适配的程序版本,版本不匹配会出现加载失败、脚本执行无响应的情况。
脚本存放目录是最容易出错的地方。服务端NPC交互脚本,放置到服务端对应的NPC脚本文件夹,文件名尽量不要使用中文和特殊符号,文件名过长也会造成读取失败。客户端脚本放入客户端目录下的script文件夹,部分版本需要新建子目录存放脚本,不能直接放在根目录。文件复制完成之后不要直接启动程序,需要检查文件编码,Windows记事本默认保存为ANSI编码,中文注释会出现乱码,建议用notepad++打开脚本,将编码转为UTF-8无BOM格式,乱码会直接导致脚本中途停止执行。
脚本加载分为自动加载和手动加载两种方式。自动加载依靠配置文件,打开对应目录的加载列表文件,新增一行脚本路径与文件名,保存文件后重启服务端,程序启动时自动读取列表内所有脚本。手动加载适合临时调试脚本,在控制台输入加载指令,后面跟上脚本完整文件名回车即可载入,修改脚本之后可以快速测试,不用每次重启整套程序。手动加载只在本次程序运行期间生效,程序关闭重启后不会保留加载记录。
脚本基础使用流程,第一步备份原有全部脚本文件,防止新脚本代码冲突覆盖原有功能,出现异常时可以快速还原。第二步通读脚本代码,核对脚本内触发标签,任务类脚本核对任务ID,NPC脚本核对NPC编号,保证编号和当前环境数据库内编号一致,编号不匹配会出现点击NPC没有任何脚本响应。第三步修改脚本内各项参数,包括奖励道具ID、道具数量、触发条件、冷却时间,按照当前环境物品数据库调整数值。第四步保存文件,修正文件编码格式。第五步加载脚本,自动加载需要重启服务端,手动加载直接在控制台执行加载命令。第六步进入游戏触发对应事件,观察控制台日志窗口,日志会输出脚本运行信息,报错信息会标注出错行数和错误类型。
脚本加载成功但是游戏内没有效果,优先查看控制台日志。日志提示找不到文件,代表文件名书写错误或者路径层级不对。日志提示语法错误,定位到报错行数,检查括号、引号、换行符号,代码缺少符号是高频问题。脚本加载成功但是无法触发,一般是触发条件不满足,NPC编号、任务编号、道具检测条件和当前环境数据库不匹配,需要逐项核对。部分脚本需要开启对应模块开关,模块未开启,就算脚本加载成功也不会执行代码。
调试脚本可以在关键位置添加日志输出语句,触发脚本之后,对应文字会打印在控制台,用来判断代码执行在哪一段中断。不要一次性导入多个大型脚本,建议单个脚本单独测试,确认功能正常之后,再添加下一段脚本,多个脚本同时启用时,变量名称重复会互相干扰,造成功能异常。测试确认没有问题之后,再投入多人环境使用。
权限相关配置,部分脚本内置高等级奖励、地图传送、全局消息这类功能,脚本自带权限判断,只有指定角色权限等级达标才能执行。测试阶段可以把角色权限调整到脚本要求等级,测试完成后,根据需求修改脚本内权限判断代码,避免普通玩家调用高权限指令。
脚本卸载操作,自动加载脚本需要打开加载列表文件,删除对应脚本那一行内容,保存后重启服务端。手动加载脚本,控制台输入卸载指令加上脚本名称即可。删除脚本文件前,确认脚本没有被程序占用,程序正在读取脚本文件时删除,会引发程序异常退出。
不同类型脚本使用要点,NPC对话脚本,重点核对[@标签],点击NPC时匹配标签名称,标签缺失或者名称不一致,脚本不会响应点击。任务脚本,绑定任务ID,完成任务、提交任务的触发点要对应,奖励发放代码写在任务提交成功分支。怪物行为脚本,绑定怪物模板ID,怪物刷新时读取脚本,用来控制怪物释放技能、呼叫支援、掉落额外物品。
日常使用注意事项,不要直接使用来源不明的完整脚本包,代码内可能包含异常指令,导入前逐行阅读代码。脚本修改完成,每次改动都要重新加载或者重启服务端。游戏客户端更新之后,部分客户端脚本文件会被覆盖,需要重新上传放置脚本文件。

