Code: Select all
program mining_ful;
type
ArrayType1 = Array of Word;
var
kamen : ArrayType1;
valun : ArrayType1;
k:integer;
ctime : TDateTime;
procedure eda();
begin
useobject($50D6EFE4);
wait(1000);
if(findtype($097B,$50D6EFE4)<>0)then
useobject(findtype($097B,$50D6EFE4));
end;
procedure ugol();
begin
if(findtype($19B8,backpack)<>0)then
repeat
moveitem(findtype($19B8,backpack),0,findtype($19B8,ground),0,0,0);
wait(1500);
until(findtype($19B8,backpack)=0);
if(findtype($0F3B,backpack)<>0)then
repeat
moveitem(findtype($0F3B,backpack),0,$53CFDE93,0,0,0);
wait(1500);
until(findtype($0F3B,backpack)=0);
end;
procedure instrument();
begin
if (count($10E7)<2)then
begin
useobject($53CE7E83);
repeat
moveitem(findtype($10E7,$53CE7E83),1,backpack,0,0,0);
wait(500);
until(count($10E7)>=2);
end;
if (count($0E85)<2)then
begin
useobject($53CE7E84);
repeat
moveitem(findtype($0E85,$53CE7E84),1,backpack,0,0,0);
wait(500);
until(count($0E85)>2);
end;
end;
procedure slitki();
begin
if(findtype($1BF2,backpack)<>0)then
repeat
moveitem(findtype($1BF2,backpack),0,$50F2203F,0,0,0);
wait(1500);
if (findtype($1BF2,ground)<>0)then
repeat
moveitem(findtype($1BF2,ground),0,backpack,0,0,0);
wait(1500);
until(findtype($1BF2,ground)=0);
until(findtype($1BF2,backpack)=0);
end;
procedure musor();
var
i:integer;
begin
kamen:=[$1771,$1772,$1773,$1774,$1775,$1776,$1777,$1778,$1779,$177a,$177b,$177c,$1363,$1364,$1365,$1366,$1367,$1368,$1369,$136a,$136b,$136c,$136d,$08E6,$3B0F];
for i:=0 to 24 do
if (findtype(kamen[i],backpack)<>0)then
repeat
drophere(findtype(kamen[i],backpack));
until (findtype(kamen[i],backpack)=0);
end;
procedure kamni();
var
i:integer;
begin
kamen:=[$1771,$1772,$1773,$1774,$1775,$1776,$1777,$1778,$1779,$177a,$177b,$177c,$1363,$1364,$1365,$1366,$1367,$1368,$1369,$136a,$136b,$136c,$136d,$08E6];
for i:=0 to 23 do
if (findtype(kamen[i],ground)<>0) then
repeat
ClearJournal;
ctime:= Now;
findtype($10E7,backpack);
useobject(finditem);
if (InJournalBetweenTimes('System: Этот предмет поломан, отнесите его мастеру',ctime,Now)<>-1) then
begin
drophere(finditem);
wait(3000);
ClearJournal;
end;
wait(500);
targettoobject(findtype(kamen[i],ground));
wait(500);
until ((findtype(kamen[i],ground)=0)or(InJournalBetweenTimes('That is not within your line of sight',ctime,Now)<>-1));
end;
procedure valuni();
var
i:integer;
begin
valun:=[$1362,$1361,$1355,$1356,$135B,$135A,$1360,$135F];
for i:=0 to 7 do
if (findtype(valun[i],ground)<>0) then
repeat
useobject(FindType($0E85,backpack));
wait(500);
targettoobject(findtype(valun[i],ground));
wait(500);
until (findtype(valun[i],ground)=0);
end;
procedure ruda();
begin
if (findtype($0F3B,ground)<>0) then
repeat
moveItem(findtype($0F3B,ground),1,backpack,0,0,0);
wait(500);
until(findtype($0F3B,ground)=0);
end;
procedure kopka();
var i,j:integer;
begin
repeat
for i:=-2 to 2 do
for j:=-2 to 2 do
begin
repeat
if (count($0E85)=0)then
exit;
ClearJournal;
ctime:= Now;
FindType($0E85,backpack);
useobject(finditem);
waitfortarget(500);
targettotile(1342,(getx(self))+i,(gety(self))+j,getz(self));
wait(5000);
if ((InJournalBetweenTimes('System: Этот предмет поломан, отнесите его мастеру',ctime,Now)<>-1)or
(InJournalBetweenTimes('System: Вы сломали кирка',ctime,Now)<>-1) or
(InJournalBetweenTimes('System: Вы сломали великолепная кирка',ctime,Now)<>-1)) then
begin
drophere(finditem);
wait(3000);
ClearJournal;
end;
until (InJournalBetweenTimes('Здесь больше нет руды',ctime,Now)<>-1) or
(InJournalBetweenTimes('Слишком далеко',ctime,Now)<>-1) or
(InJournalBetweenTimes('Вы не видите это место',ctime,Now)<>-1) or
(Weight+50>350) or (InJournalBetweenTimes('That is too far away',ctime,Now)<>-1);
musor();
valuni();
kamni();
if (Weight+50>350) then
exit;
end;
until(weight+50>350);
end;
procedure plavka();
begin
if (findtype($19B9,backpack)<>0) then
repeat
useobject(findtype($19B9,backpack));
targettoobject($543D1795);
wait(500);
until(findtype($19B9,backpack)=0);
end;
begin
repeat
k:=0;
useobject(backpack);
repeat
repeat
NewMoveXY(2315+k,816,true,1,false);
wait(2500);
until (((getx(self)=(2315+k-1))or(getx(self)=(2315+k+1))or(getx(self)=(2315+k)))and((gety(self)=(816-1))or(gety(self)=(816+1))or(gety(self)=(816))));
kopka();
repeat
NewMoveXY(2350,839,true,0,false);
wait(2500);
until ((getx(self)=2350)and(gety(self)=839));
repeat
NewMoveXY(2364,865,true,0,false);
wait(2500);
until ((getx(self)=2364)and(gety(self)=865));
repeat
NewMoveXY(2362,860,true,0,false);
wait(2500);
until ((getx(self)=2362)and(gety(self)=860));
plavka();
slitki();
eda();
ugol();
instrument();
repeat
NewMoveXY(2350,839,true,0,false);
wait(2500);
until ((getx(self)=2350)and(gety(self)=839));
k:=k+1;
until (k>=15);
UOsay('Циклимся');
until dead;
end.
Вот код скрипта,в общем бывает так что персонаж просто стоит и ничего не делает в журнале когда такое настает то уже нет ничего только мол ворлд сейв и тд.Иногда 5 персонажей на этом скрипте заставляют весь стелс подвисать,при этом 1 персонаж точно ничего не делает хотя скрипт мол работает,бывает даже простое перемещение не выполняется.