Bothering mod authors will lead to warnings and repeat offenses will lead to eventual bans.
ETA for an SPT 3.10 update: Early January (I have limited time to support this mod until then)
The file structure has changed starting with the 0.6.0 release, so files from all previous versions of this mod must be removed before installing a new version!
SAIN 3.1.0 or later and Looting Bots 1.3.5 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:
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:
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.8.1
- DanW
- 8.8k 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.2k 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.
-
Version 0.4.0
- DanW
- 4.2k 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!
Huge update!
Highlights:
- Added and updated quests on every map, including new ones for the 0.13.5 Streets expansion
- Added new questing features that instruct bots to loot, snipe, and camp. Requires SAIN 2.1.9 or later and Looting Bots 1.2.1 or later.
- Implemented a new quest-selection algorithm that makes bots travel more naturally through the map
- Implemented player-Scav spawning system. If the player-Scav spawning system is disabled (i.e. if you're using SWAG + DONUTS), the SPT player-Scav-conversion chance will adjust throughout the raid.
- Allow player Scavs to quest without making all Scavs quest
- Implemented advanced spawning system that tricks EFT into thinking bots spawned by Questing Bots are human players. This makes them not count toward the bot cap, and all other EFT spawns will work like they do in live Tarkov. This only applies to bots spawned by Questing Bots; it will not apply to bots spawned by mods like SWAG + DONUTS.
- Added a system to wait for all PMC's and player Scavs to be generated before the raid starts. PMC's will now spawn immediately on all maps.
Full Release Notes (too long to include here): https://github.com/dwesterwick…ngBots/releases/tag/0.4.0
config.json files from previous releases are not compatible.
IMPORTANT: If either the player-Scav spawning system or player-Scav conversion-chance adjustment system is active, the "/client/game/bot/generate" endpoint will be overwritten with a QuestingBots endpoint! This may affect compatibility with other mods!
-
Version 0.3.5
- DanW
- 28k Downloads
Requires at least SPT-AKI 3.7.4 with the 2023/12/06 hotfix or newer!
- Added "boss hunter" quest that instructs bots to search areas in which bosses may spawn. Bots must be level 15+ to select it.
- Added "airdrop chaser" quest that instructs bots to go to airdrop crates within a certain time after they land (420s by default).
- Instruct bots to extract based on raid time and the number of quests they complete. REQUIRES SAIN 2.1.7 or later. SAIN 2.1.8 or later is highly recommended.
- Allow quests to instruct bots to extract immediately after completing them
- Updated "Marked Room Rush" quest in Customs to instruct bots to extract after completing it
- Display a notification in the EFT main-menu screen if SPT needs to be updated to support the current version of the mod
- Abbreviate the ID's of doors being unlocked in the bot's "action reason" so they take up less space in BotDebug overlays
- Added currently-unused method that can retrieve a
CustomLayer
object registered with BigBrain from another mod without adding it as a dependency - Changed inconsistent property name chanceOfHavingKeys to chance_of_having_keys in questing.bot_quests.eft_quests
- Added debug option to force airdrops to occur at the beginning of every raid on applicable maps
- Only show the "No custom quests found" server warning message if the user\mods\DanW-SPTQuestingBots\quests\custom directory exists but doesn't contain any quests
- Added a server error message if no standard quests were found
- Added more detail to the "/quests/standard/ directory is missing" server error message
- Small performance improvement when initializing bots
- Added more information to the message for exceptions thrown by LocationController.GetNearestSpawnPoint()
- Bug fix for bots repeatedly trying to unlock or breach the same door
- Bug fix for some properties not working when added to quests in questing.bot_quests
- Bug fix for exceptions when loading quests added by mods that do not have any
Conditions
defined - Bug fix for exception thrown by LocationController.GetNearestSpawnPoint() saying that no spawn points are available, typically on Reserve
- Bug fix for rare condition in which profile information is requested for a null bot
- Bug fix for custom and standard quests being validated even if the mod is disabled
config.json files from previous releases are not compatible.
StevenSeagal
Just an appreciation post!
Thanks for all your hard work and effort making questing bots, developing features for it and bug fixing for all this time, this really is an essential mod and SPT isn't quite the same without it.
One of the reasons SPT is held in such high regard is because of people like you, who make quality game-changing features possible.
Thanks again!
DanW Author
Thanks! That especially means a lot coming from Steven Seagal himself!
ugpbmx
Hey I absolutely love your mod, thanks for contributing something so amazing to the community! I have a question, while you are working on your mod, is it possible to upload just a pmc spawner mod? I found the one built into your mod to be the best and works really well. there is no pressure or anything, I know that you are busy and maybe that just isn't part of this rendition of the mod. I also know so much has changed with SPT running off the PVE mode rather than PVP mode. Anyhow, thanks for all your work, and if that is difficult or too time consuming disregard that request and I hope you are doing well and enjoying life.
DanW Author
Separating the spawn system from this mod is my long-term plan, but it'll take months before I get there. In that plan, I'll have the system you're talking about as a separate mod too. However, that mod will require Questing Bots or PMC's will just stay near their spawn points.
ugpbmx
Awesome man, thank you for the response. take your time lol, way more important things in life than this I am sure
poneais
maan it works for 310?
R4T_B0T
Is there any way to disable just the spawn rush quest type? im having trouble with certain spawns being unescapable death traps in early game.
DanW Author
Yup, just set questing.bot_quests.spawn_rush.desirability to a low number (or even 0).
prankaru
I read that I can set the difficulty of pmcs/pscavs separately from the base game scavs similar to swag. Where do I set this at? In the config file all I see is code specifically for as-online
DanW Author
You can set the distribution of difficulties for PMC's and PScavs using the bot_difficulty_as_online settings, but there are no options to change the difficulties of normal Scavs or bosses.
prankaru
Thanks
I ended up screwing with those exact settings last night just to see what would happen if I put every group to be a 2 and it did force all pmcs to be hard difficulty.
BomberNik
Does someone tried if it work with 3.10?
A_Maze
tried it and it does not work with 3.10.
fov90
hi guys) does anybody know how to decrease looting sound? It's so annoying when I can't hear anything around during searching a loot
DanW Author
This mod doesn't affect anything related to sounds. Please ask for help in the SPT Discord.
Iustus
Dumb question, but will the latest version work on 3.9.5?
DanW Author
No, only 0.7.0 is compatible with SPT 3.9.5. 0.8.x requires SPT 3.9.6 - 3.9.8.
Iustus
Thank you, got it.
ezlife
I have installed MOAR and QuestingBots.
My setup includes a dedicated nographics Fika client, a Fika server and the normal client.
QB has regonized MOAR on my server and disabled its spawn system (i guess).
QB is installed on my dedicated client and is working and doing its job with proper quest assignments.
It's hard to tell who is in charge when it comes to bot spawns.
My question to you, is it just a log that QB recognises PMC spawns to intercept it or did QB trigger the server to spawn a bot?
My dedicated client is logging this
If bot_spawns.enabled: false, there is absolutely no chance that QB spawning anything right?
I know that this is a very specific question.
I hope I'm not being a pain with this question.
DanW Author
Sorry, my logging messages kinda suck, so it's a bit confusing. If you see "spawned bot #", that happens when this mod is recognizing that a bot spawned. That doesn't mean this mod caused the bot to spawn.
To see if this mod is spawning bots, you can check for logging messages like this:
To be absolutely sure, you're correct that you can set bot_spawns.enabled=false.
Hope that helps.
ezlife
Thanks for your quick response and clarification.
We gucci, looks like QB isnt spawning anything i guess.
travelyogo
"generating pmcs" and "generating pscavs" during the raid loading screen takes 15+ minutes its really annoying
DanW Author
This is typically caused by nVidia Reflex being on (for which there is a warning message when you start the game). It may also be caused by trying to increase max FPS above what EFT normally allows.
Sauce
New to this mod, want to make sure I have my ducks in a row. Will this conflict with SVM bot spawning changes? I don't mess with the amount, I only have all the bosses and goons and hounds set to 100% spawn rate. Thanks man
DanW Author
The only incompatible setting is the PMC conversion chance because this mod disables it. All other spawning setting changes in SVM should work.
Mihai395
If it disables it, how do I I turn it on again ?
DanW Author
You can't (by design) if you're using this mod with its spawning system enabled.
format
3ий раз иду к смотрителю и там чвк, валю чвк, квест по новой, что за мод для долбаебов?
DanW Author
I don't understand your question. Please only communicate in English here per the site rules.
ezlife
its not even a serious question lol
adishee
"
Made all Unity methods protected instead of private because the recent Visual Studio update is dumb and forces them to be faded out"
Good to know
Z474AL3MN2VC
BRO! You fixed it! The enemy PMCs spawning together across the map issue I had described a few weeks ago is fixed! I saw the bug fix comment in the release notes and can confirm using Raid Review, PMC spawns are spread out now. Fika user so that bug was the issue. Thank you so much for all the updates.
DanW Author
Yup, the issue was only happening with Fika. I don't use Fika, so I never experienced it myself. After getting a log from somebody who does use it, I was able to see what the problem was.
Glad everything is working for you.
ezlife
thank you for the fix, its crazy
Z474AL3MN2VC
Yup! Raids are much more dynamic now. We have to worry about fights right at the start of the raid depending on enemy PMC spawns. I'm level 45 on my SPT Fika server and it's a night and day difference after the bug fix.
TASbot
Anyway for QuestManiac to just not be used by this mod? Like not having the bots do any of the quests from the mod?
DanW Author
Nope. There's no easy way for the plugin DLL to determine which quests are from QuestManiac and which aren't, so it's all or nothing.
ezlife
Is there a way to give the QBs a chance to force their quests or run for shots?
I don't know exactly what the problem is, maybe MOAR spawns the bots too far away from D2 so the bots never get to run there. I haven't seen one bot around Dome and D2 yet (over 50 raids on reserve since i installed the latest QB).
However, it was different when I used your spawn system.
I remember PMCs standing on top of the dome and doing their “quest” with a sniper. I thought that was really cool, but unfortunately it never happened again after I used a different spawn system.
Not sure how I can tweak it so that the bots also force their quests if possible.
My assumption is that most bots are busy with fights and don't get to go to far-spots.
If you have an idea how I could tweak it I would be very grateful, because I think MOAR is quite nice now.
Maybe reduce the suspicion time? I'm currently doing a lot of trail and error until the bots run where I want them to. Possibly the AI limiter contributes to this, I turned it off for 10 raids but couldn't see any change, just livelier raids.
I know the question is very specific (i am so sorry), but I utilize all features of your mod if possible and I read in the changelogs that you added Rat Quests.
I think if bots spawn around Dome/D2, they would probably assign the quest. SWAG/Donuts does that quite often with Unicorn.
The quest distance will probably also play a role. But I think if I increase it, it will have a negative effect on performance if longer routes are calculated, right?
DanW Author
There are no quests that make bots run for gunshots. That's mostly accomplished via SAIN.
If you want to increase the chance of bots selecting specific quests, you can increase their "desirability" ratings in the JSON file for the corresponding map. Performance will be worse when they calculate longer paths, but ideally this should only happen as they begin heading towards it (either initially or after resuming from doing something else). If they can't find a complete path, they will try calculating the path again every 5 seconds (by default).
The quest-selection algorithm for bots is a bit complicated, but the "desirability" of the quest and the bot's distance to it are the primary factors.
ezlife
i expressed myself a bit stupidly. i didn't mean a quest that gunshot chases but that takes the QBs out of their quest mode when something happens around them.
I will try to define the desirability.
Thank you very much for your answer.
DanW Author
Gotcha. SAIN takes priority over questing logic by default, so anything that would make bots normally engage in combat will make them pause their questing. Questing Bots also has its own simple checks to pause questing if bots are in danger.
ezlife
I use ThatsLit with Realistic Combat Overhaul SAIN config, so that probably plays a role too.
I think the tweaks regarding gunshots etc. are tighter.
Good point.
matsix
Can you setup an option so that bosses and player scavs don't use the "distance from PMC's" option?
It seems like when a boss or a player scav is near regular scavs it activates them when AI limit is enabled. Also possibly add an option for player scavs in "bot types that cannot be disabled"?
Absolutely love this mod btw, I'm working on a donuts preset for VR and trying to optimize it as much as possible and the AI limiting has been a massive help
DanW Author
"Distance from PMC's" is actually an outdated description, so I'll update it for the next release. It should say "Distance from questing bots" which includes PMC's and PScavs. Bosses shouldn't affect the bots disabled by the AI limiter unless you enable questing for them.
I'll think about adding more options for it, but I'm leaning towards not changing it. There are two reasons I have in mind:
matsix
All good, I understand the reasoning for it. For the bosses, I'm not sure, I don't think I have questing enabled for bosses but I could've sworn when knight, big pipe, and birdeye were by some scavs, they were enabled. Maybe I just didn't notice it was player scavs.
Cynco
How do I control bots spawn waves? I'm thinking of a way to make the mod more performance oriented by adjusting the spawns. I was wondering if I could limit the total number of alive bots to 15 but the moment one dies another one spawns instantly just to keep the raid feeling lively. I've already tried adjusting bot_spawns.non_wave_bot_spawn_period_factor. I believe the default value is 15 so I was wondering if the mod changes it by a multiplier. Even after setting it to a value of -75, however bots don't seem to be spawning any quicker when one dies.
Is there a different setting I need to change or do I just need to decrease the value even more?
DanW Author
You can't control Scav or boss spawns; they're entirely controlled by EFT. This mod only adds PMC and PScav spawns on top of them. That's by design because I'm trying to emulate live raids.
The setting you have listed is the only way to manipulate EFT spawn waves by increasing the delay between each of EFT's "checks" to see if it should spawn more. A higher factor means a longer delay.
FotisN
About the Goons bugging out/freezing in Lighthouse when using QB ai limiter (no idea about other maps or bosses). Spent many hours testing and it came to 2 ways for bypassing it for now.
1. As soon as i removed Sain everything works properly
2. Sain on but using Bigbraindebug.dll everything normal.
I guess my question to Dan is if it's ok to use the bigbraindebug.dll or will it brake anything?
DanW Author
You can use that DLL for testing, but I don't recommend using it normally. If there are any errors in any AI code (BSG's or any modder's), performance will be significantly affected.
I responded to your other comment for troubleshooting steps.
FotisN
Hey thanks for the response here are the logs after reproducing the problem Logs
DanW Author
I just requested access because that file isn't publicly shared.
FotisN
It's set to public now, all good?
DanW Author
Got it. There is a recurring exception in your logs caused by this mod, but I'm not sure if that's the root cause. I've seen similar problems myself, but it's been very difficult to troubleshoot. For now, if you can find a workaround, I'd use it.
FotisN
Goons seem to bug out every other raid. They seem to spawn but remain invisible and frozen in place.
When I go near them I can see only their guns floating mid air.
I only use sain and when I remove QB the problem goes away. Console shows red messages at start of raid but, can't remember what it says. Is there a log somewhere so I can post here?
Ps only tested lighthouse for many hours
Update: It's the ai limiter i'm 99% sure. When you go into the raid with ai limiter on, Goons are gonna be sleeping and turning ai limiter off after this point won't affect them, they will stay asleep for the rest of the raid.
If you first enter the raid with limiter turned off (or on but with bosses excluded) Goons are active and they function normally, they search, take cover, engage in combat etc. But if you then turn the limiter on again they go to sleep and stay like that for the rest of the raid no matter what.
I checked and double checked, tried every possible combination with the limiter, reinstalled QB, same outcome.
I've read here someone had similar problem a few days ago and Dan provided a bigbrain debug dll as a possible solution, gonna try that out.
Again all this is happening in Lighthouse i don't know what happens in other maps.
DanW Author
Please share a ZIP of the following after you reproduce the problem:
matsix
Zryachiy's followers seem to be affected by AI limit even when bosses and followers is checked to disable AI limit on them
Edit: kinda realizing it's not a big deal because by the time I get on the bridge they enable when I have my distance set to 300
DanW Author
Sorry for the late reply. I confirmed this is a bug, and it will be fixed in the next release.
DanW Author
This is now fixed in the 0.8.1 release.
Dietre
I have a question out of curiosity, in your config you have suspicious times, min/max then a much larger number as default for each map. can you briefly explain what the factors mean and what changing them would do.
DanW Author
The "suspicious" time makes them pause their questing for a random time between the min and max values when they hear enemy footsteps or gunshots. The max values are used so they don't remain "suspicious" for a long period of time and never actually quest. The reason this value is higher on some maps is because smaller maps tend to have bots closer together, meaning they're more likely to have events make them "suspicious" continuously throughout the raid. It's a compromise, and it's less relevant now that SAIN takes priority over questing by default.
Dietre
Thank you for the explanation. I currently do not use Sain and was trying to figure out how to make the regular scavs stop just standing out in the open for extended period of time. The debug would show their brain layer as like stop/wait or hold etc. which is fine but would be cool if they would take cover if they hear shots danger close etc. I assume Sain would change this and the regular ai scavs are so easy to pick off. Some will move to like a wall and hold, at least they are in an ambush position maybe, but a lot of them will hear a shot and stop in place with zero cover and just stand there looking around.
Is the numbers for the values like seconds then?
and its like min #, max 35
then each map is like bigmap :120 (MUCH greater number) if i lowered this to like 35, then in theory the bot could hear a noise, stop and be like wtf for 30 secs, then return to the "patrol" vs 120 secs which makes then standing out in the open doing nothing and easy targets?
cheers man.
(I used Sain once, I was camped by two scavs in the out skirts exit on woods, which was really cool, but i noticed a big drop in frame rates with in installed) But it seems your working closely to have your mod and his work together vs separate now?
DanW Author
Yes, those values are in seconds.
I think there are a few things to clarify about this:
Dietre
cool, I understand it now
cheers, and great work.
Dietre
so I had that issue that people are saying with endless bots spawning right ontop of you or close to you, like dorms, kill like 3 bots, wait 30 secs, 5 more spawn in and basically walk straight to you. repeat. (it was especially annoying placing the posters in stronghold and "waves" of scavs were walking into the room, like 45 by time the game chilled out)
so, what is happening is two fold. 1stly (not related to this mod) you have edited or downloaded a mod that increases the base wave amount. 2nd, you have edited or a mod that is allowing cursedassualt bot brains on scavs, they will spawn and head straight for you. if you enable the debug their brain layer will be on pursing ax man or something like that. BFG actually has this in real tarkov so bots will chase hatchet runners.
I like to keep some cursedassualt brains so you get random scavs like following you when your out in the boonies on woods for example. so increase waves/bot per zone/ cursed assault is what is spawning bots up your arse
Dietre
non_wave_bot_spawn_period_factor
Also if i am not mistaken (I increase my config from 3 to 5) this is reduce the time between wave spawns. I noticed a big difference when i did this, so bots wernt spawning right on you (basically you kill 3, bots will replenish to max cap so since they died in your zone they spawn right back)
Saint Nick
Is it this mod or just SPT that keeps spawning scavs? So annoying. Should I try swag donuts to stop spawns after half the raid is over?
DanW Author
This mod uses default EFT Scav and boss spawns. Welcome to Tarkov.
Saint Nick
Im having scavs spawn right on top of me, right in front me, literally, on cottages at shorline so idk whats happening. Just gonna get rid of all my bot spawning mods i guess. Would disabling player scavs in your mod help? This is what im dealing with. No bot spawn mods besides yours that adds player scavs.
DanW Author
That doesn't look normal, but it's hard to tell what's going on without logs. This mod's spawning system should never spawn PMC's or PScavs that close to you, so it might be an EFT bug.
Please share a ZIP of the following:
prezidento#23
I can attest to the same issue with endless scavs. The group in the lower left corner spawned literally seconds before taking the screenshot. I've no idea how to remedy this.
DanW Author
Like I said, I can't do any troubleshooting without log files collected right after this problem occurs. Raid Review screenshots don't tell me anything.
Reinherz
are at least a certain number of bots on the map (15 by default)
Is there a way to prevent this from turning on entirely?
ezlife
maybe increase bot limit to max (dunno if dan capped it to 30 or only recommends it).
DanW Author
Do you mean prevent the AI limiter from turning on entirely? There's another option for that. If you mean you want to disable that setting, just set it as low as possible.
Reinherz
Ah so if the AI limiter is already disabled, this feature won't flip on regardless of the value it has?
DanW Author
Correct; it's just an additional threshold used to determine which bots get disabled.
adishee
Absolute 🔥
Tanked101
Hey there, love the mod and all the updates provided. Quick question, is this version compatible with fika? I'm asking only because after I downloaded the mod i noticed there are no bots loading on any map. As soon as I downgraded to the last version 0.7.0 there were no more issues with bots loading. Thanks for all the work you do
ezlife
its spawning bots on my fika server. did you delete the previous config?
Tanked101
I didn't. I just replaced the file... I'll try deleting first. Thank you
ezlife
\user\mods\DanW-SPTQuestingBots\config.json
\BepInEx\config\com.DanW.QuestingBots.cfg (maybe)
Tanked101
Got it fixed. Thank you
November75
D2 camping bot? Nice!😁👍
HAJIMEdj
Time to binge Stankrat videos to learn all the camp spots lmfao
nekoworkshop
Question regarding the changes in the latest version related to Zryachiy.
If I understand correctly, with these changes in place, if I set chance_of_being_hostile_toward_bosses to 0 for all the bot types, it should prevent them from triggering the Halloween event ritual by killing the "friendly" Zryachiy, correct?
DanW Author
"Friendly" Zryachiy is a completely separate bot type, so I don't know if that will work. I don't have a good way of specifically preventing bots from attacking him unfortunately. Honestly, I completely forgot that event existed.
nekoworkshop
Roger. Thanks for the clarification!
Z474AL3MN2VC
Thanks again for the mod and the helpful replies to your users. I was able to get a consistent number of bots in my raids using your mod and the config feedback your provided a few weeks back
For the past month I've felt like PMCs spawn way too close together on the opposite side of the map and kill each other (I hear grenades going off in the distance at the start of the raid). Since I use Fika after I extract I can fly around the map with the camera and see what happens and there are often tons of dead PMCs at their spawns. This issue has become painfully obvious due to the Halloween event. About half of my raids go into the Ritual mode within 1 minute of starting because enemy PMCs spawn on the opposite side of the map as usual but with the boss and kill him. I then have to immediately extract or try and kill cultists; I'm not even questing anymore due to this and thinking about editing out the event from SPT. Is there any way to tweak the spawns? Is this an EFT problem and not something that can be tweaked/fixed using your mod? (I checked the config and don't see anything immediately obvious.)
DanW Author
The spawn points are algorithmically selected so unfortunately they can't be modified. They're actual EFT spawn points, and the system basically just chooses spawn points that are spread out as much as possible. However, this can result in EFT spawning other types of bots near some of them.
Z474AL3MN2VC
I installed "Raid Review" and boy my suspicions were correct. On a Customs raid I spawned at Old Gas and all 9 of the enemy PMCs spawned at Big Red/Containers; they wiped each other out within 5 minutes.
The latest Questing Bots update had some fixes to the boss quests that seemed to try and address my above issue with the friendly Zyriachy, appreciate it even if it wasn't directly related. You rock.
FotisN
I noticed that some pmcs sometimes are friendly to player pmc and show as green when enabling their overlays. Is there a way to make them be always hostile? Probably not Questing bots issue but i'd appreciate any advice.
DanW Author
This is an SPT feature. There is a certain chance that PMC's of the same faction will be friendly with each other. I'm guessing SVM has an option to adjust this, but I'm not sure.