Jump to content

Holdtarget для адреналин бота !!!


Mescaline Ff
 Share

Recommended Posts

Можно использовать не на своего окно а на не активное image.png.a82eced15fe80f0e79c3eb01abde817b.png
Ставьте реакции буду еще выкладывать скрипты бессплатно !!!

uses SysUtils, Classes;

function GetForegroundWindow: cardinal; stdcall; external 'User32.dll' name 'GetForegroundWindow';

const
  CharName = 'ваш ник';
  HOLD_DELAY = 150; // ms между проверками

var
  C: TL2Control;
  HoldOID: Cardinal;

// Активируем окно игры
procedure SetWinA;
begin
  if Assigned(C) and (C.GameWindow <> 0) and
     (GetForegroundWindow() <> C.GameWindow) then
  begin
    C.SetGameWindow(True);
    Delay(100);
  end;
end;

// Проверяем существует ли цель по OID
function FindTargetByOID(OID: Cardinal): TL2Char;
var
  i: Integer;
  L: TCharList;
begin
  Result := nil;
  if OID = 0 then Exit;
  L := C.GetCharList;
  for i := 0 to L.Count - 1 do
    if (L.Items(i) <> nil) and
       (L.Items(i).OID = OID) and
       (not L.Items(i).Dead) then
    begin
      Result := L.Items(i);
      Exit;
    end;
end;

// Форсируем взятие таргета
procedure ForceHoldTarget;
var
  Target: TL2Char;
  i: Integer;
begin
  Target := FindTargetByOID(HoldOID);
  if Target = nil then Exit;

  SetWinA;

  // Делаем 2–3 попытки взять в таргет
  for i := 1 to 3 do
  begin
    C.Action(HoldOID, True);    // Берём в таргет
    Delay(100);
  end;
end;

// ---------------- MAIN ----------------
procedure Main;
begin
  C := GetControl(CharName);
  if not Assigned(C) then
  begin
    Print(CharName + ' not loaded');
    Exit;
  end;

  Print('PVP HoldTarget started');
  HoldOID := 0;

  while Delay(HOLD_DELAY) do
  begin
    if C.GetUser.Dead then
    begin
      HoldOID := 0;
      Continue;
    end;

    // Если есть текущий таргет — сохраняем его
    if (C.GetUser.Target <> nil) and (not C.GetUser.Target.Dead) then
    begin
      HoldOID := C.GetUser.Target.OID;
      Continue;
    end;

    // Если таргет сброшен — форсим его обратно
    if (C.GetUser.Target = nil) and (HoldOID <> 0) then
    begin
      Print('HoldTarget -> Retarget OID: ' + IntToStr(HoldOID));
      ForceHoldTarget;
    end;
  end;
end;

begin
  Main;
end.
 

  • Like 1
  • Спасибо 1
Link to comment
Share on other sites

Жду 3 реакции выложу еще скрипты !) 

Link to comment
Share on other sites

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

Link to comment
Share on other sites

7 часов назад, Kerierazy сказал:

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

А что тебе нужно ?) 

Link to comment
Share on other sites

9 часов назад, JamieEnawl сказал:

Сборочку ла2)

Сборочку тебе не кто за бесплатно не скинет ) 

Link to comment
Share on other sites

Ну это ты зря так.Много хороших людей)

Link to comment
Share on other sites

а мне даже очень понравились.

Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...