08魔域私服单机版cq_action表脚本全面解释

游戏经验 2026-05-09 18 阅读

这是整个游戏脚本的核心,可以说是一个看得见的“游戏逻辑引擎”,存在于服务端的数据库中。cq_action 表的每一行,都是一个指令,通过特定的逻辑串联起来,就构成了游戏里的各种功能——比如NPC对话、任务流程、商店买卖等等。

这张表的核心字段如下:

id: 指令的唯一编号,是执行的入口。
id_next: 当前指令执行成功后,下一步要执行的指令ID。
id_nextfail: 当前指令执行失败后,下一步要执行的指令ID。
type: 指令的功能类型,决定了要做什么(比如判断、给物品、传送等),是整个脚本的灵魂。
data: 指令所需的核心数据(例如要判定的数值、要给予的物品ID)。
param: 指令的附加参数,对data进行补充说明(例如比较符号、提示文字等)。

常用type指令类型详解

下面是一些常见的type类型及其说明,掌握这些,你就可以开始尝试设计自己的功能了

0:条件判断功能说明:脚本的“大脑”,用来判断角色的特定数值(如魔石、金币、等级、任务状态等)是否满足条件,并根据结果跳转到不同的后续指令。使用示例:id: 1000, type: 0, data: 501, param: e-money < 1000,含义是判断角色魔石是否小于1000。
101:NPC说话(对话框主体)功能说明:在NPC对话框的上方显示一段文字,通常是欢迎语或说明。使用示例:type: 101, param: 尊敬的%user-name,你好,欢迎
102:NPC对话选项(可点击)功能说明:创建一条玩家可以用鼠标点击的对话选项。使用示例:type: 102, param: 我要传送到BOSS集中营
120:对话结束功能说明:结束当前的对话框,不再显示任何新内容。使用示例:type: 120
126:弹窗提示功能说明:在屏幕中央弹出一个提示框,显示一段消息。使用示例:type: 126, param: 对不起,阁下的魔石不足1000
501:给予物品功能说明:直接往角色背包里添加一个指定物品。使用示例:type: 501, data: 131114,其中131114是物品ID
502:回收物品功能说明:从角色背包里移除一个指定物品。使用示例:type: 502, data: 112456
503:检测物品数量功能说明:判断角色背包里某个物品的数量是否满足条件。使用示例:type: 503, data: 物品ID, param: 比较符 数量
506:删除多个物品功能说明:一次性从角色背包里删除多个指定物品。使用示例:type: 506
507:检测多个物品功能说明:一次性判断角色背包里多个物品的数量是否满足条件。使用示例:type: 507
508:检测背包/包裹空位功能说明:检查角色的背包是否有足够的空格。使用示例:type: 508, param: 14 0 50,可能是在检测包裹是否为空的某种状态
801:怪物掉落功能说明:控制怪物死亡后掉落的物品。使用示例:type: 801, param: dropitem 物品ID
1003:地图传送功能说明:将角色传送到指定地图和坐标。使用示例:type: 1003, data: 0, param: 1000 224 123 1,其中1000是地图ID,224和123是坐标,最后的1是地图实例或类型
1010:系统提示(聊天框)功能说明:在聊天信息框里显示一条系统提示(可能是红色或白色)。使用示例:type: 1010, data: 2005, param: 你得到1000经验。
1033:修复装备功能说明:调整或修复指定装备的属性(具体用法视脚本环境而定)。使用示例:type: 1033, data: 装备ID, param: 目标属性值
1046:打开功能窗口功能说明:打开一个指定的游戏功能面板,例如仓库、合成界面等。使用示例:type: 1046, data: X,其中 X 是窗口的ID

掌握了这些基础,你就能开始尝试修改现有NPC的脚本,或者创造全新的互动功能了。脚本的世界很深,但核心就是这些逻辑的组合,多尝试才能找到更多乐趣!

留言 0

0/1000
加载中...