TeleportAutoUnsafe

Дополнения к OpenKore, расширяющиее её функциональность, называются плагинами.

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

Аватара пользователя
4epT
macro-маньячина
Сообщения: 2795
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

TeleportAutoUnsafe

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

vit 07.11.2008, 22:38
Написал плагин.

Идея:
Имитация игрока, желающего выжать максимум опыта за время игры. Ни о какой защите от игрока телепортом, пока он нас не увидел, речи не идёт.

Как работает:
- Если бот атакует моба, и в зоне видимости появляется игрок, то бот добивает моба, топает к луту, подбирает его и телепортируемся.
- Если бот идёт к луту, и в зоне видимости появляется игрок, то мы подходим к луту, подбираем его и телепортируемся.
- Если бот просто ходит(или идёт к мобу чтобы его атаковать) и кто-то появляется в зоне видимости, мы телепортируемся.

Применение:

На хай рейт серверах часто если в зоне видимости появляется кто-то, то мы телепортируемся, чтобы найти место где больше мобов (так мы стараемся побыстрей прокачаться). Бот будет имитировать такого игрока.

В конфиге:

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

teleportAuto_allPlayers 0
teleportAuto_allPlayers_unsafe 1

#И на всякий случай:
itemsGatherAuto 0
plugins\TeleportAutoUnsafe.pl:

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

# Unsafe teleportAuto_allPlayers
# © _vit
# 7.11.2008
# Version 0.01

package TeleportAutoUnsafe;

use strict;
use Plugins;
use Utils;
use Globals;
use Log qw(message);
use Time::HiRes qw(usleep);

Plugins::register('TeleportAutoUnsafe', 'Unsafe teleportAuto_allPlayers', \&unload);
my $hook = Plugins::addHook('AI_pre', \&teleport);

sub unload {
Plugins::delHook('AI_pre', $hook);
}

sub teleport {
my $map_name_lu = $field{name}.'.rsw';

if (!$cities_lut{$map_name_lu} && !AI::inQueue("storageAuto", "buyAuto", "items_take") && !AI::is("attack") && $config{teleportAuto_allPlayers_unsafe}
&& ($config{'lockMap'} eq "" || $field{name} eq $config{'lockMap'})
&& Utils::DataStructures::binSize(\@playersID) && timeOut($AI::Temp::Teleport_allPlayers, 0.75)) {

my $ok;
if ($config{teleportAuto_allPlayers_unsafe} >= 2) {
if (!isSafe()) {
$ok = 1;
}
} else {
foreach my Actor::Player $player (@{$playersList->getItems()}) {
if (!existsInList($config{teleportAuto_notPlayers}, $player->{name}) && !existsInList($config{teleportAuto_notPlayers}, $player->{nameID})) {
$ok = 1;
last;
}
}
}

if ($ok) {
message ("Teleporting to avoid all players\n");
usleep(500000);
Misc::useTeleport(1);
$ai_v{temp}{clear_aiQueue} = 1;
$AI::Temp::Teleport_allPlayers = time;
}

}
}

return 1;
Вложения
TeleportAutoUnsafe.rar
телепорт, чтобы найти место где больше мобов
(673 байт) 195 скачиваний
6o6uK
Энтузиаст
Сообщения: 107
Зарегистрирован: Пн фев 02, 2009 2:42 pm
Сервер RO:: Laggame
Откуда: Украина

Re: TeleportAutoUnsafe

Сообщение 6o6uK »

спасибо, ща поюзаю
Изображение
Изображение
Ответить