Добавлено: Чт янв 10, 2008 7:00 pm
Чтобы добавлять мобов, которых еще нету в файле.Kissa2k писал(а):При чем тут эта ересь?
Клуб любителей пляски с бубном вокруг OpenKore
https://www.ro-fan.ru/
Чтобы добавлять мобов, которых еще нету в файле.Kissa2k писал(а):При чем тут эта ересь?
Эм.. Окей, плагин вроде был сделан для совместного использования с macro плагином, т.е. изменение настроек по условию (другими словами на автомате). Я опять не так понял? оОvit писал(а):Чтобы добавлять мобов, которых еще нету в файле.
Аааа, теперь понятно!!!4epT писал(а):хочу сделать проверку, чтоб нюб вводит "mconf zizipuka 1", а кора и говорит, типо нет такого моба (в файле tables\monsters.txt)
а @monsters это, как я понимаю, глобальная переменная, т.е. хэш который содержит ID и имена мобов с файла tables\monsters.txt. Может тут я и ошибаюсь (возможно это и не @monsters).
Код: Выделить всё
while (($key,$value) = each %monsters_lut) {
print "$key=$value\n";
}
Код: Выделить всё
my $found = 0;
while (($key,$value) = each %monsters_lut) {
last if ($found = (lc($value) eq lc($mob)));
}
print "\u\L$mob is $key \n" if $found;
Ты хоть раз его чистил? Хоть 1 причина его чистить? (Полный русишь?)#Remove all lines below to have Kore auto-generate this table
Код: Выделить всё
$args =Lord of Death 0 1 0
Код: Выделить всё
$key = Lord of Death
$value = 0 1 0
Код: Выделить всё
my $key =~ /^\D+/;
my $value =~ /\d/;
($key, $value) = split(" ", $args, 2);
Код: Выделить всё
my ($key, $value) = lc($args) =~ /([\s\S]+?) ([\-\d\.]+[\s\S]*)/;
Код: Выделить всё
sub cleanup {
message "cleaning up\n";
undef $args;
undef $key;
undef $value;
undef @lines;
undef $what;
undef $is;
undef @new;
}
Код: Выделить всё
my ($key, $value) = split(' ', $args, 2);
Код: Выделить всё
my ($key, $value) = lc($args) =~ /([\s\S]+?) ([\-\d\.]+[\s\S]*)/;
Попробуй вывести в консоль значения $key и $value, увидиш где собака зарылась.4epT писал(а):заменил на:теперь, когда вводишь mconf all, плагин не видит all, т.к. видино нету цифр, есть идеи как подправить?Код: Выделить всё
my ($key, $value) = lc($args) =~ /([\s\S]+?) ([\-\d\.]+[\s\S]*)/;
Код: Выделить всё
my ($key, $value) = $args =~ /([\s\S]+?) ([\-\d\.]+[\s\S]*)/;
message "key: $key, value: $value \n";
тогда key читается, а записывать цифры в value отказывается (если они есть)([\s\S]+?) ([\-\d\.]+[\s\S]*)?
Код: Выделить всё
my ($key, $value) = $args =~ /([\s\S]+?) ([\-\d\.]+[\s\S]*)/;
$key=$args if !$key;
message "key: $key, value: $value \n";
- Видишь пробел?пытался добавить, чтобы цифры "повторялись 0 или 1 раз":
([\s\S]+?) ([\-\d\.]+[\s\S]*)?
Код: Выделить всё
([\s\S]+?)\тутапробел([\-\d\.]+[\s\S]*)?
Код: Выделить всё
($key, undef, $value) = lc($line) =~ /([\s\S]+?)(?:\s|(\z))(?(2)|([\-\d\.]+[\s\S]*))/;
Код: Выделить всё
my ($key, $value) = $args =~ /([\s\S]+?) ([\-\d\.]+[\s\S]*)/;
[b]$key = $args if !$key;[/b]
Код: Выделить всё
sub fi {
my (undef, $mob) = @_;
my ($id,$name) = undef;
my $found = 0;
while (($id,$name) = each %monsters_lut) {
last if ($found = (lc($name) eq lc($mob)));
}
if ($found) {
message "Name: $name ID: $id\n";
$name = undef;
}
else { message "Monster '$mob' is no found"}
}