[решено]Зависание при отсутствии уха/скила autosell/autobuy

BugTraq: обнаруженные ошибки и обсуждение их устранения.

Модератор: 4epT

Аватара пользователя
[GM]#05
Профессионал
Сообщения: 593
Зарегистрирован: Пт фев 09, 2007 8:44 pm
Сервер RO:: rRO

[решено]Зависание при отсутствии уха/скила autosell/autobuy

Сообщение [GM]#05 »

Когда-то писал viewtopic.php?p=62897#p62897

Иногда бот раз 5 пишет, что нету уха или скилла и идет пешком покуапть/продавать.
Но иногда тупо повисет и консоль усыпается бесконечными записями об отсутствии уха или телепорта.

Вот исправление:

src/AI/CoreLogic.pm

Блок ###AUTO-SELL###
Ищем

Код: Выделить всё

			if ($args->{'warpedToSave'} && !$args->{'mapChanged'}) {
				undef $args->{'warpedToSave'};
			}

			if ($config{'saveMap'} ne "" && $config{'saveMap_warpToBuyOrSell'} && !$args->{'warpedToSave'}
			&& !$cities_lut{$field{'name'}.'.rsw'} && $config{'saveMap'} ne $field{name}) {
				$args->{'warpedToSave'} = 1;
				message T("Teleporting to auto-sell\n"), "teleport";
				useTeleport(2);
				$timeout{'ai_sellAuto'}{'time'} = time;
Меняем на

Код: Выделить всё

			if ($args->{'warpedToSave'} && !$args->{'mapChanged'} && !timeOut($args->{warpStart}, 8)) {
				undef $args->{'warpedToSave'};
			}

			if ($config{'saveMap'} ne "" && $config{'saveMap_warpToBuyOrSell'} && !$args->{'warpedToSave'}
			&& !$cities_lut{$field{'name'}.'.rsw'} && $config{'saveMap'} ne $field{name}) {
				$args->{'warpedToSave'} = 1;
				# If we still haven't warped after a certain amount of time, fallback to walking
				$args->{warpStart} = time unless $args->{warpStart};
				message T("Teleporting to auto-sell\n"), "teleport";
				useTeleport(2);
				$timeout{'ai_sellAuto'}{'time'} = time;
Блок ###AUTO-BUY###
Ищем

Код: Выделить всё

			if ($args->{warpedToSave} && !$args->{mapChanged}) {
				undef $args->{warpedToSave};
			}

			if ($config{'saveMap'} ne "" && $config{'saveMap_warpToBuyOrSell'} && !$args->{warpedToSave}
			&& !$cities_lut{$field{'name'}.'.rsw'} && $config{'saveMap'} ne $field{name}) {
				$args->{warpedToSave} = 1;
				if ($needitem ne "") {
					$msgneeditem = "Auto-buy: $needitem\n";
				}
 				message T($msgneeditem."Teleporting to auto-buy\n"), "teleport";
				useTeleport(2);
				$timeout{ai_buyAuto_wait}{time} = time;
Заменяем на

Код: Выделить всё

			if ($args->{warpedToSave} && !$args->{mapChanged} && !timeOut($args->{warpStart}, 8)) {
				undef $args->{warpedToSave};
			}

			if ($config{'saveMap'} ne "" && $config{'saveMap_warpToBuyOrSell'} && !$args->{warpedToSave}
			&& !$cities_lut{$field{'name'}.'.rsw'} && $config{'saveMap'} ne $field{name}) {
				$args->{warpedToSave} = 1;
				if ($needitem ne "") {
					$msgneeditem = "Auto-buy: $needitem\n";
				}
				# If we still haven't warped after a certain amount of time, fallback to walking
				$args->{warpStart} = time unless $args->{warpStart};
 				message T($msgneeditem."Teleporting to auto-buy\n"), "teleport";
				useTeleport(2);
				$timeout{ai_buyAuto_wait}{time} = time;
Блок ###AUTO-STORAGE### работает правильно, собственно из него взято решение.

Теперь бот 4 раза скажет, что нет уха или скила и пойдет пешком. Проверено, работает.
Последний раз редактировалось [GM]#05 Пт дек 12, 2008 7:16 pm, всего редактировалось 2 раза.
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Re: Проверка наличия уха или телепорта при autosell/autobuy...

Сообщение 4epT »

Перенёс в ошибки
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Re: Проверка наличия уха или телепорта при autosell/autobuy...

Сообщение Click »

а если я не хочу идти пешком, то я даже в консоле не увижу надпись о том что у меня нет уха, и не смогу на это событие запустить макрос?
Аватара пользователя
[GM]#05
Профессионал
Сообщения: 593
Зарегистрирован: Пт фев 09, 2007 8:44 pm
Сервер RO:: rRO

Re: [решено]Зависание при отсутствии уха/скила autosell/autobuy

Сообщение [GM]#05 »

Обновил первый пост, решено.
Аватара пользователя
Jozo
Энтузиаст
Сообщения: 109
Зарегистрирован: Вс окт 26, 2008 6:20 pm
Сервер RO:: CoolRo
Контактная информация:

Re: [решено]Зависание при отсутствии уха/скила autosell/autobuy

Сообщение Jozo »

млин а я эту дребеднь макросом решал мучался жесть) :good:
Ответить