Late to the Party 2.5.0

Make your SPT experience closer to live Tarkov with loot disappearing, doors opening, switches being turned on, and car extracts leaving throughout the raid. PMC's are more likely to spawn early in the raid, traders can sell out of items, and much more!

Trader-stock changes are disabled for SPT-AKI 3.8.0+ releases. Significant changes to the code will be required, so that feature will likely be released as a separate mod sometime later in the summer.

This mod makes the the following changes to your SPT experience:

  • Loot (including on dead bots) will be gradually removed throughout the raid to simulate other players taking it.
  • Doors will randomly open and close throughout the raid to simulate players moving through the map (thanks to help from DrakiaXYZ!). If you're lucky, locked doors may be opened for you...
  • Switches will be toggled throughout the raid to simulate players turning on power switches, using extracts, etc.
  • The car extract may leave at some point during the raid
  • Compared to vanilla SPT, PMC's are more likely to spawn toward the beginning of the raid and less likely to spawn toward the end of it. However, this is disabled by default anticipating that SWAG/DONUTS or Questing Bots will be used for this instead.
  • If you spawn into the map late as a Scav, bosses are less likely to spawn.
  • Trader stock reduces over time (until it resets), and desirable items (like MP-133's) can sell out
  • Fence sells more items, including ammo, but most items are significantly less valuable than what he sells in the base game

If you use both Questing Bots and Looting Bots, setting only_make_changes_just_after_spawning.enabled=true in config.json is highly recommended.


This mod is highly customizable by modifying the config.json file. Here are the settings you can change:

[tabmenu]


If you're using this mod along with Kobrakon's Immersive Raids mod, please change the following in config.json:

  • destroy_loot_during_raid.max_time_without_destroying_any_loot to any value you want. This is the frequency (in seconds) at which an item is removed from the map. If this value is small and you stay in the raid for a long time, you'll eventually have no more loot on the map.


Known issues:

  • Trader-stock changes do not work in SPT-AKI 3.8.0+
  • Any locked door on the map is equally likely to be opened, including those locked with rare keys and those nobody ever really opens/closes in live Tarkov.
  • Some items have no price defined in handbook.json or prices.json, which makes the mod rank them as being extremely undesirable (i.e. the AXMC .338 rifle). This will hopefully be fixed as the data dumps available to the SPT developers improve.
  • If destroy_loot_during_raid.check_loot_accessibility.enabled=false, loot can be despawned behind locked doors or in locked containers. If destroy_loot_during_raid.check_loot_accessibility.enabled=true, some loot is falsely considered inaccessible and will never be despawned.
  • The "hot items" sold by traders are always the same, regardless of your player level or account age. This makes the trader stock changes always seem like it's early wipe.
  • Traders may sell out of junk ammo that nobody actually buys.
  • If you approach the car extract without taking it and this mod instructs it to leave later in the raid, you'll see the countdown timer when you check your extracts.
  • Version 2.5.0

    • Added support for having multiple non-AI players
    • Bug fix for opening doors requiring power (before it's turned on) when other mods are used that add context-menu actions
    • Bug fix for opening the inner KIBA door before the outer door


    config.json files from the 2.3.1, 2.4.0, and 2.4.1 releases are compatible, but you'll receive warning messages in the server console about trader-inventory changes being disabled.

  • Version 2.4.1

    • Log error instead of allowing exception when trying to register a picked-up item that wasn't discovered in the loot pool
    • Track player movement instead of camera movement for determining when to check for loot


    config.json files from the 2.3.1 and 2.4.0 releases are compatible, but you'll receive warning messages in the server console about trader-inventory changes being disabled.

  • Version 2.4.0

    • Updated for SPT-AKI 3.8.0
    • Disabled changes to trader inventories. This will require significant updates to work with the SPT-AKI 3.8.0+ server code.
    • Stop using trader enums in the server code


    config.json files from the 2.3.1 release are compatible, but you'll receive warning messages in the server console about trader-inventory changes being disabled.

  • Version 2.3.1

    Only compatible with SPT-AKI 3.7.4 - 3.7.6

    • Added config option to disable trader stock changes for Fence. Fence changes are enabled by default because he still sells unrealistically nice stuff in SPT-AKI 3.7.6.
    • Bug fix for constant NRE's when in the Hideout
    • Updated server code per Lint recommendations


    The config.json file from previous releases is NOT compatible.

  • Version 2.3.0

    Only compatible with SPT-AKI 3.7.4 - 3.7.6

    • Added system to turn on switches (i.e. power switches) throughout the raid:
      • A random number of switches will be toggled at random points throughout the raid (configurable). Only switches that players can toggle are eligible.
      • Switches that control extract points (i.e. elevator buttons in Labs) will not be allowed to turn on until a certain amount of time has elapsed in the raid, before adjustments are made for Scav runs (600s by default)
      • Switches will not be allowed to be turned on if you're within a certain distance from them (150m by default)
      • Just like the systems that open doors and despawn loot, switches that are "missed" when spawning in late as a Scav will be toggled immediately after you spawn. Audio will be disabled for these switches so it's less obvious what has changed on the map.
      • If a switch is only available to turn on after another one is turned on, that one will be toggled first. If this occurs after the initial switches have been turned on for Scav raids, the first switch won't be toggled until some time after the prerequisite switch is. The delay is proportional to the distance between the two switches.
      • When spawning in late as a Scav, initial switches must be toggled before initial doors are opened (which then allows initial loot to be despawned). This ensures doors that require power will be eligible to be opened (if the power switch is turned on).
    • Added the factor destroy_loot_during_raid.players_with_loot_factor_for_maps_without_pscavs (0.3 by default) to apply to fraction_of_players_full_of_loot for maps that do not allow player Scavs to spawn. This means that (by default) significantly less loot will be despawned throughout Labs raids.
    • Reduced only_make_changes_just_after_spawning.time_limit from 30 to 5 seconds because it doesn't really need to be any longer than that.


    The config.json file from previous releases is NOT compatible.


    NOTE: This release uses the previous code (for SPT-AKI 3.6.1) to change Fence's inventory, so that will need to be revised now that SPT-AKI 3.7.0+ has fixed some of the issues LTTP addressed back in the 1.2.0 release.

  • Version 2.2.0

    Only compatible with SPT-AKI 3.7.4 - 3.7.6

    • Improved car-extract behavior:
      • The car will now leave at some point during the raid instead of having the chances of it being available reduced based on the time you spawn in.
      • Just like in live Tarkov, the car extract will appear in green font after it has been activated (even if you haven't approached it yet), and it will appear in red font after it leaves.
      • The car will not be allowed to leave if you're within a certain distance of it (150m by default). If the car extract has already been activated, it will be deactivated if you get too close to it so you don't get a free ride. After this happens, it won't be allowed to be activated again for a certain amount of time (120s by default).
    • Added car-extract departures to systems that can be disabled by only_make_changes_just_after_spawning
    • Changed default value of only_make_changes_just_after_spawning.affected_systems.opening_locked_doors to true because bots can now unlock doors in Questing Bots.


    The config.json file from previous releases is NOT compatible.


    NOTE: This release uses the previous code (for SPT-AKI 3.6.1) to change Fence's inventory, so that will need to be revised now that SPT-AKI 3.7.0+ has fixed some of the issues LTTP addressed back in the 1.2.0 release.

  • Version 2.1.0

    Only compatible with SPT-AKI 3.7.4 - 3.7.6

    • Allow keycard doors and car trunks to be unlocked, opened, and closed throughout the raid (and at the beginning of Scav raids)
    • If loot is in a trunk, open the trunk before destroying it. If the trunk is locked, do not destroy it.
    • Bug fix for constant exceptions if destroy_loot_during_raid.loot_ranking.enabled=false<br>

    <br>

    config.json files from the 2.0.0 release are compatible, but destroy_loot_during_raid.nearby_interactive_object_search_distance will always be 0.75, and destroy_loot_during_raid.only_search_for_nearby_trunks will always be true.


    NOTE: This release uses the previous code (for SPT-AKI 3.6.1) to change Fence's inventory, so that will need to be revised now that SPT-AKI 3.7.0+ has fixed some of the issues LTTP addressed back in the 1.2.0 release.

  • Version 2.0.0

    Only compatible with SPT-AKI 3.7.4 - 3.7.6

    • Updated required version of SPT-AKI to 3.7.4
    • The following changes for Scav raids are now managed by base SPT:
      • Spawning into raids late
      • Reducing the minimum time needed to stay in the raid to get a "Survived" status
      • Updating train times
      • Removing missed bot waves
      • If destroy_loot_during_raid.enabled=false, reducing starting loot.
      • Client-side raid-time calculations
    • Added an option to force you to spawn late 100% of the time as a Scav (enabled by default)
    • Caching original escape times is now done slightly later as you load into the raid
    • Removed all code for features now managed by base SPT
    • Removed enums from server code because they cause issues with development SPT builds
    • Fixed incorrect type name Preset to correct name IPreset in server code
    • Bug fix for the mod trying to store null items as loot picked-up or dropped by bots

    The following changes for Scav raids can still be done by Late to the Party:

    • Initial setup with doors opened and loot removed (in a more realistic manner than base SPT)
    • Reduced vehicle extract chances
    • Reduced boss spawn rates
    • PMC-conversion chances change over the course of the raid (disabled by default)


    The config.json file from previous releases is NOT compatible.


    NOTE: This release uses the previous code (for SPT-AKI 3.6.1) to change Fence's inventory, so that will need to be revised now that SPT-AKI 3.7.0+ has fixed some of the issues LTTP addressed back in the 1.2.0 release.

  • Version 1.4.0

    • Adding a configuration option to only destroy loot for a short time after you spawn, but the option is disabled by default. This is intended to be enabled if you're using Questing Bots and Looting Bots. By default, loot will only be destroyed and doors will only be opened/closed for the first 30s after you spawn when this is enabled. However, locked doors can still be opened because Questing Bots does not yet allow bots to unlock doors (as of the 0.3.2 release). The following systems can be individually enabled or disabled for this feature:
      • Loot destruction
      • Opening unlocked doors
      • Opening locked doors
      • Closing doors
    • Revised loot-sorting algorithm when loot ranking is enabled. Instead of destroy_loot_during_raid.loot_ranking.randomness applying to all possible items in the game, it only applies to the accessible loot on the map. This means that higher-value loot is more likely to be destroyed per loot-destruction event. To compensate for this, randomness has been increased by default from 30% to 200%, and a top_value_retain_count setting was added to prevent a configurable number of the highest-value items from being destroyed (5 by default). That way, you always have a small chance of finding high-value loot regardless of how much time has elapsed in the raid when you spawn. The randomness factor is now proportional to 2σ of the values of all accessible loot on the map, which effectively ignores outliers like Labs cards and provides better consistency between raids for the items that are destroyed.
    • Added a slot-count limit for destroyed loot that's proportional to the maximum number of players for the map. Practically, this means there will be no change to the number of destroyed loot items for less loot-dense maps like Factory and Customs, but more loot will be remaining near the end of raids for more loot-dense maps like Interchange and Reserve.
    • Limit the number of individual items and item slots that are destroyed per loot-destruction event. This provides better accuracy for the value of destroyed loot when destroying initial loot in Scav runs.
    • Do not destroy loot until the first wave of doors have been unlocked (if applicable). This allows loot to be destroyed behind previously locked doors after you spawn in Scav runs.
    • Boss spawn chances are reduced by default again if you spawn in late. Previously this was disabled by default because the setting to enable multiple options for adjusting bot-spawn chances were lumped together.
    • Removed the version number from the directory name in \user\mods\
    • Removed duplicate debug message when enumerating loot that is already in a player's inventory
    • Revised debug messages to include more information about loot-destruction limits
    • Removed commas in the names of items when generating the loot log at the end of raids. Otherwise, columns may be shifted in the CSV files.
    • When creating loot-data CSV files at the end of raids, prevent the value of "Raid ET When Found" from being below 0
    • Bug fix for loot-remaining fraction not including items that have been picked up by players/bots


    The config.json file from previous releases is NOT compatible.


    NOTE: This release uses the previous code (for SPT-AKI 3.6.1) to change Fence's inventory, so that will need to be revised now that SPT-AKI 3.7.0+ has fixed some of the issues LTTP addressed back in the 1.2.0 release.


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

  • Version 1.3.5

    • Updated for SPT-AKI 3.7.1
    • Bug fix for not being able to enter a raid after leaving one while it was loading


    config.json files from the 1.3.1 through 1.3.4 releases are fully compatible. config.json files from the 1.2.2 and 1.3.0 releases are compatible, but destroy_loot_during_raid.exclusion_radius_bots will always be 10m.


    NOTE: This release uses the previous code (for SPT-AKI 3.6.1) to change Fence's inventory, so that will need to be revised now that SPT-AKI 3.7.0+ has fixed some of the issues LTTP addressed back in the 1.2.0 release.

  • Ai limiting questingbots force this error:


    Code
    Coroutine couldn't be started because the the game object 'Bot7' is inactive!

    maybe we should make a workaround? if AI is disabled, then do not give tasks)


    image.png

    • This doesn't seem to be related to Late to the Party.

    • I ran a series of tests and in the absence of the Late to the Party mod, the errors stop

  • seems that this mod has a single error with Epic'sAllInOne where it cannot find the barrel for the FDE Sig Rattler Upper Receiver


    I have brought incompatibilities to that author before and been told compatibility issues are the other mod authors' concern and not theirs.


    Would you be aware of how I could manually resolve this error myself?


    All other custom assets have no issue- only this receiver...


    I am tempted to remove the receiver but am not sure how to do so without breaking the mod


    Game will run but I don't like piling errors into the server if I don't have to

    • Can you share the error?

    • [Late to the Party] Creating loot ranking data...

      [Late to the Party] Could not find valid part to put in mod_barrel for MCX Rattler upper receiver (FDE)

      [Late to the Party] Creating loot ranking data...done.

    • I checked my code, and this shouldn't be a huge concern. Some of your loot-ranking data may be inaccurate, but this will have a small effect on the mod's functionality. I think it's safe to ignore.

    • Awesome, thanks Dan

  • When playing, I have the following error spammed constantly in the log:

    Code
    2024-06-01 00:02:10.751 +07:00|0.14.1.2.29197|Error|Default|
    EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object
    at LateToTheParty.Controllers.LootDestroyerController.Update () [0x001c2] in <fcd6b02c88e74da89162c15eac40e126>:0
    2024-06-01 00:02:10.751 +07:00|0.14.1.2.29197|Error|Default|NullReferenceException: Object reference not set to an instance of an object
    LateToTheParty.Controllers.LootDestroyerController.Update () (at <fcd6b02c88e74da89162c15eac40e126>:0)
    UnityEngine.DebugLogHandler:LogException(Exception, Object)
    Class358:UnityEngine.ILogHandler.LogException(Exception, Object)
    UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)

    It's always this specific object (40e126)
    I've tried turning off the loot destroyer in the config, but it doesn't seem to help. Any idea how it can be fixed?

    • Are you using any co-op mods?

    • Yeah, I'm running Fika.

    • That's likely why. This mod is not currently compatible with Fika. Sorry.

    • Ah, I see. I'm still inclined to keep the mod since doors being sometimes open are a great feature (although sometimes it only works for 1 player, but not the other). Questing bots work fine. Hopefully, you'll fix it soon, if possible. I'll keep those DanW dog-tags in the meantime.

    • Unfortunately, making this mod compatible with other co-op mods will be difficult and isn't something I'm planning to do. Sorry.

      Crying 1
  • i think i bungled up the config file to the point of no return... can i simply just overwrtie the files from the zip again? also i only want to make it activate the switches but it didnt work on my end. i figured it was due to the me messing with the config file too much

    • Yes, that should be fine.

      Happy 1
    • dont know what happened but i simply cant get the switches to work... i may have installed it wrong, idk. when i start up the server it says that late to the party is loaded.

      EDIT: reinstalling it for the 3rd time fixed it somehow but this time i aint touching it lol

    • When you say "i simply cant get the switches to work", what do you mean? What are you trying to accomplish?

    • the auto toggle switch during the raid. couldnt get it to work. reinstalled 3 times and on the third try it finally worked.

    • Right, but what were you expecting specifically? The system has a chance to toggle switches at certain times; it's not a guarantee.

  • When used with Questing Bots, should we expect an increase or a decrease in performance? I'm looking to minimize the load of having bots perform "live like" actions during raid, using Questing Bots with the AI Limiter is what I'm doing currently but I want to ensure that there are still things happening outside of the active AI range.

    Does this provide a happy medium for saving a bit of performance while making raids feel a little more dynamic?

    • Unfortunately, it's impossible to say, and you'll have to test it yourself to find a good compromise. Both mods will affect performance throughout the raid, but their impact scales differently based on your other mods, settings, etc.

  • It makes raid more and more immersive. Strongly recommended to add your server.

  • Just installed another of your mods, LTTP, now it seems I am in raids with only 7 bots, only found one scav in 10 raids, I did set "adjust_bot_spawn_chances": { "enabled": false, in the LTTP json file, so I thought QB would still be controlling spawns ?

    Reposted as requested.

    • Can you please send me your modified config.json file for LTTP?


      Also, can you confirm that Scavs spawn again if you disable LTTP?

    • scavs do spawn using the mod "eventually" lol, but never in the first 20 mins have I seen any.


      https://www.mediafire.com/file…kp7054y6/config.json/file


      Let me know if you would rather me paste the whole config in here rather than a link.


      PS. after messing/testing, it seems that SVM is messing with spawns, after using it, I now get 0 bots, I have no clue what it is doing.

      I also see this in the server output:

      [Client Request] ....IP... \QuestingBots\GenerateBot\0


      Update lol, deleted QB reinstalled, I now get 7 bots on shoreline, zero scavs.

      2nd raid, zero bots at the start, then after 20 minutes I got a spawn, massive firefight, I get there, pile of dead scavs and pmc's, I dunno wtf is going on lol.

    • It looks like you're running both Fika and another spawning mod (maybe SWAG+DONUTS?). I would try another spawning mod first. However... neither the official version of LTTP nor the official version of QB have been tested with Fika. The official version of QB has known issues with Fika and won't work correctly. The next release will have compatibility updates for it, but I don't plan to ever "officially" support any co-op mods. Sorry.

    • Not using Swag+Donuts, no other spawn mods installed, it was working fine the last few weeks with FIKA, never had issues there, it was just the spawns IMO were too light, scavs should spawn at the start, not spawn after 20 minutes of a raid, it makes no difference what I set the numbers to I dont get enough bots ( I set max alive bots to 40 on woods, still got 7 lol) after PMC's either die or exvil THEN you get bots, thats pretty pointless tbf.

      From what I have read about FIKA it does not control any bot spawns, it should not effect QB or LTTP.

    • Could you please post your mod list? Your server log is showing a LOT of bot-generation requests, way more than Questing Bots would control. There are also messages relating to bot spawning that I've not seen before, and if Fika isn't writing them, I'm not sure what is.

  • Hey, since updating to 3.8.3 I've been getting "Cannot read properties of undefined (reading '_props')" for this mod. Was working fine prior to the update. Really enjoy the mod and running the game without it will be hard haha

    • I haven't tried on 3.8.3 yet, but there weren't any changes (on paper) since 3.8.1 that would affect this mod. In the meantime, please send me your most recent server log in user\logs\, and I'll check it out.

    • I just updated to SPT 3.8.3, and I'm not able to reproduce this. Most likely another mod is adding or changing weapons, and the data it's providing isn't valid. You'll have to do some troubleshooting by disabling mods until you figure out which one it is. Sorry.

  • does anyone get performance issues once this is installed? since i try using it i notice worse fps and more stuttering ( disabled all bot spawn stuff etc )

    • What kind of difference are you seeing? This mod does a lot of expensive calculations in the background, so there will be some performance impact.

  • Hey there. I am not sure if anyone has had this issue and am not sure if it has to do with some of the issues of the main page. However I am unable to use this mod at this time because I keep getting this error that prevents the game from loading completely. I hope whatever the issue is can be resolved or perhaps be told it's me doing something wrong. I really want this mod to work. Thank you.


    Image

    • This would happen if you add another mod to the game that adds or modifies weapons and doesn't provide all necessary data for them. I recommend removing all mods that could do this and trying again. If the game loads, add those mods back one-by-one until the problem occurs again. Then, you can contact the author of that mod to report the issue.

      Thumbs Up 1
  • mod doesn't seem to be creating a config file on its own, idk whats wrong...

  • I loaded into a late raid was fighting some PMCs and lost track of time and when the clock hit 0:00 the raid didn't end. I was still able to extract so it seems that raid time is desynced from the real raid time.

    • This was night ground zero btw

    • Raid-time changes are managed by SPT now, not by this mod. I also just tried a raid using this mod, and I wasn't able to reproduce this problem. Are you using any other mods that affect raid settings? If not, I'd recommend a fresh SPT install.

    • I believe I found the issue. It appears to be related to the pausing mod (forgot that I had paused the raid near the beginning).

      Thumbs Up 1
  • Settings seem to have disappeared for me, do you have any idea why that could've happened? G7BTHsm

    • By settings, do you mean the mod isn't appearing in the F12 menu? If so, this seems to happen when something is wrong with the SPT install.

    • the settings were there before that's the most baffling part

    • and it says that the mod is installed in the launcher

    • I would brainstorm anything that might have changed from when it was last working and try reverting those changes. If you're not sure, unfortunately I think you'll need to reinstall the mod or maybe SPT entirely. Sorry.

  • Infinite load, stuck at "Create looting ranking data..." i use traveler, realism, lootin bots, questing bots, sain, etc.

    • Are there any errors in the server console? Either way, can you please post a link to your latest server log?

  • Hello! I love this mod, but is there any way i can make more PMCs spawn and less scavs? i see like 6 scavs for every PMC and its just dumb luck.
    thank you very much!

    • Yes, there's an option to adjust the PMC-conversion chance throughout the raid. If you set adjust_bot_spawn_chances.adjust_pmc_conversion_chances=true, you can then use the pmc_spawn_chance_multipliers table to adjust the chances compared to your base conversion chance. The left column in the table is the fraction of time remaining in the raid (1 = beginning of raid), and the right column is the multiplier to apply to the base PMC-conversion chance. For example, (by default) LTTP applies a multiplier of 2.2 to the PMC-conversion chance at the beginning of the raid and 0 at the end of the raid (if the aforementioned option is enabled). If the base PMC-conversion chance is 15%, that means Scavs have a 33% chance of being converted to a PMC at the beginning of the raid and 0% at the end of the raid.

  • Greetings! Will this mod work with the following: SAIN, SWAG, Algorithmic level progression, AllTheLoot and Looting bots? Also, let me know if any of these mods have to overwrite your mod or vice versa so I can adjust load order if needed. Thank you very much in advance!

    • In theory they should all work, but I haven't tried all of them together.

  • Does this mods loot stuff work with lots of loot mod? If anyone knows lmk.

    • In theory it should be compatible, but I haven't tried it. Please let me know if you find any issues.

  • Would increasing the trader restock timer to say, 1:30:00 (1 hour 30 minutes) mess with the ratios of the mod as far as the selling out of items goes? I just feel like with the 60 min default restock timer the trader sellout doesn't hit as hard because that sort of just whirs by just doing a couple raids and some inventory management.


    (THREE HOURS is way too long though..)

    • Nope, the stock depletes based on the fraction of time remaining, not the absolute time remaining. There's actually a debug config option debug.trader_resupply_time_factor that I used to make the restock times very short when developing that feature.


      You can change them to be whatever you want, but I'd recommend not adjusting them after the game starts.

    • It would still probably take longer for things to deplete given that the overall time is longer though right?


      Also by "after the game starts" do you mean after starting your profile as a whole or just physically opening the server/game? As I'm already level 26 in my playthrough at this point and I actually only just included LttP to my modlist a couple days ago utilizing the trader changes, Vex departures, and throwing switches throughout the raid. The mod itself seems to be working fine as of so far but if you think I should just leave the restock timer alone at this point I'll do so until my next playthrough over on 3.8+... assuming that you'll carry the mod over anyway.

    • Yes, if you extend the restock timers, it will take longer for the stock of items to deplete. You can create scarcity by adjusting the values of trader_stock_changes.item_sellout_chance if you want item stock to deplete more quickly.


      By "after the game starts", I mean after EFT loads and you get to the main menu. You can add or remove this mod whenever you'd like, and it shouldn't affect your profile at all. I do plan on updating for 3.8+ once mods are enabled for the test builds.

    • What values might you recommend if say I want to see stock depleting at a somewhat decent rate, but not necessarily just rolling off the shelf to the point you question where it's all going? Lol


      With a timer of 1h 30m that is.


      Also since the sellout chance maxiumum is already 101, would raising that any higher even actually make a difference since it's in %? I'm assuming it probably does, but still asking to be sure.


      Also just out of curiousity, regardless what values you might recommend.. I just want to check my math a bit. Since I'm increasing the restock timer by 50%, would increasing the values in the mod by 50% retain what the current depletion time as is..? I.E Minimum=30, Maximum=152

    • I tuned the default Late to the Party experience to mimic live Tarkov, so if you want something else it would be according to your personal preference. You'll have to experiment and see what you like.


      The min/max sellout chances determine how much the stock of items will be reduced every time you refresh the trader's inventory, but it's just a starting point. There are factors applied for barter trades and for "hot items" listed in hotItems.json.


      Each time you refresh, a random number between min/max sellout chance is selected, and the stock for the item is reduced proportionally by that much based on the time that has passed. If you set both min and max to 100%, all items would sell-out right around when traders restock. If you set both to 200%, all items would sell out about halfway through the trader's restock time.


      The sellout chance is a percentage, so it can be adjusted independently of restock time. If your restock time is 60 min and your sellout chance is 200%, items will be sold-out after about 30 min. If you then increase your restock time to 120 min but leave your sellout chance at 200%, items will then sell-out after about 60 min instead.


      Hopefully that makes sense.

  • HI! I getting some errors when i first run client with this mod installed
    Can u help me with that? Cant find the solution. Thanks!


    [Late to the Party] Creating loot ranking data...

    TypeError: Cannot read properties of undefined (reading '_id')

    TypeError: Cannot read properties of undefined (reading '_id')

    at H:\spt\user\mods\DanW-LateToTheParty\src\LootRankingGenerator.ts:389:114

    at Array.sort (<anonymous>)

    at LootRankingGenerator.fillItemSlots (H:\spt\user\mods\DanW-LateToTheParty\src\LootRankingGenerator.ts:385:47)

    at LootRankingGenerator.generateWeaponPreset (H:\spt\user\mods\DanW-LateToTheParty\src\LootRankingGenerator.ts:338:37)

    at LootRankingGenerator.findBestWeaponInPresets (H:\spt\user\mods\DanW-LateToTheParty\src\LootRankingGenerator.ts:313:25)

    at LootRankingGenerator.generateLookRankingForItem (H:\spt\user\mods\DanW-LateToTheParty\src\LootRankingGenerator.ts:137:40)

    at LootRankingGenerator.generateLootRankingData (H:\spt\user\mods\DanW-LateToTheParty\src\LootRankingGenerator.ts:99:75)

    at LateToTheParty.generateLootRankingData (H:\spt\user\mods\DanW-LateToTheParty\src\mod.ts:538:35)

    at Object.action (H:\spt\user\mods\DanW-LateToTheParty\src\mod.ts:150:26)

    at StaticRouterMod.handleStatic (C:\snapshot\project\src\di\Router.ts:50:63)

    TypeError: Cannot read properties of undefined (reading '_id')

    TypeError: Cannot read properties of undefined (reading '_id')

    at H:\spt\user\mods\DanW-LateToTheParty\src\LootRankingGenerator.ts:389:114

    at Array.sort (<anonymous>)

    at LootRankingGenerator.fillItemSlots (H:\spt\user\mods\DanW-LateToTheParty\src\LootRankingGenerator.ts:385:47)

    at LootRankingGenerator.generateWeaponPreset (H:\spt\user\mods\DanW-LateToTheParty\src\LootRankingGenerator.ts:338:37)

    at LootRankingGenerator.findBestWeaponInPresets (H:\spt\user\mods\DanW-LateToTheParty\src\LootRankingGenerator.ts:313:25)

    at LootRankingGenerator.generateLookRankingForItem (H:\spt\user\mods\DanW-LateToTheParty\src\LootRankingGenerator.ts:137:40)

    at LootRankingGenerator.generateLootRankingData (H:\spt\user\mods\DanW-LateToTheParty\src\LootRankingGenerator.ts:99:75)

    at LateToTheParty.generateLootRankingData (H:\spt\user\mods\DanW-LateToTheParty\src\mod.ts:538:35)

    at Object.action (H:\spt\user\mods\DanW-LateToTheParty\src\mod.ts:150:26)

    at StaticRouterMod.handleStatic (C:\snapshot\project\src\di\Router.ts:50:63)

    • I haven't seen this before, but my guess is that you're using another mod that adds a new item to the game that hasn't been created properly. If this is the case, can you please remove any mods that introduce new items and try again?

    • MMAQLsays that some guns i use doesn't have a matching caliber in weaponCategories, can it be the source of the problem?

    • I have no idea, you'll have to troubleshoot by removing mods to see what works.

  • Hi Dan,


    i recently noticed when opening my in game console in game i get some wired text i dont know if its something u should know of or is it just normal? So i post to inform u and maybe tell me what it is. Below is the text.


    [Exception] : NullReferenceException: Object reference not set to an instance of an object

    LateToTheParty.Controllers.LocationSettingsController.FindVEX (EFT.Interactive.ExfiltrationPoint[] allExfils) (at <c72ba407e28341bba3f5d344b453aef9>:0)

    LateToTheParty.Controllers.LocationSettingsController.FindVEX () (at <c72ba407e28341bba3f5d344b453aef9>:0)

    LateToTheParty.Controllers.CarExtractController.Update () (at <c72ba407e28341bba3f5d344b453aef9>:0)

    UnityEngine.DebugLogHandler:LogException(Exception, Object)

    Class327:UnityEngine.ILogHandler.LogException(Exception, Object)

    UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object

    • Somebody else reported the same problem earlier, but I wasn't able to get enough logging data to troubleshoot it. Could you please do the following:

      1. Set debug.enabled=true in config.json
      2. Restart the server and game, reproduce the problem, and then close everything
      3. Before restarting anything, ZIP the entire Logs folder in your SPT install directory as well as your LogOutput.log file in your BepInEx directory and post a link to them here

      Hopefully that will give me enough info.

    • Okay i try to reproduced it and it defo has something to do with entering the Hideout because when i go into my hideout i get this message in my console. It has nothing to do with entering raids let me see if i can upload the files somewhere.

    • Here is a link to my log folder the log output is in there too.

      https://ufile.io/5hxk32p8

    • Ah! That must be what I overlooked. I'll check it out. Thanks!

    • This should be fixed in the 2.3.1 release.

      Thumbs Up 1
  • great mod! is there any way to prevent loot from despawning from behind locked doors? I find if I open locked doors later into raids the rooms tend to be empty?

    • This shouldn't happen. If you can give me some example rooms where you're noticing this, I'll check it out.

    • this mostly occurs on interchange, ultra med or emc is empty but could also be tarkov being annoying with loot.

    • I've definitely tested the Emercom medical unit, and loot isn't allowed to despawn until one of the doors is unlocked.


      The easy way to tell if this isn't working is if there's an empty spot in the top-left of the loot container, which means something was taken from it. If you're just seeing a general lack of loot, that's probably just bad luck.

  • Hello and thx so much for the mod <3


    But is it possible to exclude a specific mod from the loot ranking system? I have weapon addons that conflict with it

    • Unfortunately no. I'll have to add that capability to the next release. Sorry.

    • Ah, No worries mate! Enjoy your day

  • Not sure if this is helpful but I have been getting these messages in the console when I load into a SCAV raid.
    https://pastebin.com/HD4bhspp


    SPT-AKI: 3.7.6v

    • Can you please set debug.enabled=true in config.json, reproduce the problem, and then send me a link to the full log?


      That error happens if EFT hasn't finished initializing the code module that manages extracts, but at the point LateToTheParty calls that method, it shouldn't be a problem. I'm wondering if something is failing upstream of this call.

    • I will do that tomorrow and post the Log for you.
      I just had another look and it was there for Interchange PMC raid no SCAV raid sorry.

      Also I have tried various pre-set's and can't find one for a good SCAV run. All my SCAV runs are baron and I'm lucky if i see even 1 other scav. No dead PMC's which makes it hard when I have been joining the raids without a backpack and have run around for 30mins and not found a single backpack or dead PMC. Had to leave good loot behind because I couldn't carry it.


      Do you have recommended pre-set's?

    • This mod doesn't adjust spawning at all, and it doesn't spawn corpses anywhere. You can try a mod like Questing Bots to get the remaining bots on the map to move to more predictable locations (where they may die), or you can try a mod like SWAG+DONUTS to have a lot more control over the amount and type of spawns.


      For loot, there are a few config options you can adjust like:

      • avg_slots_per_player
      • loot_multipliers
      • fraction_of_players_full_of_loot

      You can read more about what they do in the Overview tab, but they should be somewhat self-explanatory. Unfortunately, there are no presets with this mod, so you may have to do some experimentation.

    • Which error log do you want? 2024.01.25_14-58-34_0.13.5.3.26535 errors.log or is it in a different location?

      This one is in the SP-Tarkov/Logs folder

    • I have uploaded the log file if it is the wrong one please let me know where to find the correct one.

      https://filebin.net/310ff78xl702nkzt

  • Does loot disappear only in scav mode?

    • i don't wanna it appear in my pmc raid

    • By default, it gradually reduces loot during all raids (based on raid time) for both PMC and Scav raids.


      If you only want it to simulate the beginning of Scav raids, set only_make_changes_just_after_spawning.enabled=true in config.json. You can decide which systems are disabled after the initial setup in that section too (all of them by default).

  • Can I use version 2.0.0 in SPT 3.7.1?

    • No, it's only compatible with SPT 3.7.4 or later. Please use 1.4.0 for SPT 3.7.1.

  • First of all, thank you for making something so wonderful.

    My next question is, after installing this mod, when I click NEXT from the screen to select a map, whether SCAV or PMC, the screen does not advance and I cannot actually go out to the raid. This is very disappointing as I want to experience your wonderful mod. If you know of any solution, please let me know.

    • I found what looks like an error message in Aki.Server.exe, should I copy and paste the content here?

    • Yes, please do. It would also help if you shared your LogOutput.log in your BepInEx directory after this happens.

    • Thank you very much, I will write the error text that was written in LogOutput.log. I could not figure out how to post an image, so please forgive me for sending you a very long text. Here is the error text.




      [Error :LateToThePartyPlugin] Cannot read car-extract names from the server. VEX extract chances will not be modified.

      [Info :RequestHandler] Request GET json: 069bba69da16c4a3f2b17074:http://127.0.0.1:6969/LateToTheParty/ReportError/Cannot read car-extract names from the server. VEX extract chances will not be modified.

      [Info :RequestHandler] Request was successful

      [Info :LateToThePartyPlugin] Updating raid settings for Woods...

      [Info :LateToThePartyPlugin] Getting car extract names...

      [Info :RequestHandler] Request GET json: 069bba69da16c4a3f2b17074:http://127.0.0.1:6969/LateToTheParty/GetCarExtractNames

      [Info :RequestHandler] Request was successful

      [Error :LateToThePartyPlugin] Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.String[]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.

      To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List<T>) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object.

      Path 'err', line 1, position 7.

      [Error :LateToThePartyPlugin] at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) [0x003a0] in <a188f91889dd430ea0449cfb94e0c4ca>:0

      at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) [0x0006d] in <a188f91889dd430ea0449cfb94e0c4ca>:0

      at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, System.Boolean checkAdditionalContent) [0x000db] in <a188f91889dd430ea0449cfb94e0c4ca>:0

      at Newtonsoft.Json.JsonSerializer.DeserializeInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00054] in <a188f91889dd430ea0449cfb94e0c4ca>:0

      at Newtonsoft.Json.JsonSerializer.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00000] in <a188f91889dd430ea0449cfb94e0c4ca>:0

      at Newtonsoft.Json.JsonConvert.DeserializeObject (System.String value, System.Type type, Newtonsoft.Json.JsonSerializerSettings settings) [0x0002d] in <a188f91889dd430ea0449cfb94e0c4ca>:0

      at Newtonsoft.Json.JsonConvert.DeserializeObject[T] (System.String value, Newtonsoft.Json.JsonSerializerSettings settings) [0x00000] in <a188f91889dd430ea0449cfb94e0c4ca>:0

      at LateToTheParty.Controllers.ConfigController.TryDeserializeObject[T] (System.String json, System.String errorMessage, T& obj) [0x0002f] in <1ad93cd9693145a89141efa4e6c56a83>:0

      [Error :LateToThePartyPlugin] Cannot read car-extract names from the server. VEX extract chances will not be modified.

      [Info :RequestHandler] Request GET json: 069bba69da16c4a3f2b17074:http://127.0.0.1:6969/LateToTheParty/ReportError/Cannot read car-extract names from the server. VEX extract chances will not be modified.

      [Info :RequestHandler] Request was successful

      [Info :RequestHandler] Request POST json: 069bba69da16c4a3f2b17074:http://127.0.0.1:6969/player/health/sync

      [Info :RequestHandler] Request was successful

    • From what I can see, there are three possibilities for this:

      • There are older versions of this mod in your /user/mods/ directory. Please ensure there is only one "DanW-LateToTheParty" folder in that directory.
      • Your SPT data is corrupted. Please ensure the "carExtracts" array in \Aki_Data\Server\configs\inraid.json looks like this:
      Code
      "carExtracts": [ 
          "Dorms V-Ex", 
          "PP Exfil",
          "V-Ex_light",
          "South V-Ex",
          "E7_car"
      ],
      • A mod is corrupting this data. Please see if you still get this error with only this mod installed.
    • When I played the game with only this mod, I was able to get into the raid with no problem. when I went out with SCAV at WOODS, the time remaining was about 32 minutes. I would like to go back to WOODS later as the next SCAV coold time is in 25 minutes.

  • Amazing mod man, absolutely what I've been trying to find for my scav runs.


    Just wondering as I'm trying to tinker a bit with the spawn chances of bots in regards to the time spawned into the raid, how exactly do these ranges work and what tiers are they referring to?


    "pmc_spawn_chance_multipliers": [

    [0, 0],

    [0.2, 0.1],

    [0.6, 0.5],

    [0.8, 0.7],

    [0.9, 1],

    [0.95, 1.5],

    [1, 2.2]

    • Glad you like it!


      The left column is the fraction of raid-time remaining, and the right column is a multiplier applied to the PMC-conversion chances for each bot type. For example, if the conversion chance for "assault" Scavs is 30% normally, it will be boosted to 66% at the start of the raid and lowered to 15% after 40% of the raid has elapsed. In this case, raid time is "real" raid time, so if you spawn into Customs with 24 min remaining as a Scav, 40% of the raid has already elapsed (so the conversion chance will start at 15% as you spawn in).


      For that adjustment to happen, adjust_bot_spawn_chances.enabled must be changed to true. It's false by default because many people use either SWAG+DONUTS and/or Questing Bots instead to manage bot spawning.


      Hope that helps!

  • Hi, first of all - thank you, excelent idea :thumbup:

    Any way to simlify "check_loot_accessibility"? I don't understand much about modding in tarkov, sorry if i sound stupid, but can't we check if loot accessible (behind locked door) only when raid starts or if "open_doors_during_raid" opens previosly locked door, I really want to leave this option enabled, but it's very taxing on my performance causing ~35fps drops every couple seconds (i assume when game checks if loot is accesible)

    • Ideally you're correct, it should only need to be checked when a door is unlocked. However, Unity isn't super accurate when trying to calculate paths across long distances and complex terrain, so many of the attempts fail. Therefore, I need to check it more regularly. Once loot has been determined to be accessible, I never check it again. However, there's usually a lot of loot to which Unity can never draw a path, so the mod will keep checking it throughout the raid. To minimize the performance impact, I only do this if that loot is within a certain radius of a locked door; otherwise I just assume it's accessible and never check it again.


      As you've noticed this process is very expensive. I have a system to limit how long it runs per frame to minimize the fps impact, so 35fps sounds a bit high. Could you please help me understand what's going on for your setup by generating a log file? To help me troubleshoot, please do the following:

      1. Open config.json in your user\mods\DanW-LateToTheParty-1.3.x\config directory
      2. Set debug.enabled to true and (if applicable) restart the server
      3. Run the game and play for a bit on one of the maps where you're seeing large fps dips. A few minutes should be plenty.
      4. Immediately after closing the game, please post LogOutput.log in your BepInEx directory here (or in the support thread). Restarting the game will erase this file.

      Hopefully that makes sense.

    • Got it, thanks for explanation

      First log with "check_loot_accessibility" set to false, second with "check_loot_accessibility" set to true, same map (Reserv), same place standing still and with bots disabled with AI Limiter set to 0, i use quite a bit of mods, but as far as i can tell they are listed in Logs, let me know if i can provide something else
      Log1

      Log2

    • Thanks for the logs. At first glance, it looks like everything is running correctly. To improve performance, you can try the following changes (requires a server restart):

      • destroy_loot_during_raid.max_calc_time_per_frame_ms=3 (normally 5)
      • destroy_loot_during_raid.check_loot_accessibility.max_calc_time_per_frame_ms=3 (normally 4)

      That will reduce the amount of time the process runs per frame, but it will make the process take longer overall (which is probably not a big deal). You should hopefully see the values in the Waiting for UpdateLootAccessibility until next frame...done. (Cycle times: 6, ... messages in the logs drop a little. They'll hopefully be 4-5 instead of 6-7. The "Total times" at the end of those messages should also go up, which is good because it indicates the process is spread out over a longer period of time.


      Also, when you say you're getting drops of ~35fps, what's your baseline fps in those situations?

    • Around 80-85fps and drops to 50-55fps in Reserv without ai, i use gforce experience to track fps, its reporting something like 85>70>55>70>85, i think correct way of naming it is stutter or micro freez, english is not my first language

      With changes you discribed it get's a bit better, but with ai limit set to 8 my pc just shits the bed haha, you can check out log if you want
      Log3

      I have i7700k 4/8 core cpu i don't think Tarkov liking it in general (1080ti, 16Gb ram and game on ssd), probably will disable this option while i wait for new parts, thank you anyway :)

    • Gotcha, that's actually not terrible. I must have slow reaction times or something because 50 fps doesn't bother me at all. However, I know a lot of other people swear that they notice lag when fps drops much below 60 fps.


      If you want, you can keep dropping that value down to 1 and see what happens. The larger the better, but of course you need to make sure the game is still playable. If you still don't like it and want to disable that feature, no big deal.

      Heart 1
  • Hey, I wonder if it is possible to make this mod work better with Looting Bots so that loot isn't despawning as the raid progresses. I'm a bit overwhelmed by all the loot despawning options and would like to ask what I need to change to achieve this.

    • This is actually a planned improvement, and unfortunately there isn't a way to do that in this mod right now. As an interim solution, you can simply reduce the starting loot pool when the raid begins by using the following settings:

      • adjust_raid_times.can_reduce_starting_loot = true
      • destroy_loot_during_raid.enabled = false

      This will scale the starting loot amount based on how late you spawn into the raid, but it won't account for where the loot is located or how valuable it is. As a result, you'll have less loot behind all locked doors, and you'll still see a lot of valuable items around the map.


      In the not-so-distant future, I'm planning another update that should address this. Unfortunately, I don't have an ETA for when it'll be released, but it'll probably be a couple months.


      Hope that helps.

  • Hey Dan, just wanted to ask quick. I noticed some values at the bottom of the config that, by the naming scheme, look like they alter loot spawns somehow. If this is the case, is there some way that can be disabled? I'd like to run this mod to make Scav runs feel more live-like, but I don't want the loot pools to be altered in any way.


    Edit: I am quite silly as I think what I described above is the "loot_ranking" section which can be disabled. So, to be clear, if that is set to false, that means the loot spawns won't be affected, correct?

    • If you set adjust_raid_times.can_reduce_starting_loot=false and destroy_loot_during_raid.enabled=false, loot won't be changed at all by the mod.


      There are other systems that will still be active, like opening doors and changing trader stock, but those can also be disabled in the configuration.

    • Perfect. Okay, yeah. I want the loot destruction. I was just worried that stuff at the bottom had to do with altering what loot is spawned at the start of raid.

    • Ah gotcha. This mod doesn't target specific loot to destroy, it just prioritizes more desirable loot first (wherever it is on the map) but adds randomness so (for example) Labs cards aren't always the first to go. I've still found LEDX's with only a few minutes left in the raid, but of course it's way less likely than with base SPT.


      As you mentioned, if you want loot destruction to be completely random, then you can set destroy_loot_during_raid.loot_ranking.enabled=false.


      Hopefully that makes sense.