b82 @verb #12:"page" any any any rxdo #55 @program #12:"page" any any any "Send a private message to another player." nargs = length(args) if (nargs < 2) return player:tell("Usage: page <whom> with <message>") endif text = "" if (index(tostr(@player.msg_page_origin), "%1") == 0) return player:tell("Your pages will not be delivered until your @page_origin contains %1. Please type: @page_origin me is \"%N pages you: %1.\"") endif if (nargs > 1) if (args[2] == "with" && nargs > 2) text = argstr[index(argstr, "with") + 5..$] else text = argstr[index(argstr, args[1]) + length(args[1]) + 1..$] endif text = player:autocorrect(text) endif "Tuvok (#7071) pointed out this nifty attack where you could boobytrap a room's :title verb in order to catch pages coming out of your room. No more!" "You could still carry out a traffic analysis, but this seems harder to block." argstr = "" "if ($su:is_numeric(args[1]) && (!valid($su:match_local_player(args[1]))))" " if ($cmd_utils:yes_or_no(tostr(\"User named '\", args[1], \"' could not be found. If this is an ICQ number, it can be paged from the MOO. Proceed assuming it is a valid ICQ number and that you wish to page it?\")))" " $icq:page(args[1], tostr(\"SNM: \", $su:nn(player)), player.email_address, \"SNM Page\", text);" " return player:tell(\"ICQ number paged.\");" " else" " return player:tell(\"ICQ number not paged.\");" " endif" "endif" if (args[1] == "help") if (player.helping) return player:tell("A helper shouldn't page help. Please reply to the user asking for help directly.") endif success = 0 for x in (connected_players()) `x.helping ! E_PROPNF' && (success = 1) && x:sub_tell(`x:msg_page_help() ! ANY => "[HELP]: %2: %1"', text, tostr(player:titlec(), `player.prog_help ! ANY' ? " (prog-helper)" | (`player.helping ! ANY' ? " (helper)" | ""))) $command_utils:suspend_if_needed() endfor if (success) player.helping || player:tell("Your frantic plea for help has been sent.") elseif (length(connected_players()) > 1) player:tell("Unfortunately, no designated helpers are available right now, but one of the other players currently on-line may be able to assist you.") else player:tell("Unfortunately, there is nobody on-line besides you right now. Try the help system (type 'help') or come back at a busier time.") endif return endif who = $string_utils:match_local_player(args[1]) if ($command_utils:player_match_result(who, args[1])[1]) return elseif (who in this.gaglist) $msg:mtell("page_gag", who) return endif "for pronoun_sub's benefit..." dobj = who iobj = player result = who:receive_page(player:msg_page_origin(), text) $msg:lmtell({who}, {who}, {player, result == 1 ? "msg_page_echo" | (result == 0 ? "msg_page_refused" | "msg_page_absent")}, "") "Last modified by Dax (#789) on Fri Jun 3 16:25:38 2005 MDT." . 0