Рег на оли

Раздел посвященный скриптам для бота
Ответить
vadimkach
Сообщения: 15
Зарегистрирован: Вт май 10, 2016 11:56 am
Откуда: Украина

Вт мар 10, 2020 9:08 pm

Не прожимает строку, хотя байпасс отправляет верный
после нажатия строки, еще должно выбить сообщение да/нет как на скрине ниже.

Есть у кого варианты/мысли как эту гребаную строку прожать?

Код: Выделить всё

uses SysUtils, Classes, RegExpr;
var s:string;
var npc: tl2npc;

function Bypass(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 *(.+?)>)'; 

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 
RegExp.Expression:= '"bypass -h *(.+?)"'; 

if RegExp.Exec(SL[i]) then 
bps:= TrimLeft(Copy(RegExp.Match[0], 12, Length(RegExp.Match[0])-12));
end;
end;

Print(bps); 
if (Length(bps) > 0) then Engine.BypassToServer(bps); 
RegExp.Free; 
SL.Free;
end;

begin
while (1=1) do begin
if ChatMessage.Unread and (integer(ChatMessage.ChatType) = 3)
and AnsiSameText(ChatMessage.text, 'go')
then begin
Engine.SetTarget(31688); //Управляющий олимпиадой
Engine.DlgOpen;
Delay(300);
Bypass('participate');
Delay(400);
Bypass('without');
Delay(400);
Bypass('distinction');
Delay(400);
Bypass('"I want to join the games without a class distinction."'); 	//Эту строчку не прожимает но байпасс отправляет верно
Delay(300);
end;
end;
end.
Вложения
Screenshot_171.png
Screenshot_171.png (50.23 КБ) 638 просмотров
Ответить