TL2Control = class

Class for control ingame actions, available by Engine. Managing other windows with GetControl and GetControlByIndex

Movement

Name Result Description Code Params Examples
MoveTo Boolean Move to target point \ object
function MoveTo(X, Y, Z: integer; const TimeOut: Integer = 8000): Boolean; overload;   // Двигаться в точку

function MoveTo(Obj: TL2Spawn; Dist: Integer): Boolean; overload;   // Подойти к объекту

X, Y, Z - coordinates of the point to go
TimeOut - time for trying to go to point
Obj - object to be approached
Dist - distance to approach an object

Engine.MoveTo(116130, -178611, -954);   // Moves to point
if NpcList.ByID(17490, tmp_npc) then Engine.MoveTo(tmp_npc, -20);   // Moves to NPC if its found
  • Examples found for this method:
DMoveTo Boolean Move to target point without waiting results
function DMoveTo(x, y, z : Integer): Boolean;

x, y, z - point coordinates

while (User.DistTo(x, y, z) > 100) and Delay(500) do Engine.DMoveTo(x, y, z);   // Moves to point while distance more than 100, check distance every 0.5 sec
MoveToTarget Boolean Move to selected target with the set distance
function MoveToTarget(Dist: Integer = -100): Boolean;

Dist - distance to run

if (User.Target <> nil) then Engine.MoveToTarget;   // if we target anyone, then move to him

Auction House

Name Result Description Code Params Examples
AuctionBuyItem Boolean Buy item from an auction
function AuctionBuyItem(Item: TL2AucItem): Boolean;

Item - предмет, который нужно купить

Examples not found
AuctionCancelItem Boolean Remove item from sale
function AuctionCancelItem(Item: TL2AucItem): Boolean;

Item - предмет, который нужно снять с продажи

Examples not found
AuctionGetMySales Boolean Get list of personal sales
function AuctionGetMySales: Boolean;
There are no arguments Examples not found
AuctionSearch Boolean Makes search request. Result is placed in to an object Auction
function AuctionSearch(const Name: string; Grade: Integer = -1; PageID: Integer = 0): Boolean;

const Name - название предмета, который нужно найти
Grade - 0 - NG; 1 - D,.., 10 - R99
PageID - идентификатор раздела, в котором нужно искать

Examples not found
AuctionSellItem Boolean Put an item for a sale
function AuctionSellItem(Item: TL2Item; Count, Price, Days: Cardinal; CustomName: string = ''): Boolean;

Item - предмет
Count - кол-во
Price - цена
Days - время: 1, 3, 5, 7
CustomName - тут можно указать свое название предмета, если оно отсутствует в базе

Examples not found

Fight System

Name Result Description Code Params Examples
Assist Boolean Assisting target player or NPC
function Assist(const Name: string): Boolean;

const Name - имя игрока, с которого берем асcист

Engine.Assist(Party.Leader.Name);   // Берем ассист с нашего ПЛа
Attack Boolean Attack
function Attack(TimeOut: Cardinal = 2000; Ctrl: Boolean = false): Boolean;

TimeOut - задержка (мс)
Ctrl - принудительная атака

if (User.Target is TL2Npc) then Engine.Attack;   // Если наша цель является NPC, тогда атакуем
AutoSoulShot Boolean Enable/Disable SoulShot autouse
function AutoSoulShot(const Name: string; Active: Boolean): Boolean;

const Name - название зарядов
Active - вкл/откл

Engine.AutoSoulShot('Заряд духа: Без ранга');   // Включит автоиспользование зарядов
AutoTarget Boolean Auto pickup
function AutoTarget(Range: Cardinal = 2000; ZRange: Cardinal = 300; NotBusy: Boolean = true): Boolean;

Range - радиус поиска цели
ZRange - ограничение по высоте
NotBusy - выбирать только "свободную" цель (учитывает зоны на карте и объекты добавленные в IgnorList)

if (User.Target.Dead) or (User.Target = nil) then Engine.AutoTarget(1000);   // Если наша цель метрва или отсутствует вообще, то ищем новую цель в радиусе 1000
FindEnemy Boolean Searching for an enemy for specific object in the specified radius of the object. Found enemy will be put in the Enemy variable.
function FindEnemy(var Enemy: TL2Live; Obj: TL2Live; Range: Cardinal = 2000; ZRange: Cardinal = 300): Boolean;

var Enemy - переменная, куда будет записан результат поиска
Obj - объект, для которого ищем "врага"
Range - радиус поиска
ZRange - ограничение поиска по высоте

Examples not found
SetTarget Boolean Target the object
function SetTarget(const Name: string): Boolean; overload;   // Взять в таргет по имени

function SetTarget(ID: Cardinal): Boolean; overload;   // Взять в таргет по ID

function SetTarget(Obj: TL2Live): Boolean; overload;   // Взять в таргет объект Obj

const Name - имя того, кого берем в таргет
ID - идентификатор того, кого берем в таргет
Obj - объект, который берем в таргет

Engine.SetTarget('Таурин');   // Возьмет в таргет Таурина
CancelTarget Boolean Cancel the target
function CancelTarget: Boolean;
There are no arguments
if (User.Target <> nil) then Engine.CancelTarget;   // Если у нас есть кто-то в таргете, то отменяем цель
PickUp Boolean \ Integer Pickup dropped items
function PickUp(Obj: TL2Drop; Pet: Boolean = false): Boolean; overload;   // Подобирает указанный объект 

function PickUp(Range: Cardinal = 250; ZRange: Cardinal = 150; OnlyMy: Boolean = false; Pet: Boolean = false): Integer; overload;   // Авто-подбор всего дропа в указанном радиусе

Obj - объект, который нужно подобрать
Pet - подбирать петом
Range - радиус, в котором нужно подбирать
ZRange - ограничение по высоте
OnlyMy - свой (true) или весь (false) дроп

for i:= 0 to DropList.Count-1 do Engine.PickUp(DropList(i), true);   // Пробегаем по списку дропа и подбираем все петом

Interaction with the bot interface

Name Result Description Code Params Examples
FaceControl Boolean Enable/Disable the interface
function FaceControl(ID: Integer; Active: Boolean): Boolean;

ID - какую кнопку нажать; 0-все фукнкции, 1-автоатака, 2-лечение, 3-бафы, 4-события
Active - включить (true) \ выключить (false)

Engine.FaceControl(0, true);  // Включит все функции бота
LoadConfig Boolean Load config with specified name by default from settings folder. Full path can also be written
function LoadConfig(const Name: string): Boolean;

const Name - название конфига, указывать вместе с расширением

if FileExists(ExePath+'\Settings\ConfigName.xml') then Engine.LoadConfig('ConfigName.xml');   // Если файл существует, то загружаем его
LoadZone Boolean Load the zone from file/folder
function LoadZone(const Name: string): Boolean;

const Name - название карты, указывать вместе с расширением

Engine.LoadZone('ZoneName.zmap');   // Загрузит зону с указанным названием из папки Settings
ClearZone - Clear all zones from map
procedure ClearZone;
There are no arguments
Engine.ClearZone; //clears all drawn zones on map
Ignore - Add objects to ignore list. AutoTarget and AutoPickup methods skip
procedure Ignore(Obj: TL2Spawn);
There are no arguments
if (NpcList(i).Level > User.Level + 5) then Engine.Ignore(NpcList(i));   // Если лвл моба > нашего на 5, то игнорим его
ClearIgnore - Clear the ignore list
procedure ClearIgnore;
There are no arguments
Engine.ClearIgnore;   // Очищаем список игнора
InZone Boolean Checks if an object/point is in the selected zone
function InZone(Obj: TL2Spawn): Boolean; overload;   // Объект находится в зоне?

function InZone(X, Y, Z: Integer): Boolean; overload;   // Точка находится в зоне?

Obj - object for check
X, Y, Z - point for check

if InZone(User.X, User.Y, User.Z) then Print('im in zone');   // if our coordinates inside zone, announce it
SetPerform Boolean Set load rate on game in the background
function SetPerform(Value: integer): Boolean;

Value - уроевнь нагрузки

Examples not found

Interaction with the game / bot window

Name Result Description Code Params Examples
BlinkWindow Boolean Blink window on the taskbar
function BlinkWindow(GameWindow: Boolean): Boolean;

GameWindow - если true то мигает окном игры, иначе окном бота

if (User.Dead) then Engine.BlinkWindow(true);
BotWindow Cardinal Get bot’s window HWND
function BotWindow: Cardinal;
There are no arguments
Print(Engine.BotWindow);   // Распечатает HWND окна с ботом
GameWindow Cardinal Get game’s window HWND
function GameWindow: Cardinal;
There are no arguments
Print(Engine.GameWindow);   // Распечатает HWND окна с игрой
GameStart Boolean Selects the character (must be on the character selection screen)
function GameStart(CharIndex: Integer = -1): Boolean;

CharIndex - номер персонажа, на которого нужно зайти (по умолчанию -1: на последнего активного персонажа)

if (Engine.Status = lsOffline) then Engine.GameStart;   // Если мы офлайн, то заходим на персонажа
Restart Boolean Logs off to character selection screen. Character most not be in chaos state
function Restart: Boolean;
There are no arguments
if (not User.InCombat) then Engine.Restart;   // Если мы не в бою, то делаем релог
  • Examples found for this method:
GameClose Boolean Closes Lineage ll game client
function GameClose: Boolean;
There are no arguments
if (Engine.GameClose) then Print('Закрыл окно игры');   // Если закрыл игру, то напишет об этом
PostMessage Integer Emulates an enter key press. Used for keyboard/mouse emulation
function PostMessage(Msg: Cardinal; wParam, lParam: Integer): Integer;

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

Examples not found
SendMessage Integer Function for sending message to the game window. Using for keyboard/mouse emulation
function SendMessage(Msg: Cardinal; wParam, lParam: Integer): Integer;

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

  • Examples found for this method:
SetGameWindow Boolean Minimize/maximize game window
function SetGameWindow(Visible: Boolean): Boolean;

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

Engine.SetGameWindow(true);   // Развернуть окно игры
SetMapKeepDist - Sets offset value for the map edges
procedure SetMapKeepDist(Value: Integer);

Value - величина, на которую нужно отступать

Engine.SetMapKeepDist(Engine 25);   // Отступать от краев карты на 25
HKPauseScript - Pause/unpause script by using the hotkey (Ins / End)
procedure HKPauseScript(Value: Boolean);

Value - влючить (true) \ выключить (false)

Engine.HKPauseScript(true);   // включаем работу горячих клавиш для управления скриптом
GameVersion Cardinal Game Protocol
function GameVersion: GameVersion;
There are no arguments Examples not found

Miscellaneous

Name Result Description Code Params Examples
GoHome Boolean Character resurrection
function GoHome(ResType: TRestartType = rtTown): Boolean;

ResType - куда вставать, возможные значения смотрите TRestartType

while (User.Dead) and Delay(1000) do Engine.GoHome;   // Пока мы мертвы, пытаемся воскреснуть
GameTime Cardinal Current game time
function GameTime: Cardinal;
There are no arguments
Print(Engine.GameTime);   // Распечатает текущее игровое время
ServerTime Cardinal Current server time
function ServerTime: Cardinal;
There are no arguments
Print(Engine.ServerTime);
Status TL2Status Current account status
function Status: TL2Status;
There are no arguments
if (Engine.Status <> lsOnline) then Print('Мы не в игре');
WaitAction TL2Action Waiting for an action / group of action. It is recomended to use more advanced analogue - OnAction
function WaitAction(Actions: TL2Actions; var P1; var P2;  TimeOut: Cardinal = INFINITE): TL2Action;

Actions - массив событий, на которые нужно реагировать
var P1, P2 - передаваемые параметры, для каждого события свои
TimeOut - сколько ожидать событие (по умолчанию - бесконечность)

case Engine.WaitAction([laKey, laDie], P1, P2) of ...
EnterText Boolean Write the text (Press Enter > write Txt > press Enter)
function EnterText(const Txt: string): Boolean;

const Txt - вводимый текст

Engine.EnterText('Привет');
Say Boolean Write message in chat
function Say(const Text: string; ChatType: Cardinal = 0; const Nick: string = ''): Boolean;

const Text - текст сообщения
ChatType - тип чата
const Nick - ник, кому пишем (если ПМ)

Engine.Say('Привет, '+User.Target.Name);
UseKey Boolean Pressing button on the keyboard
function UseKey(const Key: string; Ctrl: Boolean = False; Shift: Boolean = False): Boolean; overload;    // Нажать клавишу по названию

function UseKey(Key: Word; Ctrl: Boolean = False; Shift: Boolean = False): Boolean; overload;   // Нажать клавишу, используя код кнопки

const Key - key name
Key - key code (key codes Delphi)
Ctrl, Shift - pressed Ctrl, Shift

Engine.UseKey('Esc');
Engine.UseKey(27);
Entry Boolean Call up function in the script another accaunt
function Entry(var Param): Boolean;

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

Examples not found
FindPath Boolean Calculates the path between two points including draw zone and adds points to the PathList
function FindPath(StartX, StartY, EndX, EndY: Integer; PathList: TList): Boolean;

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

Engine.FindPath(User.X, User.Y, 111725, -173289);
Msg - Write system message in bot window with different colors (TColor - info about colors)
procedure Msg(Who, What: String; Color: Integer);

Who - name of writer
What - text content
Color - message color

Engine.Msg('Event', 'Zariche dropped!', $000080);
IsBusy Boolean Checks if an object is busy
function IsBusy(Obj: TL2Npc): Boolean;

Obj - проверяемый объект

if (Engine.IsBusy(User.Target)) then ...
IsDay Boolean Checks for day/night game time (day - true, night - false)
function IsDay: Boolean;
There are no arguments
while (Engine.IsDay) do delay(5000+random(3000));   // Пока в игре день, ждем
KickMentor Boolean Dismiss the mentor
function KickMentor: Boolean;
There are no arguments
if (Engine.GetMentor <> '') then Engine.KickMentor;   // Если у нас есть наставник, то уходим от него
GetMentor String Get mentor name
function GetMentor: String;
There are no arguments
if (Engine.GetMentor <> '') then Engine.KickMentor;   // Если у нас есть наставник, то уходим от него
GamePrint Boolean Write message in a game chat
function GamePrint(Text: string; Nick: string = ''; Chat: Integer = 0): Boolean;

Text - пример
Nick - ник, кому пишем (если ПМ)
Chat - тип чата

Engine.GamePrint('Привет, '+User.Target.Name);
GetZoneType TZoneType Get current game zone type
function GetZoneType: TZoneType;
There are no arguments
if (Engine.GetZoneType = ztPeace) then Engine.Sit;    // Sit down, if we are in peaceful zone
GetZoneName String Returns zone's name by coordinates
function GetZoneName(X, Y, Z: integer): String;

X, Y, Z - coordinates

Print(Engine.GetZoneName(User.X, User.Y, User.Z));   // prints name of territory where we are
GetZoneID Cardinal Returns zone's ID by coordinates
function GetZoneID(X, Y, Z: integer): Cardinal;

X, Y, Z - coordinates

Print(Engine.GetZoneID(User.X, User.Y, User.Z));   // prints ID of territory where we are
Teleport Boolean Teleport character to spot (for L2Essence)
function Teleport(ID: cardinal): Boolean;

ID - spot id (0-255)

Examples not found

Party

Name Result Description Code Params Examples
InviteParty Boolean Invite the player to the party with specified name
function InviteParty(const Name: string; Loot: TLootType = ldLooter): Boolean;

const Name - ник, кого приглашать
Loot - тип распределения дропа (по умолчанию нашедшему), подробнее: TLootType 

Engine.InviteParty('Nickname');
DismissParty Boolean Dismiss the player with specified name out from the group
function DismissParty(const Name: string): Boolean;

const Name - ник, кого нужно кикнуть

Engine.DismissParty('Nickname');
JoinParty Boolean Join the party
function JoinParty(Join: Boolean): Boolean;

Join - принять пати? да - true, нет - false

Engine.JoinParty(false);   // Откажется от приглашения в пати
LeaveParty Boolean Leaves the party
function LeaveParty: Boolean;
There are no arguments
if (Party <> nil) then Engine.LeaveParty;   // Если мы в пати, то выходим из нее
SetPartyLeader Boolean Make specified player as Party Leader (your character must be a Party Leader)
function SetPartyLeader(const Name: string): Boolean;

const Name - ник, кому передать лидерство

Engine.SetPartyLeader('Nickname');

Pets

Name Result Description Code Params Examples
DismissPet Boolean Dismiss pet (if summoned)
function DismissPet: Boolean;
There are no arguments
Engine.DismissPet;
DismissSum Boolean Dismiss summon (if summoned)
function DismissSum: Boolean;
There are no arguments
Engine.DismissSum;

Dialogs

Name Result Description Code Params Examples
DlgOpen Boolean Stars the dialog with NPC
function DlgOpen: Boolean;
There are no arguments
Engine.DlgOpen;
DlgSel Boolean Select the dialog
function DlgSel(const Txt: string; const TimeOut : Integer = 1000): Boolean; overload;   // Выбирает при диалоге строку Txt

function DlgSel(Index: integer; const TimeOut : Integer = 1000): Boolean; overload;   // Выбирает при диалоге строку с порядковым номером Index

const Txt - текст диалога, который должен быть выбран
Index - порядковый номер диалога, который должен быть выбран
const TimeOut - время в мс сколько ожидать диалога

Engine.DlgSel('Телепорт');   // Выбор диалога 'Телепорт'

Engine.DlgSel(1);   // Выбор 1го по счету диалога
DlgText String Contains full text of current dialog
function DlgText: String;
There are no arguments
if (Pos('каптча', AnsiLowerCase(Engine.DlgText)) > 0) then   // Если в текущем диалоге есть слово "каптча", то..
DlgTime Cardinal Shows time of last opened dialog
function DlgTime: Cardinal;
There are no arguments
if (Engine.DlgTime <> Last_Dlg_Time) then   // If the time of the appearance of the last dialogue is different from the memorized, then...
CBText String Contains full text of the Community Board (Atl + B)
function CBText: String;
There are no arguments
Print(Engine.CBText);  // Распечатает текущий текст окна Alt + B
CBTime Cardinal Shows time of last opened window Community Board (Alt + B)
function CBTime: Cardinal;
There are no arguments Examples not found
HlpText String Contains full text of the tutorial window
function HlpText: String;
There are no arguments Examples not found
HlpTime Cardinal Shows time of last opened tutorial window
function HlpTime: Cardinal;
There are no arguments Examples not found
ConfirmDialog Boolean Confirms the dialogue
function ConfirmDialog(Accept: Boolean): Boolean;

Accept - ответ: да(true) или нет(false)

Engine.ConfirmDialog(true);   // Подтвердить диалог (например запрос о призыве)
ConfirmDlg TConfirmDlg Get the dialog object
function ConfirmDlg: TConfirmDlg;
There are no arguments Examples not found
BypassToServer Boolean Sends Bypass to the server
function BypassToServer(const S: String): Boolean;

const S - отправляемый Bypass

Engine.BypassToServer('00');
  • Examples found for this method:
AutoAcceptMentors - Auto accept the mentor
procedure AutoAcceptMentors(Names: string);

Names - ники, от кого принимать наставничество. разделяются знаком ; (* - от всех)

Engine.AutoAcceptMentors('*');   // Будет принимать наставничество от всех игроков
AutoAcceptClan - Auto accept clan
procedure AutoAcceptClan(Names: string);

Names - ники, от кого принимать клан. разделяются знаком ; (* - от всех)

Engine.AutoAcceptClan('*');
AutoAcceptCC - Auto accept command chanel
procedure AutoAcceptCC(Names: string);

Names - ники, от кого принимать командный канал. разделяются знаком ; (* - от всех)

Engine.AutoAcceptCC('Nick1; Nick2');  // Будет принимать СС только от указанных ников

Skills

Name Result Description Code Params Examples
UseSkill Boolean Using skill by name \ ID
function UseSkill(const Name: string; Ctrl: Boolean = false; Shift: Boolean = false): Boolean; overload;   // Использование скила по названию

function UseSkill(ID: Cardinal; Ctrl: Boolean = false; Shift: Boolean = false): Boolean; overload;   // Использование скила по ID

const Name - название скила
ID - идентификатор скила
Ctrl, Shift - нажимать клавиши Ctrl, Shift или нет

Engine.UseSkill('Удар в спину', true);   // Прописать бекстаб через Ctrl на 12k (по танку. в лицо. прям по УД)
DUseSkill Boolean Using skill without checking the time of the reuse / MP
function DUseSkill(ID: Cardinal; Ctrl, Shift: Boolean): Boolean;

ID - идентификатор умения
Ctrl, Shift - нажимать клавиши Ctrl, Shift или нет

Engine.DUseSkill(42, false, false);   // Using Sweep
StopCasting Boolean Stops skill cast
function StopCasting: Boolean;
There are no arguments
if (User.Cast.EndTime <> 0) then Engine.StopCasting;   // Если мы что-то кастуем, то прерываем каст
Dispel Boolean Dispels the buff with specified name from our own character
function Dispel(const Name: string): Boolean;

const Name - название бафа, который нужно отменить

Engine.Dispel('Щит');
LearnSkill Boolean Learns the skill by ID (you must be near the skill master in HF and older chronicles)
function LearnSkill(ID: Cardinal): Boolean;

ID - идентификатор умения, которое нужно выучить

Engine.LearnSkill(142);
UpdateSkillList Boolean Opens the skill window (for Interlude servers)
function UpdateSkillList: Boolean;
There are no arguments
Engine.UpdateSkillList;
UseSkillGround Boolean Use skill on the specified coordinates
function UseSkillGround(ID: Cardinal; X, Y, Z: Integer; Ctrl: Boolean = False; Shift: Boolean = False): Boolean;

ID - идентификатор умения
X, Y, Z - координаты, куда применять
Ctrl, Shift - нажимать клавиши Ctrl, Shift или нет

Engine.UseSkillGround(14146, 124097, 124897, 14512);

Purchase and sale of items from traders

Name Result Description Code Params Examples
NpcExchange Boolean NPC item exchange
function NpcExchange(ID, Count: Cardinal; ByIndex: Boolean = False): boolean;

ID - идентификатор вещи, которую хотим получить
Count - количество
ByIndex - укажите true, если хотите вместо инентификатора испоьзовать индекс (порядковый номер, начиная с 0)

Engine.NpcExchange(1249, 1);
NpcTrade Boolean Buy / sell items to the trader
function NpcTrade(Sell: Boolean; Items: array of Cardinal): Boolean;

Sell - покупка(false) / продажа(true)
Items - массив предметов для покупки/продажи вида [ID_1,Count_1, ID_2,Count_2, ...] (кратен двум)

Engine.NpcTrade(true,[23,999, 2386,999]);
CastleTax Integer Town tax percentage
function CastleTax(TownID: Cardinal): Integer;

TownID - идентификатор города

Examples not found

Quests

Name Result Description Code Params Examples
OpenQuestion Boolean Opens question mark
function OpenQuestion: Boolean;
There are no arguments
Engine.OpenQuestion;
QuestStatus Boolean Checks quest status
function QuestStatus(QuestID: Cardinal; Step: Integer): Boolean;

QuestID - идентификатор квеста
Step - интересующий шаг квеста

if Engine.QuestStatus(294, 32) then   // Если шаг квеста с ID = 294 равен 32, то
  • Examples found for this method:
CancelQuest Boolean Cancels quest by ID
function CancelQuest(ID: Integer): Boolean;

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

Engine.CancelQuest(294);  // Отменит квест с ID = 294
GetDailyItems Boolean Get daily items
function GetDailyItems: Boolean;
There are no arguments
Engine.GetDailyItems;

Getting information about other accounts

Name Result Description Code Params Examples
GetCharList TCharList Gets player list from another account
function GetCharList: TCharList;
There are no arguments Examples not found
GetDropList TDropList Gets drop list from another account
function GetDropList: TDropList;
There are no arguments Examples not found
GetInventory TInventory Gets inventory list from another account
function GetInventory: TInventory;
There are no arguments Examples not found
GetNpcList TNpcList Gets NPC list from another account
function GetNpcList: TNpcList;
There are no arguments Examples not found
GetParty TParty Gets party list from another account
function GetParty: TParty;
There are no arguments Examples not found
GetPetList TPetList Gets pet list from another account
function GetPetList: TPetList;
There are no arguments Examples not found
GetSkillList TSkillList Gets skill list from another account
function GetSkillList: TSkillList;
There are no arguments Examples not found
GetUser TL2User Gets user object (TL2User) from another account
function GetUser: TL2User;
There are no arguments Examples not found
GetScript Pointer на TPaxEngine Gets object pointer of another account script
function GetScript: Pointer;
There are no arguments
TPaxEngine(GetControl('nickname').GetScript).Stop;   // Остановит скрипт другому окну
GetChatMessage TChatMessage Gets last message from a chat from another account
function GetChatMessage: TChatMessage;
There are no arguments Examples not found
GetFaceState Boolean Get interface icon status (enabled/disabled FaceControl)
function GetFaceState(ID: Integer): Boolean;

ID - идентификатор кнопки. 0-общая, 1-автоатака, 2-лечение, 3-бафы, 4-события

if Engine.GetFaceState(0) then Print('Интерфейс включен');
GetAuction TL2Auction
function GetAuction: TL2Auction;
There are no arguments Examples not found
GetWareHouse TL2Warehouse
function GetWareHouse: TL2Warehouse;
There are no arguments Examples not found

Interaction with items

Name Result Description Code Params Examples
UseItem Boolean Uses an item
function UseItem(const Name: string; Pet: Boolean = false): Boolean; overload;   // Использовать предмет по названию

function UseItem(ID: Cardinal; Pet: Boolean = false): Boolean; overload;   // Использовать предмет по идентификатору

function UseItem(Obj: TL2Item; Pet: Boolean = false): Boolean; overload;   // Использовать конкретный предмет

const Name - название предмета
ID - идентификатор предмета
Obj - конкретный предмет
Pet - использует петом

Engine.UseItem(736);   // Использовать Scroll of Escape
LoadItems Boolean Puts items to the warehouse
function LoadItems(ToWH: Boolean; Items: array of Cardinal): Boolean;

ToWH - put smth in (true) or take smth from (false) warehouse
Items - array of items [id_item1,count_1, id_item2,count_2, ...]

Engine.LoadItems( false, [57, 500000 ]);  // take 500k gold from warehouse
MoveItem Boolean Moves/removes an item from pets inventory
function MoveItem(const Name: string; Count: Cardinal; ToPet: Boolean): Boolean;

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

Examples not found
Equipped Integer Check if an item is equipped
function Equipped(const Name: string): Integer;

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

Examples not found
MakeItem Boolean Crafts an item
function MakeItem(Index: Cardinal): Boolean;

Index - number in the crafting list (starting from 0)

while 1<>2 do
begin
   Engine.MakeItem(3);
   delay(100);
end.    // make third item in craft window
CrystalItem Boolean Cristalise an item
function CrystalItem(ID: Cardinal): Boolean;

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

Engine.CrystalItem(3592);
  • Examples found for this method:
DestroyItem Boolean Deletes selected item
function DestroyItem(const Name: string; Count: Cardinal): Boolean; overload;   // Удалить предмет по названию

function DestroyItem(ID: integer; Count: Cardinal): Boolean; overload;   // Удалить предмет по ID

const Name - название предета
ID - идентификатор предета
Count - количество, которое нужно удалить

Engine.DestroyItem(57, 1);   // Удалит 1 аденку
UseItemOID Boolean Uses an item by OID
function UseItemOID(OID: cardinal; WithPet: boolean; Force: boolean): Boolean;

OID - unique item ID
WithPet -  uses pet
Force - with pressed Ctrl

Examples not found
DropItem Boolean Drop defined item to needed coordinates
function DropItem(ID, Count: cardinal; X, Y, Z: integer): Boolean;

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

Engine.DropItem(57, 1, User.X, User.Y, User.Z);   // drop 1 adena to our legs

Actions

Name Result Description Code Params Examples
UseAction Boolean Using game actions. List of IDs here
function UseAction(ID: Cardinal; Ctrl: Boolean = false; Shift: Boolean = false): Boolean;

ID - action id
Ctrl, Shift - use keys Ctrl, Shift

if (User.Sitting) then if Engine.UseAction(0) then delay(2222);   // if we are sitting, then stand
Sit Boolean Sit
function Sit: Boolean;
There are no arguments
if (User.HP < 40) then Engine.Sit;   // Если HP < 40%, то сесть
Stand Boolean Stand up
function Stand: Boolean;
There are no arguments
if (User.Sitting) then if Engine.Stand then delay(2222);   // Если мы сидим, то встать
Unstuck Boolean Unstuck
function Unstuck: Boolean;
There are no arguments
if Engine.Unstuck then while (User.Cast.EndTime <> 0) do delay(1000);   // Используем Unstuck и ждем окончания каста
CreateRoom Boolean Create party room (party search)
function CreateRoom(Text: string; LevelStart, LevelEnd: Integer): Boolean;

Text - текст
LevelStart, LevelEnd - мин и макс уровни для комнаты

Engine.CreateRoom('лф ЕЕ + ТАНК в 59 лабу', 54, 64);   // Создать комнату для поиска группы для 54-64 лвлов
CloseRoom Boolean Close party room
function CloseRoom: Boolean;
There are no arguments
Engine.CloseRoom;
OpenPrivateStore Boolean Opens private store (buy\sell\craft)
function OpenPrivateStore(PriceList: array of Cardinal; StoreType: Byte; StoreMsg: string): Boolean;

PriceList - массив вида [id_1,count_1,price_1, id_2,count_2,price_2, ...] (идентификатор, кол-во, цена за шт)
StoreType - store type, see values in Actions ID
StoreMsg - сообщение на вывеске

Engine.OpenPrivateStore([2508, 500, 3500], 1, 'WTS Проклятые кости по 3.5к');   // Сесть продавать 500 итемов по 3.5к за штуку

Interaction with mail

Name Result Description Code Params Examples
SendMail Boolean Sends mail
function SendMail(const Recipient: string; const Theme: string; const Content: string; Items: array of Cardinal; Price: Cardinal = 0): Boolean;

const Recipient - получатель письма
const Theme - тема письма
const Content - текст письма
Items - вложения, массив вида [id_1,count_1, id_2,count_2, ...]
Price - цена (для платных писем)

Engine.SendMail('Nickname', 'тема', 'текст письма', [57, 100000]);  // Отправит 100к адены на указанный ник
GetMailItems Boolean Gets mail
function GetMailItems(MaxLoad: Cardinal = 65; MaxCount: Cardinal = 1000): Boolean;

MaxLoad - максимальная загрузка, в %-ах
MaxCount - максимальное кол-во, которое можно получить

Examples not found
ClearMail Boolean Clear mail box
function ClearMail: Boolean;
There are no arguments
Engine.ClearMail;

Objects

Name Class Description
Engine TL2Control Character control object

Methods

Name Result Description
TBot.Control TL2Control
Methods.GetControl TL2Control Get control of another char (same PC)
Methods.GetControlByIndex TL2Control Get control of another char by index in bot account manager