Custom Quests 3.2.3

Please do not ask when mod authors will update their mods to 3.9.X
Bothering mod authors will lead to warnings and repeat offenses will lead to eventual bans.

Create your own quests without pain.

Please backup your profile before using new mods!

This is compatible with VCQL


1. Use Custom Quests Editor to create and edit json quests files.

2. Use Custom Quests (this mod) to load the quests files


Main Readme

Documentation - How to create quests -> this is interesting to take a look since the editor doesn't implement all features (as of today)

Description

This mod will allow you to add your own quests easily with a single and easy to maintain json file.

This is a mod used by mod makers to create new content, please note that this mod alone doesn't add any quests by default.

Mods made for Custom Quests (work on aki 3.3.0)

- Baba Yaga

- Sally

- Ashley's Custom quest pack (not tested but it should work)

- Darker World questline (not tested but it should work)

- Angel in white kiriko (outdated)

- Meguru is coming! (outdated)

- InternalError_'s Tarkov Mastery (outdated)


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)


Credits

- Thanks to all contributors! reporting bugs, giving ideas and making quests! It's awesome and it motivates me like mad

- Special greetz to gabe_over for making the image ;)


kofi2.png

  • Version 3.2.3

    Work for SPT 3.9.x

    Changelog

    Fixes

    • Repeatable quests counters is now correctly persisted (no more quest reset on restart)
  • Version 3.2.2

    Work for SPT 3.9.x

    Changelog

    No code changes: if you already have Custom Quests v3.2.0 or v3.2.1 no need to reinstall

    Zip fix

    The published zip file now respect the conventional directory structure of spt mods

  • Version 3.2.1

    Work for SPT 3.9.x

    Changelog

    Fixes

    • Easier to install: the published zip file now respect the conventional directory structure of spt mods
  • Version 3.2.0

    Work for SPT 3.9.x

    Changelog

    Upgrade for SPT 3.9.x

    Features

    - support of Streets of Tarkov map

    - support of Ground Zero map

    - add missing places, zones and quest items

  • Version 3.1.0

    Custom Quests is no longer maintained for older version of SPT (< 3.9.x)

    Work on SPT-AKI 3.3.x

    Compatible SPT-AKI 3.1.x and 3.2.x

    Changelog

    Features

    added default_quest_name_prefix field in config/config.json to differentiate easily custom quests from vanilla quests.

    In a future version, I'll see to add the ability to a custom quest to override the default prefix.

  • Version 3.0.2

    Work for SPT-AKI 3.3.x

    Compatible SPT-AKI 3.1.x and 3.2.x

    Changelog

    Update for SPT-AKI 3.3.0

  • Version 3.0.1

    Work for 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 for SPT-AKI 3.1.x

    Changelog

    Migration to SPT-AKI 3.1.0

  • Version 2.5.0

    Work for 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)

  • Hey there !


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


    it's 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
  • I have the following error. The server freezes and does not allow you to do anything. I tried to change the order of loading quests, but it didn't work out


    P.S. I understood the problem with Sally's quests, I tried to translate them into my native language, but they don't start with translation.


    SyntaxError: Expected ',' or '}' after property value in JSON at position 8017

    SyntaxError: Expected ',' or '}' after property value in JSON at position 8017

    at JSON.parse (<anonymous>)

    at readJsonFile (E:\Games\Tarkov\Client\EscapeFromTarkov_14.9.1_3.9.4\EscapeFromTarkov\user\mods\Trap-CustomQuests\src\utils.js:14:17)

    at QuestsLoader.loadFile (E:\Games\Tarkov\Client\EscapeFromTarkov_14.9.1_3.9.4\EscapeFromTarkov\user\mods\Trap-CustomQuests\src\QuestsLoader.js:166:55)

    at E:\Games\Tarkov\Client\EscapeFromTarkov_14.9.1_3.9.4\EscapeFromTarkov\user\mods\Trap-CustomQuests\src\QuestsLoader.js:55:37

    at Array.forEach (<anonymous>)

    at QuestsLoader.loadDir (E:\Games\Tarkov\Client\EscapeFromTarkov_14.9.1_3.9.4\EscapeFromTarkov\user\mods\Trap-CustomQuests\src\QuestsLoader.js:53:32)

    at E:\Games\Tarkov\Client\EscapeFromTarkov_14.9.1_3.9.4\EscapeFromTarkov\user\mods\Trap-CustomQuests\src\QuestsLoader.js:45:46

    at Array.forEach (<anonymous>)

    at QuestsLoader.loadAll (E:\Games\Tarkov\Client\EscapeFromTarkov_14.9.1_3.9.4\EscapeFromTarkov\user\mods\Trap-CustomQuests\src\QuestsLoader.js:38:47)

    at CustomQuests.postSptLoad (E:\Games\Tarkov\Client\EscapeFromTarkov_14.9.1_3.9.4\EscapeFromTarkov\user\mods\Trap-CustomQuests\src\mod.js:58:48)

    SyntaxError: Expected ',' or '}' after property value in JSON at position 8017

    SyntaxError: Expected ',' or '}' after property value in JSON at position 8017

    at JSON.parse (<anonymous>)

    at readJsonFile (E:\Games\Tarkov\Client\EscapeFromTarkov_14.9.1_3.9.4\EscapeFromTarkov\user\mods\Trap-CustomQuests\src\utils.js:14:17)

    at QuestsLoader.loadFile (E:\Games\Tarkov\Client\EscapeFromTarkov_14.9.1_3.9.4\EscapeFromTarkov\user\mods\Trap-CustomQuests\src\QuestsLoader.js:166:55)

    at E:\Games\Tarkov\Client\EscapeFromTarkov_14.9.1_3.9.4\EscapeFromTarkov\user\mods\Trap-CustomQuests\src\QuestsLoader.js:55:37

    at Array.forEach (<anonymous>)

    at QuestsLoader.loadDir (E:\Games\Tarkov\Client\EscapeFromTarkov_14.9.1_3.9.4\EscapeFromTarkov\user\mods\Trap-CustomQuests\src\QuestsLoader.js:53:32)

    at E:\Games\Tarkov\Client\EscapeFromTarkov_14.9.1_3.9.4\EscapeFromTarkov\user\mods\Trap-CustomQuests\src\QuestsLoader.js:45:46

    at Array.forEach (<anonymous>)

    at QuestsLoader.loadAll (E:\Games\Tarkov\Client\EscapeFromTarkov_14.9.1_3.9.4\EscapeFromTarkov\user\mods\Trap-CustomQuests\src\QuestsLoader.js:38:47)

    at CustomQuests.postSptLoad (E:\Games\Tarkov\Client\EscapeFromTarkov_14.9.1_3.9.4\EscapeFromTarkov\user\mods\Trap-CustomQuests\src\mod.js:58:48)

    • One of your file quest is invalid (json syntax error)

      please verify your json syntax is ok with a tool like https://jsonlint.com/


      Question: Did you use the Custom Quests Editor for this ?

    • You're my best friend. I really had a bug in the code. Thanks

  • Latest update has zero codebase changes and is just a directory change correct?
    If we're running the previous version, there's no need to update?

    • Yes exactly, you can't skip 3.2.1 if you already have 3.2.0 installed ;)

  • how to set specific AI to kill? like bosses

    • It's not implemented yet, read the pinned post on planned features.

    • thanks for the reply!

  • hello how can i install this mod?

    • Just drag-n-drop the `Trap-CustomQuests` directory in your `user/mods` directory.


      I'll make an update to change the directory structure to be compliant with other mods (so people can drag-n-drop the whole thing like ant other mod)

    • thank you

  • NO FUCKING WAY. Alright, my blessings to you friend.

  • update to 3.7.0+? It'd be nice to add this to my mods


    If you want, I dont want to bother you

  • You should really patch this so 3.5.0+ works.

  • Hi trap. Could you please update to 3.4.1?

  • Update this please

  • working on 3.4.0 ?

  • So, I'm trying to get the Custom Quests mod to work but I get critical errors when trying to do so
    How can I fix this? (Im quite new to all this)

    • Which version of spt-aki do you use ?

    • 3.3.0

  • Hello Trap, is there any way to make the rewards hidden until the quest is completed?

  • Do you still intend on adding the ability to unlock Traders and/or Maps?

    • Yes but this is not so easy since I want to preserve compatbility with Path To Tarkov.


      In addition, I don't think when I can find the time to do this.


      Stay tuned.

  • 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 useCustom 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 ;)