• 注册
  • 离线版教程 离线版教程 关注:5898 内容:996

    地图AI修改/数量/难度/种类,带开启 竞技场地图 教程

  • 查看作者
  • 打赏作者
  • 当前位置: ODDBA社区 > 离线版交流区 > 离线版教程 > 正文
  • 34
  • 离线版教程
  • 初窥堂奥

    这个教程也是基于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": ""


  • wowoka你这样的话,刷新地点是固定的,然后下面这个openzones是怎么回事?代码段里面不应该有这个
    拉黑 4年前 电脑端回复
  • chenxi725 @wowoka R3要怎么改
    拉黑 4年前 电脑端回复
  • wowoka @chenxi725 也这样改啊,ai刷新这个是一样的啊
    拉黑 4年前 电脑端回复
  • chenxi725 @wowoka 好的,我先该美军在所有地图都有,不知道怎么改,想想还是换版本算了,可是档就废了要重新搞
    拉黑 4年前 电脑端回复
  • 回复
    渐入佳境

    谢谢楼主宝贵的经验!

    回复
    自成一派
    打赏了10金币
    回复
    圆转纯熟

    谢谢大佬!

    回复
    初来乍到

    大佬怎么才能固定刷几个ai呢,太卡了,

  • wowokaslotmin/max改成7左右吧,游戏内选择同线上数量,那全图大概就10个AI左右,1.4的倍率,你可以自己算
    拉黑 4年前 电脑端回复
  • wowoka然后按照文章里面只让第一波产生AI,其他波数的slot都设为0
    拉黑 4年前 电脑端回复
  • 回复
    圆转纯熟
    打赏了5金币
    回复
    略有小成
    VIP1
    2021

    很详细已收藏! 希望楼主出更多修改教程。

    回复
    略有小成
    VIP1
    2021
    打赏了10金币
    回复
    略有小成
    打赏了3金币
    回复
    登堂入室

    666666666666

    回复

    请登录之后再进行评论

    登录
    离线版交流区
  • 今日 1
  • 内容 10544
  • 关注 5898
  • 聊天
    关注 152

    【招募】GRIFFIN TKF项目开工 期待你的加入 || 你是否想加入格里芬书写自己与人形的故事

  • 签到
  • 任务
  • 发布
  • 模式切换
  • 偏好设置
  • 帖子间隔 侧栏位置: