From Stealth Client

Jump to: navigation, search

Меню

AutoMenu

procedure AutoMenu(UP, UC : String)

установить многоразовую ловушку на меню. Работает так же как Doc:RU/Api/WaitMenu, с единственным отличием, WaitMenu отрабатывает только раз, и ловушка снимается, AutoMenu - работает постоянно.

CancelMenu

procedure CancelMenu

отмена всех установленных ловушек на меню

CloseMenu

def CloseMenu() -> None


MenuHookPresent

function MenuHookPresent : Boolean

В случае, если на меню были установлены ловушки (Doc:RU/Api/WaitMenu, Doc:RU/Api/AutoMenu) возвращает True, иначе False.


MenuPresent

function MenuPresent : Boolean

Возвращает True, если есть активное меню. False - нету.


WaitMenu

procedure WaitMenu(MenuCaption, ElementCaption: String)

Установить одноразовую ловушку на меню. Является частным случаем многоразовой ловушки Doc:RU/Api/AutoMenu. Впрочем, абсолютно так же может использоваться и для обработки уже пришедших меню.

Работает так:

начинает перебирать меню от первого пришедшего до последнего пришедшего. В каждом из перебираемых меню сверяет заголовок меню на предмет совпадения заголовка с параметром функции MenuCaption. Если есть совпадение - то в этом меню ищется элемент с названием ElementCaption. Если таковой имеется - то перебор прекращается, и отсылается ответ на меню серверу с этим элементом, а в стелсе меню уничтожается.

Если такой элемент (или меню) не найден - то ловушка устанавливается для сверки с вновь приходящими меню.

function TrackPlayer() : Boolean;
begin
  if MenuHookPresent() = True then CancelMenu();
  WaitMenu('Tracking', 'Players');
  UseSkill('Tracking');
  Wait(500);
  WaitMenu('Tracking','(first)');
  Wait(500);
  if MenuHookPresent() = True then CancelMenu();
  Result := True;
end;

Вы можете использовать: (first) , (second) , (random)...