Switch to edit mode.
Name(s): 2who cwho1: caller_perms() != player && raise(E_PERM)
2: set_task_perms(player)
3: if (argstr)
4: if (!(ppl = #7070:match_players(@$string_utils:explode(argstr))))
5: return player:tell("No players matched")
6: endif
7: else
8: ppl = connected_players()
9: endif
10: if (abs(player.output_linelength) <= 80)
11: headers = {{30, 25, 25, 45}, {"Player", "#", "Idle", "Location"}}
12: elseif (!player:isa($guardian))
13: headers = {{34, 8, 7, 8, 10, 45, 8}, {"Player", "#", "bit", "Idle", "Rank", "Location", "# Loc"}}
14: else
15: headers = {{19, 8, 7, 8, 10, 35, 8, 25}, {"Player", "#", "bit", "Idle", "Rank", "Location", "# Loc", "Site"}}
16: endif
17: ldata = {}
18: data = {}
19: for x in (ppl)
20: idle = x:connected() ? (is = x:idle_seconds()) < 30 ? " NO " | $cecil_utils:short_time(is) | "////"
21: if (!#7070:is_malicious(x, "title"))
22: xname = `tostr(x:title()) ! ANY => "! " + x.name'
23: else
24: xname = "@ " + x.name
25: endif
26: x:connected() && !x:connected(0) && (xname = "* " + xname)
27: if (!$cecil_utils:is_malicious(x.location, "title") && !$cecil_utils:is_malicious(x.location, "msg_who_location"))
28: locstr = `x.location:msg_who_location(x) ! ANY'
29: locstr = typeof(locstr) == $STR ? locstr | `x.location:title(1) ! ANY => tostr("A broken room (", x.location, ")")'
30: else
31: locstr = "@ " + x.location.name
32: endif
33: bits = tostr(`x in player.friendlies ! E_PROPNF => 0' ? "f" | " ", x.wizard ? "W" | (x:isa($guardian) ? "G" | " "), `x.pueblo_version ! E_PROPNF' ? "P" | (`x.moozilla_version ! ANY' ? x.moozilla_version == $moozilla.latest_version ? "M" | "m" | " "))
34: if (abs(player.output_linelength) <= 80)
35: xdata = {xname, tostr(x), idle, locstr}
36: elseif (!player:isa($guardian))
37: xdata = {xname, tostr(x), bits, idle, x:rank(6), locstr, x.location}
38: else
39: conn = x:connected() ? $string_utils:connection_hostname(connection_name(x)) | "////"
40: xdata = {xname, tostr(x), bits, idle, x:rank(6), locstr, x.location, conn}
41: endif
42: data = {@data, xdata}
43: !$tcm && (locstr = $html_utils:detag(locstr))
44: ldata = {@ldata, x.location == $www ? "~~~~~~~~~" | locstr}
45: $cmd_utils:suspend_if_needed()
46: "this:tell(toliteral(xdata));"
47: endfor
48: !$tcm && (data = $list_utils:sort(data, ldata))
49: player:tellColumns_suspended(3, @headers, @data)
50: "Last modified by Dax (#789) on Tue May 3 14:03:29 2005 MDT."