- Рег
- 25 Янв 2016
- Сообщения
- 8
- Реакции
- 0
Доброго времени суток! Купил адреналин и юзал его только через интерфейс, сопартийцы рассказали о безграничных возможностях бота при использовании скриптов. Попытался сам написать по примеру других и вот что получилось....
по идее он должен фармить каты бегая по кругу и обходя при этом 5 комнат.
Пожалуйста помогите исправить ошибку!
uses SysUtils, Classes;
function MobInZone: boolean;
var
obj: TL2NPC;
obj2: TL2Effect;
Enemy: TL2Live;
begin // проверка команты на наличие мобов
result:= False;
for mob:=0 to npclist.count-1 do begin
if npclist.items(mob).inzone and not npclist.items(mob).dead then begin
if npclist.items(mob).z > (user.z-400) then begin
if npclist.items(mob).z < (user.z+400) then begin
result:= true;
end;
end;
end;
end;
end;
procedure sdoh;
begin
Engine.FaceControl(0,false);
delay (2000);
Engine.GoHome;
Delay(5000);
engine.bypasstoserver('_bbshome'); // Альт+б баф
delay (1000);
engine.bypasstoserver('02');
delay (1000);
engine.bypasstoserver('0b');
delay (1000);
engine.bypasstoserver('01a');
delay (1000);
engine.bypasstoserver('_bbsgetfav');
delay (3000);
engine.bypasstoserver('_bbshome'); // Альт+б телепорт
delay (1000);
engine.bypasstoserver('02');
delay (1000);
engine.bypasstoserver('0a');
delay (1000);
engine.bypasstoserver('031');
delay (1000);
engine.bypasstoserver('010');
delay (1000);
Engine.MoveTo(83528, 209944, -5416); // бежит до первой комнаты
Engine.MoveTo(84440, 210120, -5416);
Engine.MoveTo(84440, 211032, -5416);
Engine.MoveTo(83704, 211112, -5416);
Engine.FaceControl(0,true);
end;
procedure farm;
begin
engine.LoadZone('Saint_1.zmap');
engine.FaceControl(0, true);
while MobInZone do delay(500);
engine.FaceControl(0, false);
Engine.MoveTo(83432, 211864, -5416);
Engine.MoveTo(83448, 213640, -5416);
engine.LoadZone('Saint_2.zmap');
engine.FaceControl(0, true);
while MobInZone do delay(500);
engine.FaceControl(0, false);
Engine.MoveTo(83672, 213832, -5416);
Engine.MoveTo(85432, 213832, -5416);
engine.LoadZone('Saint_3.zmap');
engine.FaceControl(0, true);
while MobInZone do delay(500);
engine.FaceControl(0, false);
Engine.MoveTo(85528, 213608, -5416);
Engine.MoveTo(85512, 212712, -5416);
engine.LoadZone('Saint_4.zmap');
engine.FaceControl(0, true);
while MobInZone do delay(500);
engine.FaceControl(0, false);
Engine.MoveTo(85512, 211144, -5416);
Engine.MoveTo(85608, 210520, -5416);
Engine.MoveTo(86040, 210344, -5416);
Engine.MoveTo(86120, 209896, -5416);
Engine.MoveTo(86120, 209192, -5416);
engine.LoadZone('Saint_5.zmap');
engine.FaceControl(0, true);
while MobInZone do delay(500);
engine.FaceControl(0, false);
Engine.MoveTo(86120, 209192, -5416);
Engine.MoveTo(86104, 209880, -5416);
Engine.MoveTo(86024, 210312, -5416);
Engine.MoveTo(85624, 210536, -5416);
Engine.MoveTo(85224, 211640, -5416);
Engine.MoveTo(84936, 211752, -5416);
Engine.MoveTo(84616, 211704, -5416);
Engine.MoveTo(84376, 211144, -5416);
Engine.MoveTo(83464, 211112, -5416);
end;
procedure baff; // proverka na re baff
begin
Engine.FaceControl(0,false);
Delay(5000);
engine.bypasstoserver('_bbshome'); // Альт+б баф
delay (1000);
engine.bypasstoserver('02');
delay (1000);
engine.bypasstoserver('0b');
delay (1000);
engine.bypasstoserver('01a');
delay (1000);
engine.bypasstoserver('_bbsgetfav');
delay (3000);
engine.bypasstoserver('_bbshome'); // альт+б телепорт
delay (1000);
engine.bypasstoserver('02');
delay (1000);
engine.bypasstoserver('0a');
delay (1000);
engine.bypasstoserver('031');
delay (1000);
engine.bypasstoserver('010');
delay (1000);
Engine.MoveTo(83528, 209944, -5416); // бежит до первой комнаты
Engine.MoveTo(84440, 210120, -5416);
Engine.MoveTo(84440, 211032, -5416);
Engine.MoveTo(83704, 211112, -5416);
Engine.FaceControl(0,true);
end;
begin
while 1<>2 do begin
farm;
if User.Dead then sdoh;
if (not User.Buffs.ByID(1357, i) or (i.Endtime < 600000))and(not User.Dead) then baff;
end;
end.
по идее он должен фармить каты бегая по кругу и обходя при этом 5 комнат.
Пожалуйста помогите исправить ошибку!
uses SysUtils, Classes;
function MobInZone: boolean;
var
obj: TL2NPC;
obj2: TL2Effect;
Enemy: TL2Live;
begin // проверка команты на наличие мобов
result:= False;
for mob:=0 to npclist.count-1 do begin
if npclist.items(mob).inzone and not npclist.items(mob).dead then begin
if npclist.items(mob).z > (user.z-400) then begin
if npclist.items(mob).z < (user.z+400) then begin
result:= true;
end;
end;
end;
end;
end;
procedure sdoh;
begin
Engine.FaceControl(0,false);
delay (2000);
Engine.GoHome;
Delay(5000);
engine.bypasstoserver('_bbshome'); // Альт+б баф
delay (1000);
engine.bypasstoserver('02');
delay (1000);
engine.bypasstoserver('0b');
delay (1000);
engine.bypasstoserver('01a');
delay (1000);
engine.bypasstoserver('_bbsgetfav');
delay (3000);
engine.bypasstoserver('_bbshome'); // Альт+б телепорт
delay (1000);
engine.bypasstoserver('02');
delay (1000);
engine.bypasstoserver('0a');
delay (1000);
engine.bypasstoserver('031');
delay (1000);
engine.bypasstoserver('010');
delay (1000);
Engine.MoveTo(83528, 209944, -5416); // бежит до первой комнаты
Engine.MoveTo(84440, 210120, -5416);
Engine.MoveTo(84440, 211032, -5416);
Engine.MoveTo(83704, 211112, -5416);
Engine.FaceControl(0,true);
end;
procedure farm;
begin
engine.LoadZone('Saint_1.zmap');
engine.FaceControl(0, true);
while MobInZone do delay(500);
engine.FaceControl(0, false);
Engine.MoveTo(83432, 211864, -5416);
Engine.MoveTo(83448, 213640, -5416);
engine.LoadZone('Saint_2.zmap');
engine.FaceControl(0, true);
while MobInZone do delay(500);
engine.FaceControl(0, false);
Engine.MoveTo(83672, 213832, -5416);
Engine.MoveTo(85432, 213832, -5416);
engine.LoadZone('Saint_3.zmap');
engine.FaceControl(0, true);
while MobInZone do delay(500);
engine.FaceControl(0, false);
Engine.MoveTo(85528, 213608, -5416);
Engine.MoveTo(85512, 212712, -5416);
engine.LoadZone('Saint_4.zmap');
engine.FaceControl(0, true);
while MobInZone do delay(500);
engine.FaceControl(0, false);
Engine.MoveTo(85512, 211144, -5416);
Engine.MoveTo(85608, 210520, -5416);
Engine.MoveTo(86040, 210344, -5416);
Engine.MoveTo(86120, 209896, -5416);
Engine.MoveTo(86120, 209192, -5416);
engine.LoadZone('Saint_5.zmap');
engine.FaceControl(0, true);
while MobInZone do delay(500);
engine.FaceControl(0, false);
Engine.MoveTo(86120, 209192, -5416);
Engine.MoveTo(86104, 209880, -5416);
Engine.MoveTo(86024, 210312, -5416);
Engine.MoveTo(85624, 210536, -5416);
Engine.MoveTo(85224, 211640, -5416);
Engine.MoveTo(84936, 211752, -5416);
Engine.MoveTo(84616, 211704, -5416);
Engine.MoveTo(84376, 211144, -5416);
Engine.MoveTo(83464, 211112, -5416);
end;
procedure baff; // proverka na re baff
begin
Engine.FaceControl(0,false);
Delay(5000);
engine.bypasstoserver('_bbshome'); // Альт+б баф
delay (1000);
engine.bypasstoserver('02');
delay (1000);
engine.bypasstoserver('0b');
delay (1000);
engine.bypasstoserver('01a');
delay (1000);
engine.bypasstoserver('_bbsgetfav');
delay (3000);
engine.bypasstoserver('_bbshome'); // альт+б телепорт
delay (1000);
engine.bypasstoserver('02');
delay (1000);
engine.bypasstoserver('0a');
delay (1000);
engine.bypasstoserver('031');
delay (1000);
engine.bypasstoserver('010');
delay (1000);
Engine.MoveTo(83528, 209944, -5416); // бежит до первой комнаты
Engine.MoveTo(84440, 210120, -5416);
Engine.MoveTo(84440, 211032, -5416);
Engine.MoveTo(83704, 211112, -5416);
Engine.FaceControl(0,true);
end;
begin
while 1<>2 do begin
farm;
if User.Dead then sdoh;
if (not User.Buffs.ByID(1357, i) or (i.Endtime < 600000))and(not User.Dead) then baff;
end;
end.