ACR Quest System

Scripted ALFA systems & related tech discussions (ACR)

Moderators: ALFA Administrators, Staff - Technical

User avatar
ç i p h é r
Retired
Posts: 2904
Joined: Fri Oct 21, 2005 4:12 pm
Location: US Central (GMT - 6)

ACR Quest System

Post by ç i p h é r »

FYI. I've got the basics working now, which essentially amounts to reworking the base scripts Indio put together and adding in the XP award when the quest completes. Gold will still have to be provided by the quest giver, but that's as it should be. I imagine it'll just be one lump sum that the party leader will have to divide up among the other players, if they so choose.

Here are the configuration options (I'll document it more thoroughly in the wiki):

Code: Select all

//! local variable for setting the quest name (per the module journal)
const string ACR_QST_NAME = "ACR_QST_NAME";

//! local variable for setting the lower state threshold (integer) for a quest
//! typically defines the target state for quest assignment
const string ACR_QST_LOWER_STATE = "ACR_QST_LOWER_STATE";

//! local variable for setting the upper state threshold (integer) for a quest
//! typically defines the target state for quest completion
const string ACR_QST_UPPER_STATE = "ACR_QST_UPPER_STATE";

//! local variable for setting the resref of the object to spawn
const string ACR_QST_SPAWN_RESREF = "ACR_QST_SPAWN_RESREF";

//! local variable for setting the tag of the object spawn location
const string ACR_QST_SPAWN_WAYPOINT = "ACR_QST_SPAWN_WAYPOINT";

//! local variable for setting the spawn animation boolean
const string ACR_QST_APPEAR_ANIMATION = "ACR_QST_APPEAR_ANIMATION";

//! local variable for setting the delay for spawning the object
const string ACR_QST_SPAWN_DELAY = "ACR_QST_SPAWN_DELAY";

//! local variable for setting the message text to send to the player
const string ACR_QST_MESSAGE = "ACR_QST_MESSAGE";
Indio, you'll have to adjust the configs for your existing quests to work this system into your module, but once you do, you should be all set. Single player mode seems to work fine but I'll need some folks to test things out in a party.

Anyway, it's late and I'm out of time tonight, but I want to run another minor ACR release to accommodate the quest system (modified creature and module event files) before sending the quest files over to you, Indio. Looks like AL's also committed a few fixes that we can get in as well.
User avatar
indio
Ancient Red Dragon
Posts: 2810
Joined: Sat Jan 03, 2004 10:40 am

Post by indio »

Well this is a remarkable turn of events.

It just seems to me that the tech department these days is unrecognisable from any previous iteration, and we are so much better off because of it. This is just brilliant cipher, and I want to thank you for listening to the builders, and Acadius is absolutely to be thanked for this as well, and making their lives easier.

Really impressive and appreciated work.
Image
User avatar
indio
Ancient Red Dragon
Posts: 2810
Joined: Sat Jan 03, 2004 10:40 am

Post by indio »

Any way I can help?
Image
User avatar
Rusty
Retired
Posts: 2847
Joined: Mon Feb 21, 2005 10:36 pm
Location: London
Contact:

Post by Rusty »

What's the status of this vis-a-vis TSF?

Indio, do you need more information from cipher to implement this?

Cipher, are you waiting on indio to implement this and give feedback?
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:

Post by AcadiusLost »

I bundled the acr_quest_* scripts into the v1.2 alfa_acr.hak I sent Indio, I believe they're compiled into the module- but I've no idea how or where they're supposed to be used (or indeed, if they were all supposed to go into the hak or now- presumed based on the "acr" heading that they were).

Thoughts?
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:

Post by AcadiusLost »

Done a bit of playing with these- they appear to be intended to be used through the conversation / journal managers in the nwn2 toolset. Since they take parameters passed by the builder in the conversation, they should be OK in the haks. We may want to add a few more scripts to this series, but I'm starting to get a decent sense of how it's meant to work.

Cipher, did you have time to give a quick guide to quest-writing via the ALFA Quests system? I expect you're better equipped to explain it since I've only a passing familiarity with the code so far.

Also- are we limited in the number of parameters we can pass to scripts via the Conditional and Actions Taken slots in the conversation editor? acr_quest_update() shows six operands:

Code: Select all

void main(string sQuest, int nState, int bAllPartyMembers=TRUE, int bAllPlayers=FALSE, int bAllowOverrideHigher=FALSE, int nXP=0)
But only the first 3 show up as fill-in boxes. The preview window also underlines the commas after the 3rd, 4th, 5th, and 6th parameters in the main definition, in case that's important. (this is using v1.10). Could be a hard limit on number of parameters, could be balking at the predefined default values.
Thangorn
Haste Bear
Posts: 2081
Joined: Fri Oct 01, 2004 1:00 pm
Location: Queenstown, New Zealand

Post by Thangorn »

looking forward to seeing how this works..

Dumb it down for me would ya guys :)
On indefinite real life hiatus

[22:52] <Veilan> obviously something sinister must be afoot if a DM does not have his social security number in his avatar name!
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:

Post by AcadiusLost »

Thangorn wrote:Dumb it down for me would ya guys :)
Working on it, though I'm hoping Cipher will sail out of the wings with a full tutorial to save me the effort. Looks like he started documenting it here:

http://www.alandfaraway.org/docs/Techni ... versations

But the code for the "acr_cs_" scripts hasn't appeared on the code repository yet, so I'd say it's still a work in progress.

I've set up a dummy static in Wynna's Silvy University module to get a handle on how they'll work for "errand" quests, but I haven't gotten it tested yet, and a few bits are still troublesome with it. Hopefully I can catch Cipher this week and clear up what needs to still be done- though this may start to collide with the MotB transition workload, as that may be out today.

If you want to get a head start on things, start familiarizing yourself with the conversation and journal editors in the NWN2 toolset- they're not dramatically changed from NWN1, but they'll be the basis for ALFA quests.

We'll mostly be adding ACR conditionals and ACR Quest scripts into certain "Actions Taken" fields in the questgiver conversations. I believe there are also some trigger variable configurations to be done as well for non-errand quests.
User avatar
ç i p h é r
Retired
Posts: 2904
Joined: Fri Oct 21, 2005 4:12 pm
Location: US Central (GMT - 6)

Post by ç i p h é r »

Yeah, I still intend to write up a guide in the wiki. I think I may have edited an article on there already with some initial parameters, but those have since been expanded to include more quest types.

As regards conversation parameters, I don't know of any limit, but you may need to scroll horizontally to see all the slots in the toolset depending on your resolution. Since my last commit, I've been looking at consolidating a pair of boolean parameters into a single integer. It streamlines the code a bit and cuts down the size of the parameter list as well but it might be slightly less intuitive, which is a big negative in my view since we're trying to make this as painless as possible.

Anyway, there are still some adjustments that need to be made yet before a final release.
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:

Post by AcadiusLost »

One think I noticed when setting up a test errand quest: the acr_quest_errand and acr_quest_reward scripts allow you to specify a resource name quest item (to grant/remove respectively)- but the system seems to be missing the intermediate script, which takes/trades quest item(s), and advances the quest progress.

Also, would be handy if we had a conditional script to check if the speaker has the quest item in inventory- it's the more IC route than just checking the journal quest state, since it might be with one of the other PCs, left in a pchest somewhere, etc.
User avatar
ç i p h é r
Retired
Posts: 2904
Joined: Fri Oct 21, 2005 4:12 pm
Location: US Central (GMT - 6)

Post by ç i p h é r »

I'm quite certain that the committed version only supported location quests (find/get to a specific location) and creature bounties. I've been working to extend support to some of the things that were requested in the other quest thread, errands being one of them.

Edit: Scratch that, looks like I committed most of my revisions prior to my move, but there's still some work to be done.
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:

Post by AcadiusLost »

*bump*

How is this coming along? Rick is asking me how to proceed with adapting Indio's old quests and writing new ones, sounds like implementing statics is #1 on the OAS2's list as well.
Rick7475
Haste Bear
Posts: 2097
Joined: Tue Jan 06, 2004 1:59 am
Location: Ottawa
Contact:

Post by Rick7475 »

Indio indicated that the changes on TSF would be relatively painless, an hour's work changing some Variable names to ALFA ones. He would do them since he knows where they are.
Thangorn
Haste Bear
Posts: 2081
Joined: Fri Oct 01, 2004 1:00 pm
Location: Queenstown, New Zealand

Post by Thangorn »

great.. if you are putting in statics using the quest system then I'd be keen to get a copy of the OAS2 so I can figure out how you made them with the system by reverse engineering..
On indefinite real life hiatus

[22:52] <Veilan> obviously something sinister must be afoot if a DM does not have his social security number in his avatar name!
User avatar
ç i p h é r
Retired
Posts: 2904
Joined: Fri Oct 21, 2005 4:12 pm
Location: US Central (GMT - 6)

Post by ç i p h é r »

Can you look over the wiki Rick and let me know if you can make heads or tails of what I've put up there?

http://www.alandfaraway.org/docs/Techni ... versations

I can try to write up some basic examples but it's rather hard to explain without going into excruciating, eye glazing detail. Perhaps the best way to transfer the knowledge is by having quest conversation templates for each type of quest, and I can do that if you need me to. I really would like to have the system tested in more depth so I can roll in any changes/fixes in one release.

Thanks.
Locked