Custom Quests 3.0.1

Mods made for AKI 2.3.1 or older are NOT compatible with 3.0.0.
Please do not spam mod comments with requests for mods to be updated - repeat offenders will be muted at moderator discretion.

Create your own quests without pain.

Please backup your profile before using new mods!


using Custom Quests Editor will help you A LOT to create and edit json quests files.


Main Readme

Documentation - How to create quests (manually)

Description

This mod allow to add your own quests easily with a single json file.

Features


Usage

Place your json files in the quests directory.


Sub-directories can be used to organize your quest files.


So these are valid:

  • quests/my_first_quest.json
  • quests/my_quests/my_first_quest.json


Please read the usage manual to get more infos on how to create your own quests.

This quest example can help too.


You can rename the folder quests/examples.disabled in <span style="color:#FFA07A;">quests/examples</span> to try out the examples ;)


Global configuration (config/config.json)

  • enabled: allow to enable or not CustomQuests mod
  • debug: more verbose console
  • quest_directory: The directory with custom quests
  • limit_repeated_quest: The maximum number of time you can repeat a quest during the same game session (default to 1000). Please see API Documentation - How to create quests for more details
  • at_start.disable_all_vanilla_quests: Disable all vanilla quests (this will unlock Jaeger without editing your profile)
  • at_start.wipe_enabled_custom_quests_state_from_all_profiles: wipe all enabled custom quests from all profiles

Resources


For modders

Custom Quests API is available if you want to integrate your mod with Custom Quests (it allows to load custom quests payloads)


Mods made with Custom Quests

- Baba Yaga

Credits

Thanks to gabe_over for making the image ;)

  • Version 3.0.1

    Work on SPT-AKI 3.2.0

    Compatible SPT-AKI 3.1.x

    Changelog

    Migration to SPT-AKI 3.1.0


    Fixes

    - AKI 3.2.0 migration

    - AKI 3.1.x retro-compat

  • Version 3.0.0

    Work on SPT-AKI 3.1.x

    Changelog

    Migration to SPT-AKI 3.1.0

  • Version 2.5.0

    Work on SPT-AKI 3.0.0

    Changelog

    Features

    Added traders_reputations reward

    Fixes

    Fixed where empty "locations" array should be equivalent to "any"

  • Version 2.4.3


    Changelog

    Fixes

    Fixed crash caused by ids with space characters inside.

    Now, spaces are replaces by "_".

    For example: "My Quest 1" will be renamed into "My_Quest_1" (this will generate a warning in the console)

  • Version 2.4.2


    Changelog

    Fixes

    Fixed client crash when a new profile is created

  • Version 2.4.1


    Changelog

    Fixes

    • repeatable quests counters are correctly reset
    • reduce limit_repeated_quest to 200 in config.json
  • Version 2.4.0


    Changelog

    Features

    • Added "weapons_whitelist" option to Kill missions.
    • Updated mission_kill.json example quest file to add a mission with a weapon restriction (using the new "weapons_whitelist" option)

    Fixes

    • Fixed bad target in mission kill example quest (should be "Savage" instead of "Scav"
  • Version 2.3.2


    Changelog

    Fixes

    Reset backend and condition counters for success repeatable quests (on game start)

  • Version 2.3.1


    Changelog

    Fixes

    Fixed crash on game start with fresh new profiles. (introduced by version 2.3.0)

  • Version 2.3.0


    Changelog

    Features

    Added repeatable quests: this is not about EFT vanilla daily quests, this is about real repeatable quests.

    Be creative and enjoy ;)

  • Hey there !


    Custom Quests Editor is out, please take a look ^^


    it's so easy to create quests now !


    Please share your quests here ;)


    Edit: for now, there are missing Custom Quests features in the editor, consider manual editing for missing features.

    consider take a look to this Documentation page to see all available features

  • Planned features for next versions

    - New mission type: `SurviveRaid`

    - More rewards: unlock traders and maps (with Path To Tarkov compat)

    - Unlock barters reward (I'm currently waiting for the next spt-aki version)
    - More kill targets: bosses, raiders, rogues.
    - Failure quests: this allow to create several path in your story
    - Rewards on fail
    - Custom quest image

    - Mission type `Kill` improvements: limbs restrictions
    - Mission type `Kill` improvements: weapon mods restrictions

    - Mission type `Kill` improvements: equipment restrictions
    - Mission type `Kill` improvements: range restrictions, physical effects restrictions

    - Mission type `Kill` improvements: kill at certain time of the day (or night)
    - New mission type: `WeaponAssembly` (allow to create gunsmith missions)
    - New mission type: `TraderLoyalty`
    - New mission type: `Skill`



    If you have some ideas to improve the mod, you can create an issue on github (or comment on the hub) ;)

    Thumbs Up 1
    • Can't wait for it ! I use many mods I configured for having an "almost open-world" (with Path to Tarkov, limited inventory traders, economy tweaks, realism mod) and I want to add new traders with quests in order to replace QuestManiac and make something similar from scratch with more varied quests

      Heart 1
  • Hi gain! I was looking at some files and wondered if you've tried to use custom quests to unlock trader items from the base game. like if i wanted to do 1 quest and unlock an ammunition that the base game traders sell.

    • It's not implemented yet, but it's planned, just be patient ;)

      Heart 1
  • I'm sure this has been asked but i cannot find it. can you make players get quest item like the postman patt letter. i can make it an accepted item in the quest but can't get it to load the item in raid. is there something to that? if so, maybe you know the files where it's located if i have to make it spawn through editing the original files.

    • You can achieve this with a FindItem mission using the id 591093bb86f7747caa7bb2ee (you can find all mission ids on this documentation page)


      In addition you can find some quest examples here and this quest is exactly what you want.

    • ahhhh thank you! i see what i have done wrong now!

    • You can use Custom Quests Editor to create your quests and avoid mistakes.


      Even if not all features are available in Custom Quests Editor, it's compatible with the latest version of Custom Quests (and you can still edit manually the generated json to add the properties you need)

  • This error only appears when I use Baba Yaga please make sense of this!


    (node:9852) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'replace' of undefined

    at QuestsLoader.transformIds (D:\Tark\user\mods\Trap-CustomQuests\src\QuestsLoader.js:114:26)

    at Array.map (<anonymous>)

    at QuestsLoader.injectStory (D:\Tark\user\mods\Trap-CustomQuests\src\QuestsLoader.js:131:14)

    at QuestsLoader.loadFile (D:\Tark\user\mods\Trap-CustomQuests\src\QuestsLoader.js:158:21)

    at D:\Tark\user\mods\Trap-CustomQuests\src\QuestsLoader.js:51:37

    at Array.forEach (<anonymous>)

    at QuestsLoader.loadDir (D:\Tark\user\mods\Trap-CustomQuests\src\QuestsLoader.js:49:32)

    at D:\Tark\user\mods\Trap-CustomQuests\src\QuestsLoader.js:41:46

    at Array.forEach (<anonymous>)

    at QuestsLoader.loadAll (D:\Tark\user\mods\Trap-CustomQuests\src\QuestsLoader.js:34:47)

    (Use `Aki.Server --trace-warnings ...` to show where the warning was created)

    (node:9852) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.htm…unhandled_rejections_mode). (rejection id: 1)

    (node:9852) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

    • It seems you have a wrong quest file in the quests directory.


      Can you provide more infos on your setup ? version of spt-aki, version of custom quests, version of baba yaga.

  • i dont know why, but iam taking this error with this mod :


    TypeError: Cannot read property 'difficulty' of undefined

    TypeError: Cannot read property 'difficulty' of undefined

    at Function.changeSettingByName (D:\SPTAKI_main\user\mods\zFin-AITweaks\src\mod.js:4883:30)

    at Function.applyAdvancedAIConfig (D:\SPTAKI_main\user\mods\zFin-AITweaks\src\mod.js:4876:34)

    at Function.setDifficulty (D:\SPTAKI_main\user\mods\zFin-AITweaks\src\mod.js:4736:26)

    at Function.runOnGameStart (D:\SPTAKI_main\user\mods\zFin-AITweaks\src\mod.js:4353:18)

    at Object.action (D:\SPTAKI_main\user\mods\zFin-AITweaks\src\mod.js:71:30)

    at $79469d862e09d5e9$export$1d24e66a30f2c3c6.handleStatic (D:\SPTAKI_main\obj\bundle.js:12648:61)

    at Proxy.handleRoute (D:\SPTAKI_main\obj\bundle.js:12943:41)

    at Proxy.getResponse (D:\SPTAKI_main\obj\bundle.js:12933:30)

    at HttpServer.sendResponse (D:\SPTAKI_main\obj\bundle.js:14510:38)

    at Inflate.cb (D:\SPTAKI_main\obj\bundle.js:14535:22)


    I tried deliting all mods, except this one, and game freezes at the start

    • The error trace say me you don't have deleted all mods ;) (the error seems to say it comes from zFin-AITweaks)

  • Whenever i try to add this mod it stops my ServerValueModifier from working and breaks my game.


    Edit: i Learned it was the baba yaga addition that was breaking my game

    • Did you try to change the mods load order ?

  • Allo!
    Ill start off by saying awesome work, I've had an awesome time with this mod so far.


    However I have had to disable it as ive encountered an error where whenever I exit the game and SP server, then get back in to it, ALL of my progress is reset to the last point at which this mod was active.

    By all I mean everything. Level, XP, quest progress, hideout building etc etc.


    If I can assist with any logs or what not please let me know how and I will do my best to get them to you.


    Thanks again for your work.

    • Are you sure this come from Custom Quests ?


      mods list and used version would be appreciated.


      are you sure the `wipe_enabled_custom_quests_state_from_all_profiles` option is disabled ? (in config.json)

    • I went thru and disabled every mod and re-enabled one at a time, And that was the one causing the drama :(.

      The config false option was the first clue I found and have checked, can confirm is "false".

    • This is so strange !


      What quests do you use ? any repeatable quests ?


      EDIT: can you mp me your profile and the quests you use ?

  • You mad lads! All these awesome new quests being added by people using this is amazing, and breathes new life into SP Tarkov. Coupled with the update to AQM (hope original author is safe and okay) I have quests for days!


    Keep up the wonderful work everyone!

    Like 1
  • I was looking through the documentation but couldn't find what I was looking for so thought I would ask. Is it possible to create quests that unlock a trader or unlock a map?


    For example, all traders are locked at the beginning except Factory. Fence gives you a quest to kill 10 scavs on Factory which unlocks Skier and unlocks Customs. Something like that.

    • Hmmm this is a very interesting idea.


      I already have plans to create an integration between Custom Quests and Path To Tarkov to unlock traders properly.


      But the idea to unlock map is awesome (even if it comes with some limitations, it's added to the planned features)

  • So waiting the new version of mod. Need the reputation reward type... much need :)

    • the `traders_reputations` reward type is now available in 2.5.0


      Enjoy ;)

      Thanks 1
    • Wonderful 8)

  • I just finished "My First Quest" from Fence. How did that feel? Was it awesome when it worked the first time? amazing stuff, well done sir, and thank you for your work

    Like 1
  • Hi everyone !


    If you experimented a client crash with "TypeError: Cannot convert undefined or null to object" errors


    Please consider follow this instructions.


    EDIT: This is now fixed in version 2.4.2

  • Hi,

    I tried to figure it out but I get the errors bellow when tried running with Baba Yaga. Sadly can't make any sense of it myself. Appreciate your help beforehand!


    TypeError: Cannot convert undefined or null to object

    TypeError: Cannot convert undefined or null to object

    at Function.keys (<anonymous>)

    at filterInObject (F:\SPT-AKI\user\mods\Trap-CustomQuests\src\RepeatableQuests.js:7:12)

    at GameCallbacks.controller.gameStart (F:\SPT-AKI\user\mods\Trap-CustomQuests\src\RepeatableQuests.js:138:35)

    at $de60112e0288ef4d$export$1dd35d19c79daa7c.action (F:\SPT-AKI\obj\bundle.js:13904:43)

    at GameStaticRouter.handleStatic (F:\SPT-AKI\obj\bundle.js:12648:61)

    at Proxy.handleRoute (F:\SPT-AKI\obj\bundle.js:12943:41)

    at Proxy.getResponse (F:\SPT-AKI\obj\bundle.js:12933:30)

    at HttpServer.sendResponse (F:\SPT-AKI\obj\bundle.js:14510:38)

    at Inflate.cb (F:\SPT-AKI\obj\bundle.js:14535:22)

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

    • No, this error appears without Baba Yaga, it's Custom Quests issue. I tried to start client on fresh spt 3.0.0 (not moded), always have this error.

    • Same issue if you find how to fix it please share

    • Yup, here too, doesn't work at all, don't think it is a problem with any mods.

    • I mean it seems like its a problem with something in the repeatable quests

    • I finnaly worked it out.

      You just need to start a fresh profile, start the game and choose bear or usec.

      After you have acces to your stash and traders, just close the game, install the mod and it works.

  • Hi Trap,


    I am currently writing a long story quest line with ~40 Quests using your mod.

    There are some things I would really like to add, when do you plan to add these features?


    - Loyalty rewards to quests

    - Quest completes when a trader loyalty level is reached

    - One quest fails if another one is completed

    - Kill Bosses and Raiders

    - Custom Quest Images are also nice

    • Hi @Lavax,


      To be clear, I don't have any idea, I'm not very available this week + I don't have a windows pc with spt to continue the development for this week.


      And for sure, I'll work on bugs first.


      Anyway, I hope you will share your quests with the community when it will be done :)



      EDIT: After known bugs, Loyalty rewards will be my highest priority

      EDIT2: trader loyalty as a reward is available since 2.5.0 ;)

  • TypeError: Cannot convert undefined or null to object

    TypeError: Cannot convert undefined or null to object

    at Function.keys (<anonymous>)

    at filterInObject (C:\Battlestate Games\Escape from Tarkov\user\mods\Trap-CustomQuests\src\RepeatableQuests.js:7:12)

    at GameCallbacks.controller.gameStart (C:\Battlestate Games\Escape from Tarkov\user\mods\Trap-CustomQuests\src\RepeatableQuests.js:138:35)

    at $de60112e0288ef4d$export$1dd35d19c79daa7c.action (C:\Battlestate Games\Escape from Tarkov\obj\bundle.js:13904:43)

    at GameStaticRouter.handleStatic (C:\Battlestate Games\Escape from Tarkov\obj\bundle.js:12648:61)

    at Proxy.handleRoute (C:\Battlestate Games\Escape from Tarkov\obj\bundle.js:12943:41)

    at Proxy.getResponse (C:\Battlestate Games\Escape from Tarkov\obj\bundle.js:12933:30)

    at HttpServer.sendResponse (C:\Battlestate Games\Escape from Tarkov\obj\bundle.js:14510:38)

    at Inflate.cb (C:\Battlestate Games\Escape from Tarkov\obj\bundle.js:14535:22)

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


    Server starts, client is not, just empty startscreen after game wallpaper

  • Hi Trap,


    Excellent job with the mod.


    Question: will quests created with earlier versions of the mod work with the latest version 2.0?

    • Yes it's retrocompatible usually, let me know if it's not the case ;)

  • Probably not a concern, but curious if you are aware of this as an issue or potentially an issue i am having. So i downloaded this in hopes of obtaining the adik tracksuit without hunting Killa 100 times. I was pleased to see it as an option for reward, but when taking the quest and trying to collect the reward, what would be the tracksuit (i tried this with other clothing as well, usec only.)is replaced with a red skull and the words "Factory Cellar Key (99999)"

    Great mod idea and the editor is the perfect way to make your mod accessible

    • Share your json file quest here and I'll take a look (or just give me the item id you used for the tracksuit)

    • This happened to me when a reward item id is undefined, can you share your json quest file here ?


      Edit: This could happens if you try to use a `@group` directive as a reward (like me) if you think a bit, it's a non-sense, I'll add in next versions some internal checks to verify quests files on load to avoid that.

  • Great mod!

    Me and my friend are working on making our own custom spt campaign with mainly this mod and path to tarkov. very excited and hopeful to see updates to this mod. :)

    • Ooohhh, this look very interesting.


      Custom Quests 2.0.0 will be available very soon btw (for spt-aki 3.0.0)

  • Excuse me, are u also going to add kills within an specific ranges or under certain physical effects?

    • Added to the planned features on gihtub.

      Thanks 1
  • Awesome mod, didn't know how to do any modding until i found this mod with the links you have in how to create quests . gave fence 2 quest. Its the automatic chain quest, just a simple kill scav, 5 at first for a couple medical supplies.. I gave myself a lot of medical supplies XD more then fence would of given for 5 scav kills. but glad to see it work, the next quest was available and did that as well, 10 scav kills. only 1 question; for some reason the quest resets when closing and opening up the game again. No complaints there honestly I was hoping the missions would reset somehow.. I now don't have figure that out, but is that normal? Noticed that when i woke up today on day 2 of modding this game... yes now im addicted, made my first Trader... turned out to be easy once i learned how to read JSON files and how to write them from this tutorials.. still dont know how most of it works like the java files but they work .. weeeeeee ima have so much fun haahaha

    Haha 1
    • also keep in mind i have the SPO single player mod that has ton of mods on top of things, so i can't be sure if the missions reset cause of something there. let me know if anyone is noticing the missions restart and its not just me breaking the game:whistling:

    • To keep missions from resetting you have to change "wipe_enabled_custom_quests_state_from_all_profiles" to false in the config file. Had me baffled for a second too.

      Like 1
    • Woops, the `wipe_*` booleans should be false by default, I left them to true during my dev sorry.


      In next versions, it will be false ;)


      @CodeIIISIX: I'm glad you learned something from my code.

      Like 1
    • @Perrehkeet oooooh awesome thank you, now I know things are working properly for my small future projects.


      @trap yeah! this community's pretty cool. :D:thumbup:

  • how to give out items at the start?

    • It's not implemented yet but it's planned for soon, just be patient ^^

    • It's now implemented in Custom Quests 2.0.0 (for spt-aki 3.0.0)


      Have fun !

  • I'll be honest, I look at this, see it's an awesome tool with great potential, but my brain just blue screens to make a quest. I just wanna make one quest that gives me a metric shitload of XP for plenty of levels, essentially the max xp something can give, and then +5.00 or +6.00 reputation for all traders, including the "AIO Seller" one.

    • Trader reputation rewards is not available yet, it's a planned feature.

    • Ah, ok. Well still, essentially want to do a Overpowered quest thats a simple say, kill 40-50 scavs on factory, and it gives you a practically infinite amount of xp, trader rep, money of all kinds, etc. Know what I mean?

    • Yeah, repeatable quests would be an interesting way to do that (not implemented yet)

    • Hey there, in Custom Quests 2.5.0 you can create repeatable quests and add loyalty reward to a trader ;)

  • Is there any way currently to add in gunsmith like quests and then get kills with it, or would that be impossible to set up? I wanna make a quest line where Mechanic send you out to test a bunch of builds on Scavs and PMCs

    • Added to the planned features (it's not prioritary at all, sorry)

    • No worries! I am sure from a modding aspect it would be a pain in the ass to code, just curious if you had explored this yet or not!

  • Trap you are a leg end! Can't wait to see what kinds of quests people come up with!

    Like 1
    • I will go first. here is a custom shoreline quest (because there isnt enough LUL)


      https://www.dropbox.com/s/zebb…/jammed_sanitar.json?dl=0


      "Sanitar has been providing medical supplies to the Ruskies. They sent out six BEAR operatives to collect the next shipment. Eliminate the Ops team before they reach the pier boat. Also, clear out those pesky scavs guarding the resort and collect the items in his room that requires the key with blue tape. No more supply, then no more demand!"

      Haha 1
    • So after testing, the kills aren't counting. Not sure what I did wrong. When I go into the quest in-game, I see the actual quest requirements, but they didn't count in the raid. Very possible I mucked up some code somewhere.

    • Could it be because in your first block of code you have "type" Completion and then below it have Type:kill?


      Hmm, nevermind, that should be a descriptor only..

    • Are you sure Bears have spawn ? Maybe you fight agains usec ? test with `AnyPmc` target

    • I've tested your file, and it's confirmed ! there is a bug here (with locations restrictions for kill missions)


      This will be fixed soon (in next patch)


      Thanks for reporting

  • I didn't see a (planned) feature for guaranteed item (key, marker, any type of existing quest item) spawn, so I'll throw that thought out there.

    • For keys I need to take a further look.


      For quest items. it's planned but I forgot to mention it ;)


      And what do you mean by marker ? do you mean the MS2000 Marker ? It's handled by PlaceBeacon missions ^^

    • I mean it'd be fun to block the sale of marker items and making you find them in raid at a specified pickup point

    • Oh I see, actually you can't spawn custom item in the world (but it's possible to tweak loot boxes to achieve this)


      Anyway, all of this is out of scope for Custom Quests mod but I like the idea ;)

    • It's out !


      Since version 2.1.0, The `FindItem` mission type has been implemented, please see the FindItem documentation for more details.

    • Cool!

  • I've been waiting for such a mod for a long time and here it is, Thank you very much!

    Like 1
  • was just wishing for an easy way to add quests. very hyped to start messing with this.

    • Please share your awesome stories here :saint:

    • Been banging my head against a wall trying to add a preset weapon as a reward. Easy enough to add a weapon as a reward but of course it only gives the base receiver of the gun. I'm not very javascript literate. It may not be possible yet. Is it a futile effort or am I just missing something? Thanks in advance.

    • I'll check if it's possible, do you know any vanilla quest which give you this kind of weapons ?

    • Peacekeeping mission gives a m700 aac-sd. I know a few will give complete weapons but that one specifically gives a modded weapon. Can look more when i get home from work.

    • Added to the planned features. I need to change a little bit the `rewards` format, so it will be in the next major version (2.0.0)

      Like 1
  • I love this mod,can i repost it in the CN oddba bbs?I will indicate the source link

    I had used it to create new quests, I love it

    Reply from trap ():

    Glad you like the mod ;)


    The source code is on MIT license, you can modify it, repost it as much as you want as long as there is still the original LICENSE file.

  • Really innovative framework. Sophisticated code, easy to understand and utilize.

    [for the sake of honesty: i still have yet to use the mod however after looking through the code I was impressed]
    When it says "custom quest" it really lets you customize your 'custom' quest. From "kill" quests to "find" quests to "locate special item" quests to "place item"/"Place special item from earlier quest" and quests relating to everything and everyone that is playable in the game.

    You can choose [for example based off what I read] to have a quest item spawn on a certain map when the quest has become active. So for example in the quest to unlock Jaeger you must first "go to the area" of the "special item[letter]", pick up said item and then it leads to the unlock of a trader [or a new "part" for the same "quest"].

    Using this mod with any mods created or related to custom traders or the custom trader framework can be locked [not simply through this mod alone but WITH this mod] until a quest is done.
    You could replicate the Jaeger quest[example] using your own trader [for example: When the quest is active you can have ANY entity/asset spawn in a specific zone/area and upon finding the item, extracting with the item, and handing in the item will unlock your trader and then remove the quest's client-side asset created for the quest.

    All in all it's a very good framework module, and was created by an intelligent mind. 5/5 all day long [even if i never end up using it myself]

    Reply from trap ():

    Quest items are not implemented yet, but it's planned ;)


    EDIT: It's out ! Thanks to the new FindItem mission type.