Общие функции\процедуры

НазваниеРезультатОписание
ShMem   Integer Глобальный массив, доступный всем аккаунтам
Delphi
ShMem: array[0..1000] of Integer;
Пример
Print(IntToStr(ShMem[3])); 
Print - Распечатывает текст в закладку логов "Script". Есть более гибкий аналог Engine.Print
Delphi
procedure Print(Prm: Variant);
Аргументы Prm - сообщение для вывода, при конкатенации строк нужно приводить все к типу String
Пример
if (User.Target <> nil) then Print(User.Target.Name +': '+ IntToStr(User.Target.Level) +' lvl');   // Распечатает ник и лвл нашей цели
Delay Boolean Задержка\пауза на указанное время
Delphi
function Delay(ms: Cardinal): Boolean;
Аргументы ms - время в мс (1 секунда = 1000 мс)
Пример
while (User.Cast.EndTime <> 0) do Delay(100);   // Пока мы что-то кастуем, ждем завершения каста
PlaySound - Воспроизведение звука
Delphi
procedure PlaySound(const FileName: string; Loop: Boolean = false);
Аргументы const FileName - путь к файлу
Loop - зацикливание воспроизведения
Пример
if (User.Dead) then PlaySound(ExePath +'/Sounds/die.wav');   // Если умерли, то срабатывает звуковое оповещение
StopSound - Остановка воспроизведения звуков
Delphi
property StopSound;
Пример
StopSound;  // Остановит вопроизведение звуков
ExePath String Возвращает путь к папке с ASI WIN
Delphi
function ExePath: string;
Пример
Script.Replace(ExePath +'/Scripts/SomeScript.txt'):   // Запустит скрипт SomeScript.txt, который лежит в папке Scripts, расположенной в корневом каталоге ASI WIN
TimerEx Boolean Сквозной таймер
Delphi
function TimerEx(var Value: Cardinal; Delay: Cardinal): Boolean;
Аргументы var Value - переменная, которая будет меняться
Cardinal - частота, с которой будет выполняться функция, в мс (1сек = 1000мс)
Пример
while true do if TimerEx(T1, 1000) then print('Прошла 1 секунда');   // будет печатать сообщение раз в 1 секунду
BotLoginID Cardinal Получение HWID
Delphi
function BotLoginID: Cardinal;
Пример
Print(BotLoginID);   // Распечатает HWID
GetControl TGameControl Получить контроль над дугим персонажем
Delphi
function GetControl(Nick: String): TGameControl;
Аргументы Nick - имя персонажа
Пример
// тут будет пример

Обработчики событий

НазваниеРезультатОписание
OnMoveEvent  - Обработчик событий во время бега (смерть \ дисконнект \ нападение моба)
Delphi
procedure OnMoveEvent(Attacker: TLive; var BreakMove: Boolean);
Аргументы Attacker - атакующий
var BreakMove - останавливать движение или нет
OnAction - Обработчик событий из числа TGameAction
Delphi
procedure OnAction(Action: TGameAction; P1, P2: Cardinal);
Аргументы Action - событие
P1, P2 - параметры, для каждого события имеют свои значения
OnEntry  Boolean Функция, вызываемая с помощью Engine.Entry из другого скрипта
Delphi
function OnEntry(var Param): Boolean;
Аргументы var Param - передаваемый параметр
OnFree - Вызывается при завершении работы скрипта
Delphi
procedure OnFree;

Преобразование типов данных

НазваниеРезультатОписание
FToStr String Преобразование координат в строку
Delphi
function FToStr(Value: Single): string;
Аргументы Value - игровая координата (или любое число с плавающей запятой)
Пример
Print('Текущие координаты: ['+ FToStr(User.X) +', '+ FToStr(User.Y) +', '+ FToStr(User.X) +']');   // Распечатает наши координаты 
MemToHex String Преобразует память в Hex строку
Delphi
function MemToHex(const dt; size: Word; sep: char = #0): String; overload;

function MemToHex(const Mem: AnsiString): String; overload;
Аргументы const dt - данные, например массив или строка
size - размер данных
sep - разделитель (по умолчанию пустой)
const Mem - строка
Пример
Print(MemToHex(User.OID,3));   // Распечает наш OID
HexToMem Cardinal \ AnsiString Преобразует Hex строку в память
Delphi
function HexToMem(const Hex: string; var Buf): Cardinal; overload;

function HexToMem(const Hex: string): AnsiString; overload; 
Аргументы const Hex - hex строка
var Buf - контейнер под запись
Пример
// тут будет пример