Live preparation: Quests

General forum for server information, questions, and announcements.

Moderator: NWN2 - 10 DM

Post Reply
User avatar
AcadiusLost
Chosen of Forumamus, God of Forums
Posts: 5061
Joined: Tue Oct 19, 2004 8:38 am
Location: Montara, CA [GMT -8]
Contact:

Live preparation: Quests

Post by AcadiusLost »

OK, one set of updates that needs to be done before Live is to make sure all static quests (repeatable and otherwise) log properly via the ACR. This allows the HDM and DM team to track who has been doing which quest, how often, and for what reward.

The haks contain functional scripts for the ALFA Quest system, which cuurently supports several types of basic quests, utilizing the module journal to help guide players through (much like the original campaign).
  • Scouting quests. Completed (with XP granted) by stepping on a particular trigger, gold reward given when returning to the questgiver. Can require multiple triggers, in a particular order, or just cumulatively.
  • Raid quests. Trigger entry spawns a special creature, death of the creature by the quester or a nearby party member grants the quest XP, gold reward happens on reporting back to the NPC questgiver.
  • FedEx quests. Deliver an item to an NPC, XP on completion, payment on delivery or return, by the builders' preference.
There is no requirement to use the ALFA Quest system, though it does help control for many of the crazy bugs that can develop when you have mixed parties trying to do static quests together. It also automatically works with ACR persistency to make quests nonrepeatable by default. Indio, Wynna, and I are the best references when trying to learn ALFA Quests for now; I don't think we have a good tutorial up yet, though Wynna had started on one. This thread may make a good place to discuss adapting existing statics to work in the ALFA Quests framework, versus leaving them as-is and just adding the logging function.

If you prefer to keep the statics coded as they are, the bare minimum is to go into the reward script for each of the ones on Baldur's Gate, and do the following.

1. add #include "acr_xp_i"

2. Find the function that is awarding the XP, and replace it with the following one:

//! Award XP to oPC for completing a static quest of some sort.
void ACR_AwardStaticQuestXP(object oPC, string sPlotID, int nQuestXP);

where sPlotID is a unique string that identifies the quest for later log review. You shouldn't need to include the server number or name in the questID, as that's tracked separately.

Please let me know if there are any questions, and discussion of the adaption is welcome here, hopefully I can be of some help with resolving any difficulties.
User avatar
ayergo
Penguin AKA Vile Sea Tiger
Posts: 3521
Joined: Sun Jan 11, 2004 8:50 pm
Location: Germany (But frequent world travels)

Re: Live preparation: Quests

Post by ayergo »

My quests don't fall into any of those categories, but they shouldn't be too hard to adapt to use the different function calls.
There's a place I like to hide
A doorway that I run through in the night
Relax child, you were there
But only didn't realize and you were scared
It's a place where you will learn
To face your fears, retrace the years
And ride the whims of your mind
User avatar
ayergo
Penguin AKA Vile Sea Tiger
Posts: 3521
Joined: Sun Jan 11, 2004 8:50 pm
Location: Germany (But frequent world travels)

Re: Live preparation: Quests

Post by ayergo »

This is now complete.
There's a place I like to hide
A doorway that I run through in the night
Relax child, you were there
But only didn't realize and you were scared
It's a place where you will learn
To face your fears, retrace the years
And ride the whims of your mind
Post Reply