- Рег
- 28 Ноя 2015
- Сообщения
- 126
- Реакции
- 0
День добрый сделал немного корявый скрипт на кач 1-23 на квестах для хуман визарда.
В проекте хочу объединить в одном скрипте после 23 лвла :
1) выполнение 1 профы
2) квест на куру
3) кач 27-40 ну и дальше как пойдет
Столкнулся с тем, что получается очень много процедур и не знаю как это все покомпактнее организовать и структурировать, 1-23 и то громоздкий , а когда продолжаешь то вообще жуть)
Только начал разбираться в этом, буду благодарен за советы. Когда начинаешь делать дальше например профу - то получается слишком много точек Engine.Moveto ( например когда мы в глудине), как это все упростить?
Пример моего скрипта на 1-23, тестировал на еглобал ГФ х7 . Конкретно он работает хорошо, но хотелось бы все как-то упростить
В проекте хочу объединить в одном скрипте после 23 лвла :
1) выполнение 1 профы
2) квест на куру
3) кач 27-40 ну и дальше как пойдет
Столкнулся с тем, что получается очень много процедур и не знаю как это все покомпактнее организовать и структурировать, 1-23 и то громоздкий , а когда продолжаешь то вообще жуть)
Только начал разбираться в этом, буду благодарен за советы. Когда начинаешь делать дальше например профу - то получается слишком много точек Engine.Moveto ( например когда мы в глудине), как это все упростить?
Пример моего скрипта на 1-23, тестировал на еглобал ГФ х7 . Конкретно он работает хорошо, но хотелось бы все как-то упростить
Uses SysUtils, Classes;
var Item: TL2Item; Npc: TL2Npc; obj: TL2NPC; L2Skill: TL2Skill; buff:TL2buff;
procedure ControlDead; //Данная процедура через каждые 10 секунд проверяет
//жив или нет персонаж, и если мертв - останавливает выполнение скрипта,
// возвращает перса в город и перезапускает основной скрипт.
begin
while not user.dead do
delay(10000);
Script.Suspend;
Engine.FaceControl(0,false);
delay(random(3000));
Engine.gohome;
Print('Убили персонажа');
delay(10000);
Engine.MoveTo(-83834, 243027, -3728); //идем в центр деревни людей
Script.Replace;
end;
procedure controlshtrafNG; //проверка на Death Penalty
begin
if user.DeathPenalty > 0 then
engine.useitem(8594);
end;
procedure CheckAttackingMobs; //если мы в бою и моб у нас в таргете будет бить винд страйком
//если цель мертва отмена таргета
begin
//print('Проверяем, аттакуют ли нас мобы');
while user.incombat do
begin
if(user.target.incombat) then
Engine.AutoSoulshot(5790,true);
Engine.UseSkill(1177);
if(user.target.dead) then engine.canceltarget;
delay(100);
end;
//print('Мобы не атакуют');
end;
procedure TPKamVillage; //начало тп в камаэль через сое
begin
print('телепорт к камаелям');
Engine.Useitem(12753);
Delay(20000);
Engine.Settarget(32135);
Delay(1500);
Engine.Dlgopen;
Delay(500);
end;
procedure TpHuman; //деревня людей и начальные квесты
begin
delay(5000);
print('телепорт к людям');
Engine.Settarget(32135); //Взять в таргет НПЦ баффера;
Delay(1500);
Engine.Dlgopen;
Engine.DlgSel(4);
Engine.DlgSel(1);
Delay(10000);
Engine.MoveTo(-84494, 243194, -3755);
Engine.MoveTo(-84481, 242797, -3755);
Engine.Settarget(30048); //Таргет Darin
Engine.Dlgopen;
Delay(500);
Engine.DlgSel(1);
Delay(500);
Engine.DlgSel(1);
Delay(500);
Engine.DlgSel(2);
Delay(500);
Engine.DlgSel(1);
Delay(500);
Engine.MoveTo(-85160, 244064, -3755);
Engine.MoveTo(-84195,244552,-3755);
Engine.Settarget(30006); // Таргет Roxxy
Engine.Dlgopen;
Delay(500);
Engine.DlgSel(7); //для рпг возможно 5, еглобал 7,
Delay(500);
Engine.DlgSel(1);
Delay(500);
Engine.MoveTo(-85160, 244064, -3755);
Engine.MoveTo(-84481, 242797, -3755);
Engine.Settarget(30048); //Таргет Darin
Engine.Dlgopen;
Delay(500);
Engine.DlgSel(1);
Delay(500);
Engine.MoveTo(-85448,244447,-3755);
Engine.MoveTo(-84879,245095,-3753);
Engine.Settarget(30033); //Таргет Baulro
Engine.Dlgopen;
Delay(500);
Engine.DlgSel(3);
Engine.MoveTo(-84879,245095,-3753);
Engine.MoveTo(-85448,244447,-3755);
Engine.MoveTo(-84481, 242797, -3755);
Engine.Settarget(30048); //Таргет Darin
Engine.Dlgopen;
Engine.DlgSel(1);
Delay(500);
Print('получили лвл идем pokupka');
end;
procedure pokupka; // берем маг ствол у нпс
begin
Delay(1000);
print('покупка');
Engine.MoveTo(-84477,243235,-3755);
Engine.MoveTo(-84120,243242,-3755);
Engine.Settarget(30598); //Таргет НубоХелпера получили 6 лвл
Engine.Dlgopen;
Delay(500);
Engine.DlgSel(6);
Engine.DlgSel(1); //взяли купоны
Delay(1000);
Engine.Dlgopen;
Engine.DlgSel(6);
Delay(1000);
Engine.DlgSel(2);
Delay(1000);
Engine.NpcExchange(10474,1); //Покупка маг ствола;
Delay(1000);
Engine.Useitem(10474);
Delay(1000);
Engine.Settarget(30598); //Таргет НубоХелпера;
Engine.Dlgopen;
Delay(500);
Engine.DlgSel(5);
Delay(500);
Engine.DlgSel(1); //Бафаемся.
Engine.MoveTo(-82154, 241338, -3755); //Путь от НпцБафера к гварду;
Engine.Settarget(30039); //Таргет Gilbert
Engine.Dlgopen;
Engine.DlgSel(3);
Delay(500);
Engine.DlgSel(1);
end;
procedure farmork; //если мы у гилберта идем фармить орков у города до 10 лвл
begin
delay(5000);
print('мы у гилберта идем farmork');
if User.InRange(-82154, 241338, -3755,100,100) then
Engine.MoveTo(-83112, 240451, -3754); //Путь к оркам;
Engine.MoveTo(-83674, 239655, -3761);
Engine.MoveTo(-87039, 239202, -3654);
Engine.MoveTo(-89907, 238932, -3752);
Engine.MoveTo(-92035, 238794, -3684);
Engine.MoveTo(-93844, 239257, -3444);
if User.InRange(-93844, 239257, -3444,200,200) then
Engine.LoadZone('farmork6lvl');
Engine.loadconfig('HumanWiz');
while User.Level<10 do begin
Engine.Facecontrol(0,True);
end;
if (user.level= 10) then begin
Engine.Facecontrol(0,False);
CheckAttackingMobs;
print('получили 10лвл');
delay(100);
engine.clearzone;
Engine.UseItem(10650);
end;
end;
procedure skills; // сдаем квест , учим скиллы
begin
Delay(25000);
print('идем учить skills');
Engine.MoveTo(-85703,244232,-3755); //Пусть от респа(храм) к Гилберту;
Engine.MoveTo(-84265,242559,-3755); //
Engine.MoveTo(-82198,241415,-3755); //
Engine.Settarget(30039); //Таргет Gilbert
Engine.Dlgopen;
Delay(500);
Engine.DlgSel(3);
Delay(500);
Engine.DlgSel(1);
Engine.MoveTo(-82532,241574,-3755); //Путь от Гилберта к НПЦ бафферу;
Engine.MoveTo(-84018,243164,-3755);
Engine.Settarget(30598); //Таргет НубоХелпера;
Engine.Dlgopen;
Engine.DlgSel(5);
Delay(500);
Engine.DlgSel(1); //Бафаемся.
Engine.MoveTo(-84815,243462,-3755); //Идем в церковь
Engine.MoveTo(-85448,244479,-3755);
Engine.MoveTo(-85001,244952,-3753);
Engine.Settarget(30033); //Таргет Baulro
Engine.Dlgopen();
Engine.DlgSel(1);
Engine.LearnSkill(1177); // Wind Strike
Delay(1500);
Engine.LearnSkill(1177); //Wind Strike [2]
Delay(1500);
Engine.LearnSkill(244); //Armor Mastery
Delay(1500);
Engine.LearnSkill(249); //Weapon Mastery
Delay(1500);
Engine.LearnSkill(146); //Anti Magic
Delay(1500);
Engine.MoveTo(-84574,245337,-3753); //Идем к ТП
Engine.MoveTo(-84212,244934,-3755);
Engine.MoveTo(-84119,244695,-3755);
Engine.Settarget(30006); //Таргет Roxxy
Engine.Dlgopen;
Engine.DlgSel(3); //еглобал 3 , рпг 2? тп у рокси
Delay(1000);
Engine.DlgSel(8);
Delay(10000);
end;
procedure farmdo15; //идем фарм до 15 лвл если мы стоим на тп у водопада
//Идем на спот
begin
if User.InRange(-83834, 243027, -3728,100,100) then //если мы в центре города
print('персонаж умер иду бафф,затем к гк и farmdo15');
Engine.MoveTo(-84039, 243238, -3755);
Engine.Settarget(30598); //Таргет НубоХелпера;
Engine.Dlgopen;
Delay(300);
Engine.DlgSel(5);
Delay(300);
Engine.DlgSel(1); //Бафаемся.
Delay(1000);
Engine.MoveTo(-84247, 243719, -3755);
Engine.MoveTo(-84506, 243973, -3755);
Engine.MoveTo(-84146, 244539, -3755);
Engine.Settarget(30006); //Таргет Roxxy
Engine.Dlgopen;
Engine.DlgSel(3); //еглобал 3 , рпг 2? тп у рокси
Delay(1000);
Engine.DlgSel(8);
Delay(10000);
if User.InRange(-111728, 244330, -3448,100,100)then //если мы у водопада
print('идем кач на пауках до 15');
Engine.MoveTo(-113061, 244526, -3466);
Engine.MoveTo(-113842, 244961, -3380);
Engine.MoveTo(-114436, 245555, -3287);
Engine.MoveTo(-114718, 245985, -3263);
if User.InRange(-114718, 245985, -3263,100,100) then
Engine.LoadZone('farmdo15');
Engine.loadconfig('HumanWiz');
while User.Level<15 do begin
Engine.Facecontrol(0,True);
end;
if (user.level= 15) then begin
Engine.Facecontrol(0,False);
CheckAttackingMobs;
print('получили 15 лвл тп в город');
delay(100);
engine.clearzone;
Engine.UseItem(10650);
Delay(25000);
end;
end;
procedure Quest15 ; // берем квест 15+
begin
print('идем Quest15 и тп на кач');
Engine.MoveTo(-83859, 243091, -3755);
Engine.Settarget(30050); //Таргет Elias квест 15+
Engine.MoveToTarget(-20);
delay(500);
Engine.Dlgopen();
Engine.DlgSel(1);
Delay(500);
Engine.DlgSel(1);
Delay(500);
Engine.MoveTo(-84039, 243238, -3755);
Engine.Settarget(30598); //Таргет НубоХелпера;
Engine.Dlgopen;
Delay(300);
Engine.DlgSel(5);
Delay(300);
Engine.DlgSel(1); //Бафаемся.
Delay(1000);
Engine.MoveTo(-83986, 243261, -3755);
Engine.MoveTo(-84262, 243740, -3755);
Engine.MoveTo(-84540, 244023, -3755);
Engine.MoveTo(-84159, 244538, -3755);
Engine.Settarget(30006); //Таргет Roxxy
Engine.Dlgopen;
Engine.DlgSel(3); //еглобал 3 , рпг 2? тп у рокси
Delay(500);
Engine.DlgSel(8);
Delay(10000);
end;
procedure farmdo20; //идем фарм до 20 лвл если мы стоим на тп у водопада
begin
if User.InRange(-83834, 243027, -3728,100,100) then //если мы в центре города
print('персонаж умер иду бафф,затем farmdo20');
Engine.MoveTo(-84039, 243238, -3755);
Engine.Settarget(30598); //Таргет НубоХелпера;
Engine.Dlgopen;
Delay(300);
Engine.DlgSel(5);
Delay(300);
Engine.DlgSel(1); //Бафаемся.
Delay(1000);
Engine.MoveTo(-84247, 243719, -3755);
Engine.MoveTo(-84506, 243973, -3755);
Engine.MoveTo(-84146, 244539, -3755);
Engine.Settarget(30006); //Таргет Roxxy
Engine.Dlgopen;
Engine.DlgSel(3); //еглобал 3 , рпг 2? тп у рокси
Delay(1000);
Engine.DlgSel(8);
Delay(10000);
if User.InRange(-111728, 244330, -3448,100,100)then //если мы у водопада
print('иду фарм на пауках до 20 лвл');
Engine.MoveTo(-113061, 244526, -3466);
Engine.MoveTo(-113842, 244961, -3380);
Engine.MoveTo(-114436, 245555, -3287);
Engine.MoveTo(-114718, 245985, -3263);
if User.InRange(-114718, 245985, -3263,100,100) then
Engine.LoadZone('farmdo15');
Engine.loadconfig('HumanWiz');
while User.Level<20 do begin
Engine.Facecontrol(0,True);
end;
if (user.level= 20) then begin
Engine.Facecontrol(0,False);
CheckAttackingMobs;
print('получили 20лвл го тп в город');
delay(100);
engine.clearzone;
Engine.UseItem(10650);
Delay(25000);
end;
end;
procedure Questdo23; //квесты 20+
begin
Engine.MoveTo(-84655, 242782, -3755);
Engine.MoveTo(-85439, 244441, -3755);
Engine.MoveTo(-85420, 244546, -3755);
Engine.MoveTo(-85294, 244654, -3720);
Engine.MoveTo(-85035, 244841, -3753);
Engine.Settarget(30032);//Таргет Yohanes
Engine.MoveToTarget(-20);
Delay(1000);
Engine.Dlgopen();
Delay(500);
Engine.DlgSel(3);
Delay(500);
Engine.MoveTo(-85631,244313,-3755);
Engine.MoveTo(-84743,243265,-3755);
Engine.MoveTo(-84408,242679,-3755);
Engine.MoveTo(-84115,242780,-3755);
Engine.Settarget(30050); //Таргет Elias квест 15+
Engine.Dlgopen();
Engine.DlgSel(1);
Engine.Settarget(30598);//Таргет нубобафера
Engine.MoveToTarget(-20);
Delay(2000);
Engine.Dlgopen();
Engine.MoveTo(-84023,243270,-3755); //Путь к тп
Engine.MoveTo(-84266,243737,-3755);
Engine.MoveTo(-84536,244002,-3755);
Engine.MoveTo(-84147,244543,-3755);
Engine.Settarget(30006); //Таргет Roxxy
Engine.Dlgopen;
Engine.DlgSel(3); //еглобал 3 , рпг 2? тп у рокси
Delay(500);
Engine.DlgSel(5);//тп к оркам
Engine.DlgSel(1);
Delay(10000);
Engine.MoveTo(-45049,-113037,-265);
Engine.MoveTo(-45808,-113586,-250);
Engine.MoveTo(-46277,-113515,-228);
Engine.MoveTo(-46302,-112946,-200);
Engine.MoveTo(-46293,-112825,-228);
Engine.MoveTo(-45959,-112602,-228);
Engine.Settarget(30572);
Engine.Dlgopen;
Engine.DlgSel(3); //еглобал 3 , рпг 4? ливина у орков
Delay(500);
Engine.DlgSel(2);
Delay(500);
Engine.DlgSel(1);
Delay(2000);
Engine.MoveTo(-46310,-112948,-228);
Engine.MoveTo(-46275,-113432,-228);
Engine.MoveTo(-46006,-113611,-227);
Engine.MoveTo(-45528,-113415,-265);
Engine.MoveTo(-44999,-112957,-265);
Engine.MoveTo(-45208,-112588,-265);
Engine.Settarget(30576); //Гк у окрков
Engine.Dlgopen;
Engine.DlgSel(1);
Delay(500);
Engine.DlgSel(2); //тп в штудгарт
Engine.DlgSel(1);
Delay(10000);
Engine.MoveTo(87363,-143133,-1319);
Engine.MoveTo(87782,-142589,-1366);
Engine.MoveTo(88864,-142281,-1366);
Engine.MoveTo(89672,-141806,-1567);
Engine.MoveTo(90069,-142394,-1567);
Engine.MoveTo(90509,-143005,-1567);
Engine.MoveTo(90424,-143176,-1566);
Engine.MoveTo(90266,-143192,-1553);
Engine.MoveTo(90049,-143172,-1553);
Engine.Settarget(31979); //Таргет Moira
Engine.Dlgopen;
Engine.DlgSel(2);
Delay(500);
Engine.DlgSel(2);
Delay(500);
Engine.DlgSel(1);
Engine.MoveTo(90049,-143172,-1553);
Engine.MoveTo(90266,-143192,-1553);
Engine.MoveTo(90424,-143176,-1566);
Engine.MoveTo(90509,-143005,-1567);
Engine.MoveTo(90069,-142394,-1567);
Engine.MoveTo(89672,-141806,-1567);
Engine.MoveTo(88864,-142281,-1366);
Engine.MoveTo(87782,-142589,-1366);
Engine.MoveTo(87363,-143133,-1319);
Engine.MoveTo(87149,-143331,-1319);
Engine.Settarget(31964);//Таргет гк в шутгарте
Engine.Dlgopen();
Engine.DlgSel(1);
Delay(500);
Engine.DlgSel(14);
Delay(10000);
Engine.Settarget(32017);//Таргет Karuda
Engine.Dlgopen();
Engine.DlgSel(1);
Delay(1500);
Engine.DlgSel(3);
Delay(1500);
Engine.DlgSel(1);//Сдали первый
Engine.Dlgopen();
Engine.DlgSel(1);
Delay(1000);
Engine.DlgSel(3);
Delay(1500);
Engine.DlgSel(1);//Сдали второй
print('получили 23 лвл ');
end;
begin
script.newthread(@ControlDead);
if (user.level < 20) then script.newthread(@controlshtrafNG);
if (user.level = 1) then TPKamVillage ;
if (user.level < 5) then TpHuman;
if not Inventory.User.ByID(10474, Item) then pokupka;
if User.InRange(-82218, 241474, -3728,100,100) then farmork;
if (user.level = 10) then skills;
if User.InRange(-83834, 243027, -3728,100,100)and (user.level < 15)
then farmdo15;
if (user.level < 15)and (user.level > 10) then farmdo15;
if (user.level = 15)and not engine.queststatus(151, 1) then Quest15 ;
if User.InRange(-111728, 244330, -3448,100,100) then farmdo20;
if (user.level < 20)and (user.level > 15) then farmdo20;
if (user.level = 20) then Questdo23 ;
end.
var Item: TL2Item; Npc: TL2Npc; obj: TL2NPC; L2Skill: TL2Skill; buff:TL2buff;
procedure ControlDead; //Данная процедура через каждые 10 секунд проверяет
//жив или нет персонаж, и если мертв - останавливает выполнение скрипта,
// возвращает перса в город и перезапускает основной скрипт.
begin
while not user.dead do
delay(10000);
Script.Suspend;
Engine.FaceControl(0,false);
delay(random(3000));
Engine.gohome;
Print('Убили персонажа');
delay(10000);
Engine.MoveTo(-83834, 243027, -3728); //идем в центр деревни людей
Script.Replace;
end;
procedure controlshtrafNG; //проверка на Death Penalty
begin
if user.DeathPenalty > 0 then
engine.useitem(8594);
end;
procedure CheckAttackingMobs; //если мы в бою и моб у нас в таргете будет бить винд страйком
//если цель мертва отмена таргета
begin
//print('Проверяем, аттакуют ли нас мобы');
while user.incombat do
begin
if(user.target.incombat) then
Engine.AutoSoulshot(5790,true);
Engine.UseSkill(1177);
if(user.target.dead) then engine.canceltarget;
delay(100);
end;
//print('Мобы не атакуют');
end;
procedure TPKamVillage; //начало тп в камаэль через сое
begin
print('телепорт к камаелям');
Engine.Useitem(12753);
Delay(20000);
Engine.Settarget(32135);
Delay(1500);
Engine.Dlgopen;
Delay(500);
end;
procedure TpHuman; //деревня людей и начальные квесты
begin
delay(5000);
print('телепорт к людям');
Engine.Settarget(32135); //Взять в таргет НПЦ баффера;
Delay(1500);
Engine.Dlgopen;
Engine.DlgSel(4);
Engine.DlgSel(1);
Delay(10000);
Engine.MoveTo(-84494, 243194, -3755);
Engine.MoveTo(-84481, 242797, -3755);
Engine.Settarget(30048); //Таргет Darin
Engine.Dlgopen;
Delay(500);
Engine.DlgSel(1);
Delay(500);
Engine.DlgSel(1);
Delay(500);
Engine.DlgSel(2);
Delay(500);
Engine.DlgSel(1);
Delay(500);
Engine.MoveTo(-85160, 244064, -3755);
Engine.MoveTo(-84195,244552,-3755);
Engine.Settarget(30006); // Таргет Roxxy
Engine.Dlgopen;
Delay(500);
Engine.DlgSel(7); //для рпг возможно 5, еглобал 7,
Delay(500);
Engine.DlgSel(1);
Delay(500);
Engine.MoveTo(-85160, 244064, -3755);
Engine.MoveTo(-84481, 242797, -3755);
Engine.Settarget(30048); //Таргет Darin
Engine.Dlgopen;
Delay(500);
Engine.DlgSel(1);
Delay(500);
Engine.MoveTo(-85448,244447,-3755);
Engine.MoveTo(-84879,245095,-3753);
Engine.Settarget(30033); //Таргет Baulro
Engine.Dlgopen;
Delay(500);
Engine.DlgSel(3);
Engine.MoveTo(-84879,245095,-3753);
Engine.MoveTo(-85448,244447,-3755);
Engine.MoveTo(-84481, 242797, -3755);
Engine.Settarget(30048); //Таргет Darin
Engine.Dlgopen;
Engine.DlgSel(1);
Delay(500);
Print('получили лвл идем pokupka');
end;
procedure pokupka; // берем маг ствол у нпс
begin
Delay(1000);
print('покупка');
Engine.MoveTo(-84477,243235,-3755);
Engine.MoveTo(-84120,243242,-3755);
Engine.Settarget(30598); //Таргет НубоХелпера получили 6 лвл
Engine.Dlgopen;
Delay(500);
Engine.DlgSel(6);
Engine.DlgSel(1); //взяли купоны
Delay(1000);
Engine.Dlgopen;
Engine.DlgSel(6);
Delay(1000);
Engine.DlgSel(2);
Delay(1000);
Engine.NpcExchange(10474,1); //Покупка маг ствола;
Delay(1000);
Engine.Useitem(10474);
Delay(1000);
Engine.Settarget(30598); //Таргет НубоХелпера;
Engine.Dlgopen;
Delay(500);
Engine.DlgSel(5);
Delay(500);
Engine.DlgSel(1); //Бафаемся.
Engine.MoveTo(-82154, 241338, -3755); //Путь от НпцБафера к гварду;
Engine.Settarget(30039); //Таргет Gilbert
Engine.Dlgopen;
Engine.DlgSel(3);
Delay(500);
Engine.DlgSel(1);
end;
procedure farmork; //если мы у гилберта идем фармить орков у города до 10 лвл
begin
delay(5000);
print('мы у гилберта идем farmork');
if User.InRange(-82154, 241338, -3755,100,100) then
Engine.MoveTo(-83112, 240451, -3754); //Путь к оркам;
Engine.MoveTo(-83674, 239655, -3761);
Engine.MoveTo(-87039, 239202, -3654);
Engine.MoveTo(-89907, 238932, -3752);
Engine.MoveTo(-92035, 238794, -3684);
Engine.MoveTo(-93844, 239257, -3444);
if User.InRange(-93844, 239257, -3444,200,200) then
Engine.LoadZone('farmork6lvl');
Engine.loadconfig('HumanWiz');
while User.Level<10 do begin
Engine.Facecontrol(0,True);
end;
if (user.level= 10) then begin
Engine.Facecontrol(0,False);
CheckAttackingMobs;
print('получили 10лвл');
delay(100);
engine.clearzone;
Engine.UseItem(10650);
end;
end;
procedure skills; // сдаем квест , учим скиллы
begin
Delay(25000);
print('идем учить skills');
Engine.MoveTo(-85703,244232,-3755); //Пусть от респа(храм) к Гилберту;
Engine.MoveTo(-84265,242559,-3755); //
Engine.MoveTo(-82198,241415,-3755); //
Engine.Settarget(30039); //Таргет Gilbert
Engine.Dlgopen;
Delay(500);
Engine.DlgSel(3);
Delay(500);
Engine.DlgSel(1);
Engine.MoveTo(-82532,241574,-3755); //Путь от Гилберта к НПЦ бафферу;
Engine.MoveTo(-84018,243164,-3755);
Engine.Settarget(30598); //Таргет НубоХелпера;
Engine.Dlgopen;
Engine.DlgSel(5);
Delay(500);
Engine.DlgSel(1); //Бафаемся.
Engine.MoveTo(-84815,243462,-3755); //Идем в церковь
Engine.MoveTo(-85448,244479,-3755);
Engine.MoveTo(-85001,244952,-3753);
Engine.Settarget(30033); //Таргет Baulro
Engine.Dlgopen();
Engine.DlgSel(1);
Engine.LearnSkill(1177); // Wind Strike
Delay(1500);
Engine.LearnSkill(1177); //Wind Strike [2]
Delay(1500);
Engine.LearnSkill(244); //Armor Mastery
Delay(1500);
Engine.LearnSkill(249); //Weapon Mastery
Delay(1500);
Engine.LearnSkill(146); //Anti Magic
Delay(1500);
Engine.MoveTo(-84574,245337,-3753); //Идем к ТП
Engine.MoveTo(-84212,244934,-3755);
Engine.MoveTo(-84119,244695,-3755);
Engine.Settarget(30006); //Таргет Roxxy
Engine.Dlgopen;
Engine.DlgSel(3); //еглобал 3 , рпг 2? тп у рокси
Delay(1000);
Engine.DlgSel(8);
Delay(10000);
end;
procedure farmdo15; //идем фарм до 15 лвл если мы стоим на тп у водопада
//Идем на спот
begin
if User.InRange(-83834, 243027, -3728,100,100) then //если мы в центре города
print('персонаж умер иду бафф,затем к гк и farmdo15');
Engine.MoveTo(-84039, 243238, -3755);
Engine.Settarget(30598); //Таргет НубоХелпера;
Engine.Dlgopen;
Delay(300);
Engine.DlgSel(5);
Delay(300);
Engine.DlgSel(1); //Бафаемся.
Delay(1000);
Engine.MoveTo(-84247, 243719, -3755);
Engine.MoveTo(-84506, 243973, -3755);
Engine.MoveTo(-84146, 244539, -3755);
Engine.Settarget(30006); //Таргет Roxxy
Engine.Dlgopen;
Engine.DlgSel(3); //еглобал 3 , рпг 2? тп у рокси
Delay(1000);
Engine.DlgSel(8);
Delay(10000);
if User.InRange(-111728, 244330, -3448,100,100)then //если мы у водопада
print('идем кач на пауках до 15');
Engine.MoveTo(-113061, 244526, -3466);
Engine.MoveTo(-113842, 244961, -3380);
Engine.MoveTo(-114436, 245555, -3287);
Engine.MoveTo(-114718, 245985, -3263);
if User.InRange(-114718, 245985, -3263,100,100) then
Engine.LoadZone('farmdo15');
Engine.loadconfig('HumanWiz');
while User.Level<15 do begin
Engine.Facecontrol(0,True);
end;
if (user.level= 15) then begin
Engine.Facecontrol(0,False);
CheckAttackingMobs;
print('получили 15 лвл тп в город');
delay(100);
engine.clearzone;
Engine.UseItem(10650);
Delay(25000);
end;
end;
procedure Quest15 ; // берем квест 15+
begin
print('идем Quest15 и тп на кач');
Engine.MoveTo(-83859, 243091, -3755);
Engine.Settarget(30050); //Таргет Elias квест 15+
Engine.MoveToTarget(-20);
delay(500);
Engine.Dlgopen();
Engine.DlgSel(1);
Delay(500);
Engine.DlgSel(1);
Delay(500);
Engine.MoveTo(-84039, 243238, -3755);
Engine.Settarget(30598); //Таргет НубоХелпера;
Engine.Dlgopen;
Delay(300);
Engine.DlgSel(5);
Delay(300);
Engine.DlgSel(1); //Бафаемся.
Delay(1000);
Engine.MoveTo(-83986, 243261, -3755);
Engine.MoveTo(-84262, 243740, -3755);
Engine.MoveTo(-84540, 244023, -3755);
Engine.MoveTo(-84159, 244538, -3755);
Engine.Settarget(30006); //Таргет Roxxy
Engine.Dlgopen;
Engine.DlgSel(3); //еглобал 3 , рпг 2? тп у рокси
Delay(500);
Engine.DlgSel(8);
Delay(10000);
end;
procedure farmdo20; //идем фарм до 20 лвл если мы стоим на тп у водопада
begin
if User.InRange(-83834, 243027, -3728,100,100) then //если мы в центре города
print('персонаж умер иду бафф,затем farmdo20');
Engine.MoveTo(-84039, 243238, -3755);
Engine.Settarget(30598); //Таргет НубоХелпера;
Engine.Dlgopen;
Delay(300);
Engine.DlgSel(5);
Delay(300);
Engine.DlgSel(1); //Бафаемся.
Delay(1000);
Engine.MoveTo(-84247, 243719, -3755);
Engine.MoveTo(-84506, 243973, -3755);
Engine.MoveTo(-84146, 244539, -3755);
Engine.Settarget(30006); //Таргет Roxxy
Engine.Dlgopen;
Engine.DlgSel(3); //еглобал 3 , рпг 2? тп у рокси
Delay(1000);
Engine.DlgSel(8);
Delay(10000);
if User.InRange(-111728, 244330, -3448,100,100)then //если мы у водопада
print('иду фарм на пауках до 20 лвл');
Engine.MoveTo(-113061, 244526, -3466);
Engine.MoveTo(-113842, 244961, -3380);
Engine.MoveTo(-114436, 245555, -3287);
Engine.MoveTo(-114718, 245985, -3263);
if User.InRange(-114718, 245985, -3263,100,100) then
Engine.LoadZone('farmdo15');
Engine.loadconfig('HumanWiz');
while User.Level<20 do begin
Engine.Facecontrol(0,True);
end;
if (user.level= 20) then begin
Engine.Facecontrol(0,False);
CheckAttackingMobs;
print('получили 20лвл го тп в город');
delay(100);
engine.clearzone;
Engine.UseItem(10650);
Delay(25000);
end;
end;
procedure Questdo23; //квесты 20+
begin
Engine.MoveTo(-84655, 242782, -3755);
Engine.MoveTo(-85439, 244441, -3755);
Engine.MoveTo(-85420, 244546, -3755);
Engine.MoveTo(-85294, 244654, -3720);
Engine.MoveTo(-85035, 244841, -3753);
Engine.Settarget(30032);//Таргет Yohanes
Engine.MoveToTarget(-20);
Delay(1000);
Engine.Dlgopen();
Delay(500);
Engine.DlgSel(3);
Delay(500);
Engine.MoveTo(-85631,244313,-3755);
Engine.MoveTo(-84743,243265,-3755);
Engine.MoveTo(-84408,242679,-3755);
Engine.MoveTo(-84115,242780,-3755);
Engine.Settarget(30050); //Таргет Elias квест 15+
Engine.Dlgopen();
Engine.DlgSel(1);
Engine.Settarget(30598);//Таргет нубобафера
Engine.MoveToTarget(-20);
Delay(2000);
Engine.Dlgopen();
Engine.MoveTo(-84023,243270,-3755); //Путь к тп
Engine.MoveTo(-84266,243737,-3755);
Engine.MoveTo(-84536,244002,-3755);
Engine.MoveTo(-84147,244543,-3755);
Engine.Settarget(30006); //Таргет Roxxy
Engine.Dlgopen;
Engine.DlgSel(3); //еглобал 3 , рпг 2? тп у рокси
Delay(500);
Engine.DlgSel(5);//тп к оркам
Engine.DlgSel(1);
Delay(10000);
Engine.MoveTo(-45049,-113037,-265);
Engine.MoveTo(-45808,-113586,-250);
Engine.MoveTo(-46277,-113515,-228);
Engine.MoveTo(-46302,-112946,-200);
Engine.MoveTo(-46293,-112825,-228);
Engine.MoveTo(-45959,-112602,-228);
Engine.Settarget(30572);
Engine.Dlgopen;
Engine.DlgSel(3); //еглобал 3 , рпг 4? ливина у орков
Delay(500);
Engine.DlgSel(2);
Delay(500);
Engine.DlgSel(1);
Delay(2000);
Engine.MoveTo(-46310,-112948,-228);
Engine.MoveTo(-46275,-113432,-228);
Engine.MoveTo(-46006,-113611,-227);
Engine.MoveTo(-45528,-113415,-265);
Engine.MoveTo(-44999,-112957,-265);
Engine.MoveTo(-45208,-112588,-265);
Engine.Settarget(30576); //Гк у окрков
Engine.Dlgopen;
Engine.DlgSel(1);
Delay(500);
Engine.DlgSel(2); //тп в штудгарт
Engine.DlgSel(1);
Delay(10000);
Engine.MoveTo(87363,-143133,-1319);
Engine.MoveTo(87782,-142589,-1366);
Engine.MoveTo(88864,-142281,-1366);
Engine.MoveTo(89672,-141806,-1567);
Engine.MoveTo(90069,-142394,-1567);
Engine.MoveTo(90509,-143005,-1567);
Engine.MoveTo(90424,-143176,-1566);
Engine.MoveTo(90266,-143192,-1553);
Engine.MoveTo(90049,-143172,-1553);
Engine.Settarget(31979); //Таргет Moira
Engine.Dlgopen;
Engine.DlgSel(2);
Delay(500);
Engine.DlgSel(2);
Delay(500);
Engine.DlgSel(1);
Engine.MoveTo(90049,-143172,-1553);
Engine.MoveTo(90266,-143192,-1553);
Engine.MoveTo(90424,-143176,-1566);
Engine.MoveTo(90509,-143005,-1567);
Engine.MoveTo(90069,-142394,-1567);
Engine.MoveTo(89672,-141806,-1567);
Engine.MoveTo(88864,-142281,-1366);
Engine.MoveTo(87782,-142589,-1366);
Engine.MoveTo(87363,-143133,-1319);
Engine.MoveTo(87149,-143331,-1319);
Engine.Settarget(31964);//Таргет гк в шутгарте
Engine.Dlgopen();
Engine.DlgSel(1);
Delay(500);
Engine.DlgSel(14);
Delay(10000);
Engine.Settarget(32017);//Таргет Karuda
Engine.Dlgopen();
Engine.DlgSel(1);
Delay(1500);
Engine.DlgSel(3);
Delay(1500);
Engine.DlgSel(1);//Сдали первый
Engine.Dlgopen();
Engine.DlgSel(1);
Delay(1000);
Engine.DlgSel(3);
Delay(1500);
Engine.DlgSel(1);//Сдали второй
print('получили 23 лвл ');
end;
begin
script.newthread(@ControlDead);
if (user.level < 20) then script.newthread(@controlshtrafNG);
if (user.level = 1) then TPKamVillage ;
if (user.level < 5) then TpHuman;
if not Inventory.User.ByID(10474, Item) then pokupka;
if User.InRange(-82218, 241474, -3728,100,100) then farmork;
if (user.level = 10) then skills;
if User.InRange(-83834, 243027, -3728,100,100)and (user.level < 15)
then farmdo15;
if (user.level < 15)and (user.level > 10) then farmdo15;
if (user.level = 15)and not engine.queststatus(151, 1) then Quest15 ;
if User.InRange(-111728, 244330, -3448,100,100) then farmdo20;
if (user.level < 20)and (user.level > 15) then farmdo20;
if (user.level = 20) then Questdo23 ;
end.