这个教程也是基于AKI端为例讲解,但是普通端也是这个套路改,只不过文件路径和形式不一样,具体可以看看之前发过的AKI端和普通端文件位置对应的帖子。
首先,AI刷新的种类和难度是在地图文件夹里的base.json文件里。地图文件路径一般为EFT\Server\packages\eft-database\db\locations\地图名
地图名对应如下:
bigmap-海关,develop-竞技场,factory4_day/night-工厂白天/夜晚,hideout-藏身处,interchange-立交桥,laboratory-实验室
rezervbase-储备站,shoreline-海岸线,woods-森林
找到其对应名字的文件夹,进入里面的base文件修改:
base文件中,我们主要关注的修改点是这几个:
1.地图开放:
“Enabled”: true, 这个设置为true,下面那个设置为false则该地图便处于开放状态,竞技场就是这样设置之后就可以进入游玩了。
“Locked”: false,
2.AI刷新的开放区域:
“OpenZones”: “ZoneRailStrorage,ZonePTOR1,ZonePTOR2,ZoneBarrack,ZoneBunkerStorage,ZoneSubStorage”,
这是以储备站为例的代码段,其实经试验完全不止这几个刷新点,应该还有更多的地点,但是我们不知道名字。
♥3.AI刷新代码段:
(1)数量/难度/时间相关:
“waves”: [{ //这个wave就是波数,地图中AI刷新应该是以一波一波刷新的形式进行的,但是这也和我们玩游戏时对AI数量的设置有关
“number”: 1, //波次,经试验不同地图波次最高得达到过28波,也有第 0 波,这个第 0 波猜测是独立与其他波次的刷新回合
“time_min”: 0, //刷新的时间,单位是秒,猜测是从战局开始时进行计数,在time_min——time_max这段时间内随机刷新
“time_max”: 10,
“slots_min”: 2, //这一波的AI数量,和你在游戏里设置的AI数量(低,中,高,排山倒海)也有关系。同线上的AI数量是文件内数值的1.4倍。
“slots_max”: 3, //这一波AI的数量是在(slot_min,slot_max)这个区间内随机取值的。
“SpawnPoints”: “”, //AI刷新的地点,对应上面的OpenZones,输入一个值就在指定地点刷新,不输入就是随机地点刷新
“BotSide”: “Savage”, //AI的从属阵营,不建议改,我自己改了有时候刷不出来AI
“BotPreset”: “normal”, //AI的基础难度,和你游戏内的设置(简单,困难,地狱)也有关系。
“isPlayers”: false,
“WildSpawnType”: “assault” //AI的种类,assault这个类其实比较特殊,下面细说:
}
*以前有过一个MOD是让AI的刷新只在开局刷新一次,以后不再刷新,从而优化流畅性,代码的形式大致是这样:
把地图文件里,高波次的AI刷新数量全设置为0。(也就是其他波次的”slots_min”和”slots_max”都设置为0)
然后只留第一个波次进行修改:
{
“number”: 1,
“time_min”: -1, //设置为-1就是在开局时间附近刷新
“time_max”: -1,
“slots_min”: 10, //固定刷新>10个数量的AI
“slots_max”: 10,
“ChanceGroup”: 100, //这一行可加可不加,加上之后生成的AI会组队,而且pmcAI之间会因为组队发生类似玩家之间的战斗。
(普通pmcAI不会互相攻击)
“SpawnPoints”: “”, //分散到地图各地
“BotSide”: “Savage”,
“BotPreset”: “impossible”, //基础难度为地狱
“isPlayers”: false,
“WildSpawnType”: “assault”
}
这里要注意一下这个”SpawnPoints”: “”, //作用是分散到地图各地,:
如果这个值设置了指定的地点名,那么所有的AI都会刷在那个地点。但是如果你不输入值,那它刷新的地点就是随机的,
但是又并不是所有AI都刷新到一个共同的随机地点,是分散开刷新在地图各处,有点神奇,所以特别提出来说明一下。
(2)AI种类:
AI种类的值可以在EFT\Server\packages\eft-database\db\bots\types里面查看,这些文件的名字就是AI的种类,
但是要注意名字的大小写并没有对应:
assault:直译是突击兵,但是它是AI种类里面最特殊的一个种类,它可以是scav,也可以是pmcAI,具体是什么要根据
你对另一个AIpresets的值来判断,
在EFT\Server\packages\eft-bots\src\config.js里面,如果你是R5及以前的版本,那很简洁明了:
文件中“spawnChance”: 100, 就代表了assault种类中,pmcAI刷新的概率。
“usecChance”: 50, 就代表了assault生成的pmcAI中生成属于usec阵营的概率。
那很明显,spawnChance的值如果设置为0,assault就只生成scavAI,不会有pmcAI产生。
这是R5以及之前的版本的修改,R6的文件结构变化了,我另外一个贴有写到一种修改方法是自行添加可以控制pmcAI产出率的数值
来进行设置,有兴趣的朋友可以去看看:12.8-R6-PMC刷新率可控化修改/全地图scav问题修复教程-Oddba
bossKilla\boss*****:
很明显,这些以boss开头的名字就是boss类的AI了,你也可以把他们设置为地图中刷新的AI,那就是地图里全都是killa,看到人就涡轮苏卡。
但是要注意,boss名里有大写字母,一般是名字开头第一个,比如bosskilla在文件里应该是bossKilla
bossgluhar在文件里应该是bossGluhar之类的。
follower开头的就是boss的小弟种类了,这里点一下Gluhar的突击兵小弟:followerGluharAssault,他们有着和killa一样见人就冲的特性,
但是比killa要好对付。
pmcBot:这个就是大名鼎鼎的美军raider的AI种类了,你可以在实验室的base.json文件中的boss类里,和储备站文件的boss类里看到他们。
他们可以作为boss出现也可以作为普通AI出现,所以以前有一些把所有AI替换为raider的操作大致就是把assault设置为pmcBot实现的
注意:因为pmcBot的阵营在游戏内是属于scav的,所以如果要想所有AI都是raider则需要把scav的产出率设置为100,
也就是spawnChance设置为0。
接下来说说地图里的刷新波数:
上面提到过,AI的数量和你的游戏内设置有关,比如你设置为低,中,高,排山倒海这些,AI的有效波数都不一样
我自己试验的感受就是,从低到高,文件里的waves生效会不一样
比如:游戏内设置为低,那么很可能只有waves中波次为1,2,3的序号比较低的波次会生效
设置为高,那么可能是所有波次都生效,并且刷新的AI的数量会成倍数出现。
设置为排山倒海,就是这些波次会反复生效,以形成源源不断刷新的局势。
而且一个地方的AI刷新之后,你虽然没有看见更多的AI出现,但是在你杀掉一个AI之后,可能在某一个地点又会立马刷出新的,这也是因为
一个区域的AI数量有限制,你以为刷完了,但其实AI们还在排队等着刷新。
设置为地图中刷新的AI,那就是地图里全都是killa
是这样吗,"WildSpawnType": "bosskilla", 这里全部改成这样?
"number": 0,
"time_min": 3,
"time_max": 3,
"slots_min": 3,
"slots_max": 5,
"SpawnPoints": "ZoneWoodCutter",
"BotSide": "Savage",
"BotPreset": "impossible",
"WildSpawnType": "bosskilla",
"isPlayers": false,
"OpenZones": ""
谢谢楼主宝贵的经验!
谢谢大佬!
大佬怎么才能固定刷几个ai呢,太卡了,
很详细已收藏! 希望楼主出更多修改教程。
666666666666