RagBot Forum
 

Вернуться   RagBot Forum > • Всё что касается бота • > Вопросы по Боту

Вопросы по Боту ПРОСЬБА НЕ СОЗДАВАТЬ ТЕМЫ ТИПО "ХЕЕЕЕЛЛЛППП, ППЛЛИИZZZ"

Ответ
 
Опции темы Опции просмотра
Старый 28.03.2007, 04:40   #1
vitt
Продвинутый
 
Регистрация: 26.02.2007
Сообщений: 300
Вы сказали Спасибо: 0
Поблагодарили 23 раз(а) в 14 сообщениях
Вопрос Как задать рандомное время(timeouts.txt)••••••

Как задать рандомное время в файле timeouts.txt, например время перезахода(reconnecting time) не 30 секунд, а, например, 10 - 30 секунд?

Буду очень благодарен.
vitt вне форума   Ответить с цитированием
Старый 28.03.2007, 12:34   #2
Gans
Злостный ROFANовец
 
Аватар для Gans
 
Регистрация: 30.11.2006
Сообщений: 532
Вы сказали Спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
Плохо

Неплохая идея...

Проблема в том, что пока Kore не залогинилась на map-сервер, у нее отключена вся игровая логика (ai), и поэтому макросы не работают.
Следовательно, надо ковырять исходники.

Смотрим, какое сообщени выводится на экран при релогине: "Relogging in 30 seconds...", ищем по исходникам "Relogging in".
Вот оно, в misc.pm:

Код:
sub relog {
	my $timeout = (shift || 5);
	my $silent = shift;
	$net->setState(1);
	undef $conState_tries;
	$timeout_ex{'master'}{'time'} = time;
	$timeout_ex{'master'}{'timeout'} = $timeout;
	$net->serverDisconnect();
	message TF("Relogging in %d seconds...\n", $timeout), "connection" unless $silent;
}
Можно было бы просто дописать туда еще дополнительный случайный период времени, но это кривизна.
Поэтому, ищем места, где вызывается эта функция, т.е., строки, содержащие "relog(".
Я нашел что-то похожее в Receive.pm:

Код:
		my $master = $masterServer;
		error TF("Connect failed, something is wrong with the login settings:\n" .
			"version: %s\n" .
			"master_version: %s\n" .
			"serverType: %s\n", $master->{version}, $master->{master_version}, $config{serverType}), "connection";
		relog(30);
Вот оно: relog(30); окей, просто добавим туда случайность: relog(30+rand(20)).

Таким образом мы получим перелогинивалие со случайным интервалом через время от (30) до (30 + 20 сек).

ЗЫ: Насчет "очень благодарен" - кошелек WMR у миня в профиле. ^____^
__________________

Последний раз редактировалось Gans; 28.03.2007 в 12:42.
Gans вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
бот включается в опред время timpson Вопросы по Боту 2 13.04.2009 23:47
Как узнать системное время в макросе? Polkovnik Макросы и Плагины 2 31.03.2008 13:51
возможно ли задать•••••• Mmonit Вопросы по Боту 3 22.01.2007 22:46


Текущее время: 15:20. Часовой пояс GMT +3.