当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇游戏触发脚本设置方法与事件响应机制

热度:
触发脚本在传奇服务端中用于响应玩家特定行为,如对话、拾取、进入地图、使用物品等,通过QFunction.txt、QManage.txt及NPC脚本文件实现事件绑定与逻辑执行。所有触发均基于关键词匹配与条件判断,无需外部工具,直接修改服务端文本配置即可生效。

核心触发类型包括:
地图进入触发:当玩家踏入指定地图时自动执行指令。在QManage.txt中添加:
[@MapEnter]
IF
CheckMap7
ACT
GiveItem红药50
SendMsg你已进入祖玛寺庙,获得补给!
表示进入地图7(祖玛寺庙)时赠送50个红药并发送提示。

NPC对话触发:在DbaseNpc_def目录下创建NPC脚本文件(如“铁匠.txt”),内容为:
[@main]
欢迎来到铁匠铺!
[@修复武器]
ACT
RepairWeapon
表示点击“修复武器”选项后调用系统修复功能。若需条件判断,可加入:
IF
CheckItem裁决之杖
ACT
SendMsg你的裁决已装备,无法修复。

物品使用触发:在QFunction.txt中定义物品使用事件。例如使用“传送卷轴”时:
[@UseItem_传送卷轴]
ACT
Move3150150
SendMsg已传送至沃玛寺庙。
物品名称必须与DbaseItemList.txt中定义完全一致,否则无法识别。

怪物死亡触发:通过[@KillMob]标签响应击杀事件。例如:
[@KillMob]
IF
CheckName沃玛教主
ACT
GiveItem祖玛戒指1
Announce全服公告:USERNAME击杀沃玛教主!
其中USERNAME自动替换为玩家名,Announce指令向全服广播消息。

定时触发:利用[@Timer]实现周期性任务。在QManage.txt中设置:
[@Timer_3600]
ACT
GiveItem金币10000
表示每3600秒(1小时)向在线玩家发放1万金币。定时器编号需在!Setup.txt中预先注册。

触发脚本依赖严格语法格式:
条件块以#IF开头,动作块以#ACT开头;
多条件使用#OR或#AND连接;
变量如USERNAME、MAP、X、Y可直接调用;
延迟执行用Delay指令,单位为毫秒。

常见应用场景包括:
新手村自动发放装备;
特定地图禁止使用回城石(CheckMap+DelItem组合);
击杀BOSS后开启临时副本传送门;
累计在线时长奖励领取。

脚本修改后需重启登录器或执行!reloadqf命令使配置生效。所有触发事件均在服务端处理,客户端仅接收结果,因此不依赖玩家操作习惯。编写时应避免无限循环(如触发内再次触发自身),并确保物品ID、地图号、怪物名与数据库完全匹配,否则逻辑将失效。
[顶部]