TL2Control = class(TObject)

Класс контроллеров персонажей/ботов

Перемещение

Название Результат Описание Код Параметры Примеры
MoveTo Boolean Передвинуться к точке / объекту
function MoveTo(X, Y, Z: integer; Timeout: integer = 8000): boolean;
function MoveTo(Obj: TL2Spawn; Delta: integer): boolean;

X, Y, Z - координаты точки
Timeout - время ожидания при проблемах в движении (по умолчанию - 8сек)
Obj - объект

Delta - смещение вперед/назад

Для просмотра примера необходимо зарегистрироваться
  • Найденные примеры для этого метода:
DMoveTo Boolean Передвинуться к точке. Без ожидания окончания передвижения и ответа от сервера.
function DMoveTo(X, Y, Z: integer): boolean;

X, Y, Z - координаты точки

Для просмотра примера необходимо зарегистрироваться
MoveToTarget Boolean Передвинуться к цели
function MoveToTarget(Delta: integer = -100): Boolean;

Delta - смещение вперед/назад (по умолчанию - за 100 до цели)

Для просмотра примера необходимо зарегистрироваться
Unstuck Boolean Использовать возврат в город (/unstuck)
function Unstuck: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GoHome Boolean Воскреснуть (в город / в холл клана / ...)
function GoHome(ResType: TRestartType = rtTown): boolean;

ResType - метод воскрешения. Методы воскрешения.

Для просмотра примера необходимо зарегистрироваться
Teleport Boolean Телепортироваться в локацию. Для новых хроник игры.
function Teleport(ID: cardinal): boolean;

ID - идентификатор локации. Идентификаторы локаций.

Для просмотра примера необходимо зарегистрироваться
FindPath Boolean Сгенерировать маршрут между двумя точками с учетом зон карты бота
function FindPath(StartX, StartY, EndX, EndY: integer; PathList: TList): boolean;

StartX, StartY - координаты начальной точки
EndX, EndY - координаты конечной точки
PathList - список, в который будет записан маршрут

Для просмотра примера необходимо зарегистрироваться

Действия

Название Результат Описание Код Параметры Примеры
UseAction Boolean Использовать действие
function UseAction(ID: cardinal; Force: boolean = false; Shift: boolean = false): boolean;

ID - идентификатор действия. Идентификаторы действий.
Force - использовать ли принудительно (через Ctrl) (по умолчанию - нет)

Shift - использовать ли через Shift (по умолчанию - нет)

Для просмотра примера необходимо зарегистрироваться
Attack Boolean Атаковать цель
function Attack(PauseTime: сardinal = 2000; Force: boolean = false): boolean;

PauseTime - задержка после атаки (в мс, 1сек = 1000мс) (по умолчанию - 2сек)
Force - атаковать ли принудильно (через Ctrl) (по умолчанию - нет)

Для просмотра примера необходимо зарегистрироваться
Pickup Boolean Подобрать дроп/предмет, лежащий на земле
function PickUp(Item: TL2Drop; ByPet: boolean = false): boolean;

Item - дроп/предмет, лежащий на земле

ByPet - подобрать ли питомцем (по умолчанию - нет)

Для просмотра примера необходимо зарегистрироваться
Pickup Integer Активировать автоматическое поднятие дропа/предметов, лежащих на земле
function Pickup(Range: cardinal = 250; ZLimit: cardinal = 150; OnlyOwn: boolean = false; ByPet: boolean = false): integer;

Range - максимальная дистанция поднятия (по умолчанию - 250)

ZLimit - ограничение по разнице в координате Z (по умолчанию - 150)

OnlyOwn - поднимать ли только дроп/предметы, принадлежащие пользователю/группе (по умолчанию - нет)

ByPet - поднимать ли питомцем (по умолчанию - нет)

Для просмотра примера необходимо зарегистрироваться
Stand Boolean Встать
function Stand: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
Sit Boolean Сесть
function Sit: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться

Нацеливание / поиск цели

Название Результат Описание Код Параметры Примеры
SetTarget Boolean Нацелиться на объект
function SetTarget(Name: string): boolean;
function SetTarget(ID: cardinal): boolean;
function SetTarget(Obj: TL2Live): boolean;

Name - имя объекта
ID - идентификатор объекта
Obj - объект

Для просмотра примера необходимо зарегистрироваться
Action Boolean Нацелиться на объект. Без ожидания ответа от сервера.
function Action(OID: cardinal; Force: boolean): boolean;

OID - уникальный идентификатор объекта

Force - нацеливаться ли принудительно (через Ctrl)

Для просмотра примера необходимо зарегистрироваться
CancelTarget Boolean Сбросить цель
function CancelTarget: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
Assist Boolean Нацелиться на цель другого объекта
function Assist(Name: string): boolean;

Name - имя объекта

Для просмотра примера необходимо зарегистрироваться
FindEnemy Boolean Найти атакующего врага для объекта
function FindEnemy(var Enemy: TL2Live; Obj: TL2Live; Range: cardinal = 2000; ZLimit: cardinal = 300): boolean;

var Enemy - переменная, в которую будет записан враг
Obj - объект, для которого ведется поиск врага
Range - максимальная дистанция поиска (по умолчанию - 2000)
ZLimit - ограничение по разнице в координате Z (по умолчанию - 300)

Для просмотра примера необходимо зарегистрироваться
AutoTarget Boolean Активировать автоматический поиск целей
function AutoTarget(Range: cardinal = 2000; ZLimit: cardinal = 300; NotBusy: boolean = true): boolean;

Range - максимальная дистанция (по умолчанию - 2000)
ZLimit - ограничение по разнице в координате Z (по умолчанию - 300)
NotBusy - искать ли только свободные и находящиеся в зоне цели (по умолчанию - да)

Для просмотра примера необходимо зарегистрироваться
Ignore - Добавить объект в список игнорируемых ботом. Методы AutoTarget и Pickup также пропускают такие объекты.
procedure Ignore(Obj: TL2Spawn);

Obj - объект

Для просмотра примера необходимо зарегистрироваться
ClearIgnore - Очистить список игнорируемых ботом объектов
procedure ClearIgnore;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
IsBusy Boolean Атакуется ли уже НПЦ другим игроком
function IsBusy(Npc: TL2Npc): boolean;

Npc - НПЦ

Для просмотра примера необходимо зарегистрироваться

Умения

Название Результат Описание Код Параметры Примеры
UseSkill Boolean Использовать умение
function UseSkill(Name: string; Force: boolean = false; Shift: boolean = false): boolean;
function UseSkill(ID: cardinal; Force: boolean = false; Shift: boolean = false): boolean;

Name - название умения
ID - идентификатор умения
Force - использовать ли принудительно (через Сtrl) (по умолчанию - нет)

Shift - использовать ли через Shift (по умолчанию - нет)

Для просмотра примера необходимо зарегистрироваться
DUseSkill Boolean Использовать умение. Без ожидания окончания использования умения и ответа от сервера.
function DUseSkill(ID: cardinal; Force, Shift: boolean): boolean;

ID - идентификатор умения
Force - использовать ли принудительно (через Сtrl)

Shift - использовать ли через Shift

Для просмотра примера необходимо зарегистрироваться
UseSkillGround Boolean Использовать умение на площадь
function UseSkillGround(ID: cardinal; X, Y, Z: integer; Force: boolean = false; Shift: boolean = false): boolean;

ID - идентификатор умения

X, Y, Z - координаты точки применения
Force - использовать ли принудительно (через Сtrl) (по умолчанию - нет)

Shift - использовать ли через Shift (по умолчанию - нет)

Для просмотра примера необходимо зарегистрироваться
StopCasting Boolean Прервать использование умения
function StopCasting: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
Dispel Boolean Отменить бафф
function Dispel(Name: string): boolean;
function Dispel(ID: cardinal): boolean;

Name - название баффа

ID - идентификатор баффа

Для просмотра примера необходимо зарегистрироваться
LearnSkill Boolean Изучить умение
function LearnSkill(ID: cardinal): boolean;

ID - идентификатор умения

Для просмотра примера необходимо зарегистрироваться
UpdateSkillList Boolean Обновить список умений
function UpdateSkillList: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться

Предметы

Название Результат Описание Код Параметры Примеры
UseItem Boolean Использовать предмет
function UseItem(Name: string; ByPet: boolean = false; Force: boolean = false): boolean;
function UseItem(ID: cardinal; ByPet: boolean = false; Force: boolean = false): boolean;
function UseItem(Obj: TL2Item; ByPet: boolean = false; Force: boolean = false): boolean;

Name - название предмета
ID - идентификатор предмета
Obj - предмет
ByPet - использовать ли питомцем (по умолчанию - нет)

Force - использовать ли принудительно (через Ctrl) (по умолчанию - нет)

Для просмотра примера необходимо зарегистрироваться
UseItemOID Boolean Использовать предмет по его уникальному идентификатору
function UseItemOID(OID: cardinal; ByPet: boolean; Force: boolean): boolean;

OID - уникальный идентификатор предмета
ByPet - использовать ли питомцем
Force - использовать ли принудительно (через Ctrl)

Для просмотра примера необходимо зарегистрироваться
DestroyItem Boolean Удалить предмет
function DestroyItem(Name: string; Count: cardinal): boolean;
function DestroyItem(ID: integer; Count: cardinal): boolean;
function DestroyItem(Item: TL2Item; Count: cardinal): boolean;

Name - название предета
ID - идентификатор предета

Item - предмет
Count - количество предмета

Для просмотра примера необходимо зарегистрироваться
DropItem Boolean Выбросить предмет на землю
function DropItem(ID, Count: cardinal; X, Y, Z: integer): boolean;

ID - идентификатор предмета
Count - количество предмета
X, Y, Z - координаты

Для просмотра примера необходимо зарегистрироваться
MakeItem Boolean Создать/скрафтить предмет
function MakeItem(Index: сardinal): boolean;

Index - порядковый номер в списке крафта (начиная с 0)

Для просмотра примера необходимо зарегистрироваться
CrystalItem Boolean Кристаллизовать предмет
function CrystalItem(ID: сardinal): boolean;
function CrystalItem(Item: TL2Item): boolean;

ID - идентификатор предмета

Item - предмет

Для просмотра примера необходимо зарегистрироваться
  • Найденные примеры для этого метода:
MoveItem Boolean Передать предмет между пользователем и питомцем
function MoveItem(Name: string; Count: cardinal; ToPet: boolean): boolean;

Name - название предмета
Count - количество предмета
ToPet - отдать питомцу(true) или забрать(false)

Для просмотра примера необходимо зарегистрироваться
LoadItems Boolean Передать предметы между пользователем и складом
function LoadItems(ToWH: boolean; List: array of cardinal): boolean;

ToWH - положить(true) или забрать(false)
List - список идентификаторов предметов и их количества - [Item1, ItemCount1, ItemID2, ItemCount2, ...]

Для просмотра примера необходимо зарегистрироваться
AutoSoulShot Boolean Активировать/деактивировать автоматическое использование зарядов
function AutoSoulShot(Name: string; Active: boolean): boolean;

Name - название зарядов
Active - активировать(true) ли использование или деактивировать(false)

Для просмотра примера необходимо зарегистрироваться
Equipped Integer Получить количество надетых предметов
function Equipped(Name: string): integer;

Name - название предмета

Для просмотра примера необходимо зарегистрироваться

Помощники (питомцы / слуги / саммоны)

Название Результат Описание Код Параметры Примеры
DismissPet Boolean Отозвать питомца
function DismissPet: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
DismissSum Boolean Отозвать слугу / саммона
function DismissSum: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться

Социальное (чат, группа/пати, клан, наставник)

Название Результат Описание Код Параметры Примеры
Say Boolean Написать сообщение в игровой чат
function Say(Text: string; ChatType: cardinal = 0; PlayerName: string = ''): boolean;

Text - текст сообщения
ChatType - тип чата (0 - общий, 1 - крик, 2 - приватный, 3 - групповой/партийный, 4 - клановый, 8 - торговый, 9 - альянса, 10 - объявления, 17 - геройский, 20 - командный канал, 25 - мировой) (по умолчанию - общий)
PlayerName - имя игрока (для приватного чата) (по умолачнию - отсутствует)

Для просмотра примера необходимо зарегистрироваться
InviteParty Boolean Пригласить игрока в группу/пати
function InviteParty(Name: string; LootMode: TLootType = ldLooter): boolean;

Name - имя игрока
LootMode - тип распределения дропа/предметов (по умолчанию - нашедшему). Типы распределения дропа/предметов.

Для просмотра примера необходимо зарегистрироваться
DismissParty Boolean Исключить игрока из группы/пати
function DismissParty(Name: string): boolean;

Name - имя игрока

Для просмотра примера необходимо зарегистрироваться
JoinParty Boolean Ответить на приглашение в группу/пати
function JoinParty(Accept: boolean): boolean;

Accept - принять(true) ли приглашение или отклонить(false)

Для просмотра примера необходимо зарегистрироваться
LeaveParty Boolean Выйти из группы
function LeaveParty: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
SetPartyLeader Boolean Передать лидерство группы/пати
function SetPartyLeader(Name: string): boolean;

Name - имя игрока

Для просмотра примера необходимо зарегистрироваться
GetMentor String Имя наставника
function GetMentor: string;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
KickMentor Boolean Покинуть наставника
function KickMentor: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
CloseRoom Boolean Закрыть комнату группы/пати
function CloseRoom: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
CreateRoom Boolean Создать комнату группы/пати
function CreateRoom(Caption: string; MinLevel, MaxLevel: integer): boolean;

Caption - заголовок комнаты
MinLevel, MaxLevel - минимальный и максимальный уровень игроков для комнаты

Для просмотра примера необходимо зарегистрироваться
AutoAcceptClan - Активировать автоматическое вступление в клан
procedure AutoAcceptClan(PlayersList: string);

PlayersList - список имен игроков, от которых необходимо принимать приглашения - 'Vasya;Petya;Kolya;Egor'. Если введено '*', пользователь будет принимать приглашение ото всех игроков.

Для просмотра примера необходимо зарегистрироваться
AutoAcceptCC - Активировать автоматическое вступление в командный канал
procedure AutoAcceptCC(PlayersList: string);

PlayersList - список имен игроков, от которых необходимо принимать приглашения - 'Vasya;Petya;Kolya;Egor'. Если введено '*', пользователь будет принимать приглашение ото всех игроков.

Для просмотра примера необходимо зарегистрироваться
AutoAcceptMentors - Активировать автоматическое соглашение на наставничество
procedure AutoAcceptMentors(PlayersList: string);

PlayersList - список имен игроков, от которых необходимо принимать приглашения - 'Vasya;Petya;Kolya;Egor'. Если введено '*', пользователь будет принимать приглашение ото всех игроков.

Для просмотра примера необходимо зарегистрироваться

Квесты

Название Результат Описание Код Параметры Примеры
QuestStatus Boolean Проверить завершенность этапа квеста
function QuestStatus(ID: сardinal; Step: integer): boolean;

ID - идентификатор квеста
Step - этап квеста

Для просмотра примера необходимо зарегистрироваться
  • Найденные примеры для этого метода:
CancelQuest Boolean Отменить квест
function CancelQuest(ID: integer): boolean;

ID - идентификатор квеста

Для просмотра примера необходимо зарегистрироваться
OpenQuestion Boolean Открыть квестовый "знак вопроса"
function OpenQuestion: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GetDailyItems Boolean Получить ежедневную награду
function GetDailyItems: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GetDailyItem Boolean Получить одну из ежедневных наград
function GetDailyItem(ID: cardinal): boolean;

ID - идентификатор награды/предмета

Для просмотра примера необходимо зарегистрироваться
UpdateDailyList Boolean Обновить список ежедневных наград
function UpdateDailyList: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться

Диалоги

Название Результат Описание Код Параметры Примеры
DlgOpen Boolean Открыть диалог с целью(НПЦ)
function DlgOpen(Timeout: cardinal = 5000): boolean;

Timeout - время ожидания открытия диалога (в мс, 1сек = 1000мс) (по умолчанию - 5сек)

Для просмотра примера необходимо зарегистрироваться
DlgSel Boolean Выбрать строку обычного диалога
function DlgSel(Caption: string; Timeout: integer = 1000): boolean;
function DlgSel(Index: integer; Timeout: integer = 1000): boolean;

Caption - текст строки диалога
Index - порядковый номер строки диалога (начиная с 1)
Timeout - время ожидания ответа от сервера (в мс, 1сек = 1000мс) (по умолчанию - 1сек)

Для просмотра примера необходимо зарегистрироваться
BypassToServer Boolean Отправить команду/bypass на сервер
function BypassToServer(Text: string): boolean;

Text - текст команды/bypass

Для просмотра примера необходимо зарегистрироваться
  • Найденные примеры для этого метода:
DlgText String Текст обычного диалога
function DlgText: string;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
DlgTime Cardinal Момент времени(GetTickCount) появления последнего обычного диалога (в мс, 1сек = 1000мс)
function DlgTime: cardinal;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
CBText String Текст диалога Community Board / Alt+B
function CBText: string;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
CBTime Cardinal Момент времени(GetTickCount) появления последнего диалога Community Board / Alt+B (в мс, 1сек = 1000мс)
function CBTime: cardinal;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
HlpText String Текст диалога помощи
function HlpText: string;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
HlpTime Cardinal Момент времени(GetTickCount) появления последнего диалога помощи (в мс, 1сек = 1000мс)
function HlpTime: cardinal;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
ConfirmDlg TConfirmDlg Диалог с возможностью подтверждения
function ConfirmDlg: TConfirmDlg;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
ConfirmDialog Boolean Подтвердить/отклонить диалог
function ConfirmDialog(Accept: boolean): boolean;

Accept - подтвердить(true) или отклонить(false)

Для просмотра примера необходимо зарегистрироваться

Торговля

Название Результат Описание Код Параметры Примеры
OpenPrivateStore Boolean Открыть личную торговую лавку (покупка / продажа / крафт)
function OpenPrivateStore(List: array of cardinal; StoreType: byte; StoreCaption: string): boolean;

List - список идентификаторов предметов, их количества и цен - [Item1, ItemCount1, ItemPrice1, ItemID2, ItemCount2, ItemPrice2, ...]
StoreType - тип лавки. Типы лавок.
StoreCaption - надпись на лавке

Для просмотра примера необходимо зарегистрироваться
NpcTrade Boolean Купить / продать предметы у НПЦ
function NpcTrade(Sell: boolean; List: array of cardinal): boolean;

Sell - продажа(true) / покупка(false)
List - список идентификаторов предметов и их количества - [Item1, ItemCount1, ItemID2, ItemCount2, ...]

Для просмотра примера необходимо зарегистрироваться
NpcExchange Boolean Обменять предметы у НПЦ
function NpcExchange(IDorIndex, Count: cardinal; ByIndex: boolean = false): boolean;

IDorIndex - идентификатор / порядковый номер предмета
Count - количество предмета
ByIndex - использовать ли порядковый номер(true) предмета или идентификтор(false) (по умолчанию - идентификатор)

Для просмотра примера необходимо зарегистрироваться
CastleTax Integer Процент налога в городе
function CastleTax(TownID: cardinal): integer;

TownID - идентификатор города (1 - Глудио, 2 - Дион, 3 - Гиран, 4 - Орен, 5 - Аден, ...)

Для просмотра примера необходимо зарегистрироваться

Почта

Название Результат Описание Код Параметры Примеры
SendMail Boolean Отправить письмо
function SendMail(Receiver: string; Topic: string; Text: string; ItemsList: array of cardinal; Price: cardinal = 0): boolean;

Receiver - получатель письма
Topic - тема письма
Text - текст письма
ItemsList - список идентификаторов приложенных предметов и их количества - [Item1, ItemCount1, ItemID2, ItemCount2, ...]
Price - стоимость получения письма (по умолчанию - бесплатно)

Для просмотра примера необходимо зарегистрироваться
GetMailItems Boolean Получить письма
function GetMailItems(MaxLoad: cardinal = 65; MaxCount: cardinal = 1000): boolean;

MaxLoad - максимальная загрузка персонажа в процентах (по умолчанию - 65)
MaxCount - максимальное количество предметов (по умолчанию - 1000)

Для просмотра примера необходимо зарегистрироваться
ClearMail Boolean Очистить почту
function ClearMail: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться

Зона, время

Название Результат Описание Код Параметры Примеры
GetZoneType TZoneType Тип текущей игровой зоны
function GetZoneType: TZoneType;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GetZoneName String Получить название локации по координатам
function GetZoneName(X, Y, Z: integer): string;

X, Y, Z - координаты 

Для просмотра примера необходимо зарегистрироваться
GetZoneID Cardinal Получить идентификатор локации по координатам
function GetZoneID(X, Y, Z: integer): cardinal;

X, Y, Z - координаты

Для просмотра примера необходимо зарегистрироваться
InZone Boolean Находится ли объект/точка в зоне, настроенной на карте бота
function InZone(Obj: TL2Spawn): boolean;
function InZone(X, Y, Z: integer): boolean;

Obj - объект
X, Y, Z - координаты точки

Для просмотра примера необходимо зарегистрироваться
GameTime Cardinal Текущее игровое время (в мин)
function GameTime: сardinal;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
IsDay Boolean Дневное ли время в игре
function IsDay: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться

Аккаунт (статус / вход / выход)

Название Результат Описание Код Параметры Примеры
Status TL2Status Статус аккаунта
function Status: TL2Status;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
LoginStatus Integer Этап загрузки аккаунта (-1 - отключен, 0 - загрузка клиента / ввод логина и пароля, 1 - лицензионное соглашение / выбор сервера, 2 - выбор персонажа / в игре)
function LoginStatus: integer;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
AuthLogin Boolean Ввести логин и пароль аккаунта
function AuthLogin(Login, Password: string): boolean;

Login - логин аккаунта

Password - пароль аккаунта

Для просмотра примера необходимо зарегистрироваться
GameStart Boolean Выбрать персонажа на экране выбора персонажей
function GameStart(CharIndex: integer = -1): boolean;

CharIndex - порядковый номер персонажа (по умолчанию - выбор последнего активного персонажа)

Для просмотра примера необходимо зарегистрироваться
Restart Boolean Выйти на экран выбора персонажей
function Restart: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
  • Найденные примеры для этого метода:
DRestart boolean Выйти на экран выбора персонажей. Без ожидания ответа от сервера.
function DRestart: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться

Настройки бота

Название Результат Описание Код Параметры Примеры
FaceControl Boolean Активировать/деактивировать модуль настроек бота
function FaceControl(ID: integer; Active: boolean): boolean;

ID - идентификатор модуля (0 - все, 1 - атака, 2 - лечение, 3 - бафф, 4 - события)
Active - активировать ли модуль(true) или деактивировать(false)

Для просмотра примера необходимо зарегистрироваться
GetFaceState Boolean Состояние модуля настроек бота
function GetFaceState(ID: integer): boolean;

ID - идентификатор модуля (0 - все, 1 - атака, 2 - лечение, 3 - бафф, 4 - события)

Для просмотра примера необходимо зарегистрироваться
GetFaceSet Pointer Указатель на структуру/record c настройками бота
function GetFaceSet(ID: integer): pointer;

ID - идентификатор

Для просмотра примера необходимо зарегистрироваться
UpdateCfg Boolean Обновить (перечитать) настройки бота. Необходимо вызывать после использования GetFaceSet.
function UpdateCfg(Wait: boolean): boolean;

Wait - ожидать ли обновления настроек и загрузки аккаунта

Для просмотра примера необходимо зарегистрироваться
LoadConfig Boolean Загрузить настройки бота из файла
function LoadConfig(FilePath: string): boolean;

FilePath - полный путь до файла / название файла из папки Settings

Для просмотра примера необходимо зарегистрироваться
LoadZone Boolean Загрузить настройки зон карты бота из файла
function LoadZone(FilePath: string): boolean;

FilePath - полный путь до файла / название файла из папки Settings

Для просмотра примера необходимо зарегистрироваться
ClearZone - Очистить зоны на карте бота
procedure ClearZone;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
SetPerform Boolean Установить уровень производительности для игрового клиента в фоне ("игра в фоне")
function SetPerform(Level: cardinal): boolean;

Level - уровень (1-5, 1 - максимальная производительность, 5 - минимальная производительность) 

Для просмотра примера необходимо зарегистрироваться
SetMapKeepDist - Изменить дистанцию отступа от краев зон охоты / карты бота
procedure SetMapKeepDist(Dist: integer);

Dist - дистанция отсупа

Для просмотра примера необходимо зарегистрироваться

Игровой клиент, окно Adrenaline, игровой сервер

Название Результат Описание Код Параметры Примеры
Msg - Написать сообщение/лог в интерфейсе Adrenaline
procedure Msg(Title, Text: string; Color: integer);

Title - заголовок сообщения
Text - текст сообщения
Color - код цвета сообщения. Коды цветов.

Для просмотра примера необходимо зарегистрироваться
GamePrint Boolean Написать сообщение в игровой чат. Отображается только для пользователя.
function GamePrint(Text: string; Author: string = ''; ChatType: integer = 0): boolean;

Text - текст сообщения
Author - автор сообщения (по умолчанию - пользователь)

ChatType - тип чата (по умолчанию - общий)

Для просмотра примера необходимо зарегистрироваться
SetGameWindow Boolean Развернуть / свернуть окно игрового клиента
function SetGameWindow(Show: boolean): boolean;

Show - развернуть(true) или свернуть(false)

Для просмотра примера необходимо зарегистрироваться
HKPauseScript - Активировать/деактивировать управление скриптом по горячей клавише(Ins)
procedure HKPauseScript(Enable: boolean);

Enable - активировать(true) или деактивировать(false)

Для просмотра примера необходимо зарегистрироваться
BlinkWindow Boolean Активировать мигание окна игрового клиента / Adrenaline на панели задач
function BlinkWindow(Game: boolean): boolean;

Game - окна игрового клиента(true) или Adrenaline(false)

Для просмотра примера необходимо зарегистрироваться
GameClose Boolean Закрыть игровой клиент
function GameClose: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
UseKey Boolean Нажать клавишу клавиатуры в окне игрового клиента
function UseKey(KeyName: string; Ctrl: boolean = false; Shift: boolean = false): boolean;
function UseKey(KeyCode: word; Ctrl: boolean = false; Shift: boolean = false): boolean;
function UseKey(KeyCode: word; DownUp: byte = 0): boolean;

KeyName - название клавиши
KeyCode - код клавиши. Коды клавиш.
Ctrl, Shift - зажимать ли Ctrl, Shift (по умолчанию - нет)
DownUp - способ нажатия (0 - нажать и отпустить, 1 - нажать, 2 - отпустить) (по умолчанию - нажать и отпустить)

Для просмотра примера необходимо зарегистрироваться
EnterText Boolean Напечатать текст в окне игрового клиента
function EnterText(Text: string): boolean;

Text - текст

Для просмотра примера необходимо зарегистрироваться
PostMessage Integer Отправить сообщение в окно игрового клиента. О PostMessage.
function PostMessage(Msg: cardinal; wParam, lParam: integer): integer;

Msg - идентификатор сообщения
wParam, lParam - параметры сообщения

Для просмотра примера необходимо зарегистрироваться
SendMessage Integer Отправить сообщение в окно игрового клиента. О SendMessage.
function SendMessage(Msg: cardinal; wParam, lParam: integer): integer;

Msg - идентификатор сообщения
wParam, lParam - параметры сообщения

Для просмотра примера необходимо зарегистрироваться
  • Найденные примеры для этого метода:
GameVersion Cardinal Версия игрового протокола
function GameVersion: cardinal;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GameHash Cardinal Хеш игрового клиента
function GameHash: cardinal;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GameWindow Cardinal Идентификатор/handle окна игрового клиента
function GameWindow: cardinal;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
ServerTime Cardinal Текущее время сервера (в мин)
function ServerTime: сardinal;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
BotWindow Cardinal Идентификатор/handle окна Adrenaline
function BotWindow: cardinal;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
IsClassicServer Boolean Классический(L2 Classic) ли сервер
function IsClassicServer: boolean;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GetServerIP String IP-адрес игрового сервера
function GetServerIP: string;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться

Сетевые пакеты

Название Результат Описание Код Параметры Примеры

Разное

Название Результат Описание Код Параметры Примеры
WaitAction TL2Action Ожидать событие
function WaitAction(Action: TL2Action; var P1, P2: pointer; Timeout: cardinal = INFINITE): TL2Action;
function WaitAction(ActionList: array of TL2Action; var P1, P2: pointer; Timeout: cardinal = INFINITE): TL2Action;

 

Action - вид ожидаемого события. Виды событий.

ActionList - список видов ожидаемых событий - [EventType1, EventType2, ..]. Виды событий.
var P1, P2 - параметры, для каждого события имеют свои значения. Описание параметров.
Timeout - время ожидания событий (в мс, 1сек = 1000мс) (по умолчанию - вечно)

Для просмотра примера необходимо зарегистрироваться

Взаимодействие с другими аккаунтами Adrenaline

Название Результат Описание Код Параметры Примеры
GetUser TL2User Пользовательский персонаж аккаунта этого контроллера
function GetUser: TL2User;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GetPetList TPetList Список питомцев и слуг/саммонов пользователя аккаунта этого контроллера
function GetPetList: TPetList;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GetInventory TInventory Инвентарь персонажа и питомца аккаунта этого контроллера
function GetInventory: TInventory;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GetSkillList TSkillList Список умений персонажа аккаунта этого контроллера
function GetSkillList: TSkillList;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GetParty TParty Группа/пати аккаунта этого контроллера
function GetParty: TParty;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GetCharList TCharList Список игроков вокруг персонажа аккаунта этого контроллера
function GetCharList: TCharList;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GetNpcList TNpcList Список НПЦ вокруг персонажа аккаунта этого контроллера
function GetNpcList: TNpcList;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GetDropList TDropList Список дропа/предметов, лежащих на земле вокруг персонажа аккаунта этого контроллера
function GetDropList: TDropList;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GetWarehouse TL2Warehouse Склад (последний открытый) аккаунта этого контроллера
function GetWareHouse: TL2Warehouse;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GetAuction TL2Auction Аукцион (последний открытый) аккаунта этого контроллера
function GetAuction: TL2Auction;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GetChatMessage TChatMessage Последнее сообщение чата аккаунта этого контроллера
function GetChatMessage: TChatMessage;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
GetScript Pointer на TPaxEngine Указатель на скрипт аккаунта этого контроллера. Может быть преобразован в TPaxEngine.
function GetScript: pointer;
Аргументы отсутствуют Для просмотра примера необходимо зарегистрироваться
Entry Boolean Вызвать событие OnEntry в скрипте текущего контроллера
function Entry(var Param): boolean;

var Param - передаваемый параметр

Для просмотра примера необходимо зарегистрироваться

Объекты

Name Class Description
Engine TL2Control Контроллер персонажа/бота

Методы

Name Result Description
Methods.GetControl TL2Control Получить контроллер другого аккаунта по имени персонажа
Methods.GetControlByIndex TL2Control Получить контроллер другого аккаунта по индексу
TBot.Control TL2Control Контроллер персонажа/аккаунта