MOO-cows Mailing List Archive


[PROG] Re: rooms and do_command

>A while back I posted some code for a do_command verb on a room that lets
>you force any person in the room to do a command as if she typed it in.
>We've been using it with no problems until recently when we discovered it
>chokes on "none none none" verbs. This is because of the:
>line. If a verb is none none none, then I get "verb not found" errors. Does
>anyone know any way around that?

This makes no sense.  The only reason that you can't call a verb from another
 verb would be because the verb you are trying to call is !x.  Make sure that
 the verb you are trying to call is +x, then it will work.

But I would suggest against making verbs that are !x into +x verbs just for
 this (dubious) feature.

>I'd like to be able to call verbs like @quit, and I dont want to have to
>hardwire each none none none verb into my do_command.

See above.  I know for a fact that $player:@quit is !x so that someone else
 can't call your @quit verb and disconnect you.

There is a note or post or something on Lambda concerning permissions, which
 I think you should take a look at, but unfortunately, I can't remember it's
 object number.  Once someone posts the object number, can we please have 
 it put in the FAQ under 'verb security issues' or something like that?

>Another problem we discovered was that no matter what assignments we made
>before the verb call above, the "caller" was always set to the room object.
>This causes problems with some verbs since they check that caller=player,
>and it doesnt. Caller = room, and player is the player = rightcaller. Is
>there a way to set the caller for the next verb without it getting reset?

Assignments to the variables verb, caller, this, LIST, OBJ, STR, NUM, and ERR
 will not survive a verb call.  Assignments to the variable player will only
 survive if the perms are wizardly.  If they did survive, then what would be
 the point of having them?

  ______                              __
    /   /  Andy Bakun     _/_      / /  `  /)  /)       _/_
 --/   /_  , , , __.  __  /  _  __/ /--   //  //  __,_  /  _
(_/   / /_(_(_/_(_/|_/ (_<__</_(_/ (___, //__//__(_) (_<__/_)_
  How much head could a bonehead bone   />  />
    if a bonehead could bone head?     //  //   </  </  

Home | Subject Index | Thread Index