传奇脚本学习的核心是掌握各类命令的用法、格式及适用场景,脚本命令是实现游戏内各类功能(如NPC交互、任务触发、道具操作、地图控制等)的基础,以下整理全品类常用脚本命令,按功能分类详解,兼顾新手入门和实操应用,所有命令均适配主流传奇引擎,无需复杂操作,直接对照即可使用。
脚本基础核心命令,是所有脚本编写的前提,无论简单触发还是复杂逻辑,都需依托这些基础命令搭建框架,这类命令无复杂参数,记准格式即可直接使用。
@段:脚本段落标记,用于划分脚本逻辑模块,段名可用英文或数字表示,是脚本跳转、逻辑区分的核心,格式为(@段名),例如(@main)、(@task1)、(@shop),所有脚本命令需放在对应段落标记下,否则无法触发执行。
goto @段:跳转命令,用于从当前段落跳转到指定段落执行,相当于脚本中的“跳转开关”,格式为goto @段名,例如在(@main)段落中添加goto @task1,执行到该命令时,会直接跳转到(@task1)段落执行后续命令,常用于多步骤任务、NPC多选项交互场景。
close:关闭对话框命令,用于关闭脚本执行过程中弹出的对话窗口,避免占用游戏界面,格式为单独的close命令,可放在任意需要关闭对话框的位置,例如NPC对话结束后、命令执行完毕后,添加close即可自动关闭窗口,提升操作体验。
@exit:与close功能类似,用于关闭对话框,区别在于@exit是手动触发关闭,而close是脚本自动执行关闭,格式为@exit,可放在#SAY语句末尾,供玩家手动点击关闭对话框,两种命令可根据需求灵活选用,无需额外参数。
#IF:逻辑判断起始命令,用于设定脚本执行的条件,所有条件判断均需以#IF开头,后续紧跟具体判断条件,只有满足条件时,才会执行#ACT后的命令,不满足则执行#ELSEACT或#ELSESAY后的内容,格式为#IF+换行+判断条件+换行+#ACT。
#ACT:命令执行命令,紧跟#IF判断条件之后,用于执行满足条件后的具体操作,例如给予道具、传送地图、修改变量等,所有需要执行的操作命令,均需放在#ACT下方,格式为#IF+条件+#ACT+执行命令,可同时执行多个命令,换行分隔即可。
#SAY:对话显示命令,用于在游戏内显示文字内容,供玩家查看,例如NPC对话、任务提示、道具说明等,语句无需添加任何定界符,直接填写文字即可,格式为#SAY+空格+文字内容,可换行显示多行文字,适配NPC交互场景。
#ELSESAY:条件不满足时的对话显示命令,紧跟#ACT之后,当#IF设定的条件不满足时,会显示#ELSESAY后的文字内容,格式与#SAY一致,例如#IF+条件+#ACT+执行命令+#ELSESAY+提示文字,用于给玩家反馈不满足条件的原因。
#ELSEACT:条件不满足时的命令执行命令,与#ELSESAY功能类似,区别在于#ELSEACT执行具体操作,而非显示文字,格式为#IF+条件+#ACT+满足条件的操作+#ELSEACT+不满足条件的操作,适用于需要根据条件执行不同操作的场景。
#call:子程序调用命令,用于调用QuestDiary文件夹下的子程序脚本,当主脚本需要使用其他脚本中的命令时,可通过#call命令调用,格式为#call ..\QuestDiary\脚本文件名.txt,例如#call ..\QuestDiary\Task.txt,即可调用该文件中的所有脚本命令,简化主脚本编写。
变量相关命令,用于脚本中的数值、字符存储和运算,是实现复杂逻辑(如任务进度、数值统计)的核心,变量分为不同类型,需根据需求选用,所有变量命令均需在#ACT下方执行。
mov:变量赋值命令,用于给指定变量赋值,变量名称有固定规范,仅支持A0-A9(字符型)、B0-B9(字符型)、D0-D9(数字型)、P0-P9(数字型)、S0-S9(数字型),服务器共享变量为N0-N9(数字型)、B1-B9(字符型),格式为mov 变量 数值/字符,例如mov D0 10(给数字变量D0赋值10)、mov A0 测试(给字符变量A0赋值“测试”)。
inc:变量递增命令,用于让指定变量自动增加指定数值,相当于x=x+n,格式为inc 变量 数值,例如inc D0 5,若D0初始值为10,执行该命令后,D0值变为15,常用于任务进度统计、数值累加场景。
dec:变量递减命令,用于让指定变量自动减少指定数值,相当于x=x-n,格式为dec 变量 数值,例如dec D0 3,若D0初始值为15,执行该命令后,D0值变为12,适用于数值递减、次数统计场景。
sum:变量求和命令,用于多个变量相加,需配合mov命令初始化求和变量,格式为mov 求和变量 0 + sum 变量A 变量B + sum 变量C,例如mov D0 0、sum D1 D2、sum D3,最终D0的值为D1+D2+D3,单独使用sum命令无意义,需按顺序搭配使用。
movr:随机变量命令,用于给变量赋值随机数值,变量值范围为0到指定数值(不包含指定数值),格式为movr 变量 数值,例如movr S1 10,变量S1会随机赋值为0-9之间的任意整数,适用于随机奖励、随机事件触发场景。
reset:变量重置命令,用于将指定范围的变量恢复到初始值0,格式为reset (变量起始值) 数量,例如reset (100) 7,会将100、101、102、103、104、105、106这7个变量全部赋值为0,等同于多次执行set (变量) 0命令,简化变量重置操作。
random:随机概率命令,用于设定随机触发概率,格式为random 数值,当随机数等于指定数值时,触发后续命令,概率为1/数值,例如random 2(50%概率)、random 4(25%概率)、random 1(100%概率),常用于随机奖励、随机事件触发。
逻辑判断相关命令,用于设定脚本执行的条件,配合#IF使用,涵盖职业、等级、道具、金币、地图人数等常见判断场景,是实现脚本灵活执行的关键,所有判断命令均需放在#IF下方。
checkjob:职业判断命令,用于判断玩家职业,支持战士(warr)、法师(wizard)、道士(taos),格式为checkjob 职业名称,例如checkjob warr(判断玩家是否为战士),满足条件则执行#ACT后的命令,不满足则执行后续的#ELSEACT或#ELSESAY。
checklevel:等级判断命令,用于判断玩家等级是否大于等于指定数值,格式为checklevel 数值,例如checklevel 30(判断玩家等级是否≥30级),可用于限制高等级功能、高等级任务的触发条件。
checkgold:金币判断命令,用于判断玩家拥有的金币数量是否大于等于指定数值,格式为checkgold 数值,例如checkgold 10000(判断玩家金币是否≥10000),常用于道具购买、任务提交等需要消耗金币的场景。
checkitem:道具判断命令,用于判断玩家包裹中是否拥有指定数量的道具,格式为checkitem 物品名称 数量,例如checkitem 钢玉石 1(判断玩家包裹中是否有1个钢玉石),若不指定数量,默认判断是否拥有该道具,适用于任务提交、道具兑换场景。
checkitemw:装备判断命令,用于判断玩家身上是否佩戴指定装备,格式为checkitemw 物品名称,例如checkitemw 裁决(判断玩家是否佩戴裁决武器),区别于checkitem(判断包裹道具),该命令仅判断身上佩戴的装备。
checkpkpoint:PK值判断命令,用于判断玩家的PK值是否大于指定数值,格式为checkpkpoint 数值,例如checkpkpoint 3(判断玩家PK值是否>3),常用于限制红名玩家的部分功能、触发红名惩罚场景。
checkluckypoint:幸运值判断命令,用于判断玩家的幸运值是否满足指定条件(大于、小于、等于),格式为checkluckypoint 数值,例如checkluckypoint 7(判断玩家幸运值是否≥7),适用于幸运值相关的奖励、功能触发场景。
checkhum:地图人数判断命令,用于判断指定地图的当前玩家数量,格式为checkhum 地图名 数值,例如checkhum 比奇城 10(判断比奇城当前玩家数量是否≥10),常用于地图人数限制、活动触发场景。
checkmonmap:怪物数量判断命令,用于判断指定地图的当前怪物数量,格式为checkmonmap 地图名 数值,例如checkmonmap 蜈蚣洞 20(判断蜈蚣洞当前怪物数量是否≥20),常用于刷怪脚本、怪物清理场景。
checkduraeva:物品品质判断命令,用于判断指定物品(多为矿物、装备)的品质是否达到指定数值,格式为checkduraeva 物品名 数值,例如checkduraeva 钢玉矿石 10(判断钢玉矿石品质是否≥10),适用于矿石提炼、装备锻造场景。
gender man:性别判断命令,用于判断玩家性别是否为男性,格式为gender man,满足条件则执行后续命令,若需判断女性,可调整对应参数,适用于性别相关的任务、道具使用场景。
checkbaggage:背包空格判断命令,用于判断玩家背包是否有空闲空格,格式为checkbaggage 数量,例如checkbaggage 1(判断背包是否有1个空闲空格),常用于给予道具前的判断,避免道具无法发放。
checkmagic:技能判断命令,用于判断玩家是否已经修炼指定技能,格式为checkmagic 技能名称,例如checkmagic 烈火剑法(判断玩家是否学会烈火剑法),适用于技能相关的任务、功能解锁场景。
道具与金币操作命令,用于实现道具发放、回收、金币增减等功能,是脚本中最常用的命令类别,格式简单,参数明确,所有命令均需放在#ACT下方执行。
give:道具/金币发放命令,用于给玩家发放指定数量的道具或金币,格式为give 物品名称 数量(发放道具)、give gold 数值(发放金币),例如give 疗伤药 10(给玩家10个疗伤药)、give gold 5000(给玩家5000金币),发放道具时,需确保物品名称与游戏内物品数据库一致。
take:道具/金币回收命令,用于从玩家包裹中回收指定数量的道具或金币,格式为take 物品名称 数量 检测开关(0/空不检测装备改名,1检测)、take gold 数值(回收金币),例如take 钢玉石 1(回收玩家1个钢玉石)、take gold 2000(回收玩家2000金币),检测开关可根据需求选择是否添加。
takew:装备回收命令,用于从玩家身上回收指定装备,格式为takew 物品名称,例如takew 沃玛戒指(回收玩家身上佩戴的沃玛戒指),区别于take命令(回收包裹道具),该命令仅回收身上佩戴的装备。
addnamelist:玩家名单添加命令,用于将玩家名称添加到指定文本文件中,格式为addnamelist 文本文件名,例如addnamelist VIP.txt(将当前玩家添加到VIP.txt文件中),适用于VIP玩家标记、名单统计场景。
checknamelist:玩家名单判断命令,用于判断玩家名称是否在指定文本文件中,格式为checknamelist 文本文件名,例如checknamelist VIP.txt(判断当前玩家是否在VIP.txt文件中),常用于VIP功能、专属福利的触发判断。
delnamelist:玩家名单删除命令,用于将玩家名称从指定文本文件中删除,格式为delnamelist 文本文件名,例如delnamelist VIP.txt(将当前玩家从VIP.txt文件中删除),适用于VIP过期、名单清理场景。
地图与怪物控制命令,用于实现地图传送、怪物刷新、怪物清理等功能,适配地图管理、活动脚本等场景,部分命令需指定地图名或坐标参数。
map:随机地图传送命令,用于将玩家传送到指定地图的随机坐标,格式为map 地图名(地图名为地图数字代码),例如map 3(将玩家传送到数字代码为3的地图),无需指定具体坐标,系统自动分配随机位置。
mapmove:定点地图传送命令,用于将玩家传送到指定地图的具体坐标,格式为mapmove 地图名 坐标A 坐标B 范围(范围留空或填0为定点传送),例如mapmove 比奇城 320 280 0(将玩家传送到比奇城320,280坐标),适用于精准传送场景。
monclear:地图怪物清理命令,用于清除指定地图上的所有怪物,格式为monclear 地图名,例如monclear 蜈蚣洞(清除蜈蚣洞所有怪物),适用于活动结束后清理怪物、地图重置场景。
MonGen:怪物刷新命令,用于在指定地图刷新指定数量的怪物,并设置怪物存在时间,格式为MonGen 怪物名称 数量 时间(时间单位为秒),例如MonGen 蜈蚣 10 300(在当前地图刷新10只蜈蚣,存在300秒后消失),适用于刷怪脚本、活动怪物刷新场景。
TimeRecall:时间限制命令,用于定义玩家进入指定地图的时间限制,格式为TimeRecall 数值(数值单位为分钟),例如TimeRecall 10(限制玩家在当前地图停留10分钟),时间到后玩家会被自动传送出地图。
BreakTimeRecall:时间限制中断命令,用于中断TimeRecall命令设定的时间限制,格式为单独的BreakTimeRecall命令,执行该命令后,玩家在地图的停留时间限制被取消,适用于取消时间限制的场景。
玩家状态控制命令,用于修改玩家的外观、性别、状态等,适配个性化设置、任务奖励等场景,无需复杂参数,直接执行即可。
changegender:性别修改命令,用于修改执行脚本的玩家性别,格式为单独的changegender命令,无需添加任何参数,执行后玩家性别会自动切换(男变女、女变男),适用于性别相关的任务、道具效果场景。
hairstyle:发型修改命令,用于修改玩家的发型样式,格式为hairstyle 数值(不同数值对应不同发型),例如hairstyle 3(将玩家发型改为编号3的样式),具体发型编号可参考游戏内发型配置文件。
haircolor:发色修改命令,用于修改玩家的头发颜色,格式为haircolor 红值 绿值 蓝值(值域均为0-255),例如haircolor 255 0 0(将玩家发色改为纯红色),可根据需求调整三色数值,实现不同发色效果。
checkhorse:骑马状态判断命令,用于判断玩家是否处于骑马状态,格式为checkhorse,满足条件(骑马)则执行#ACT后的命令,适用于骑马相关的任务、功能触发场景。
checkmonrecall:宠物判断命令,用于判断玩家是否召唤了宠物,格式为checkmonrecall,满足条件(有宠物)则执行#ACT后的命令,适用于宠物相关的任务、功能场景。
checkweaponlevel:武器等级判断命令,用于判断玩家手持武器的等级,格式为checkweaponlevel 数值,例如checkweaponlevel 3(判断玩家手持武器等级是否≥3),适用于武器等级相关的功能、任务场景。
商用NPC相关命令,主要用于NPC买卖道具、修理装备等功能,核心是NPC开头参数设置,不同参数对应不同的NPC功能,无需复杂脚本编写,直接在NPC脚本开头添加对应参数即可。
%100:NPC价格参数,代表NPC买卖道具时按原价交易,若改为%200则为双倍价格,格式为在NPC脚本开头添加%100,适用于所有商用NPC,控制道具交易价格。
+0:道具买卖参数,代表NPC出售各种药水,格式为在NPC脚本开头添加+0,玩家可在该NPC处购买各类药水,无需额外编写买卖脚本。
+1/+40:肉类交易参数,+1代表NPC收购肉类,+40代表NPC出售肉类,格式为在NPC脚本开头添加对应参数,适用于肉类交易相关的NPC。
+10/+11:衣物交易参数,+10代表NPC出售衣服,+11代表NPC修理衣服,格式为在NPC脚本开头添加对应参数,适用于衣物买卖、修理相关的NPC。
+5/+6:武器交易参数,+5代表NPC出售武器或修炼武器,+6代表NPC收购武器或修炼武器,格式为在NPC脚本开头添加对应参数,适用于武器买卖、修炼相关的NPC。
+22/+23:戒指交易参数,+22代表NPC出售戒指,+23代表NPC收购戒指,格式为在NPC脚本开头添加对应参数,适用于戒指买卖相关的NPC。
+24/+26:手镯交易参数,+24代表NPC出售手镯,+26代表NPC收购、修理手镯,格式为在NPC脚本开头添加对应参数,适用于手镯买卖、修理相关的NPC。
+3/+4:卷轴书籍交易参数,+3代表NPC出售卷轴、书籍,+4代表NPC收购书籍,格式为在NPC脚本开头添加对应参数,适用于卷轴、书籍交易相关的NPC。
+19/+20/+21:项链交易参数,三个参数均代表NPC出售项链,不同参数对应不同类型的项链,格式为在NPC脚本开头添加对应参数,适用于项链出售相关的NPC。
+25:特殊水交易参数,代表NPC出售特殊水,格式为在NPC脚本开头添加+25,玩家可在该NPC处购买各类特殊水道具。
+30:杂物交易参数,代表NPC出售蜡烛等杂物,格式为在NPC脚本开头添加+30,适用于杂物出售相关的NPC。
+42:药水收购参数,代表NPC收购各类药水,格式为在NPC脚本开头添加+42,玩家可在该NPC处出售多余的药水。
+43:武器修理参数,代表NPC修理武器,格式为在NPC脚本开头添加+43,适用于武器修理相关的NPC。
+15:头盔交易参数,代表NPC出售头盔,格式为在NPC脚本开头添加+15,玩家可在该NPC处购买各类头盔。
脚本实操补充说明,帮助新手避免常见错误,确保脚本命令正常执行,所有补充内容均围绕实操场景,直奔重点,不添加多余修饰。
所有脚本文件需放在对应目录下,主脚本放在传奇根目录的Scripts文件夹,子程序脚本放在QuestDiary文件夹,脚本文件命名需使用英文或数字,不能包含特殊字符,否则会导致命令无法触发。
脚本文件编码格式需设置为ANSI,若设置为UTF-8,会出现命令失效、文字乱码的问题,这是新手最常见的错误,修改编码格式后,脚本即可正常执行。
命令格式需严格遵循要求,大小写不区分(如PLAYSOUND与playsound效果一致),但参数需准确,例如道具名称、地图名、变量类型,需与游戏内数据库、配置文件一致,否则命令无法执行。
多命令执行时,需换行分隔,避免将多个命令写在同一行,例如#ACT下方,每个命令单独一行,确保脚本逻辑清晰,避免命令冲突、执行错乱。
主流传奇引擎(996、GEE、战神等)的脚本命令基本通用,仅部分参数(如地图代码、音乐路径)略有差异,可根据自身引擎配置调整,核心命令和执行逻辑保持不变,无需额外修改命令格式。
脚本编写完成后,需在游戏内测试,重点测试#IF判断条件、命令执行效果,若出现命令无法触发,优先检查命令格式、参数准确性、脚本路径和编码格式,无需复杂排查,即可解决大部分问题。
传奇技术脚本学习 常用脚本命令大全(新手易懂版)
来源:
作者:
点击:

