ACR Quest System
Moderators: ALFA Administrators, Staff - Technical
Quick update.
Firstly, thanks to AL for solving my database setup problems, and to cipher for this wonderful system.
Scouting works flawlessly, as do item-based quests. I need help with bounties and escort quests.
I can't work out how to factor the mob's death into the quest. The mob spawns, but its death does not increase the quests variable state. Any help would be great.
Firstly, thanks to AL for solving my database setup problems, and to cipher for this wonderful system.
Scouting works flawlessly, as do item-based quests. I need help with bounties and escort quests.
I can't work out how to factor the mob's death into the quest. The mob spawns, but its death does not increase the quests variable state. Any help would be great.
- ç i p h é r
- Retired
- Posts: 2904
- Joined: Fri Oct 21, 2005 4:12 pm
- Location: US Central (GMT - 6)
That's exactly right, Indio. That's how it *should* work, anyway.indio wrote:If you see this in passing cipher, does the waypoint function get used here? I assume the trigger is where the spawn is initiated when entered, but its at the waypoint where the creature actually spawns. I'll be testing it anyway, but just to make sure.

If a waypoint isn't defined, the system will spawn the creature on the trigger (where the player is).
Great! And FYI patrols are setup in much the same way as scouting, just with multiple triggers.indio wrote:Scouting works flawlessly, as do item-based quests. I need help with bounties and escort quests.
The mob's death is supposed to be handled by the ACR. The creature blueprint will require the acf_cre_* scripts for that to work. If you have your own custom creatuer scripts, you'll want to invoke the following function from your death script (include acr_quest_i):indio wrote:I can't work out how to factor the mob's death into the quest. The mob spawns, but its death does not increase the quests variable state. Any help would be great.
void ACR_QuestCreatureOnDeath(object oKiller);
Now I had some problems with death triggering properly when testing, but I thought I fixed that. Please let me know if this issue persists.
Thanks.
UPDATE
Working perfectly:
1. Scouting
2. Item Delivery
Working well, but with single problem:
1. Bounties (the trigger needs to be set to DoOnce, for if entered multiple times, multiple mobs spawn)
2. Escort (the variable state increases to its finished state, reflected in both the database and journal, but no xp is rewarded as defined in the journal)
Can't get to work:
1. Exploring/Patrols: Setting the upper state at 4, lowest at 1, and laying down 3 triggers with the same quest ID, only the first trigger is fired when entered.
Remote Database
I've browsed the remote database which is working perfectly, although I think it would be of significant advantage to store the player's character name along with their quests and states.
Lag
There is definite lag from Australia while doing these quests...in the range of .5 to 2 seconds in order for the following to occur:
- A conditionally-fired conversation
- Journal Updates
- Trigger spawns
Given quests can often involve combat, I strongly recommend storing quest data locally and then upload it to the database once per hour, or at other intervals approrpiate to the functioning of the server.
Working perfectly:
1. Scouting
2. Item Delivery
Working well, but with single problem:
1. Bounties (the trigger needs to be set to DoOnce, for if entered multiple times, multiple mobs spawn)
2. Escort (the variable state increases to its finished state, reflected in both the database and journal, but no xp is rewarded as defined in the journal)
Can't get to work:
1. Exploring/Patrols: Setting the upper state at 4, lowest at 1, and laying down 3 triggers with the same quest ID, only the first trigger is fired when entered.
Remote Database
I've browsed the remote database which is working perfectly, although I think it would be of significant advantage to store the player's character name along with their quests and states.
Lag
There is definite lag from Australia while doing these quests...in the range of .5 to 2 seconds in order for the following to occur:
- A conditionally-fired conversation
- Journal Updates
- Trigger spawns
Given quests can often involve combat, I strongly recommend storing quest data locally and then upload it to the database once per hour, or at other intervals approrpiate to the functioning of the server.
- ç i p h é r
- Retired
- Posts: 2904
- Joined: Fri Oct 21, 2005 4:12 pm
- Location: US Central (GMT - 6)
Roger. I thought that was already in the code but either it's not or just not working properly.indio wrote:Working well, but with single problem:
1. Bounties (the trigger needs to be set to DoOnce, for if entered multiple times, multiple mobs spawn)
Well we could just call these "Screw PC" quests and call it a day.2. Escort (the variable state increases to its finished state, reflected in both the database and journal, but no xp is rewarded as defined in the journal)

Can you describe your setup - or email me the mod - so I can look into this one?
Interesting. How did you configure the lower states? Did you set them to 1, 2, and 3 on the triggers, respectively?Can't get to work:
1. Exploring/Patrols: Setting the upper state at 4, lowest at 1, and laying down 3 triggers with the same quest ID, only the first trigger is fired when entered.
You can actually achieve the same effect by joining on the characters table when querying the quests table. I can elaborate if you would like.Remote Database
I've browsed the remote database which is working perfectly, although I think it would be of significant advantage to store the player's character name along with their quests and states.
Good observations, Indio. I'll take a look and see what we can do to optimize performance.Lag
There is definite lag from Australia while doing these quests...in the range of .5 to 2 seconds in order for the following to occur:
- A conditionally-fired conversation
- Journal Updates
- Trigger spawns
Given quests can often involve combat, I strongly recommend storing quest data locally and then upload it to the database once per hour, or at other intervals approrpiate to the functioning of the server.
Thanks for the report.
I'll upload the area now and continue some experiments.
It was AL's suggestion to store locally and upload periodically, which I think was the way Knat's NWN1 database worked.
http://www.thesilvermarches.net/uploads ... ts_lab.rar
It was AL's suggestion to store locally and upload periodically, which I think was the way Knat's NWN1 database worked.
http://www.thesilvermarches.net/uploads ... ts_lab.rar
The link to the area is in the above post.
On the issue of exporation and patrols, no, my triggers are not sequentially ordered. For patrolling sequences make sense, b ut exporation quests, where multiple locations need to be found in any order, would benefit from essentially generic parameters which update as triggers are entered. I'll test the patrol triggers now and post back.
On the issue of exporation and patrols, no, my triggers are not sequentially ordered. For patrolling sequences make sense, b ut exporation quests, where multiple locations need to be found in any order, would benefit from essentially generic parameters which update as triggers are entered. I'll test the patrol triggers now and post back.
- ç i p h é r
- Retired
- Posts: 2904
- Joined: Fri Oct 21, 2005 4:12 pm
- Location: US Central (GMT - 6)
Ah, ok. I was assuming just a single location per exploration quest gated by conversation nodes.indio wrote:The link to the area is in the above post.
On the issue of exporation and patrols, no, my triggers are not sequentially ordered. For patrolling sequences make sense, b ut exporation quests, where multiple locations need to be found in any order, would benefit from essentially generic parameters which update as triggers are entered. I'll test the patrol triggers now and post back.
The reason it's not working past the first trigger is because 1 is the quest state required to activate the trigger. As soon as you step on the first trigger, your quest state increments and subsequently exceeds the entry quest state requirement for all remaining triggers. Thus they no longer activate. So it sounds like we just need to support triggers with no entry state requirements that allow a player to trigger them in any order but still only once. Easy to do for a single session, but it gets trickier with persistence.
http://www.anauroch.net/alfa/alfa_quests_lab.rar
Here's the first draft, conversation, test area and journal.
Grab this plugin to import the journal.
http://nwvault.ign.com/View.php?view=NW ... tail&id=58
Here's the first draft, conversation, test area and journal.
Grab this plugin to import the journal.
http://nwvault.ign.com/View.php?view=NW ... tail&id=58
- ç i p h é r
- Retired
- Posts: 2904
- Joined: Fri Oct 21, 2005 4:12 pm
- Location: US Central (GMT - 6)
Ok some very overdue fixes in place now:
1. Activated triggers won't reactivate for the same player (do once)
2. Triggers w/o activation requirements can be created (to support random order exploration quests), but I would still encourage using sequential triggers gated through conversations (ie setup as multiple or multi-part quests). That's less vulnerable to exploits.
3. Escort quests now give quest xp once the destination is reached.
One question about #3. Currently, escort quests assume a single destination. Do we need to support multi destination escort quests where a PC has to hit a series of locations in sequence? As with exploration quests, this can be setup in parts so it's not entirely necessary, but I want to be sure more flexibility is desired before I close the book on this.
Thanks.
1. Activated triggers won't reactivate for the same player (do once)
2. Triggers w/o activation requirements can be created (to support random order exploration quests), but I would still encourage using sequential triggers gated through conversations (ie setup as multiple or multi-part quests). That's less vulnerable to exploits.
3. Escort quests now give quest xp once the destination is reached.
One question about #3. Currently, escort quests assume a single destination. Do we need to support multi destination escort quests where a PC has to hit a series of locations in sequence? As with exploration quests, this can be setup in parts so it's not entirely necessary, but I want to be sure more flexibility is desired before I close the book on this.
Thanks.
- ç i p h é r
- Retired
- Posts: 2904
- Joined: Fri Oct 21, 2005 4:12 pm
- Location: US Central (GMT - 6)
- AcadiusLost
- Chosen of Forumamus, God of Forums
- Posts: 5061
- Joined: Tue Oct 19, 2004 8:38 am
- Location: Montara, CA [GMT -8]
- Contact:
In their current state, scouting quests that have multiple triggers (queststate 1->2, 2->3, etc) seem to give the Module journal amount of XP on each trigger entry, rather than once on completion (or achieving the queststate just before). Is this by intention? If so, the Module Journal entries for XP reward will be somewhat misleading when reviewing statics.
Is this also true for multi-opponent bounty quests and the like?
Is this also true for multi-opponent bounty quests and the like?
- Teric neDhalir
- Githyanki
- Posts: 1495
- Joined: Mon Jan 05, 2004 10:04 pm
- Location: Manchester UK