Custom quest support

For all talk about quest development - creation, testing, and quest system bug diagnosis.
Jay_H
Posts: 3419
Joined: Tue Aug 25, 2015 1:54 am

Re: Custom quest support

Post by Jay_H »

Some recently implemented quest actions in DFU make this possible:

Code: Select all

--	Quest start-up:
    start timer _failsafe_
    prompt 1010 yes _accept_ no _deny_

_deny_ task:
    say 1011
    end quest

_accept_ task:
    pay 150 money do _hasmoney_ otherwise do _nomoney_

_hasmoney_ task:
    say 1012
    end quest

_nomoney_ task:
    say 1013
    end quest
If you have 150 gold, it'll take it from you and do _hasmoney_. If not, you'll get _nomoney_.
Farewell DFU community! My time here has been a joy.

imsobadatnicknames
Posts: 233
Joined: Sun Jun 02, 2019 4:28 pm
Location: Colombia

Re: Custom quest support

Post by imsobadatnicknames »

Oh, alright, thank you!
Released mods: https://www.nexusmods.com/users/5141135 ... files&BH=0
Daggerfall isn't the only ridiculously intrincate fantasy world simulator with the initials DF that I make mods for: http://www.bay12forums.com/smf/index.php?topic=177071.0

imsobadatnicknames
Posts: 233
Joined: Sun Jun 02, 2019 4:28 pm
Location: Colombia

Re: Custom quest support

Post by imsobadatnicknames »

Another quick question.
Is this the right way to make a task that fires up when you reach a certain level?

Code: Select all

_level3_ task:
	level 3 completed
That's the way it appears in the main quest backbone but I just tried to use it and the task I used it on just appears as "startup" on the quest debug and seems to be activated by default
Released mods: https://www.nexusmods.com/users/5141135 ... files&BH=0
Daggerfall isn't the only ridiculously intrincate fantasy world simulator with the initials DF that I make mods for: http://www.bay12forums.com/smf/index.php?topic=177071.0

Jay_H
Posts: 3419
Joined: Tue Aug 25, 2015 1:54 am

Re: Custom quest support

Post by Jay_H »

Startup is always activated. Can you post the quest file?
Farewell DFU community! My time here has been a joy.

imsobadatnicknames
Posts: 233
Joined: Sun Jun 02, 2019 4:28 pm
Location: Colombia

Re: Custom quest support

Post by imsobadatnicknames »

Jay_H wrote: Mon Aug 10, 2020 11:20 pm Startup is always activated. Can you post the quest file?
Here's the code

Code: Select all

Quest: MCMASTER
DisplayName: Mercenaries master
-- Message panels

QRC:
  

QBN:

Clock _delay_ 0.06:00
Clock _delay2_ 0.00:05

--	Quest start-up:
	start task _l0_

_entercity_ task:
	when pc enters city
	start timer _delay_

_enterhamlet_ task:
	when pc enters hamlet
	start timer _delay_

_entervillage_ task:
	when pc enters village
	start timer _delay_

_enterinn_ task:
	when pc enters tavernhome
	start timer _delay_

_delay_ task:
	start quest MCMASTER
	start timer _delay2_

_delay2_ task:
	end quest

_l0_ task:

_l10_task:
	level 3 completed
	
_l20_task:
	level 6 completed

_l30_task:
	level 9 completed

_l40_task:
	level 12 completed

_l50_task:
	level 15 completed

_l60_task:
	level 18 completed

_l70_task:
	level 21 completed

_l80_task:
	level 24 completed

_l90_task:
	level 27 completed

_1_ task:
	when _l0_ and not _l10_

_2_ task:
	when _l0_ and not _l20_

_3_ task:
	when _l20_ and not _l30_

_4_ task:
	when _l30_ and not _l40_

_5_ task:
	when _l40_ and not _l50_

_6_ task:
	when _l50_ and not _l60_

_7_ task:
	when _l60_ and not _l70_

_8_ task:
	when _l70_ and not _l80_

_9_ task:
	when _l80_ and not _l90_

_10_ task:
	when _l90_

_start1_ task:
	when _delay_ and _1_
	startquest MERCENARIES
	startquest MERCENARIES

_start2_ task:
	when _delay_ and _2_
	startquest MERCENARIES2
	startquest MERCENARIES2

_start3_ task:
	when _delay_ and _3_
	startquest MERCENARIES3
	startquest MERCENARIES3

_start4_ task:
	when _delay_ and _4_
	startquest MERCENARIES4
	startquest MERCENARIES4

_start5_ task:
	when _delay_ and _5_
	startquest MERCENARIES5
	startquest MERCENARIES5

_start6_ task:
	when _delay_ and _6_
	startquest MERCENARIES6
	startquest MERCENARIES6

_start7_ task:
	when _delay_ and _7_
	startquest MERCENARIES7
	startquest MERCENARIES7

_start8_ task:
	when _delay_ and _8_
	startquest MERCENARIES8
	startquest MERCENARIES8

_start9_ task:
	when _delay_ and _9_
	startquest MERCENARIES9
	startquest MERCENARIES9

_start10_ task:
	when _delay_ and _10_
	startquest MERCENARIES10
	startquest MERCENARIES10
I know startup is always activated. What I mean is that when I run this quest through the quest debug, the part where tasks _l0_ through _l90_ (the ten tasks that use the "level x completed" condition) should appear, I instead get a string of "startup" ten times in a row.
Released mods: https://www.nexusmods.com/users/5141135 ... files&BH=0
Daggerfall isn't the only ridiculously intrincate fantasy world simulator with the initials DF that I make mods for: http://www.bay12forums.com/smf/index.php?topic=177071.0

Jay_H
Posts: 3419
Joined: Tue Aug 25, 2015 1:54 am

Re: Custom quest support

Post by Jay_H »

Your tasks need a space. You have them as _l10_task when they should be _l10_ task, with a space after the _. It appears the game renames a blank task name as startup.
Farewell DFU community! My time here has been a joy.

imsobadatnicknames
Posts: 233
Joined: Sun Jun 02, 2019 4:28 pm
Location: Colombia

Re: Custom quest support

Post by imsobadatnicknames »

Jay_H wrote: Mon Aug 10, 2020 11:29 pm Your tasks need a space. You have them as _l10_task when they should be _l10_ task, with a space after the _. It appears the game renames a blank task name as startup.
Oh damn, didn't catch that typo lol
Released mods: https://www.nexusmods.com/users/5141135 ... files&BH=0
Daggerfall isn't the only ridiculously intrincate fantasy world simulator with the initials DF that I make mods for: http://www.bay12forums.com/smf/index.php?topic=177071.0

imsobadatnicknames
Posts: 233
Joined: Sun Jun 02, 2019 4:28 pm
Location: Colombia

Re: Custom quest support

Post by imsobadatnicknames »

Is there a command to make a quest check if the player is a member of a certain faction, or if they have a certain rank? I think there's one to check reputation (as there is at least one classic quest that checks faction reputation, that I know of) but Idk about membership or rank

E.g. what if I wanted to write a thieves guild quest where the player is sent to steal something from the mages guild, and if they have a high enough rank within the mages guild the guards that spawn inside won't attack them? Or something like that.
Last edited by imsobadatnicknames on Wed Aug 26, 2020 4:01 pm, edited 1 time in total.
Released mods: https://www.nexusmods.com/users/5141135 ... files&BH=0
Daggerfall isn't the only ridiculously intrincate fantasy world simulator with the initials DF that I make mods for: http://www.bay12forums.com/smf/index.php?topic=177071.0

User avatar
Hazelnut
Posts: 2500
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: Custom quest support

Post by Hazelnut »

There's no action for checking guild membership yet, though it would be quite easy to add one.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

imsobadatnicknames
Posts: 233
Joined: Sun Jun 02, 2019 4:28 pm
Location: Colombia

Re: Custom quest support

Post by imsobadatnicknames »

How does the "when repute with (faction)is at least nn" condition work? I tried to do something with some conditions that depend on your Fightes Guild reputation. At first I tried to use it like this

Code: Select all

_repute10_ task:
When repute with The_Fighters_Guild is at least 10
Quest editor had no problem with it but when I tried to run it in the game the questlog said the quest had failed to parse because The_Fighters_Guild isn't an individual NPC

So I tried to define a dummy NPC to stand in for the guild like this

Code: Select all

Person _guild_ faction The_Fighters_Guild
and then

Code: Select all

_repute10_ task:
When repute with _guild_ is at least 10
Quest editor told me it was wrong but the quest parsed correctly this time when I started through the console. However, the _repute10_ task doesn't trigger despite the fact that my reputation with the guild is 13
Released mods: https://www.nexusmods.com/users/5141135 ... files&BH=0
Daggerfall isn't the only ridiculously intrincate fantasy world simulator with the initials DF that I make mods for: http://www.bay12forums.com/smf/index.php?topic=177071.0

Post Reply