脚本命令是传奇游戏逻辑控制的核心工具,通过特定指令实现NPC对话、任务流程、物品操作、怪物行为等游戏功能。命令体系基于条件判断与动作执行的组合结构,开发者通过编写脚本文件定制游戏内容。以下内容涵盖基础命令语法、变量类型、控制结构及实际应用示例。
基础命令结构遵循“条件-动作”模式。#IF开始条件判断段落,后面跟随一个或多个检查命令。#ACT标记条件满足时执行的动作区块。#SAY用于NPC对话内容输出。#ELSEACT定义条件不满足时的替代动作。#ELSESAY输出条件不满足时的对话文本。每个命令段落以换行符分隔,脚本文件通常保存为ANSI编码格式。
变量系统分为个人变量与全局变量两大类。个人变量以P开头,如P0-P99,存储单个玩家的临时数据。全局变量以G开头,如G0-G99,存储全服共享的持久数据。变量赋值使用MOV命令,格式为“MOV 变量名 数值”。变量加减使用INC和DEC命令,INC增加指定数值,DEC减少指定数值。变量比较通过CHECK命令实现,CHECK检测变量是否等于、大于或小于目标值。
条件判断命令构建脚本逻辑分支。CHECK检测玩家属性,包括等级、金币、元宝、声望、PK值等。CHECKLEVE检测玩家等级是否达到指定数值。CHECKGOLD检查金币数量是否足够。CHECKGAMEGOLD检查元宝数量。CHECKITEM检测背包是否拥有特定物品及数量。CHECKBAGGAGE检查背包空格数量。CHECKJOB检测玩家职业,参数1战士、2法师、3道士。CHECKMARRIED检测婚姻状态。CHECKGUILD检测行会归属。CHECKATTACKPK检测攻击模式。
物品操作命令控制游戏物品流转。GIVE给予玩家指定物品,格式为“GIVE 物品名称 数量”。TAKE从玩家背包移除物品,格式为“TAKE 物品名称 数量”。CHECKITEMW检测物品是否装备在身上。TAKEW从身上卸下指定装备。UPGRADEITEM升级装备属性,可指定升级点数。REFINEITEM精炼装备,提升基础属性。MAKEITEM合成新物品,需要材料列表与成功率设置。RECYCLEDITEM回收物品兑换金币或元宝。
NPC对话命令构建玩家与系统交互界面。#SAY输出对话内容,支持多行显示。CLOSE关闭当前对话窗口。OPEN打开新的对话窗口,参数为NPC脚本文件名。MessageBox弹出消息框,显示提示信息。InputBox接收玩家输入,存储至指定变量。AddButton添加对话选项按钮,绑定跳转标签。GoToLabel跳转到脚本内指定标签位置。EXECUTE执行外部脚本文件。CALL调用子程序模块。
地图传送命令控制玩家位置移动。MAP移动玩家至指定地图,格式为“MAP 地图编号 坐标X 坐标Y”。MOVE移动玩家至当前地图的指定坐标。RecallGuild召唤行会所有成员至当前位置。RecallMember召唤指定玩家至身边。RecallMob召唤怪物至指定位置。EnterDungeon进入副本空间,创建独立实例地图。LeaveDungeon离开副本返回主世界。ChangeMap切换地图区域,保持相对坐标位置。
怪物控制命令管理怪物生成与行为。MONSTER在地图指定位置生成怪物,格式为“MONSTER 地图编号 坐标X 坐标Y 怪物名称 数量 范围”。CLEARMAP清除地图内所有怪物。CLEARMAPMON清除指定类型怪物。MISSION发布怪物击杀任务,设置目标数量与奖励。CHECKMONMAP检测地图怪物数量。PARAM1-PARAM8设置怪物特殊参数,影响AI行为。MobPlacement布置怪物巡逻路径点。MobHp设置怪物生命值比例。MobExp调整怪物经验值倍数。
时间控制命令实现定时触发功能。CheckDateTime检测系统日期时间,格式为“CheckDateTime 年 月 日 时 分 秒”。CheckDate检测日期部分。CheckTime检测时间部分。CheckHour检测当前小时。CheckMinute检测当前分钟。CheckWeek检测星期几。SetTimer设置定时器,到达指定时间触发事件。ResetTimer重置定时器计数。CheckTimer检测定时器状态。Sleep暂停脚本执行指定毫秒数。Delay延迟后续命令执行。
随机数命令增加游戏不确定性。Random生成随机整数,格式为“Random 最小值 最大值”。RandomEx生成带权重的随机数,可指定概率分布。CheckRandom检测随机数是否满足条件。Lottery抽奖系统,从奖品池随机选取物品。Raffle摇奖功能,多玩家参与随机分配奖励。DiceRoll掷骰子,返回1-6随机值。ShuffleList随机打乱列表顺序。PickRandomItem从物品列表中随机选取一项。
字符串处理命令操作文本数据。StringCopy复制字符串到变量。StringCompare比较两个字符串是否相同。StringLength获取字符串长度。StringFind在字符串中查找子串。StringReplace替换字符串中的指定内容。StringFormat格式化字符串,插入变量值。StringSplit分割字符串为数组。StringJoin连接多个字符串。MessageFormat组合消息文本,支持颜色代码。TextOutput输出格式化文本到聊天窗口。
数学运算命令执行数值计算。Add加法运算,格式为“Add 目标变量 值1 值2”。Sub减法运算。Mul乘法运算。Div除法运算。Mod取模运算。Pow幂运算。Sqrt平方根运算。Abs绝对值运算。Round四舍五入。Floor向下取整。Ceil向上取整。Max取最大值。Min取最小值。Calc复杂表达式计算,支持加减乘除与括号。
玩家属性命令读取或修改角色数据。ChangeLevel调整玩家等级。ChangeExp调整经验值。ChangeGold调整金币数量。ChangeGameGold调整元宝数量。ChangeCredit调整声望值。ChangePKValue调整PK值。ChangeHungry调整饥饿度。ChangeDrunk调整醉酒度。ChangeDC调整攻击力。ChangeMC调整魔法力。ChangeSC调整道术力。ChangeAC调整防御力。ChangeMAC调整魔防力。ChangeHP调整生命值。ChangeMP调整魔法值。
技能相关命令控制角色能力。CheckSkill检测技能等级。AddSkill添加新技能。DeleteSkill删除指定技能。ChangeSkillLevel调整技能等级。SkillExp设置技能经验值。UseSkill强制使用技能。CheckMagic检测魔法掌握情况。AddMagic添加魔法技能。MagicExp调整魔法熟练度。CheckTalisman检测护身符状态。AddTalisman添加护身符效果。RemoveTalisman移除护身符。
任务系统命令构建剧情流程。AddQuest添加新任务。CompleteQuest标记任务完成。FailQuest标记任务失败。CheckQuest检测任务状态。QuestStep设置任务当前步骤。QuestTarget设置任务目标数量。QuestReward设置任务奖励物品。QuestDialog设置任务对话文本。QuestMarker在地图标记任务位置。QuestTracker在界面显示任务追踪。
行会命令管理玩家组织。CreateGuild创建新行会,需要会长名称与行会名称。DestroyGuild解散指定行会。AddMember添加成员至行会。RemoveMember从行会移除成员。ChangeRank调整成员职位等级。CheckGuild检测行会信息。GuildNotice发布行会公告。GuildStorage访问行会仓库。GuildWar发起行会战争。GuildAlliance建立行会联盟。GuildContribution记录成员贡献值。
战斗系统命令控制PK与伤害计算。CheckAttackMode检测攻击模式。ChangeAttackMode切换攻击模式。PKFlag设置PK标志状态。PKProtect设置PK保护时间。DamageCalc调整伤害计算公式。CriticalRate设置暴击率。DodgeRate设置闪避率。HitRate设置命中率。DefenseRate设置格挡率。ElementDamage设置元素伤害类型。ElementDefense设置元素抗性。
界面控制命令调整用户界面显示。OpenWindow打开指定界面窗口。CloseWindow关闭界面窗口。ShowButton显示界面按钮。HideButton隐藏界面按钮。EnableControl启用界面控件。DisableControl禁用界面控件。SetText设置界面文本内容。SetImage设置界面图片。SetProgress设置进度条数值。PlaySound播放音效文件。StopSound停止音效播放。
系统功能命令访问游戏底层服务。SavePlayer保存玩家数据到数据库。LoadPlayer从数据库加载玩家数据。KickPlayer踢出指定玩家。BanPlayer封禁玩家账号。UnbanPlayer解封玩家账号。SystemAnnounce发布系统公告。Broadcast发送全服广播。LogWrite写入日志文件。CheckConnection检测网络连接状态。GetServerTime获取服务器时间戳。
脚本调试命令辅助开发测试。DebugOn开启调试模式。DebugOff关闭调试模式。Trace输出变量跟踪信息。Breakpoint设置脚本断点。StepOver单步执行跳过子程序。StepInto单步执行进入子程序。Watch添加变量监视。Evaluate执行表达式并显示结果。ScriptError输出脚本错误信息。Performance测试脚本执行时间。
综合应用示例展示命令组合使用。物品合成脚本检查玩家背包材料,满足条件时消耗材料生成新物品,并给予经验奖励。任务接取脚本检测玩家等级与前置任务,符合条件添加任务记录,更新任务追踪界面。怪物攻城脚本定时在地图生成BOSS怪物,击杀后全服发放奖励,记录首杀玩家信息。行会争霸脚本检测行会成员数量与等级,符合条件开启争霸地图,胜利行会获得专属称号与属性加成。
脚本命令体系通过逻辑组合实现复杂游戏功能。条件判断构建决策分支,变量系统存储状态信息,动作命令执行具体操作。开发者需掌握命令语法规则,理解执行顺序,避免逻辑冲突。脚本文件需规范编码格式,正确使用换行与缩进,添加必要注释说明。测试环节验证脚本功能,排查语法错误与逻辑缺陷,确保游戏体验流畅稳定。命令应用遵循游戏设计原则,平衡功能性与性能消耗,实现丰富可玩的游戏内容。

