Добрый день. Хочу переделать скрипт на мининг для добычи дерева. Суть проблемы в чём. При добыче руды, в TargetToTile(tile, X, Y, Z); переменная tile равна нулю. А при добычи древесины у каждого дерева она разная. Есть рунабука с 16 рунами. При реколе к любой из 16 рун дерево стоит в кординатах (X - 1, Y + 1) где X и Y - координаты того тайла куда рекольнулся чар. Теперь вопрос. Можно ли сделать так. Чар реколится по руне, на кординаты (X - 1, Y + 1) накидывает допустим ,infotile, вытаскивает значение tile запоминает его и использует в TargetToTile(tile, X, Y, Z); где x=x-1 y=y+1 а tile то что мы запомнили в предыдущей процедуре.?
procedure ChopPoint;
var
X, Y: Word;
begin
X := GetX(Self);
Y := GetY(Self);
Chop(X - 1, Y + 1);
end;
procedure Chop(X, Y: Integer);
var
Z: ShortInt;
Finded: Boolean;
Counter: Byte;
StartTime: TDateTime;
Tile: Word;
begin
CheckState();
Finded := True;
// while Finded do begin
// if Dead or not Connected then Exit;
// if TargetPresent then CancelTarget;
// while not CheckMiningTool do begin
// if Dead or not Connected then Exit;
// CreateMiningTools;
// end;
CheckLag(LagWait);
Wait(WaitTime);
UseObject(Tool);
CheckLag(LagWait);
WaitForTarget(WaitTime);
if TargetPresent then begin
StartTime := Now;
TargetToTile(tile, X, Y, Z);
Counter := WaitCycles;
Finded := False;
while (not Finded) and (Counter > 0) do begin
CheckLag(LagWait);
if InJournalBetweenTimes('t mine there|is too far away|cannot be seen|is no metal here to mine', StartTime, Now) > 0 then Exit;
if InJournalBetweenTimes('put it in your backpack|loosen some rocks but fail to find any useable ore|have worn out your tool', StartTime, Now) > 0 then Finded := True;
if Not Finded then Wait(200);
Dec(Counter);
end;
CheckState();
end;
end;
//end;
Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7
Деревья
Re: Деревья
--->>>ПОИСК ПО ФОРУМУ, НАЧНИ С НЕГО!!!<<<---
--->>>Search the forum, start with him!!!<<<---
95% Ваших вопросов уже кем-то написаны и решены.
--->>>Search the forum, start with him!!!<<<---
95% Ваших вопросов уже кем-то написаны и решены.
Re: Деревья
Ещё раз. Я играю на РанУо сервере, мне не надо бегать искать деревья. Мне надо узнать значение tile из x-y координат что бы использовать его в TargetToTile(tile, 1320, 2016, 0);
Re: Деревья
Изобретая колесо будь готов изобретать его сам.
Просто или ты не понимаешь, что делаешь сизифов труд, или вообще ничего не понимаешь. А так - на мини код разбирайся. Все это есть в вики.
Просто или ты не понимаешь, что делаешь сизифов труд, или вообще ничего не понимаешь. А так - на мини код разбирайся. Все это есть в вики.
Code: Select all
var
X0,Y0,Z0,Tile: Word;
Tile0: TStaticCell;
C,W0: Byte;
begin
// repeat
X0:=872;
Y0:=1246;
W0:=WorldNum;
Tile0:=ReadStaticsXY(X0,Y0,W0);
C:=GetLayerCount(X0,Y0,WorldNum);
Addtosystemjournal('GetLayerCount = '+IntToStr(c)+' | X = ' +IntToStr(X0)+' | Y = '+IntToStr(Y0));
Addtosystemjournal('Tile = ' +IntToStr(Tile0.Statics[0].Tile));
{ Addtosystemjournal('Layers = '+IntToStr(Tile0.StaticCount)+' | Tile = ' +IntToStr(Tile0.Statics[0].Tile)+
' | X = ' +IntToStr(Tile0.Statics[0].X)+' | Y = ' +IntToStr(Tile0.Statics[0].Y)+' | Z = ' +IntToStr(Tile0.Statics[0].Z)+' | Color = ' +IntToStr(Tile0.Statics[0].Color));
Addtosystemjournal('Tile = ' +IntToStr(GetMapCell(X0,Y0,WorldNum).Tile)+' | Z = ' +IntToStr(GetMapCell(X0,Y0,WorldNum).Z));
Tile:= (GetMapCell(X0,Y0,WorldNum).Tile);
Addtosystemjournal('Flags = '+IntToHex(GetLandTileData(Tile).Flags,8)+' | TextureID = ' +IntToStr(GetLandTileData(Tile).TextureID));
Addtosystemjournal('Flags = '+IntToHex(GetStaticTileData(Tile).Flags,8)+' | Weight = ' +IntToStr(GetStaticTileData(Tile).Weight)+' | Height = ' +IntToStr(GetStaticTileData(Tile).Height)); }
// until (1<>1);
end.
--->>>ПОИСК ПО ФОРУМУ, НАЧНИ С НЕГО!!!<<<---
--->>>Search the forum, start with him!!!<<<---
95% Ваших вопросов уже кем-то написаны и решены.
--->>>Search the forum, start with him!!!<<<---
95% Ваших вопросов уже кем-то написаны и решены.
Re: Деревья
Спасибо за мини код. Всё работает как часики)