传奇引擎龙卫心法神技强化命令与显示小地图脚本配置完整方法讲解

来源: 作者: 点击:
龙卫心法这套东西在版本里通常挂在卧龙山庄那条线上,玩家做完前置任务拿到心法书,再找NPC运功,属性和技能一起涨。神技强化是后半段,把学会的技能往上顶等级。小地图那块看着和心法无关,实际是两件事拼在一个NPC脚本里,不少人分开写就乱。下面把三段拆开讲,再合到一起。

一、龙卫心法在版本里怎么挂

心法本体一般做成一件特殊装备,穿在四格位或者专门的槽里,人物佩戴之后属性才生效。脚本做的事就三步,检测有没有这本书,检测人物等级够不够,够了就把书收掉换上对应的心法装备,同时给人加属性。

心法书是物品数据库里的一条记录,自己建。属性和技能等级怎么涨,看版本做法。有的是心法装备自带属性,戴上去自动生效,脚本只管换装;有的是靠变量记心法层数,每运功一次变量加一,再用属性命令往上叠。两种都常见,第一种省事,第二种灵活。

二、加属性的命令怎么写

给人物加属性的命令,引擎叫法不一样,常见的是属性变更类命令,后面跟属性代号和点数。写法上要注意,属性代号各引擎不统一,0是攻击还是别的,得对着自己引擎的表。拿不准就先写一段单测,进游戏戴一下看数值变没变,确认能跑再往正式段里合。

做完验算很重要。心法一层加多少攻、加多少血,别拍脑袋填。先定好一层的基准值,再按层数乘上去。比如一层给5点攻击,十层给50点,写的时候用一个变量承接层数,属性点数就是层数乘以5。这样后面调平衡只改那个5,不用一行行改。

三、神技强化那段

神技强化管的是技能等级。玩法是玩家把已经学会的某门技能拿来找NPC强化,强化成功技能等级加一,失败不动或者掉一,看版本设定。

脚本逻辑是这样。先检测技能学了没有,学了才能强化,没学给提示。再检测有没有强化用的材料或者费用,扣掉,然后进随机判定。判定通过就给技能加一级,不通过给个提示。加技能等级用的命令是给技能书或者直接设技能等级,两套做法都行,前者是塞一本高级技能书到背包,玩家自己点学,后者是脚本直接改等级,省玩家一步。

强化成功率不要写死,用随机数控制。常见的写法是生成一个随机值,和设定阈值比大小,小于阈值算成功。阈值填高成功率就高。想分档,材料不同成功率不同,那就按材料分支,每支写一个阈值。

四、强化次数和层数要封顶

这点容易漏。技能等级引擎有上限,一般到某级就不再涨,脚本里如果没做上限判断,玩家材料够就一直点,涨到最后引擎吞掉,看着像强化没反应。稳妥做法是在进判定之前先查一次当前技能等级,到顶了直接给提示结束,不让往下走。

心法的层数同理。层数封顶,超了不加。封顶值写在脚本里或者一个配置变量里,改的时候一处动全服动。

五、显示小地图的原理

小地图这块和心法没关系,是单独的一行配置。引擎跑起来的时候,人物进到哪张地图,右上角就调出哪张图的缩略图。缩略图从哪来,看两个地方。一个是小地图配置文件,通常叫 MiniMap.txt,放在 Envir 目录下,一行登记一张图;另一个是缩略图素材本身,放在客户端补丁的某个目录里,引擎按编号去读。

MiniMap.txt 的格式很简单,前面写地图编号,后面跟一个序号,中间空格隔开。这个序号是缩略图在素材里的位置,算法各引擎不一样。用 mmap.wil 的,序号是图片序号加一;用扩展 pak 包的,一般从 10001 起算。序号算错,显示的会是别人的地图缩略图,看着对不上。

地图编号要填 MapInfo.txt 里那张图的编号,不是地图中文名。填中文名引擎匹配不到,那一行等于没写。

六、新地图的小地图要单独补

版本里后来加的自定义地图,如果 MapInfo.txt 里登记了,但 MiniMap.txt 里没有那一行,玩家进去右上角就是黑的,或者显示成一张默认图。这就是要补的地方。找到新地图的编号,去素材包里找到对应的缩略图,数出序号,写一行进去。

素材里没有对应缩略图的,得自己往 wil 或者 pak 里加一帧。加的时候记住加在第几帧,序号就是这个帧号加一。加完保存,客户端补丁也要更新,服务端改了客户端不更新,玩家那边看不到。

七、脚本里能不能动态控小地图

能,但不是所有引擎都支持。部分引擎提供打开和关闭小地图的命令,写在脚本里,进到某张地图执行打开,离开执行关闭。适合做那种剧情地图,前期不让看地图,后期开放。

支持的引擎写法一般是一句开关命令,后面跟开或者关的参数。不支持的引擎,这个命令写了也不报错,就是不执行,看着像脚本没反应。用之前先确认自己引擎认不认这条命令。

还有一种做法是控制小地图的显示范围,做成探索类玩法,走过的区域才亮。这个属于引擎功能或者插件功能,脚本层面最多只能开关,细化到区域靠的是引擎自己实现。

八、把三段拼到一个NPC里

实际配的时候,这三件事经常挂在同一个NPC上,玩家点一次能看到心法、神技、小地图的相关选项。写法是主段里列几个按钮,每个按钮跳到一个子段,子段各干各的活。

主段结构就是问好加按钮。三个按钮,心法那块跳去 @心法,神技那块跳 @神技,小地图那块跳 @地图设置。子段里各自检测条件、执行动作、给提示,页尾挂返回按钮,点一下回主段。返回按钮别忘写,不写玩家点完子段就回不来,只能关掉重开。

按钮的尖括号和斜杠是硬要求,写成全角括号或者漏了斜杠,按钮就成了灰字,点不动。段名也要对得上,主段里写 @心法,子段实际叫 [@心法],差个字就跳不过去。

九、常见问题排查

第一类,心法戴上去属性没变。心法装备的属性字段没填对,或者属性加在脚本里但检测命令没通过。分开查,先确认装备本身属性对不对,再查脚本。

第二类,神技点了一直成功或者一直失败。随机判定那段写死了,或者阈值填得不合理。看一下随机数的生成和比较,阈值不能填成一边倒。

第三类,技能涨了但显示等级没变。技能等级和界面显示不同步,或者改的是另一门技能。对着自己引擎的技能编号表核一遍。

第四类,小地图黑了。MiniMap.txt 里没登记这张图,或者序号算错,或者素材缺帧。三处一层层查。

第五类,小地图显示成别的图。序号和别的图重了,换一个不冲突的序号重填。

第六类,改完脚本不生效。没重载NPC。改脚本内容重载就够,动了 MiniMap.txt 这类配置文件,重启服务端才认。

十、改动前后的核对顺序

动手前把 MerChant.txt、涉及到的NPC脚本、MapInfo.txt、MiniMap.txt 各备份一份,改坏了能立刻还原。

改完按这个顺序过一遍:先确认心法装备在物品数据库里建好、属性填对;再确认神技那段的成功率、材料、封顶值都对;接着确认小地图那行登记的地图编号和序号算对、素材里有对应帧;然后重启服务端,在控制台重新加载所有NPC;最后进游戏实测,戴心法看属性、点神技看等级、进新地图看右上角。三处都对上,这套东西就算配齐了。

心法、神技、小地图看着是三件事,落到脚本里都是一段一段的检测加动作。结构摸熟了,换成别的属性、别的技能、别的地图,照这套结构替换名字和编号即可,不用重新设计一遍。