ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/ext/commands.ext
(Generate patch)

Comparing deliantra/server/ext/commands.ext (file contents):
Revision 1.47 by root, Mon Jun 11 22:18:03 2007 UTC vs.
Revision 1.57 by root, Sat Jul 28 00:15:03 2007 UTC

62 (grep /$select/, 62 (grep /$select/,
63 map { 63 map {
64 my ($pl, $ob, $ns) = ($_, $_->ob, $_->ns); 64 my ($pl, $ob, $ns) = ($_, $_->ob, $_->ns);
65 65
66 "* " . $ob->name . "/" . $ob->level . " " . (length $pl->own_title ? $pl->own_title : "the " . $pl->title) 66 "* " . $ob->name . "/" . $ob->level . " " . (length $pl->own_title ? $pl->own_title : "the " . $pl->title)
67 . ($pl->gender ? " [f]" : " [m]")
67 . ($pl->peaceful ? " [peaceful]" : " [HOSTILE]") 68 . ($pl->peaceful ? " [peaceful]" : " [HOSTILE]")
68 . ($ns->afk ? " [AFK]" : "") 69 . ($ns->afk ? " [AFK]" : "")
69 . ($ob->flag (cf::FLAG_WIZ) ? " [WIZ]" : "") 70 . ($ob->flag (cf::FLAG_WIZ) ? " [WIZ]" : "")
70 . " [" . $pl->ns->version . "]" 71 . " [" . $pl->ns->version . "]"
71 . " [" . ($pl->peaceful || $privileged ? $ob->map->visible_name : $ob->region->name) . "]" 72 . " [" . ($pl->peaceful || $privileged ? $ob->map->visible_name : $ob->region->name) . "]"
72 . (sprintf " [rtt %.3fs]", $pl->ns->rtt * 1e-6) 73 . (sprintf " [rtt %.3fs]", $pl->ns->tcpi_rtt * 1e-6)
73 . ($privileged ? " " . $pl->ns->host : "") 74 . ($privileged ? " " . $pl->ns->host : "")
74 } sort { (lc $a->ob->name) cmp (lc $b->ob->name) } @pl 75 } sort { (lc $a->ob->name) cmp (lc $b->ob->name) } @pl
75 ), 76 ),
76 eval { "* IRC: " . join ", ", ext::irc::users }, 77 eval { "* IRC: " . join ", ", ext::irc::users },
77 ) 78 )
114 my ($ob) = @_; 115 my ($ob) = @_;
115 116
116 # Too hard to try and make a header that lines everything up, so just 117 # Too hard to try and make a header that lines everything up, so just
117 # give a description. (comment from C++) 118 # give a description. (comment from C++)
118 my $reply = 119 my $reply =
119 "The first column is the name of the body location.\n" 120 "The first column is the name of the body location.\n\n"
120 . "The second column is how many of those locations your body has.\n" 121 . "The second column is how many of those locations your body has.\n\n"
121 . "The third column is how many slots in that location are available.\n"; 122 . "The third column is how many slots in that location are available.\n\n";
122 123
123 $reply .= sprintf "%-20s %3s %5s\n", "Location", "You", "Avail"; 124 $reply .= sprintf " %-20s %3s %5s\n", "Location", "You", "Avail";
124 for (0 .. cf::NUM_BODY_LOCATIONS - 1) { 125 for (0 .. cf::NUM_BODY_LOCATIONS - 1) {
125 my $msg = cf::object::slot_nonuse_name $_; 126 my $msg = cf::object::slot_nonuse_name $_;
126 $msg =~ s/^.*? a //; 127 $msg =~ s/^.*? a //;
127 $reply .= sprintf "%-20s %3d %5d\n", $msg, $ob->slot_info ($_), $ob->slot_used ($_) 128 $reply .= sprintf " %-20s %3d %5d\n", $msg, $ob->slot_info ($_), $ob->slot_used ($_)
128 if $ob->slot_info ($_) or $ob->slot_used ($_); 129 if $ob->slot_info ($_) or $ob->slot_used ($_);
129 } 130 }
130 131
131 $reply .= "You are not allowed to wear armor\n" 132 $reply .= "You are not allowed to wear armor\n\n"
132 unless $ob->flag (cf::FLAG_USE_ARMOUR); 133 unless $ob->flag (cf::FLAG_USE_ARMOUR);
133 $reply .= "You are not allowed to use weapons\n" 134 $reply .= "You are not allowed to use weapons\n\n"
134 unless $ob->flag (cf::FLAG_USE_WEAPON); 135 unless $ob->flag (cf::FLAG_USE_WEAPON);
135 136
136 $ob->reply (undef, $reply); 137 $ob->reply (undef, $reply);
137 138
138 1 139 1
184} 185}
185 186
186cf::register_command mapinfo => sub { 187cf::register_command mapinfo => sub {
187 my ($ob) = @_; 188 my ($ob) = @_;
188 189
190 my $observe = $ob->contr->observe;
191
189 my $map = $ob->map 192 my $map = $observe->map
190 or return; 193 or return;
191 $ob->reply (undef, (sprintf "%s (%s) %s", $map->name, $map->path, $ob->region->longname)); 194 $ob->reply (undef, (sprintf "%s (%s) %s", $map->name, $map->path, $observe->region->longname));
192 $ob->reply (undef, (sprintf "players: %d difficulty: %d size: %d start: %dx%d timeout: %d", 195 $ob->reply (undef, (sprintf "players: %d difficulty: %d size: %d start: %dx%d timeout: %d",
193 $map->players, $map->difficulty, $map->width, $map->height, $map->enter_x, $map->enter_y, $map->timeout)) 196 (scalar $map->players), $map->difficulty, $map->width, $map->height, $map->enter_x, $map->enter_y, $map->timeout))
194 if $ob->flag (cf::FLAG_WIZ); 197 if $ob->flag (cf::FLAG_WIZ);
195 $ob->reply (undef, $map->msg); 198 $ob->reply (undef, $map->msg);
196 199
197 1 200 1
198}; 201};
199 202
200cf::register_command whereami => sub { 203cf::register_command whereami => sub {
201 my ($ob) = @_; 204 my ($ob) = @_;
202 205
203 my $reg = $ob->region; 206 my $reg = $ob->contr->observe->region;
204 $ob->reply (undef, (sprintf "You are %s.\n%s", $reg->longname, $reg->msg)); 207 $ob->reply (undef, (sprintf "You are %s.\n%s", $reg->longname, $reg->msg));
205 208
206 1 209 1
207}; 210};
208 211
243 _set_mode "usekeys", $ob, $arg, usekeys => qw(inventory keyrings containers); 246 _set_mode "usekeys", $ob, $arg, usekeys => qw(inventory keyrings containers);
244 247
245 1 248 1
246}; 249};
247 250
251cf::register_command hintmode => sub {
252 my ($ob, $arg) = @_;
253
254 _set_mode "hintmode", $ob, $arg, hintmode => qw(show mark hide);
255
256 1
257};
258
248cf::register_command afk => sub { 259cf::register_command afk => sub {
249 my ($ob, $arg) = @_; 260 my ($ob, $arg) = @_;
250 261
251 $ob->contr->ns->afk ($ob->contr->ns->afk ? 0 : 1); 262 $ob->contr->ns->afk ($ob->contr->ns->afk ? 0 : 1);
252 $ob->reply (undef, $ob->contr->ns->afk ? "You are now AFK" : "You are no longer AFK"); 263 $ob->reply (undef, $ob->contr->ns->afk ? "You are now AFK" : "You are no longer AFK");
276 my ($ob, $arg) = @_; 287 my ($ob, $arg) = @_;
277 288
278 return $ob->reply (undef, sprintf "Output rate is presently %dbps.", $ob->contr->ns->max_rate / $cf::TICK) 289 return $ob->reply (undef, sprintf "Output rate is presently %dbps.", $ob->contr->ns->max_rate / $cf::TICK)
279 unless $arg > 0; 290 unless $arg > 0;
280 291
281 # minimum is 2k/s 292 # minimum is 5k/s
293 # maximum is 100k/s, this should be configurable
282 $ob->contr->ns->max_rate ((List::Util::max 2048, $arg) * $cf::TICK); 294 $ob->contr->ns->max_rate ((List::Util::max 5000, List::Util::min 100000, $arg) * $cf::TICK);
283 $ob->reply (undef, sprintf "Output rate now set to %dbps.", $ob->contr->ns->max_rate / $cf::TICK); 295 $ob->reply (undef, sprintf "Output rate now set to %dbps.", $ob->contr->ns->max_rate / $cf::TICK);
284 296
285 1 297 1
286}; 298};
287 299

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines