ACR Quest System

Scripted ALFA systems & related tech discussions (ACR)

Moderators: ALFA Administrators, Staff - Technical

danielmn
Fionn In Disguise
Posts: 4678
Joined: Sat Nov 05, 2005 9:08 pm

Post by danielmn »

A how to would be greatly appreciated from both Teric and myself! Thanks guys, awesome work!!!!!


Daniel M Noah
Swift wrote: Permadeath is only permadeath when the PCs wallet is empty.
Zyrus Meynolt: [Party] For the record, if this somehow blows up in our faces and I die, I want a raise

<Castano>: danielnm - can you blame them?
<danielmn>: Yes,
<danielmn>: Easily.

"And in this twilight....our choices seal our fate"
User avatar
indio
Ancient Red Dragon
Posts: 2810
Joined: Sat Jan 03, 2004 10:40 am

Post by indio »

Yeah, I've got a quest test area I made 6 months ago, but it's not fully functional now that I've taken another look at it. It's actually linked halfway down the previous page, and will get you started right now if you're impatient.

I'm updating it right now, but I'll need some help from cipher to complete it.

The test area has the 4 main quest types, and dialogues that walk you through setting the quests up...should serve.
User avatar
Teric neDhalir
Githyanki
Posts: 1495
Joined: Mon Jan 05, 2004 10:04 pm
Location: Manchester UK

Post by Teric neDhalir »

Cheers, Indio, will check it out later.
User avatar
indio
Ancient Red Dragon
Posts: 2810
Joined: Sat Jan 03, 2004 10:40 am

Post by indio »

All sorted.

I've uploaded a small mod instead, so if you are ok with modifying your nwnx.ini file, change the mod name to this one and do live tests. Otherwise I guess just upload to the OAS and test there and use this as a walkthrough mod.

There is a problem I can't fix in the combat quest. The killer rabbit spawns next to the NPC Quest Giver, despite the waypoint being elsewhere. It could be my setup, but it looks ok.

http://www.thesilvermarches.net/uploads ... ts_lab.rar
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 »

Also note that to test this, unfortunately, you need the ACR, and NWNx4 set up and configured to connect to a MySQL database schema.
User avatar
Teric neDhalir
Githyanki
Posts: 1495
Joined: Mon Jan 05, 2004 10:04 pm
Location: Manchester UK

Post by Teric neDhalir »

AcadiusLost wrote:Also note that to test this, unfortunately, you need the ACR, and NWNx4 set up and configured to connect to a MySQL database schema.
NWNX4 I'm ok with, but the OAS doesn't have the acr_quest_xx scripts included. Can I just copy those over from a normal haked mod? (Small discrepency, btw, in that Indio's mod doesn't seem to include the acr_quest_i script, but still seems to work..?)

Scripts I would expect to need:
acr_quest_errand
acr_quest_escort
acr_quest_i
acr_quest_progress
acr_quest_reward
acr_quest_update
As for your killer rabbit, Indio, the quest giver has the same tag as the waypoint for the spawn and is closer to the trigger - is that it?

Teric
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'd thought I'd included the acr_quest_* files in the current OAS2 module, though they might have been missed out of some versions. Certainly, the ones you might obtain from Indio's module will work when imported to the OAS2- the acr_quest_i.nss which houses most of the actual code is in the alfa_acr.hak - you can get to it by using the Open Script/Conversation option in the toolset, and specifying acr_quest_i by name, then saving it under another name, exporting that, and renaming after import.

Hopefully that's clear enough to work from?
User avatar
indio
Ancient Red Dragon
Posts: 2810
Joined: Sat Jan 03, 2004 10:40 am

Post by indio »

I just made copies of those scrpts so I could work out what was going on, but they are included in the hak, and thus you don't need them in the script list.

The tag issue could well be it Teric, but the code says to look for a waypoint, not an object (I think), so I don't know.
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 »

indio wrote:The tag issue could well be it Teric, but the code says to look for a waypoint, not an object (I think), so I don't know.
I believe Teric has it- the quest creature spawn command find the waypoint using GetNearestObjectByTag() - which in that case would be picking up your NPC instead of the waypoint- change the tag of the NPC, and it should work.

The OAS2 does not have the alfa_acr.hak associated, so lacks hak'd copies of those scripts. Theoretically, Teric could attach the hak, open and make copies of all of them to the module via the toolset, then detach the hak again, if he wanted to circumvent the export/import process entirely.
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 »

Ok I update acr_quest_i.

Fixed the waypoint finder (now using GetWaypointByTag).
UPPER state will be ignore if undefined (= 0).
User avatar
Teric neDhalir
Githyanki
Posts: 1495
Joined: Mon Jan 05, 2004 10:04 pm
Location: Manchester UK

Post by Teric neDhalir »

Repeated viewings of Indio's mod means that the iceberg of possibility is rising from the frozen sea of confusion regarding scouting/patrols/assassinations. However I'm stumped about how to do a bog-standard fed-ex type quest. I can see the acr_quest_errand script that initialises the quest but am too dim to work out how to do the delivery at the other end.

Oh, hang on...

Do you just use acr_quest_progress as the condition for a conversation node? And then acr_quest_reward to tidy up? But where's the XP reward? Oh, it's in the journal editor. I see. Possibly.

Any of this sound about right?
Dazedly,
Teric
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 »

Sounds like you're homing in on it now.

The various quest stages and XP award, all defined in the Module Journal. The acr_quest_* scripts used as conditionals and Action Taken scripts in the associated conversations. For a Fedex, I think there is a parameter to be passes as well, either on one of the conversation scripts, or as a local variable to be set (on the questgiver, perhaps?).
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 »

Teric neDhalir wrote:Do you just use acr_quest_progress as the condition for a conversation node? And then acr_quest_reward to tidy up? But where's the XP reward? Oh, it's in the journal editor. I see. Possibly.

Any of this sound about right?
Yes, that's right. As for errands, you use the acr_quest_errand script as an Action on a conversation node and pass to it the ResRef of the blueprint you want the quest taker to deliver. At the errand destination, use acr_quest_progress as a Condition on a conversation node to determine if the player is at the right quest state to "conclude" the quest and use acr_quest_reward to grant GP and tidy up (remove the quest item).

I updated the wiki article on writing conversations and quests to try and clarify some of these things.
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 »

The updated quest code should be available by tomorrow, via worldgate update- I'll update the alfa_acr.hak version and synchronize it late tonight.

Hoping I can patch a lingering bug or three as well at the same time.

If you update haks via worldgate, the new code should take effect next time you compile all scripts in your module.
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 »

Thanks AL.
Locked