Mod Details

Item Tweaker

Item Tweaker 1.1.0

Created by  Nightingale

1.2K Downloads

SPT 0.0.0 Compatible

Edit item properties in batch or individually.

Latest Version 1.1.0
SPT 0.0.0

Updated Mar 16, 2023 at 3:02 PM

Version Notes

The most recent version with queries and nested property access.

Developed for SPT-AKI 3.5.0, should probably work for newer ones too.

This download is externally hosted.
Always scan for viruses.

Initially made this for myself, since I wanted to balance and play around with item properties.

I wanted to do things like:

  • setting recoil/other stat multipliers for some weapon groups based on their caliber or their name(MDRs, SCARs, Glocks, ect.)
  • removing turn rate modifier from any equipment(including face shields, SLAAPs, etc.)
  • making earpiece wearable with heavy helmets
  • NVGs wearable with face shields
  • combining different helmets with different visors (not always pretty)
  • changing food/medical items use time and other props
  • changing tactical headset properties
  • and so on…

So basically this mod lets you do exactly that and anything else you want to do with item properties.

In general to use it you set up a query which will filter items by set conditions and then multiply or set those item’s property values. So you can change several items at the same time or just one individually.

While already mentioned in the Readme, here are resources I used which might help you understand what properties do Tarkov items have and how you should edit them:

  • SP-Tarkov Database Search. Very convenient and was enough for me in most cases.
  • Recoil Properties Explanation
  • Your SPT-AKI’s \Aki_Data\Server\database\templates\items.json, more relevant to your SP Tarkov version than DB search, but use it only as reference, do not mess it up.

It’s recommended to use an editor which supports JSON format (e.g. VSCode/VSCodium) to avoid making mistakes in the structure.

Always keep a profile backup if you are worried about how some item changes you’ve set up might affect your profile.

More details and examples on how to use it are in Readme.pdf.

Version 1.1.0
Download Mod Version
SPT 0.0.0
Latest Compatible SPT Version

1.1K Downloads

Created Mar 16, 2023 at 3:02 PM

Updated Mar 16, 2023 at 3:02 PM

Virus Total Results

The most recent version with queries and nested property access.

Developed for SPT-AKI 3.5.0, should probably work for newer ones too.

Version 1.0.0
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

111 Downloads

Created Mar 16, 2023 at 2:59 PM

Updated Mar 16, 2023 at 2:59 PM

Virus Total Results

The first version with pretty basic filtering based on only one property.

I just want to keep it here to be consistent with versions on the repo.

AIGUWFG

Also i have found how to remove face shield overlay to have clear view without bullet marks. Its buggy because closing and opening face shield is playing strange hand animation without sound and its stuck in open position, but armor zone works. I didnt apply it for Gorilla and Killa for a reason though.

“CLEAR_FaceShieldsAndMoreDurability”: { “query”: { “condition”: “and”, “expressions”: [ { “key”: “_parent”, “values”: [ “57bef4c42459772e8d35a53b” ] }, { “key”: “_name”, “operation”: “contains”, “values”: [ “face_shield”, “fast_visor”, “item_equipment_helmet_galvion_fixed_arm_visor”, “shield” ] } ] }, “multiply”: { “Durability”: 2, “MaxDurability”: 2, “RepairCost”: 2, “Weight”: 2 }, “set”: { “FaceShieldComponent”: false } },

0 Likes
AIGUWFG

Hi man, i saw you wanted to make “add” feature, that would be very usefull, thank you for your work already btw. Im writing because i have issue of “operation”: “greater_than” and “less_than” not making any changes to item property. Basic multiplying works but it multiplies negative numbers e.g. from -10 to -3

“change_mag_modifiers”: { “query”: { “condition”: “and”, “expressions”: [ { “key”: “_name”, “operation”: “contains”, “values”: [“mag”] }, { “key”: “LoadUnloadModifier”, “operation”: “greater_than”, “values”: [“0”] } ] }, “multiply”: { “LoadUnloadModifier”: 0.3 } } “Magazine_Fast_Reload”: { “query”: { “condition”: “and”, “expressions”: [ { “key”: “_parent”, “values”: [ “5448bc234bdc2d3c308b4569” ] }, { “key”: “_name”, “operation”: “contains”, “values”: [ “mag” ] }, { “key”: “LoadUnloadModifier”, “operation”: “greater_than”, “values”: [ “0” ] } ] }, “multiply”: { “LoadUnloadModifier”: 0.3, “CheckTimeModifier”: 0.3 } } In both cases logger outputs:
Applying “change_mag_modifiers”…

“change_mag_modifiers” made 0 changes to 0 items
aki 3.5.0, mod 1.1.0

0 Likes
EliteSoldier

Hello, i want to increase the armor class of an helmet. That’s what I did :

{ “item_equipment_helmet_vulkan5”:{ “set”:{ “armorClass”: “7” } } }I put this in manual overwrite. I have Realism mod that modifies the armor class of helmets so I loaded last this mod to overwrite Realism mod. I don’t see any changes, can you give me a clue to how I can fix ? Thanks

0 Likes

It seems that Realism doesn’t display the actual armorClass when inspecting an armor. For Vulkan it shows “GOST 5”, but the actual armorClass value is 8, so you would be lowering it. Also looks like it changes it to an actual number, instead of a string, so your “7” has to be without quotes.

You can set verbose to true in Item Tweaker’s config.json, so it will show you any mistakes and also the original value and whether it was changed. This should help you confirm that any changes actually applied since you can’t see them on the UI.

For reference on Realism’s values you can look around in it’s files, but you should probably avoid editing them unless you’re sure about what you’re doing. The “GOST 5” armor class for Vulkan you can find in Realism’s db/templates/gear/Realism/helmetTemplates.json. The actual armorClass values seem to be in src/armor.ts.

0 Likes

Thank you, removing the quotes fixed it. Weirdly enough, the initial armorClass wasn’t 8 but 4 in the armor.ts:

//Vulkan-5 if (serverItem._id === “5ca20ee186f774799474abc2”) { serverItem._props.Durability = 25; serverItem._props.MaxDurability = serverItem._props.Durability; serverItem._props.armorClass = 4; serverItem._props.speedPenaltyPercent = -2.25; serverItem._props.mousePenalty = 0; serverItem._props.weaponErgonomicPenalty = -2.25; serverItem._props.BluntThroughput = 0.32; serverItem._props.DeafStrength = “High”; serverItem._props.ArmorMaterial = ‘UHMWPE’; serverItem._props.Weight = 4.5;And it wasn’t GOST 5 but GOST 2 in helmetTemplates.json :

“5ca20ee186f774799474abc2”: { “ItemID”: “5ca20ee186f774799474abc2”, “Name”: “item_equipment_helmet_vulkan5”, “AllowADS”: true, “LoyaltyLevel”: 3, “ArmorClass”: “GOST 2”I only have realism that changes armor classes though, i don’t know why it’s a different armor class than yours…

0 Likes

Dunno, maybe the versions are different. I simply downloaded the latest version to try it and find out what’s the issue, but the principle is the same anyway. Good to hear that it worked for you.

1 Like

I did this :

“item_equipment_helmet_vulkan5”: { “set”: { “armorClass”: 7, “Slots”:[ { “_name”: “mod_equipment_000”, “_parent”: “5ca20ee186f774799474abc2”, // Id of the // vulkan 5 “_props” :{ “filters”: [ { “Shift”: 0, “Filter”: [ “5ca2113f86f7740b2547e1d2” // Id of faceshiel ] } ] } }, { “_name”: “mod_equipment_001”, “_parent”: “5ca20ee186f774799474abc2”, // Id vulkan5 “_props” :{ “filters”: [ { “Shift”: 0, “Filter”: [ “5d6d3be5a4b9361bc73bc763” // Id LShz aventai ] } ] } } ] } } I wanted to add the LShz aventail on the vulkan 5 with the face shield. I had to see how to do it in the item.json. It worked, I see 2 slots and I can place them but I don’t see the faceshield and the aventail on the helmet when I place them on the slots.
But it still physically works, I have them, it’s just that I don’t see them.

0 Likes

Yeah, that might happen. When I wanted to combine Killa’s faceshield(or Rys-T, don’t remember which) with Vulkan it appeared on my PMC’s neck or something. But on the other hand I’ve successfully combined Killa/Maska faceshield with Altyn and Rys-T and it looked pretty well, so it might work well for some items.

I didn’t really play around with it much but I suppose such things would have to be tweaked in the assets(bundle files) or somewhere else, but that goes beyond messing with item’s properties.

0 Likes
Swede

The mod doesnt seem to work even when i did a full re-install and while using several of the examples that come with the mod. I dont know if im doing anything wrong or the mod just doesnt work. If anyone could give me a working example i would be very grateful.

0 Likes
Nightingale

Try to CTRL+A, CTRL+C from selectors_example.json and CTRL+A, CTRL+V into dynamic_selectors.json. If it doesn’t work, tell me what errors does your server console show.

0 Likes
Swede

My brain must have fried itself seeing as it actually does work now, thanks for helping anyways though i appreciate it.

0 Likes
Nightingale

Just make sure the JSON structure is correct. If you use VSCode or some other proper editor it shouldn’t be a problem, since errors will be highlighted.

1 Like
DeadLeaves

Love the mod so far, and have been able to do a lot of cool things to make the experience the way I like it, but I’ve ran into a little bit of a snag.

Ive looked over the item finder and I can’t find the cost of an item. If I wanted to multiply the cost of all ammo in the game, would that be doable?

0 Likes

The cost of an item is mostly determined by it’s handbook price. The “handbook” is a different database table, this mod only works with the “items” table. So it’s not possible to change the price of any item with this mod.

If no other mod editing item prices exists it’s possible that I could make one some time in the future, though I don’t have such plans for now.

0 Likes

I see, that explains why I couldn’t find anything on price in the item finder. Thanks for clarifying.

0 Likes
karnageK

is there a way to Edit a Scope? I would like to Tweek a few optics for Snipers etc maybe even add a Custom Redical of my own.

0 Likes

You can edit any properties which scopes have in their item templates, but how will that affect them in-game needs testing, since these are only server values and some things are handled client-side. To change reticles you most likely need to change/add actual assets, this mod doesn’t do that. Every items seems to have a line which you could change, like e.g.: “path”: “assets/content/items/mods/scopes/scope_30mm_eotech_vudu_1_6x24.bundle”,

which seems to specify a bundle path, but I don’t really know how assets are handled in this game.

As far as I’ve checked these are some scope-specific properties that scopes have in their templates and some of them don’t seem to change much. I’ve tested “Zooms” and “CalibrationDistances”. Zooms seem to only change the values in item description, zoom itself is probably handled somewhere in the client. Calibration values seem to actually work and you can zero on newly set values, but I didn’t test how precise they are.

“CustomAimPlane”: “”, “sightModType”: “optic”, “ScopesCount”: 1, “AimSensitivity”: [ [ 0.1, 0.6 ] ], “ModesCount”: [ 2 ], “Zooms”: [ [ 6, 1 ] ], “CalibrationDistances”: [ [ 50, 100, 150, 200, 250, 300 ] ] “scope_30mm_eotech_vudu_1_6x24”: { “set”: { “Zooms.0.0”: 32, “CalibrationDistances.0”: [ 50, 100, 150, 200, 250, 300, 350, 400, 450 ] } }

0 Likes
karnageK

Thank you for the help but I remember there was a Bug/Glitch where you could use someone’s distance Spotter and it would show up in your Scope Redical as the Distance you were aiming at I wanted to try and make that as a Scope in SP Tarkove

0 Likes
HU4

The mod looks awesome, despite my inability to use it correctly

Well done, mate!

0 Likes
BalgaDeez

Finally I don’t have to keep manually editing the items file when changing SPT releases!
Changes to everything including NVG, food, backpack sizes, weapon stats and more!!! Thank you for sharing this, although not new user friendly, certainly helps do it yourself manual editors like myself.

0 Likes

yeah i’ve tried this mod to change med values but i’m not good enough to understand it and make it work, but seems like the possibilities are endless!

0 Likes

It certainly might look overwhelming since it’s more like a tool rather than a mod where you tweak a few predefined config values. But it’s also not that complicated.

Perhaps I can assist you a bit with an example in the spoiler below.

“do_some_stuff_to_medkits”: { “query”:{ “key”: “_parent”, “values”: [ “5448f39d4bdc2d0a728b4568” ] }, “multiply”: { “MaxHpResource”: 2, “effects_damage.LightBleeding.cost”: 0.3, “effects_damage.HeavyBleeding.cost”: 0.3 } } This selector will edit all MedKits. Here’s the step by step of how I wrote it:

  1. Give the selector a name, in this case “do_some_stuff_to_medkits”
  2. In the “query” you specify the “key” - that’s the name of the property you’ll be looking for in items. In my case I want the “_parent” property.
  3. Then you specify values which you are looking for in the “_parent” property of every item. I set it to an ID which every medkit item will have in their “_parent” property, so I will edit only medkits.
  4. In “multiply” I specified changes to properties. I double the max capacity and reduce the cost of healing light and heavy bleeds.

This should be done in “/config/dynamic_selectors.json”. Also insead of “multiply” I could use “set” to assign a specific value (or use both).

To better understand what all these properties are, look up any medkit(e.g. AFAK) on db.sp-tarkov.com/search. The “_parent” property contains an ID which you can also find in the database. Simply copy it into the search prompt 5448f39d4bdc2d0a728b4568 (without the quotes). You can consider it a property which specifies a category.

Note how I edit the light/heavy bleed cost by writing “effects_damage.LightBleeding.cost”. It allows me to edit a nested property.

If you look up any medkit and scroll through its properties you’ll see that there is an “effect_damage” property which is an object that has several other properties like “LightBleeding” and “HeavyBleeding”, and each of those are also objects which have among their properties a “cost”.

Also note that when you change max durabilities or resource capacities in items, Tarkov will mostly update the brand new items which haven’t been used, so for results it’s best to check traders or flea with a filter for items with 100% condition.

0 Likes
benhib00

thx for the help

0 Likes

Details