ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/maps/perl/tell.ext
(Generate patch)

Comparing deliantra/maps/perl/tell.ext (file contents):
Revision 1.1 by pippijn, Sat May 6 19:53:22 2006 UTC vs.
Revision 1.4 by root, Sat May 6 21:05:07 2006 UTC

1#! perl 1#! perl
2
2cf::register_command tell => 0, sub 3cf::register_command tell => 0, sub {
3{
4 my ($who, $args) = @_; 4 my ($who, $args) = @_;
5 my ($target, $msg) = split /\s+/, $args, 2; 5 my ($target, $msg) = split /\s+/, $args, 2;
6 6
7 my $name = $who->name; 7 my $name = $who->name;
8 8
9 if (my $other = cf::player::find $target) 9 if (my $other = cf::player::find $target) {
10 { 10
11 if ($other->ob->{ext_ignore_tell}{$name} < time) { 11 $other->ob->{ext_ignore_tell}{$name} >= time
12 delete $other->ob->{ext_ignore_tell}{$name}; 12 or delete $other->ob->{ext_ignore_tell}{$name};
13 } 13
14 if ($target ne $name and !$other->ob->{ext_ignore_tell}{$name}) { 14 if ($target ne $name and !$other->ob->{ext_ignore_tell}{$name}) {
15 $who->message ("You tell $target: $msg"); 15 $who->message ("You tell $target: $msg");
16 $other->ob->message ("$name tells you: $msg"); 16 $other->ob->message ("$name tells you: $msg");
17 $other->ob->{ext_last_tell} = $name;
17 } elsif ($target eq $name) { 18 } elsif ($target eq $name) {
18 $who->message ("You are talking to yourself, you freak!", cf::NDI_UNIQUE); 19 $who->message ("You are talking to yourself, you freak!", cf::NDI_UNIQUE);
19 } else { 20 } else {
20 $who->message ($other->ob->name." ignores what you say. Give up on it.", cf::NDI_UNIQUE); 21 $who->message ($other->ob->name . " ignores what you say. Give up on it.", cf::NDI_UNIQUE);
21 } 22 }
23
24 } else {
25 $who->message ("No such player or ambiguous name. Your message: $msg", cf::NDI_UNIQUE);
22 } 26 }
27};
28
29cf::register_command reply => 0, sub {
30 my ($who, $args) = @_;
31 my $name = $who->name;
32
33 if (my $other = cf::player::find $who->{ext_last_tell}) {
34
35 $other->ob->{ext_ignore_tell}{$name} >= time
36 or delete $other->ob->{ext_ignore_tell}{$name};
37
38 if (!$other->ob->{ext_ignore_tell}{$name}) {
39 $who->message ("You tell " . $other->ob->name . ": $args");
40 $other->ob->message ("$name tells you: $args");
41 $who->{ext_last_tell} = $other->ob->name;
42 } else {
43 $who->message ($other->ob->name . " ignores what you say. Give up on it.", cf::NDI_UNIQUE);
44 }
45
23 else 46 } else {
24 { 47 $who->message ("Can't reply, player left. Your message: $args", cf::NDI_UNIQUE);
25 $who->message ("No such player or ambiguous name.",
26 cf::NDI_UNIQUE);
27 } 48 }
28} 49};
50
51

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines