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: