program lumber_autotile; //lumber autotile v1.9 by Satan and FreeZzy uses allinc; var TyleType : Array [0..44] of Word; a : TFoundTilesArray; c,b,s,e : Integer; const Xmin = 2421; Ymin = 783; Xmax = 2549; Ymax = 824; BoxX = 2471; BoxY = 829; Box = $408D1901; AxeType = $0F43; LogType = $1BDD; BoardType =$1BD7; eda = $103B; procedure InDeath; begin while dead do begin newMoveXY(BoxX,BoxY, True, 0, True); wait(1000); if dead then begin uoSay('Рес Плиз'); wait(30000); end; end; end; procedure CheckAxe; begin InDeath; FindType(AxeType, Backpack); if (FindFullQuantity < 2) then begin FindType(AxeType, Box); if (FindCount > 0) then begin Grab(finditem, 1); wait(750); end; end; end; procedure DropBoards; begin InDeath; repeat FindType(BoardType,Backpack); if (FindCount > 0) then begin StackInBox(BoardType, GetColor(finditem), Box); wait(750); end; until (Count(BoardType) = 0); if (Count($2F5F) > 0) then StackInBox($2F5F,$FFFF, Box); // Switch if (Count($318F) > 0) then StackInBox($318F,$FFFF, Box); // Bark Fragment if (Count($3191) > 0) then StackInBox($3191,$FFFF, Box); // Luminescent Fungi if (Count($3190) > 0) then StackInBox($3190,$FFFF, Box); // Parasitic Plant if (Count($3199) > 0) then StackInBox($3199,$FFFF, Box); // Brilliant Amber FindType(BoardType,Box); Addtosystemjournal('Дерева всего в ящике - '+intToStr(findfullquantity)); FindType(eda,Box); Addtosystemjournal('Еды осталось - '+intToStr(findfullquantity)); Addtosystemjournal(' '); end; procedure GotoOnHome; begin InDeath; UseSkill('Hiding'); newMoveXY(BoxX,BoxY, True, 0, True); UseObject(Box); wait(1500); CheckAxe; DropBoards; FindType(eda,Box); if (FindCount > 0) then for e := 0 to 4 do begin UseObject(finditem); wait(750); end; CheckAxe; end; procedure checktools; begin InDeath; if (Count(AxeType) = 0) then begin GotoOnHome; end; end; procedure checkweight; begin InDeath; if (Weight > MaxWeight - 50) then begin GotoOnHome; end; end; procedure UseAxe; begin If TargetPresent Then CancelTarget; if (GetType(ObjAtLayer(LhandLayer)) = AxeType) then begin UseObject(ObjAtLayer(LhandLayer)); end; if (GetType(ObjAtLayer(LhandLayer)) <> AxeType) then begin Equip(RhandLayer,findtype(AxeType,backpack)); wait(1000); UseObject(ObjAtLayer(LhandLayer)); end; end; procedure CreateBoard; begin InDeath; repeat FindType(LogType,Backpack); if (FindCount > 0) then begin UseAxe; WaitTargetObject(finditem); wait(750); end; until (Count(LogType) = 0); end; Begin SetARStatus(True); SetPauseScriptOnDisconnectStatus(True); Addtosystemjournal('Скрипт успешно стартовал. Made by FreeZzy [--=--].'); //TyleType[0] := 3223; // Лапух такой. TyleType[0] := 3289; TyleType[1] := 3225; TyleType[2] := 3227; TyleType[3] := 3228; TyleType[4] := 3229; TyleType[5] := 3230; TyleType[6] := 3237; TyleType[7] := 3238; TyleType[8] := 3241; TyleType[9] := 3259; TyleType[10] := 3268; TyleType[11] := 3272; TyleType[12] := 3273; TyleType[13] := 3274; TyleType[14] := 3275; TyleType[15] := 3276; TyleType[16] := 3277; TyleType[17] := 3280; TyleType[18] := 3283; TyleType[19] := 3286; TyleType[20] := 3289; TyleType[21] := 3291; TyleType[22] := 3292; TyleType[23] := 3294; TyleType[24] := 3295; TyleType[25] := 3296; TyleType[26] := 3299; TyleType[27] := 3302; TyleType[28] := 4795; TyleType[29] := 4794; TyleType[30] := 3320; TyleType[31] := 3323; TyleType[32] := 3326; TyleType[33] := 3329; TyleType[34] := 3391; TyleType[35] := 3392; TyleType[36] := 3394; TyleType[37] := 3413; TyleType[38] := 3417; TyleType[39] := 3435; TyleType[40] := 3440; TyleType[41] := 3458; TyleType[42] := 3461; TyleType[43] := 4792; TyleType[44] := 4793; CreateBoard; GotoOnHome; while true do begin UseObject(BackPack); for s := 0 to 44 do begin b:= GetStaticTilesArray(Xmin,Ymin,Xmax,Ymax, 1, TyleType[s], a); for c :=0 to b-1 do begin if not dead then begin CheckTools; CheckWeight; newMoveXY(a[c].X,a[c].Y, True, 1, True); UseSkill('Hiding'); //Addtosystemjournal( Inttostr(TyleType[s])+' tileCoord:'+Inttostr(a[c].X)+' '++Inttostr(a[c].Y)); ClearJournal; repeat InDeath; UseAxe; WaitTargetTile(TyleType[s],(a[c].X),(a[c].Y),(a[c].Z)); WaitJournalLine(Now,'is attacking|hack|chop',5000); Wait(700); until(InJournal('not enough') <> -1 ) or (InJournal('use an axe') <> -1); CreateBoard; end; end; end; end; End.