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

传奇脚本命令详解新手必看常用命令+实例+用法

热度:
传奇脚本命令是控制游戏逻辑、NPC交互、地图功能、人物操作的核心,新手不用死记硬背,重点掌握常用命令,结合实例就能快速上手,下面按“核心基础命令、人物相关命令、物品相关命令、地图相关命令、怪物相关命令、逻辑判断命令”分类讲解,每类命令都附具体用法和实例,全程直白无专业废话,拿来就能用。
先明确核心前提:传奇脚本命令主要用于服务端MirServer→Mir200→Envir→QuestDiary文件夹下的脚本文件(后缀多为.qdb、.txt),用记事本或专用脚本编辑器打开就能编写、修改,修改后保存,重启M2引擎即可生效,无需重启整个服务端。
所有脚本命令区分大小写,输入时严格按照格式来,多一个空格、少一个符号都会导致命令失效,新手编写时尽量复制命令格式,再修改对应参数,避免出错。
第一类:核心基础命令(必学,所有脚本都要用),这类命令是脚本的骨架,控制脚本执行流程、对话显示,新手优先掌握这4个。
1.#SAY命令:用于显示对话内容,给玩家展示信息,比如NPC对话、任务提示,是最常用的基础命令。
用法:#SAY后面直接跟要显示的文字,不用加任何符号,换行用“/”分隔。
实例:#SAY欢迎来到传奇世界!/我这里可以兑换装备,需要什么尽管说!/输入@兑换即可查看兑换列表。
补充:文字中可以加入简单符号,比如【】、★,让显示更清晰,比如#SAY【新手福利】/等级达到30级可领取新手套装!
2.#ACT命令:用于执行具体操作,比如给物品、传地图、调等级,必须跟在#IF或#SAY后面,单独使用无效,是脚本的核心执行命令。
用法:#ACT后面跟具体操作命令,每个操作命令单独一行,按顺序执行。
实例:#SAY领取新手福利吗?/是(@getgift)#ACTgive新手头盔1give新手铠甲1changelevel+5
3.#IF命令:用于条件判断,满足条件就执行#ACT后面的操作,不满足则执行#ELSESAY或#ELSEACT后面的内容,相当于“如果…就…”。
用法:#IF后面跟判断条件,条件成立则执行下方#ACT,不成立则执行#ELSESAY。
实例:#IFchecklevel>=30#SAY恭喜你达到30级,可领取奖励!/领取奖励(@get30gift)#ACTgive沃玛项链1#ELSESAY抱歉,你等级不足30级,无法领取奖励!
4.goto@段命令:用于跳转脚本段落,让脚本执行更灵活,避免重复编写相同内容,“@段”后面跟英文或数字均可。
用法:先定义段落(比如@start、@end),再用goto@段跳转,段落名前面必须加@。
实例:#SAY你要做什么?/1.领取福利(@gift)/2.传送地图(@map)goto@start@gift#SAY正在发放福利…#ACTgive金币10000goto@end@map#SAY请选择要传送的地图!@end#SAY操作完成,欢迎下次再来!
第二类:人物相关命令(控制人物属性、状态),主要用于调整人物等级、经验、职业、属性等,常用命令6个,覆盖新手高频需求。
1.changelevel命令:调整人物等级,可增加、减少或直接设置等级,新手常用它给新手调等级。
用法:changelevel+数值(增加等级)、changelevel-数值(减少等级)、changelevel=数值(直接设置等级)。
实例:changelevel+10(给人物增加10级)、changelevel=50(将人物等级直接设为50级)、changelevel-3(给人物减少3级)。
2.changeexp命令:调整人物经验值,用法和等级命令类似,可增加、减少或设置经验。
用法:changeexp+数值(增加经验)、changeexp-数值(减少经验)、changeexp=数值(直接设置经验)。
实例:changeexp+100000(给人物增加10万经验)、changeexp=500000(将人物经验设为50万)。
3.checklevel命令:判断人物等级,常和#IF配合使用,用于等级相关的条件判断。
用法:#IFchecklevel>=数值(等级大于等于)、checklevel<=数值(等级小于等于)、checklevel=数值(等级等于)。
实例:#IFchecklevel>=40#ACTgive祖玛戒指1(等级大于等于40级,就给祖玛戒指)。
4.checkjob命令:判断人物职业,用于职业专属任务、装备兑换,传奇职业分为Warrior(战士)、Wizard(法师)、Taoist(道士)。
用法:#IFcheckjob职业名称,后面跟#ACT执行对应操作。
实例:#IFcheckjobWarrior#SAY战士专属福利!/领取(@warriorgift)#ACTgive裁决1#ELSESAY你不是战士,无法领取专属福利!
5.addskill命令:给人物添加指定技能,可设置技能等级,新手常用它给新手添加基础技能。
用法:addskill技能名称技能等级(等级范围1-7,7级为满级)。
实例:addskill烈火剑法3(给人物添加3级烈火剑法)、addskill治愈术7(给人物添加满级治愈术)。
6.changesex命令:修改人物性别,可用于性别相关的任务或道具效果。
用法:changesex0(男)、changesex1(女),直接设置即可。
实例:#ACTchangesex1(将人物性别改为女性)。
第三类:物品相关命令(控制物品发放、回收、检测),核心用于NPC兑换、任务奖励、物品检测,常用命令7个,全程直白好记。
1.give命令:给人物发放物品,最常用的物品命令,可发放装备、药品、金币等。
用法:give物品名称数量(数量不写默认1个)。
实例:give强效金创药10(给10瓶强效金创药)、give金币5000(给5000金币)、give沃玛手镯2(给2个沃玛手镯)。
2.take命令:回收人物身上的物品,和give命令相反,用于任务提交、物品兑换。
用法:take物品名称数量(数量不写默认1个),可添加参数0或1(0不检测装备改名,1检测)。
实例:take沃玛号角1(回收1个沃玛号角)、take金币10000(回收1000金币,不检测金币是否改名)。
3.checkitem命令:检测人物身上是否有指定物品及数量,常和#IF配合使用,用于任务提交、物品兑换。
用法:#IFcheckitem物品名称数量(数量不写默认1个)。
实例:#IFcheckitem僵尸牙齿10#SAY你收集够了僵尸牙齿,可兑换奖励!#ACTtake僵尸牙齿10give金币20000。
4.checkitemw命令:检测人物是否佩戴指定物品,区别于checkitem(检测背包),这个命令检测身上佩戴的装备。
用法:#IFcheckitemw物品名称(无需写数量,检测是否佩戴)。
实例:#IFcheckitemw沃玛头盔#SAY你已佩戴沃玛头盔,可进入沃玛寺庙!#ACTmap沃玛寺庙。
5.checkbagsize命令:检测人物背包空格数量,用于发放物品前判断,避免背包满了无法发放。
用法:#IFcheckbagsize数量(检测背包是否有足够空格)。
实例:#IFcheckbagsize3#ACTgive强效金创药3#ELSESAY你的背包空格不足3个,无法领取药品!
6.clearitem命令:清空人物背包内指定物品,可用于重置任务、清理垃圾物品。
用法:clearitem物品名称(清空该物品所有数量)。
实例:#ACTclearitem僵尸牙齿(清空人物背包内所有僵尸牙齿)。
7.checkduraeva命令:检测人物所带物品的品质,多用于矿物、宝石等有品质的物品检测。
用法:#IFcheckduraeva物品名称数值(数值为品质等级)。
实例:#IFcheckduraeva金矿10#SAY你有高品质金矿,可兑换丰厚奖励!#ACTtake金矿1give金币5000。
第四类:地图相关命令(控制人物传送、地图状态),用于NPC传送、任务地图跳转,常用命令5个,新手一看就会。
1.map命令:将人物传送到指定地图的随机坐标,不用设置具体位置,简单快捷。
用法:map地图名称(地图名称需和服务端地图文件名称一致,比如“沃玛寺庙”“比奇城”)。
实例:#ACTmap比奇城(将人物传送到比奇城随机坐标)、map祖玛寺庙(传送到祖玛寺庙随机坐标)。
2.mapmove命令:将人物传送到指定地图的具体坐标,精准传送,适合任务指定位置。
用法:mapmove地图名称横坐标纵坐标(范围留空或填0则为定点传送)。
实例:#ACTmapmove比奇城320280(将人物传送到比奇城320280坐标)、mapmove沃玛寺庙1201000(定点传送到沃玛寺庙120100坐标)。
3.monclear命令:清除指定地图内的所有怪物,用于清理地图、重置怪物刷新。
用法:monclear地图名称(填写要清理的地图名称)。
实例:#ACTmonclear沃玛寺庙(清除沃玛寺庙内所有怪物)。
4.timerecall命令:设置人物在指定地图的停留时间,时间到后自动传送回原位置。
用法:timerecall数值(数值为分钟,设置停留时间)。
实例:#ACTmap幻境timerecall10(将人物传送到幻境,10分钟后自动传送回原位置)。
5.breaktimerecall命令:中断timerecall命令设置的停留时间,让人物立即传送回原位置。
用法:直接使用#ACTbreaktimerecall,无需添加其他参数。
实例:#ACTbreaktimerecall(中断幻境停留时间,人物立即返回原位置)。
第五类:怪物相关命令(控制怪物刷新、召唤),用于NPC刷怪、任务怪物召唤,常用命令4个,操作简单。
1.mongen命令:在指定地图、指定坐标刷出指定数量的怪物,可设置刷新时间。
用法:mongen怪物名称数量时间(时间单位为秒,不写则刷新后不消失)。
实例:#ACTmongen僵尸5300(在当前地图刷出5只僵尸,300秒后自动消失)、mongen沃玛教主1(在当前地图刷出1只沃玛教主,不自动消失)。
2.recallmob命令:召唤指定怪物作为人物宝宝,可设置宝宝等级、叛变时间。
用法:recallmob怪物名称宝宝等级叛变时间(宝宝等级最高7级,叛变时间单位为分钟)。
实例:#ACTrecallmob神兽710(召唤1只7级神兽作为宝宝,10分钟后叛变)。
3.checkmonmap命令:检测指定地图内的怪物数量,常和#IF配合使用,用于刷怪条件判断。
用法:#IFcheckmonmap地图名称数值(检测该地图内怪物数量是否满足条件)。
实例:#IFcheckmonmap沃玛寺庙0#SAY沃玛寺庙内无怪物,可刷新怪物!#ACTmongen沃玛卫士10。
4.clearmon命令:清除当前地图内的所有怪物,和monclear命令类似,区别在于无需指定地图,只清除当前所在地图。
用法:直接使用#ACTclearmon,无需添加其他参数。
实例:#ACTclearmon(清除人物当前所在地图的所有怪物)。
第六类:逻辑判断与变量命令(脚本进阶,控制脚本灵活执行),新手先掌握基础用法,后续可逐步深入,常用命令6个。
1.equal命令:判断变量是否等于指定数值,变量用字母表示(如P0-P9、D0-D9),常和#IF配合使用。
用法:#IFequal变量数值。
实例:#IFequalP01#ACTgive金币10000#ELSESAY你未完成任务,无法领取奖励!(P0=1表示完成任务)。
2.small命令:判断变量是否小于指定数值,用法和equal命令类似。
用法:#IFsmall变量数值。
实例:#IFsmallP03#ACTgive药品1#ELSESAY你已领取3次奖励,无法再领取!(P0小于3表示可领取)。
3.large命令:判断变量是否大于指定数值,用于变量范围判断。
用法:#IFlarge变量数值。
实例:#IFlargeP05#ACTgive装备1(P0大于5表示满足条件)。
4.mov命令:给变量赋值,用于设置变量初始值、记录任务进度。
用法:mov变量数值。
实例:#ACTmovP01(给变量P0赋值1,标记任务完成)、movD00(给变量D0赋值0,重置任务进度)。
5.inc命令:给变量增加指定数值,用于累计任务次数、奖励次数。
用法:inc变量数值(数值不写默认加1)。
实例:#ACTincP01(给变量P0加1,累计领取奖励1次)、incD02(给变量D0加2)。
6.random命令:随机概率判断,数值越大,概率越低,用于随机奖励、随机事件。
用法:#IFrandom数值(数值=1为100%概率,数值=2为50%概率,数值=4为25%概率)。
实例:#IFrandom2#ACTgive祖玛装备1#ELSESAY很遗憾,未获得奖励!(50%概率获得祖玛装备)。
下面拆解新手编写脚本命令时最常见的6个问题,每个问题都有简单解决方法,遇到问题直接对照排查,不用慌。
常见问题一:输入命令后,脚本不生效,无任何反应。解决方法:检查命令大小写是否正确,是否多输、少输空格或符号;检查脚本文件路径是否正确(必须在QuestDiary文件夹下);修改后重启M2引擎,未重启则命令不生效。
常见问题二:#ACT后面的命令只执行第一个,后面的不执行。解决方法:每个命令单独一行,不要写在同一行;检查命令格式是否正确,避免某个命令出错导致后续命令无法执行。
常见问题三:give、take命令提示“物品不存在”。解决方法:检查物品名称是否和服务端StdItems.DB中的物品名称一致,不能有错别字;确认物品数据库中存在该物品,物品名称区分大小写。
常见问题四:map、mapmove命令无法传送,提示“地图不存在”。解决方法:检查地图名称是否和服务端地图文件名称一致,地图名称不能有错别字;确认服务端已加载该地图,未加载则无法传送。
常见问题五:变量命令使用后,判断无效。解决方法:检查变量名称是否正确(只能用P0-P9、D0-D9);检查变量赋值和判断的数值是否对应,避免赋值和判断不一致。
常见问题六:脚本编写后,NPC对话显示乱码。解决方法:用记事本打开脚本文件,点击“文件”→“另存为”,将编码格式改为“ANSI”,保存后覆盖原文件,重启M2引擎即可。
新手专属小技巧:1.编写脚本时,先复制文中的命令实例,再修改物品名称、数值、地图等参数,避免手动输入出错;2.复杂脚本可分段编写,用goto命令跳转,便于修改和查看;3.修改脚本前,备份原脚本文件,避免修改错误导致脚本失效;4.常用命令可单独记录在记事本,方便随时查看,不用死记硬背。
还有一种特殊情况,部分服务端引擎(如GOM、GEE)的部分脚本命令名称略有差异,但核心用法一致,比如“mapmove”在部分引擎中可写为“movemap”,若命令不生效,可尝试更换类似命令名称,或查看服务端自带的脚本示例。
另外,新手初期不用掌握所有命令,重点掌握“核心基础命令+人物+物品+地图”这四类常用命令,能编写简单的NPC对话、物品兑换、地图传送脚本即可,后续再逐步学习逻辑判断和变量命令,提升脚本复杂度。
再给大家梳理一遍核心重点:传奇脚本命令按功能分类记忆,编写时严格注意格式、大小写和符号,修改后重启M2引擎生效;新手优先用实例修改参数,避免手动输入出错;遇到命令不生效,优先排查格式、路径和引擎重启问题。
总结一下,传奇脚本命令不难,核心是掌握常用命令的用法和格式,结合实例多练习,就能快速上手,不用懂复杂的电脑技术,新手跟着文中的命令用法和实例编写,就能完成简单的游戏脚本,满足日常的NPC交互、任务、传送等需求,后续可根据自身需求,逐步学习进阶命令,编写更复杂的脚本。
[顶部]