Макросом пересоздавать чара нельзя!
Для этого нужно использовать плагин!
Он уже был выложен сто раз в этой теме. Как вариант нужно почитать ее сначала до конца... Или.. воспользоваться моей небольшой модификацией:
Код: Выделить всё
#Плагин к Openkore для пересоздания новиса
package char_recreate;
use strict;
use Utils;
use Plugins;
use Globals;
use Log qw(message warning error debug);
use Misc;
use Network;
use Network::Send;
Plugins::register('char_recreate', 'Char Recreate Bot', \&onUnload);
my $hooks = Plugins::addHooks(['charSelectScreen', \&delChar, undef]);
sub onUnload {
Plugins::delHooks($hooks);
}
sub delChar {
my (undef, $args) = @_;
Plugins::delHooks($hooks);
$hooks = Plugins::addHooks(['charSelectScreen', \&createChar, undef]);
# Удаляем чара в 0-ом слоте
sendCharDelete($net,$chars[0]{ID}, $config{email});
$timeout{'charlogin'}{'time'} = time;
$args->{return} = 2;
}
sub createChar {
my (undef, $args) = @_;
Plugins::delHooks($hooks);
$hooks = Plugins::addHooks(['charSelectScreen', \&loginChar, undef]);
# Создаём чара в 0ом слоте со случайным именем и случайным цветом волос.
sendCharCreate($net,$chars[0], vocalString(int(3)+5), 5, 5, 5, 5, 5, 5, 5, int(rand(15))+5);
$timeout{'charlogin'}{'time'} = time;
$args->{return} = 2;
}
sub loginChar {
my (undef, $args) = @_;
#Логинимся чаром в 0ом слоте
sendCharLogin($net,$chars[0]);
$timeout{'charlogin'}{'time'} = time;
$args->{return} = 1;
Plugins::delHooks($hooks);
$hooks = Plugins::addHooks(['charSelectScreen', \&delChar, undef]);
}
Код: Выделить всё
username логин
password пароль
char 0
email почта
Все! Теперь при кажом релогине персонаж будет пересоздаваться!
ПС
Тут используется рандомное имя чара и цвет волос. Весьма полезно на мой взгляд!