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

Очередной 1-40

Рег
16 Мар 2016
Сообщения
10
Реакции
0
{1-40 by gglol
NPCIDList:
0-Buffer kamael
1-MasterSkillov Kamael
2-GkKamael
3-GkGludio
4-GkDion
5-DionBuffer
6-DionArmorMerchant
7-DionWeaponMerchant
8-DionEtcMerchant
9-MasterSkillov Dion
EventsList:
1-NgPuha
2-Skilli na 15
3-Profa na 20
4-To Dion
5-Zakup v dione
6-Prouchka skilov na 20
ItemsList:
0-NGPuha
1-DSoski
2-Soe
3-DPuha
4-NgTelo
5-NgWtani
6-NgWlem}
uses
Classes, SysUtils;
const
GkDelay=15000;
DlgDelay=500;
AlarmNick= 'necrs';

Message:array[0..1]of string=('DAI DENEG','YA 20 VAZMI PROFU');
FirstProfID = 10;
Cities:array[0..11]of string=
('Talking','Heine','Dion','Giran',
'Aden','Goddard','Gludio','Gludin',
'Stuttgard','Rune','Oren','Kamael');
ZoneNames:array[0..3]of string=
('Defo.Gremlins','Defo.Stronghold1 ','Defo.Stronghold2','Defo.Cruma');
ConfigNames:array[0..3]of string=
('qqTesterok','qqTesterok','qqTesterok','qqTesterok');
NPC:array[0..9]of integer=
(32135,32155,32163,30256,30059,
32327,30061,30060,30063,30069);
Items:array[0..6]of integer=
(10474,3948,736,11672,1101,1104,44);
Locks:array[0..3]of string=
('Gremlins','Stronghold1','Stronghold3','Cruma');
function GetCity:string;
var
City:string;
begin
if User.InRange(-114295,255150,User.Z,5000,10) then City := Cities[0]; //Talking
if User.InRange(111434,220426,User.Z,5000,10) then City := Cities[1]; //Heine
if User.InRange(18591,144708,User.Z,5000,10) then City := Cities[2]; //Dion
if User.InRange(82876,148960,User.Z,5000,10) then City := Cities[3]; //Giran
if User.InRange(147509,25928,User.Z,5000,10) then City := Cities[4]; //Aden
if User.InRange(147713,-56202,User.Z,5000,10) then City := Cities[5]; //Goddard
if User.InRange(-14236,123701,User.Z,5000,10) then City := Cities[6]; //Gludio
if User.InRange(-81311,152663,User.Z,5000,10) then City := Cities[7]; //Gludin
if User.InRange(88041,-142502,User.Z,5000,10) then City := Cities[8]; //Stuttgard
if User.InRange(43838,-48222,User.Z,5000,10)
or User.InRange(38283,-48102,User.Z,5000,10) then City := Cities[9]; //Rune
if User.InRange(81150,54880,User.Z,5000,10) then City := Cities[10]; //Oren
if User.InRange(-117447, 45935,User.Z,5000,10) then City := Cities[11]; //Kamael
if Length(City) < 1 then begin
GoHome;
City := GetCity;
end;
Result:=City;

end;
function GetLock():string;
begin
if(user.level>=1)and(user.level<8)then Result:=Locks[0];
if(user.level>=8)and(user.level<15)then Result:=Locks[1];
if(user.level>=15)and(user.level<20)then Result:=Locks[2];
if(user.level>=20)and(user.level<40)then Result:=Locks[3];
end;
function InCity:boolean;
var
City:string;
begin
if User.InRange(-114295,255150,User.Z,5000,10) then City := Cities[0]; //Talking
if User.InRange(111434,220426,User.Z,5000,10) then City := Cities[1]; //Heine
if User.InRange(18591,144708,User.Z,5000,10) then City := Cities[2]; //Dion
if User.InRange(82876,148960,User.Z,5000,10) then City := Cities[3]; //Giran
if User.InRange(147509,25928,User.Z,5000,10) then City := Cities[4]; //Aden
if User.InRange(147713,-56202,User.Z,5000,10) then City := Cities[5]; //Goddard
if User.InRange(-14236,123701,User.Z,5000,10) then City := Cities[6]; //Gludio
if User.InRange(-81311,152663,User.Z,5000,10) then City := Cities[7]; //Gludin
if User.InRange(88041,-142502,User.Z,5000,10) then City := Cities[8]; //Stuttgard
if User.InRange(43838, -48222,User.Z,5000,10)
or User.InRange(38283,-48102,User.Z,5000,10) then City := Cities[9]; //Rune
if User.InRange(81150,54880,User.Z,5000,10) then City := Cities[10]; //Oren
if User.InRange(-117447, 45935,User.Z,5000,10) then City := Cities[11]; //Kamael
if Length(City) < 1 then Result:=false else Result:=True;
end;
function InLock():boolean;
var
lock:string;
begin
lock:=GetLock;

Result:=False;
if user.inrange(-90797, 248153, -3597,1500,300)
and ansisametext(Locks[0],Lock) then Result:=True;
if user.inrange(-122354, 72156, -3020,5000,500)
and ansisametext(Locks[1],Lock) then Result:=True;
if user.inrange(-87933, 38161, -2327,5000,500)
and ansisametext(Locks[2],Lock) then Result:=True;
if user.inrange(14238, 114205, -3583 ,5000,500)
and ansisametext(Locks[3],Lock) then Result:=True;
end;
function NeedProf():boolean;
begin
Result:=False;
if (user.classid=FirstProfID) and (user.level>=20)
then begin
Result:=True;
end;
end;
procedure ToGk;
var
obj:tl2npc;
move:boolean;
NewResp:TStringList;
City:string;
begin
City:=GetCity;
if ansisametext(City,Cities[1])//heine
then begin

end;
if ansisametext(City,Cities[2])//dion
then begin
if User.InRange(17096,144904,-3008, 250, 150) then begin
Engine.MoveTo(16920,144648,-2992);
Engine.MoveTo(15672,142968,-2688);
end;
if User.InRange(19272,146152,-3048, 250, 150) then begin
Engine.MoveTo(19288,146040,-3048);
Engine.MoveTo(19272,145832,-3048);
Engine.MoveTo(19256,145672,-3072);
Engine.MoveTo(17560,145528,-3056);
Engine.MoveTo(16984,145000,-3008);
Engine.MoveTo(15688,142984,-2688);
end;
if User.InRange(19576,144552,-3072, 250, 150) then begin
Engine.MoveTo(19544,144552,-3072);
Engine.MoveTo(19304,144552,-3088);
Engine.MoveTo(18600,144408,-3056);
Engine.MoveTo(18008,144072,-3040);
Engine.MoveTo(16968,144152,-2992);
Engine.MoveTo(16056,143288,-2768);
Engine.MoveTo(15688,142952,-2688);
end;
if User.InRange(16312,142328,-2672, 250, 150) then begin
Engine.MoveTo(16040,142360,-2672);
Engine.MoveTo(15944,142440,-2672);
Engine.MoveTo(15960,142824,-2672);
Engine.MoveTo(15928,142984,-2704);
Engine.MoveTo(15640,142952,-2688);
end;
if User.InRange(16280,146200,-3080, 250, 150) then begin
Engine.MoveTo(16248,146072,-3096);
Engine.MoveTo(15640,142968,-2688);
end;
if User.InRange(19656,143128,-3008, 250, 150) then begin
Engine.MoveTo(19576,143160,-3008);
Engine.MoveTo(19400,143256,-3016);
Engine.MoveTo(19144,143672,-3040);
Engine.MoveTo(18472,145000,-3064);
Engine.MoveTo(18040,145528,-3056);
Engine.MoveTo(17576,145432,-3056);
Engine.MoveTo(16968,144792,-2992);
Engine.MoveTo(15688,142968,-2688);
end;
if User.InRange(18024,144600,-3024, 250, 150) then begin
Engine.MoveTo(18200,144712,-3024);
Engine.MoveTo(18472,144808,-3056);
Engine.MoveTo(18296,145384,-3072);
Engine.MoveTo(17496,145448,-3056);
Engine.MoveTo(16952,144824,-2992);
Engine.MoveTo(15672,142968,-2688);
end;
if User.InRange(20104,143240,-3032, 250, 150) then begin
Engine.MoveTo(20088,143128,-3032);
Engine.MoveTo(19928,142840,-3024);
Engine.MoveTo(19624,142696,-3024);
Engine.MoveTo(19032,142808,-3040);
Engine.MoveTo(19000,143560,-3016);
Engine.MoveTo(18968,143944,-3040);
Engine.MoveTo(18264,144232,-3040);
Engine.MoveTo(17864,144040,-3024);
Engine.MoveTo(16872,144152,-2976);
Engine.MoveTo(16504,143736,-2864);
Engine.MoveTo(15720,142984,-2688);
Engine.MoveTo(15656,142952,-2688);
Engine.MoveTo(15544,142984,-2688);
end;
if User.InRange(20808,144536,-3048, 250, 150) then begin
Engine.MoveTo(20760,144680,-3048);
Engine.MoveTo(20440,144712,-3072);
Engine.MoveTo(19880,144168,-3072);
Engine.MoveTo(19144,144184,-3072);
Engine.MoveTo(18760,144488,-3072);
Engine.MoveTo(18008,144120,-3040);
Engine.MoveTo(17224,144120,-3024);
Engine.MoveTo(16792,144152,-2976);
Engine.MoveTo(15688,142968,-2688);
end;
if User.InRange(19134,144847,-3096, 250, 150) then begin
Engine.MoveTo(19134,144847,-3096);
Engine.MoveTo(18041,144052,-3057);
Engine.MoveTo(16727,144111,-2980);
Engine.MoveTo(15933,143331,-2771);
Engine.MoveTo(15628,142920,-2704);
end;
if User.InRange(18954,144428,-3096, 250, 150) then begin
Engine.MoveTo(18954,144428,-3096);
Engine.MoveTo(18600,144387,-3070);
Engine.MoveTo(17733,143924,-3037);
Engine.MoveTo(16711,144167,-2980);
Engine.MoveTo(16622,144034,-2932);
Engine.MoveTo(15963,143381,-2784);
Engine.MoveTo(15628,142920,-2704);
end;
if User.InRange(19012,145140,-3120, 250, 150) then begin
Engine.MoveTo(19012,145140,-3120);
Engine.MoveTo(19021,145126,-3123);
Engine.MoveTo(17600,145497,-3079);
Engine.MoveTo(16468,144129,-2964);
Engine.MoveTo(15628,142920,-2704);
end;
if User.InRange(19613,145607,-3104, 250, 150) then begin
Engine.MoveTo(19613,145607,-3104);
Engine.MoveTo(17638,145591,-3084);
Engine.MoveTo(16214,143659,-2863);
Engine.MoveTo(15628,142920,-2704);
end;
if User.InRange(18576,145136,-3104, 250, 150) then begin
Engine.MoveTo(18576,145136,-3104);
Engine.MoveTo(17727,145541,-3082);
Engine.MoveTo(16414,144174,-2969);
Engine.MoveTo(15628,142920,-2704);
end;
if User.InRange(17398,145456,-3048, 250, 150) then begin
Engine.MoveTo(17398,145456,-3048);
Engine.MoveTo(17727,145541,-3082);
Engine.MoveTo(16414,144174,-2969);
Engine.MoveTo(15628,142920,-2704);
end;
if User.InRange(17144,145055,-3024, 250, 150) then begin
Engine.MoveTo(17144,145055,-3024);
Engine.MoveTo(16350,143905,-2923);
Engine.MoveTo(15628,142920,-2704);
end;
if User.InRange(18078,145925,-3112, 250, 150) then begin
Engine.MoveTo(18078,145925,-3112);
Engine.MoveTo(16559,144353,-2987);
Engine.MoveTo(15628,142920,-2704);
end;
if User.InRange(19150,143941,-3056, 250, 150) then begin
Engine.MoveTo(19150,143941,-3056);
Engine.MoveTo(18112,145633,-3104);
Engine.MoveTo(17108,145059,-3031);
Engine.MoveTo(16469,144176,-2969);
Engine.MoveTo(15628,142920,-2704);
end;
if User.InRange(18512,145536,-3120, 250, 150) then begin
Engine.MoveTo(18512,145536,-3120);
Engine.MoveTo(17226,145360,-3048);
Engine.MoveTo(16419,143955,-2935);
Engine.MoveTo(15628,142920,-2704);
end;
if User.InRange(18717,145711,-3080, 250, 150) then begin
Engine.MoveTo(18717,145711,-3080);
Engine.MoveTo(17226,145360,-3048);
Engine.MoveTo(16419,143955,-2935);
Engine.MoveTo(15628,142920,-2704);
end;
if User.InRange(15628,142920,-2704, 250, 150) then Move := true;
end;
if ansisametext(City,Cities[3])//giran
then begin
if user.inrange(79784,146568,-3504,600,100) then begin
Engine.MoveTo(80040,146760,-3504);
Engine.MoveTo(80088,146968,-3520);
Engine.MoveTo(81112,146920,-3512);
Engine.MoveTo(81432,146904,-3520);
Engine.MoveTo(81544,147256,-3512);
Engine.MoveTo(81560,147608,-3456);
Engine.CancelTarget;
Engine.MoveTo(82776,147880,-3456);
Engine.MoveTo(83064,148008,-3456);
Engine.MoveTo(83400,147960,-3384);
end;
if user.inrange(79672,150728,-3496,600,100) then begin
Engine.MoveTo(79624,150648,-3504);
Engine.MoveTo(79576,150264,-3504);
Engine.MoveTo(79576,150088,-3520);
Engine.MoveTo(79800,149000,-3520);
Engine.MoveTo(79816,148632,-3520);
Engine.MoveTo(80344,148616,-3520);
Engine.MoveTo(80824,148584,-3456);
Engine.MoveTo(81832,148280,-3456);
Engine.CancelTarget;
Engine.MoveTo(83112,148008,-3440);
Engine.MoveTo(83368,147944,-3384);
end;
if user.inrange(82856,149320,-3456,600,100) then begin
Engine.MoveTo(82872,149192,-3456);
Engine.MoveTo(83080,148264,-3448);
Engine.MoveTo(83384,147960,-3384);
end;
if user.inrange(80440,149192,-3488,600,100) then begin
Engine.MoveTo(80408,149176,-3488);
Engine.MoveTo(80152,149016,-3488);
Engine.MoveTo(79816,149000,-3520);
Engine.MoveTo(79800,148712,-3520);
Engine.MoveTo(80376,148632,-3520);
Engine.MoveTo(80840,148584,-3456);
Engine.MoveTo(81704,148264,-3456);
Engine.MoveTo(83080,148008,-3448);
Engine.MoveTo(83400,147960,-3384);
end;
if user.inrange(78968,149288,-3576,600,100) then begin
Engine.MoveTo(78968,149272,-3576);
Engine.MoveTo(79016,148904,-3576);
Engine.MoveTo(79016,148728,-3568);
Engine.MoveTo(79224,148680,-3536);
Engine.MoveTo(79896,148648,-3520);
Engine.MoveTo(80456,148616,-3512);
Engine.MoveTo(80888,148600,-3456);
Engine.MoveTo(83064,148008,-3456);
Engine.MoveTo(83400,147944,-3384);
end;
if user.inrange(80440,147864,-3488,600,100) then begin
Engine.MoveTo(80376,147784,-3488);
Engine.MoveTo(80072,147624,-3488);
Engine.MoveTo(79944,147592,-3520);
Engine.MoveTo(80024,147384,-3512);
Engine.MoveTo(81384,146856,-3512);
Engine.MoveTo(81496,147224,-3512);
Engine.MoveTo(81592,147592,-3456);
Engine.MoveTo(82728,147848,-3456);
Engine.MoveTo(83064,147992,-3456);
Engine.MoveTo(83384,147960,-3384);
end;
if user.inrange(86120,148648,-3384,600,100) then begin
Engine.MoveTo(86040,148600,-3384);
Engine.MoveTo(83800,148616,-3376);
Engine.MoveTo(83640,148440,-3384);
Engine.MoveTo(83416,147976,-3392);
end;
if user.inrange(85368,146264,-3384,600,100) then begin
Engine.MoveTo(85272,146472,-3384);
Engine.MoveTo(84200,146488,-3392);
Engine.MoveTo(83912,147032,-3384);
Engine.MoveTo(83640,147928,-3384);
Engine.MoveTo(83384,147944,-3384);
end;
if user.inrange(85336,153064,-3480,600,100) then begin
Engine.MoveTo(85464,153096,-3480);
Engine.MoveTo(85784,152920,-3480);
Engine.MoveTo(85832,152776,-3480);
Engine.MoveTo(85800,150520,-3512);
Engine.MoveTo(85816,150072,-3376);
Engine.MoveTo(85752,149784,-3376);
Engine.MoveTo(85128,149624,-3376);
Engine.MoveTo(83400,148008,-3392);
end;
if user.inrange(81032,150680,-3496,600,100) then begin
Engine.MoveTo(81048,150520,-3520);
Engine.MoveTo(81160,150296,-3512);
Engine.MoveTo(81496,150264,-3520);
Engine.MoveTo(81560,149608,-3456);
Engine.MoveTo(83256,148056,-3392);
Engine.MoveTo(83384,147976,-3392);
end;
if user.inrange(77496,148200,-3576,600,100) then begin
Engine.MoveTo(77528,148232,-3576);
Engine.MoveTo(77576,148536,-3584);
Engine.MoveTo(79016,148568,-3568);
Engine.MoveTo(79240,148584,-3520);
Engine.MoveTo(80424,148616,-3512);
Engine.MoveTo(80664,148616,-3448);
Engine.MoveTo(81960,148216,-3456);
Engine.MoveTo(83096,147992,-3448);
Engine.MoveTo(83352,147960,-3384);
end;
if user.inrange(79672,145512,-3472,600,100) then begin
Engine.MoveTo(79752,145576,-3480);
Engine.MoveTo(80056,145816,-3480);
Engine.MoveTo(80264,145848,-3520);
Engine.MoveTo(81144,145544,-3512);
Engine.MoveTo(81416,145544,-3520);
Engine.MoveTo(81544,147256,-3512);
Engine.MoveTo(81544,147704,-3456);
Engine.MoveTo(82728,147848,-3456);
Engine.MoveTo(83096,148008,-3448);
Engine.MoveTo(83384,147944,-3384);
end;
if user.inrange(80472,144504,-3512,600,100) then begin
Engine.MoveTo(80648,144504,-3520);
Engine.MoveTo(81416,144760,-3520);
Engine.MoveTo(81544,147064,-3520);
Engine.MoveTo(81560,147576,-3448);
Engine.MoveTo(83000,147960,-3456);
Engine.MoveTo(83400,147960,-3384);
end;
if user.inrange(83208,146728,-3448,600,100) then begin
Engine.MoveTo(83000,146664,-3448);
Engine.MoveTo(82696,146664,-3448);
Engine.MoveTo(81656,146584,-3520);
Engine.MoveTo(81544,147224,-3512);
Engine.MoveTo(81544,147512,-3448);
Engine.MoveTo(82712,147976,-3456);
Engine.MoveTo(83352,147960,-3384);
end;

if User.InRange(81376,148095,-3464, 250, 150) then begin
Engine.MoveTo(81376,148095,-3464);
Engine.MoveTo(81881,148025,-3467);
Engine.MoveTo(83027,148020,-3467);
Engine.MoveTo(83402,147946,-3403);
end;
if User.InRange(82292,149450,-3464, 250, 150) then begin
Engine.MoveTo(82292,149450,-3464);
Engine.MoveTo(82865,148876,-3467);
Engine.MoveTo(83054,148281,-3467);
Engine.MoveTo(83402,147946,-3403);
end;
if User.InRange(81562,147782,-3464, 250, 150) then begin
Engine.MoveTo(81562,147782,-3464);
Engine.MoveTo(82284,148077,-3467);
Engine.MoveTo(83077,148159,-3467);
Engine.MoveTo(83402,147946,-3403);
end;
if User.InRange(83409,148578,-3400, 250, 150) then begin
Engine.MoveTo(83409,148578,-3400);
Engine.MoveTo(83427,148206,-3403);
Engine.MoveTo(83402,147946,-3403);
end;
if User.InRange(81440,149119,-3464, 250, 150) then begin
Engine.MoveTo(81440,149119,-3464);
Engine.MoveTo(82200,149222,-3467);
Engine.MoveTo(82722,148485,-3467);
Engine.MoveTo(83087,148101,-3467);
Engine.MoveTo(83402,147946,-3403);
end;
if User.InRange(82496,148095,-3464, 250, 150) then begin
Engine.MoveTo(82496,148095,-3464);
Engine.MoveTo(83092,148094,-3467);
Engine.MoveTo(83402,147946,-3403);
end;
if User.InRange(83473,149223,-3400, 250, 150) then begin
Engine.MoveTo(83473,149223,-3400);
Engine.MoveTo(83355,148728,-3403);
Engine.MoveTo(83358,148292,-3403);
Engine.MoveTo(83402,147946,-3403);
end;
if User.InRange(82272,147801,-3464, 250, 150) then begin
Engine.MoveTo(82272,147801,-3464);
Engine.MoveTo(82565,148080,-3467);
Engine.MoveTo(83101,148099,-3467);
Engine.MoveTo(83402,147946,-3403);
end;
if User.InRange(82480,149087,-3464, 250, 150) then begin
Engine.MoveTo(82480,149087,-3464);
Engine.MoveTo(82623,148694,-3467);
Engine.MoveTo(83087,148157,-3467);
Engine.MoveTo(83402,147946,-3403);
end;
if User.InRange(81637,149427,-3464, 250, 150) then begin
Engine.MoveTo(81637,149427,-3464);
Engine.MoveTo(82229,149197,-3467);
Engine.MoveTo(82610,148669,-3467);
Engine.MoveTo(83088,148170,-3467);
Engine.MoveTo(83402,147946,-3403);
end;
if User.InRange(81062,148144,-3464, 250, 150) then begin
Engine.MoveTo(81062,148144,-3464);
Engine.MoveTo(81574,147997,-3467);
Engine.MoveTo(82302,147975,-3467);
Engine.MoveTo(83070,148109,-3467);
Engine.MoveTo(83402,147946,-3403);
end;
if User.InRange(83426,148835,-3400, 250, 150) then begin
Engine.MoveTo(83426,148835,-3400);
Engine.MoveTo(83422,148276,-3403);
Engine.MoveTo(83402,147946,-3403);
end;
if User.InRange(81033,148883,-3464, 250, 150) then begin
Engine.MoveTo(81033,148883,-3464);
Engine.MoveTo(81769,149191,-3467);
Engine.MoveTo(82322,149192,-3467);
Engine.MoveTo(82622,148656,-3467);
Engine.MoveTo(83079,148163,-3467);
Engine.MoveTo(83402,147946,-3403);
end;
if User.InRange(83415,148235,-3400, 250, 150) then begin
Engine.MoveTo(83415,148235,-3400);
Engine.MoveTo(83402,147946,-3403);
end;
if User.InRange(83402,147946,-3403,250,150) then Move := true;
end;
if ansisametext(City,Cities[4])//aden
then begin
end;
if ansisametext(City,Cities[5])//goddard
then begin
end;
if ansisametext(City,Cities[6])//gludio
then begin
//GLUDIO
if user.inrange(-15176,123368,-3088,500,10) then begin
Engine.MoveTo(-15080,123416,-3088);
Engine.MoveTo(-14760,123432,-3096);
Engine.MoveTo(-13384,123592,-3096);
Engine.MoveTo(-12376,123464,-3088);
Engine.MoveTo(-12344,122888,-3080);
Engine.MoveTo(-12744,122776,-3104);
end;
if user.inrange(-12712,123160,-3080,500,10) then begin
Engine.MoveTo(-12712,123240,-3080);
Engine.MoveTo(-12696,123416,-3104);
Engine.MoveTo(-12280,123320,-3088);
Engine.MoveTo(-12328,122856,-3088);
Engine.MoveTo(-12744,122760,-3104);
end;
if user.inrange(-12712,123160,-3080,500,10) then begin
Engine.MoveTo(-12712,123240,-3080);
Engine.MoveTo(-12696,123416,-3104);
Engine.MoveTo(-12280,123320,-3088);
Engine.MoveTo(-12328,122856,-3088);
Engine.MoveTo(-12744,122760,-3104);
end;
if user.inrange(-14840,124520,-3096,500,10) then begin
Engine.MoveTo(-14840,124360,-3096);
Engine.MoveTo(-14904,124168,-3096);
Engine.MoveTo(-14920,123976,-3104);
Engine.MoveTo(-13864,123736,-3104);
Engine.MoveTo(-12328,123400,-3088);
Engine.MoveTo(-12376,122840,-3088);
Engine.MoveTo(-12744,122776,-3104);
end;
if user.inrange(-13384,121704,-2952,500,10) then begin
Engine.MoveTo(-13144,121704,-2952);
Engine.MoveTo(-13096,121960,-2944);
Engine.MoveTo(-13080,122280,-2976);
Engine.MoveTo(-13288,122408,-2968);
Engine.MoveTo(-13288,122680,-3032);
Engine.MoveTo(-13064,122664,-3096);
Engine.MoveTo(-12760,122776,-3104);
end;
if user.inrange(-13480,125528,-3112,500,10) then begin
Engine.MoveTo(-13336,125480,-3120);
Engine.MoveTo(-12824,125096,-3112);
Engine.MoveTo(-12152,124072,-3072);
Engine.MoveTo(-12408,122856,-3088);
Engine.MoveTo(-12728,122760,-3104);
end;
if user.inrange(-15304,124632,-3096,500,10) then begin
Engine.MoveTo(-15320,124552,-3096);
Engine.MoveTo(-15256,124296,-3096);
Engine.MoveTo(-14968,123960,-3104);
Engine.MoveTo(-12312,123400,-3088);
Engine.MoveTo(-12408,122888,-3088);
Engine.MoveTo(-12744,122760,-3104);
end;
if user.inrange(-12744,124840,-3104,500,10) then begin
Engine.MoveTo(-12584,124808,-3104);
Engine.MoveTo(-12168,124088,-3072);
Engine.MoveTo(-12344,123000,-3080);
Engine.MoveTo(-12712,122760,-3104);
end;
if user.inrange(-13144,124872,-3096,500,10) then begin
Engine.MoveTo(-13176,124808,-3096);
Engine.MoveTo(-13176,124568,-3104);
Engine.MoveTo(-13480,124296,-3104);
Engine.MoveTo(-13448,123864,-3104);
Engine.MoveTo(-12296,123368,-3080);
Engine.MoveTo(-12408,122872,-3088);
Engine.MoveTo(-12760,122760,-3104);
end;
if user.inrange(-13880,122024,-2968,600,100) then begin
Engine.MoveTo(-13832,122152,-2976);
Engine.MoveTo(-13304,122424,-2968);
Engine.MoveTo(-13240,122664,-3032);
Engine.MoveTo(-12984,122664,-3104);
Engine.MoveTo(-12728,122776,-3104);
end;
if User.inrange(-14704,122032,-3056, 250, 250) then begin
Engine.MoveTo(-14704,122032,-3056);
Engine.MoveTo(-14538,122671,-3116);
Engine.MoveTo(-14599,123458,-3113);
Engine.MoveTo(-14510,124033,-3125);
engine.moveto(-12360,123416,-3104);
engine.moveto(-12392,122872,-3104);
Engine.MoveTo(-12728, 122760, -3104);
end;
if User.inrange(-13709,123563,-3112, 250, 250) then begin
Engine.MoveTo(-13709,123563,-3112);
Engine.MoveTo(-14115,123802,-3119);
Engine.MoveTo(-14510,124033,-3125);
engine.moveto(-12360,123416,-3104);
engine.moveto(-12392,122872,-3104);
Engine.MoveTo(-12728, 122760, -3104);
end;
if User.inrange(-14465,124434,-3120, 250, 250) then begin
Engine.MoveTo(-14465,124434,-3120);
Engine.MoveTo(-14510,124033,-3125);
engine.moveto(-12360,123416,-3104);
engine.moveto(-12392,122872,-3104);
Engine.MoveTo(-12728, 122760, -3104);
end;
if User.inrange(-13513,123752,-3112, 250, 250) then begin
Engine.MoveTo(-13513,123752,-3112);
Engine.MoveTo(-14245,123748,-3109);
Engine.MoveTo(-14510,124033,-3125);
engine.moveto(-12360,123416,-3104);
engine.moveto(-12392,122872,-3104);
Engine.MoveTo(-12728, 122760, -3104);
end;
if User.inrange(-15564,123896,-3112, 250, 250) then begin
Engine.MoveTo(-15564,123896,-3112);
Engine.MoveTo(-14813,123869,-3124);
Engine.MoveTo(-14510,124033,-3125);
engine.moveto(-12360,123416,-3104);
engine.moveto(-12392,122872,-3104);
Engine.MoveTo(-12728, 122760, -3104);
end;
if User.inrange(-14288,122752,-3112, 250, 250) then begin
Engine.MoveTo(-14288,122752,-3112);
Engine.MoveTo(-14525,123547,-3109);
Engine.MoveTo(-14510,124033,-3125);
engine.moveto(-12360,123416,-3104);
engine.moveto(-12392,122872,-3104);
Engine.MoveTo(-12728, 122760, -3104);
end;
if User.inrange(-15314,124131,-3112, 250, 250) then begin
Engine.MoveTo(-15314,124131,-3112);
Engine.MoveTo(-14710,123973,-3122);
Engine.MoveTo(-14510,124033,-3125);
engine.moveto(-12360,123416,-3104);
engine.moveto(-12392,122872,-3104);
Engine.MoveTo(-12728, 122760, -3104);
end;
if User.inrange(-14592,123232,-3112, 250, 250) then begin
Engine.MoveTo(-14592,123232,-3112);
Engine.MoveTo(-14510,124033,-3125);
engine.moveto(-12360,123416,-3104);
engine.moveto(-12392,122872,-3104);
Engine.MoveTo(-12728, 122760, -3104);
end;
if user.inrange(-12728, 122760, -3104,250,150) then move:=true;
end;
if ansisametext(City,Cities[7])//gludin
then begin
end;
if ansisametext(City,Cities[8])//stt
then begin
end;
if ansisametext(City,Cities[9])//rune
then begin
end;
if ansisametext(City,Cities[10])//oren
then begin
end;
if ansisametext(City,Cities[11])//kamael
then begin
if user.inrange(-118087,45021,368,250)
then begin
Engine.MoveTo(-118088, 45016, 368);
Engine.MoveTo(-117272, 45528, 368);
Engine.MoveTo(-116920, 46504, 368);
end;
if user.inrange(-118092,46955,368,250)
then begin
Engine.MoveTo(-116920, 46504, 368);
end;
if user.inrange(-119401,45949,368,250)
then begin
Engine.MoveTo(-118568, 46440, 384);
Engine.MoveTo(-116920, 46504, 368);
end;
if user.inrange(-116739, 45949, 368,250)
then begin
Engine.MoveTo(-116920, 46504, 368);
end;

if user.inrange(-115560,43608,528,600,10) then begin
Engine.MoveTo(-115688,43640,528);
Engine.MoveTo(-115912,43864,528);
Engine.MoveTo(-115912,44232,512);
Engine.MoveTo(-116104,44696,520);
Engine.MoveTo(-116520,45448,376);
Engine.MoveTo(-116872,46520,368);
end;
if user.inrange(-116824,48040,472,600,10) then begin
Engine.MoveTo(-116920,47992,472);
Engine.MoveTo(-117144,47784,472);
Engine.MoveTo(-117240,47432,464);
Engine.MoveTo(-117352,47224,424);
Engine.MoveTo(-117304,46856,376);
Engine.MoveTo(-116920,46584,368);
end;
if user.inrange(-119768,44536,368,600,10) then begin
Engine.MoveTo(-119176,45112,368);
Engine.MoveTo(-117880,45624,368);
Engine.MoveTo(-116888,46568,368);
end;
if user.inrange(-118712,47944,472,600,10) then begin
Engine.MoveTo(-118728,47896,472);
Engine.MoveTo(-118728,47640,472);
Engine.MoveTo(-118328,47352,464);
Engine.MoveTo(-118104,47064,376);
Engine.MoveTo(-116936,46584,368);
end;
if user.inrange(-120248,46920,416,600,10) then begin
Engine.MoveTo(-120232,46920,416);
Engine.MoveTo(-119624,46936,400);
Engine.MoveTo(-117624,46824,368);
Engine.MoveTo(-116968,46616,368);
end;
if user.inrange(-120248,46920,416,600,10) then begin
Engine.MoveTo(-117128,47912,472);
Engine.MoveTo(-117160,47720,472);
Engine.MoveTo(-117192,47512,456);
Engine.MoveTo(-117304,47384,464);
Engine.MoveTo(-117336,47096,376);
Engine.MoveTo(-117336,46840,368);
Engine.MoveTo(-117112,47992,472);
end;
if user.inrange(-120536,45176,408,600,10) then begin
Engine.MoveTo(-120520,45160,408);
Engine.MoveTo(-120280,44856,400);
Engine.MoveTo(-119176,45624,368);
Engine.MoveTo(-118488,46152,368);
Engine.MoveTo(-118056,46392,368);
Engine.MoveTo(-116968,46552,368);
end;
if user.inrange(-119048,43288,560,600,10) then begin
Engine.MoveTo(-118904,43368,560);
Engine.MoveTo(-118200,43656,560);
Engine.MoveTo(-118088,43672,560);
Engine.MoveTo(-118088,43992,560);
Engine.MoveTo(-118008,44424,560);
Engine.MoveTo(-117496,45432,368);
Engine.MoveTo(-116936,46488,368);
end;
if user.inrange(-120168,46008,360,600,10) then begin
Engine.MoveTo(-120104,46040,360);
Engine.MoveTo(-119704,45976,400);
Engine.MoveTo(-118792,46360,368);
Engine.MoveTo(-116952,46552,368);
end;
if user.inrange(-114888,45096,528,600,10) then begin
Engine.MoveTo(-115000,45192,528);
Engine.MoveTo(-115208,45208,528);
Engine.MoveTo(-115528,45336,512);
Engine.MoveTo(-115912,46040,512);
Engine.MoveTo(-116104,46216,520);
Engine.MoveTo(-116888,46536,368);
end;
if user.inrange(-117729, 45552, 368,250,250) then
begin
Engine.MoveTo(-116984, 46472, 368);
Engine.MoveTo(-116888, 46568, 368);
Engine.MoveTo(-116936, 46456, 368);
end;
if user.inrange(-118995, 46661, 368,250,250) then
begin
Engine.MoveTo(-116920, 46584, 368);
Engine.MoveTo(-116936, 46456, 368);
end;
if user.inrange(-115997, 41736, 1280,250,250) then
begin
Engine.MoveTo(-118152, 41736, 840);
Engine.MoveTo(-118088, 42392, 840);
Engine.MoveTo(-118456, 42456, 840);
Engine.MoveTo(-118344, 43640, 560);
Engine.MoveTo(-118072, 43784, 560);
Engine.MoveTo(-118072, 44408, 560);
Engine.MoveTo(-117352, 45608, 368);
Engine.MoveTo(-116920, 46504, 368);
Engine.MoveTo(-116936, 46456, 368);
end;
if user.inrange(-119098, 44161, 544,250,250) then
begin
Engine.MoveTo(-118376, 44424, 560);
Engine.MoveTo(-117453, 45392, 421);
Engine.MoveTo(-117096, 45768, 368);
Engine.MoveTo(-116920, 46456, 368);
Engine.MoveTo(-116936, 46456, 368);
end;
if user.inrange(-116749, 46618, 368,150,150) then
begin
Engine.MoveTo(-116856, 46552, 368);
Engine.MoveTo(-116936, 46456, 368);
end;
if user.inrange(-117081, 44171, 544,250,250) then
begin
Engine.MoveTo(-117608, 44408, 560);
Engine.MoveTo(-117576, 45219, 372);
Engine.MoveTo(-116936, 46456, 368);
end;
if user.inrange(-120000, 44500, 368,250,250) then
begin
Engine.MoveTo(-120000, 44500, 368);
Engine.MoveTo(-119144, 45352, 368);
Engine.MoveTo(-117768, 45848, 368);
Engine.MoveTo(-116936, 46456, 368);
end;
if user.inrange( -116936, 46456, 368,250,250) then move:=true;
end;
end;
procedure GoHome();
var
Skill: TL2Skill;
Item: TL2Item;
begin
if not InCity
then begin
Engine.FaceControl(0, false);
if not User.Dead then begin
if (user.level>20)
then begin
if Inventory.User.ByID(10650,Item) then Engine.UseItem(Item);
if Inventory.User.ByID(736,Item) then Engine.UseItem(Item);
end
else begin
Inventory.User.ByID(12753,Item);
Engine.UseItem(Item);
end
end else Engine.GoHome;
Delay(GkDelay);
end else
Print(GetCity);
end;
procedure CheckItem();
var
Item,Staff,NgSet,DStaff:TL2Item;
i,a,z:integer;
begin

if (user.level>6)and not Inventory.User.ByID(Items[0],Staff)
then begin
Events(1);
end;
if NeedProf then Events(3)
else if (user.level>=20) and not (GetCity='Dion')then Events(4);


if (GetCity='Dion') and not Inventory.User.ByID(Items[3],Staff)
then Events(5);
EquipItems;
end;
procedure CheckSkills();
var
WindStrike,Blaze:TL2Skill;
begin
SkillList.ByID(1177,WindStrike);
SkillList.ByID(1220,Blaze);
if(user.level>=15)and(WindStrike.level<5)then Events(2);
if(user.level>=20)and(Blaze.level<2)then Events(6);
end;
procedure ToLock(lock:string);
begin
print('1');
if ansisametext(lock,Locks[0])
then begin
ZoneLoad(0);
Engine.FaceControl(0,true);

end;
if ansisametext(lock,Locks[1])
then begin
ToGk;
Engine.SetTarget(NPC[2]);
Delay(DlgDelay);
Engine.MoveToTarget(-1);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
Engine.DlgSel(9);
Delay(GkDelay);
Engine.MoveTo(-122410, 73205, -2872);
Engine.MoveTo(-122244, 72832, -2898);
Engine.MoveTo(-122354, 72156, -3020);
ZoneLoad(1);
Engine.FaceControl(0,true);
end;
if ansisametext(lock,Locks[2])
then begin
ToGk;
Engine.SetTarget(NPC[2]);
Delay(DlgDelay);
Engine.MoveToTarget(-1);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
Engine.DlgSel(11);
Delay(GkDelay);
ZoneLoad(2);

Engine.MoveTo(-86597, 36974, -2079);
Engine.MoveTo(-87078, 36973, -2153);
Engine.FaceControl(0,true);

end;
if not NeedProf
then begin

if ansisametext(lock,Locks[3])
then begin

ToGk;
Engine.SetTarget(NPC[4]);
Delay(DlgDelay);
Engine.MoveToTarget(-1);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
Engine.DlgSel(10);
Delay(GkDelay);
ZoneLoad(3);
Engine.MoveTo(17225, 114173, -3440);
Engine.MoveTo(15444, 114157, -3598);
Engine.FaceControl(0,true);
end;
end else Events(3);

end;
procedure ZoneLoad(number:integer);
begin
Engine.LoadConfig(ConfigNames[number]);
Delay(DlgDelay);
Engine.LoadZone(ZoneNames[number]);
end;
procedure CheckBuff();
var
buff:TL2Buff;
begin
if not user.buffs.byname('Щит Путешественника',buff)
then begin
if (user.level<20)
then begin
GoHome();
Engine.SetTarget(NPC[0]);
Delay(DlgDelay);
Engine.MoveToTarget(-1);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(5);
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
end;
if (user.level>=20)
then begin
ToGk;
Engine.MoveTo(15472, 142880, -2688);
Engine.MoveTo(16646, 144351, -3015);
Engine.MoveTo(17110, 144943, -3047);
Engine.SetTarget(NPC[5]);
Delay(DlgDelay);
Engine.MoveToTarget(-1);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
ToGk;
end;
end;
end;
procedure Events(NumberOfEvent:integer);
var
i:integer;

begin
if NumberOfEvent=1
then begin
if user.inrange(-120050, 44500, 360,500,300)
then begin
GoHome();
Delay(DlgDelay);
Engine.SetTarget(NPC[0]);
Delay(DlgDelay);
Engine.MoveToTarget(-1);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
Engine.CancelTarget();
Engine.SetTarget(NPC[0]);
Engine.SetTarget(NPC[0]);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(6);
Delay(DlgDelay);
Engine.DlgSel(2);
Delay(DlgDelay);
Engine.NpcExChange(Items[0],1);
Delay(DlgDelay);
Engine.CancelTarget();
Engine.SetTarget(NPC[0]);
Engine.SetTarget(NPC[0]);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(5);
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
Engine.Say(Message[0], 2, AlarmNick);
Engine.BlinkWindow;
Script.Pause;
end else
begin
GoHome();
Delay(DlgDelay);
Engine.SetTarget(NPC[0]);
Delay(DlgDelay);
Engine.MoveToTarget(-1);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
Engine.CancelTarget();
Engine.SetTarget(NPC[0]);
Engine.SetTarget(NPC[0]);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(6);
Delay(DlgDelay);
Engine.DlgSel(2);
Delay(DlgDelay);
Engine.NpcExChange(Items[0],1);
Delay(DlgDelay);
Engine.CancelTarget();
Engine.SetTarget(NPC[0]);
Engine.SetTarget(NPC[0]);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(5);
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
Engine.Say(Message[0], 2, AlarmNick);
Engine.BlinkWindow;
Script.Pause;
end;
end;
if NumberOfEvent=2
then begin
if user.inrange(-120050, 44500, 360,500,300)
then begin
Engine.MoveTo(-120050, 44500, 360);
Engine.MoveTo(-120542, 45208, 372);
Delay(DlgDelay);
Engine.SetTarget(NPC[1]);
Delay(DlgDelay);
Engine.MoveToTarget(-1);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
while Engine.LearnSkill(1177)do delay(50);
for i:=1 to 3000 do while Engine.LearnSkill(i) do delay(50);
Engine.MoveTo(-120542, 45208, 372);
Engine.MoveTo(-120050, 44500, 360);
ToGk;
end else
begin
GoHome();
Engine.MoveTo(-120050, 44500, 360);
Delay(DlgDelay);
Engine.MoveTo(-120542, 45208, 372);
Delay(DlgDelay);
Engine.SetTarget(NPC[1]);
Delay(DlgDelay);
Engine.MoveToTarget(-1);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
while Engine.LearnSkill(1177) do delay(50);
for i:=3000 downto 1 do while Engine.LearnSkill(i) do delay(50);
Engine.MoveTo(-120542, 45208, 372);
Engine.MoveTo(-120050, 44500, 360);
ToGk;

end;
end;
if NumberOfEvent=3
then begin
ToGk;
Engine.Say(Message[1], 2, AlarmNick);
Engine.BlinkWindow;
Script.Pause;
end;
if NumberOfEvent=4
then begin
ToGk();
Engine.CancelTarget();
Delay(DlgDelay);
Engine.SetTarget(NPC[2]);
Delay(DlgDelay);
Engine.MoveToTarget(-1);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(GkDelay);
Engine.SetTarget(NPC[3]);
Delay(DlgDelay);
Engine.MoveToTarget(-1);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(2);
Delay(DlgDelay);
Engine.DlgSel(5);
Delay(GkDelay);

end;
if NumberOfEvent=5
then begin
if not user.inrange(15472, 142880, -2688,500,500)
then Events(4)
else begin
Engine.MoveTo(15472, 142880, -2688);
Engine.MoveTo(16646, 144351, -3015);
Engine.MoveTo(17110, 144943, -3047);
Engine.SetTarget(NPC[5]);
Delay(DlgDelay);
Engine.MoveToTarget(-1);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
//Weapon Shop
Engine.MoveTo(17110, 144943, -3008);
Engine.MoveTo(18682, 145386, -3154);
Engine.MoveTo(18038, 144567, -3073);
Engine.SetTarget(NPC[6]);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.MoveToTarget(-1);
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
Engine.DlgSel(2);
Delay(DlgDelay);
Engine.NPCTrade(false,[Items[4],1, Items[5],1, Items[6],1]);
Engine.SetTarget(NPC[7]);
Delay(DlgDelay);
Engine.MoveToTarget(-1);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
Engine.DlgSel(4);
Delay(DlgDelay);
Engine.NPCTrade(false,[Items[3],1]);
//Vihod iz weapon shopa
Engine.MoveTo(18431, 144822, -3085);
Engine.MoveTo(19241, 145699, -3121);
Engine.MoveTo(19264, 146131, -3096);
Engine.SetTarget(NPC[8]);
Delay(DlgDelay);
Engine.MoveToTarget(-1);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
Engine.NPCTrade(false,[Items[1],3000, Items[2],20, 8595,7]);
Engine.MoveTo(19272, 145756, -3112);
Engine.MoveTo(18597, 145569, -3147);
Engine.MoveTo(17348, 145311, -3089);
Engine.MoveTo(15684, 142909, -2732);
end;
end;
if NumberOfEvent=6
then begin
ToGk;
Engine.MoveTo(15684, 142909, -2732);
Engine.MoveTo(15995, 143050, -2696);
Engine.MoveTo(15930, 142387, -2719);
Engine.MoveTo(16233, 142178, -2719);
Engine.SetTarget(NPC[9]);
Delay(DlgDelay);
Engine.MoveToTarget(-1);
Delay(DlgDelay);
Engine.DlgOpen();
Delay(DlgDelay);
Engine.DlgSel(1);
Delay(DlgDelay);
while Engine.LearnSkill(1220) do delay(50);
for i:=3000 downto 1 do while Engine.LearnSkill(i) do delay(50);
Engine.MoveTo(16233, 142178, -2719);
Engine.MoveTo(15991, 142598, -2710);
Engine.MoveTo(15995, 143050, -2696);
Engine.MoveTo(15675, 142926, -2727);

ToGk;
end;
end;
procedure CheckStatus();
begin
Delay(DlgDelay);
if user.dead then GoHome();
end;
procedure EquipItems;
var
NgStaf,NgTelo,NgStock,NgHelm,DStaff:TL2Item;
begin
if (user.level<20)
then if inventory.user.byid(Items[0],NgStaf)
and not (NgStaf.Equipped) then Engine.UseItem(NgStaf);
if (user.level>=20) then begin
inventory.user.byid(Items[3],DStaff);
inventory.user.byid(Items[4],NgTelo);
inventory.user.byid(Items[5],NgStock);
inventory.user.byid(Items[6],NgHelm);
if not (DStaff.Equipped) then Engine.UseItem(DStaff);
Delay(DlgDelay);
if not (NgTelo.Equipped) then Engine.UseItem(NgTelo);
Delay(DlgDelay);
if not (NgStock.Equipped) then Engine.UseItem(NgStock);
Delay(DlgDelay);
if not (NgHelm.Equipped) then Engine.UseItem(NgHelm);
Delay(DlgDelay);
end;
end;
begin
if (user.level<8)then ToLock(GetLock);
while 1=1 do begin
Delay(DlgDelay);
if not InLock
then begin
CheckItem();
CheckSkills();
CheckBuff();
ToLock(GetLock)
end
else while InLock do CheckStatus();
Delay(GkDelay);
end;

end.
1-40 под птс для прокачки академиков хуман визардов, вполне годная версия, паузится и просит (начинает моргать т к антиспам) денег и инвайт в клан на 6 и взять/пройти профу на 20 (не стал делать запилы с альт+б/котом для сохранения универсальности).
Все что нужно подстраивать вынесено в константы, тестился и обкатывался на дефо. Кач сугубо на мобах без квестов так что для лоурейта подойдет слабо, выкладываю чисто с ознакомительной целью.
Upd: Нашел и добавил конфиги и карты под этот скрипт.
Upd 2: Если Smartguard выкидывает: http://rawr.su/topic/3105-ocherednoj-1-40/page-2#entry16798
 

Вложения

  • Settings.rar
    4.4 KB · Просмотры: 922
при достижения 40 уровня начал кастовать сое по кд
 
begin
if (user.level<8)then ToLock(GetLock);
while user.level<40 do begin
Delay(DlgDelay);
if not InLock
then begin
CheckItem();
CheckSkills();
CheckBuff();
ToLock(GetLock)
end
else while InLock do CheckStatus();
Delay(GkDelay);
end;


end.

Условие цикла основного кода изменить на юзер лвл <40 и все ок будет.
 
Для академов на дефо,самое то,все работает как надо.
 
PlayToFun написал(а):
на яверии кто-то тестил?
Он впринципе универсален, только для яверии помоему нужно в константах изменить айдишники нпц (тп там помоему точно отличается)
 
а что такое ToLock(GetLock); ?

разобрался уже, навороченный скрипт однако))
 
Хорошенький скрипт , еще бы коментарий бы поставить =)
 
gglol написал(а):
Он впринципе универсален, только для яверии помоему нужно в константах изменить айдишники нпц (тп там помоему точно отличается)
Уважаемый gglol, спасибо за скрипт!
Подскажите пожалуйста в каком разделе скрипта находятся константы которые нужно изменить. :)
 
на рпг х7 остановился у ГК после 20 лвла, и пытается клянчить адену, но останавливается скрипт...Я так понял профу 1 ручками проходить или же дописывать самому?
 
На рпг х7 работает, для профы юзал другой скрипт, лол.
 
Очень даже не плохая работа по обьединению скриптов, действительно видно что человек думал когда писал код...
 
This scritp works on interlude private pvp servers?
 
Хотел затестить, и при достижении 8-го уровня, персонажа выкидывает SmartGuard с ошибкой 8, может ктонибудь подсказать на что конкретно смарт реагирует?
 
Назад
Сверху