Перейти к содержимому

Фотография
- - - - -

Помогите с .buffer


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1
Mranabolic

Mranabolic
  • 10
    0
    Не выбрано
    • Lvl 8
    • Пользователь

Собственно вопрос, пишу скрипт,на сервере есть функция .buffer и открывается диалоговое окошко с баффером, вопрос, как с ним взаимодействовать? Юзаю через Use.key через макрос, открывается окно, но вот действия хз как осуществлять, Через Dlg.Open, Dlg.Sel не работает, через запись байпасов хз как сделать, пытался по видео - не вышло. Может подскажет кто?

Выглядит окошко вот так: 

 

Прикрепленные изображения

  • бафер.png

  • 0

#2
ScythLab

ScythLab

В адрике был снифер пакетов. Самый простой вариант посмотреть что отправляет клиент, скорей всего это будут байпасы, если они статические, то можно использовать их, не заморачиваясь. Если байпасы динамические, то придется ловить пакет с html'кой от сервера, парсить его и уже потом отправлять нужный байпас.

 

через запись байпасов хз как сделать, пытался по видео - не вышло
печально
  • 0

Хобби: разработка непубличного бота для Lineage


#3
Mranabolic

Mranabolic
  • 10
    0
    Не выбрано
    • Lvl 8
    • Пользователь

ScythLab, Спасибо за ответ, посмотрел через запись в адрике, действительно динамические байпассы, с которыми я не умею работать , анлаки 


Сообщение отредактировал Mranabolic: 06 Май 2020 - 11:28

  • 0

#4
etolineage

etolineage
  • 1
    0
    Не выбрано
    • Гремлин
    • Пользователь

Mranabolic,
сам играю на этом сервер и задался вопросом как, почитав api бота сделал за 1 мин:
 

uses SysUtils, Classes, RegExpr;  // подключили модуль RegExpr

function Buff(dlg: string): boolean;
var
  RegExp: TRegExpr;
  SL: TStringList;
  i: integer;
  bps: string;
begin
  Result:= true;                                            // задаем результат по умолчанию
  RegExp:= TRegExpr.Create;                                 // инициализируем объекты для дальнейшей работы
  SL:= TStringList.Create;
  
  RegExp.Expression:= '(<a *(.+?)</a>)|(<button *(.+?)>)';  // задаем регэксп на поиск всех возможных bypass'ов 
  if RegExp.Exec(Engine.DlgText) then                       // если нашелся нужный шаблон, то
    repeat SL.Add(RegExp.Match[0]);                         // заполняем наш список такими совпадениями
    until (not RegExp.ExecNext);                            // пока не закончатся шаблоны

  for i:= 0 to SL.Count-1 do begin                          // теперь пробегаемся по нашему списку
    if (Pos(dlg, SL[ i ]) > 0) then begin                   // если в i-ой строке нашелся искомый текст, то
      RegExp.Expression:= '"bypass -h *(.+?)"';             // ищем шаблон текста c bypass'ом
      if RegExp.Exec(SL[ i ]) then                          // и если нашли, то копируем из него интересующий нас кусок
        bps:= TrimLeft(Copy(RegExp.Match[0], 12, Length(RegExp.Match[0])-12));
    end;
  end;
  
  Print(bps);                                               // распечатываем конечный вариант bypass'а
  if (Length(bps) > 0) then Engine.BypassToServer(bps);     // если его длина > 0, то отправляем на сервер
  
  RegExp.Free;                                              // не забываем освобождать память
  SL.Free;
end;

begin
  Buff('1234');   // непосредственно вызов функции, она найдет соответствующий bypass и отправит его
end.

  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Rawr.pro - Сделано с для игроков.