Some things really get under my skin. This is one of them.
A technique I've been encouraged to use, letting folks set personal actions linking to the room as a teleport, turns out to be an exploit to let folks come and go without being seen if they set that action dark.
This is quite a bit of a security risk, and I'm not finding a solution--any help? Damn it. You shouldn't be able to arrive without some sort of odrop. This bothers me. Alot.
But I'm ranting.
Edit to announce fix: Thanks to Austin, there's now a fix! Set these on your rooms if you ever allow personal exits:
@set here=/_arrive/announce:&{null:{otell:{name:me} has entered.,#room-db, #-1}}
@set here=/_depart/announce:&{null:{otell:{name:me} just left the room.,#room-db,#-1}}
August 20 2004, 10:17:33 UTC 7 years ago
August 20 2004, 10:46:13 UTC 7 years ago
That, and it's also a security breach--I'm actually more than a little upset about not knowing about the exploit after being encouraged to let folks use personal exits over the years. I've been letting this thing possibly occur for a while now. -.-
August 20 2004, 11:04:50 UTC 7 years ago
Good for catching secretive Wizards.
Chahala
August 20 2004, 11:11:08 UTC 7 years ago
*plots!*
;)
August 20 2004, 11:11:21 UTC 7 years ago
I'm not certain that
odropwill work on the room, but I don't recall the conditions in which the drop and odrop on rooms are executed.@osucc here=drops in.ought to work, but the succ and osucc are executed whenever the room is used successfully, which includes being looked at. That'll result in ``false positive'' reports of people entering.There's surely more ways than the one I outlined in the other big post.
August 20 2004, 11:05:55 UTC 7 years ago
This one needed some figuring out, but there's a way. The key is the
_arriveproperties, which are things done when a person arrives in a room, by whatever method.So, what you want to do is set something like this in the room:
@set here=_arrive/announce:&{null:{otell:{nam e:me} just appeared in the room.},#dbref-of-the-room,#-1}} The
otell</cite> is pretty self-explanatory, the included message gets told to all in the room. (If you want commas in the message they have to be written as\,instead.) The#dbref-of-the-roomis, well, the place to send the message. The#-1means the message is shown to everyone including the person who enters.The
nullprevents a duplicate message being sent to the person who enters. The&is needed for odd muck purposes -- without the ampersand the muck thinks you're trying to run a MUF program.To run a MUF program you'd just
@set me=_connect/voteautocheck:7365or such -- that runs MUF program dbref #7365 on connection.You can set a bunch of
_arrive/properties; they run in alphabetical order. You can also set_depart/properties with similar conditions. On a person or zombie there's also_connectand_disconnectthat run, well, you get the idea. All of this is well-documented in the minds of the fuzzball programmers, but hang around long enough and you'll encounter it.August 20 2004, 11:13:39 UTC 7 years ago
August 20 2004, 11:26:04 UTC 7 years ago
August 20 2004, 11:32:44 UTC 7 years ago
The trouble, for the record, was my typo in the instructions; I added a } where none was needed. The correct message -- whether to set on _arrive/ or _depart/, on _connect/ or _disconnect/ trees -- is like:
@set here=_arrive/announce:&{null:{otell:{name:me} just appeared in the room.,#dbref-of-the-room,#-1}}The
otellcommand taking three arguments, the message ({name:me} just appeared in the room.); the destination (#dbref-of-the-room); and the people to be excluded from notification (#-1, exclude no one in the room). MPI, of course, does bizarre unpredictable things when you get the braces in the wrong place. I apologize for the unnecessary confusion.August 20 2004, 11:38:27 UTC 7 years ago
@set here=/_arrive/announce:&{null:{otell:{name:me} has entered.,#room-db, #-1}}
@set here=/_depart/announce:&{null:{otell:{name:me} just left the room.,#room-db,#-1}}
Wonderful! Up and running. :)
August 20 2004, 11:53:29 UTC 7 years ago
August 20 2004, 12:06:38 UTC 7 years ago
Beats me, but looking over the code I think it should. Certainly
_arriveand_depart/get inherited; that's essential to the banish, ride, and a few other programs' workings. The{loc:me}should be the right substitution. Anyone want to run a test article?I wouldn't object to including a default arrive/departure message that way if there's a way to do it without being redundant to osucc/odrop messages and if there's a way to suppress it when the room owner wants. (I could see silent arrivals and departures fitting, for example, the theme of a haunted house room.) This might turn into MUF before we're done with it.
August 20 2004, 12:45:37 UTC 7 years ago
August 20 2004, 12:56:07 UTC 7 years ago
August 20 2004, 12:39:52 UTC 7 years ago
August 20 2004, 12:55:31 UTC 7 years ago