Перейти к содержанию

Скрипт на обмен итемов на точки по квесту в МОСЕ


Рекомендуемые сообщения

Добрый день,

Подскажите, пожалуйста, как прописать строчку в скрипте для engine.dlgsel() ?

Прописывал и полное название строки, и номер строки.. до этого окна доходит, но строку нужную не выбирает.

При этом engine.dlgsel('Задание') отлично работает.

Квест называется : Guardians of the Holy Grail

 

Спасибо.

Ссылка на сообщение
Поделиться на другие сайты
On 11.09.2022 at 15:19, KoRKA said:

У некоторых квестов тут работает выбор диалога только через bypass

А как узнать для нужного диалога? Через что вообще можно узнать?

 

Ссылка на сообщение
Поделиться на другие сайты
33 minutes ago, kilbl4 said:

А как узнать для нужного диалога? Через что вообще можно узнать?

 

Через Enging.DlgText() можно получить текст диалога

Ну а далее https://adrenalinebot.com/ru/api/example/more-about-enginebypasstoserver

Ссылка на сообщение
Поделиться на другие сайты
39 minutes ago, KoRKA said:

Я узнавал через платный адрик, там есть скрипт рекордер, он показывает все байпасы на диалогах

берешь WPF смотришь байпасы.

Ссылка на сообщение
Поделиться на другие сайты

Engine.DlgText содержит текст обычного диалога.

begin
 print(Engine.DlgText);
end.

Если запустить этот скрипт, в логе бота распечатаеться строчка с текстом открытого диалога.

Например:

<html><body><font color="FFFFFF">High Priest Sylvain:</font><br>Welcome to the warm bosom of Einhasad, the goddess of light. What event has brought you to me? By the holy name of Einhasad, I pray I am able to help you!<br><a action="bypass -h 00">Listen to information about first class transfer.</a><br><a action="bypass -h 01">Sub Class.</a><br><a action="bypass -h 02">Clan.</a><br><a action="bypass -h 03">Alliance.</a><br><a action="bypass -h 04">Use Shadow Weapon Exchange Coupon.</a><br><a action="bypass -h 05">Quest.</a></body></html>

Что бы бот в данном примере выбрал строчку "Quest"(самая последняя), нужна команда Engine.BypassToServer('05');

Ссылка на сообщение
Поделиться на другие сайты

я находил прогу где ви в этом адрике можно прочитать байпассы, если найду у себя то скину

 

https://rawr.pro/topic/1948-parsing-bajpassov-s-pomoschyu-hex-redaktora/

Ссылка на сообщение
Поделиться на другие сайты
  • 9 месяцев спустя...

вот скрипт захвата байпасов чата, сохраняеть в файл полученные байпасы. путь укажите свой.

 

 

uses
  Classes;
var
  Text: string;
    Strings: TStringList;
     function RemoveTextBeforeKeyword(const Text, Keyword: string): string;
var
  Index: Integer;
begin
  Index := Pos(Keyword, Text);
  if Index > 0 then
    Result := Copy(Text, Index + Length(Keyword), Length(Text) - Index - Length(Keyword) + 1)
  else
    Result := Text;
end;
function RemoveTextAfterChar(const Text: string; const CharToFind: Char): string;
var
  Index: Integer;
begin
  Index := Pos(CharToFind, Text);
  if Index > 0 then
    Result := Copy(Text, 1, Index - 1)
  else
    Result := Text;
end;
function RemoveTextBetween(const Text, StartStr, EndStr: string): string;
var
  StartIndex, EndIndex: Integer;
begin
  StartIndex := Pos(StartStr, Text);
  EndIndex := Pos(EndStr, Text);
  if (StartIndex > 0) and (EndIndex > StartIndex) then
    Result := Copy(Text, 1, StartIndex - 1) + Copy(Text, EndIndex + Length(EndStr), Length(Text) - EndIndex - Length(EndStr) + 1)
  else
    Result := Text;
end;
begin
Text := Engine.DlgText;
  Text := RemoveTextBeforeKeyword(Text, 'bypass -h ');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextBetween(Text, '"', 'bypass -h');
  Text := RemoveTextAfterChar(Text, '"');

print (Text);
  Strings := TStringList.Create;
  try
    Strings.Text := Text;
    Strings.SaveToFile('c:\bypass.txt');
  finally
    Strings.Free;
   end;
end.
 

Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...