Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

WaitMenu()

Only for requests.
Post Reply
innominee
Neophyte
Neophyte
Posts: 23
Joined: 13.08.2011 0:36
Contact:

WaitMenu()

Post by innominee »

Описание функции из Wiki -

Code: Select all

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

Code: Select all

WaitMenu('What would you like to make?', 'Tables');   
wait(500);                          
WaitMenu('What would you like to make?', 'Table');
Собственно сама проблема - в меню Tables есть следующие айтемы ( по порядку ) - Small Table, Table, Yew Table.
Соответственно - WaitMenu() ловит первое вхождение, т.е. Small Table, и до Table не добирается.
Хотелось бы иметь флаг, который позволял бы указать точное название, а не первое попавшееся, типа WaitMenu('What would you like to make?', 'Table',True); , где True\False - Boolean
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

Re: WaitMenu()

Post by drabadan »

innominee wrote:Описание функции из Wiki -

Code: Select all

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

Code: Select all

WaitMenu('What would you like to make?', 'Tables');   
wait(500);                          
WaitMenu('What would you like to make?', 'Table');
Собственно сама проблема - в меню Tables есть следующие айтемы ( по порядку ) - Small Table, Table, Yew Table.
Соответственно - WaitMenu() ловит первое вхождение, т.е. Small Table, и до Table не добирается.
Хотелось бы иметь флаг, который позволял бы указать точное название, а не первое попавшееся, типа WaitMenu('What would you like to make?', 'Table',True); , где True\False - Boolean

Code: Select all

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)...
innominee
Neophyte
Neophyte
Posts: 23
Joined: 13.08.2011 0:36
Contact:

Re: WaitMenu()

Post by innominee »

(second) не работает, Stealth 7.5.0, PS
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: WaitMenu()

Post by Vizit0r »

7.5.0 - это не последняя версия.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Post Reply