Пьяная походка - Drunked walking / вычисление точки встречи
Добавлено: Вт май 15, 2007 5:19 pm
Route.pm
route_randomWalk_drinked 1
route_randomWalk_how_much_drinked 3
рекомендуемые значения route_randomWalk_how_much_drinked 2 или 3
PS: В идеале "$stepsleft > 1", но сильно увеличивается пляска вокруг моба, поэтому рекомендую 2 или 3.
PPS: Можно конечно попробовать "$stepsleft > 1" заменить на условие "если в аи нет атаки"
Эти строчки добавить в конфиг:$self->{new_x} = $self->{solution}[$self->{index}]{x};
$self->{new_y} = $self->{solution}[$self->{index}]{y};
###############################################################
# Drinked walking
# by Click and kLabMouse
###############################################################
# Config options:
# # Enable drinked randowm walking
# route_randomWalk_drinked 1
# # How much beers bot allready drinked
# route_randomWalk_how_much_drinked 3
###############################################################
if (($config{route_randomWalk_drinked})&&($stepsleft > 2)&&(!AI::inQueue("ai_follow","ai_partyfollow","ai_items_take","ai_skillUse","ai_skillUse2","attack","gather","sit","stand","take"))) {
my $pjanostj = $config{route_randomWalk_how_much_drinked};
my @rectBlock = calcRectArea2($self->{new_x}, $self->{new_y}, $pjanostj, 0);
my $blockCount = scalar(@rectBlock);
my $loopCount = 0;
my $new_pos;
do {
$new_pos = $rectBlock[int(rand($blockCount))];
$loopCount++;
} while ((!$field->isWalkable($new_pos->{x}, $new_pos->{y})
|| !checkLineWalkable($pos, $new_pos))
&& ($blockCount > $loopCount));
$self->{new_x} = $new_pos->{x};
$self->{new_y} = $new_pos->{y};
}
###############################################################
# Drinked walking end
###############################################################
# But first, check whether the distance of the next point isn't abnormally large.
# If it is, then we've moved to an unexpected place. This could be caused by auto-attack,
# for example.
my %nextPos = (x => $self->{new_x}, y => $self->{new_y});
route_randomWalk_drinked 1
route_randomWalk_how_much_drinked 3
рекомендуемые значения route_randomWalk_how_much_drinked 2 или 3
PS: В идеале "$stepsleft > 1", но сильно увеличивается пляска вокруг моба, поэтому рекомендую 2 или 3.
PPS: Можно конечно попробовать "$stepsleft > 1" заменить на условие "если в аи нет атаки"