Can someone please help me.
I have problems in auto rebuff + farm
Where can I find the Buff ID. Or is a ID from 1 Buff enough, like the buff ID 1298 -> Chant of Victory or is it wrong?
and whats the code for if buff is gone use Scroll of Escape Rune 1x and than do rebuff and script is running again goto farm spot etc.
My Script so far.
Starts buffing + Teleport + go to farm place
Maybe easier to add here only useItem "Scroll of Escape Rune" after 1 hour and begin script again like a endless loop:
var buff: TL2Buff;
begin
Engine.MoveTo(43920, -47720, -792);
Engine.SetTarget(31774); // NPC ID
Delay(500);
Engine.DlgOpen;
Delay(500);
Engine.DlgSel(1);
Delay(500);
Engine.DlgSel(4);
Delay(500);
Engine.DlgSel(5);
Delay(500);
Engine.DlgSel(6);
Delay(500);
Engine.DlgSel(7);
Delay(500);
Engine.DlgSel(8);
Delay(500);
Engine.DlgSel(12);
Delay(500);
Engine.MoveTo(43830, -47650, -792);
Engine.SetTarget(31320); // NPC ID
Engine.DlgOpen;
Delay(500);
Engine.DlgSel(14);
Delay(500);
Engine.DlgSel(13);
Delay(500);
Engine.MoveTo(122885, -74848, -2880);
Engine.MoveTo(120735, -74870, -3264);
Engine.MoveTo(120805, -76332, -3264);
Engine.MoveTo(119212, -76401, -3392);
Engine.MoveTo(118980, -76086, -3392);
end.
Or the harder one detecting the buff's but this isn*t working. Added e.g. Chant of Victory Buff ID press play run script no cov buff there but nothing happend :/
var item: TL2Item;
var buff: TL2Buff;
function buffCheck: Boolean;
begin
if not User.Buffs.ByID(1363, buff) then begin
Result:=true;
Engine.MoveTo(43920, -47720, -792);
Engine.SetTarget(31774); // NPC ID
Delay(500);
Engine.DlgOpen;
Delay(500);
Engine.DlgSel(1);
Delay(500);
Engine.DlgSel(4);
Delay(500);
Engine.DlgSel(5);
Delay(500);
Engine.DlgSel(6);
Delay(500);
Engine.DlgSel(7);
Delay(500);
Engine.DlgSel(8);
Delay(500);
Engine.DlgSel(12);
Delay(500);
Engine.MoveTo(43830, -47650, -792);
Engine.SetTarget(31320); // NPC ID
Engine.DlgOpen;
Delay(500);
Engine.DlgSel(14);
Delay(500);
Engine.DlgSel(13);
Delay(500);
Engine.MoveTo(122885, -74848, -2880);
Engine.MoveTo(120735, -74870, -3264);
Engine.MoveTo(120805, -76332, -3264);
Engine.MoveTo(119212, -76401, -3392);
Engine.MoveTo(118980, -76086, -3392);
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);
end;
end.