и тут в 00:43 на тебе

как раз 3 года и 2 месяца
Модератор: 4epT
Код: Выделить всё
# Anti-Bot plugin for ClassicRO server.
# This plugin is licensed under the GNU GPL.
# (C) 2013 Kissa2k
# https://ro-fan.ru/viewtopic.php?f=4&t=9755
package classicro;
use strict;
use Plugins;
use Globals;
use Log qw(message warning error);
use I18N qw(bytesToString stringToUTF8);
Plugins::register('classicro', 'Anti-Bot plugin for ClassicRO.', \&onUnload, \&onUnload);
my $hooks = (
Plugins::addHooks(
['packet/npc_talk', \&onNPCTalk, undef]
)
);
sub onUnload {
Plugins::delHooks($hooks);
}
my $color;
sub onNPCTalk {
my (undef, $args) = @_;
my $msg = unpack("Z*", substr($args->{RAW_MSG}, 8));
my $msg = I18N::stringToUTF8(I18N::bytesToString($msg));
if($msg =~ /\^(\w{6})(.*)\^000000 цветом:/){
$color = $1;
}elsif($msg =~ /\^(\w{6})(\d+)\^000000/){
if($1 eq $color){
sleep(3);
Commands::run("talk num $2");
}
}
}
1;
Код: Выделить всё
Commands::run("talk num $answer");
Так это тоже самое.4epT писал(а):и что-то мне подсказывает, что лучше ответ отправлять как-то так:а то мало ли структура пакетов измениться..Код: Выделить всё
Commands::run("talk num $answer");
Код: Выделить всё
message "Отправляем ответ: $2\n";
Commands::run("talk num $2");