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

传奇脚本指令大全:IF判断ACT执行与GameGold元宝检测详解

热度:
传奇脚本语言核心由标签、条件判断(#IF)、执行动作(#ACT)及变量操作组成,所有逻辑均基于文本文件编写,存放于Mir200Envir目录下的QFunction.txt、Market_Def文件夹或自定义脚本文件中。掌握基础指令结构是编写任务、NPC对话、装备兑换及元宝交易功能的前提。以下按功能分类详细解析常用代码写法与逻辑组合。

基础结构由三部分组成:标签定义、条件判断、执行动作。标签以[@]开头,如[@main]、[@buy],作为脚本入口或跳转点。#IF段落位于标签下方,列出所有必须满足的条件,只有当所有条件同时成立时,才会执行紧随其后的#ACT段落。若#IF中任一条件不成立,则跳过#ACT,直接执行#ELSEACT段落(若存在)。标准格式如下:

[@TestLabel]
IF
CHECKLEVEL>=30
CHECKJOBWARRIOR
CHECKITEM沃玛号角1
ACT
GIVE屠龙刀1
SENDMSG6恭喜你获得屠龙刀!
BREAK
ELSEACT
SENDMSG5等级不足或非战士职业,或未携带沃玛号角。
BREAK

条件判断指令(#IF段专用):
CHECKLEVEL>=数值:检测玩家等级是否大于等于指定值,支持>、=、=10
ACT
GIVE奖励物品1
MOVH00
SENDMSG6任务完成,计数已重置。

元宝检测专项用法:
CHECKGAMEGOLD>99表示检测元宝是否大于99。若需检测等于100,写为CHECKGAMEGOLD=100。消费逻辑通常结合TAKE思路,但元宝直接使用GAMEGOLD-数量扣除。完整消费示例:

[@BuyItem]
IF
CHECKGAMEGOLD>=100
ACT
GAMEGOLD-100
GIVE高级药水10
SENDMSG6购买成功,扣除100元宝。
BREAK
ELSEACT
SENDMSG5元宝不足,需要100元宝。
BREAK

注意事项:所有脚本文件必须保存为ANSI编码,UTF-8会导致中文乱码及指令识别失败。物品名、职业名大小写敏感,必须与数据库严格匹配。M2Server启动时加载脚本,修改后需重启M2或在控制台输入@RELOADSCRIPT命令热更新。若脚本报错,查看M2控制台输出的具体行号,检查是否有拼写错误或语法缺失(如漏写#ACT)。通过灵活组合上述指令,可实现从简单对话到复杂副本系统的任意功能。
[顶部]