Bothering mod authors will lead to warnings and repeat offenses will lead to eventual bans.
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
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)
- 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
- Online App: Custom Quests Editor
- Create a custom quest with a single json file
- Quest chaining
- Several mission types available:
Kill
,GiveItem
,FindItem
,PlaceItem
,VisitPlace
,PlaceBeacon
andPlaceSignalJammer
GiveItem
,FindItem
andPlaceItem
missions are compatible with quest items- Repeatable quests (it's not vanilla daily quests)
- Rewards: xp and items (with attachements using
@build
directive) on quest success or quest start - Group items ids using
@group
directive (valable foraccepted_items
fields only) - Compatible with modded traders (you still need to have the correct trader id)
- Multilingual support
- Options to wipe custom quests progression from profile (useful during the development)
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 moddebug
: more verbose consolequest_directory
: The directory with custom questslimit_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 detailsat_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
- All zones
- All places
- All Quest items
- The original readme file on github
- The usage manual on github
- API modding (since version 2.2.0, quests can be loaded by other mods)
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
-
Version 3.2.3
- trap
- 7.4k Downloads
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
- trap
- 515 Downloads
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
- trap
- 268 Downloads
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
- trap
- 207 Downloads
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
- trap
- 4k Downloads
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 inconfig/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
- trap
- 288 Downloads
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
- trap
- 4.2k Downloads
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
- trap
- 2.5k Downloads
Work for SPT-AKI 3.1.x
Changelog
Migration to SPT-AKI 3.1.0
-
Version 2.5.0
- trap
- 1.7k Downloads
Work for SPT-AKI 3.0.0
Changelog
Features
Added
traders_reputations
rewardFixes
Fixed where empty "
locations"
array should be equivalent to "any" -
Version 2.4.3
- trap
- 1k Downloads
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)
trap Author
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
trap Author
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)
LaurentMEKKA
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
macreddy
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)
trap Author
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 ?
macreddy
You're my best friend. I really had a bug in the code. Thanks
IceMaverick
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?
trap Author
Yes exactly, you can't skip 3.2.1 if you already have 3.2.0 installed
GMAK3R
how to set specific AI to kill? like bosses
trap Author
It's not implemented yet, read the pinned post on planned features.
GMAK3R
thanks for the reply!
jaytonic105
hello how can i install this mod?
trap Author
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)
jaytonic105
thank you
SiulSC
NO FUCKING WAY. Alright, my blessings to you friend.
TrenchCoat
update to 3.7.0+? It'd be nice to add this to my mods
If you want, I dont want to bother you
Revixy
You should really patch this so 3.5.0+ works.
saidrostami5555
Hi trap. Could you please update to 3.4.1?
SiulSC
Update this please
eriic
working on 3.4.0 ?
smolReji
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)
trap Author
Which version of spt-aki do you use ?
smolReji
3.3.0
blackbit
Hello Trap, is there any way to make the rewards hidden until the quest is completed?
NugentGL
Do you still intend on adding the ability to unlock Traders and/or Maps?
trap Author
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.
yexer7
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.
trap Author
It's not implemented yet, but it's planned, just be patient
yexer7
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.
trap Author
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.
yexer7
ahhhh thank you! i see what i have done wrong now!
trap Author
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)
L6uc6if6er
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.
trap Author
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.
Bulus
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
trap Author
The error trace say me you don't have deleted all mods (the error seems to say it comes from zFin-AITweaks)
Oregano118
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
trap Author
Did you try to change the mods load order ?
Sh1N3y
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.
trap Author
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)
Sh1N3y
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".
trap Author
This is so strange !
What quests do you use ? any repeatable quests ?
EDIT: can you mp me your profile and the quests you use ?
Lord Khaos
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!
NugentGL
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.
trap Author
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)
vasyliev_m_s
So waiting the new version of mod. Need the reputation reward type... much need
trap Author
the `traders_reputations` reward type is now available in 2.5.0
Enjoy
vasyliev_m_s
Wonderful
Drizztovski
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
trap Author
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
Ease01
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
vasyliev_m_s
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.
Teletabis
Same issue if you find how to fix it please share
HerMajkl
Yup, here too, doesn't work at all, don't think it is a problem with any mods.
Teletabis
I mean it seems like its a problem with something in the repeatable quests
TestAffe99
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.
Lavax
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
trap Author
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
vasyliev_m_s
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
trap Author
This is a known a bug, i'll try to fix it soon.
There is a workaround: check this comment
vasyliev_m_s
Thanks, appreciate it
trap Author
Fixed in 2.4.2
Thanks for reporting
Tikisheep619
Hi Trap,
Excellent job with the mod.
Question: will quests created with earlier versions of the mod work with the latest version 2.0?
trap Author
Yes it's retrocompatible usually, let me know if it's not the case