![]() |
Chain Events for everyone
I am a master of innovative chain events on FRUA but there is something unwieldy about using chain events in DC.
I have the following simple chain: Chain 1 Quest in Progress? Yes - transfer party, No - go to next chain Chain 2 Quest Complete? Yes - transfer party, No - go to Guard Talk Statement Guard Talk Statement - Take one Step back I would interpret this chain to be IF EVENT HAPPENS (quest in progress) transfer party, if not Check to see if Quest is complete. IF EVENT HAPPENS (Quest complete) transfer party, else go to Guard Talk Statement, etc. Isn't that correct? |
Re: Chain Events for everyone
Try it with an event other than "Chain" as the top of the chain. Utilities or Logic Block are good alternatives. :)
I don't think this is a bug, I think it was a design choice. I believe CocoaSpud felt that DC offered so many more options, that we wouldn't need to start a chain with the Chain event. |
Re: Chain Events for everyone
Chain doesn't seem to work at all, regardless of what poisition you put it in.
Are there any tutorials on the Logic Block or using utilities or any good examples, because I have no idea how to use these events? I used the help function but it was no help. Chained logic was pretty easy to use if you planned ahead and laid it out properly. |
Re: Chain Events for everyone
I will try Chain out today and write up a bug report and do a mini-mod for Paul.
What do you need to do (in general terms)? There are tutorials for wall switching during game play, icon switching during game play, tracking the the phase of the moon, having events fire at only a given hour or span of hours,... I've only written tutorials on issues raised here or one of the other forums. I am sure that I can help you out, and then I will write a tutorial about it as well to help other people out. :D |
Re: Chain Events for everyone
After you mentioned that you cannot start a series of events with a CHAIN statement I tested the chain function as follows:
I set up a simple talk statement to execute first, in this case, just mentioning to the player that there were guards at the gate. Then I branched through the normal chain from the talk statement to a CHAIN statement testing it on a quest that I knew was not in progress or complete. I just put simple talk statements as the outcome for both the CHAINED EVENT branch and the NORMAL CHAIN branch. The initial talk statement fired as expected, but the chain statement did not execute at all. I will try to get it to fire today by testing on something like the "dir the player is facing", etc. The quest was set up properly. If you remember back to the Uatu-Manikus-JonnieR project I had conditional chain statements working in that that were 7 or 8 levels deep. So the code was changed since that time. |
Re: Chain Events for everyone
News Flash
I tried the same thing as above with a "player facing" test and the chain fired as expected, hooray! Therefore, the test on the QUEST in PROGRESS or QUEST COMPLETE is the problem. I will do more testing. |
Re: Chain Events for everyone
That sounds interesting. I had some problems with chained events some weeks ago, but ascribed it to possible logic mistakes of my own - although I also got chained events to work as I wished in an older DC release. I then used a logic block event with a GPDL script to execute what I wanted. I will also have a look tonight if I find the time.
|
Re: Chain Events for everyone
Another News Flash
My understanding of the chain statement is that if the event is TRUE (i.e., player is facing west) then the chained event fires. Which is what happened when I tested it. If the event is NOT TRUE then the normal chain executes if there is any event set up. I got the chained event to fire but when I tested for the player facing another direction other than west the normal chain did not fire. The logic behind a CHAIN EVENT is that if a certain condition is TRUE the chained event fires and if the CHAIN EVENT is NOT TRUE the normal event fires or so I thought. Is this correct? |
Re: Chain Events for everyone
Five minutes with the editor (I love using it on my Linux machine :D) yielded the following prrof:
Chain cannot (ironically perhaps) start a chain of events. If the conditions for Chain are met, the "Chained Event" fires. If the conditions for Chain are not met, the "Normal" event chain fires. Note: for those just dropping in and skimming -> in my post, capitalized Chain without quotes refers tot he event called "Chain". :) |
Re: Chain Events for everyone
Well, if I understand right, then your statements contradict each other, do they not? JonnieR gave an example where the normal chain did not fire although the condition was not met. Or may it have something to do with the "face direction while arriving/after arriving"-difference? I confused those sometimes...
I will still have a look tonight... :D I darkly remember I tried to use the "if event does/does not happen" options combined with chained events and did not get it to work properly... |
Re: Chain Events for everyone
I've just played around a bit with quests and chain events and for me it worked, even if the event chain starts with a Chain event - although I admit it was just one Chain event, not two or three in a row.
Every time something wasn't functioning the way I intended it to, the cause was always that I didn't set the events up properly, e.g. I often forgot to select for which quest the condition should apply. Which doesn't mean the same is true in your case, maybe there IS a bug I wasn't able to reproduce yet. But is there a reason in your case why you'd want to bother with Chain events at all? Couldn't you just do it like that (using simple even conditions): Transfer Module (if Quest is complete) Normal Chain: Transfer Module (if Quest is in progress) Normal Chain: Guard Talk Statement - Take one step back? Using Chain events only makes sense if you've got more than one condition that's required to be met (like Quest is complete AND party is facing west). |
Re: Chain Events for everyone
Ok, I did some more testing with a chain of two Chain events and I was able to reproduce the bug. But: I think I've also found out what's the problem. :starbuck054:
Apparently it's got nothing to do with the position of the Chain event (it's okay to begin a chain with a Chain event), but DC seems to automatically transfer the event conditions you set for one Chain event to the next event in line, which is probably the cause your chain was broken. Check all the conditions on every single event and correct them if they don't make sense, that should do the trick. I'm not sure if it's a bug or a design choice but I think it's safer to insure "Always" is the default event condition for each and every event, regardless of its predecessors. Edit: To make things a little clearer, what's causing problems here is not the event condition per se but the second part of it. If you've got a Chain event that fires when Quest 1 is completed, the chained event will have the same condition "If quest is completed" (and that's ok, even though it's quite futile) but the quest will not be selected (no quest, instead of Quest 1). Therefor the conditions ("If quest is completed" - no quest) will not be met. |
Re: Chain Events for everyone
Hey, look at that! Chain starting a chain works for me. :) (It hadn't before, but I suspect it was because of my coupling with a Logic Block event that I must have done something wrong in).
I think that JonnieR may be using Chain because it is easier to keep track visually of what is going on in the event chain. While JonnieR's and my attempts may contradict, I assure that mine worked. :D I've tested with the following four chains and conditions: Starting positions 0,0 facing East chain #1 at 1,0 -Text Statement --chain (if facing West) ---normal chain = Text Statement ---chained event = Text statement chain #2 at 3,0 -Text Statement --chain (if facing East) ---normal chain = Text Statement ---chained event = Text statement chain #3 at 5,0 -chain (if facing West) --normal chain = Text Statement --chained event = Text statement chain #4 at 7,0 -chain (if facing East) --normal chain = Text Statement --chained event = Text statement In each of the cases, the Text Statement in each of the chans states what it is, i.e. "This is the normal chain." and "This is the chained event." Simply start at the starting point and head East. :) |
Re: Chain Events for everyone
Thanks Olivier! Maybe the problem you explained concerning quests is one of those which I met when I experimented with chains. However, I couldn't figure out what happened back then...
|
Re: Chain Events for everyone
Thanks to Manikus and Oliver, I will try to implement your examples and recommendations this evenin
|
Re: Chain Events for everyone
Is this a great forum or what? The response from our dedicated group is great!!!
|
Re: Chain Events for everyone
Is there some prose we can add to the
Chain Event Dialog that will make things more nearly clear? |
Re: Chain Events for everyone
Okay, I may testing this differently than Manikus. I start with a chain event and it works, yea! The chained event fires everytime I am facing a certain direction (north) the square with the event, yea. However, I cannot get the normal chain to fire. I expect the normal chain to fire whenever I enter the event square from any other direction other than North. Is this correct?
|
Re: Chain Events for everyone
Quote:
|
Re: Chain Events for everyone
Quote:
New events in the chain will adopt the event conditions you set last if you don't change them. Quote:
|
Re: Chain Events for everyone
Quote:
"If the conditions for the Chain event to occur are met, any events in the "Chained Events" branch will occur (if conditions for individual events are met), else, any events in the "Normal Chain" will occur (if conditions for individuals events are met). That seems wordy and contains a bit of obvious stuff, but for a completely new user that might be necessary. If anyone can reword this and still retain the meaning and warnings, that would be greatly appreciated. |
Re: Chain Events for everyone
Quote:
So, er, ADDITIONALLY to adding extra instructions, I'd recommend to tune DC so that it always sets the event conditions back to default ("Always") for every new event. :givingspeech: |
Re: Chain Events for everyone
Quote:
|
Re: Chain Events for everyone
Manikus, Oliver and Group,
I went back and reset the condition on the initial chain to "If event doesn't happen" and it worked. When you come from the North it reads "Chained Event" and when you come from any other direction (E, W or S) it reads "Normal Chain". This like using a calculator with reverse Polish notation or Superman in Bizzarro World, but I can live with this. |
Re: Chain Events for everyone
I don't think it is working right yet, though.
In my example, aside from the Chain events, all other events were set to Always. Hmmm, Bizarro, huh. A while ago Uatu and I spent a lot of time thinking up bizarro cretures for a bizarro AD&D demi-plane that PCs could visit. :) The thread is here some where... |
Re: Chain Events for everyone
Quote:
And again I don't see any logical reason for their request (well, this time even less). But, like you wrote elsewhere: Quote:
|
Re: Chain Events for everyone
Thats okay I don't need to see bizarro creatures. I can go to downtown San Francisco to do that. BTW I now recall that this is what I had to do to get the chained statements to work in our last project. I always figured it was a programming error.
|
Re: Chain Events for everyone
Well, there is some type of error somewhere, as I cannot recreate your particular issue. For me it works as I've described or not at all.
|
Re: Chain Events for everyone
Any consensus on this? Is this
what the confusion is about? |
Re: Chain Events for everyone
Quote:
|
Re: Chain Events for everyone
I think at the moment there is confusion about the confusion. :)
I never used chain events in FRUA, so I didn't know what to expect. An explanation like the one I proposed would have helped me. I also understand the point Olivier is making, but this is true for all chains, whether they use the Chain event or not. That seems like something that needs to go into the documentation. |
Re: Chain Events for everyone
Quote:
Anyway, I think the slight ease you get from event conditions adopted automatically to the next event comes at a very high price because the way it is now, even though you don't have to set each and every condition manually, you always have to keep an eye out for them - regardless if you're doing a complicated chain with lots of different event conditions or just a very simple one. You can document it all you want, I still predict this being a major source for future bugs in design because the designer did not pay enough attention for a moment. Regarding the explanatory text for the Chain event, you have my blessings though. :thumbsup2: |
Re: Chain Events for everyone
Chain events were widely used in FRUA.
BTW I think you are still confused about what I said actually worked. The chain event was set to "If event doesn't happen", the text events that the chain led to had "always" selected. This gets back to what Oliver pointed out; you have to be diligent in changing the next event after a chain (unless its another chain) to "always" because the editor just retains the last selection. Also, if you do not carefully document your chain events and the logic flow you can get into big trouble with your mod. The classic case of the endless chain statement occurs in the Pool of Radiance where all the quests were given out by one person, the Phlan clerk. And later in the game you can be running quests in parallel. My heads hurts thinking about it. |
Re: Chain Events for everyone
I think that regardless of whichever we do any particular thing, there will be at least one designer that will not read the help and complain that there is a bug, long and loud. :) That doesn't mean I don't like the idea or suggestion, it's just what happens.
I guess it really comes down to whether a person reads any documentation before they start doing stuff with DC. I imagine a lot of FRUA users won't. So we probably should do it the FRUA way. |
Re: Chain Events for everyone
Quote:
It's a difference if something doesn't work because the designer forgot to set a required condition or because the designer forgot to UNDO a condition that's NOT required. |
Re: Chain Events for everyone
Olivier, I don't mind the people who don't read the documentation who are then going to figure it out by trial and error. :) I get bothered by the people that don't read the documentation and then post they've found a bug, and when we help them, ignore everything we've said because "it's a bug in the code". And then start writing inflammatory posts and sending the same via email to developers. This has happened four times since I've come on board. Twice with this forum being involved. But, thank the powers, those people have left. :D:D:D Honestly, I could never figure out why they stuck around passed that first day anyway. So, I tend to be a bit defensive about this. ;)
Further down in the post you quoted, I did mention that we should do it the FRUA way, since that is what we want to emulate. And FRUA always defaults to 'always'. :D I don't count this as a high priority bug, so it probably won't be fixed in the next release, but it will definitely be fixed for version 1.0. :ninjas: |
Re: Chain Events for everyone
Thanks for your patience, and please tell me if I'm becoming one of "these" people one day. :angelwings:
I don't mean to get on anyone's nerves, I was just hoping to make other people see why I think the UA way is also the more comfortable way and not just an arbitrary choice. If it's going to be implemented in 1.0, I don't want you to tell people "we only did that because some nostalgic UA folks asked for it" but because you too think it's logical and makes sense. :) |
Re: Chain Events for everyone
Olivier, you are exactly the kind of person I like. :D You ask questions, give answers, share opinions and are aware that other people may differ with you, but remain collegial. :D:D:D
But, as for agreeing with logic, good luck with that one. ;) Recognizing logic is not always something I strive for. And one last little thing- I think my saying, or anyone else saying "We do it this way because a FRUA user asked us to", might hold a little sway over what a non-FRUA user asks (considering the nature of this project and that you're asking us to make it more like FRUA), but what definitely holds the most sway is when we can say, "We do it this way because an active member of the community/user of DC asked us to." :ninjas: |
Re: Chain Events for everyone
Quote:
|
Re: Chain Events for everyone
Quote:
|
All times are GMT -4. The time now is 12:29 AM. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
©2024 Ironworks Gaming & ©2024 The Great Escape Studios TM - All Rights Reserved