Level Rewards 1.2.0

Gives random rewards when leveling up.

This mod sends you random rewards when you level up and can be used with fresh or existing profiles. Items and amount of items are randomly picked based on the Trader and/or options you configure.

  • For SPT-AKI 3.8.0 : No support will be provided on previous versions.
  • If you are updating, remove all old versions of this mod first. Backup as needed.

Disclaimer

This mod makes a small modification to your profile(s) to track your level vs. last level. It does this by adding LevelRewards.LastLevel to your profile. While I have had zero issues while testing, it is always best to backup your profile if you have concerns. Alternatively, you can use the DontTouchMyProfile config option to write to a separate file (src/lastlevel/PROFILEID_NAME.json). If you use DontTouchMyProfile and later update SPT-AKI or LevelRewards, it would be up to you to also backup the file mentioned so you dont get flooded with rewards when migrating your profile to the new version. Just wanted to give everyone options.

This mod also runs on a the route of items/moving to check you level and give rewards. Moving items in your stash or buying something will trigger the route and the mod, thus giving your rewards. This is typically only an “issue” when skipping levels as you wont see the messages come through until you move/buy something.

Install

  • Extract/UnZip to folder in your SPT-AKI Directory
  • Configure the mod via Config (Default Config is: ENABLED and is for a relaxed/fun (less hardcore) setup)
  • Launch SPT-AKI

Support

  • For issues, errors or installation problems, please use the support thread. If the comments section is used for these, I will ignore it.

Version

  • 1.2.0 (SPT-AKI 3.8)
    • SPT-AKI 3.8 Compatibility
    • Updated Blacklist
    • Code Rework (LevelBasedRewards (parent work & weighting WIP))
    • Fixed missing levels (again, again)

Config

  • src/config/main.json
    • Mod is ENABLED by default. Recommended options are set by default.
    • Some options have changed, please review to ensure it fits your play style.
Option Values Description
LevelRewardsEnabled true false Enables/Disables mod
EnableGiftItems true false Enables/Disables gift sets.
GiftItemChancePercentage number The percentage chance you will receive Gifts. Default is 10% of the time.
EnableSkipLevelRewards true false Enables/Disables rewards for any skipped levels. Mainly for migrating a profile that you never used with this mod and want the rewards from all previously gained levels. Also good for profile editor leveling on fresh profiles (Level 1) to gain rewards for each level skipped starting from level 1. ie. Level 1 manually edited to Level 20 profile will give 19 rewards. I recommend caution when using this depending on how high your level is as it will flood your messages and could cause issues or delays.
LevelBasedRewards true false (WIP) Utilizes your level to determine what items are available to you. Does not work when LimitRewardsToTrader is enabled. This is a WIP and really just testing right now to see how it balances out. Weighting has been added to assist in the types of items you get, but still WIP.
RandomTrader true false Enables/Disables Rewards sent from a random trader. System is default if set to false. Locked traders (Jaeger etc.) will be excluded until unlocked. If you have any custom traders the Enum must match base._id to work properly. This is dependent on the trader creator.
CustomTrader true false Enables CustomTraderId to be used if you have a specifc Custom Trader that you want to give the rewards. Enum must match base._id to work properly. This is dependent on the trader creator.
CustomTraderId string Enter the Id of the Custom Trader to be used. Only works when CustomTrader is true. Enum must match base._id to work properly. This is dependent on the trader creator.
LimitRewardsToTrader true false If RandomTrader is true, and this option is also true it will limit the items you receive to the items that the selected Trader offers for sale at your current Loyalty level. Fence will be excluded from the trader list for RandomTrader if this is enabled.
RewardsFoundInRaid true false Enables/Disables reward items being marked as Found In Raid.
RewardTimeOutInDays number Sets the timeout in days for you receive the rewards from the trader once they have been sent. Default is 3. Only affects new messages and any current messages with rewards not claimed will have the original timeout if this is changed.
DontTouchMyProfile true false If enabled, it will not modify your profile to track your last level reward and instead write to a new file (src/lastlevel/PROFILEID_NAME.json). Enable this if you have any concerns about the mod touching your profile(s). If you used this mod Pre 1.0.2 it will also remove the original modifications to your profile from this mod. Toggling this on and off will revert the changes made for each option. See disclaimer above for more info.
RewardBlackList itemId[] If there are specifc items that you never want to be rewarded, enter the item ID in the list. Quest items, Golden Zibbo for example, are already excluded from rewards. EnableGiftItems is excluded from this option. Use the item finder to assist with finding the IDs of what you want to blacklist. https://db.sp-tarkov.com/search
LevelRewardsDebug true false Displays log messages in the server window for various functions.
  • src/config/rewards.json
Option Description
Base Do Not Change This!
Dialogue You can edit/make your own dialogue messages here if you want. I may decide to localize the messages for each language but is not a priority right now. If you want to contribute to this, let me know.
Chance These are the gift sets I worked with ShadowXtrex (Lone_Simon’s - Welcome Gifts) on. Also includes BSG Promo code rewards. You can add your own if you want but no support will be provided if modified. These are only used when EnableGiftItems is true

Mod Compatibility

  • Custom Traders will need to have their ENUM and base.id match to be part of the RandomTrader or CustomTrader features. This is dependent on the Custom Trader creator, not LevelRewards. A good/correct example is Food&Drink trader by Revingly.
  • No known issues with other mods. If you experience any issues specifc to another mod, please let me know so I can address it.

Credits

  • ShadowXtrex for the collaboration on the Lone_Simon’s - Welcome Gifts re-release.
  • Everyone in the modding community who has helped me learn everything
  • SPT-AKI dev team for this amazing creation
  • Flaticon.com
  • Version 1.2.0

    1.2.0 (SPT-AKI 3.8)

    • SPT-AKI 3.8 Compatibility
    • Updated Blacklist
    • Code Rework (LevelBasedRewards (parent work & weighting WIP))
    • Fixed missing levels (again, again)
  • Version 1.1.1

    1.1.1 (SPT-AKI 3.7.6)

    • Code Cleanup for LimitRewardsToTrader
    • Added Promo codes to the gift list
    • 3.7.6 Compatibility verification (Should work for 3.7.1+)
  • Version 1.1.0

    1.1.0 (SPT-AKI 3.7.1)

    • Code Overhaul
    • EnableSkipLevelRewards fix (missing levels). Read the updated config description for a better understanding of this feature.
    • Added LevelBasedRewards (WIP/BETA) Limited support if this is enabled until final version but I am open to suggestions on the balancing of the items. This takes play time to really test and when most of my time was spent on the coding, it’s tough for me to judge. Have at it.
  • Version 1.0.8

    1.0.8 (SPT-AKI 3.7.1)

    • Ammo stack size fix + some more randomness to it.
  • Version 1.0.7

    1.0.7 (SPT-AKI 3.7.1)

    • Added GiftItemChancePercentage config option
    • Added Ammo stack size compatibility for SVM (and other mods that modify the stock ammo stack)
    • Added more trader dialogs
    • Removed LevelRewardsDebugProbability config (not needed anymore)
  • Version 1.0.6

    1.0.6 (SPT-AKI 3.6.1+)

    • Fixed an issue with Custom Traders throwing errors when their Enum is not set or doesn't match the trader base._id
  • Version 1.0.5

    1.0.5 (SPT-AKI 3.6.1+)

    • 3.6.1+ Only moving forward. Use 1.0.4 for older versions of SPT-AKI.
    • Rework of Random Trader assignment
    • Updated messages to new the mail service versus depreciated Dialogs. Allows for easier control of who the message comes from and future compatibility. By default, rewards will now come from the System using a generic level up messages. Use RandomTrader if you prefer custom messages from traders.
    • Added CustomTrader and CustomerTraderId config options.
    • Added RewardTimeoutInDays config option.
  • Version 1.0.4

    1.0.4 (SPT-AKI 3.5.5)

    • Minor changes & SPT-AKI 3.5.5 Compatibility


    Work In Progress (Pending 1.0.5)

    • Better way to select # of items to give (current range is inconsistent and could have odd results for LimitRewardsToTrader depending on your Loyalty level) WIP
  • Version 1.0.3

    1.0.3 (SPT-AKI 3.5.3)

    • LimitRewardsToTrader now builds the traders full guns properly
    • Added guns to be built vs. receiver only - 10% chance (excluding LimitRewardsToTrader and EnableGiftItems - These are always built.)
    • Added a few more dialogues
    • Code cleanup (ish)


    Work In Progress (Pending 1.0.4/5)

    • Better way to select # of items to give (current range is inconsistent and could have odd results for LimitRewardsToTrader depending on your Loyalty level) WIP
  • Version 1.0.2

    1.0.2 (SPT-AKI 3.5.3)

    • Added DontTouchMyProfle config option
    • Added RewardsFoundInRaid config option
    • Added RewardBlackList config option
    • Added LimitRewardsToTrader config option
      • The idea behind this is, if RandomTrader is disabled (false), Fence is the one sending you everything because he has access to everything available in Tarkov. If RandomTrader is enabled (true) this will also be true for all traders except if LimitRewardsToTrader is enabled (true), then the randomly picked trader will send rewards from their available items based on your Loyalty Level.


    Work In Progress (Pending 1.0.3/4)

    • Guns are not built and only the receiver is given. WIP
    • Better way to select # of items to give (current range is inconsistent and could have odd results for LimitRewardsToTrader depending on your Loyalty level) WIP
    • More dialogues for Traders WIP
  • 1.2.0 (SPT-AKI 3.8)

    • SPT-AKI 3.8 Compatibility
    • Updated Blacklist
    • Code Rework (LevelBasedRewards (parent work & weighting WIP))
    • Fixed missing levels (again, again)

    Use the support thread to report issues.

  • Yeah, needs a slider or something to make it less OP, less lucky.

  • Using it so far and its a great mod! Need to tweak the settings a bit because its a bit OP for my liking stock.

    Thumbs Up 2
  • How can i add multiple trader mods in the config? I'd appreciate anyone's help

    • It is currently only setup for one custom trader. You can use random trader for all installed traders (including EFT) but they have to be set up properly by the trader mod owner.


      Are you wanting to add multiple custom traders (randomly) to get rewards from?

    • yes, but there is a way to do that? :)

    • Not currently. Use Random trader for now. I might look at adding it after I launch for 3.8.

  • Hello! I have been using the level-based rewards (experimental) and it has been working well so far. However, I just hit level 4 and got the DSPT (which is kind of a quest item, kind of not). I have since added it to the blacklist, but I would advise you to have this added to the blacklist by default.



    It cannot be discarded, so the only way to lose it is to take it into raid and die (I think, haven't tested yet).



    Otherwise, rewards are well balanced with the setting on. At level 4, I got some 9x21 P ammo, a mosin stock, and some semi-decent AR attachments. I would like to see a way to balance the weighting of the rewards to skew more towards hideout upgrade materials and meds, perhaps as another optional setting.



    Thank you for your hard work! Much love!

    • Thank you for the feedback!


      I will look into the DSPT, and how I can balance out the general items vs weapons/ammo/gear etc, for the next update (probably for 3.8 depending on release time frame).


      Glad your are enjoying the mod!

  • so i just jumped from level 1 - 9 from one raid however i only got level 2, 3 and 4. I have not tampered with the config at all just not sure why ive got only half and not all of them.

  • Aren't the rewards kinda overtuned? Maybe it's fine on higher levels, but my PMC is level 10, I set receive rewards for skipped levels to true and got 30 rows of ammo, weapons, gear, keys and containers:4kMSnQK.png
    And this is only half of rewards!
    Yes, I play with unidentified items, I have much more fun this way.

    • Check out the description of the mod. There are configs in place to adjust to your play style.


      Edit: SkipLevelRewards gives you a set of rewards for every level you skipped (9 in your case) so it will be a lot up front.

    • Well, I understand all of that. 30 rows for 9 level ups means 3.3 rows per level. Rows. I expected maybe 3.3 items per level. Which config lowers amount of rewards by an order of magnitude?

    • The magnitude of what you are seeing is from SkipLevelRewards as the amount per reward given at each level is random. If it's not something you like, disable SkipLevelRewards to start gaining from your next level.

    • Yes, and with the sample size I have (9 level ups) my next level up will still give me probably 2-3 _rows_ of items. Do you think it's balanced rewards in the beginning of the game? I understand receiving whole bunch of items later, when your stash is full anyway and level ups are rare, but in the first 10 levels? LevelBasedRewards seems like removes high level items from reward pool early, but does nothing with sheer amount of rewards, am I correct?

    • The "sheer amount of rewards" is randomly picked between 5 and 12 items, each level up. I suggest you play a few levels and see if it fits your play style. If not, no harm, no foul.

  • 1.1.1 (SPT-AKI 3.7.6)

    • Code Cleanup for LimitRewardsToTrader
    • Added Promo codes to the gift list
    • 3.7.6 Compatibility verification (Should work for 3.7.1+)


    Use the support thread to report issues.

  • When it comes to ammo stacks, any chance to make them scale with custom values? Should be adjustable in config of course :) I kinda miss my 3000 bullets being rewarded

  • 1.1.0 (SPT-AKI 3.7.1)

    • Code Overhaul
    • EnableSkipLevelRewards fix (missing levels). Read the updated config description for a better understanding of this feature.
    • Added LevelBasedRewards (WIP/BETA) Limited support if this is enabled until final version but I am open to suggestions on the balancing of the items. This takes play time to really test and when most of my time was spent on the coding, it’s tough for me to judge. Have at it.


    Use the support thread to report issues.


  • 1.0.8 (SPT-AKI 3.7.1)

    • Ammo stack size fix + some more randomness to it.



    Use the support thread to report issues.

  • So for some reason, modded ammo when gifted is in 0 stack

    0stackbruh.jpg?ex=654e5378&is=653bde78&hm=eeff6044b4dfe4514d82ab1e664abe17eef94a32f5b0d733730c60af0ab0447b&

  • Any chance u can fix reward in case of multiple level up as for XP Multipliers using SVM?

    • I am not sure what you mean. You'll get a reward every level up.

    • Not if u end up levelling up from say 1-4 then it only gives level 4 and skips 2 and 3.

    • Use the support thread and provide me your profile please.

  • i love this mod but it has a major balance issue for example when i hit rank 4 i got the 6Sh118 im not looking a gift house in the mouth but that seems a tad jank to me

    • Thank you for your thoughts. While I am working on limiting it to your level there is the option of using RandomTrader and LimitRewardsToTrader to keep the rewards limited to your loyalty level of the trader giving you the reward.

  • 1.0.7 (SPT-AKI 3.7.1)

    • Added GiftItemChancePercentage config option
    • Added Ammo stack size compatibility for SVM (and other mods that modify the stock ammo stack)
    • Added more trader dialogs
    • Removed LevelRewardsDebugProbability config (not needed anymore)



    Use the support thread to report issues.

  • Dragging items back into the reward stash glitches the game out.

    • Please use the support thread if you are having issues.

  • Any possibility to edit the chance % for gift weapons in config? I know the debug mode for 100% exists, but being able to set own % value would be nice. Atm, I took a look by myself in the function.js and had ChatGPT help me :S


    I have noticed increasing stack sizes with SVM affects the amount of ammo rewarded (kinda funny getting several stacks of 2500-3000 bullets)


    Regardless, nice mod :thumbup:^^

    • I do plan to make it a config option for 1.0.7. For the stack sizes, it does pull the max stack size to make stacks so if you use SVM it could get wonky as you said. Something I can look at.


      Thank you!

    • Thanks for the reply!

  • 1.0.6 (SPT-AKI 3.6.1+)

    • Fixed an issue with Custom Traders throwing errors when their Enum is not set or doesn't match the trader base._id
  • There is currently an issue with my mod and some custom traders. Refer to the support thread for more information. I am working on a fix and will update the mod soon.



    EDIT: This is resolved in 1.0.6

    Heart 1
  • Getting this error:

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

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

    at getRandomTrader (C:\Users\Admin\Desktop\SPT 3.7.1\user\mods\TorturedChunk-LevelRewards-1.0.5\src\logic\functions.js:47:39)

    at Object.getRewards (C:\Users\Admin\Desktop\SPT 3.7.1\user\mods\TorturedChunk-LevelRewards-1.0.5\src\logic\functions.js:195:26)

    at Rewards.runLevelRewardsLogic (C:\Users\Admin\Desktop\SPT 3.7.1\user\mods\TorturedChunk-LevelRewards-1.0.5\src\logic\levelrewards.js:91:40)

    at Object.action (C:\Users\Admin\Desktop\SPT 3.7.1\user\mods\TorturedChunk-LevelRewards-1.0.5\src\mod.js:27:59)

    at StaticRouterMod.handleStatic (C:\snapshot\project\src\di\Router.ts:51:61)

    at HttpRouter.handleRoute (C:\snapshot\project\src\routers\HttpRouter.ts:72:62)

    at HttpRouter.getResponse (C:\snapshot\project\src\routers\HttpRouter.ts:44:30)

    at AkiHttpListener.getResponse (C:\snapshot\project\src\servers\http\AkiHttpListener.ts:145:38)

    at IncomingMessage.<anonymous> (C:\snapshot\project\src\servers\http\AkiHttpListener.ts:52:43)

    at IncomingMessage.emit (node:events:513:28)

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

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

    at getRandomTrader (C:\Users\Admin\Desktop\SPT 3.7.1\user\mods\TorturedChunk-LevelRewards-1.0.5\src\logic\functions.js:47:39)

    at Object.getRewards (C:\Users\Admin\Desktop\SPT 3.7.1\user\mods\TorturedChunk-LevelRewards-1.0.5\src\logic\functions.js:195:26)

    at Rewards.runLevelRewardsLogic (C:\Users\Admin\Desktop\SPT 3.7.1\user\mods\TorturedChunk-LevelRewards-1.0.5\src\logic\levelrewards.js:91:40)

    at Object.action (C:\Users\Admin\Desktop\SPT 3.7.1\user\mods\TorturedChunk-LevelRewards-1.0.5\src\mod.js:27:59)

    at StaticRouterMod.handleStatic (C:\snapshot\project\src\di\Router.ts:51:61)

    at HttpRouter.handleRoute (C:\snapshot\project\src\routers\HttpRouter.ts:72:62)

    at HttpRouter.getResponse (C:\snapshot\project\src\routers\HttpRouter.ts:44:30)

    at AkiHttpListener.getResponse (C:\snapshot\project\src\servers\http\AkiHttpListener.ts:145:38)

    at IncomingMessage.<anonymous> (C:\snapshot\project\src\servers\http\AkiHttpListener.ts:52:43)

    at IncomingMessage.emit (node:events:513:28)

    • Please use the support thread and I will help troubleshoot.

      Thumbs Up 1
    • Did you ever get a solution to your problem?


      I am having the same issue, Never had an issue with this mod until now

    • A permanent fix is in the works. For now, either remove my mod or custom traders. Update will be available soon.


      Refer to the support thread for more information.

    • The issue I had was with the zenitco mod, but if you dont have that mod, do what TC said. I didnt have to mess with my other traders when i removed the zenitco mod

    • i have that zenitco mod to, and have the same issue , im go delete it for now and wait for further updates

  • There doesn't appear to be any delay on the rewards it says 7 days delay but the mod give reward after reward and way too much stuff. I thought it would be cool to get a few items here and there but these kits are insanely too good.


    Anyway to delay the gifts and reduce the rewards?

    • There is no delay. When you level, you get a reward. You can choose when to accept them for up to the default time of 3 days (unless you configured different.)


      If you are using SkipLevelRewards then you can get flooded with rewards for every level before you installed the mod.

    • Nah it's every level the gifts are just a bit overwhelming. Especially the early start. I was hoping there was an option to reduce the gifts in some way.


      Is it intended to give you more than an airdrop crate worth of gear?

    • It's a random number of items. An option is to set EnableGiftItems to false in the config. This will remove the larger gifts from being rewarded.


      Future plans are to add an option to limit the items and rarity of items based on level.

  • This is an amazing mod. I love it.

    One small suggestion: Can u scale the rewards to the level? I've got that heavy and big tier 6 armor (6b something) as a level 2 or 3 reward :D

    • Thank you!


      That is something I want to do for future builds.

      Thumbs Up 1
  • 1.0.5 (SPT-AKI 3.6.1)

    • 3.6.1+ Only moving forward. Use 1.0.4 for older versions of SPT-AKI.
    • Rework of Random Trader assignment
    • Updated messages to new the mail service versus depreciated Dialogs. Allows for easier control of who the message comes from and future compatibility. By default, rewards will now come from the System using a generic level up messages. Use RandomTrader if you prefer custom messages from traders.
    • Added CustomTrader and CustomerTraderId config options.
    • Added RewardTimeoutInDays config option.
  • Doesn't seem to work for me for whatever reason, I checked the settings being enabled and all but I haven't received anything for 8 level-ups. MIght be a mod incompatibility or something.

    • Please use the support thread and provide your profile and I'll help you out.

  • Good mod! Didn't seem to get anything for level 28 or 30 though :( I was looking forward to the rewards

    • Did you update to the last version. Same happened to me after updating.

    • Did either of you use EnableSkipLevel or was this just through normal leveling?

    • Cant seem to replicate the issue. Make sure you have read the ReadMe file and then mod is enabled. If you still have issues, head to the support thread so I can help.


      https://ibb.co/cF3t3m1

  • is it possible to tweak the amount of stuff i get as a reward... just got a shit ton of thinks ^^

    • This is in the works but right now its between 5 and 12 items + if you have gift items enabled it will give you those. If you don't want as much, try making EnableGiftitems to false in the config.

      Thumbs Up 1
  • Thanks for writing a fun mod! Love those fun concepts that are critical for absolutely softcore player. Looks like the forum is pretty realism and hardcore smh...

    Heart 1
  • So what does donttouchmyprofile do in monke terms? Lol

    • Basically it stores your Last Level since rewards in a file within the mod folder. It's really just an option for those that don't want my mod adding the same thing, to the profile itself.


      Functionality is the same except that if it is on (true) then when you backup your profile to move to an updated SPT-AKI, you need to also backup and move the file it created.


      Easiest way I can explain it. If you aren't worried about all that, leave it false.

  • Interesting mod. Thanks!

    Heart 1
  • When I launch the server it says Mod is missing package.json in red did I mess up?