News:

Have you played any UA modules today?

Main Menu

Changeable question list

Started by Andy123, August 01, 2023, 07:00:16 AM

Previous topic - Next topic

Andy123

I've designed myself into a corner and the only way out that I can see is a comically large and messy nest of chain events. I'm hoping someone with more experience than me can see a simpler, more elegant way out of it.

I've created a custom tavern without starting with a standard "tavern" event. There's a text statement which shows a pic of the tavern interior and describes the tavern as being full/busy. Then there's a question list:
"What do you want to do?"
  • Listen to chatter
  • Talk to barkeep
  • Talk to a patron
  • Leave

Listen to chatter launches a "tavern" event merely to roll out tavern tales.
Talk to barkeep results in a chain of quest stages. Not important right now.

Talk to a patron is where the trouble starts. A text statement describes 5 patrons in the tavern before launching a question list which lets the player select which patron they'd like to consult. Each patron has a small number of statements they can say to the player, with quest stages used to keep track of which one they're up to. When they run out, the player is returned to the "What do you want to do?" question list above. If they choose "talk to a patron" again and select one who has run out of things to say it just bounces back to the first question list again.

I'd like to remove spent patrons from the list.

The only way that comes to mind is to use chain events which use the "quest stage equals" condition to check for each patron's final statement/quest stage. This would mean generating 25 different variations of that list via an ungodly amount of chain events. I was just about to roll up my sleeves and get started when I thought of asking the forum for a sanity check in case there was an easier/neater way that I'm just not seeing.

Randomdays

As far as I know, you can't remove a bullet from a question list.


I'm not at home right now to look at the program, but an alternative, that also removes the max of 5 choices, might be where you type in the name of the person you're talking to. If they're set up in the event and active, you'll go through their chain. If they're no longer active ,or you type in something not on the list. you'll head to the bottom of the master chain where you can have a default text, like "You get no response."

I'm using something similar for teleporting. If you've been to a location making it active, you can teleport there when typing on the destination. If you haven't been there, or its not in the list, you'll get a default "You don't know that destination."

manikus

Whether you use a question list or password event, if you have 5 people to talk to, and after you go through one you go back to the top (so to speak), you don't see that person as an option or the password is no longer valid, you are going to need 31 total events including that initial event.

The easier way is to leave all 5 options and after they have been talked to the player would receive a message stating they had already talked to them. Not elegant, not good for players with short term memory issues, but uses 1 event at the top.

Andy123

Thanks guys. The most sensible and obvious solution seems to be to leave it alone. It's technically not broken.

Just in case I crack and think "sod it, I'm going to do it", would logic blocks be more efficient than the hundreds of chain events I would otherwise have to use? I've never used one but I understand a big part of what they do is test for a bunch of conditions at the same time. The best I can do with a chain event is test for two conditions.

Randomdays

I can't help you with logic blocks - so far I'm having problems wrapping my head around how they work.

manikus

It might sound funny, but I'm with Randomdays on Logic Block Events. :lol: Dinonykos is the king of them however. And of course, Paul R. Stevens is always a good resource.
I can tell you that it won't lessen the number of events, just add to them.
As for doing all the events, you have noticed the Copy and Paste functions in the Event Editor I hope. Since each person is only going to be talked to once, presumably their event(s) will be the same each time. If this is true, you can Copy and Paste it.