Custom quests

Discuss modding questions and implementation details.
Post Reply
User avatar
Jay_H
Posts: 4070
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Custom quests

Post by Jay_H »

I decided to create a new topic here as a freeform question space about writing new quests. I've had a bit of fun mixing and matching quest parts, seeing where some of the boundaries are on implementation so far.

One question I had was: is there a way to narrow down the quests DFU tries to run? In classic you can delete every quest except the one you're testing and you'll receive only that quest. In DFU I've tried to just include one quest, and it tries to query other quests and fails.

User avatar
Interkarma
Posts: 7245
Joined: Sun Mar 22, 2015 1:51 am

Re: Custom quests

Post by Interkarma »

In the Fighter's update, you can control which quests are distributed by using the StreamingAssets/Tables/Temp-FightersQuests table. This is probably the best way right now as it emulates the full quest offer process. Just comment out the quests you don't want to be offered and add your own to the end. You don't need to add notes, but will need to place a comma after the quest name. It should be clear once you open the table. Any questions, just let me know.

You can also use "startquest <name>" and "enddebugquest" console commands to start/stop quests. But this doesn't follow offer system. When starting a quest from console, it should set the last NPC you clicked on as the questor for hand-in, but I can't recall if I have that working properly or not yet.

Let me know how you go.

User avatar
Jay_H
Posts: 4070
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: Custom quests

Post by Jay_H »

Yes, it's working well and it'll make testing much faster. Thank you. (Just for fun I tested the Mage's Guild atronach-hunting quest, and it worked perfectly. Very robust debug system, showing the different variables off.)

User avatar
Jay_H
Posts: 4070
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: Custom quests

Post by Jay_H »

If a quest has a "pick one" prompt, what happens if I duplicate entries in the prompt? If I give as options "werewolf werewolf werewolf wereboar," will it ignore the redundancies, or give a 75% chance of wolf and 25% of boar?

Also, it seems every quest has some rumor sections included. Do you know whether every quest will require rumors to compile?

User avatar
Interkarma
Posts: 7245
Joined: Sun Mar 22, 2015 1:51 am

Re: Custom quests

Post by Interkarma »

You got it. :) Duplicates just add another chance to select that task.

No need for rumours in a quest if you don't need them.

User avatar
Jay_H
Posts: 4070
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: Custom quests

Post by Jay_H »

Sorry, I really should've put this in the Quest Hub to begin with :V If it doesn't take too much time, feel free to move it over there.

I'm having an issue with a timer. It's under the same parameters I've used with every other quest:
Clock _timer_ 00:00 0 flag 17 range 0 2
It's a quest to kill two enemies in two different towns. No matter what, the timer always resolves to 00:00. Everything else in the quest succeeds, so this is the last remaining detail. Do you know what could be going wrong?
Image

User avatar
Interkarma
Posts: 7245
Joined: Sun Mar 22, 2015 1:51 am

Re: Custom quests

Post by Interkarma »

When letting the quest engine calculate travel time for you, it always uses the first Place resource defined for purposes of time calculations. If time is resolving to 0, it's possible the first Place resource is somewhere local in the same town?

This could be seen as a a limitation. A possible enhancement on my side would be to sum the travel time to all Place resources defined by the quest.

For now, might be best to set a fix amount of time (say 30-60 days) like some of the main quests do. This could catch the user out if they aren't paying attention, but that's Daggerfall for you. :evil:

User avatar
Jay_H
Posts: 4070
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: Custom quests

Post by Jay_H »

Fixed! It was previously like this:
Person _questgiver_ group Questor male

Clock _timer_ 00:00 0 flag 17 range 0 2

Foe _assa_ is Assassin
Foe _mark_ is Acrobat

Place _loc1_ remote random
Place _loc2_ remote random
Then I moved clock below:
Person _questgiver_ group Questor male

Foe _assa_ is Assassin
Foe _mark_ is Acrobat

Place _loc1_ remote random
Place _loc2_ remote random

Clock _timer_ 00:00 0 flag 17 range 0 2
And it's functioning well. Thank you!

User avatar
Interkarma
Posts: 7245
Joined: Sun Mar 22, 2015 1:51 am

Re: Custom quests

Post by Interkarma »

Awesome, thanks for letting me know. I should probably handle this a bit better, or at least throw a meaningful error.

User avatar
Jay_H
Posts: 4070
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: Custom quests

Post by Jay_H »

Diagnostics is something of an issue right now but I feel like I'm putting things together pretty well :) At some future point someone will write a tutorial to show people how to piece together basic quests, which I think will take the place of most meaningful diagnostics.

If you know of a way to give error messages using DFU and quest files alone I'll use it, but it really doesn't merit taking more time away from you. I've made it this far without it, after all :)

Post Reply