Advanced Trader Framework 1.3

Download any EFT version outside of its official way can get you banned.
If we find out that you downloaded EFT on a pirate website you'll be banned without further informations.

You need to own the game and keep it installed on your computer to play AKI.

Edit, customize and even create new traders easily. Share you custom made trades with the community and add them to the trader of your choice.

NOTE: Insurance with custom traders is broken at the moment. I am gonna fix that soon.

Features:

  • Create new Traders easily by copying the Examplefolder
  • Create new Trade Files that can be shared with others and placed into any Trader Folder
    • Any Trades added to an activated TradePackage will be added to the Trader
  • Easily create a Weaponpreset Trade by saving a preset containing "export" in the preset name
    • The exported preset Trade will be in the /utility/exportedPresets/ Folder
  • Multiple Trades can now be merged into 1 single file by putting putting all Trades you want to merge into the /utility/mergeTrades/ folder
  • Merged Trades can now be unpacked by putting putting all Trades you want to unpack into the /utility/unpackTrades/ folder
  • Should be compatible with other Trader mods
    • with minimal effort you should even be able to customize and edit already existing modded Traders

Planned Features:

  • Quest Customization: Add and create Quests and Questlines easily like the Trades (not the highest Priority for now)
  • Hideout Customization: Customize the requirements and bonus of every Hideout Area (will probably be a separate mod)


I am not going into to much detail for now. I am going to edit the description later for better guidance on how to do things with this mod.

Creating a new Trade:

  • Copy the ExampleTrade.json (you might have to start the server once with this mod for it to show up)
  • Change the TradeID to something unique like "myNewTradeId2498098" (IMPORTANT you have to change it at 3 spots to the new ID)
    • First at "_id"
    • Second under "barter_scheme"
    • Last under "loyal_level_items"
  • Change the "_tpl" below the "_id" to the itemID of the Product you want to have. (This "_tpl" is the ID of the item you gonna get after the Trade)
  • Change Cost by setting "_tpl" at "barter_scheme" "myNewTradeId2498098" to the itemID of your choice and set the new count. (This "_tpl" is the Cost and the Count is the amount of times you have to pay that item)
  • Change the number next to your TradeID by "loyal_level_items" to change the Loyalty Level of the Trade (determines at which stage the trade shows up)


Creating a Preset Trade:

  • Create a new Preset in game and save it with the name including "export" (example "exportMyM4Preset")
  • You have to restart the server for the Preset to show up in the /db/export/preset/ Folder
  • The Default cost of the preset will be 1 Bitcoin and 1 Roler you have to change the cost manually by changing the "count" and the "_tpl" under barter_scheme (the itemID of the item you want it to cost)

Adding a Trade:

  • Just put any Trade file into the /TradePackage/DefaultTradePackage/assort/ folder of the Trader of you choice
  • Enable the Trader by setting "enabled" = true and "modifyAssort" = true in the traderconf.json (located in every Trader folder)

Creating a Trade Package:

  • Copy the example Folder in any of the /DefaultTradePackage/ folders
  • Rename your folder and add Trades to the /assort/ folder
  • Add any mod name of the mod, that will be required for your Package, to the PackageConfig.json
  • You can get the mod name from the package.json in the main folder of the mod your looking to require
  • If the package is not enabled or the requirements are not met, the Package will be ignored.

Adding a new Trader:

  • Copy the ExampleTrader and change the Values to what you want
  • You have to change the TradeID in traderconf.json and in the base.json to the same unique ID
  • Enable the Trader by setting "enabled" = true ,"modifyAssort" = true and "modifyBase"=true in the TraderConfig.json (must located in every Trader folder)

Changing a Trader Avatar:

  • your new avatar must be .jpg
  • add your new avatar to the /db/avatar/ folder
  • edit "avatar":"/files/trader/avatar/YourAvatarName.jpg" in the base.json and enable the Trader and the modifyBase in the TraderConfig.json

Merging and Unpacking Trades:

  • add Trades to the /unpackingTrades/ or /mergeTrades/ folders located in /utility/
  • get the result in the /result/ folder
  • only gets triggered when the server is started
  • remove your files from the /unpackingTrades/ and /mergeTrades/ afterwards


Modifying Fence or the Flea market (ragfair)

  • In theory it should be possible to edit the ragfair and fence like any other Trader
  • I haven't tested those and probably won't any time soon

Notes on sharing Trade files:

If you share your presets you should make sure that your presets are valid without mods otherwise you should create a new TradePackage with Mod requirements. Mods like Makes Sense and alevesThings (cool mods btw) let you put certain attachments on weapons which would be normally not possible. I dont know how the game reacts if you load such a preset without those mods.


I hope the community creates some cool new Trade Overhauls. My reason for creating this mod was exactly that. I just wanted to play a hardcore run, but I didn't like the default barter trades. At first I wanted to edit the default traders, but then I thought why not make it very customizable and add the ability to save trades in different files which you can edit easily and share.


I am gonna upload some unique trades in the next couple of days or weeks depending on how much time I have. I hope you have fun with this mod and I also hope that there are not too many problems I have to fix. ;(


Notes for modders:

  • feel free to use, improve and update any of my code
  • some credits would be nice if you use my code ;)
  • Version 1.3

    • Removed deletion of old avatars in localappdata
    • ATF now throws an error if a Trade ID doesn't match with a barter_scheme and loyal_level ID
    • Traders now get added to the Flea and all their trades should be available on the flea
  • Version 1.2

    • Jaeger had the Mechanic base.json causing problems
    • Renamed the /moddedTrades/ folder to /TradePackages/
    • Removed the old /assort/ folder added the /DefaultTradePackage/ Folder instead
    • the requiredMods.json is now called PackageConfig.json
    • added the ability to enable a Package in the PackageConfig.json
    • renamed the traderConf.json to TraderConfig.json and removed the enableBlacklist option
  • Version 1.1.0

    • Custom avatars can now be loaded.
    • moved the Export preset functionality to the utility folder.
    • added a mergeTrades functionality to the utility folder.
    • added a unpackTrades functionality to the utility folder.
    • added a mod requirement check for Modded Trades.
  • Version 1.0.0

  • [ERROR] Trace:

    TypeError: Cannot read property '0' of undefined

    at Function.generateTraderOffers (C:\0.12.10.2.12893_AKI_1.5.1_AIO\obj\bundle.js:52467:58)

    at Function.update (C:\0.12.10.2.12893_AKI_1.5.1_AIO\obj\bundle.js:52427:23)

    at Function.load (C:\0.12.10.2.12893_AKI_1.5.1_AIO\obj\bundle.js:52374:19)

    at Object.load [as aki-ragfair] (C:\0.12.10.2.12893_AKI_1.5.1_AIO\obj\bundle.js:43855:19)

    at Function.load (C:\0.12.10.2.12893_AKI_1.5.1_AIO\obj\bundle.js:52921:27)

    at Function.main (C:\0.12.10.2.12893_AKI_1.5.1_AIO\obj\bundle.js:42371:9)

    at Object.161../Lib.js (C:\0.12.10.2.12893_AKI_1.5.1_AIO\obj\bundle.js:42376:9)

    at o (C:\0.12.10.2.12893_AKI_1.5.1_AIO\obj\bundle.js:1:265)

    at C:\0.12.10.2.12893_AKI_1.5.1_AIO\obj\bundle.js:1:316

    at Object.245.../Program.js (C:\0.12.10.2.12893_AKI_1.5.1_AIO\obj\bundle.js:51758:1)

    I'm new to this, am I doing anything wrong?

    • Something definitely went wrong. Would you mind giving me some more information?


      When did the error occur? directly after the server start or when you clicked on a trader?


      Did you edit some of the files? If yes, which ones did you edit?


      Do you have other mods loaded?

    • Server Start and I'm trying to use the 12.11 guns mod.

  • Hey, are you able to make heads or tails of this? I have made one trader that works perfectly but on my second attempt I started getting errors when opening the trader in game.


    [ERROR] Trace:

    SyntaxError: Unexpected token u in JSON at position 0

    at JSON.parse (<anonymous>)

    at Function.clone (F:\Tarkov Offline 2.1.2\obj\bundle.js:27710:17)

    at Function.getAssort (F:\Tarkov Offline 2.1.2\obj\bundle.js:23517:33)

    at Object.getAssort [as aki] (F:\Tarkov Offline 2.1.2\obj\bundle.js:16797:50)

    at Function.getResponse (F:\Tarkov Offline 2.1.2\obj\bundle.js:26277:62)

    at Function.sendResponse (F:\Tarkov Offline 2.1.2\obj\bundle.js:26504:29)

    at Inflate.cb (F:\Tarkov Offline 2.1.2\obj\bundle.js:26539:22)

    at Inflate.zlibBufferOnEnd (zlib.js:153:10)

    at Inflate.emit (events.js:315:20)

    at endReadableNT (internal/streams/readable.js:1327:12)


    Thxs!

    • I figured out what was wrong, It turns out that you can not add 3 items to a barter trade. Max is 2.

    • SyntaxError: Unexpected token in JSON means you made a mistake while editing one of the .json files. The How to edit Json Files Tutorial in the Documentation Section might help you out, if your having problems.

      Most likely you forgot a comma. The max isn't 2. Here is a example.


    • Works fine now, thanks for getting back to me. Must have missed the comma like you said. :)

  • could you possible make the trader grid 5 vertical collums instead of 4? Having over a certain amount of extra trader forces prapor, skier and therapist off the top of the screen, or even make the trader window scrollable

    • I know the problem your talking about, but unfortunately I can't really help you with that. As far as I know there isn't an easy way to modify UI elements in general. If there was an easy way, someone would have already made a mod for this problem. Especially with mods like andruis questmaniac which already adds 6 traders.


      The active SPT developers are more likely able to help you out with this request, but keep in mind that they are most likely quite busy and have more important matters to do.

  • how do I change the amount of money I receive when selling with a trader I created?

    • just change the value of "buy_price_coef": in the base.json in the loyaltylevels section. There you can change it for each trader level.

      Like 1
  • Works. Just works. And works perfect! Now I can buy Dolg Exoskeleton from SamSWAT mod (it doesn't appears in flea on current SPT) at my new custom trader, hah!

    • The reason why the item doesn't show up on the flea is most likely that the mod that adds the item, doesn't add it to the flea in general. My mod just adds trade offers to the flea, but if the item isn't added to flea, it can't create a offer for it.

    • Indeed. I figured that. But I can't add an item to flea-market, too difficult for me (or I'm just lazy). Your mod solved my "problem", so - thanks a lot, bro!


      P.S. On previous SPTs (before 2.1.x) flea worked differently... items was appears. By the way.

  • Great mod, works as it says it does. Really helps for hardcore style players.

    Question, If I wanted to share my custom trader, is there a good way to do that? Don't know if it is allowed to upload here since its not really it's own 'mod' per se. I'm rather new here.

    • If you wanted to share your trader, you would just share your created files that can be put into the Advance Trader Framework folder. So everything is made by you and your files just will be added to my mod, so I don't see the problem, with you uploading your creation. I am also kind of new here so I also don't know all the ins and outs here either, but my mod was created with the purpose of easily sharing creations with the community.


      When you create your mod page you just add my mod as a dependency and write that ATF is required.


      It would be best if you share you folder in the same file structure as my mod so people can install it easily.

      You just zip the /db/ folder which has all the files that you created and leave everything out that is already there in the default mod. There is no point in uploading it again and overwriting.

      For example your mod folder would have /db/ folder, in there is the /avatar/ folder, with your trader avatar and you would also have the /traders/ folder there. In the /traders/ folder is your new trader folder, with all the files you created.

      So someone just has to put your /db/ folder into the Advanced Trader Framework folder and everything is at the right place.


      I hope that kind of helps you out. If not just leave a comment again and I will try to respond within reasonable time.

  • the new profile picture for my trader isn't showing up. I get the following error in the launcher:


    [INFO] ATF: Debug: file doesnt exist:C:\Users\[REDACTED]\AppData\Local/Temp/Battlestate Games/EscapeFromTarkov/files/trader/avatar/NEWTRADER.jpg


    new profile pic is in the same folder as the other avatar pics you have in your mod folder, which also get the same error. Do i need to change the file location to match the error?

    • That error is just some debug message I forgot to disable. Don't pay to much attention to it.


      in the base.json you only have to change the filename, to the .jpg that you put in the avatar folder, if you copied the base.json.


      "avatar": "/files/trader/avatar/NEWTRADER.jpg",

      It should look like this.


      If you copied my ExampleTrader you only have enable Trader, modifyBase, and modifyAssort in the TraderConfig.json and change the ID in the base.json and TraderConfig. Then just edit the "avatar" line in the base.json like mentioned up top.


      if it still doesn't work it might be the .jpg, I don't really know if you can use .jpg that are too big.

      Try if my example works with the example images.


      If you still have problems after that, just let me know and I will try to look into.

  • Pretty new to all this, but I'm trying to get a trader to sell the parts he sells on the flea, so when i go to modify a preset, i can buy the parts from the new trader. I've got the trader working, all the stuff i want him to sell are available, but he's not selling it on the flea. Does your mod cover that by any chance? If so, how do I go about configuring it to do that?

    • I haven't really looked into the flea market stuff. That's a feature I forgot to add. I will look into it later and depending on how much effort it is to add that feature, I am either gonna update it later or it's gonna take some time.

  • Absolutely great mod, very easy to use and works like a charm.


    One question: I'm planning on creating trades that represent hideout crafts (e.g. 2 Alyonka → Sugar) which works, but it's not FiR obviously.

    Is there a way to change the items you buy from a specific trader, not all, to be FiR?

    • I don't really know. I think the KMC Server value modifier has an option, that makes all traded items FiR, that's pretty much all I know about FiR. I haven't looked into the FiR item status, but I am working on a hideout customization mod, that lets you modify crafts and the requirements for each workstation. (gonna take some time, because I am quite busy for now)


      I don't really know why you want to recreate hideout crafts with traders, but if its because of the long crafting time of some items. You should be able to find a mod that reduces the crafting time.

  • how do i make my trader sell guns its confusing

    • For that, you best use the export preset functionality. First make a preset of the gun you want to sell with all the parts you want. Then save it with the name including "export", for example name it "exportMyNewAk74NTrade" or something like that. On the next server start my mod looks at all the profiles and grabs all the preset containing "export" in the name. Your new Trade should be in the /utility/exportedPresets/ folder. The default cost will be 1 Bit coin and 1 roler watch and will be sold at trader Loyalty Level 1.

      You have to change that manually in the file. Under the section "barter_scheme" there are 2 entries. with _tpl and count, with the _ tpl being the ItemID you have to change and with the count being the number of times you needing that item to be bought. To sell the new weapon at different Loyalty level you have to change the number at the "loyal_level_items" section.

  • when i fixed the trader problem and stuff nothing loads in and theres a error in my server and the trader is stuck in loading??? how fix

    • I can't really help you if I don't know what kind of error your having. I can only guess what the problem might be. Most likely there are either multiple Traders with the same ID, or you have 2 trades with the same tradeID in a Trader. If the error is "unexpected token } " or something like that, that means one of the .json file wasn't edited correctly.

  • i installed the mod but i do not see my traders ingame where do i have to put the traders??

    • The new Traders have to be in the /traders/ folder where all the others are. The traders need to be enabled to be active. NOTE: make sure that each Trader has a different ID. For each Trader you have to change the ID in the base.json and in the TraderConfig.json to the same unique ID.

  • can somebody please make a video on how to use this im a visual learner and it confuses me on how to do this

    • For now I am kind of busy but I will try to create better tutorials at a later date. I am sorry for now.

  • changing peacekeeper modify assort from false to true throws an error. otherwise this seems to work great exactly what i was looking for

    :)

    • Sorry I can't reproduce your problem. If its just peacekeeper, then most likely there is a invalid trade in his folder. If the problem still occurs please let me know what kind of error it is.

    • hi,

      it is only peacekeeper so will do some checking later today. other than that this works great. created some new trades and moved my barter trader into this and all works great

    • Well, if you copy the error from the console and post it, I could help you, but without information I can't really help. If you also could let me know, if you have other mods loaded an which ones, would help me find the problem.

    • well whatever it was the problem has gone away with the new version. all good now.time to start moving some trades around. thanks again for this mod. perfect for me

      :)

    • Happy to hear that it's working fine now. I am off to bed now. I hope you have fun with the mod.

  • God bless you :thumbup:

    • May god bless you too ;)

  • Great idea and great job. Kudos, mate!

  • Download appears to be broken?

    • It works fine for me, but I don't know if google drive has some kind of limit for downloading files. If so that might be it.

    • Drive says that I need access to the file so I'm assuming you haven't set it up to be shared to anyone with link (Drive does have a pretty arbitrary and annoying limit so I would recommend something like dropbox or github instead)

      Thanks 1
    • oh I really forgot to change the permissions. Should be working now thanks for pointing that out.