[DGD] Aliases & Stacked commands
Bart van Leeuwen
bart at wotf.org
Wed Mar 24 14:38:40 CET 2004
I may be mistaken, but isn't this why traditional lpmuds have a
this_player() and this_interactive() ?
this_player() can come from the TLS in a DGD based mud, and can point at
the living on whoms behalf the command is running, while
this_interactive() would compare well to this_user()
I think you really want something like this_player() because 'users' are
not the only livigns that can use 'commands' on your average mud, which
means to me that commands should never ever depend on this_user() since
they will fail when used by a living thats not linked to any user.
Of course there can be exceptions for security reasons, but those are
cases where runnign such a command from an alias would not be a good idea
either I believe.
It allows using call_outs to delay execution of commands without problems
with regards to the 'command giver'.
Ah well, maybe I'm just a bit too much into 'emulating' lpmud behavior in
such things ;)
Bart.
On Tue, 23 Mar 2004, Michael McKiel wrote:
> I'm in the process of completing an aliasd.c an alias command and the
> inheritable into the user file, and have come across what is a potential
> problem, wherein an alias can do multiple actions
>
> ie: alias foo this;that;another
>
> The problem is that when the alias is expanded all the actions are performed,
> and perhaps too quickly - meaning if it was a client-side alias, each bit
> would get re-sent to be passed thru the given user's receive_message() but
> since this is an in-game/system alias the active thread wont end until the
> whole alias has been processed.
> I've considered a few different work-arounds for this, but none seem to
> be very clean. And even the possibility of a to-do command-stack (array)
> stored in a given user object, with a possible timed delay, but then if you
> make that a series of call_out's to perform the command then you lose the
> current 'this_user()'
> Has anyone else tackled this problem, or have any different suggestions
> on how one might go about it? Would a call_out that calls into a user's
> receive_message in essence make them this_user() ?
>
> When I started alias and its related functions I figured piece of cake, its
> becoming immeasurably more complex than the helpd heh.
>
>
>
> ______________________________________________________________________
> Post your free ad now! http://personals.yahoo.ca
> _________________________________________________________________
> List config page: http://list.imaginary.com/mailman/listinfo/dgd
>
_________________________________________________________________
List config page: http://list.imaginary.com/mailman/listinfo/dgd
More information about the DGD
mailing list