Jump to content

Recommended Posts

Posted

Hello, 

I'd like to have an script for l2 classic to extract fragments at a determined level. 

What it would need is, when you hit the desired level, you need to be out of combat, extract fragment and then start attacking again. 

Capture-1.PNG

  • 2 weeks later...
Posted

I am trying to unravel this mystery by creating an alt + b buff script, I am stuck with this situation, according to the lines below in HTML I can see the other alt + b icons but when creating my scheme buff what is detected in the HTML is only two ('') empty and soon after action = "bypass 1874409986" ... being that the number after the bypass always changes I'm using the RegExp system is working correctly.

Bypass ('Mage') this command I find the Set Mage made by the server, but my 'Scheme Buff' is in this problem, with only the '' empty.
 I tried using the bypass command ('') but it had no effect whatsoever.

 

Quote

<table border=0 cellspacing=0 cellpadding=2 width=550>
                <tr>
                    <td width=115 align=left valign=top>
                        <table>
                        <tr>
                        <td width=115 align=left valign=top>
                        <font name="hs12" color="LEVEL">Personal buffs:</font>
                    </td>
                    <td width=300 align=center valign=top>
                        <button value="Create Scheme" action="bypass 1492358313" width=150 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF">
                    </td>
                </tr>
            </table>
            </td>
            </tr>
            <tr>
                <td width=265 align=left valign=top>
                    <table>
                    <tr>
                    <center>
                    <td width=120 height=30 valign=top align=center>
                    <table border=0 width=110 height=40 cellspacing=4 cellpadding=3 bgcolor=10100E>
                    <tr>
                    <td align=right valign=top>
                    <table border=0 cellspacing=0 cellpadding=0 width=32 height=32 background=Icon.skill1527>
                    <tr>
                    <td width=32 height=32 align=center valign=top>
                    <button value="  " action="bypass 1612491900" width=34 height=34 back=L2UI_CT1.ItemWindow_DF_Frame_Down fore=L2UI_CT1.ItemWindow_DF_Frame />
                </td>
            </tr>
            </table>
            </td>
            <td width=110 valign=top>
                <font name=hs9 color=FFFFFF>Mago</font>

            </td>
            <td width=30 align=center>
                <br>
                <button value="  " action="bypass 1874409986" width=32 height=32 back=L2UI_CT1.RadarMap_DF_OptionBtn_Down fore=L2UI_CT1.RadarMap_DF_OptionBtn />
            </td>
            </tr>
            </table>
            <br>
            </td>
            <td width=110 height=40 valign=top align=center></td>
            <td width=110 height=40 valign=top align=center></td>

 

  • 4 weeks later...
  • 2 weeks later...
Posted (edited)

a14fcd21fc9ae3e165d8eb987db704a7925.png

can someone give me this bot protection script? most of them are black one and i need to pick colorful one. if everyone works i could give a little bit of money. waiting for answers

@adr.bot

Edited by rageN1x
  • 4 weeks later...
Posted

HI @adr.bot gn. I've managed to set a script for alarm captcha in the server i'm playing:

 

uses
  SysUtils, Classes;
  
function SetForegroundWindow(hwnd: integer):boolean; stdcall; external 'user32.dll';


const
  // words / phrase to detect
  CaptchaTexts: array of string = ['=', 'Question:', '=', '?'];
  // play sound when detected (true - yes / false - no)
  CaptchaSound = true;
  // sound file name (in the Sounds folder)
  CaptchaSoundName = 'hp.wav';
  // highlight the desired window on the taskbar (true - yes / false - no)
  CaptchaFlashWindow = true;
  // move the window to the foreground (true - yes / false - no)
  CaptchaSetForegroundWindow = true;

procedure CaptchaThread(CaptchaTexts: array of string);
var
  a1, a2: integer;
  s1, s2: integer;
  EngineCustom: TL2Control;
  i, j: integer;
  Have: boolean;
  L: TStringList; 
  SoundPath: string;
begin
  SoundPath:= ExePath + 'Sounds\' + CaptchaSoundName;
  if (CaptchaSound) and (not FileExists(SoundPath)) then
  begin
    print('No sound file found. Path: ' + SoundPath);
    Script.Stop;
  end;

  while (true) do
  begin
    delay(1000);
    for i:= 0 to 100 do
    begin
      EngineCustom:= GetControlByIndex(i);    

      if (EngineCustom = nil) then
        break;
      if (EngineCustom.Status <> lsOnline) then
        continue;
        
      Have:= false;
      //print(EngineCustom.hlpText);
      //print(EngineCustom.CBTime);
      print(GetTickCount());
      print(EngineCustom.HlpTime);
      s1:=GetTickCount();
      s2:=EngineCustom.HlpTime;
      print(s1-s2);
       //engine.dlgtext.contains
       
      L:= TStringList.Create; // Create an object (list for strings) 
      L.Add(EngineCustom.hlpText);//(EngineCustom.hlpText); // Add the line to the
      L.Sort;
      //L.SaveToFile('C:/1.html'); // Save the list to the file 
      //L.Free;
      
      if (Pos('Question:', L.Text) > 0) and ((s1-s2) < 19000)then//L.Find('Question:', i) then//EngineCustom.hlpText.contains('Question:') then
        begin
          Have:= true;
          if (Have) then      
          begin
            L.Free;
            PlaySound(exepath+'\sounds\'+'PlayerAlarm'+'.wav');
            delay(5000);
          end;
          //PlaySound(exepath+'\sounds\'+'PlayerAlarm'+'.wav');
           if (user.target.dead) then begin
    while user.incombat do
    delay(1000);
    engine.autosoulshot(5789, true);
    engine.autotarget(2500);
    engine.attack;
    engine.pickup;
  end;
engine.restart; //restart to char select screen;
              engine.gamestart(0); //0 is char id
end
            
              
            end;
          end;
        end;


  
begin
  Script.NewThread(@CaptchaThread(CaptchaTexts));
end.

 

 

 

 

 

 

 

---------

 

 

Alarm works fine. And i added the last 2 lines (engine.restart) since once captcha window appears (tutorial window), if i relog the char, the captcha wont kick me and i can continue playing normally.

But what i dont know how to do, is once alarm sounds (something like...   if (Pos('Question:', L.Text) > 0) and ((s1-s2) < 19000)then//L.Find('Question:', i) ????

Make the char finish aggro mobs and once out of combat relog.

Posted
13 hours ago, iselladena said:

HI @adr.bot gn. I've managed to set a script for alarm captcha in the server i'm playing:

 

uses
  SysUtils, Classes;
  
function SetForegroundWindow(hwnd: integer):boolean; stdcall; external 'user32.dll';


const
  // words / phrase to detect
  CaptchaTexts: array of string = ['=', 'Question:', '=', '?'];
  // play sound when detected (true - yes / false - no)
  CaptchaSound = true;
  // sound file name (in the Sounds folder)
  CaptchaSoundName = 'hp.wav';
  // highlight the desired window on the taskbar (true - yes / false - no)
  CaptchaFlashWindow = true;
  // move the window to the foreground (true - yes / false - no)
  CaptchaSetForegroundWindow = true;

procedure CaptchaThread(CaptchaTexts: array of string);
var
  a1, a2: integer;
  s1, s2: integer;
  EngineCustom: TL2Control;
  i, j: integer;
  Have: boolean;
  L: TStringList; 
  SoundPath: string;
begin
  SoundPath:= ExePath + 'Sounds\' + CaptchaSoundName;
  if (CaptchaSound) and (not FileExists(SoundPath)) then
  begin
    print('No sound file found. Path: ' + SoundPath);
    Script.Stop;
  end;

  while (true) do
  begin
    delay(1000);
    for i:= 0 to 100 do
    begin
      EngineCustom:= GetControlByIndex(i);    

      if (EngineCustom = nil) then
        break;
      if (EngineCustom.Status <> lsOnline) then
        continue;
        
      Have:= false;
      //print(EngineCustom.hlpText);
      //print(EngineCustom.CBTime);
      print(GetTickCount());
      print(EngineCustom.HlpTime);
      s1:=GetTickCount();
      s2:=EngineCustom.HlpTime;
      print(s1-s2);
       //engine.dlgtext.contains
       
      L:= TStringList.Create; // Create an object (list for strings) 
      L.Add(EngineCustom.hlpText);//(EngineCustom.hlpText); // Add the line to the
      L.Sort;
      //L.SaveToFile('C:/1.html'); // Save the list to the file 
      //L.Free;
      
      if (Pos('Question:', L.Text) > 0) and ((s1-s2) < 19000)then//L.Find('Question:', i) then//EngineCustom.hlpText.contains('Question:') then
        begin
          Have:= true;
          if (Have) then      
          begin
            L.Free;
            PlaySound(exepath+'\sounds\'+'PlayerAlarm'+'.wav');
            delay(5000);
          end;
          //PlaySound(exepath+'\sounds\'+'PlayerAlarm'+'.wav');
           if (user.target.dead) then begin
    while user.incombat do
    delay(1000);
    engine.autosoulshot(5789, true);
    engine.autotarget(2500);
    engine.attack;
    engine.pickup;
  end;
engine.restart; //restart to char select screen;
              engine.gamestart(0); //0 is char id
end
            
              
            end;
          end;
        end;


  
begin
  Script.NewThread(@CaptchaThread(CaptchaTexts));
end.

 

 

 

 

 

 

 

---------

 

 

Alarm works fine. And i added the last 2 lines (engine.restart) since once captcha window appears (tutorial window), if i relog the char, the captcha wont kick me and i can continue playing normally.

But what i dont know how to do, is once alarm sounds (something like...   if (Pos('Question:', L.Text) > 0) and ((s1-s2) < 19000)then//L.Find('Question:', i) ????

Make the char finish aggro mobs and once out of combat relog.

function AggroCheck():boolean;
var
	i : integer;
begin
	result := false;
	if npclist.count = 0 then exit;
	for i := 0 to npclist.count -1 do
	begin
		if (npclist(i).target = user) or (npclist(i).atkoid = user.oid) then
		begin
			result := true;
			exit;
		end;
	end;
end;

 

Posted
12 minutes ago, iselladena said:

@adr.bot thank u very much. Should i add that part to the end keeping the "relog" part intact? or add a new function for relog affter aggrocheck?

My knowledge is pretty limited, but i'm trying lol.

ur alarm makes no sense, u need chose if u doing one script for all windows, or only for single window, now is half with get control, half with engine (current control)

  • 1 month later...
Posted

Hi guys,

 

Im trying to setup auto bishop res but its proving impossible, ive been able to have everything working on my bot bp in the party apart  from res/mass res, to use this skill do I need to write a script? Im confused

 

Thanks,

Posted
10 hours ago, fAkeN said:

Party heal-buff > Condition for target 1 > target dead

 

Hello,

 

Its not giving me a "dead" option it gives me "dead <" and "dead>", ive tried a few variations in  the value section next to the option but it doesnt seem to work, am i missing something?

 

Thanks

Posted (edited)

Hi Guys, 

 

Im now trying to configure my own scripts and figured starting with auto buffs and teleporting is a good place to start!!

 

With Gatekeeper it was easy to find the numbers needed to go in the DlgSel

 

Im having a problem with the buffer and the macro section, im able to open dlgesl 12 which is macro buffs but

my problem now is how do i select "Use on me" at the mage setting? is there a way of figuring what dlgsel I need to 

allocate or is it guesswork? or am I going the wrong way about this?

 

Pictures attached, 

 

Thanks, 

 

Screenshot_1.png

Screenshot_2.png

Edited by Zimoki

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Posts

    • L2jMobius has data oriented pathfinder since May. Already have "less memory" used for geodata since 3 weeks ago. Avoiding 1 GB less memory in geodata on latest clients. Not to mention rolling with an actual geodata generator since 3 weeks ago again. We also did actual benchmarks, tests with actual players, and decided to not use AI slop navmesh. I guess working only on a 10 year old client gives you a lot of free time and need to kill your boredom somehow... Need to show some progress somehow... Kinda get it... And unlike aCis we do release our full work every 4 months. So expect to actually see our work on this Christmas release.
    • 🎉 L2-SCRIPTS TURNS 20 🎉 This year marks our studio's 20th anniversary!   ▬▬▬▬▬▬▬▬▬▬   Two decades in the Lineage 2 private server market is a long run — we've seen chronicles, engines and trends come and go. We keep doing what we do best: builds, technical support, turnkey projects, website and engine development, personal account systems, anti-cheat and anti-bot protection, auto-donation systems, unique events, geodata — basically anything your project might need.   🎨 To mark the occasion, we figured it was the perfect time for a fresh look. Honestly, the haters deserve some credit too — they never sleep, and they gave us that extra push to finally update the visuals 😉 We kept the familiar structure and sections intact so nobody gets lost — just made everything more modern and easier on the eyes.   ▬▬▬▬▬▬▬▬▬▬   ⚠️ Spot any bugs or rough edges on the updated site? Let us know and we'll fix it right away. Thanks for being with us for 20 years. It only gets better from here 🚀   🌐 https://l2-scripts.ru   |   https://l2-scripts.com ✈️ https://t.me/L2scripts
    • A full MMORPG that runs in your browser. No download, no launcher, no account with anyone else — click the link and you are in the world. ▶ Play free: https://l2d.one Aden Chronicles is an isometric fantasy MMORPG built in the spirit of the old Lineage 2 servers: classes that branch as you grow, castles that change hands, and world bosses that the whole server has to deal with together. Not a single-player game with a leaderboard attached — one shared world, where the same monsters die once and the same castle has one lord. WHAT IS IN IT 7 regions and 245 hunting grounds, scaling from level 1 to 80 6 classes that branch into 24 professions, then Awakening at 60 201 skills, enchantable past their normal ceiling 174 monster types, raid bosses, and grand bosses shared by the entire server Castle sieges, clans with reputation and wars, the Grand Olympiad 23 armour sets across 6 grades, enchanting, augmentation with life stones Caves and mines you walk down into — tunnels, ore veins, a guardian at the bottom 14 islands reached by ship, 10 pets, from a wolf to a dragon hatchling THE TWO THAT EVERYONE FIGHTS Valakas the World-Flame — level 78, 900,000 HP Aetheron, Sky Sovereign — level 82, 1,400,000 HP They do not respawn for you. They respawn for everybody.   Video -->  
    • I personally like it a lot. I see this not as a replacement but as a supplementary client that can fill different type of gameplay. 
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..