Приписка в гильде 0_о
Добавлено: Пт фев 29, 2008 3:04 am
Подбегает к вам админ или хелпер, ты бот? нет ёпт ответите вы.... какая у меня приписка спросит он.... вот мы и сели на жопу.... не расстраивайтесь=) чтобы не сесть в люжу нам надо всеголишь подправить пару строк в сорцах и всего делов=)
топаем сюда Commands.pm
ищем там 2934 строку, что то вроди
аха, нашли, молодцы, правим выдаваемую инфу функцией:
ищем что то вроди
добавляем
далее ищем
добавляем после запятой
в результате функция cmdPlayerList стала выглядить слудующим образом:
сохраняем и радуемся =) теперь команда pl вызванная с ником интересующего парсонажа будет выдавать инфу о приписке в гильде
я ковырял 206SVN6184[/i]
топаем сюда Commands.pm
ищем там 2934 строку, что то вроди
Код: Выделить всё
sub cmdPlayerList {
ищем что то вроди
Код: Выделить всё
"%s (%d)\n" .
"Account ID: %s (Hex: %s)\n" .
"Party: %s\n" .
"Guild: %s\n" .
Код: Выделить всё
"Pripiska: %s\n".
Код: Выделить всё
($player->{party} && $player->{party}{name} ne '') ? $player->{party}{name} : '',
($player->{guild}) ? $player->{guild}{name} : '',
Код: Выделить всё
($player->{guild}) ? $player->{guild}{title} : '',
в результате функция cmdPlayerList стала выглядить слудующим образом:
Код: Выделить всё
sub cmdPlayerList {
my (undef, $args) = @_;
my $msg;
if ($args ne "") {
my $player = Match::player($args);
if (!$player) {
error TF("Player \"%s\" does not exist.\n", $args);
return;
}
my $ID = $player->{ID};
my $body = $player->{look}{body} % 8;
my $head = $player->{look}{head};
if ($head == 0) {
$head = $body;
} elsif ($head == 1) {
$head = $body - 1;
} else {
$head = $body + 1;
}
my $pos = calcPosition($player);
my $mypos = calcPosition($char);
my $dist = sprintf("%.1f", distance($pos, $mypos));
$dist =~ s/\.0$//;
my %vecPlayerToYou;
my %vecYouToPlayer;
getVector(\%vecPlayerToYou, $mypos, $pos);
getVector(\%vecYouToPlayer, $pos, $mypos);
my $degPlayerToYou = vectorToDegree(\%vecPlayerToYou);
my $degYouToPlayer = vectorToDegree(\%vecYouToPlayer);
my $hex = getHex($ID);
my $playerToYou = int(sprintf("%.0f", (360 - $degPlayerToYou) / 45)) % 8;
my $youToPlayer = int(sprintf("%.0f", (360 - $degYouToPlayer) / 45)) % 8;
my $headTop = headgearName($player->{headgear}{top});
my $headMid = headgearName($player->{headgear}{mid});
my $headLow = headgearName($player->{headgear}{low});
$msg = TF("------------------ Player Info ------------------\n" .
"%s (%d)\n" .
"Account ID: %s (Hex: %s)\n" .
"Party: %s\n" .
"Guild: %s\n" .
"Pripiska: %s\n".
"Position: %s, %s (%s of you: %s degrees)\n" .
"Level: %-7d Distance: %-17s\n" .
"Sex: %-6s Class: %s\n" .
"-------------------------------------------------\n" .
"Body direction: %-19s Head direction: %-19s\n" .
"Weapon: %s\n" .
"Shield: %s\n" .
"Shoes : %s\n" .
"Upper headgear: %-19s Middle headgear: %-19s\n" .
"Lower headgear: %-19s Hair color: %-19s\n" .
"Walk speed: %s secs per block\n"
,
$player->name, $player->{binID}, $player->{nameID}, $hex,
($player->{party} && $player->{party}{name} ne '') ? $player->{party}{name} : '',
($player->{guild}) ? $player->{guild}{name} : '',
($player->{guild}) ? $player->{guild}{title} : '',
$pos->{x}, $pos->{y}, $directions_lut{$youToPlayer}, int($degYouToPlayer),
$player->{lv}, $dist, $sex_lut{$player->{sex}}, $jobs_lut{$player->{jobID}},
"$directions_lut{$body} ($body)", "$directions_lut{$head} ($head)",
itemName({nameID => $player->{weapon}}),
itemName({nameID => $player->{shield}}),
itemName({nameID => $player->{shoes}}), $headTop, $headMid,
$headLow, "$haircolors{$player->{hair_color}} ($player->{hair_color})",
$player->{walk_speed});
if ($player->{dead}) {
$msg .= T("Player is dead.\n");
} elsif ($player->{sitting}) {
$msg .= T("Player is sitting.\n");
}
if ($degPlayerToYou >= $head * 45 - 29 && $degPlayerToYou <= $head * 45 + 29) {
$msg .= T("Player is facing towards you.\n");
}
$msg .= "-------------------------------------------------\n";
message $msg, "info";
return;
}
$msg = T("-----------Player List-----------\n" .
"# Name Sex Lv Job Dist Coord\n");
foreach my $player (@{$playersList->getItems()}) {
my ($name, $dist, $pos);
$name = $player->name;
if ($player->{guild} && %{$player->{guild}}) {
$name .= " [$player->{guild}{name}]";
}
$dist = distance($char->{pos_to}, $player->{pos_to});
$dist = sprintf("%.1f", $dist) if (index ($dist, '.') > -1);
$pos = '(' . $player->{pos_to}{x} . ', ' . $player->{pos_to}{y} . ')';
$msg .= swrite(
"@<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<< @<< @<<<<<<<<<< @<<<< @<<<<<<<<<<",
[$player->{binID}, $name, $sex_lut{$player->{sex}}, $player->{lv}, $player->job, $dist, $pos]);
}
$msg .= "---------------------------------\n";
message($msg, "list");
}
я ковырял 206SVN6184[/i]