Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7 
	Убегание.
- 
				YAkor.Azart
- Neophyte 
- Posts: 15
- Joined: 10.10.2011 6:09
- Contact:
Убегание.
Нужно в скрипт на мининг когда моб напал на минера чтоб он убегал в определенное место, помогите плиз!
			
			
									
									
						Re: Убегание.
можно попроще вариант, - добавить проверку
а можно по сложнее, поставить ловушку на сообщение "attacking you" с помощью WaitJournalLine, и только тогда бежать
			
			
									
									Code: Select all
if(Life<MaxLife) then
begin
  newMoveXY(1234,1234,True,0,True);
  Wait(30000);
end;
Новый стелс лежит тут. Стелс это произведение искусства! 
						
- 
				YAkor.Azart
- Neophyte 
- Posts: 15
- Joined: 10.10.2011 6:09
- Contact:
Re: Убегание.
БлагодарствуюAlex wrote:можно попроще вариант, - добавить проверку
а можно по сложнее, поставить ловушку на сообщение "attacking you" с помощью WaitJournalLine, и только тогда бежатьCode: Select all
if(Life<MaxLife) then begin newMoveXY(1234,1234,True,0,True); Wait(30000); end;

- 
				YAkor.Azart
- Neophyte 
- Posts: 15
- Joined: 10.10.2011 6:09
- Contact:
Re: Убегание.
Блин пробую вставить , скрипт потом просто не запускается( Может подскажите куда именно это воткнуть?
			
			
									
									
						- 
				YAkor.Azart
- Neophyte 
- Posts: 15
- Joined: 10.10.2011 6:09
- Contact:
Re: Убегание.
Code: Select all
Program Mining;
{$Include 'stack.inc'} 
type LumberR = record 
   tile:word; 
   px,py,pz:integer; 
   end; 
Var LumberP: array [0..2] of LumberR; 
  i,j, itemCount, k, cnt: Integer;
const
 OreType = $19B9;
 WeightT = 170;
Procedure GetLumberTiles(s:String;WPos:Integer); 
begin 
   s := s + ' ';
   LumberP[WPos].tile:=StrToInt(Copy(s,1,Pos(' ',s)-1)); 
   Delete(s,1,Pos(' ',s)); 
   LumberP[WPos].px:=StrToInt(Copy(s,1,Pos(' ',s)-1)); 
   Delete(s,1,Pos(' ',s)); 
   LumberP[WPos].py:=StrToInt(Copy(s,1,Pos(' ',s)-1));                                                                                   
   Delete(s,1,Pos(' ',s)); 
   LumberP[WPos].pz:=StrToInt(Copy(s,1,Pos(' ',s)-1)); 
   Delete(s,1,Pos(' ',s)); 
end; 
Procedure GetCoord; 
var 
   List:TStringList; 
   b:integer; 
begin 
   List:=TStringList.Create; 
   List.LoadFromFile('C:\Stealth\kop1.txt'); 
   for b := 0 to List.Count-1 do 
      GetLumberTiles(List.strings[b],b); 
   ItemCount:=b;
end;
Procedure CheckSave; 
var Time : TDateTime; 
begin 
  Time:= Now - (0.5 / 1440); 
   if InJournalBetweenTimes('Saving the World!',Time,Now) >= 0 then Wait(65000) 
end;
Procedure CheckDead;
 begin
  if (not Dead) and (HP<Str) then
  begin
    Beep();
    Alarm();
   // PlayWav('D:\1.wav');
    wait(1000);
  end;
  if Dead then
  begin
     AddToSystemJournal('Ubili v: '+TimeToStr(now)); 
     Beep();
     Alarm();
    // PlayWav('D:\1.wav');
     SetWarMode(True);
     While Dead do wait(1000);
     SetWarMode(False);
  end;
end;
Procedure PlavkaOres;
 begin
    MoveXY(1264,1253, false, 0, true);
   CheckSave;
    MoveXY(1269,1268, false, 0, true);
   CheckSave;
  
    AddToSystemJournal('Pereplavka'); 
    FindTypeEx(OreType, $0000, BackPack, False);    // Iron
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0750, BackPack, False);    // Rusty
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500); 
   FindTypeEx(OreType, $0488, BackPack, False);    // Bronze
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0949, BackPack, False);   // Old Copper
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $060A, BackPack, False);   // Dull Copper
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0641, BackPack, False);   // Copper
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $09EE, BackPack, False);    // Pirite
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0482, BackPack, False);    // Silver
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $04AA, BackPack, False);   // Gold
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0770, BackPack, False);   // Shadow
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0947, BackPack, False);   // Verite
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0400, BackPack, False);   // Agapite
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $04C2, BackPack, False);   // BloodRock
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $04DF, BackPack, False);   // Azurite
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $052D, BackPack, False);   // Mythril
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0515, BackPack, False);   // Valorite
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0481, BackPack, False);   // Winter
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0455, BackPack, False);   // BlackRock
    if FindCount > 0 then 
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
end;
Function Mining(x,y,z:Integer):boolean;
BEGIN 
moveThroughNPC := 0 
SetArStatus(true); 
 wait(1000); 
 WaitTargetTile(1343,x,y,z); 
 UseObject(ObjAtLayer(RhandLayer)); 
 CheckSave;
 WaitJournalLineSystem(now,'no ore|cannot mine|how to use|broke|stop|see it|far away|drop|on the ground|dead|attacking you|got hit', 200000);
 wait(3000);
End;
////////////////////////////////////////////////////////////////////////////////////////
Procedure GoBank;
begin
       MoveXY(1273,1271, false, 0, true);
       CheckSave;
       MoveXY(1272,1276, false, 0, true);
       CheckSave;
end;
Procedure GoKopalka;
begin
       MoveXY(1273,1270, false, 0, true);
       CheckSave;
       MoveXY(1264,1260, false, 0, true);
       CheckSave;
       MoveXY(1264,1251, false, 0, true);
       CheckSave;
end; 
Procedure DropOres;
begin
 CheckSave;
 wait(1500);
    FindTypeEx($1BF2, $0000, BackPack, False);    // Iron
    if FindCount > 0 then 
    begin
     stack($1BF2,$0000);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0750, BackPack, False);    // Rusty
    if FindCount > 0 then 
    begin
     stack($1BF2,$0750);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0488, BackPack, False);    // Bronze
    if FindCount > 0 then 
    begin
     stack($1BF2,$0488);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0949, BackPack, False);   // Old Copper
    if FindCount > 0 then 
    begin
     stack($1BF2,$0949);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $060A, BackPack, False);   // Dull Copper
    if FindCount > 0 then 
    begin
     stack($1BF2,$060A);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0641, BackPack, False);   // Copper
    if FindCount > 0 then 
    begin
     stack($1BF2,$0641);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $09EE, BackPack, False);    // Pirite
    if FindCount > 0 then 
    begin
     stack($1BF2,$09EE);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF8, $0482, BackPack, False);    // Silver
    if FindCount > 0 then 
    begin
     stack($1BF8,$0482);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BEC, $0000, BackPack, False);   // Gold
    if FindCount > 0 then 
    begin
     stack($1BEC,$0000);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0770, BackPack, False);   // Shadow
    if FindCount > 0 then 
    begin
     stack($1BF2,$0770);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0947, BackPack, False);   // Verite
    if FindCount > 0 then 
    begin
     stack($1BF2,$0947);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0400, BackPack, False);   // Agapite
    if FindCount > 0 then 
    begin
     stack($1BF2,$0400);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $04C2, BackPack, False);   // BloodRock
    if FindCount > 0 then 
    begin
     stack($1BF2,$04C2);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $04DF, BackPack, False);   // Azurite
    if FindCount > 0 then 
    begin
     stack($1BF2,$04DF);
         Wait(200);
         CheckSave;
    end;
    FindTypeEx($1BF2, $052D, BackPack, False);   // Mythril
    if FindCount > 0 then 
    begin
     stack($1BF2,$052D);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0515, BackPack, False);   // Valorite
    if FindCount > 0 then 
    begin
     stack($1BF2,$0515);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0481, BackPack, False);   // Winter
    if FindCount > 0 then 
    begin
     stack($1BF2, $0481);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0455, BackPack, False);   // BlackRock
    if FindCount > 0 then 
    begin
     stack($1BF2, $0455);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($14ED, $0000, BackPack, False);   // Map
    if FindCount > 0 then 
    begin
     stack($14ED, $0000);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($0F25, $0000, BackPack, False);   // Amber
    if FindCount > 0 then 
    begin
     stack($0F25, $0000);
     Wait(200);
     CheckSave;
    end;
end;
//////////////////////////////////////////////////////////////////////////////////////////////
Procedure CheckWeight; 
begin 
  if (Weight > WeightT) then  begin 
    Wait(1500);
    AddToSystemJournal('Pereves'); 
    CheckSave;
    PlavkaOres;
    GoBank;
    CheckSave;
    DropOres;
    wait(1000);
    CheckSave;
    GoKopalka;
  end
end;
BEGIN 
SetArStatus(true); 
GetCoord; 
ClearJournal; 
SetWarMode(False);
While not Dead do 
 begin 
 CheckSave; 
 CheckDead;
 Wait(500);
 for k := 0 to Integer(High(LumberP)) do
 begin
    MoveXY(LumberP[k].px,LumberP[k].py, false, 1, true);
 for i := -2 to 2 do
    begin
       for j := -2 to 2 do
       begin
        CheckSave;
        CheckWeight;
        MoveXY(LumberP[k].px,LumberP[k].py, false, 1, true);
        Mining(GetX(Self)+i,GetY(Self)+j,GetZ(Self));
        CheckDead;
        wait(1000);
       end;   
  end;
 end;
end;
SetWarMode(True);
end.Re: Убегание.
воткнуть это можно где-то между begin и end
			
			
									
									Новый стелс лежит тут. Стелс это произведение искусства! 
						
- 
				YAkor.Azart
- Neophyte 
- Posts: 15
- Joined: 10.10.2011 6:09
- Contact:
Re: Убегание.
Дак я так делал, в alarm вставлял он тупо не убегает.Alex wrote:воткнуть это можно где-то между begin и end

- 
				YAkor.Azart
- Neophyte 
- Posts: 15
- Joined: 10.10.2011 6:09
- Contact:
Re: Убегание.
Слушай помоги пожалуйста как сделать с ловушкой и подскажи куда вставить а то нифига не получается((((Alex wrote:воткнуть это можно где-то между begin и end
- 
				YAkor.Azart
- Neophyte 
- Posts: 15
- Joined: 10.10.2011 6:09
- Contact:
Re: Убегание.
Что прям никто не может помочь?  
			
			
									
									
						
Re: Убегание.
у тебя слишком широкие вопросы, никто не хочет писать для тебя скрипт, на какие то более конкретные вопросы еще можно ответы получить, возможно тебе стоит заглянуть в эту тему: http://stealth.od.ua/forum/viewtopic.php?f=2&t=1303
			
			
									
									Новый стелс лежит тут. Стелс это произведение искусства! 
						
Re: Убегание.
А попросить помощи за вознаграждение можно тут или это запрещено?
Любой труд должен оплачиваться. Задача: модифицировать выше опубликованный скрипт под определённые действия.
Если кого-то заинтересует предложение стучите 43209490.
			
			
									
									
						Любой труд должен оплачиваться. Задача: модифицировать выше опубликованный скрипт под определённые действия.
Если кого-то заинтересует предложение стучите 43209490.
Re: Убегание.
YAkor.Azart wrote:Что прям никто не может помочь?
Code: Select all
Program Mining;
{$Include 'stack.inc'}
type LumberR = record
   tile:word;
   px,py,pz:integer;
   end;
Var LumberP: array [0..2] of LumberR;
  i,j, itemCount, k, cnt: Integer;
const
OreType = $19B9;
WeightT = 170;
Procedure GetLumberTiles(s:String;WPos:Integer);
begin
   s := s + ' ';
   LumberP[WPos].tile:=StrToInt(Copy(s,1,Pos(' ',s)-1));
   Delete(s,1,Pos(' ',s));
   LumberP[WPos].px:=StrToInt(Copy(s,1,Pos(' ',s)-1));
   Delete(s,1,Pos(' ',s));
   LumberP[WPos].py:=StrToInt(Copy(s,1,Pos(' ',s)-1));                                                                                   
   Delete(s,1,Pos(' ',s));
   LumberP[WPos].pz:=StrToInt(Copy(s,1,Pos(' ',s)-1));
   Delete(s,1,Pos(' ',s));
end;
Procedure GetCoord;
var
   List:TStringList;
   b:integer;
begin
   List:=TStringList.Create;
   List.LoadFromFile('C:\Stealth\kop1.txt');
   for b := 0 to List.Count-1 do
      GetLumberTiles(List.strings[b],b);
   ItemCount:=b;
end;
Procedure CheckSave;
var Time : TDateTime;
begin
  Time:= Now - (0.5 / 1440);
   if InJournalBetweenTimes('Saving the World!',Time,Now) >= 0 then Wait(65000)
end;
Procedure ybegalka;
begin
  newMoveXY(1234,1234,True,0,True); // ТУТ ПОСТАВЬ КОРДИНАТЫ КУДА УБЕГАТЬ  !!!!!!!
  Wait(30000);
end;
Procedure CheckDead;
begin
  if (not Dead) and (HP<Str) then
  begin
    Beep();
    Alarm();
   // PlayWav('D:\1.wav');
    wait(1000);
  end;
  if Dead then
  begin
     AddToSystemJournal('Ubili v: '+TimeToStr(now));
     Beep();
     Alarm();
    // PlayWav('D:\1.wav');
     SetWarMode(True);
     While Dead do wait(1000);
     SetWarMode(False);
  end;
end;
Procedure PlavkaOres;
begin
    MoveXY(1264,1253, false, 0, true);
   CheckSave;
    MoveXY(1269,1268, false, 0, true);
   CheckSave;
 
    AddToSystemJournal('Pereplavka');
    FindTypeEx(OreType, $0000, BackPack, False);    // Iron
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0750, BackPack, False);    // Rusty
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
   FindTypeEx(OreType, $0488, BackPack, False);    // Bronze
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0949, BackPack, False);   // Old Copper
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $060A, BackPack, False);   // Dull Copper
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0641, BackPack, False);   // Copper
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $09EE, BackPack, False);    // Pirite
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0482, BackPack, False);    // Silver
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $04AA, BackPack, False);   // Gold
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0770, BackPack, False);   // Shadow
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0947, BackPack, False);   // Verite
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0400, BackPack, False);   // Agapite
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $04C2, BackPack, False);   // BloodRock
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $04DF, BackPack, False);   // Azurite
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $052D, BackPack, False);   // Mythril
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0515, BackPack, False);   // Valorite
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0481, BackPack, False);   // Winter
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
    FindTypeEx(OreType, $0455, BackPack, False);   // BlackRock
    if FindCount > 0 then
    begin
         UseObject(FindItem);
         Wait(1000);
         CheckSave;
    end;
    wait(500);
end;
Function Mining(x,y,z:Integer):boolean;
BEGIN
moveThroughNPC := 0
SetArStatus(true);
wait(1000);
WaitTargetTile(1343,x,y,z);
UseObject(ObjAtLayer(RhandLayer));
CheckSave;
WaitJournalLineSystem(now,'no ore|cannot mine|how to use|broke|stop|see it|far away|drop|on the ground|dead|attacking you|got hit', 200000);
if(Life<MaxLife) then
begin
ybegalka;
end;
wait(3000);
End;
////////////////////////////////////////////////////////////////////////////////////////
Procedure GoBank;
begin
       MoveXY(1273,1271, false, 0, true);
       CheckSave;
       MoveXY(1272,1276, false, 0, true);
       CheckSave;
end;
Procedure GoKopalka;
begin
       MoveXY(1273,1270, false, 0, true);
       CheckSave;
       MoveXY(1264,1260, false, 0, true);
       CheckSave;
       MoveXY(1264,1251, false, 0, true);
       CheckSave;
end;
Procedure DropOres;
begin
CheckSave;
wait(1500);
    FindTypeEx($1BF2, $0000, BackPack, False);    // Iron
    if FindCount > 0 then
    begin
     stack($1BF2,$0000);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0750, BackPack, False);    // Rusty
    if FindCount > 0 then
    begin
     stack($1BF2,$0750);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0488, BackPack, False);    // Bronze
    if FindCount > 0 then
    begin
     stack($1BF2,$0488);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0949, BackPack, False);   // Old Copper
    if FindCount > 0 then
    begin
     stack($1BF2,$0949);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $060A, BackPack, False);   // Dull Copper
    if FindCount > 0 then
    begin
     stack($1BF2,$060A);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0641, BackPack, False);   // Copper
    if FindCount > 0 then
    begin
     stack($1BF2,$0641);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $09EE, BackPack, False);    // Pirite
    if FindCount > 0 then
    begin
     stack($1BF2,$09EE);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF8, $0482, BackPack, False);    // Silver
    if FindCount > 0 then
    begin
     stack($1BF8,$0482);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BEC, $0000, BackPack, False);   // Gold
    if FindCount > 0 then
    begin
     stack($1BEC,$0000);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0770, BackPack, False);   // Shadow
    if FindCount > 0 then
    begin
     stack($1BF2,$0770);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0947, BackPack, False);   // Verite
    if FindCount > 0 then
    begin
     stack($1BF2,$0947);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0400, BackPack, False);   // Agapite
    if FindCount > 0 then
    begin
     stack($1BF2,$0400);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $04C2, BackPack, False);   // BloodRock
    if FindCount > 0 then
    begin
     stack($1BF2,$04C2);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $04DF, BackPack, False);   // Azurite
    if FindCount > 0 then
    begin
     stack($1BF2,$04DF);
         Wait(200);
         CheckSave;
    end;
    FindTypeEx($1BF2, $052D, BackPack, False);   // Mythril
    if FindCount > 0 then
    begin
     stack($1BF2,$052D);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0515, BackPack, False);   // Valorite
    if FindCount > 0 then
    begin
     stack($1BF2,$0515);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0481, BackPack, False);   // Winter
    if FindCount > 0 then
    begin
     stack($1BF2, $0481);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($1BF2, $0455, BackPack, False);   // BlackRock
    if FindCount > 0 then
    begin
     stack($1BF2, $0455);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($14ED, $0000, BackPack, False);   // Map
    if FindCount > 0 then
    begin
     stack($14ED, $0000);
     Wait(200);
     CheckSave;
    end;
    FindTypeEx($0F25, $0000, BackPack, False);   // Amber
    if FindCount > 0 then
    begin
     stack($0F25, $0000);
     Wait(200);
     CheckSave;
    end;
end;
//////////////////////////////////////////////////////////////////////////////////////////////
Procedure CheckWeight;
begin
  if (Weight > WeightT) then  begin
    Wait(1500);
    AddToSystemJournal('Pereves');
    CheckSave;
    PlavkaOres;
    GoBank;
    CheckSave;
    DropOres;
    wait(1000);
    CheckSave;
    GoKopalka;
  end
end;
BEGIN
SetArStatus(true);
GetCoord;
ClearJournal;
SetWarMode(False);
While not Dead do
begin
CheckSave;
CheckDead;
Wait(500);
for k := 0 to Integer(High(LumberP)) do
begin
    MoveXY(LumberP[k].px,LumberP[k].py, false, 1, true);
for i := -2 to 2 do
    begin
       for j := -2 to 2 do
       begin
        CheckSave;
        CheckWeight;
        MoveXY(LumberP[k].px,LumberP[k].py, false, 1, true);
        Mining(GetX(Self)+i,GetY(Self)+j,GetZ(Self));
        CheckDead;
        wait(1000);
       end;   
  end;
end;
end;
SetWarMode(True);
end.
