Questing Bots

  • DanW added a new file:

  • DanW added a new version:

    Quote
    • Updated for SPT-AKI 3.7.1


    config.json files from the 0.2.7 release are fully compatible.


    NOTE: Since SAIN hasn't been updated for SPT-AKI 3.7.1 yet, I'll ASSume it'll be compatible for now...

  • hey, sorry to bother you, but this is my first post on this site. I downloaded this mod and fired it up and I kept getting this error


    [Client Request] /QuestingBots/ReportError/Only%200%20of%204%20initial%20PMC's%20were%20generated%20due%20to%20an%20error.

    [Questing Bots] Only 0 of 4 initial PMC's were generated due to an error.


    If you have any idea what I did wrong and you decide to help me out, that would be great man.

  • Sure. A few other people have reported this error, so I don't think you're doing anything wrong.


    To help me troubleshoot, please do the following:

    1. Open config.json in your user\mods\DanW-SPTQuestingBots-0.2.x\config directory
    2. Ensure debug.enabled is true
    3. Run the game and reproduce the error. You should get it within the first 30 seconds of starting a raid.
    4. Immediately after closing the game, please post LogOutput.log in your BepInEx directory here. Restarting the game will erase this file.


    I'll review the log messages and let you know what I find.

  • I have the same error saying "[Questing Bots] Only 0 of 9 initial PMC's were generated due to an error"

    I can't attach the log file for some reason, but here's what I found.

    The log file is repeating this line:


    [Error :DanW-QuestingBots] Only 0 of 4 initial PMC's were generated due to an error.

    [Info :RequestHandler] Request GET json: 15543b6c1c55a5d0d246e74f:http://127.0.0.1:6969/QuestingBots/ReportError/Only 0 of 4 initial PMC's were generated due to an error.

    [Info :RequestHandler] Request was successful

    [Info :DanW-QuestingBots] Generating initial PMC groups...done.

    [Info :DanW-QuestingBots] Generating initial PMC groups (Raid time remaining factor: 1)...

    [Info :DanW-QuestingBots] Max PMC's on the map (factory4_night) at the same time: 5

    [Info :DanW-QuestingBots] Max total bots on the map (factory4_night) at the same time: 15

    [Info :DanW-QuestingBots] Generating initial PMC groups...Generating 4 PMC's (Min: 4, Max: 5)

    [Info :DanW-QuestingBots] Generating PMC bots...

    [Error :DanW-QuestingBots] Non-static field requires a target

    [Error :DanW-QuestingBots] at System.Reflection.MonoField.GetValue (System.Object obj) [0x0000b] in <eae584ce26bc40229c1b1aa476bfa589>:0

    at SPTQuestingBots.Controllers.BotGenerator+<generateBots>d__37.MoveNext () [0x0005e] in <46b5cb655f16409dba772db14c7f5f2b>:0

    [Error :DanW-QuestingBots] Only 0 of 4 initial PMC's were generated due to an error.

    [Info :RequestHandler] Request GET json: 15543b6c1c55a5d0d246e74f:http://127.0.0.1:6969/QuestingBots/ReportError/Only 0 of 4 initial PMC's were generated due to an error.

    [Info :RequestHandler] Request was successful

    [Info :DanW-QuestingBots] Generating initial PMC groups...done.

    [Info :DanW-QuestingBots] Generating initial PMC groups (Raid time remaining factor: 1)...

    [Info :DanW-QuestingBots] Max PMC's on the map (factory4_night) at the same time: 5

    [Info :DanW-QuestingBots] Max total bots on the map (factory4_night) at the same time: 15

    [Info :DanW-QuestingBots] Generating initial PMC groups...Generating 4 PMC's (Min: 4, Max: 5)

    [Info :DanW-QuestingBots] Generating PMC bots...

    [Error :DanW-QuestingBots] Non-static field requires a target

    [Error :DanW-QuestingBots] at System.Reflection.MonoField.GetValue (System.Object obj) [0x0000b] in <eae584ce26bc40229c1b1aa476bfa589>:0

    at SPTQuestingBots.Controllers.BotGenerator+<generateBots>d__37.MoveNext () [0x0005e] in <46b5cb655f16409dba772db14c7f5f2b>:0

    [Error :DanW-QuestingBots] Only 0 of 4 initial PMC's were generated due to an error.

    [Info :RequestHandler] Request GET json: 15543b6c1c55a5d0d246e74f:http://127.0.0.1:6969/QuestingBots/ReportError/Only 0 of 4 initial PMC's were generated due to an error.

    [Info :RequestHandler] Request was successful

    [Info :DanW-QuestingBots] Generating initial PMC groups...done.

    [Info :DanW-QuestingBots] Generating initial PMC groups (Raid time remaining factor: 1)...

    [Info :DanW-QuestingBots] Max PMC's on the map (factory4_night) at the same time: 5

    [Info :DanW-QuestingBots] Max total bots on the map (factory4_night) at the same time: 15

    [Info :DanW-QuestingBots] Generating initial PMC groups...Generating 4 PMC's (Min: 4, Max: 5)

    [Info :DanW-QuestingBots] Generating PMC bots...

    [Error :DanW-QuestingBots] Non-static field requires a target

    [Error :DanW-QuestingBots] at System.Reflection.MonoField.GetValue (System.Object obj) [0x0000b] in <eae584ce26bc40229c1b1aa476bfa589>:0

    at SPTQuestingBots.Controllers.BotGenerator+<generateBots>d__37.MoveNext () [0x0005e] in <46b5cb655f16409dba772db14c7f5f2b>:0

  • Thanks, that helps to narrow down the error. I'm not sure why the site won't let you upload the log file, but it would definitely help to see the whole log. Could you try posting a link to another file-hosting site where you can upload it?

  • DanW added a new version:

    Quote
    • Added AI limiter accessible via the F12 menu thanks to Props. Please see the README or Overview tab for more information.
    • Added PMC group spawns. Please see the README or Overview tab for more information.
    • Initial PMC spawning is automatically disabled if SWAG + DONUTS is detected thanks to DrakiaXYZ
    • Fixed broken PMC's that spawn south of the cinema on Streets and in the SW corner of Interchange thanks to DrakiaXYZ, WolfGrey, and Cosm1c Gam3r
    • Increased required version of Waypoints from 1.3.1 to 1.3.2, which is required for the previously mentioned fix to work properly
    • If boss questing is enabled, bosses with followers will use the same logic as PMC groups, so they will more effectively travel around the map as a group.
    • Reduced chance of bots selecting "standard" Resort quests in Shoreline
    • Implemented time-gating of questing logic to provide a small performance improvement. This can be disabled in the F12 menu if needed.
    • Allow bots with Shturman-follower, Cultist-priest, and Bloodhound "brains" to quest (if applicable)
    • Prevented PMC's from using Knight's "brain" because he gets stuck in combat for long periods of time
    • Force all PMC's to be hostile to you (I may revisit this in the future)
    • Bug fix (hopefully) for "0 of # initial PMC's were generated" error. This needs more investigation, but the root cause for this might actually be using other mods that are not compatible with the version of SPT-AKI being used.
    • Bug fix for infinite loop (causing the game to freeze) when failing to find a valid spawn point for an initial PMC group
    • Lots of refactoring


    config.json files from previous releases are not compatible.


    Huge thanks to nooky, Props, and DrakiaXYZ for help with developing and testing these changes. Also a huge thanks to everyone on Discord who tested the many alpha releases for this update. There are too many people to name, but you're all awesome.

  • DanW added a new version:

    Quote
    • Massive rewrite of the quest management system for bots. The quest-selection algorithm is about the same but will soon change too.
    • Added an option in the F12 menu to prevent bots from sprinting while questing (sprinting is enabled by default)
    • Bots will now crouch or go prone for a certain amount of time to simulate planting items for quests like Farming Part 1, Delivery from the Past, etc.
    • The limit for how many bots can do the same quest was moved from individual objectives to the parent quest itself
    • Make the wait time after a bot completes a quest unique for every quest instead of universal. Currently, this is still 10s for all quests.
    • Added minRaidET property for quests. The only quest currently using this is "Hermetic Door Switch" (300 s).
    • Added pmcsOnly property for quests. Now only PMC's can perform the Spawn-Rush and EFT quests.
    • If initial_PMC_spawns.enabled=true, force the PMC-conversion chance to be 0%. If it's >0%, it causes issues with PMC group spawns. Also removed server_pmc_conversion_factor from config.json.
    • If the PMC-conversion chance was set to 0% and it's not 0% when generating initial PMC's, write an error message in the server console.
    • Added units to the AI-Limiter distance options in the F12 menu
    • Added debug option to force initial PMC's to spawn (if initial_PMC_spawns.enabled=true) even when you select "None" for the amount of bots when entering a raid.
    • Added option to completely disable questing in config.json. I don't know why you'd want to do this, but it's there.
    • Revised debug messages to show more information about bots. This allows you to locate them more easily when using BotDebug.
    • Revised logging
      • Separate files are now generated for available quests and bot assignments
      • Removed quests from quest log if they aren't in the current map
      • Created new file showing all assignments for every questing bot along with their final status
      • Revised file naming
      • Remove commas from quest names, objective names, and bot names to prevent columns from being shifted in CSV files
    • Find switches on the map before generating quests (will be used in a future release)
    • Bug fix for constant "boss xxx has not been added to the follower dictionary" exceptions
    • Bug fix for you counting as an initial PMC in Scav runs
    • Bug fix for dead bots and boss followers counting toward max-bot limits for quests
    • Bug fix for questing logic running after a bot is dead
    • Bug fix for followers getting stuck when running to their boss and never trying to adjust their pathing
    • Bug fix for bot friendliness not being updated if EFT hasn't identified any enemies for its group. This mostly just affects the color of the bot text in BotDebug.
    • A LOT of refactoring (over 7000 lines of new/changed code)


    config.json files from previous releases are not compatible.


    Breaking Changes for Custom Quest Files:

    • maxBots was moved from quest objectives to the parent quest. If you don't move it, the default value of 2 will be used.
  • DanW added a new version:

    Quote
    • Improved PMC group spawning system thanks to DrakiaXYZ
    • PMC's are no longer forced to be enemies with you
    • Removed the mod version number from the folder name
    • Removed obsolete code


    config.json files from the 0.3.0 release are fully compatible.


    Please make sure you delete previous versions of this mod from your \user\mods directory!

  • DanW added a new version:

    Quote

    Feature Changes:

    • Bots will now toggle switches
    • Added prerequisites for some quests that require a switch to be in a certain position. For example, if the Hermetic extract switch is on in Reserve, don't allow bots to try and turn it on again (until it turns back off).
    • Automatically disable initial PMC spawns if MOAR is detected
    • Added logging message when a map has been loaded
    • Added logging message when quest data is being erased at the end of raids
    • Changed server message about PMC spawns being automatically disabled to a warning
    • Do not write a server message about PMC spawns being disabled if they're already disabled
    • Write a server message when the mod is complete disabled
    • Bug fix for dead bots still being assigned new quests
    • Bug fix for chanceForSelecting property for quests not working correctly (thanks, BSG...)
    • Bug fix for maxBots property for quests not actually being used
    • Bug fix for errors caused by rare condition where the mod searches for switches and doors in the map multiple times

    Quest Changes:

    • Added intermediate point for the "D2 Switch" quest in Reserve to reduce bot pathing failures to it
    • Reduced the chance for selecting the Customs "Power Switch" quest from 50% to 30%, and reduced the max distance to select it from 500m to 200m.
    • Added quests for KIBA alarm panels on Interchange that become available when the power switch is turned on
    • Changed the priority of the "Hidden Panel" quest in the Interchange Burger Spot bathroom from 19 to 20, changed the chance of selecting it from 15% to 20%, don't allow it to be selected until 180s after the raid starts, and only allow it to be selected when the power switch is turned on
    • Changed the priority of the "Safe Room" quest in Interchange from 19 to 18, changed the chance of selecting it from 30% to 10%, and only allow it to be selected if the power switch is turned on and keycard has been swiped in the Burger Spot bathroom
    • Added "Sewage Conduit Pump Switch" quest in Labs
    • Reduced the chance of the "Medical Block Elevator Power Switch" quest in Labs being selected from 10% to 5%
    • Reduced the chance of the "Cargo Block Elevator Power Switch" quest in Labs being selected from 15% to 5%
    • Reduced the chance of the "Main Elevator Power Switch" quest in Labs being selected from 10% to 5%
    • Only allow the "Parking Gate Controls" quest in Labs to be selected after 420s has elapsed in the raid and the gate isn't already open
    • Changed the priority of the "Parking Gate Alarm Controls" quest in Labs from 19 to 18, the chance of it being selected from 5% to 10%, at least 420s has elapsed in the raid, and only allow it to be selected if the Parking Gate is open and the alarm hasn't already been turned off
    • Only allow the "Hangar Gate Controls" quest in Labs to be selected after 420s has elapsed in the raid and the gate isn't already open
    • Only allow the "Hermetic Door Switch" quest in Reserve to be selected after 300s has elapsed in the raid and the switch isn't already on
    • Added D2-switch objective to the "D2 Area" quest in Reserve
    • Reduced the chance of the "D2 Area" quest in Reserve being selected from 30% to 15%
    • Added "Hermetic Alarm Patrol" quest in Reserve that can only be selected while the Hermetic extract switch is on


    config.json files from the 0.3.0 and 0.3.1 releases are fully compatible.

  • DanW added a new version:

    Quote

    Feature Changes:

    • Bots can now unlock doors
      • The ability for (questing) bots to unlock doors can be enabled independently for PMC's, Scavs, and bosses. Only PMC's are enabled by default.
      • If a bot cannot reach its objective location, it will automatically search for the nearest locked door to it within a certain radius (25m by default)
      • If the bot can reach the door, there is a configurable chance that the required key will be transferred to the bot (by default: 50% for EFT quests, 25% for all other quests)
      • If the bot is a PMC, the key will first be placed into its secure container if there is space. For Scavs and bosses (and PMC's will full secure containers), keys will be placed elsewhere in their inventories (backpack, rigs, or pockets) if possible. If there is absolutely nowhere to put the key, the bot will not be able to unlock the door. These keys are NOT found-in-raid (for now).
      • For debugging, the test positions used to determine locked-door accessibility can be outlined. See the README for more information.
    • Increased the required version of Waypoints from 1.3.2 to 1.3.3 to allow bots to interact with initially-locked doors
    • Prevented bots from doing any quest objectives on Lightkeeper island
    • When "planting" items, bots tend to aim toward the position where bots are most likely to be (based on averaging the positions of all alive bots on the map)
    • Reduced the search radius for valid NavMesh positions for quest items and quest zones from 2m to 1.5m to prevent locations from being incorrectly found on the floors above or below them
    • Added server warning message about known performance issues when using QuestManiac
    • Bug fix for "Boss xxx has not been added to the follower dictionary" exception when followers are initialized before their bosses
    • Bug fix for multiple quest objectives being failed at the same time
    • Bug fix for quest objectives being failed when the bot isn't actively questing
    • Bug fix for race condition that may cause questing brain layers to be infinitely suspended
    • Bug fix for the mod internally reporting that it was unable to delete a quest objective when it actually was
    • Bug fix for very unlikely condition causing bots to get stuck in the "Plant Item" action indefinitely
    • Bug fix for some spherical outlines drawn for debugging not appearing

    Quest Changes:

    • Reduced the maximum number of bots simultaneously doing the same EFT quest from 4 to 3
    • Added "Marked Room Rush" quest for Customs
    • Added "Engineer's Office", "Gate 0", "Gate 3", "Med Tent Gate", and "Cellars" quests for Factory
    • Reduced chance of bots selecting the "Scav Camp Area" quest on Interchange from 20 to 10
    • Reduced chance of bots selecting the "Goshan Interior Tents" quest on Interchange from 30 to 15
    • Reduced chance of bots selecting the "Goshan Lockers" quest on Interchange from 25 to 15
    • Reduced chance of bots selecting the "Lexos Director's Office" quest on Streets from 15 to 5
    • Reduced chance of bots selecting the "Lexos North Entry" quest on Streets from 30 to 15
    • Reduced chance of bots selecting the "Lexos South Entry" quest on Streets from 30 to 15
    • Reduced chance of bots selecting the "Lexos Center" quest on Streets from 30 to 15
    • Reduced chance of bots selecting the "Lexos Garage" quest on Streets from 30 to 15
    • Reduced chance of bots selecting the "Lexos Offices" quest on Streets from 30 to 15
    • Reduced chance of bots selecting the "Checkannaya 15" quest on Streets from 15 to 10
    • Reduced chance of bots selecting the "Checkannaya 15 Upstairs" quest on Streets from 20 to 10
    • Reduced chance of bots selecting the "Sparja" quest on Streets from 30 to 15
    • Reduced chance of bots selecting the "Pinewood Hotel Sparja" quest on Streets from 20 to 15
    • Reduced chance of bots selecting the "Sawmill Cabins" quest on Woods from 20 to 15


    config.json files from previous releases are not compatible.

  • I noticed when launching the server that your mod sets the bot caps for each map, I want to change the cap on streets and lighthouse as I have performance issues on those even with ai limiting enabled, I tried looking in f12 menu and config files for the mod but couldn't find anything, can you guide me on how to change the caps?


    thanks :D

  • I noticed when launching the server that your mod sets the bot caps for each map, I want to change the cap on streets and lighthouse as I have performance issues on those even with ai limiting enabled, I tried looking in f12 menu and config files for the mod but couldn't find anything, can you guide me on how to change the caps?


    thanks :D

    In short, this mod will try to increase the bot limit by the maximum number of players for the map. However, there are a few limits:

    • The bot limit cannot be increased by more than initial_PMC_spawns.max_additional_bots
    • The bot limit cannot exceed initial_PMC_spawns.max_total_bots

    Otherwise, you can pair this mod with another one that allows you to change bot limits per map. As long as those changes are done before launching the game and you have this mod load after the other one, this mod will use those changes as its starting point.


    If you don't want this mod to change bot limits at all, you can disable initial_PMC_spawns.add_max_players_to_bot_cap.


    Hope that helps!

  • DanW added a new version:

    Quote
    • Increased required version of SPT-AKI to 3.7.4 (MUST have the 2023/12/06 hotfix or newer!)
    • Bots will now figure out how to unlock doors in locked rooms (i.e. the offices in Big Red)
    • Raid-time calculations changed to use methods in SPT 3.7.4
    • Added debug option to force Scav raids to always be full length
    • Minor performance improvement when multiple bots check if the same door can be unlocked
    • Replaced individual debug messages for locked doors that bots aren't allowed to unlock with one saying the total number of locked doors that bots are allowed to unlock
    • Added more details about bots in debug message written when a player kills another player
    • Removed "Initial PMC's remaining" part of the debug message written when a player kills another player if initial PMC spawns are disabled
    • Fail all objectives for killed bots after writing the debug message written when a player kills another player so reading the log makes more sense
    • Added null checks to be more flexible when processing quests added by other mods
    • Bug fix for exception thrown when bots try unlocking keycard doors that were just unlocked
    • Removed obsolete code
    • Refactoring for methods that can serve other purposes in the future


    config.json files from previous releases are not compatible.

  • DanW added a new version:

    Quote
    • 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.

  • Hello =)


    I'm using version 3.7.6 and I keep getting this error


    [Cannot find methods to get raid time data. Make sure you are using SPT-AKI 3.7.4 with hotfix 2023-12-06 or newer.


    with 3.7.6 it should work without any hotfix right ?

  • Did you do a fresh install or patch an existing install? If you patched an existing install, please try a fresh install.


    If you're still having problems, please send me your LogOutput.log in your BepInEx directory after this error occurs.

  • DanW added a new version:

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!