kkim
19.03.2011, 02:13
Я ни в misc.pl ни в utils.pl не нашел описания функции timeOut.
Что она делает(я так понимаю возвращает faulse пока не прошло N секунд, где N - какой-то из аргументов)?
Почему в конце обычно используется такая хрень:
$timeout{ai_teleport_retry}{time} = time;
Можно обьяснить на примере такого куска?
if (!$timeout{ai_teleport_delay}{time} && timeOut($timeout
{ai_teleport_retry}))
{
# тут что-нибудь поделать
$timeout{ai_teleport_retry}{time} = time;
}
Например в конце processItemsAutoGather стоит
$timeout{ai_items_gather_auto}{time} = time;
Но даже если выставить 20 секунд в timeouts.txt по этому ключу ничего не меняется. clientSuspend же нормально все тормозит.
Еще вопрос. В том же processItemsAutoGather() лут в @itemsID лежит в случайном порядке и соответственно абы как из этого массива извлекается.В каком-нибудь оркданже бот берет 1 лутину потом чешет за 5 клеток ко второй и снова возвращается собирать барахло на старое место. Как отсортировать этот массив по дистанции как например в getBestTarget() для processAutoAttack()?
Perl-а не знаю тупо по аналогии вляпал такую хрень:
@sorted = sort{ round(distance($myPos,calcPosition($a))) cmp round(distance($myPos,calcPosition($a)))} @itemsID;
Естественно она не работает.Как сделать такую штуку?
Что она делает(я так понимаю возвращает faulse пока не прошло N секунд, где N - какой-то из аргументов)?
Почему в конце обычно используется такая хрень:
$timeout{ai_teleport_retry}{time} = time;
Можно обьяснить на примере такого куска?
if (!$timeout{ai_teleport_delay}{time} && timeOut($timeout
{ai_teleport_retry}))
{
# тут что-нибудь поделать
$timeout{ai_teleport_retry}{time} = time;
}
Например в конце processItemsAutoGather стоит
$timeout{ai_items_gather_auto}{time} = time;
Но даже если выставить 20 секунд в timeouts.txt по этому ключу ничего не меняется. clientSuspend же нормально все тормозит.
Еще вопрос. В том же processItemsAutoGather() лут в @itemsID лежит в случайном порядке и соответственно абы как из этого массива извлекается.В каком-нибудь оркданже бот берет 1 лутину потом чешет за 5 клеток ко второй и снова возвращается собирать барахло на старое место. Как отсортировать этот массив по дистанции как например в getBestTarget() для processAutoAttack()?
Perl-а не знаю тупо по аналогии вляпал такую хрень:
@sorted = sort{ round(distance($myPos,calcPosition($a))) cmp round(distance($myPos,calcPosition($a)))} @itemsID;
Естественно она не работает.Как сделать такую штуку?