Jump to content

Recommended Posts

Posted

 This is my script so far to buff in fairy village and to tp to hunting zone....

how would i make it so it checks buffs? and then starts this script once in town and to repeat?

 

thanks I have a present for someone who hels me $$$ 5USD

 

begin
       Engine.MoveTo(207024, 87179, -1068);
       Engine.MoveTo(207175, 86858, -1053);
       Engine.SetTarget (32327);
       Engine.DlgOpen;
       Delay (500);
       Engine.DlgSel(1);
       Delay (500);
       Engine.DlgSel(2);
       Engine.MoveTo(207463, 86894, -1035);
       Engine.MoveTo(207487, 86556, -1032);
       Engine.SetTarget (32912);
       Engine.DlgOpen;
       Engine.DlgSel(1);
      end.

Posted (edited)

Just edit for you server, this is for old talesky with alt+b:

var MP, Shot: TL2Item;
buff: TL2Buff;
function buffCheck: Boolean;
begin
    if (not User.Buffs.ByID(1062, buff) or (buff.endtime<300000)) then begin //1062 wich buff id checking
        Result:=true;
        Delay(1000);
        Engine.BypassToServer('_bbshome');    //buffer alt and b
        Delay(1000);
        Engine.BypassToServer('02');
        Delay(1000);
        Engine.BypassToServer('0b');
        Delay(1000);
        Engine.BypassToServer('0c');
        Delay(1000);
        Engine.BypassToServer('018');
        Delay(1000);
        Engine.BypassToServer('018');
        Delay(1000);
    end;
Result:=false;
end;

function BuyMP:boolean;
begin
if not Inventory.User.ByID(728, MP) or (MP.count<10) then begin //728 mp id ,10 or less then buy MP so probably change it for your count
result:=true;
        Delay(1000);
        Engine.BypassToServer('_bbshome'); // alt and b codes to buy mp
        Delay(1000);
        Engine.BypassToServer('02');
        Delay(1000);
        Engine.BypassToServer('0c');
        Delay(1000);
        Engine.BypassToServer('01f');
        Delay(1000);
        Engine.NpcExchange(728, 2);  //728 mp id, 2 is count how many buy it
        delay(1000);
        end;
        result:=false;
end;

function BuyShot:boolean;
begin
if not Inventory.User.ByID(1463, Shot) or (Shot.count<900) then begin //1463 is d grade shot id, change for your shot id, 900 or less then buy shots
result:=true;
        Delay(1000);
        Engine.BypassToServer('_bbshome');    //alt and b to shots
        Delay(1000);
        Engine.BypassToServer('02');
        Delay(1000);
        Engine.BypassToServer('0c');
        Delay(1000);
        Engine.BypassToServer('020');
        Delay(1000);
        Engine.NpcExchange(1463, 50);   //1463 id, 50 is count wich buy
        delay(1000);
        end;
        result:=false;
end;


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

begin
while true do begin
delay(150);
                    //town coordinates     range                 //buff id wich check                        //shot id                              //mp id
    if user.inrange(-83064, 150600, -3104, 5000) and User.Buffs.ByID(1062, buffCheck) and Inventory.User.ByID(1463, BuyShot) and Inventory.User.ByID(728, BuyMP) then begin
        Print('Teleport.');
        delay(1000);
        Engine.BypassToServer('_bbshome'); //alt and b where teleport
        delay(1000);
        Engine.BypassToServer('02');
        delay(1000);
        Engine.BypassToServer('0a');
        delay(1000);
        Engine.BypassToServer('031');
        delay(1000);
        Engine.BypassToServer('0a');
        Delay(10000);
    end;                      
                             
    if user.inrange(-41555, 210012, -5064, 300) then begin  //coordinates after teleport
        Print('Moving');
        Engine.MoveTo(-41608, 210904, -5064);      //path to spot
        Engine.MoveTo(-41752, 210984, -5064);
        Engine.MoveTo(-42696, 210984, -5064);
        Print('ON!');
        Delay(500);
        Engine.FaceControl(0, true);  //turn on bot
        while not deadCheck do delay(1000); //while not dead, do nothing and wait.
    end;
end;
end.

Credits i think adr.bot

Edited by Anitah
Posted (edited)

var
item: TL2Item;

function buffCheck: Boolean;
var buff: TL2Buff;
begin
    if not User.Buffs.ByID(15653, buff) then begin
        Result:=true;
        Print('Buffs are needed. Buffing...');
        Engine.UseItem(736);
        Delay(65000);
        Engine.MoveTo(207208, 86855, -1053);
        Delay(5000);
        Engine.SetTarget(32327); // NPC ID
        Delay(500);
        Engine.DlgOpen;
        Delay(500);
        Engine.DlgSel(1);
        Delay(500);
        Engine.DlgSel(2);
        Print('Buffed.');
        Engine.MoveTo(207448, 86909, -1041);
        Engine.MoveTo(207474, 86590, -1032);
    end;
Result:=false;
end;

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

begin
while true do begin
delay(150);

    if User.Buffs.ByID(15653, buffCheck) then begin
        Engine.MoveTo(207526, 86582, -1032);
        Delay(2400);
        Print('Teleport to Apostate.');
        Engine.SetTarget(32912);
        Engine.DlgOpen;
        Delay(500);
        Engine.DlgSel(1);
        Delay(5000);
    end;    
                          
    if User.Buffs.ByID(15653, buffCheck) then begin
        Print('Apostate. Moving to spot');
    Engine.MoveTo(215609, 79801, 800);
    Engine.MoveTo(215640, 79803, 800);
    Engine.MoveTo(215551, 79888, 800);
    Engine.MoveTo(217136, 78632, 901);
    Engine.MoveTo(217274, 78575, 933);
    Engine.MoveTo(217654, 78308, 1016);
    Engine.MoveTo(217611, 77029, 979);
      Engine.MoveTo(-13736,-247848,-8160);
        Print('AA farm: ON!');
        Delay(500);
        Engine.FaceControl(0, true);
        while not deadCheck do delay(1000); //while not dead, do nothing and wait.
    end;
end;
end.

 

 

this is what i have so far

Edited by marleey777
Posted (edited)

What does Engine.bypasstoserver mean

 

Hmm me english so bad for explain that, but in "x" servers this  Engine.DlgSel(1); dont work cause u need use "bypass" so you need use Engine.bypasstoserver

Edited by Anitah

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...