Page 1 of 1
Мининг ZHR
Posted: 12.03.2012 11:02
by karlson
Code: Select all
Program Mining;
var
s: integer;
/// Настройки //////
const
Tool=$0E85; // Тип кирки 0F39 - Лопата 0E85 - Кирка
Moving=0; // 1 = Делать круг, 0 = копать вокруг себя
CircleDelay=0; // Задержка после прохода одного круга (в секундах!)
////////////////////
procedure CheckCon;
begin
if Connected=False then
begin;
repeat
Wait(1000);
until Connected=True;
Wait(5000);
end;
end;
function CheckTool: boolean;
begin
CheckCon;
FindType(Tool, backpack);
if (dead=false) and (FindQuantity = 0) and (ObjAtLayer(RhandLayer) = 0) then
begin
AddToSystemJournal('Нет инструмента');
s:=0;
result:=false;
SetARStatus(false);
Disconnect;
end
else
result:=true;
end;
procedure Mine;
var
t: TDateTime;
X: integer;
Y: integer;
begin
for y:=GetY(self)-1 to GetY(self)+1 do
for x:=GetX(self)-1 to GetX(self)+1 do
begin
repeat
CheckCon;
t:=now;
if CheckTool=true then
begin
UseType(Tool, $FFFF);
WaitForTarget(10000);
TargetToXYZ(x, y, 0);
repeat
wait(1000);
until (InJournalBetweenTimes('stop|tool|far away|mine or dig', t, now) > 0) or (not Connected);
end
else break;
until InJournalBetweenTimes('somwhere|no sand|no ore|no clay|tool|far away|mine or dig', t, now) > 0;
end;
end;
procedure Main;
var
StartX: integer;
StartY: integer;
begin
if Moving = 1 then
begin
StartX:=GetX(self);
StartY:=GetY(self);
Mine;
MoveXY(StartX+3, StartY, true, 0, false);
Mine;
MoveXY(StartX+3, StartY+3, true, 0, false);
Mine;
MoveXY(StartX, StartY+3, true, 0, false);
Mine;
MoveXY(StartX, StartY, true, 0, false);
Wait(CircleDelay*1000);
end
else
begin
Mine;
Wait(CircleDelay*1000);
end;
end;
begin
s:=1;
CheckCon;
while (s=1) and (not dead) do
Main;
end.
Версия Stealth 3.9.6
Сначала выдавала ошибку на Сhecksave я её заменил на CheckLag(30000) и убрал {$Include 'all.inc'} он начал копать.При заходе в клиент видишь постоянно таргет, кирки не берёт когда ломаются и не ходит по шахте
В скрипте менял только то что выдавало ошибку.
Помогите настроить чтобы брал кирку и ходил. =)0
Re: Мининг ZHR
Posted: 12.03.2012 18:16
by nah nah
чтобы ходил, прочти девятую строку (считая пустые строки)
чтобы брал кирку... даже не знаю, у всех инструментов один и тот же тип?
Re: Мининг ZHR
Posted: 13.03.2012 8:11
by karlson
nah nah wrote:чтобы ходил, прочти девятую строку (считая пустые строки)
чтобы брал кирку... даже не знаю, у всех инструментов один и тот же тип?
Что то я не могу понять какую именно строку (выделите плиз)
Тип одинаковый у кирок.
Re: Мининг ZHR
Posted: 13.03.2012 9:54
by MuDaCk
karlson wrote:nah nah wrote:чтобы ходил, прочти девятую строку (считая пустые строки)
чтобы брал кирку... даже не знаю, у всех инструментов один и тот же тип?
Что то я не могу понять какую именно строку (выделите плиз)
Тип одинаковый у кирок.
Code: Select all
Moving=0; // 1 = Делать круг, 0 = копать вокруг себя
на будущее, пользуйся выделением скрипта
Re: Мининг ZHR
Posted: 13.03.2012 10:50
by karlson
MuDaCk wrote:karlson wrote:nah nah wrote:чтобы ходил, прочти девятую строку (считая пустые строки)
чтобы брал кирку... даже не знаю, у всех инструментов один и тот же тип?
Что то я не могу понять какую именно строку (выделите плиз)
Тип одинаковый у кирок.
Code: Select all
Moving=0; // 1 = Делать круг, 0 = копать вокруг себя
на будущее, пользуйся выделением скрипта
Re: Мининг ZHR
Posted: 20.08.2012 10:18
by Kallish
Вот такую штуку выдает, шард Middle-earth. И не как не копает вообще =(
Re: Мининг ZHR
Posted: 28.08.2012 23:30
by Alex
подбирай высоту тут TargetToXYZ(x, y, 0); последний пораметр от -20 до +20, на разных шардах по разному
Re: Мининг ZHR
Posted: 31.08.2012 16:55
by Kallish
из инжекта
Code: Select all
sub Mining()
var i, j, tile, f, b, p
f = 0
b = 0
while not uo.dead()
for i = -2 to 2
for j = -2 to 2
tile = 168
while (not uo.PrivateGetTile(uo.GetX() + i, uo.GetY() + j, 251, tile, tile)) and (tile < 1343)
if tile == 171 then
tile = 310
else
if tile == 311 then
tile = 1339
else
tile = tile + 1
endif
endif
wend
if tile < 1339 then
tile = 0
endif
if tile < 1343 then
uo.concolor(0x53)
uo.Print("Копаем тайл " + Str((i + 2) * 5 + j + 3) + " из 25...")
uo.concolor(0)
MiningTile(tile, uo.GetX() + i, uo.GetY() + j, 251)
endif
next
next
uo.Print("Завершил круг. Продолжаю.")
f = f + 1
if b == 2 then
for p=1 to 11
wait(500)
uo.press(36)
next
uo.press(34)
f = 0
b = 0
else
if f == 3 then
for p=1 to 5
wait(500)
uo.press(34)
next
f = 0
b = b + 1
endif
endif
wend
end sub
помогите перенести переменные в скрипт в 1топике....
Re: Мининг ZHR
Posted: 31.08.2012 17:56
by Alex
в инжект скрипте высота - 251, пробуй в стелс скрипте TargetToXYZ(x, y, 251) вместо TargetToXYZ(x, y, 0)
Re: Мининг ZHR
Posted: 31.08.2012 19:28
by Kallish
тоже самое выдает, в других скриптах тоже пробовал подставлять...
Re: Мининг ZHR
Posted: 31.08.2012 21:16
by Kallish
я выяснил, он кликает в кочки\скалы. а мне нада что бы вокруг в тайлы кликал.. ад...