不知道有无违规
原链接:SWAG + Donuts
原作者很久不更新了,但是目前有一个对自定义玩家来说很严重的bug,作者在代码里有这样一段
public bool ShouldSpawn() { if (_onCooldown) { return false; } if (IgnoreTimerFirstSpawn) { IgnoreTimerFirstSpawn = false; // Ensure this is only true for the first spawn return true; } return _waveTimer >= TriggerTimer; }
直接简单粗暴IgnoreTimerFirstSpawn = false,后果就是IgnoreTimerFirstSpawn的选项开局就会触发,这个选项就几乎无用了,实际游戏中这个选项确实没用,除非你范围设置为全图,开局进入游戏触发该选项时你本就在生成点范围内
修改代码,让这个选项生效在判定符合距离之后,概率判定之前。举例说明【A点设置300m内每隔60分钟50%概率生成ai,开启忽略首次计时】,结果为【靠近A点300m时就会有50%概率生成ai】,你甚至可以给A点再添加一个同样的触发器,达成靠近A点发现25%几率两队ai在打架,50%概率有一队ai,25%几率没人。
隐藏内容需要回复可以看见
回复
甜甜圈本来是个必不可少的AI刷新模组可惜不更新了 哎 难绷
又发现一个新bug,或者是机制?
触发器区域决定了触发坐标和生成坐标,但这两个坐标完全不是一个东西,这个区域可以选择很多甚至是全图,但选择生成的坐标很有可能不符合最大距离要求,举例说明,你在北边A点触发了全图触发器,生成时随机选择了南边B点,但是这个南边点不在触发范围内,就会生成失败,这就是触发点和生成点不一定一致。导致看起来设置一分钟全图100%生成一个,但实际上四五分钟才生成一个ai。
解决方法要么是拉大触发距离,默认的800m基本上覆盖大半图,要么是尽量设置小区域,保证触发生成时该触发器所有坐标范围都能覆盖到玩家
特别的,如果使用修复后的文件,启用忽略首次计时功能,生成区域最好只设置一个点,每多一个点就提高首次生成失败的概率。
3楼的说明有些问题,又分析了代码,不是因为触发和生成不一致导致的,在选择生成点的第一个条件中,就是寻找符合距离的点,然后才是概率视线最小距离之类的判定,真正的原因是,每次遍历坐标只能从一个区域内遍历,而all,hotspot,start,这种是多个区域,而选取区域居然是随机的
所以一样导致了,选择为全图生成[all],而你在地图的A区,选择生成的却随机到地图的B区,遍历完B区的点,发现都不符合距离,所以生成失败了
然后我又修复这bug,删除了匹配这三种字符串的区域随机选择,改成合并区域
新版就不发了,因为好像没人需求。
66666666666666
666
1
66666666666
谢谢楼主的分享!这个绝对要顶!!!
666666666666