На данный момент в скриптах доступны следующие команды и структуры:
(события будут описаны позже)
(Новые команды будут добавляться, на любые фри.сервера портируется по заказам (зы астериос и ему подобные будут в ближайшее время))
Объект Engine:
function Delay(TimeOut: Integer): Boolean;
Задержка скрипта на указанный интервал времени
procedure CombatZone(Radius: Integer = 0; X: Single = 0; Y: Single = 0; Z: Single = 0);
Установка боевой зоны (круг) за радиус которого бот не будет выходить
Radius - радиус круга
XYZ - точка которая будет считаться центром круга (если не указаны, считается точка где находился чар на момент вызова команды)
function InRange(Name: String; Range: integer): Boolean;
Проверка находится НПС или Игрок с именем Name в пределах заданной дистанции
function SetTarget(Name: String): Boolean;
Взятие цели по имени (цель - любая)
function NextTarget(Name: String = ''): Boolean;
Взятие ближней цели по имени. Если имя не задано, автоматически выбирается ближайшая (цель - только враги (мобы, ПК, или Игрок напавший первым))
function Assist(Name: string): Boolean;
Делает вашей целью, цель указанного игрока или NPC
Name - ник того чью цель хотим сделать своей
function MoveTo(X, Y, Z: Single): Boolean;
Движение в точку с координатами XYZ
function MoveToTarget(Dist: Integer = 50): Boolean;
Движение к (от) цели. Dist - растояние на которое необходимо подойти или отойти от цели.
function UseItem(ID: Cardinal): Boolean;
Использование предмета из инвентаря по ID.
function ItemCount(ID: Cardinal): Int64;
Возвращает кол-во предметов (стопка) из инветрая по ID
function GoHome: Boolean;
Возврат в току респа после смерти персонажа
function Chat(S: String): Boolean;
Посылка любой строки в игровои чат (можно использовать игровые макросы)
function Stand(Value: Boolean): Boolean;
Встать или сесть
function Attack(TimeOut: Integer = 5000; Force: Boolean = False): Boolean;
Атаковать в ближнем бою (Force - принуительно)
function UseSkill(Name: String; TimeOut: Integer = 5000; Force: Boolean = False): Boolean;
Использовать магию (Force - принуительно)
function Pickup(Count: Integer = 1): Boolean;
Подбор дропа. Count - кол-во дропа для сбора.
function Dialog(NPCName: String; Dlg: String): boolean;
Работа с диалогами
NPCName - Имя нпс
Dlg - Строка диалога
Две основные структуры (обе имеют одинаковые поля):
User - Ваш персонаж
Target - Ваша цель
User, Targer = record
Valid: Boolean;
IsNPC: Boolean;
IsAttackable: Boolean;
ID: Cardinal;
Level: Cardinal;
Name: String;
HP: Cardinal;
MP: Cardinal;
CP: Cardinal;
SP: Cardinal;
X: Single;
Y: Single;
Z: Single;
IsMoved: Boolean;
IsStand: Boolean;
IsDie: Boolean;
InCombat: Boolean;
end;