Форум работает в тестовом режиме. Все данные были перенесены со старого сайта 2018 года. Некоторая информация может быть недоступна, например вложения или хайды. Просьба сообщать о данных случаях через функционал "Жалоба", прямо под постом, где отсуствуют данные из хайда или проблемы с вложением.
Могут быть проблемы в "выкидыванием" с форума (слетевшей авторизацией). Нужно собрать статистику таких случаев.
Есть Тема, куда можете сообщить о проблемах с сайтом либо просто передать привет.

Харнак кач 3 этаж, Баф каждые 30 мин. после бафа смена спота.

Рег
28 Ноя 2015
Сообщения
11
Реакции
0
Пример смены спота после бафа.
Кто то спрашивал.
Вот завалялся, пользуйтесь.


uses SysUtils;
var
buff: TL2Buff;
Rand: integer;
procedure nobuff;

begin
if not User.Buffs.Byid(15649, buff) or (buff.EndTime < 1800000) or User.Dead then begin
print('Умер либо кончился баф');


Engine.useitem(736);
Delay(30000);
engine.GoHome;
Engine.FaceControl(0, false);
if User.InRange(-114396, 255205,User.Z,10000,10) then begin
Engine.MoveTo(-114396, 255205, -1520); //по середине
Engine.MoveTo(-114313, 255480, -1538);
Engine.MoveTo(-114028, 255850, -1538);
Engine.MoveTo(-114008, 256016, -1538);
end;

if User.InRange(-114008, 256016,User.Z,500,10) then begin
Delay(1000);
engine.settarget(32327);
Engine.DlgOpen; Delay(1000);
Engine.DlgSel (1); Delay(1000);
Engine.DlgSel (2);
Engine.canceltarget;

end;
Delay(10000);
HarnakTp;
end;






end;



procedure HarnakTp;
begin
nobuff;
//Engine.MoveTo(-113986, 255982, -1512);у баф Engine.MoveTo(-113499, 256614, -1531);гк
if User.Buffs.Byid(15649, buff) or (buff.EndTime > 1800000) then begin
Engine.MoveTo(-113771, 256216, -1537);
Engine.MoveTo(-113508, 256375, -1496);
Engine.MoveTo(-113499, 256614, -1531);


if User.InRange(-113499, 256614,User.Z,500,10) then begin
Delay(1000);
engine.settarget(30006);
Engine.DlgOpen; Delay(1000);
Engine.DlgSel (1); Delay(1000);
Engine.DlgSel ('Руины Эсагира');
Engine.canceltarget;
Delay(10000);
end;

end;
//Engine.MoveTo(-109300, 237498, -2944);
if User.InRange(-109300, 237498,User.Z,500,10) then begin
Delay(1000);
engine.settarget(33180);
Engine.DlgOpen; Delay(1000);
Engine.DlgSel (1); Delay(1000);
// Engine.DlgSel ('Руины Эсагира');
// Engine.canceltarget;
Delay(5000);
end;
//Engine.MoveTo(-115023, 230190, -1681);
if User.InRange(-115023, 230190,User.Z,500,10) then begin
Delay(1000);
engine.settarget(33197);
Engine.DlgOpen; Delay(1000);
Engine.DlgSel (1); Delay(1000);
// Engine.DlgSel ('Руины Эсагира');
// Engine.canceltarget;
Delay(5000);
end;

//Engine.MoveTo(-115005, 237383, -3088);
if User.InRange(-115005, 237383,User.Z,500,10) then begin
Engine.MoveTo(-115445, 236980, -3115);
Engine.MoveTo(-115940, 236610, -3115);
Engine.MoveTo(-116176, 236426, -3115);

Delay(1000);
engine.settarget(33344);
Engine.DlgOpen; Delay(1000);
Engine.DlgSel (3); Delay(5000);
// Engine.DlgSel ('Руины Эсагира');
// Engine.canceltarget;
Delay(2500);
Delay(1000);
Engine.MoveTo(-114700, 147909, -7720);
engine.settarget(33303);
Engine.DlgOpen; Delay(1000);
Engine.DlgSel (2); Delay(5000);
// Engine.DlgSel ('Руины Эсагира');
// Engine.canceltarget;
Delay(5000);

end;
//Engine.MoveTo(-114972, 150403, -13856);
if User.InRange(-114972, 150403,User.Z,500,10) then begin
HarnakRandom;
end;
end;

procedure HarnakRandom;
begin
begin
Rand := 1 + Random(5); // Эти 5 значений дают диапазон 0..5

Case Rand of

1:begin
Print('1 место кача');
if User.InRange(-114972, 150403,User.Z,500,10) then begin
Engine.MoveTo(-115774, 150586, -13868);
Engine.MoveTo(-116994, 150670, -13867);
Engine.MoveTo(-118303, 150703, -13867);
Engine.MoveTo(-118395, 150987, -13867);
Engine.MoveTo(-118419, 151623, -13866);
Engine.MoveTo(-118428, 152239, -13863);
end;

while delay(1000) do begin
nobuff;

if User.InRange(-118428, 152239,User.Z,900,10) and not User.Dead then begin // 187144, -17641, -1344
Engine.LoadConfig(exepath+'\Settings\'+'Вашник'+'.xml');
Engine.FaceControl(0, true);
Engine.FaceControl(1, True);
Delay(3000);

end;


if (user.level >= 90) then begin
Engine.useitem(736);
Delay(15000);

end;


end;



end;

2:begin
Print('2 место кача');
if User.InRange(-114972, 150403,User.Z,500,10) then begin

Engine.MoveTo(-115556, 151511, -13868);
Engine.MoveTo(-116177, 151948, -13865);
Engine.MoveTo(-116671, 152017, -13868);
Engine.MoveTo(-116681, 152893, -13868);
Engine.MoveTo(-116784, 154097, -13868);
Engine.MoveTo(-117516, 154224, -13869);
Engine.MoveTo(-118028, 154212, -13867);
Engine.MoveTo(-118280, 154226, -13867);
end;

while delay(1000) do begin
nobuff;

if User.InRange(-118280, 154226,User.Z,900,10) and not User.Dead then begin // 187144, -17641, -1344
Engine.LoadConfig(exepath+'\Settings\'+'ВашНик'+'.xml');
Engine.FaceControl(0, true);
Engine.FaceControl(1, True);
Delay(3000);

end;


if (user.level >= 90) then begin
Engine.useitem(736);
Delay(15000);

end;


end;



End;

3:begin
Print('3 место кача');



if User.InRange(-114972, 150403,User.Z,500,10) then begin
Engine.MoveTo(-113511, 150649, -13868);
Engine.MoveTo(-112457, 150675, -13868);
Engine.MoveTo(-111358, 150674, -13866);
Engine.MoveTo(-110978, 150899, -13868);
Engine.MoveTo(-110972, 151571, -13867);
Engine.MoveTo(-111001, 152232, -13866);
end;

while delay(1000) do begin
nobuff;

if User.InRange(-111001, 152232,User.Z,900,10) and not User.Dead then begin // 187144, -17641, -1344
Engine.LoadConfig(exepath+'\Settings\'+'ВашНик'+'.xml');
Engine.FaceControl(0, true);
Engine.FaceControl(1, True);
Delay(3000);

end;


if (user.level >= 90) then begin
Engine.useitem(736);
Delay(15000);

end;


end;




End;

4:begin
Print('4 место кача');


if User.InRange(-114972, 150403,User.Z,500,10) then begin
Engine.MoveTo(-114787, 151867, -13868);
Engine.MoveTo(-114743, 153023, -13867);
Engine.MoveTo(-114727, 153967, -13869);
Engine.MoveTo(-114719, 154155, -13869);

end;

while delay(1000) do begin
nobuff;

if User.InRange(-114719, 154155,User.Z,900,10) and not User.Dead then begin // 187144, -17641, -1344
Engine.LoadConfig(exepath+'\Settings\'+'ВашНик'+'.xml');
Engine.FaceControl(0, true);
Engine.FaceControl(1, True);
Delay(3000);

end;


if (user.level >= 90) then begin
Engine.useitem(736);
Delay(15000);

end;


end;




End;

5:begin
Print('5 место кача');

if User.InRange(-114972, 150403,User.Z,500,10) then begin
Engine.MoveTo(-115523, 149816, -13868);
Engine.MoveTo(-116259, 149126, -13866);
Engine.MoveTo(-116748, 148626, -13866);
Engine.MoveTo(-117157, 148228, -13863);
Engine.MoveTo(-117504, 147904, -13864);
end;

while delay(1000) do begin
nobuff;

if User.InRange(-117504, 147904,User.Z,900,10) and not User.Dead then begin // 187144, -17641, -1344
Engine.LoadConfig(exepath+'\Settings\'+'ВашНик'+'.xml');
Engine.FaceControl(0, true);
Engine.FaceControl(1, True);
Delay(3000);

end;


if (user.level >= 90) then begin
Engine.useitem(736);
Delay(15000);

end;


end;





End;




End;



end;

end;



begin
while 1<>2 do begin
if (User.Level < 91) then Harnaktp;

delay(3000);
end;
end.
 
Возьму для своих нароботок.
 
Удобный скриптик спасибки. Ещё бы туда впихнуть проверку если спот занят искать следующий.
 
Назад
Сверху