Jump to content

Recommended Posts

Posted

Auto Agument

var 
L2Skill: TL2Skill; 
skill1: TL2Skill; 
skill2: TL2Skill; 
skill3: TL2Skill; 
skill4: TL2Skill; 
NovObj: TL2Skill; 
NovEngine: TL2Control; 
buff: TL2Buff; function keybd_event (bVk, bScan: byte; dwFlags, dwExtraInfo: integer): integer ; stdcall; external 'user32.dll'; function SetCursorPos (x, y: integer): boolean; stdcall; external 'user32.dll'; function mouse_event (dwFlags, dx, dy, dwData: byte; dwExtraInfo: integer): void; stdcall; external 'user32.dll'; function GetSkill (const Control: String; const ID: Cardinal): TL2Skill; begin NovEngine: = GetControl (control); if Assigned (NovEngine) and NovEngine.GetSkillList.ByID (ID, NovObj) then Result : = NovObj; delay (10000) end; procedure pressKey (hexCode: BYTE); begin   keybd_event (hexCode, 45, 1, 0);   delay (200); end; procedure mouseClick (x, y, _delay: integer); begin   SetCursorPos (x, y);   mouse_event ($ 2, 0, 0, 0, 0);   delay (_delay);   mouse_event ($ 4, 0, 0, 0, 0); end; procedure mouseDown (x, y, _delay: integer ); begin   SetCursorPos (x, y);   mouse_event ($ 2, 0, 0, 0, 0);   // delay (_delay);   // mouse_event ($ 4, 0, 0, 0, 0); end; procedure mouseUp ( x, y, _delay: integer); begin   SetCursorPos (x, y);   // mouse_event ($ 2, 0, 0, 0, 0);   // delay (_delay);   mouse_event ($ 4, 0, 0, 0, 0 ); end; // coordinate of the higher edge of the box augmentation \\ \\ 486 144 // coordinate of the higher edge of the box cancel \\ \\ 485 413 // coordinate of the higher edge of the box inventory \\ 203 \\ 1072 // active REFRESH 3199 // Reflect active 3204 // virgin 3158 // active PvP Mait 3134 // Passive Reflect 3259 // active refresh2 3202 // weight limit 3251 // Passive pvp Mait 3243 begin delay (10,000); while 1 <> 2 do begin if (not SkillList.ByID (3243, skill1)) then begin // remove augment      mouseDown (884, 1010, 1000); // click on the feathers (coordinate location puhi. it must necessarily be in the hands of)      delay (300);      mouseUp (486, 700, 1000); // Fluff drag the window aukmenta cancellation and release      delay (300);      mouseClick (445, 829, 200); // Confirm cancellation augment (augment cancel confirmation button)      delay (3000); // Waiting for the augmentation      mouseClick (445, 829, 200); // Push for the next augmentation (after HP pulled out)      delay (300); // insert the new augment      mouseDown (884, 1010, 1000); // click on the feathers (coordinate location puhi. it must necessarily be in the hands of)      delay (300);      mouseUp (446, 390, 1000); // Aukmenta drag the window and release      delay (300);      mouseDown (1156 897 1000); // click on the LAN      delay (300);      mouseUp (526, 392, 1000); // Aukmenta drag the window and release      delay (300);      mouseDown (1197, 897, 1000); // click on gemston      delay (300);      mouseUp (485, 432, 1000); // Aukmenta drag the window and release      delay (300);      mouseClick (440, 562, 200); // Confirm augment      delay (4300); // Waiting for the augmentation      mouseClick (440, 562, 200); // Push for the next augmentation      delay (100);      end; if (SkillList.ByID (3243, skill2)) then begin PlaySound (exepath + '\ sounds \' + 'dc' + '.wav', False); delay ( 5000); end; end; end.     

Auto SOS charging

const
SOS_ID = 789;//Spirit of Shilen
POS_ID = 788;//Pain of Shilen
TRIGGER_ID = 5564;//Pain of Shilen trigger
ATTACK_PET = false;
var
sosSkill,posSkill: TL2skill;
sosBuff,triggerBuff: TL2buff;
begin
  while true do begin
    if not user.buffs.byid(SOS_ID,sosBuff) then begin
      if (skilllist.byid(SOS_ID,sosSkill) and (sosSkill.endtime = 0)) and (skilllist.byid(POS_ID,posSkill) and (posSkill.endtime = 0)) then begin
        engine.useskill(posSkill);
        delay(500);
        print('Triggering lvl3 of '+posSkill.name);
        while user.buffs.byid(TRIGGER_ID,triggerBuff) and not (triggerBuff.level >= 3) do begin
          if ATTACK_PET and (petlist.count > 0) then begin
             if (user.target.name = '') then engine.settarget(petlist.items(0));
             engine.attack(true);
          end;
          delay(150);
        end;
        if (triggerBuff.level >= 3) then begin
          print('Using '+sosSkill.name);
          engine.useskill(sosSkill);
        end;
      end;
    end;
    delay(500);
  end;
end.

Anti Disarm

var
item: TL2Item;

begin
while true do begin
delay(500);

if inventory.user.byid(10771, item) and not (Item.Equipped) then begin
Delay(500);
Engine.UseItem(10771); <<< Replace with ur weapon id
Delay(800);
end;

Imperial Tomb Auto Farm LS

uses sysutils;

Procedure shotaipotai;
var
potion,shotuS,spirit,shotuB: tl2item;
 begin
while true do begin
delay(100000);
if inventory.user.byid(3031,spirit) and ((spirit.count)< 1000) then
engine.say(inttostr(spirit.count)+' spirit orie',3,'nick');
if not inventory.user.byid(3031,spirit) then
engine.say('spirit ore end!',3,'nick');
if inventory.user.byid(728,potion) and ((potion.count)< 100) then
engine.say(inttostr(potion.count)+' manos',3,'nick');
if not inventory.user.byid(728,potion)  then
engine.say('mana end!!',3,'nick');
if inventory.user.byid(3952,shotuS) and ((shotuS.count)< 1100) then
engine.say(inttostr(shotuS.count)+' S shots',3,'nick');
if not inventory.user.byid(3952,shotuS)  then
engine.say('S shots ended',3,'nick');
end;
end;

procedure bufai;
var
buff1: TL2Effect;
item: TL2Item;
function CheckBuff: Boolean;
begin
if not user.buffs.byid(1204, buff1) then begin / wind walk
        Result:=false;
        Print('Buffs are needed. Buffing...');
        engine.bypasstoserver('custom_dobuff ProfBuffs MAGE');  // change mage to your scheme name 
        Print('Buffed.');  
      exit;
    end;
Result:=true;
end;

function CheckStatus: Boolean;
begin
Result:=true;
    if User.Dead then begin
        Print('Dead. Pressing to village.');
        Delay(1000);
        Engine.FaceControl(0,false);
        Engine.GoHome;
        Delay(10000);
    end;
Result:=false;
end;

begin
while true do begin
delay(150);
CheckStatus;
if user.inrange(146272, -58176, -2976, 450)
  then
    begin
    Engine.MoveTo(147593, -58103, -3007);
    Engine.MoveTo(147727, -57141, -2807);
    Engine.MoveTo(147936, -55368, -2760);
    end;
    
if user.inrange(145264, -57680, -2976, 450)
  then
    begin
    Engine.MoveTo(145588, -56926, -3007);
    Engine.MoveTo(146673, -56095, -2807);
    Engine.MoveTo(147543, -56054, -2807);
    Engine.MoveTo(147936, -55368, -2760);
    end;
    
if user.inrange(145696, -57696, -2976, 450)
  then
    begin
    Engine.MoveTo(145510, -56930, -3007);
    Engine.MoveTo(146499, -56202, -2807);
    Engine.MoveTo(147481, -56031, -2807);
    Engine.MoveTo(147936, -55368, -2760);
    end;
    
if user.inrange(144944, -55392, -2976, 450)
  then
    begin
    Engine.MoveTo(145153, -56813, -3007);
    Engine.MoveTo(145569, -56855, -3007);
    Engine.MoveTo(146467, -56271, -2807);
    Engine.MoveTo(147566, -56034, -2807);
    Engine.MoveTo(147936, -55368, -2760);
    end;
    
if user.inrange(144752, -56752, -2976, 450)
  then
    begin
    Engine.MoveTo(145534, -56884, -3007);
    Engine.MoveTo(146265, -56418, -2807);
    Engine.MoveTo(147407, -56063, -2807);
    Engine.MoveTo(147936, -55368, -2760);
    end;  
if user.inrange(149120, -58064, -2976, 450)
  then
    begin
    Engine.MoveTo(147706, -58107, -3007);
    Engine.MoveTo(147751, -56737, -2807);
    Engine.MoveTo(147936, -55368, -2760); 
    end;
    
if user.inrange(150400, -56752, -2976, 450)
  then
    begin
    Engine.MoveTo(149935, -56870, -3007);
    Engine.MoveTo(149139, -56390, -2807);
    Engine.MoveTo(147929, -56063, -2807);
    Engine.MoveTo(147936, -55368, -2760);
    end;
    
if user.inrange(150704, -55744, -2976, 450)
  then
    begin
    Engine.MoveTo(149935, -56870, -3007);
    Engine.MoveTo(149139, -56390, -2807);
    Engine.MoveTo(147929, -56063, -2807);
    Engine.MoveTo(147936, -55368, -2760);
    end;  
if user.inrange(147680, -58208, -2976, 450)
  then
    begin
    Engine.MoveTo(147727, -57141, -2807);
    Engine.MoveTo(147936, -55368, -2760);
    end;
    
if user.inrange(148288, -58304, -2976, 450)
  then
    begin
    Engine.MoveTo(147738, -58050, -3007);
    Engine.MoveTo(147727, -57141, -2807);
    Engine.MoveTo(147936, -55368, -2760);
    end;
    
if user.inrange(147232, -58480, -2976, 450)
  then
    begin
    Engine.MoveTo(147677, -58063, -3007);
    Engine.MoveTo(147727, -57141, -2807);
    Engine.MoveTo(147936, -55368, -2760);
    end;
    
if user.inrange(149088, -56256, -2776, 450)
  then
    begin
    Engine.MoveTo(147854, -56054, -2807);
    Engine.MoveTo(147934, -55354, -2760);
    end;
if user.inrange(146832, -55904, -2776, 450)
  then
    begin
    Engine.MoveTo(147529, -56046, -2807);
    Engine.MoveTo(147936, -55368, -2760);
    end;
    
if user.inrange(146368, -56256, -2776, 450)
  then
    begin
    Engine.MoveTo(147529, -56046, -2807);
    Engine.MoveTo(147936, -55368, -2760);
    end;
    
if user.inrange(147664, -56464, -2776, 450)
  then
    begin
    Engine.MoveTo(147936, -55368, -2760);
    end;
    
if user.inrange(147680, -56928, -2776, 450)
  then
    begin
    Engine.MoveTo(147810, -56110, -2807);
    Engine.MoveTo(147936, -55368, -2760);
    end;
    
if user.inrange(148560, -55904, -2776, 450)
  then
    begin
    Engine.MoveTo(147936, -55368, -2760);
    end;
    
    if user.inrange(149872, -57424, -2976, 450)  
  then
    begin
    Engine.MoveTo(149897, -56910, -2979);
    Engine.MoveTo(149230, -56412, -2779);
    Engine.MoveTo(147939, -55999, -2772);
    Engine.MoveTo(147936, -55368, -2760);
    end;
    
if user.inrange(144960, -56224, -2976, 450)  
  then
    begin
    Engine.MoveTo(145458, -56853, -2979);
    Engine.MoveTo(146343, -56326, -2779);
    Engine.MoveTo(147625, -55995, -2772);
    Engine.MoveTo(147936, -55368, -2760);
    end;
    
if user.inrange(144496, -55088, -2976, 450)  
  then
    begin
    Engine.MoveTo(145327, -56873, -2979);
    Engine.MoveTo(146337, -56445, -2779);
    Engine.MoveTo(147533, -55963, -2766);
    Engine.MoveTo(147936, -55368, -2760);
    end;
    
if user.inrange(145392, -56960, -2976, 450) 
  then 
   begin
        Engine.MoveTo(146347, -56305, -2779);
        Engine.MoveTo(147514, -56003, -2772);
        Engine.MoveTo(147936, -55368, -2760);
    end;
    
    if user.inrange(147936, -55368, -2760, 350) then begin
        CheckBuff;
    end;
    if user.inrange(147932, -55213, -2735, 3000) and User.Buffs.ByID(1204, Buff1) then begin
        Print('Going back to spot.');
        Engine.SetTarget(31275);
        Engine.DlgOpen;
        Delay(2111);
        Engine.DlgSel('I want to use the Noblesse Only: Teleport');
        Delay(2111);
        engine.bypasstoserver('npc_268467360_Chat 2');   //must change npc numbers by your server
        Delay(2111);
        engine.bypasstoserver('npc_268467360_goto 9067');  //must change npc numbers by your server
        Delay(5000);
    end;
    if user.inrange(178113, -84441, -7211, 500) then begin
        Print('Varka Silenos Village. Moving to exping place.');
 Engine.MoveTo(178284, -83352, -7245);
 Engine.MoveTo(177850, -83240, -7246);
 Engine.MoveTo(178035, -82322, -7246);
 Engine.MoveTo(181003, -82492, -6621);
 Engine.MoveTo(181306, -83988, -6621);
 Engine.MoveTo(183715, -83856, -5993);
 Engine.MoveTo(183715, -81567, -5360);
 Engine.MoveTo(183657, -81287, -5320);
 
        Print('Exp mode: ON');
        Delay(500);
        Engine.FaceControl(0, true);
    end;
end;
end;
begin //start of main body
Script.NewThread(@shotaipotai); delay(60);
Script.NewThread(@bufai);
end. //end of main body

Auto Mana Burn Enemys Healer

procedure burn (p: pointer);
var
P1, P2 : pointer;
Actor: TL2Live;
begin
try
    while Engine.Status = lsOnline do begin
        Engine.WaitAction([laCast], P1, P2);
        Actor := TL2Live(P1);
        if (not (Actor.IsMember) and (Actor.Cast.ID = 123) and (User.DistTo(Actor)<900)) then
            begin
            if Engine.SetTarget(Actor.Name) then
                Engine.UseSkill(3110); //mana burn
            end;
    end;
except
    print ('ProtectCaster error');
end;
end;

begin
Script.NewThread(@burn);
end.

enjoy  :not bad:

Posted

pvp assist does not work, but nothing I tried with conditions,

need the answer 

if you use Party Settings>Assist , then need put skills to Attack to make assist work

Posted (edited)

if you use Party Settings>Assist , then need put skills to Attack to make assist work

does not work, I can justify

I tried all methods,Only monsters works

Edited by valentin
  • 2 months later...
Posted
Some script to healer? My bot is buggy, sometimes happens a bug using the configurations of own bot and he spends the full mana and not to give heal.

 

If someone ttiver a script to heal in a party, would help a lot!

Posted (edited)
procedure burn (p: pointer);
var
P1, P2 : pointer;
Actor: TL2Live;
begin
try
while Engine.Status = lsOnline do begin
Engine.WaitAction([laCast], P1, P2);
Actor := TL2Live(P1);
if (not (Actor.IsMember) and (Actor.Cast.ID = 123) and (User.DistTo(Actor)<900)) then
begin
if Engine.SetTarget(Actor.Name) then
Engine.UseSkill(3110); //mana burn
end;
end;
except
print ('ProtectCaster error');
end;
end;

begin
Script.NewThread(@burn);
end.

Someone know how to add to this script , the target does not take players from my clan or ally.

 

In Lineage 2 Interlude!

if (not (Actor.IsMember) and (Actor.Cast.ID = 123) and (User.DistTo(Actor)<900)) and (actor.clan=XXX) then

it does not work in this chronicle , because l2 adr not read clans in l2 interlude

Edited by Murzyn

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.



×
×
  • Create New...