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

Скрипт фарма Апостатов [Interlude]

Рег
17 Сен 2016
Сообщения
14
Реакции
0
Кому надо, забирайте, пригодиться.
Старт в Орене. Фарм в глубине апостатов 4-х комнат по маршруту.
Редактируйте под себя маршрут к баферу (диалог с ним/ИД) и маршрут к ГК после бафа и диалог с ГК



Конфиг сделан под СХ 55-65 лвл
Вот сам код скрипта

uses SysUtils, Classes;
var Fight_Flag:Boolean;
Item: TL2Item;
obj: TL2Npc;
Npc: TL2Npc;
obj2: TL2Effect;
var L2Skill: TL2Skill;
Enemy: TL2Live;
var i, n: Integer;

function MobInZone: boolean;
var
mob: integer;

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;

begin // ГЛАВНЫЙ БЕГИН
Print('Стартую скрипт');
delay(555);
engine.loadconfig('FarmApostat');
Print('(Гружу конфиг FarmApostat)');
delay(555);

////////////////////////////////////////////////////////////////////////
begin // ЗАЦЫКЛЕННО ПО КРУГУ НА ЕТОМ БЕГИНЕ
// все что выше выполняется 1 раз при старте
while 1<>2 do begin
if User.inrange(80334,54400,-1552, 250, 150) then begin
Engine.FaceControl(0, false);
Engine.MoveTo(80334,54400,-1552);
Engine.MoveTo(80969,53698,-1558);
Engine.MoveTo(81540,53454,-1494);
Engine.MoveTo(82480,53340,-1494);
Engine.MoveTo(82950,53186,-1494);
Engine.MoveTo(82936, 53112, -1488);
end;
if User.inrange(82323,55466,-1520, 250, 150) then begin
Engine.FaceControl(0, false);
Engine.MoveTo(82323,55466,-1520);
Engine.MoveTo(82403,54498,-1523);
Engine.MoveTo(82589,53861,-1486);
Engine.MoveTo(82950,53186,-1494);
Engine.MoveTo(82936, 53112, -1488);
end;
if User.inrange(82123,53535,-1488, 250, 150) then begin
Engine.FaceControl(0, false);
Engine.MoveTo(82123,53535,-1488);
Engine.MoveTo(82950,53186,-1494);
Engine.MoveTo(82936, 53112, -1488);
end;
if User.inrange(80304,56241,-1552, 250, 150) then begin
Engine.FaceControl(0, false);
Engine.MoveTo(80304,56241,-1552);
Engine.MoveTo(81470,55682,-1523);
Engine.MoveTo(82256,55294,-1523);
Engine.MoveTo(82510,54035,-1494);
Engine.MoveTo(82950,53186,-1494);
Engine.MoveTo(82936, 53112, -1488);
end;
if User.inrange(82445,56012,-1520, 250, 150) then begin
Engine.FaceControl(0, false);
Engine.MoveTo(82445,56012,-1520);
Engine.MoveTo(82341,54950,-1523);
Engine.MoveTo(82574,53833,-1486);
Engine.MoveTo(82950,53186,-1494);
Engine.MoveTo(82936, 53112, -1488);
end;
if User.inrange(80054,53209,-1552, 250, 150) then begin
Engine.FaceControl(0, false);
Engine.MoveTo(80054,53209,-1552);
Engine.MoveTo(80624,53611,-1558);
Engine.MoveTo(81772,53468,-1494);
Engine.MoveTo(82289,53472,-1494);
Engine.MoveTo(82950,53186,-1494);
Engine.MoveTo(82936, 53112, -1488);
end;
if User.inrange(80513,52980,-1552, 250, 150) then begin
Engine.FaceControl(0, false);
Engine.MoveTo(80513,52980,-1552);
Engine.MoveTo(80165,53065,-1558);
Engine.MoveTo(80630,53610,-1558);
Engine.MoveTo(81688,53447,-1494);
Engine.MoveTo(82303,53338,-1494);
Engine.MoveTo(82950,53186,-1494);
Engine.MoveTo(82936, 53112, -1488);
end;
if User.inrange(80267,55497,-1552, 250, 150) then begin
Engine.FaceControl(0, false);
Engine.MoveTo(80267,55497,-1552);
Engine.MoveTo(80359,54536,-1558);
Engine.MoveTo(80792,53785,-1558);
Engine.MoveTo(81495,53421,-1494);
Engine.MoveTo(82323,53362,-1494);
Engine.MoveTo(82950,53186,-1494);
Engine.MoveTo(82936, 53112, -1488);
end;
if User.inrange(79933,55752,-1552, 250, 150) then begin
Engine.FaceControl(0, false);
Engine.MoveTo(79933,55752,-1552);
Engine.MoveTo(80349,55208,-1558);
Engine.MoveTo(80470,54217,-1558);
Engine.MoveTo(81053,53602,-1558);
Engine.MoveTo(81974,53465,-1494);
Engine.MoveTo(82950,53186,-1494);
Engine.MoveTo(82936, 53112, -1488);
end;
if User.inrange(80594,55837,-1552, 250, 150) then begin
Engine.FaceControl(0, false);
Engine.MoveTo(80594,55837,-1552);
Engine.MoveTo(81899,55492,-1523);
Engine.MoveTo(82240,55142,-1523);
Engine.MoveTo(82531,53946,-1494);
Engine.MoveTo(82950,53186,-1494);
Engine.MoveTo(82936, 53112, -1488);
end;
if User.inrange(82213,53964,-1488, 250, 150) then begin
Engine.FaceControl(0, false);
Engine.MoveTo(82213,53964,-1488);
Engine.MoveTo(82668,53709,-1486);
Engine.MoveTo(82950,53186,-1494);
Engine.MoveTo(82936, 53112, -1488);
end;
if User.inrange(83327,55410,-1520, 250, 150) then begin
Engine.FaceControl(0, false);
Engine.MoveTo(83327,55410,-1520);
Engine.MoveTo(82607,55592,-1523);
Engine.MoveTo(82184,54809,-1523);
Engine.MoveTo(82563,53882,-1488);
Engine.MoveTo(82950,53186,-1494);
Engine.MoveTo(82936, 53112, -1488);
end;
if User.inrange(79706,52986,-1552, 250, 150) then begin
Engine.FaceControl(0, false);
Engine.MoveTo(79706,52986,-1552);
Engine.MoveTo(80427,53549,-1558);
Engine.MoveTo(80812,53655,-1558);
Engine.MoveTo(81979,53439,-1494);
Engine.MoveTo(82950,53186,-1494);
Engine.MoveTo(82936, 53112, -1488);
end;
if User.inrange(82880,55390,-1520, 250, 150) then begin
Engine.FaceControl(0, false);
Engine.MoveTo(82880,55390,-1520);
Engine.MoveTo(82375,55524,-1523);
Engine.MoveTo(82367,54313,-1493);
Engine.MoveTo(82651,53734,-1486);
Engine.MoveTo(82950,53186,-1494);
Engine.MoveTo(82936, 53112, -1488);
end;
if User.inrange(82552,53447,-1488, 250, 150) then begin
Engine.FaceControl(0, false);
Engine.MoveTo(82552,53447,-1488);
Engine.MoveTo(82950,53186,-1494);
Engine.MoveTo(82936, 53112, -1488);
end;
if User.inrange(82638,53885,-1488, 250, 150) then begin
Engine.FaceControl(0, false);
Engine.MoveTo(82638,53885,-1488);
Engine.MoveTo(82950,53186,-1494);
Engine.MoveTo(82936, 53112, -1488);
end;

//////////////////////////////////////////////////////////////////////////
// LABEL BUFF
/////////////////////////////////////////////////////////////////////////

if User.inrange(82936, 53112, -1488, 250, 150)
then
begin // с етим бегином сцепленно елсе!
Engine.MoveTo(-12824, 122872, -3120);
Engine.SetTarget(30476); // Buffer
Engine.DlgOpen;
Engine.Delay(1333);
Engine.Bypasstoserver('05',true);
Engine.Delay(1531);
Engine.Bypasstoserver('00',true);
Engine.Delay(1531);

////////////////////////////////////////////////////////////////////
//LABEL (TP --------)
////////////////////////////////////////////////////////////////////
Engine.MoveTo(82984, 53128, -1488);
delay(1333);
Engine.SetTarget(30177); // Валентина
Engine.DlgOpen;
Delay(1333);
Engine.DlgSel(1);
Delay(1333);
Engine.DlgSel(3);
Delay(6000);

Engine.MoveTo(-19210, -250745, -8160);
Engine.MoveTo(-18991, -250432, -8167);
Engine.MoveTo(-18331, -250461, -8160);
Engine.MoveTo(-17313, -250470, -8165);
Engine.MoveTo(-16644, -250542, -8160);
Engine.MoveTo(-16482, -250789, -8167);
Engine.MoveTo(-15925, -250799, -8160);
Engine.MoveTo(-15228, -250805, -8165);
Engine.MoveTo(-14542, -250692, -8160);
Engine.MoveTo(-14477, -249972, -8167);
Engine.MoveTo(-13940, -249933, -8160);
Engine.MoveTo(-12834, -249884, -8167);
Engine.MoveTo(-12692, -249094, -8160);
Engine.MoveTo(-12698, -248061, -8167);
Engine.MoveTo(-12344, -247915, -8160);
Engine.MoveTo(-12342, -247197, -8165);
Engine.MoveTo(-12179, -246933, -8160);
Engine.MoveTo(-11461, -246861, -8167);
Engine.MoveTo(-11356, -246114, -8167);
Engine.MoveTo(-10823, -246163, -8160);
Engine.MoveTo(-9958, -246114, -8165);
Engine.MoveTo(-9901, -245095, -8160);

//////////////////////////////////////////////////////////////////////////////
// LABEL FARM
//////////////////////////////////////////////////////////////////////////////

if User.InRange(-9891, -245531, -8160, 450, 200) //1-я комната фарма
then begin
Engine.LoadZone('1');
Print('Пришел в зону (1)');
Engine.FaceControl(0, true);
while (MobInZone)and(Not User.Dead) do delay(500);
Engine.FaceControl(0, false);
Engine.MoveTo(-9963, -245101, -8165); //путь во 2-ю комнату
Engine.MoveTo(-10743, -245083, -8160);
Engine.MoveTo(-11383, -245085, -8167);
Engine.MoveTo(-11875, -245074, -8160);

if User.InRange(-11875, -245074, -8160, 450, 200)
then begin
Engine.LoadZone('2');
Print('Пришел в зону (2)');
Engine.FaceControl(0, true);
while (MobInZone)and(Not User.Dead) do delay(500);
Engine.FaceControl(0, false);
Engine.MoveTo(-11996, -244810, -8167); //путь во 3-ю комнату
Engine.MoveTo(-11980, -244043, -8160);
Engine.MoveTo(-11960, -243241, -8160);
Engine.MoveTo(-11931, -243012, -8160);

if User.InRange(-11931, -243012, -8160, 450, 200)
then begin
Engine.LoadZone('3');
Print('Пришел в зону (3)');
Engine.FaceControl(0, true);
while (MobInZone)and(Not User.Dead) do delay(500);
Engine.FaceControl(0, false);
Engine.MoveTo(-11905, -243491, -8165); //путь в 4-ю комнату
Engine.MoveTo(-11476, -243076, -8160);
Engine.MoveTo(-10994, -242997, -8167);
Engine.MoveTo(-10965, -242441, -8160);
Engine.MoveTo(-10902, -242377, -8167);
Engine.MoveTo(-10190, -242386, -8160);
Engine.MoveTo(-9904, -242464, -8165);

if User.InRange(-9904, -242464, -8165, 450, 200)
then begin
Engine.LoadZone('4');
Print('Пришел в зону (4)');
Engine.FaceControl(0, true);
while (MobInZone)and(Not User.Dead) do delay(500);
Engine.FaceControl(0, false);
Engine.MoveTo(-9895, -243311, -8160); //Идем назад в 1-ю комнату
Engine.MoveTo(-9901, -244177, -8167);
Engine.MoveTo(-9891, -245531, -8160);

if User.Dead // умер - бот офф, тп город пауза 12 сек
then begin
Print('Нашего Великого фармера убили');
Delay(500);
Engine.FaceControl(0,false);
Delay(6111); // полежать чутка а то палевно моментально в город тп
Engine.gohome;
Delay(6000);
end;
end;
end;
end;
end;
end;
end;
end;
end.


Пароль от архива: rawr.su
 

Вложения

  • Settings.rar
    5.1 KB · Просмотры: 42
Потому что -

Engine.FaceControl(0, true);
while MobInZone do delay(500);

т.е. включили АИ, начал бить мобов. Сдох. Но - т.к. в комнате мобы остались (ктото ж убил бота, скорее всего моб) - то проверка while MobInZone do delay приводит к зацикливанию. Попробуй -
Код:
while (MobInZone)and(Not User.Dead) do delay(500);
 
@MEIDAN, карты бы скинул пацанам, они скрипт то запустят а из-за того что тут подгрузка карт, которых у них нет - будут писать что не работает и т.д.
 
Назад
Сверху