Looting Bots 1.4.0 (SPT 3.10)

Please do not ask when mod authors will update their mods to 3.10 or if they can upload older versions of their mods.
Bothering mod authors will lead to warnings and repeat offenses will lead to eventual bans.

This mod aims to add more life to the bots by enhancing some EFT looting behaviors letting bots loot items, containers, and corpses during patrols. More features to come!

If you enjoy my work, support me at Ko-Fi!


[tabmenu]
  • Version 1.4.0 (SPT 3.10)

    Thank you very much ArchangelWTF for making the upgrade to 3.10! <3


    Update references and removed some deprecated logic

  • Version 1.3.5 (SPT 3.9.0)

    Thanks @hel0t for the update!

    Update references to work with SPT 3.9.0.


    VirusTotal is showing one of the vendors reporting as malicious (Anity-AVL). This is a false positive, a rescan of version 1.3.4 which had the vendor as passing is now also reporting as malicious

  • Version 1.3.4 (SPT 3.8.0+)

    Changes

    • Fix ArgumentOutOfRangeException seen when loot scans do not find any lootable items
    • Fix issue where one loot result was always omitted when processing results from a loot scan
  • Version 1.3.3 (AKI 3.8.0+)

    NoDiscardLimit server mod has been renamed to LootingBots-ServerMod to make it clear that it is related to the LootingBots client mod. Make sure to delete the old Skwizzy-NoDiscardLimit folder in your user/mods!!


    Mostly bugfixes and performance improvements. Should be less dips in frame rate when loot scans are executing, however a large scan radius may still cause some small hitching (mostly testing with 500m radius). This is a side effect of the unity Phsyics.OverlapSphereAlloc method used to detect nearby objects, a more robust approach is needed to further improve the scanning performance when using a large detection radius

    New Performance Settings (F12)

    • Maximum looting bots - Limits the amount of bots that are able to simultaneously run looting logic. A value of 0 represents no limit
    • Limit looting by distance to player - Any bot farther than the specified distance in meters will not run any looting logic. A value of 0 represents no limit

    New Loot Settings (F12)

    • Bots always close containers - When enabled, bots will always try to close a container after they have finished looting. If the bot is interrupted while looting, the container may remain open. This is enabled by default
    • Added dogtags to the list of items that are able to be picked up by bots. By default both PMCs and Scavs will pick up dogtags
    • Added armor plates to the list of items that can be picked up by bots. By default PMCs and Scavs will NOT pick up armor plates

    Server Mod Changes

    • NoDiscardLimit server mod has been renamed to LootingBots-ServerMod to make it clear that it is related to the LootingBots client mod. Make sure to delete the old Skwizzy-NoDiscardLimit folder in your user/mods!!
    • Changed default value of pmcSpawnWithLoot to true as it seems like many people prefer pmcs still spawn with their own loot. If using realism, this setting can either be achieved using the Realism Bot Loot changes + LB compatibility options or by setting pmcSpawnWithLoot to false
    • Fixed an issue where pmc starting loot was not cleared properly when using pmcSpawnWithLoot: false. Should be compatible with other mods that affect bot loadout generation such as ALP and Realism as long as the NoDiscardLimit mod is loaded after these mods

    Client Mod Changes

    • Add additional .5 second delay after throw actions to fix issues where bots would sometimes not equip new items after throwing their old item during a swap action
    • Fix issue where bots that were interrupted during a loot scan would sometimes continually scan for loot until aggro'd by another bot
    • Change initial inventory sort to coroutine to improve performance when LootingBrain is first initialized
    • Change loot finding to use Phsyics.OverlapSphereNonAlloc which has better performance with larger data sets
    • Prevent bots from sprinting as they approach lootable objects to prevent instances of repeated powersliding
    • Only call BotOwner.GoToPoint once when a bot is moving to loot to improve performance.
    • Add a little more padding to the destination points when looting to reduce instances where bots are spinning/wiggling while looting because they are too close. Corpse looting still needs some work
  • Version 1.3.2 (AKI 3.8.0+)

    Small update with some bugfixes before a meatier logic update. Ty for all the love and support :)

    New Features

    • Bots will now close containers after looting is completed, similar to live behavior. If a bot is interrupted or killed during looting, the container may not be closed
    • Bots can now merge stackable items. If a bot finds an item that can be stacked and they already have that item in their inventory, the items will be merged if the result of the merge does not exceed the maximum stack size. (example: bot has 40 pst bullets and finds 20 pst, the stacks will NOT be merged)

    Changes

    • Fix issue where player corpses were not being detected as loot
    • Filter out items that are in locked slots when looting corpses and armors
    • Added value of weapons to the bot's DebugPanel
    • Fix issue where bots would not loot loose armor vests
    • Fix issue where bots that spawn with 2 weapons would sometimes swap weapons incorrectly, incorrectly throwing their secondary weapons
    • Prevent unremovable mods from appearing in loot results when stripping attachments from weapons
  • Version 1.3.1 (AKI 3.8.0+)

    New Features

    Thanks to Solarint for the following new features:

    • Added 3 new methods to the Mod Interop support. GetItemPrice, GetNetLootValue, CheckIfInventoryFull. More info can be found in the interop docs
    • Added 3 new options to the Loot Finder settings. These settings will cause bots to ignore loot during loot scans if the loot is not visible by the bot. All disabled by default
      • Enable corpse line of sight check
      • Enable container line of sight check
      • Enable item line of sight check.

    Changes

    • Added a new patch to the BotOwner.Dispose method that will remove the BotOwner from the ActiveLootCache when a bot is killed while looting. Should be the root cause of the null reference exceptions seen in the ActiveLootCache
  • Version 1.3.0 (AKI 3.8.0)

    Update GClasses to support AKI 3.8.0

  • Version 1.2.2 (AKI 3.7.6)

    Compatible with AKI 3.7.1 - 3.7.6

    Changes

    • Prevent caching and finding loot if the BotOwner.name is empty. Should prevent exceptions from being thrown by the ActiveLootCache
  • Version 1.2.1 (AKI 3.7.6)

    Compatible with AKI 3.7.1 - 3.7.6

    Changes

    • Prevent scavs from looting memory 🤖 . Fixed a memory leak due to excessive regex calls and log message concatenation
  • Version 1.2.0

    There is a known memory leak in this version, working on a fix!

    Compatible with AKI 3.7.1 - 3.7.6

    For Modders

    Thanks to DanW!


    Adds support for external commands without requiring LootingBots as a dependency for mods.


    Currently the two external commands are:

    • Force a loot scan: Forces a bot to scan for loot the next time it is able to do so
    • Inhibit looting: Stops a bot from looting and prevents them from scanning for loot for a specified amount of seconds

    For more details view the Full documentation


    New Features

    • New Setting Loot Finder (Timing): Enable examine time - Adds a delay before looting an item to simulate the time it takes for a bot to "uncover (examine)" an item when searching containers, items and corpses. The delay is calculated using the ExamineTime of an object and the AttentionExamineTime of the bot. Without any mods changing these values, it seems like the average examine time is 1 second. Looting should take a bit more time now depending on the amount of items in the container/corpse
    • Added a checkbox for PlayerScav to all the Loot Finder settings. Now you can enable/disable looting for player scavs separately from normal scavs

    Changes

    • Lowered delay at the beginning of container/corpse looting to 2500 ms (simulates UI opening and waiting for the search process to start)
    • Renamed Transaction Delay to Delay after taking item and clarified the behavior in the description
    • Allow bots to try and loot "searchable" items even if they do not have room to pick them up. Was preventing loose items like backpacks and rigs from being considered as valid loot
    • Prevent friendly bots from looting things the player is looting. Enemies can still try to loot the same object as the player
    • Hide debugging F12 settings under the "advanced settings" checkbox at the top of the menu
    • A bot will now end exit the loot finding logic if the first three items found are not within the acceptable looting range. This is to prevent bots from performing the expensive path distance calculation multiple times unnecessarily as its usually the case that if the first 3 items are not in range then none of the following items will be in range.
    • Only show top level items in looting results when searching containers/equipment
    • Fixed issue with debug spheres not working
  • Will this MOD cause a decrease in game frame rate?

  • God you are genius!

  • does this only affect Scavs or PMCs too ?

    • U can manually set it at game editor(F12). It can affect all bots(goons, raiders, bosses etc)

      Thumbs Up 1
  • yesss

  • I love you so much <3

  • The good days are back!
    Thank you so much...

  • WOOT WOOT, LET'S GOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO!

    ye im hype :)

  • Hugeeeee, thank you so much for the update <3 <3

  • I love you!

  • Awesome! Was looking forward to the 3.10 update. Thanks!

    • I'm happy to report that I've shot some looters.

      Heart 1
  • Amazing, thanks so much for the 3.10 update guys!

  • Update would be incredible :0

  • Does this work with 3.10 ?

    • it saying anything but 3.10 should tell you it wont work

      all mods that are outdated will not run in game

  • How do I turn off the routing of Rogue and Goons? They keep leaving the water center

    • Rouges currently fall under the category of "Raider" in the loot settings. Unchecking raider in the corpse/item/container loot settings should stop them from entering the looting layer.

      The Goons should fall under the category of "Boss" and by default they should not be looting, not seeing any looting behavior currently with boss unchecked in the looting settings

    • Thank you for your reply

  • People are reporting in the SPT Discord that bots are passive with Looting Bots in their mod order and when removed they become more aggressive. I dunno if that's because of them being focused on loot or an issue with bot priorities. just mentioning it here in case the mod author hasn't been notified of it in the Discord thread.

    • they are called bots not quantum bots

  • I noticed that when I'm in the raid, a lot of scavs appear, but very few pmc's, around 30 scavs and 3 pmc's, can anyone help me with this?

  • Ran into this error, I think I reported it on an older version, curious as to what this does if it causes anything negative I'm not really certain. Keep up the good work!

    • This is a normal exception seen without any mods and should be safe to ignore. LootingBots does not use the BotItemTaker logic for anything

    • Okay! Thanks for letting me know. Appreciate the information! I thought it was related to this because of the BotItemTaker portion :)

      Thumbs Up 1
    • I havent looked into why this is being thrown in the base EFT code, but I do know that the BotItemTaker is used heavily in BSG's looting layer which is removed as part of LootingBots

    • Interesting indeed. I hope you have a nice day!

    • Thanks, you too! :)

      Heart 1
  • Good afternoon, will it work on version 3.9.3?

    • Yep, should work with anything after 3.9.0

  • 1.2.2 SPT 3.7.6
    I have bug that sometimes, mostly later in raid (2h raids) prevents me from opening containers. Also chest rigs and backpacks. Why is that?

    • Im not sure without looking at your BepInEx/LogOutput.log file but is possible and likely that you are encountering an exception that was fixed in 1.3.1

    • I guess I cannot use 1.3.1 on SPT 3.7.6 ?

      I noticed just now that some bots stuck on questing bots quest "ambush" they are not changing their objective. Maybe this have something in common with this bug? Recent raid was that in some area I could not open any container.

  • Ive been playing a lot of labs and noticed that bots barely loot anything I could be in a labs raid for 20-30 minutes and kill a pmc and he will have at most looted 1-3 items.

    • I will take a closer look at labs looting as there has been another similar issue reported. Due to the small nature of the map its possible that bots spend a lot more time in the combat layer than they do in the looting layer, but I have identified some issues with looting in general on labs where bots are having trouble navigating to loot on a different floor/level

  • Is there a recommendation regarding enabling Line of Sight checks for corpses/containers? The Unicorn dev suggested to tick it on but it looks like it's disabled by default here. Is there any particular reason? Do you use LOS checks in your SPT saves?

    • I personally play with LOS check on for Corpse looting. There is some added computation when a bot is checking for LOS. Its not a whole lot extra but everyone has different performance needs so I have this off by default

  • Is it possible to make AI pick up Dog Tags?

    • Yes bots are able to pick up dogtags starting in 1.3.4

  • Is AIRDROP detected as a CONTEINER too?

    • yes at the moment it is considered a container

      Thumbs Up 1
  • pmc and scav don't do loot, they kill someone, they don't go and get their loot, or they enter a building, they don't do loot, they just fight labs, I haven't seen them do loot so far

    • Yes they do, and yes they have for more than a year. You either messed up the installation, or you're not patient enough to notice it happening.

    • I've been playing the game for nearly 200 hours, you think I should have noticed, right?

    • This is just spt gameplay time, I have 12000 hours in normal pvp, I think I am as patient as everyone here.

      Thinking 1
    • Im not sure what to say, bots definitely do loot if you let them. I did discover an issue that is more apparent on Labs where if a bot is trying to navigate to some loot that is above them and they pass underneath the loot during navigation, they sometimes think that they are close enough to loot the item and stop moving. They will stand there until my "unstuck" timer kicks in and cancels their active loot.

      Looking into a fix for this

      Thumbs Up 1
    • I was talking about this too, it passes over the loot and does not pick up the enemy it hits in the lab.

  • I've been playing on ground Zero with Sain, SWAG+D, Questing bots, Looting bots and it seems bots will only loot bodies & not containers, Dont see them go into buildings etc to loot but still see stuff int heir backpacks & any doors that are open inside from pmcs etc the containers still seem full. Is this how its supposed to be?


    Thank you!

    • I just ran some quick tests with this mod combo on Ground Zero and did notice that the SAIN 3.1.0 was constantly throwing an exception that it was not able to find some cover object. Seems like because of this once bots get into the combat layer they never leave. This takes priority over the looting layer

      As far as the stuff in the backpacks you are seeing, by default in SPT pmc and scav will spawn with loot already in their bags. This could explain why you are seeing loot in the backpacks but not actually seeing any bot looting. If you want PMCs to spawn with empty backpacks similar to live then you should set pmcSpawnWithLoot to false in the user\mods\Skwizzy-LootingBots-ServerMod\config\config.json

      Heart 1
  • :thumbup: <3

  • appreciate the quick release to 3.9.0. love your work

    Heart 3
  • update plzzzzzzzz

    • A kind soul has already submitted an update, working on getting my 3.9.0 environment set up so I can test the update. Give me a few hours

      Thumbs Up 3
    • <3 :)

  • Any fix available or in the works for an issue with bots falling/walking down through the terrain and despawning when paired with Questing Bots mod on fika when bots are set to not despawn?

    • I also use fika with QuestingBots and havent seen this issue with clipping personally. I have seen bots despawn as they sprint to some loot though, but I have the despawn settings in SWAG + Donuts enabled. The movement calls issued by LootingBots use the version of the method that will not teleport a bot if they get stuck, so this behavior shouldnt be caused by moving to loot but I will try and reproduce with all the despawn settings off.

    • There is a thread for this topic on the fika discord, videos of it occuring are also there. QB mod creator is aware of this and is in the thread. Here it is if you need the link https://discord.com/channels/1…37545/1242994643403280394

    • awesome, thanks for this! Was not aware of this thread

      Heart 1
  • Is it possible for bots to converge on Airdrop locations or crashed heli locations (if that mod is installed)

    • I like the idea of them going after airdrops, currently they either ignore it or in super rare cases a scav might happen across it and attempt to loot. But if the PMC AI's were more aware of airdrops and actively seeked them out that would be very much more live like.

    • PMCs or SCAVs are usually going for the airdrops in my raids...

    • I think Questing Bots has a piece of logic for this. But I'm not sure since I don't have it installed.

    • Yeah this has been suggested multiple times, I had added it as an enhancement a long time ago but just havent dedicated the time to working on it as I have been mostly working on optimizing looting behavior and performance. I do think that now we're probably in a good enough place to work on adding this next major feature, I'll double-check with the author of QuestingBots to make sure there is no overlap/conflict

      Heart 1
    • That's awesome! FWIW, I only use your mod and not Questing Bots, so maybe it's a feature that just needs to be enabled once? Or do you know of any players who use QB but not LB? Because it'd make sense for the feature to be in LB.