
Questing Bots 0.9.1
-
- SPT 3.10
- DanW
- 307k Downloads
- 1.7k Comments
Bothering mod authors will lead to warnings and repeat offenses will lead to bans.
SAIN 3.2.0 or later and Looting Bots 1.4.0 or later are highly recommended!
This mod may have a performance impact, but it should be minimal starting with the 0.5.0 release. If you notice performance problems, please try using the built-in AI limiter.
Mod Compatibility:
REQUIRED | BigBrain (1.2.0 or later) Waypoints (1.6.2 or later) |
Highly Recommended | SAIN (3.2.0 or later recommended) Looting Bots (1.4.0 or later recommended) |
NOT Compatible | AI Limit or any other mods that disable AI in a similar manner. This mod relies on the AI being active throughout the entire map. Starting with 0.2.10, Questing Bots has its own AI Limiter feature. Please see the tab below for more information. |
Partially Compatible | Fika (Requires client version 0.9.8962.33287 or later) (If you're using the Questing Bots spawning system, you must disable Enforced Spawn Limits in the F12 menu for Fika) Traveler, Entry Point Selector, and similar mods that significantly reduce spawn points (You MUST use another mod like SWAG + DONUTS to manage bot spawning when using this mod. Otherwise, bots will spawn right in front of you.) Please Just Fight (This mod should only be used if you're not using the Questing Bots spawning system) |
Compatible | SWAG + DONUTS (Bot spawning in this mod will be automatically disabled) Late to the Party Performance Improvements (Must be version 0.2.4 or newer) |
NOTE: Please disable the bot-spawning system in this mod if you're using other mods that manage spawning! Otherwise, there will be too many bots on the map. The bot-spawning system in this quest will be automatically disabled if any of the following mods are detected:
- Open the ZIP file you downloaded for this mod
- Extract the "BepInEx" and "user" folders into your SPT install directory, and overwrite any existing files
Example from another mod (thanks, DrakiaXYZ!):
Instead of simply patrolling their spawn areas, bots will now move around the map to perform randomly-selected quest objectives. By default this system is only active for PMC's and player Scavs, but it can be enabled for normal Scavs and bosses if you want an extra challenge.
After spawning (regardless of when this occurs during the raid), bots will immediately begin questing, and there are only a few conditions that will cause them to stop questing:
- They got stuck too many times
- Their health is too low and they're unable to heal
- They're over-encumbered
- They're trying to extract (using SAIN)
Otherwise, they will only temporarily stop questing for the following reasons:
- They're currently or were just recently in combat
- They heard a suspicious noise
- They recently completed an objective
- They're checking for or have found loot
- Their health is too low or they have blacked limbs (besides arms)
- Their energy or hydration is too low
- They have followers that are too far from them
There are several types of quests available to each bot:
- EFT Quests: Bots will go to locations specified in EFT quests for placing markers, collecting/placing items, killing other bots, etc. Bots can also use quests added by other mods.
- Spawn Rush: At the beginning of the raid, bots that are within a certain distance of you will run to your spawn point. Only a certain number of bots are allowed to perform this quest, and they won't always select it. This makes PVP-focused maps like Factory even more challenging.
- Boss Hunter: Bots will search zones in which bosses are known to spawn. They will only be allowed to select this quest at the beginning of the raid (within the first 5 minutes by default) and if they're a high enough level.
- Airdrop Chaser: Bots will run to the most recent airdrop if it's close to them (within 500m by default). They will be allowed to select this quest within questing.bot_quests.airdrop_bot_interest_time seconds (420s by default) of the airdrop crate landing.
- Spawn Point Wandering: Bots will wander to different spawn points around the map. This is used as a last resort in case the bot doesn't select any other quests. This quest is currently disabled by default because it should no longer be needed with the quest variety offered in the 0.4.0 and later releases.
- "Standard" Quests: Bots will go to specified locations around the map. They will prioritize more desirable locations for loot and locations that are closer to them. These also include some sniping and camping quests on all maps, so be careful!
- "Custom" Quests: You can create your own quests for bots using the templates for "standard" quests. None are provided by default.
---------- Bot Quest-Selection Algorithm Overview ----------
When each bot spawns, this mod finds the furthest extract from them and references it when selecting new quests for the bot. If the bot ever comes close enough to that extract while traversing the map, this happens again; a new extract is selected for it that is the furthest one from its current location. This continues until the bot extracts or dies. This extract is NOT used when bots extract via SAIN; it is only used when this mod selects new quests for the bot.
Before selecting a quest for a bot, all quests are first filtered to ensure they have at least one valid location on the map and the bot is able to accept the quest (it's not blocked by player level, etc.). Then, the following metrics are generated for every valid quest:
- The distance between the bot and each objective for the quest with some randomness applied (by questing.bot_quests.distance_randomness). This value is then normalized based on the furthest objective from the bot (for any valid quest), and finally it's multiplied by a weighting factor defined by questing.bot_quests.distance_weighting (1 by default).
- A "desirability" rating for each quest, which is the desirability rating
assigned to the quest but with some randomness applied (by questing.bot_quests.desirability_randomness). This value is divided by 100 and then multiplied by a weighting factor defined by questing.bot_quests.desirability_weighting (1 by default). There are modifiers that can be applied to the desirability ratings of quests including questing.bot_quests.desirability_camping_multiplier, questing.bot_quests.desirability_sniping_multiplier, and questing.bot_quests.desirability_active_quest_multiplier. More information about these settings can be found in the README or GitHub repo for this mod. - The angle between two vectors: the vector between the bot and its selected extract (described above), and the vector between the bot and each objective for the quest. If the quest objective is in the same direction as the bot's selected extract, this angle will be small. If the bot has to move further from its selected extract, this angle will be large. Angles that are below a certain threshold (90 deg by default) are reduced down to 0 deg. This value is divided by 180 deg minus the threshold just described (90 deg by default), and finally it's multiplied by a weighting factor defined by questing.bot_quests.exfil_direction_weighting, which is different for every map.
These three metrics are then added together, and the result is the overall score for the corresponding quest. The quest with the highest score is assigned to the bot. If for some reason the bot is unable to perform that quest, it selects the one with the next-highest score, and so on. If no quests are available for the bot to select, this mod will first try allowing the bot to perform repeatable quests early (before the questing.bot_questing_requirements.repeat_quest_delay delay expires). If there are no available repeatable quests, this mod will then attempt to make the bot extract via SAIN. Finally, this mod will stop assigning new quests to the bot.
At the beginning of the raid, PMC's will spawn around the map at actual EFT PMC spawn points. The spawning system will try to separate spawn points as much as possible, but spawn killing is still entirely possible just like it is in live Tarkov. The total number of PMC's that can spawn is a random number between the minimum and maximum player count for the map (other mods can change these values). However, you count as one of those PMC's for PMC raids. That number will be reduced if you spawn into the map late for a Scav run. The PMC difficulty is set by your raid settings in EFT.
Starting with the 0.4.0 release, player Scavs will also spawn throughout the raid. Each group of player Scavs will be assigned a minimum spawn time that is generated using SPT's raid-time-reduction settings for Scav raids. This mod will use SPT's weighting settings for choosing when player Scavs will spawn into each location, it will add some randomness, and then it will generate a spawn schedule for all player-Scav spawns. Effectively, this means that player Scavs are most likely to spawn toward the middle and last third of raids. They're unlikely to spawn toward the very beginning or very end of them. Player Scavs can spawn at any EFT PMC or player-Scav spawn point on the map, and player-Scav bot difficulty is set by your raid settings in EFT.
Only a certain (configurable) number of initial PMC's will spawn at the beginning of the raid, and the rest will spawn as the existing ones die. PMC's that spawn after the initial wave can spawn anywhere that is far enough from you and other bots (at any EFT spawn point for PMC's or player Scavs). After all PMC's have spawned, player Scavs will be allowed to spawn. The maximum total number of PMC's and player Scavs on the map cannot exceed the number of initial PMC's (determined by bot_spawns.max_alive_bots). For example, Customs allows 10-12 players, but Questing Bots only allows 7 to be on the map at the same time by default. That means 7 PMC's will spawn immediately as the raid starts, and as some of them die others will spawn to replace them. After all PMC's have spawned and less than 7 are remaining, player Scavs will be allowed to spawn. If there are 5 PMC's left on the map, 2 player Scavs will be allowed to spawn. If there are 3 PMC's left on the map, 4 player Scavs will be allowed to spawn, and so on. Even if most total PMC's have died, player Scavs will not be allowed to spawn earlier than their scheduled spawn times.
A new feature of the 0.4.0 and later releases is an advanced spawning system that tricks EFT into thinking that PMC's and player Scavs are human players. This makes PMC's and player Scavs not count toward the bot cap for the map, so they shouldn't impede normal EFT bot spawns for normal Scavs and bosses. It also prevents PMC's and player Scavs from counting toward the maximum bot counts for each zone on the map, and this allows normal Scavs to spawn like they would in live EFT. Without this system, all initial bosses must be configured to spawn first (which is a config option in this mod) or EFT may suppress them due to the high number of bots on the map. To accomodate the large initial PMC wave and still allow Scavs and bosses to spawn, the bot cap can be optionally increased (which is also a config option in this mod) if you're not using the advanced spawning system.
---------- PMC Group Spawning System ----------
- Spawn chances for various group sizes are configurable. By default, solo spawns are most likely, but 2-man and 3-man groups will be commonly seen. 4-man and 5-man groups are rare but possible.
- EFT will assign one bot in the group to be a "boss", and the boss will select the quest to perform. All other bots in the group will follow the boss.
- If any group members stray too far from the boss, the boss will stop questing and attempt to regroup
- If any member of the group engages in combat or hears a suspicious noise, all other members will stop questing (or following) and engage in combat too.
- If the boss is allowed to sprint, so are its followers and vice versa.
- If the boss of a bot group dies, EFT will automatically assign a new one from the remaining members
- Followers are only allowed to loot if they remain within a certain distance from the boss
---------- AI Limiter System ----------
Since normal AI Limit mods will disable bots that are questing (which will prevent them from exploring the map), this mod has its own AI Limiter with the following features:
- AI Limiting must be explicitly enabled in the F12 menu.
- AI Limiting must be explicitly enabled for bots that are questing for each map. By default, questing bots will only be disabled on Streets.
- Bots will only be allowed to be disabled if they are beyond a certain distance (200m by default) from human players. There are individual map-specific distances that can be adjusted by enabling advanced settings in the F12 menu, but the global setting will take priority. In other words, the actual limiting distance is the minimum of the two (the map-specific value and the global value). By default, all map-specific distances are set to 1000m to avoid confusion when only the global setting is adjusted.
- Bots will only be allowed to be disabled if they are beyond a certain distance (75m by default) from other bots that are questing (and not disabled)
---------- Scav Spawn Restrictions System ----------
The Questing Bots spawning system adds PMC and player-Scav spawns on top of existing vanilla EFT spawns to mimic the live PvP experience as much as possible. However, that also means issues with vanilla EFT spawning will also exist while using this mod, including excessive Scav spawning that overwhelms players. This is especially a problem in live PvE.
To mitigate Scav spawning issues experienced in live EFT, the 0.9.1 release introduces several F12 menu options to intervene with its Scav spawning system:
- Enable Scav Spawn Restrictions: Completely enable or disable all features described below.
- Map Fraction for Scav Spawning Exclusion Radius: In live PvP and PvE, Scavs may spawn as close as 1.8m from you, which is immersion-breaking and unfair. Questing Bots significantly increases the minimum distance from you that Scavs can spawn, based on this slider value. First, it finds the maximum distance between any two spawn points on the map (which approximates the map size). Then, it calculates the minimum spawning distance for Scavs by multiplying this distance by the slider value (0.1 by default). Finally, it blocks EFT from spawning any Scavs within the calculated minimum spawning distance of any players (human, AI PMC, or AI player Scav). Because the minimum distance scales with the map size, practically this means that Scavs cannot spawn within ~100m of you on Customs but only ~17m of you on Factory (using the default setting). Higher values may overly restrict Scav spawns, while lower values have a higher risk of Scavs spawning near you.
- Permitted Scav Spawn Rate: As Scavs are killed, EFT rapidly spawns new ones to replace them (until the map's bot cap is reached). This means you can get stuck in situations where Scavs are constantly swarming you during the raid. To alleviate this problem, Questing Bots limits the rate at which EFT is allowed to spawn Scavs to this slider value (2.5 Scavs / minute by default). This restriction begins after a certain number of Scavs have spawned, determined by the value of Threshold for Scav Spawn Rate Limit (see below). The time window used to calculate the Scav spawn rate is defined by bot_spawns.eft_new_spawn_system_adjustments.scav_spawn_rate_time_window (300s by default).
- Threshold for Scav Spawn Rate Limit: EFT will be allowed to spawn this number of Scavs from the start of the raid, and then Scav spawns will be limited by Permitted Scav Spawn Rate. The purpose of this threshold is to ensure the map is initially populated before Scav respawns are blocked. This is set to 10 by default.
- Max Alive Scavs: The total number of assault, assaultGroup, cursedAssault, and marksman Scavs that are alive on the map at the same time will be limited to this value (15 by default). Questing Bots will prevent EFT from spawning additional Scavs if this limit would be exceeded.
If Scav spawns are blocked by either the Permitted Scav Spawn Rate or Max Alive Scavs restrictions, Questing Bots will prevent EFT from attempting to spawn additional Scavs by the number of seconds defined by bot_spawns.eft_new_spawn_system_adjustments.non_wave_retry_delay_after_blocked (180s by default).
Objective System:
- Mods that add a lot of new quests may cause latency issues that may result in game stability problems and stuttering
- Bots tend to get trapped in certain areas. Known areas:
- Customs between Warehouse 4 and New Gas
- Customs in some Dorms rooms
- Lighthouse in the mountains near the Resort spawn
- Lighthouse on the rocks near the helicopter crash
- Bots blindly run to their objective (unless they're in combat) even if it's certain death (i.e. running into the Sawmill when Shturman is there).
- Bots take the most direct path to their objectives, which may involve running in the middle of an open area without any cover.
- Certain bot "brains" stay in a combat state for a long time, during which they're unable to continue their quests.
- Certain bot "brains" are blacklisted because they cause the bot to always be in a combat state and therefore never quest (i.e. exUSEC's when they're near a stationary weapon)
- Bots sometimes unlock doors for no reason if they can't properly resolve their quest locations.
- A "Destroying GameObjects immediately is not permitted during physics trigger/contact, animation event callbacks or OnValidate. You must use Destroy instead." error will sometimes appear in the game console after a bot unlocks a door. This can be ignored.
- Player-level ranges for some quests are not reasonable, so bots may do late-game quests at low player levels and vice versa. This is because EFT has no minimum level defined for several quest lines.
- Thanks to Props for sharing the code DONUTS uses to spawn bots. This was the inspiration to create this mod.
- Thanks to DrakiaXYZ for creating BigBrain and Waypoints and for all of your help with developing this mod.
- Thanks to nooky for lots of help with testing and ensuring this mod remains compatible with SWAG + DONUTS.
- Thanks to Skwizzy for help with adding interop capability to Looting Bots.
- Thanks to Solarint for help with improving interop capability to SAIN and working with me to balance bot questing vs. combat behavior.
- Thanks to everyone else on Discord who helped to test the many alpha releases of this mod and provided feedback to make it better. There are too many people to name, but you're all awesome.
- Of course, thanks to the SPT development team who made this possible in the first place.
Please see the README or https://github.com/dwesterwick/SPTQuestingBots for information about the configuration options in config.json and how to add custom quests.
-
Version 0.9.1
- DanW
- 10k Downloads
Gameplay Changes:
- Added adjustments to EFT Scav spawns when using the Questing Bots spawning system (#44). See the Overview tab or the README for a description of the system concept and details about each setting.
- When using the Questing Bots spawning system, register PMC's and player Scavs as actual players in EFT to reduce the chance that Scavs will spawn near them
- Regularly update the BotZone for bot groups to be whichever one is closest to its boss. This prevents them from running far away whenever they stop questing, and instead they should patrol the local area.
- Reduced the desirability of EFT quests from 60 to 50
- Reduced the desirability of boss hunter quests from 40 to 30
- Reset all map-specific bot-cap adjustments in bot_spawns.bot_cap_adjustments.map_specific_adjustments to 0
- Prevented PMC's and PScavs from spawning inside the broken silo on Factory
- Allow bots using PmcBear and PmcUsec brain types to quest
- Changed bots_per_group_distribution
and bot_difficulty_as_online arrays for PMC's and player Scavs from using interpolation to using chances. In the new format, the chance that the value in the left column will be selected is defined in the right column. Chances values do not need to add up to 100; the algorithm simply uses relative weighting (for the numbers in the second column) between rows.
- Revised the chances that various bot difficulties will be selected and bot groups will be of various sizes for PMC's and player Scavs. Most notably, PMC's are more likely to spawn as solos compared to previous releases.
- Reverted when PMC conversion chances are adjusted from the /client/game/start endpoint back to when the plugin loads. This will allow future versions of Realism (>1.5.0) to work with the Questing Bots spawning system without having to make any configuration changes.
- Bug fix for crashing or freezing when loading into raids if a custom trader mod is used that has quests with prerequisites containing circular references to other quests. (#43)
- Bug fix for incessant exceptions when the BotObjectiveManager component is not disposed when a bot is disposed (due to an error). This is mostly seen on Fika servers. (#46)
- Bug fix for bot group members attacking bots that are separated due to being stuck or healing for too long (#47)
- Bug fix for the new rewrite of DONUTS not being detected (if DONUTS is installed without SWAG)
- Bug fix for bosses not spawning when playing solo using a Fika dedicated server (#49)
Code Changes:
- Added server and client validation of arrays in config.json including a check to ensure an older version of the file isn't used
- Prevented the "advanced spawning system" from being disabled
- Removed the obsolete contents of the bot_spawns.bot_cap_adjustments section in config.json and related code. The contents from the previous bot_spawns.advanced_eft_bot_count_management section (with the enabled setting removed) were then moved to this section.
- Revised the abstract bot generator class to prevent bot-generator instances from overriding Unity's Awake and Update methods. Instead, these methods call new methods (Init and Refresh, respectively) that must be implemented in each bot-generator instance. This is a breaking change for any spawn mod that uses the Questing Bots spawning system as its framework!
- Set the maximum generated bot count for bot generators in the Awake method instead of the constructor
- Moved the PendingSpawnPoints list into the abstract bot generator class because it's needed for all instances of it
- Changed the method patched when activating bots from method_11 to method_10
- Added some additional error handling to PMC and player Scav spawning
- Added debug patches to expose errors discarded in EFT's HandleFinishedTask methods (currently disabled)
- Changed more logging messages from Info to Debug or disabled them
- Reorganized patches into multiple namespaces
- Minor refactoring
- Removed obsolete code
config.json files from previous releases are not compatible.
-
Version 0.9.0
- DanW
- 26k Downloads
- Updated to SPT 3.10.x (#39)
- Increased required version of Waypoints from 1.5.2 to 1.6.2
- Increased required version of BigBrain from 1.0.1 to 1.2.0
- Updates for the new Factory map:
- Updated standard quests
- Prevent bots from spawning outside of the building where the transit is located
- Increased max_alive_bots from 5 to 7
- Updated management of bots on Lightkeeper Island:
- Use EFT's LighthouseTraderZone class for tracking which bots are allowed on the island and currently on the island
- Use the collider in LighthouseTraderZone to determine the boundary of Lightkeeper Island for changing bot hostilities instead of hardcoding corner locations (but keep the hardcoded points as a failsafe in case the collider is null)
- Force Zryachiy and his followers to become hostile toward you if your DSP encoding is removed
- Force your DSP encoding to be disabled and Lighkeeper trader rep to be reduced if you kill another player on Lightkeeper Island, unless that player is also an aggressor on the island
- Added (configurable) overrides for EFT's new bot hostility settings:
- Added override to force all PMC groups to be hostile toward each other
- Added override to force PMC groups to be hostile toward Scavs (and vice versa)
- If the spawning system in this mod is used, remove all PMC waves in BSG's PvE settings
- If Performance Improvements versions 0.2.1 - 0.2.3 is loaded, show a constant error in the game, and write an error to the server and game consoles.
- If Please Just Fight is loaded with the Questing Bots spawning system enabled, show an error in the game, game console, and server console.
- Automatically disable this mod's spawning system if Reality is loaded
- Hardcoded some quest locations on various maps
- Slightly reduced the chances that PMC and PScav groups of 3 or more members will spawn
- Prevented PMC's and Partisan from being included in Boss Hunter quests
- Wait for EFT's "bot preset" bot generation to finish before starting this mod's bot generation
- Ensure the server's PMC conversion chance is 0% before EFT's "bot preset" bot generation begins
- Adjust PMC conversion chances when the /client/game/start endpoint is called instead of when the plugin loads. The endpoint might be changed in the future to improve compatibility with Realism.
- Improved the robustness of the code that verifies PMC-conversion chances haven't been changed by another mod, and write warning messages to the server to explain what changed if the verification fails
- Create a "fake stash" for keys before transferring them to bots that are about to unlock doors
- Only show warning messages about null quest templates once when loading into a raid instead of when processing each quest
- Removed many debug options and moved them to a separate mod
- Changed the logging level for many client messages (mostly from Info to Debug)
- Some refactoring but much more is needed
- Removed obsolete methods from the client and server code
- Bug fixes for problems introduced in SPT 3.10:
- Bug fix for remaining members of a bot group generated by this mod not becoming followers after a boss is set
- Bug fix for a new boss of a PMC group generated by this mod not being set when the initial one dies
- Bug fix for a new boss not being selected if the current one is separated from its group (due to being stuck for too long)
- Bug fix for bot paths not avoiding airdrop crates (EFT issue)
- Bug fix for initial raid setup failing when WorldInteractiveObjects with the same ID are found on the map (EFT issue)
- Bug fix for exceptions when sounds fail to play while bots perform certain actions if you're using a third-person view
- Bug fixes for remaining problems from previous SPT releases:
- Bug fix for door and switch interactions not working for all clients when using Fika
- Bug fix for PScav groups generated by this mod allowing Scavs who spawned earlier to join
- Bug fix for bots generated by this mod being allowed to join other bot groups
- Bug fix for PMC spawn points being too restricted when spawning at the beginning of a Scav raid
- Bug fix for 0 bots being infinitely generated for bot groups. Ensure at least 1 PMC and 1 PScav is generated (if those generators are enabled).
- Bug fix for StackOverflowException when finding the required level for a quest added by a custom trader that has circular references in its prerequisites. When this happens, show an error in the game console and server console, and set the required level for that quest to 1.
- Bug fix for exception when airdrops land for Fika client machines
config.json files from previous releases are not compatible.
-
Version 0.8.1
- DanW
- 14k Downloads
SAIN 3.1.0 or later and Looting Bots 1.3.5 or later are highly recommended!
- Renamed the "Distance from PMCs (m)" F12 menu option to "Distance from Bots That Are Questing (m)"
- Instead of showing a warning message when QuestManiac is detected, make it incompatible. Quests take far too long to process, and the performance impact is too significant to tolerate.
- Simplified the code needed to create custom bot generators using this mod's spawn system (a patch is no longer needed)
- Disabled logging messages when bots are forced to be hostile toward bosses
- Disabled server messages showing BotSpawnPeriodCheck values
- Use the SPT method for getting members of a bot group
- Made all Unity methods protected instead of private because the recent Visual Studio update is dumb and forces them to be faded out
- Removed unused OnGameStarted patch
- Bug fix for PMC spawns being too close together when using other mods that allow more than one human player (#38)
- Bug fix for bots incorrectly being prevented from grouping together
- Bug fix for Zryachiy and his followers not able to be excluded from the AI limiter
- Bug fix for followers of bots with quests on Lightkeeper Island setting off the mines on the bridge
config.json files from the 0.8.0 release are compatible.
-
Version 0.8.0
- DanW
- 13k Downloads
SAIN 3.1.0 or later and Looting Bots 1.3.5 or later are highly recommended!
- Increased required version of SPT from 3.9.0 to 3.9.6
- Increased required version of Waypoints from 1.5.1 to 1.5.2
- Added support for bots doing quests on Lightkeeper Island:
- If a bot selects a quest on Lightkeeper Island, it will become allied with Zryachiy and his followers
- Once a bot passes through the gate on the bridge leading to Lightkeeper Island, it will become temporarily allied with all bots beyond that point on the bridge or anywhere on the island. After the bot returns back through the gate going in the opposite direction, it will end its temporary alliances.
- Bots that select a quest on Lightkeeper Island will be able to pass through the claymores on the bridge without setting them off even if you can't
- Any player that kills a bot beyond the gate leading to Lightkeeper Island or anywhere on the island will receive negative Lightkeeper rep and have their DSP encoding disabled
- Added Lightkeeper Island quests (only allowed for PMC's level 35 or higher)
- If SAIN is detected, it must be at least a certain version for Lightkeeper Island quests to be enabled. This is currently set to SAIN 3.1.2, which has not been released! Previous versions of SAIN do not allow enemy bots to become allies during the raid.
- Significantly improved bot path-finding to quest objectives in the command bunker and around D2 in Reserve
- Added D2 camping quests to Reserve
- Added remedies for bots getting stuck while questing:
- If a bot becomes stuck for >6 seconds (configurable) while doing a quest, it will try jumping over the obstacle in front of it. It will retry this every 4 seconds (configurable) until it gives up.
- If a bot becomes stuck for >8 seconds (configurable) while doing a quest, it will try vaulting over the obstacle in front of it. It will retry this every 4 seconds (configurable) until it gives up.
- If either remedy is used, bots will recalculate their paths to their objectives after they land back on the ground
- Added setting to F12 menu to only enable the AI limiter if there are at least a certain number of bots on the map (15 by default)
- Added optional forbiddenWeapons field to quests to prevent bots from using weapons that are not appropriate for the quest. If the types of all of the bot's weapons are in the array, it will not be allowed to select the quest. This is mostly used to prevent bots from using pistols and shotguns for sniping quests and using sniper rifles for ambush quests.
- Separated boss hunter quests into individual quests for each boss instead of a single quest for all of them. The name of each quest will now contain the boss's name, so it's easier to understand what bots are doing using the bot debug overlays.
- Blacklisted Zryachiy and his followers, "skier", and "peacemaker" from Boss Hunter quests
- Changed the min/max number of EFT quests a bot needs to complete before trying to extract from 2/5 to 2/4
- Changed the min/max number of non-EFT quests a bot needs to complete before trying to extract from 6/12 to 3/8
- Changed the default bot-cap adjustment for Factory Day from 13 to 0 because the SPT location data for it has been fixed
- Use SPT's USEC chance when generating PMC's instead of having a fixed 50% chance
- Changed the way bot-generation requests are intercepted so a custom endpoint is no longer needed
- Show an error when the game starts if this mod's spawning system and nVidia reflex are both enabled
- Prevent PMC's and PScavs spawned by this mod from being forced to be hostile with Zryachiy and his followers, the BTR, or Santa
- Always allow bots to join boss bot groups
- If a bot's state is not EBotState.Active
, show its state in its bot overlay instead of any other information
- Added debug setting to make all PMC's friendly
- Simplified the method used to generate bot groups
- Stop trying to find static paths to invalid quest objectives
- Removed the patch that fixed a bug with bot Standby logic because it's no longer needed
- Use the SPT method for getting members of a bot group
- Ensure private fields are arguments in patches, not accessed via reflection while the patch runs
- Ensure private fields that cannot be arguments in patches are cached when the patch is created
- Added unused method to prevent a bot from sprinting for a certain amount of time
- Added unused method to delete all static-path data
- Fixed typo in message when bots are ready to extract after completing a certain number of quests
- Added warning messages when processing EFT quests if any of their templates are null
- Bug fix for the AI limiter not working on Ground Zero when you are level 21 or higher
- Bug fix for errors when bots try unlocking doors that no longer exist (namely because they were destroyed by Backdoor Bandit)
- Bug fix for bots trying to unlock the same door multiple times
- Bug fix for error when multiple waypoints for a quest are connected with a static path
- Bug fix for redundant static paths being generated (where one is the reverse of another)
- Bug fix for error spam if a questing bot's path data is null
- Bug fix for respawns of Zryachiy's followers not being able to join his bot group
- Bug fix for the members of the wrong bot group being used to check if a bot can join a bot group
- Bug fix for not being able to override properties of quests that are private, arrays, or reference types via eftQuestSettings.json
- Bug fix for quest zone positions not able to be changed via zoneAndItemQuestPositions.json
config.json files from previous releases are not compatible.
-
Version 0.7.0
- DanW
- 80k Downloads
SAIN 3.0.4 or later and Looting Bots 1.3.5 or later are highly recommended!
- Updated to SPT 3.9.x
- Increased required version of Waypoints from 1.4.3 to 1.5.1
- Increased required version of BigBrain from 0.4.0 to 1.0.1
- Improved the interaction between Questing Bots and SAIN:
- Reduced brain-layer priorities of questing and boss-following to be less than SAIN's brain-layer priorities. This fixes issues where bots would prematurely end combat and run away, and bots will generally be much more alert, patient, and effective in combat. However, they will also tend to perform significantly fewer quests throughout the raid.
- Added a new brain layer (with a higher priority than SAIN's) to make bots retreat and support their boss if their group is in combat and they're not in immediate danger. This prevents bot groups from becoming too spread out and running around the same general area chasing each other between engagements. The distance thresholds are configurable, but by default they will use this layer if they're more than 35m away from their boss, and they will stop using the layer once they are within 15m of their boss.
- Only prevent followers from following or regrouping with their bosses if they need to heal, and ignore other "able-bodied" checks. This prevents bot followers from running away and ignoring their bosses for a while instead of healing.
- Added separate min/max pairs to questing.bot_questing_requirements.search_time_after_combat that are automatically selected based on Questing Bots's brain-layer priorities vs. SAIN's. If SAIN is prioritized, questing.bot_questing_requirements.search_time_after_combat will be 5/20 s. Otherwise, it will be 20/45 s.
- Changed the raid-start delay to occur before the final countdown until the raid starts instead of being in parallel with it
- Added a config option to override the radius around the BTR within which questing bots will "avoid danger" (reduced EFT's 40m setting to 10m by default).
- Added config options to change priorities of all Questing Bots brain layers
- Updated bot-overlay information to include the new brain layer and to hide some information when one of SAIN's brain layers is active
- Added an Advanced F12 menu option to show your current coordinates on the screen
- Bug fix for bots ignoring their hearing (using SAIN) when sniping
- Bug fix for not using the "default" Scav raid-time reduction settings to generate the player-Scav spawn schedule if the location ID cannot be found in the server data
Please use my AI Hostility Fix mod if you're using SAIN 3.0.3 (or below) or SPT 3.9.1 (or below).
config.json files from previous releases are not compatible.
-
Version 0.6.1
- DanW
- 6.3k Downloads
If you're using Fika, you must set bot_spawns.delay_game_start_until_bot_gen_finishes=false in config.json or bosses may not spawn. Setting bot_spawns.spawn_initial_bosses_first=true may also help to ensure there are no long delays before bosses spawn.
SAIN 2.3.3 or later and Looting Bots 1.3.3 or later are highly recommended!
- Added map-specific distances for the AI limiter. These can be accessed via the "Advanced" F12 menu settings, and the actual distance used is the lesser of the map-specific distance and the global limiting distance for human players.
- Increased default min/max values of questing.bot_questing_requirements.search_time_after_combat from 10/30 to 20/45 seconds to dissuade bots from leaving combat as quickly
- Updated the algorithm used to find locations of EFT quests. All EFT quests can now be located, which fixes problems in previous releases with finding positions for the following quests:
- Capturing Outposts on all locations (Customs, Woods, and Shoreline)
- Background Check on Customs
- Return the Favor on Woods
- Overpopulation on Lighthouse
- Knock-knock on Lighthouse
- Seaside Vacation on Lighthouse
- Safe Corridor on Reserve
- No Place for Renegades on Reserve
- One location for Bunker Part 2 on Reserve
- All locations for Long Line on Interchange
- No Swiping on Shoreline
- Multiple locations for Scrap Metal on Shoreline
- One location for Spa Tour Part 2 on Shoreline
- One location for Eagle Eye on Shoreline
- Gendarmerie Mall Cop on Streets
- Added the ability for bots to open car doors and trunks. Added/updated the following quests to use this feature:
- Merin Car on Lighthouse
- Truck that spawns a violet card by the Sawmill Checkpoint on Woods
- Giving Trunk on Customs
- Car trunk that spawns the OLI Logistics key on Customs
- Car trunk with the medbag in the Storage area on Customs
- Added a config option to increase the desirability of quests that are currently active for you. Desirability is increased by 1.2X by default.
- Added config option to scale the value of BotSpawnPeriodCheck to reduce the feeling of Scavs "swarming" you. The period is 3X longer by default.
- Added the ability to override EFT quest properties using the new config/eftQuestSettings.json file. None are changed by default.
- Added the ability to specify target positions for bots to collect EFT quest items and doors that must be unlocked to reach them using the new config/zoneAndItemQuestPositions.json file.
- After each objective that a bot completes for an EFT quest requiring you to place a marker, it will wait for the "protect objective" time before selecting another quest.
- After each objective that a bot completes for an EFT elimination quest, it will wait a configurable amount of time (60s by default) before selecting another quest.
- Implemented SAIN interop method to instruct bots to ignore their hearing when in an ambush position defined by a quest. This is needed if questing.brain_layer_priority is reduced to be a lower priority than SAIN's brain layers.
- Stop treating assaultGroup Scavs as bosses
- Added debug option in the advanced F12 menu to write more information about bot spawning to the game console
- Added unused method to find the bot's weapon with the longest sighting range
- Bug fix for CloseNearbyDoors action not working
- Bug fix for allowing SPT 3.9.0
config.json files from previous releases are not compatible.
-
Version 0.6.0
- DanW
- 27k Downloads
Because the file structure has changed with this release, files from all previous versions of this mod must be removed before installing this version!
If you're using Fika, you must set bot_spawns.delay_game_start_until_bot_gen_finishes=false in config.json or bosses may not spawn. Setting bot_spawns.spawn_initial_bosses_first=true may also help to ensure there are no long delays before bosses spawn.
SAIN 2.1.12 or later and Looting Bots 1.3.0 or later are highly recommended!
- Allow the server and client to run on different machines. To accomplish this, the following changes were made:
- Check the positions of all non-AI players, not only the main player, when determining which bots to disable in the AI limiter
- Check the positions of all non-AI players, not only the main player, to determine where to spawn bots
- Added interop support that provides a method to obtain the current bot-generation progress
- Moved the client DLL into its own folder ("DanW-SPTQuestingBots")
- Moved the "quests" folder from the server directory to the new client directory for this mod
- Log files will now be stored within the new client directory for this mod
- Removed the basic quest-file validation script that runs as the server starts
- Added a basic quest-file validation script that runs as the game starts. If quests are missing or cannot be validated, a warning message will be written to the server console, but the mod will still function.
- Added server and client checks for an older client DLL still remaining in the "BepInEx\plugins" directory. If so, show an error when the server or game starts and disable this mod.
- If "quests" and "log" directories from older versions of the server files still exist, write warning messages in the server console, but still allow the mod to function
- Bug fix for boss-spawn limiting not working when there are multiple non-AI players in the raid
- Bug fix for multiple instances of components trying to be added when using certain types of mods (thanks to @belettee)
- Bug fix for the raid-start delay-code running multiple times if multiple non-AI players are in the raid (thanks to @belettee)
- Added config option to replace SPT's bot caps with EFT's when using the advanced spawning system. There are also options to only change the bot cap if EFT's is lower (enabled by default) and to apply additional map-specific adjustments.
- If "As Online" difficulty is selected for a raid, random difficulties will be assigned to bots spawned by Questing Bots. The weighting of the difficulties is defined by the bot_difficulty_as_online array for each bot type in config.json.
- Added AI-limiter option to keep certain bot types always active (accessible in the F12 menu). By default, Rogues and sniper Scavs will always be active.
- Added a setting in the F12 menu to prevent bots from sprinting when they're within a certain distance of any quest objective (3m by default)
- Disable BotStandby logic for all bots because it was causing problems and the AI limiter basically serves the same purpose
- Reduced questing.bot_search_distances.objective_reached_navmesh_path_error from 20m to 2m because bots should be able to reach all quest positions now. This also prevents bots from trying to reach all steps for an inaccessible quest objective.
- Added a configuration option to only reset a bot's decisions before looting if SAIN is a older than a specified version (2.2.1.99 by default). Additional improvements for switching between Questing Bots's and SAIN's logic will be included in future releases.
- Added min_raid_time_remaining config option (180s by default) to prevent bots from spawning too late in the raid
- Blacklist quest objectives on Scav island on Shoreline because Unity struggles to find complete paths to it (thanks to @MonstraG)
- Ensure quest objectives on Lightkeeper Island on Lighthouse are blacklisted even if the first step is not on the island
- If bots cannot form a valid path and are not on the NavMesh, teleport them to a valid NavMesh position (WIP)
- Automatically disable the bot spawning system if Better Spawns Plus is detected (thanks to @xuvvy and @artofsound)
- Added an error message when using DONUTS but not SWAG when EFT loads, but still allow the mod to function
- Added null checks in case doors no longer exist (namely because they were destroyed by Backdoor Bandit)
- Added bot difficulties to the "assignments" log file written at the end of each raid
- Added rows for bots that were generated by Questing Bots but never spawned in the "assignments" log file written at the end of each raid
- Removed the Questing Bots endpoint for writing error messages to the server console and will now use the SPT one
- Changed the server message about the advanced spawning system ignoring bot caps for PMC's and PScavs from a warning to an info message
- Bug fix for bots sprinting after completing objectives when they're still within maxRunDistance of them
- Bug fix for Scavs not spawning later in the raid
- Bug fix for bots unlocking doors requiring power (before it's turned on) when other mods are used that add context-menu actions
- Bug fix for bots unlocking the inner KIBA door before the outer door
- Bug fix for the AI limiter preventing bots from achieving the EBotState.PreActive state
- Bug fix for bot and quest overlays not rendering properly when DLSS is enabled (thanks to Solarint)
config.json files from previous releases are not compatible.
-
Version 0.5.0
- DanW
- 45k Downloads
SAIN 2.1.12 or later and Looting Bots 1.3.0 or later are highly recommended!
- Updated for SPT-AKI 3.8.0
- Increased required version of Waypoints from 1.3.4 to 1.4.3
- Increased required version of BigBrain from 0.3.1 to 0.4.0
- Changed required version of SPT-AKI to 3.8.x for client DLL and server files
- Added standard quests for Ground Zero
- Updated quests for Shoreline including expansion area
- Added quests for new Streets locations
- Implemented a bot pathing controller with the following features:
- Paths are cached and only recalculated when needed.
- Added the ability to create waypoints for quests. When the raid starts, static paths will be calculated from each of the quest's objectives to each waypoint defined for the quest. If a bot cannot find a complete path to its objective, it will check if a complete path can be formed to any of the quest's waypoints. If so, it will use that waypoint to get to the objective. This will help bots to navigate to quests locations that are difficult for Unity to calculate a path to them.
- Quest waypoints and target positions for bot paths can be visualized by enabling debug options in the F12 menu. Bot-path target overlays are an advanced option.
- The status of each bot's current path will be shown in the bot overlays enabled in the F12 menu
- Added Ground Zero to AI-limiter options and config.json options
- Reduced desirability of Boss Hunter quest type from 65 to 40
- Added options for exporting custom quest locations in the F12 menu (requires advanced options to be checked)
- Allow Kollontay and his followers to quest if
questing.allowed_bot_types_for_questing.boss=true
- Added a 20ms delay between each bot-generation task to attempt to reduce server retries
- When making bots hostile toward bosses, excludes ones in
questing.bot_quests.blacklisted_boss_hunter_bosses
- Changed the text color of the bot's brain layer from yellow to magenta in the bot overlays enabled in the F12 menu
- If a bot gets stuck, show a warning message in the game console instead of an info message
- Only show a warning message about the Boss Hunter quest not being used if more than one bot zone exists on the map
- Added
shooterBTR
to blacklisted bot brains for PMC's - Ensure
LocationData
component is destroyed before adding it to aGameWorld
instance - Made "Show Quest Info for Spawn-Search Quests" F12-menu option an advanced option
- Bug fix for bots trying to regroup with dead followers
- Bug fix for failed bot paths not being drawn unless
debug.show_zone_outlines=true
- Bug fix for failed bot paths and zone outlines persisting across multiple raids (even if the map changes)
- Bug fix for possible NRE's when trying to show bot overlays for despawned bots
config.json files from previous releases are not compatible.
-
Version 0.4.2
- DanW
- 8.9k Downloads
This will be the final version for SPT-AKI 3.7.x. All future work will be for SPT-AKI 3.8.x. Limited support will be provided for this version.
Only compatible with SPT-AKI 3.7.6
SAIN 2.1.9 or later and Looting Bots 1.2.1 or later are highly recommended!
Feature Changes:
- Increased required SPT version to 3.7.6
- Revised spawn-location selection algorithm for PMC's and PScav's that spawn after the beginning of the raid
- Separate bots from their groups if they take too long to heal (>120s by default) or get stuck too many times (8 by default). If the boss of a group is separated, a new boss for the group will be selected. The timer for determining if bots take too long to heal will be paused when bots hear suspicious noises or are in combat.
- Added new Snipe quest step type that operates the same as Ambush but allows bots to be interrupted by suspicious noises
- Increased bot_spawns.max_alive_bots for Labs from 8 to 9
- Updated SPT-version check when the game starts
- Use raid-time-adjustment properties provided in SPT 3.7.6
- If bots stop questing or following because they got stuck, show "IsStuck" for the reason why they stopped instead of "CannotQuest"
- Bug fix for constant exceptions when the game starts that "break" bots and cause them to shuffle and not engage enemies
- Bug fix for bots continuing to perform quests with maxBotsInGroup limits below their group size if followers are assigned to them after they started doing the quest
- Bug fix for bots being able to unlock or open doors that would have no interaction options for human players (i.e. the Saferoom door in Interchange when the power is off)
- Bug fix (for broken bug fix) for bots being able to join other bot groups (for real this time?)
- Bug fix for player Scavs spawning next to each other during the raid
- Added debug messages to help troubleshoot spawn issues
- If a PMC or PScav spawn was prevented because it would be too close to another bot, show the distance to that bot in the game console
Quest Changes:
- Updated all sniping quests to use the new Snipe quest step type instead of Ambush
- Changed "Bridge Sniping" on Customs from being considered a camping quest to a sniping quest
config.json files from previous releases are not compatible.
-
Version 0.4.1
- DanW
- 5.6k Downloads
Requires at least SPT-AKI 3.7.4 with the 2023/12/06 hotfix or newer!
SAIN 2.1.9 or later and Looting Bots 1.2.1 or later are highly recommended!
New Features:
- Implemented bot hearing sensor to make them less oblivious and more proficient in CBQ. This system has the following features:
- If bots hear enemy footsteps or gunfire within a certain range, they will stop questing for some time between 5s and 20s (configurable). By default, the threshold for them to detect enemy footsteps is 20m, and the threshold for gunfire (including suppressed gunfire) is 50m.
- If they continue hearing suspicious noises (described above), they will keep being prevented from questing until a maximum time is reached, which is configurable for each map. By default, the maximum time for all maps is 120s except Labs (60s) and Factory (30s Day, 45s Night). The more PVP-focused maps have lower maximum times to discourage bots from staying in one location for a long time. After this maximum time is reached, bots will ignore suspicious noises for a certain time, which is 7s by default.
- The hearing sensitivity for bots is higher if they're wearing headsets and lower if they're wearing helmets that block sound.
- If the loudness of the sound is below a certain configurable level, bots will ignore it. Currently, bots will ignore you crouch-walking at the slowest speed even if they're wearing headsets. That way, you can still sneak up on them. In contrast, bots that are wearing helmets that block noise and not wearing headsets will likely not hear you walking at all. All bots will hear you sprint, and all bots will hear gunfire regardless of their loadouts.
- When bots first hear suspicious noises, they will not be allowed to loot for some time between 5s and 20s (same as the setting above). This requires Looting Bots 1.2.1 or later.
- Bots will ignore suspicious noises if they're closing doors, planting items, toggling switches, or in an ambush position
- If a bot in a group stops questing to investigate a suspicious noise, all other group members will stop questing
- SAIN is highly recommended to complement this system
- This system can be disabled if desired
- Adjusted default configuration to make bots in groups travel closer together:
- Reduced questing.bot_questing_requirements.max_follower_distance.target_range.min from 10m to 7m
- Reduced questing.bot_questing_requirements.max_follower_distance.target_range.max from 20m to 12m
- Reduced questing.bot_questing_requirements.max_follower_distance.nearest from 25m to 15m
- Reduced questing.bot_questing_requirements.max_follower_distance.furthest from 40m to 25m
- Reduced questing.bot_questing_requirements.break_for_looting.max_distance_from_boss from 75m to 50m
- Removed legacy code that doubled the number of bots allowed to do a quest if it was for an EFT quest in a large area (i.e. locations for Capturing Outposts)
- Increased questing.bot_questing_requirements.repeat_quest_delay from 300s to 360s so bots are less likely to bounce between nearby quests that have many objectives
- Allow bots to loot after completing EFT quests if there is a non-EFT quest objective within a certain distance (5m by default) that allows looting. However, bots will never be able to loot at quest objectives requiring them to plant items.
- Allow bosses of bot groups to wander around and patrol if they're regrouping and they've reached their nearest follower. Previously they would stand still after reaching their nearest follower, making them easy sniping targets.
- Added configuration options to adjust the desirabilities of quests that are marked as camping quests or sniping quests
- Reduced the minimum distance above which bots can be disabled by the AI limiter if they're near other questing bots from 50m to 25m
- Added new fields to bot overlays to show why they are not questing or following their bosses. Logic checks for determining if bots can quest or follow bots were reorganized so the most severe reasons are shown in this field.
- Relocated search_time_after_combat in config.json but did not change its values
- Removed the F12 option to disable time-gating because there's no benefit
- Fixed special quests like "Boss Hunter" have unnamed quest objectives
- Bug fix for slow bot generation (and related lag spikes) compared to the 0.3.5 release
- Bug fix for not all members of a Scav group being converted to PScavs when using another spawning mod like SWAG + DONUTS and having adjust_pscav_chance.enabled=true
- Bug fix for bots attacking other bots that are disabled by the AI limiter
- Bug fix (for broken bug fix) for bots being able to join other bot groups
- Bug fix for pausing of questing brain layers not working. This mainly affected the transition between bots unlocking and opening doors.
- Disabled old debug messages
- Refactoring and removal of unused code
Quest Changes:
- Reduced desirability of EFT quests from 65 to 60
- Increased min_distance of "Boss Hunter" quests from 25m to 50m
- Reduced max_distance of Airdrop Chaser quests from 500m to 400m
- Changed "3rd Floor Office Rush" quest in Factory to have an ambush step instead of a hold-position step
- Reduced desirability of "3rd Floor Bridge" in Factory from 35 to 25
- Increased desirability of "Gate 3" in Factory from 10 to 15
- Increased desirability of "Gate 3 Entrance" in Factory from 10 to 15
- Increased desirability of "Gate 3 Camping" in Factory from 10 to 15
- Separated ambush objective in "Cafeteria" quest in Labs into a new quest
- Reduced desirability of "Medical Block Elevator Stairwell" in Labs from 30 to 25
- Reduced desirability of "Ventilation Shaft Stairwell" in Labs from 20 to 10
- Reduced desirability of "Parking Stairwell" in Labs from 20 to 10
- Reduced desirability of "NE Stairwell" in Labs from 20 to 10
- Reduced desirability of "Central Stairwell 1" in Labs from 20 to 15
- Reduced desirability of "Central Stairwell 2" in Labs from 20 to 15
- Reduced desirability of "Server Room SW Stairs" in Labs from 30 to 25
- Reduced desirability of "Server Room NW Stairs" in Labs from 30 to 25
config.json files from previous releases are not compatible.
Croko
Hi. PMCS do not spawn at the beginning of the raid or they do not spawn at all.
They were spawning first (then the scavs and bosses) when I tested with these mods:
SPT 3.10.5
Fika
LootingBots
QuestingBots
BigBrain
Waypoints
SAIN
AmandsGraphics
But after installing Path to Tarkov only scavs and bosses spawn, no PMCS
I tested with "delay_game_start_until_bot_gen_finishes" from QuestingBots on true and false but nothing changed.
Anyone had the same problem and were able to find a solution?
Thanks
DanW Author
This mod's spawning system is not compatible with Path to Tarkov.
Croko
You are breaking my heart but thank you for letting me know
Kintsugi
Two things:
I don't mean to be so needed, i really love the mod and I appreciate all the work you do to help the community in your comment section.
DanW Author
DeadJokerZ
I just found out that when you enable events like halloween zombie event, all bots will stop questing and just stand near spawn, reason was "Hiding" while the quest status is pending
DanW Author
How are you enabling that event? I'm not able to get it working. Whatever the case, this mod will have limited support for events because they're hard to test.
What brain layer are they using when the reason is "Hiding"?
DeadJokerZ
https://imgur.com/a/tFVRSJn
This happens whenever the halloween event is active
And this also happens with Vanilla AI (Just tested recently)
To Activate the Event You need to enable Halloween through SVM
You also need All Zombies All Day Mod 1.0.5 to make all map have 100 infection rate
But this happens regardless of the infection rate.
These may be not related to your mod but hope it gives some information base on my observation:
So im been testing the zombies for few days i also found out that:
SAIN makes all bot types invisible to the zombies and vice-versa
Bot spawned by other mods like SWAG Nuts will not attack the zombies but the zombie will attack them but they won't fight back.
Zombie will chase down the target but often not attacking but just stand there and follow the target. (i even tried to make them all spawn with a melee weapon and removed the "infectious strike" ID:5447e1d04bdc2dff2f8b4567 but it still happens) i suspect that only the "leader" can attack while the "followers" can't.
Bots only attack the zombies IF they were spawned by the vanilla game not through any mods, specifically by trigger event "UninfectedSpawn". Or You must modify the bot files in server file to force them attack the zombies
DanW Author
It looks like that's BSG's design. That brain layer priority is super high compared to everything else (including those added by mods like SAIN and this one).
This is a really low priority for me to fix. Sorry.
chewey
Hello DanW,
Firstly, thank you for the mod, truly brings the game to life. I had a question about the PMC conversion errors. I am using SVM, which does have a section for altering the conversion chances of AI into PMCs, so I believe that is why I am see the error. I've used questing bots and SVM in the past, and never noticed before. It doesn't seem to cause any ill effects, but I wanted to run it by you and see if this is an innocuous enough error, or could cause QB to fail in some way I'm not understanding.
Note: I tried to play around with load order and put QB before other mods that may affect it (SVM), but it had no effect.
DanW Author
If you're using the Questing Bots spawning system, the PMC conversion chances need to be kept at 0% at all times for it to work correctly. Questing Bots changes them to 0% when the client loads. If they don't remain at 0% after that, you'll see those errors because another mod is overriding those changes.
If SVM sets the conversion chances when the server starts and doesn't touch them again, that shouldn't cause those errors. If SVM changes them regularly, that would cause problems and explains why you're seeing those errors.
Are you using Realism? That's the most common cause of these errors. Updating both Questing Bots and Realism to their latest versions should fix it.
chewey
I gotcha, thank you for clarifying.
I am not using realism, just SVM, which is the only other mod I have that I can see has any AI conversion chances in it. I am going to try making the conversion change to 0 in SVM and see if that clears up the errors/resolves any issues.
It seems to occur when every raid loads in the client, so I am assuming SVM updates that regularly as opposed to once. Thank you for clarifying. I'll see if I can mess with SVM, as my three "essential" mods are SVM, Looting Bots, and Questing Bots.
chewey
Update: It's possible to just turn sections off in SVM, which I didn't know. In case anyone experiences this in the future, just turn the SVM section off for AI to PMC conversion.
Z474AL3MN2VC
I spent hours tweaking this mod with debug tools to get exact bot numbers in my raids and have been fine ever since. The new Max Alive Scavs feature has me a little confused.
max_alive_bots was set to the maximum number of PMCs that can spawn on each map, so all PMCs spawn at the start of the raid just like live. only_decrease_bot_caps was set to false and map_specific_adjustments was set to a 1:1 ratio of PMCs/Scavs. So I have 16 PMCs and 16 Scavs on Streets for example.
Max Alive Bots determined how many player type bots (PMC/PScav) can be alive and the bot cap adjustments were how many normal Scavs can be alive, so what the heck is this new Max Alive Scavs feature? Thanks again for the awesome mod!
DanW Author
The purpose of map_specific_adjustments was just a way for you to change EFT's internal limit for how many bots can be on the map, but that's for all bot types including bosses. Questing Bots has no control over any bot spawns besides the PMC's and PScavs it adds. If you adjusted Streets to have a bot cap of 16, you might get 16 Scavs one raid, and then you might get 5 Scavs + Kaban + Kollontay + their followers the next. The new Max Alive Scavs setting specifically limits Scavs (normal Scavs + sniper Scavs), not other bot types.
Z474AL3MN2VC
Thank you so much for the reply! That makes sense. Boss spawns would take up my bot counts which from a performance perspective doesn't matter, total bot count does. I'll see if I can play with the new Max Alive Scavs value, or bypass it, to keep my current caps but use the cool new features, like the map fraction radius.
Kintsugi
Just wondering if this mod has bots interacting with power switches for certain quests; i.e. power for bunker extract, power for raiders, power for interchange in general.
Didn't see it documented in the overview so was not sure if this is part of them completing their quests.
DanW Author
Yes, bots have a chance to interact with every switch in the game.
fallenq
Hey, i heard that this mod helps with the telopartation issues that bots have. Is this true?
DanW Author
Nice ninja edit.
It depends on the context, but this mod doesn't do anything that would prevent bots from teleporting.
fallenq
By teleportation i meant an issue with some bots teleporting, mainly because their pathing breaks for some reason , spt resolves the issue by teleporting them, happens more when there are many bots on the map. Example:
Yesterday i also shot tagilla like 20 times and he teleported underground.
DanW Author
I've seen that before, but Questing Bots doesn't do anything specifically to resolve it.
fallenq
Well, do you know how to fix it maybe?
Is there any mod that fixes it?
DanW Author
Sorry, I have no idea.
erDeviTKD
Somehow I got this to work with MOAR, Realism and Looting bots.
I was trying various combinations of settings and the ones I have seem to work. My loading order is this with their respective settings:
-Looting bots: vanilla
-Questing bots: in their F12 settings I disabled all bots types and also all AI limiting related options.
-MOAR: vanilla
-Realism: in the options given by its .exe, in the bots section, I disabled Force boss items, Increased bot cap, Open zones fix, Spawn Tweaks, Boss Spawn Tweaks, PMC Difficulty and Boss Difficulty. Everything else is enabled and vanilla.
If you use the Guiding Light (95%) mod it has been updated recently, I say this because it has several bugs related to Questing bots: .
Finally, before starting the game, click on the option to clean temporary files in the SPT Launcher.
I hope this helps in some way. I will be happy to provide more information.
janys
Hey, adding SWAG+Donuts seems to have resolved the PmcConversionChance error
janys
Hi Dan, I have the same issue as the others with realism conflicting (conversion changes error in the server output). Is it possible to disable this feature in Questing bots? I couldnt get it done in the realism config files so Im hoping its possible here, Id love to play with both the mods.
DanW Author
Disabling bot changes in Realism's config should fix this. If not, I'm not sure why.
Whatever the case, both Realism and Questing Bots will have updates in the near future to fix this.
janys
I did disable them, didnt work. I even asked for all of Realism and QB files from someone who has it running and strangely enough, after copying them over it still yields the same error. Though that may be somehow useful.
DanW Author
Did you restart the server after updating the files? Otherwise, I have no idea.
janys
Yeah, I did a lot of digging, tried to fix the conversion chance file myself but couldnt.
AcidMC
Hi DanW.
For some reason, the latest version of the mod makes AI run for some point and then just freeze on the spot. They start ignoring you or other bots.
Let me know what info precisely you need to investigate, never been such an issue before with your mod...
DanW Author
Please send me a ZIP with the following after you next encounter this:
AcidMC
Done.
DanW Author
I don't see any problems in your logs related to Questing Bots, so I would try the following:
AcidMC
PleaseJustFight won't help I believe. This seems to be affecting scavs as well. None of the bots do anything, they feel like they're stuck in some scenario or some AI pattern was overridden.
As for layers, I'll take a look and be back with you.
AcidMC
Sometimes it feels like they do spot me. Sometimes they are stuck without any AI reactions at all. They seem to be reacting to me or other living creatures on the map PRIOR to getting to their destination.
As you can see, overlay on the AI doesn't show anything apart from distance to target at all. Seems to be it should've shown the layer of AI in action as you specified above.
I would blindly assume that it's "That's Lit". I don't have any idea. I'll send you in DMs all of the mods I use in my installation.
NimbleChip
Seems like the only issue is this mod sometimes does not work with realism. Great mod though.
Mark1502
Hi Dan is it possible to limit on how many bots questing at the same time?
DanW Author
All PMC's and PScavs quest and there's no way to selectively disable questing for them, but you can change how many are alive at the same time by adjusting the bot_spawns.max_alive_bots setting in config.json.
Bepis01
I am not sure if the mod works 100% cuz I am getting a line with a message in the spt server that says: [Questing Bots] Another mod has changed the PMC conversion chances. This mod may not work properly!
I am using Realism, I have read that I should disable the realism spawn changes but it also disables the bots tiers and I want to keep them, also my raids are almost without scavs, no sniper scav spawn, I have encountered max like two scavs in my raids
DanW Author
Currently, this is a mod conflict and a known issue. I'll need time to investigate it.
Gardar
I have the same problem. Even after deleting the mod files, the problem did not go away.
The label changed to: objekt reference not set to an instance of an object
janys
Hey, what setting did you change in the realism config? Were also having this problem and mayby your solution would help us too
Bepis01
I started using moar to kinda fix this problem, but what helped was to untick the spawn tweaks changes in the realism config, although the scavs were everywhere and non stop coming to hunt you down, killed like 20 scavs in one raid. So yeah Moar helped
brumes
It seems sometimes bots that spawn together and are in the same group (team) will end up turning hostile to each other and kill one another.
Is this supposed to be able to happen? If not, what kind of logs are appropriate to provide to help diagnose this?
below are 2 gifs of some incidents visible on raid review.
DanW Author
What spawning system are you using?
brumes
The only mod that should effect spawning is this one, no moar or donuts or anything.
DanW Author
Please send me a ZIP with the following after you next encounter this:
Additionally, please describe the following as much as possible:
brumes
I've send a DM with the logs and other details.
format
how to disable bots in realism?
[Questing Bots] Another mod has changed the PMC conversion chances. This mod may not work properly!
https://ibb.co/ynjcKP0t
DanW Author
I'm not sure. You'll need to consult the Realism mod page.
format
picture from the realism page
DanW Author
Are you sure you restarted the server after making that change? If so, I have no idea. Does this only happen when using Realism?
format
Yes, I’ve already raised a clean server from scratch, installed 2a mod Yours and realism
DanW Author
I'll have to test it when I have time.
Gray404
I was a bit pissy about how long this update took, but after reading those update notes, I completely get it. Good work, brother! And thanks!
Pygo86
Hey DanW,
our 3.10.5 Server (0.90 QB) got a Problem.
Anytime a new Profile is connecting the server we have a infinite loading screen after launching the client.
In this moment the server console shows this error:
[Client Request] /client/game/start
TypeError: Cannot read properties of undefined (reading 'min')
TypeError: Cannot read properties of undefined (reading 'min')
at PMCConversionUtil.adjustAndVerifyPmcConversionChances (/opt/server/user/mods/DanW-SPTQuestingBots/src/PMCConversionUtil.ts:112:90)
at PMCConversionUtil.adjustAllPmcConversionChances (/opt/server/user/mods/DanW-SPTQuestingBots/src/PMCConversionUtil.ts:75:45)
at Object.action (/opt/server/user/mods/DanW-SPTQuestingBots/src/mod.ts:75:48)
at StaticRouterMod.handleStatic (/snapshot/src/di/Router.ts:41:63)
at HttpRouter.handleRoute (/snapshot/src/routers/HttpRouter.ts:61:68)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at HttpRouter.getResponse (/snapshot/src/routers/HttpRouter.ts:34:25)
at HttpRouter.result.getResponse (/opt/server/user/mods/fika-server/src/overrides/routers/HttpRouter.ts:25:37)
at SptHttpListener.getResponse (/snapshot/src/servers/http/SptHttpListener.ts:151:22)
at IncomingMessage.<anonymous> (/snapshot/src/servers/http/SptHttpListener.ts:68:38)
TypeError: Cannot read properties of undefined (reading 'min')
TypeError: Cannot read properties of undefined (reading 'min')
at PMCConversionUtil.adjustAndVerifyPmcConversionChances (/opt/server/user/mods/DanW-SPTQuestingBots/src/PMCConversionUtil.ts:112:90)
at PMCConversionUtil.adjustAllPmcConversionChances (/opt/server/user/mods/DanW-SPTQuestingBots/src/PMCConversionUtil.ts:75:45)
at Object.action (/opt/server/user/mods/DanW-SPTQuestingBots/src/mod.ts:75:48)
at StaticRouterMod.handleStatic (/snapshot/src/di/Router.ts:41:63)
at HttpRouter.handleRoute (/snapshot/src/routers/HttpRouter.ts:61:68)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at HttpRouter.getResponse (/snapshot/src/routers/HttpRouter.ts:34:25)
at HttpRouter.result.getResponse (/opt/server/user/mods/fika-server/src/overrides/routers/HttpRouter.ts:25:37)
at SptHttpListener.getResponse (/snapshot/src/servers/http/SptHttpListener.ts:151:22)
at IncomingMessage.<anonymous> (/snapshot/src/servers/http/SptHttpListener.ts:68:38)
[Client Request] /fika/client/check/version
When i restart the server, the new profile works fine. But the Error stays. We can raid and have no other problems.
After deleting Questingbots on server and client, every new profile can join w/o problems.
DanW Author
Another mod is changing the PMC conversion chances. Are you using Realism? If so, try disabling bot conversion chances in its configuration.
Senpaj
Hi, i have a problem in using both SAIN and Questing bots on FIKA, every raid start there are bunch of messages in the bottom right corner from SAINlogger that PMC bots does not have [PMC] Base brain assignment and states that something is overwriting it. Tested with and without Questing bots and happens only with Questing bots. I'm aware that its Questing Bots comment section but maybe someone had a similar issue when using SAIN and Questing bots. Though i'd like to add that generally PMC AI is fine and despite encountering a few braindead PMCs here and there, seems like both of the mods seem to work fine. Can upload a screenshot and upload it somewhere to link it if its allowed.
DanW Author
It sounds like you didn't install the server files for SAIN, only the client files.
Senpaj
Jesus, looks like me and my friend are dumber than we thought
Fixed, thanks
Kiralyka
Installed Questing bots and now I don't have any sniper scavs spawn, any ideas why this might be the case?
I have MOAR, SAIN and ALP installed, had no issues with them spawning until QB gone in.
Amazing mod and really want to keep using it if we can untangle this
DanW Author
If you're using MOAR, that will control spawning, not this mod. It's probably a coincidence that you just started noticing this after installing this mod.
Additionally, using this mod's spawning system, I definitely get sniper Scav spawns.
Kiralyka
Thanks for the reply
It might just be a series of bad rolls, we seem to be getting them again now that I reset MOAR to defaults.
Levhitti513
I have strong fps and performance problems when the mod is active. is that normal? on shoreline about 30-40 fps with a 7800x3D
DanW Author
It depends. How many bots are you seeing in raids now vs. before? If you have more bots now, that will affect performance. Otherwise, there should only be a small impact. Are you seeing any recurring errors in the game console?
twystoffate
Feels like theres just endless waves of scavs, im using the default settings of the mod, any ideas?
On interchange, there is a constant flow of scavs, on an average of 15-16 scavs that i end up eliminating myself, not too mention the other ones that are killed by other bots/ai
DanW Author
This mod uses vanilla EFT spawning for Scavs and bosses. It's the same type of experience you'll get in "live" PvE.
MoxoPixel
EFT's spawning of scavs is just horrible. I think MOAR can make it better though. But I get a lot of errors in logs by that mod. Still better than using QB's system right now. But I think DanW is cooking something up for us.
DanW Author
Yup, I'm hoping to have some tweaks for Scav spawns soon...
Destroyer2009
If I use moar, then, does the statement "the spawning of robots in this module will be disabled" mean that only the spawning section is affected, but other functions added by this module, such as the function of robots doing tasks, will not be affected?
DanW Author
That's correct
Timmons
Game freezes up and wont load game. It loads map,loot, and cache but then stalls on loading game usally around 23-32%.
Check the server and get no red errors but I get this:
[Client Request] /QuestingBots/AdjustPMCConversionChances/0/True
[Client Request] /client/game/bot/generate
[Client Request] /singleplayer/settings/bot/difficulties
[Client Request] /singleplayer/settings/bot/difficulty/core/core
[Client Request] /singleplayer/settings/bot/maxCap/bigmap
[Client Request] /QuestingBots/GetZoneAndItemQuestPositions
[Client Request] /QuestingBots/GetAllQuestTemplates
[Client Request] /QuestingBots/GetEFTQuestSettings
[Client Request] /QuestingBots/GetScavRaidSettings
[Client Request] /QuestingBots/AdjustPMCConversionChances/0/True
[Client Request] /QuestingBots/GetUSECChance
[Client Request] /client/localGame/weather
[Client Request] /client/game/bot/generate
[Client Request] /launcher/profile/info
[Client Request] /launcher/server/version
[Client Request] /launcher/profile/info
[Client Request] /launcher/server/version
[Client Request] /launcher/profile/info
> [Client Request] /launcher/profile/info
[Client Request] /launcher/server/version
[Client Request] /launcher/profile/info
[Client Request] /launcher/server/version
[Client Request] /launcher/profile/info
[Client Request] /launcher/server/version
Just keeps writing the last 2 lines over and over. The I get the program not loading box to close program or wait until loads. Does not load if you wait.
mods i use:
Sain , looting bots, Svm , lockable door , scorpion trader , Prisiclu , vcql , lotus, gilded keys , dynamic map , extended task text , bossnotifier, sain lifelike experience , better thermals , performance improvments , along with draks waypoint and bigbrain.
Any idea will help.
Thank you for anytime and answer you can spare.
DanW Author
I would first ensure you have a the latest version of Lotus. If you don't, update it and reinstall VCQL. Older versions had known issues with this mod.
If that doesn't work, try removing Scorpion and Prisiclu. The rest should be compatible.
66thMarauder
had same issue, Lotus update solved it
JessC
updating lotus actually fixed my issue too
Timmons
Let me try that . Will get back to you with results.
Long reply time on my end atm dealing with seasonally flues and such.
Thank you
Edit:
The suggested fix did not help. Still freezing up on loading game @ 33% .
May try to uninstall all mods and add 1 by 1.
KillYoy
Could you add a "min_distance_from_players_during_raid" setting for normals scavs too?
Had them spawn in the same building as me just behind the wall multiple times.
Rak74uN
Would also like to see this if it's not an option already. Raids feel less like "live-like" and more like someone has just spawned around the corner from you after killing an enemy and filling the new spot.
DanW Author
Currently Scav and boss spawning is entirely controlled by EFT. However, BSG's new spawning system for them pisses me off too, so I'm tempted to add some tweaks for it.
Rak74uN
Ah, that's tough. Mods been amazing otherwise though. Also, curious if you have any idea what might be causing "Unable to find standing for kill value for?" Imagine it might be a compatibility thing but wondering if there's anything I can edit before I try to figure what to remove. https://imgur.com/a/8LH3TVV
DanW Author
That's an SPT limitation, and you can ignore it. Basically it's just because there's some data that the SPT devs weren't able to get from EFT.
Rak74uN
Oh, mint. Thanks man.
2Sonny
Thank you! best mod on the site
JessC
Always crashes when "loading local game"
TypeError: Cannot read properties of undefined (reading '_props')
TypeError: Cannot read properties of undefined (reading '_props')
at filter (C:\snapshot\src\generators\BotEquipmentModGenerator.ts:923:31)
at Array.filter (<anonymous>)
at BotEquipmentModGenerator.getFilterdMagazinePoolByCapacity (C:\snapshot\src\generators\BotEquipmentModGenerator.ts:921:45)
at BotEquipmentModGenerator.chooseModToPutIntoSlot (C:\snapshot\src\generators\BotEquipmentModGenerator.ts:866:28)
at BotEquipmentModGenerator.generateModsForWeapon (C:\snapshot\src\generators\BotEquipmentModGenerator.ts:421:35)
at BotWeaponGenerator.generateWeaponByTpl (C:\snapshot\src\generators\BotWeaponGenerator.ts:181:65)
at BotWeaponGenerator.generateRandomWeapon (C:\snapshot\src\generators\BotWeaponGenerator.ts:82:21)
at BotInventoryGenerator.addWeaponAndMagazinesToInventory (C:\snapshot\src\generators\BotInventoryGenerator.ts:611:57)
at BotInventoryGenerator.generateAndAddWeaponsToBot (C:\snapshot\src\generators\BotInventoryGenerator.ts:550:22)
at BotInventoryGenerator.generateInventory (C:\snapshot\src\generators\BotInventoryGenerator.ts:101:14)
TypeError: Cannot read properties of undefined (reading '_props')
TypeError: Cannot read properties of undefined (reading '_props')
at filter (C:\snapshot\src\generators\BotEquipmentModGenerator.ts:923:31)
at Array.filter (<anonymous>)
at BotEquipmentModGenerator.getFilterdMagazinePoolByCapacity (C:\snapshot\src\generators\BotEquipmentModGenerator.ts:921:45)
at BotEquipmentModGenerator.chooseModToPutIntoSlot (C:\snapshot\src\generators\BotEquipmentModGenerator.ts:866:28)
at BotEquipmentModGenerator.generateModsForWeapon (C:\snapshot\src\generators\BotEquipmentModGenerator.ts:421:35)
at BotWeaponGenerator.generateWeaponByTpl (C:\snapshot\src\generators\BotWeaponGenerator.ts:181:65)
at BotWeaponGenerator.generateRandomWeapon (C:\snapshot\src\generators\BotWeaponGenerator.ts:82:21)
at BotInventoryGenerator.addWeaponAndMagazinesToInventory (C:\snapshot\src\generators\BotInventoryGenerator.ts:611:57)
at BotInventoryGenerator.generateAndAddWeaponsToBot (C:\snapshot\src\generators\BotInventoryGenerator.ts:550:22)
at BotInventoryGenerator.generateInventory (C:\snapshot\src\generators\BotInventoryGenerator.ts:101:14)
Loads perfectly fine if I remove every Questing Bot file
DanW Author
Questing Bots doesn't modify bot loadouts, so there is a mod conflict. Please try removing other mods until the problem stops.
JessC
Ok thank you. No idea what other mod would conflict, wish me luck.
Zaxx
Sry do you have find the issue ? same problem for me
MadBrother
how do I disable the spawning system of this mod since i'm using Please Just Fight
xamnalyd
I was literally going to ask this right now, but since you commented first I'll wait for someone's response about this cuz I'm having the same issue right now, it pops an error saying that please just fight doesn't work with QB spawning system, even though I disabled everything spawn related on the F12 menu.
Sting
same problem here
crome4
same
tijlovichy
go into the config and there should be a spawning section, just turn that to false. The config is located in the mod folder itself by the way
Sting
Tried that and still couldn't load into raid unfortunately
___ShAM
The game crashes when loaded into the raid.
DanW Author
If you're using Guiding Light or QuestManiac, they're known incompatibilities right now and can cause this.
___ShAM
No, I don't use any of these mods.I use traders,Artem;Painter;Lotus;Priscilla;SariaShop.Could it be related to them?
MoxoPixel
I get freezing on loading screen for my own trader mod Painter. We have to look at our quest structure from what I've heard. Sometimes I can load a raid, sometimes not.
DanW Author
Older versions of Lotus also caused this problem.
IchiOW
So it turns out, that after all testing i done, that VSQL crashes game wis questing bot just before starting raid. Well for me it is, does anyone else have that problem?
The_Bandit
I am having the same issue as well, crashes about a minute or two into raids.
DanW Author
If you're using Guiding Light, that's a known incompatibility right now and can cause this.
IchiOW
I did remove guiding light, but left lotus (1.4.4),painter, Artem, Scorpion. After that game was crashing aswell. After i removed all trades and quests, i tried to launch game again, and get a crash. After removing VSQL game was working properly. I will try now to reinstall VSQL without any traders, will see how it works.
IchiOW
Ok, i guess it's not VSQL. Im in game rn. Will look into traders mods that was left, maybe guiding light not only one that incompatable rn
DanW Author
VSQL has some kind of caching for mods that use it, so you have to clear that out too. I'm not exactly sure how it works.