MOO-cows Mailing List Archive
[Prev][Next][Index][Thread]
Re: Making a chat room
[snip]
> > question. I'm not sure if this'll override other verbs on itself as
> > well.. ie if you type 'say hey there', and there's both a 'say' and a '*'
> > verb on the room, I'm not sure which one it'll run.
>
> The parser always checks the objects' own verbs before heading to the
> parent. Thus, having a *-verb on a room will mean _no_ roomverbs what so
> ever, except you define them before defineing the *-verb. (the parser
> goes from verb 0 till verb(length(verbs(object)) :)
> That is a bad idea, by the way, because it would block out a few of many
> important verbs: look, @eject, emote. And if you put it +x, for whatever
> reason, it would also block out acceptable, enterfunc, look_self, etc.
> *-verbs are never a good idea, unless you _want_ those wicked things to
> happen :)
Just for clarity, let me explain that a little more... I said I'm not
sure if it'll override other verbs on itself. I already knew it'd
override all command line verbs on its parents. With a room like this,
you would have to put all the command verbs you want it to be able to use
on the room itself. (I figured that it probably went by the verb's
number, but I didn't want to say anything just in case I was wrong)
> If you make a :huh verb, which is by far the smartest way, you have to
Dont' forget, that _is_ what I said. I just threw the other idea in as
an option... with a room that takes everything typed in it as subject for
a 'say' verb, you would only want a couple of commands to be able to be
used. If I tell someone to beat me with a newt, I don't want to
accidently set off a 'beat' verb on something in the room that just
happened to have 'a newt' as an alias.
If you *really* want to go crazy with a room like this, it would take
a 'do_as_command()' builtin function, so you can run a continuous read
loop, but if the first two letters on it is a '* ', it'll run the rest as
a command. There was a lot of discussion on here a little while ago on
such a function.. someone probably has a copy if it that they'd be
willing to send your way. I think that this would be the _BEST_ way,
because then there'd be no question if what you type will be a command or
a say.. and it wouldn't require breaking out of the loop just to run a
command, then issuing another command to come back into the loop.
The stock LambdaMOO server obviously wasn't created with such a use in
mind. :-)
Phantom
References:
Home |
Subject Index |
Thread Index