> Anyone have any ideas? I wouldn't mind working on it and reposting > any improvements I make to the code. I think this is a feature a lot of > people would be interested in getting :) > Hmmm... There is a better and clean way. But i'm not the right person to post it. However, here it goes: this is a perfect example of the usefullness of my event queue, wich i posted a week or so back. Yeah, I know it's a shameless plug, but it's true. Just go ahead and read: You define an event fall_event that is issued if a character doesn't have AFF_FLY and there is no ground beneath. That event will be triggered... hmm... 2 seconds from now. When that time expires, the player is sent to the down room. In the room bellow, if the player still isn't flying, you issue another fall_event, this time with delay 1, and so forth. This way, the player will have several seconds to cast the spell. Now that i look at it, maybe 2 seconds is too fast. Actual numbers have to be tested. Let's look at a bit of pseudo-code: EVENT(fall_event) // the previous delay is passed through info if the player is flying exit else move player down on room issue new fall_event, with a shorter delay. endif Additionaly, instead of exiting if the player is flying, you could slow him down until he stops. That would be up to you. I believe this is an elegant way to implement it. I did something similar, when i built a timed DT in a river. The river would drag the players, but had the possibility to leave the room. If they were fast they made it, else, they were doomed. :)) The only problem i see with this solution is that you would have to install my event queue code first. Opinions any one? Luis Carvalho, aka Simon @ Implementor's MUD
This archive was generated by hypermail 2b30 : 12/07/00 PST