SCAR Code:
// -------------------------------------------------------------------------- //
// pwnt! //
// -------------------------------------------------------------------------- //
// -- -- //
// -- Cow Killa v0.4 -- //
// -- by -- //
// -- skilld u -- //
// -- edited by ericjzhang/chaosdestany -- //
// -------------------------------------------------------------------------- //
// -- -- //
// -- Kills Cows and Banks Hides. -- //
// -- -- //
// -------------------------------------------------------------------------- //
// -- Instructions -- //
// -------------------------------------------------------------------------- //
// -- -- //
// -- Equip yourself with Three Pieces of armor -- //
// -- Place your Players In the Cow pen north of Lumbridge, by the Bank -- //
// -- Don't have anything too expensive with you. -- //
// -- Pick the color of the tree! -- //
// -- -- //
// -------------------------------------------------------------------------- //
// -- Features -- //
// -------------------------------------------------------------------------- //
// -- -- //
// -- Should Never Get Lost, Uses A DTM for calibration! -- //
// -- Kills Cows! -- //
// -- Banks Hides! -- //
// -- Death Walk! -- //
// -- AutoEat if Health gets low! -- //
// -------------------------------------------------------------------------- //
// -- Upcoming Features -- //
// -------------------------------------------------------------------------- //
// -- Range and Mage option -- //
// -- Which Skill To Train Option -- //
// -- stole this thing from-- //
// -- Wizzup? and Fakawi mager-- //
// -------------------------------------------------------------------------- //
program cowkilla;
{.include SRL\SRL\misc/SMART.scar}
{.include SRL\SRL.scar}
{.include SRL\SRL\skill\magic.scar}
{.include SRL\SRL\skill\fighting.scar}
var
x, y, i, Eaten, Loads, Calibrated, CalibrateDTM, CowsKilled, LoadsDone, Hides, Hide, Exxey: integer;
Loop: string;
DDTMfailed : array[1..12] of Integer;
//----------------------------------------------------------------------------//
const ShouldWeEat = False; //<- Should we eat or not?
const FoodColor = 123456;//<- fill in the color of the food.
const RemoteMaster = ''; //<- fill in the Nickname of the RC master.
const MySRLID = '';//<- your SRL ID (for stats) in here.
const MySRLPassword = '';//<- your SRL PW (for stats) in here.
const NumLoads = 10000; //<- Loads before Switching players
//----------------------------------------------------------------------------//
procedure DeclarePlayers;
begin
CurrentPlayer := 0;
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active :=True;
{Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Active :=False;
Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Active :=False;}
end;
procedure TakeMyScreen(Reason: string); //from hy71194 =]
begin
WriteLn('Attempting to take a screenie of something.. Please wait.');
try
SaveScreenshot(ScriptPath + reason + TimeRunning + '.bmp');
WriteLn('Screenshot of: ' + reason + TimeRunning);
WriteLn('Send to skilld u on SRL Forums');
except
Writeln('Failed to save screenshot of: ' + reason);
end
end;
procedure DeadWalk; forward;
function FindGrassColor: integer; forward;
function DDTMMaster(Number: integer; Recursive: boolean): boolean; forward;
procedure ResetMe;
begin
for i := 0 to HowManyPlayers - 1 do
Players[i].Active := True;
Cast('Home Teleport');
Wait(7000 + random(2000));
DeadWalk;
end;
procedure DeadWalk;
begin
if not DDTMMaster(1, True) then
if not RadialWalk(FindRoadColor, 80, 99, 60, 5, 5) then Exit; NextPlayer(false);
if not DDTMMaster(5, true) then
if not RadialWalk(FindRoadColor, 322, 332, 55, 5, 5) then Exit; NextPlayer(false);
if not DDTMMaster(6, true) then
if not RadialWalk(FindRoadColor, 309, 315, 57, 5, 5) then Exit; NextPlayer(false);
if not DDTMMaster(2, true) then
if not RadialWalk(FindRoadColor, 0, 1, 60, 5, 5) then Exit; NextPlayer(false);
if not DDTMMaster(7, true) then
if not RadialWalk(FindRoadColor, 347, 353, 63, 5, 5) then Exit; NextPlayer(false);
if not DDTMMaster(8, true) then
if not RadialWalk(FindRoadColor, 265, 270, 71, 5, 5) then Exit; NextPlayer(false);
if not DDTMMaster(9, true) then
if not RadialWalk(FindRoadColor, 283, 290, 63, 5, 5) then Exit; NextPlayer(false);
if not DDTMMaster(10, true) then
if not RadialWalk(FindRoadColor, 251, 265, 54, 5, 5) then Exit; NextPlayer(false);
if not DDTMMaster(11, true) then
if not RadialWalk(FindRoadColor, 334, 340, 57, 5, 5) then Exit; NextPlayer(false);
if not DDTMMaster(12, true) then
if not RadialWalk(FindRoadColor, 23, 38, 67, 5, 5) then Exit; NextPlayer(false);
if not RadialWalk(FindGrassColor, 315, 325, 49, 5, 5) then Exit; NextPlayer(false);
if not DDTMMaster(3, true) then Exit; NextPlayer(false);
end;
procedure TehRespond;
begin
if InChat('hey') or InChat('hi') or InChat('whats up?') or InChat('ello')
or InChat('wassup') or InChat('sup') or InChat('h ey') or InChat('h ello')
or InChat('hows it going') or InChat('was up') or InChat('w hats up') then
begin
case Random(10) of
0 : TypeSend('hi');
1 : TypeSend('hello');
2 : TypeSend('hey');
3 : TypeSend('sup');
4 : TypeSend('hola');
5 : TypeSend('yo');
6 : TypeSend('dont feel like talking now, sorry');
7 : TypeSend('sup');
8 : TypeSend('not now');
9 : TypeSend('please leave me alone');
end;
end;
if InChat('lol') or InChat('funny') or InChat('ha')or
InChat('wow') or InChat('rofl') or InChat('omg')then
begin
case Random(10) of
0 : TypeSend('lol');
1 : TypeSend('lmao');
2 : TypeSend('');
3 : TypeSend('');
4 : TypeSend('');
5 : TypeSend('');
6 : TypeSend('');
7 : TypeSend('');
end;
end;
if InChat(Players[CurrentPlayer].Nick) then
begin
case Random(10) of
0 : TypeSend('leave me alone');
1 : TypeSend('get away from me please');
2 : TypeSend('');
3 : TypeSend('');
4 : TypeSend('');
5 : TypeSend('');
6 : TypeSend('');
7 : TypeSend('');
8 : TypeSend('');
9 : TypeSend('');
10 : TypeSend('');
11 : TypeSend('');
12 : TypeSend('');
end;
end;
if InChat('noob') or InChat('newb') or InChat('nub') or InChat('choob')
or InChat('ch00b') or InChat('n00b') or InChat('nooby') or InChat('nublet')
or InChat('newby') or InChat('nubby') then
begin
case Random(11) of
0 : TypeSend('thanks');
1 : TypeSend('w/e');
2 : TypeSend('thnx');
3 : TypeSend('thank you');
4 : TypeSend('thanks :p');
5 : TypeSend('your a noob');
6 : TypeSend('im not nub');
7 : TypeSend('i pwn you.');
8 : TypeSend('go away');
9 : TypeSend('you nub');
10 : TypeSend(';p');
end;
end;
if InChat('bye') or InChat('cya') or InChat('gtg') or InChat('im leaving')
or InChat('im going') or InChat('see you later') or InChat('l8r mate')
or InChat('l8r') or InChat('ttyl') or InChat('ttfn') or InChat('b ye')
or InChat('by') then
begin
case Random(11) of
0 : TypeSend('c ya');
1 : TypeSend('bye');
2 : TypeSend('ttyl');
3 : TypeSend('b ye');
4 : TypeSend('by');
5 : TypeSend('ttfn');
6 : TypeSend('b y');
7 : TypeSend('l8r');
8 : TypeSend('cya');
9 : TypeSend('l8r mate');
10 : TypeSend('bye');
end;
end;
end;
procedure AntiBan;
begin
case random(200) of
0, 16, 17, 18, 19: begin
MakeCompass('S');
Wait(50 + random(100));
MakeCompass('W');
Wait(50 + random(100));
MakeCompass('N');
Wait(50 + random(100));
SetAngle(false);
Wait(50 + random(100));
SetAngle(true);
end;
1, 20, 21, 22, 23: begin
MakeCompass('W');
Wait(50 + random(100));
MakeCompass('E');
Wait(50 + random(100));
MakeCompass('S');
Wait(50 + random(100));
MakeCompass('N');
end;
2, 24, 25, 26, 27: begin
KeyDown(VK_Left);
Wait(1000 + random(500));
KeyUp(VK_Left);
Wait(50 + random(100));
KeyDown(VK_Right);
Wait(1000 + random(500));
KeyUp(VK_Right);
Wait(50 + random(100));
MakeCompass('N');
end;
3, 28, 29, 30: begin
KeyDown(VK_Down);
Wait(1000 + random(500));
KeyUp(VK_Down);
Wait(50 + random(100));
KeyDown(VK_Up);
Wait(1000 + random(500));
KeyUp(VK_Up);
end;
4, 31, 32, 33: AlmostLogout;
5, 6, 7: RandomMovement;
8, 9, 10: MMouse(5 + random(250), 5 + random(250), 5, 5);
11, 12, 13, 14, 15: begin
Mouse(5 + random(100), 5 + random(100), 5, 5, false);
Wait(50 + random(25));
MMouse(5 + random(50), 5 + random(50), 5, 5);
end;
34, 35, 36, 37: HoverSkill('random', false);
38, 39, 40: RandomMovement;
41, 42, 43: BoredHuman;
44, 45, 46: PickUpMouse;
end
end;
//starblaster <3
function FindObjCustomEx(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray; Tolerance: Integer): Boolean;
var
a, b, c, i, x1, y1, x2, y2: Integer;
Start: Boolean;
begin
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorSpiralTolerance(cx, cy, color[b], MSX1, MSY1, MSX2, MSY2, Tolerance)) then
begin
Start := True;
Break;
end;
end;
if(Start)then
begin
x1 := 245;
y1 := 165;
x2 := 277;
y2 := 185;
repeat
if not(LoggedIn)then break;
a := a + 1;
if (a = 1) then
c := c + 1
else if (a = 3) then
c := c + 1;
for i := 1 to c do
begin
if (a = 1) then
begin
x1 := x1 + 30;
x2 := x2 + 30;
end else
if (a = 2) then
begin
y1 := y1 - 20;
y2 := y2 - 20;
end else
if (a = 3) then
begin
x1 := x1 - 30;
x2 := x2 - 30;
end else
if (a = 4) then
begin
y1 := y1 + 20;
y2 := y2 + 20;
end;
if (x1 = 485) and (x2 = 517) then
x2 := x2 - 2;
if (y1 = 325) and (y2 = 345) then
y2 := y2 - 7;
if (x2 > 515) then
Break;
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorTolerance(cx, cy, Color[b], x1, y1, x2, y2, tolerance)) then
begin
MMouse(cx, cy, 0, 0)
if (IsUpTextMultiCustom(Text)) then
begin
Result := True;
Exit;
end;
end;
end;
end;
if (a = 4) then
a := 0;
until (x2 > 515) or (Result = True);
end;
end;
function Kill(colors: TIntegerArray): boolean;
var
CowTPA: TPointArray;
Mid: TPoint;
k: integer;
begin
if not LoggedIn or FindDead then Exit;
for k := 0 to High(colors) do
if FindColorsTolerance(CowTPA, colors[k], MSX1, MSY1, MSX2, MSY2, 10) then
begin
Mid := MiddleTPA(CowTPA);
repeat
MMouse(Mid.x, Mid.y, 5, 5);
Wait(1000 + random(500));
until IsUpText('tta');
if IsUpText('tta') then
begin
GetMousePos(x, y);
case random(2) of
0, 1: begin
Mouse(x, y, 5, 5, true);
Flag;
end;
2: begin
Mouse(x, y, 5, 5, false);
ChooseOption('ttack');
Flag;
end;
end;
Result := True;
Break;
end;
end;
end;
function Kill2: boolean;
begin
if FindObjCustomEx(x, y, ['lf', 'alf', 'ttack'], [4411236, 11712444, 12107201], 10) then
begin
Mouse(x, y, 5, 5, true);
FFlag(5);
Result := True;
end;
end;
function FindGrassColor: Integer; //-20 + 20
var
H,S,L,X,Y,Z : Extended;
R,G,B,P,A,TestColor,xx,xy : Integer;
TPA : TPointArray;
begin
if Not(LoggedIn) then Exit;
xx:= MMCX;
xy := MMCY;
FindColorsSpiralTolerance(xx, xy, TPA, 5611431, MMX1, MMY1, MMX2, MMY2, 60)
P := High(TPA);
for A := 0 to P do
begin
if RS_OnMinimap(TPA[A].X, TPA[A].Y) then
begin
TestColor := GetColor(TPA[A].X, TPA[A].Y);
if SimilarColors(TestColor, 5611431, 50) then
begin
ColorToRGB(TestColor, R, G, B);
ColorToHSL(TestColor, H, S, L);
ColorToXYZ(TestColor, X, Y, Z);
if InRange(R - G, -12, 28) then //-20 + 20
if InRange(R - B, 62, 102) then
if InRange(G - B, 54, 94) then
if InRange(Round(S) - Round(H), 3, 49) then//-15 + 15
if InRange(Round(L) - Round(H), 19, 0) then
if InRange(Round(S) - Round(L), -31, -1) then
if InRange(Round(X) - Round(Y), -11, 3) then //-7 + 7
if InRange(Round(Y) - Round(Z), 13, 27) then
if GetColor(TPA[A].X + 2, TPA[A].Y + 2) = TestColor then
if GetColor(TPA[A].X + 1, TPA[A].Y + 1) = TestColor then
begin
Result := TestColor;
Exit;
end;
end;
end;
end;
Writeln('Couldnt find Color!');
Result := 0;
end;
function FindTreeRootColor: Integer; //-20 + 20
var
H,S,L,X,Y,Z : Extended;
R,G,B,P,A,TestColor,xx,xy : Integer;
TPA : TPointArray;
begin
if Not(LoggedIn) then Exit;
xx:= MMCX;
xy := MMCY;
FindColorsSpiralTolerance(xx, xy, TPA, 206396, MMX1, MMY1, MMX2, MMY2, 60)
P := High(TPA);
for A := 0 to P do
begin
if RS_OnMinimap(TPA[A].X, TPA[A].Y) then
begin
TestColor := GetColor(TPA[A].X, TPA[A].Y);
if SimilarColors(TestColor, 206396, 50) then
begin
ColorToRGB(TestColor, R, G, B);
ColorToHSL(TestColor, H, S, L);
ColorToXYZ(TestColor, X, Y, Z);
if InRange(R - G, 2, 42) then //-20 + 20
if InRange(R - B, 37, 77) then
if InRange(G - B, 15, 55) then
if InRange(Round(S) - Round(H), 65, 17) then//-15 + 15
if InRange(Round(L) - Round(H), -13, 0) then
if InRange(Round(S) - Round(L), 63, 93) then
if InRange(Round(X) - Round(Y), -6, 8) then //-7 + 7
if InRange(Round(Y) - Round(Z), -5, 9) then
if GetColor(TPA[A].X + 2, TPA[A].Y + 2) = TestColor then
if GetColor(TPA[A].X + 1, TPA[A].Y + 1) = TestColor then
begin
Result := TestColor;
Exit;
end;
end;
end;
end;
Writeln('Couldnt find Color!');
Result := 0;
end;
function FindTreeTopColor: Integer; //-20 + 20
var
H,S,L,X,Y,Z : Extended;
R,G,B,P,A,TestColor,xx,xy : Integer;
TPA : TPointArray;
begin
if Not(LoggedIn) then Exit;
xx:= MMCX;
xy := MMCY;
FindColorsSpiralTolerance(xx, xy, TPA, 539678, MMX1, MMY1, MMX2, MMY2, 60)
P := High(TPA);
for A := 0 to P do
begin
if RS_OnMinimap(TPA[A].X, TPA[A].Y) then
begin
TestColor := GetColor(TPA[A].X, TPA[A].Y);
if SimilarColors(TestColor, 539678, 50) then
begin
ColorToRGB(TestColor, R, G, B);
ColorToHSL(TestColor, H, S, L);
ColorToXYZ(TestColor, X, Y, Z);
if InRange(R - G, -50, -10) then //-20 + 20
if InRange(R - B, 2, 42) then
if InRange(G - B, 32, 72) then
if InRange(Round(S) - Round(H), 35, 2) then//-15 + 15
if InRange(Round(L) - Round(H), -28, 0) then
if InRange(Round(S) - Round(L), 48, 78) then
if InRange(Round(X) - Round(Y), -9, 5) then //-7 + 7
if InRange(Round(Y) - Round(Z), -4, 10) then
if GetColor(TPA[A].X + 2, TPA[A].Y + 2) = TestColor then
if GetColor(TPA[A].X + 1, TPA[A].Y + 1) = TestColor then
begin
Result := TestColor;
Exit;
end;
end;
end;
end;
Writeln('Couldnt find Color!');
Result := 0;
end;
function FindBlackRootColor: Integer; //-20 + 20
var
H,S,L,X,Y,Z : Extended;
R,G,B,P,A,TestColor,xx,xy : Integer;
TPA : TPointArray;
begin
if Not(LoggedIn) then Exit;
xx:= MMCX;
xy := MMCY;
FindColorsSpiralTolerance(xx, xy, TPA, 1549, MMX1, MMY1, MMX2, MMY2, 60)
P := High(TPA);
for A := 0 to P do
begin
if RS_OnMinimap(TPA[A].X, TPA[A].Y) then
begin
TestColor := GetColor(TPA[A].X, TPA[A].Y);
if SimilarColors(TestColor, 1549, 50) then
begin
ColorToRGB(TestColor, R, G, B);
ColorToHSL(TestColor, H, S, L);
ColorToXYZ(TestColor, X, Y, Z);
if InRange(R - G, -13, 27) then //-20 + 20
if InRange(R - B, -7, 33) then
if InRange(G - B, -14, 26) then
if InRange(Round(S) - Round(H), 77, 10) then//-15 + 15
if InRange(Round(L) - Round(H), -20, 0) then
if InRange(Round(S) - Round(L), 82, 112) then
if InRange(Round(X) - Round(Y), -7, 7) then //-7 + 7
if InRange(Round(Y) - Round(Z), -7, 7) then
if GetColor(TPA[A].X + 2, TPA[A].Y + 2) = TestColor then
if GetColor(TPA[A].X + 1, TPA[A].Y + 1) = TestColor then
begin
Result := TestColor;
Exit;
end;
end;
end;
end;
Writeln('Couldnt find Color!');
Result := 0;
end;
function FindDarkRootColor: Integer; //-20 + 20
var
H,S,L,X,Y,Z : Extended;
R,G,B,P,A,TestColor,xx,xy : Integer;
TPA : TPointArray;
begin
if Not(LoggedIn) then Exit;
xx:= MMCX;
xy := MMCY;
FindColorsSpiralTolerance(xx, xy, TPA, 6445, MMX1, MMY1, MMX2, MMY2, 60)
P := High(TPA);
for A := 0 to P do
begin
if RS_OnMinimap(TPA[A].X, TPA[A].Y) then
begin
TestColor := GetColor(TPA[A].X, TPA[A].Y);
if SimilarColors(TestColor, 6445, 50) then
begin
ColorToRGB(TestColor, R, G, B);
ColorToHSL(TestColor, H, S, L);
ColorToXYZ(TestColor, X, Y, Z);
if InRange(R - G, 0, 40) then //-20 + 20
if InRange(R - B, 25, 65) then
if InRange(G - B, 5, 45) then
if InRange(Round(S) - Round(H), 76, 15) then//-15 + 15
if InRange(Round(L) - Round(H), -15, 0) then
if InRange(Round(S) - Round(L), 76, 106) then
if InRange(Round(X) - Round(Y), -7, 7) then //-7 + 7
if InRange(Round(Y) - Round(Z), -6, 8) then
if GetColor(TPA[A].X + 2, TPA[A].Y + 2) = TestColor then
if GetColor(TPA[A].X + 1, TPA[A].Y + 1) = TestColor then
begin
Result := TestColor;
Exit;
end;
end;
end;
end;
Writeln('Couldnt find Color!');
Result := 0;
end;
function Calibrate: boolean;
begin
{CalibrateDTM := DTMFromString('78DA637CCAC0C0F08A0105D8A8F1306800694' +
'620FE0F048CB240D65B5435DEBA7C703520C0781F48EC27A06631' +
'90F880AA46474A0455CD632021C088570D00610B0DFC'); }
CalibrateDTM := DTMFromString('78DA63E4666060E06340017FFE3031B002694' +
'620FE0F048CBC986ACE9C6180AB0101461E20C183AAE6DF3F3E54' +
'355CF8ED02AB01B9871F55CDDDBB6876F162AA01C9629823805F0' +
'D00B3750E35');
if DTMRotated(CalibrateDTM, x, y, MMX1, MMy1, mmx2, mmy2) then
begin
Mouse(x, y, 5, 5, true);
FFlag(0);
Result := True;
Calibrated := Calibrated + 1;
ReportVars[5] := ReportVars[5] + 1;
end else
Result := False;
end;
function EatTime: boolean; //stolen from haxor :D
begin
Result := not FindColor(x, y, 65280, 730, 30, 740, 40);
end;
procedure EatSome;
begin
if FindColorTolerance(x, y, FoodColor, mix1, miy1, mix2, miy2, 10) then
begin
Mouse(x, y, 5, 5, true);
Wait(500 + random(500));
end;
end;
procedure PickupHide(colors: TIntegerArray);
var
HideTPA: TPointArray;
Mid: TPoint;
k: integer;
begin
if not LoggedIn or FindDead then Exit;
for k := 0 to High(colors) do
if FindColorsTolerance(HideTPA, colors[k], MSX1, MSY1, MSX2, MSY2, 10) then
begin
Mid := MiddleTPA(HideTPA);
repeat
MMouse(Mid.x, Mid.y, 5, 5);
Wait(500);
until IsUpText('ake');
if IsUpText('ake') then
begin
GetMousePos(x, y);
Mouse(x, y, 5, 5, false);
ChooseOption('ake Cowhi');
Flag;
Hides := Hides + 1;
ReportVars[1] := ReportVars[1] + 1;
end;
end;
end;
function PickUpHide2: boolean;
begin
if FindObjCustomEx(x, y, ['eef', 'ake', 'ide'], [1319583, 11579578, 12829642, 5864095], 10) then
begin
Mouse(x, y, 5, 5, false);
ChooseOption('owhi');
Hides := Hides + 1;
ReportVars[1] := ReportVars[1] + 1;
FFlag(5);
Result := True;
end;
end;
procedure OpenDepositer;
var
Colors: TIntegerArray;
BankTPA: TPointArray;
i, k: integer;
begin
if FindObjCustomEx(x, y, ['pen'], [5987413, 4934727, 5855827, 3436859], 10) then
begin
Mouse(x, y, 5, 5, true);
FFlag(0);
end;
{Colors := [5987413, 4934727, 5855827, 3436859];
if not LoggedIn or FindDead then Exit;
for k := 0 to High(colors) do
if FindColorsTolerance(BankTPA, colors[k], MSX1, MSY1, MSX2, MSY2, 10) then
begin
repeat
for i := 0 to High(BankTPA) do
begin
MMouse(BankTPA[i].x, BankTPA[i].y, 5, 5);
Wait(500);
end;
until IsUpText('pen');
if IsUpText('pen') then
begin
GetMousePos(x, y);
Mouse(x, y, 5, 5, true);
Flag;
end;
end;}
end;
procedure OpenGate;
var
Colors: TIntegerArray;
GateTPA: TPointArray;
i, k: integer;
begin
Colors := [3892097, 3694203, 4222092];
if not LoggedIn or FindDead then Exit;
for k := 0 to High(colors) do
if FindColorsTolerance(GateTPA, colors[k], MSX1, MSY1, MSX2, MSY2, 10) then
begin
repeat
for i := 0 to High(GateTPA) do
begin
MMouse(GateTPA[i].x, GateTPA[i].y, 5, 5);
Wait(500);
end;
until IsUpText('pen');
if IsUpText('pen') then
begin
GetMousePos(x, y);
Mouse(x, y, 5, 5, true);
Flag;
end;
end;
end;
function LoadDDTMs(CaseNumber: integer): integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..3] of TDTMPointDef;
dtSubPoints: Array [0..4] of TDTMPointDef;
WalkOneDDTM, TaCowsDDTM, TaBankDDTM: TDTM;
begin
case CaseNumber of
1: begin //FirstDeadWalkPoint
dtmMainPoint.x := 688;
dtmMainPoint.y := 84;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindRoadColor;
dtmMainPoint.Tolerance := 1;
dtmSubPoints[0].x := 685;
dtmSubPoints[0].y := 105;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindRoadColor;
dtmSubPoints[0].Tolerance := 1;
dtmSubPoints[1].x := 687;
dtmSubPoints[1].y := 74;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindRoadColor;
dtmSubPoints[1].Tolerance := 1;
dtmSubPoints[2].x := 686;
dtmSubPoints[2].y := 54;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindRoadColor;
dtmSubPoints[2].Tolerance := 1;
dtmSubPoints[3].x := 688;
dtmSubPoints[3].y := 75;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindRoadColor;
dtmSubPoints[3].Tolerance := 1;
WalkOneDDTM.MainPoint := dtmMainPoint;
WalkOneDDTM.SubPoints := dtmSubPoints;
Result := AddDTM(WalkOneDDTM);
end;
2: begin //walk 4 death walk
dtmMainPoint.x := 602;
dtmMainPoint.y := 45;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindRoadColor;
dtmMainPoint.Tolerance := 1;
dtmSubPoints[0].x := 601;
dtmSubPoints[0].y := 22;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindRoadColor;
dtmSubPoints[0].Tolerance := 1;
dtmSubPoints[1].x := 606;
dtmSubPoints[1].y := 60;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindRoadColor;
dtmSubPoints[1].Tolerance := 1;
dtmSubPoints[2].x := 610;
dtmSubPoints[2].y := 47;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindRoadColor;
dtmSubPoints[2].Tolerance := 1;
dtmSubPoints[3].x := 600;
dtmSubPoints[3].y := 20;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindRoadColor;
dtmSubPoints[3].Tolerance := 1;
WalkOneDDTM.MainPoint := dtmMainPoint;
WalkOneDDTM.SubPoints := dtmSubPoints;
Result := AddDTM(WalkOneDDTM);
end;
3: begin //to cows from bank
dtmMainPoint.x := 650;
dtmMainPoint.y := 112;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindTreeTopColor;
dtmMainPoint.Tolerance := 1;
dtSubPoints[0].x := 651; //main point root
dtSubPoints[0].y := 116;
dtSubPoints[0].AreaSize := 1;
dtSubPoints[0].AreaShape := 0;
dtSubPoints[0].Color := FindTreeRootColor;
dtSubPoints[0].Tolerance := 1;
dtSubPoints[1].x := 661; //lower tree root
dtSubPoints[1].y := 107;
dtSubPoints[1].AreaSize := 1;
dtSubPoints[1].AreaShape := 0;
dtSubPoints[1].Color := FindTreeRootColor;
dtSubPoints[1].Tolerance := 10;
dtSubPoints[2].x := 657; //top tree root
dtSubPoints[2].y := 99;
dtSubPoints[2].AreaSize := 1;
dtSubPoints[2].AreaShape := 0;
dtSubPoints[2].Color := FindTreeRootColor;
dtSubPoints[2].Tolerance := 10;
dtSubPoints[3].x := 659; //tree next to main
dtSubPoints[3].y := 114;
dtSubPoints[3].AreaSize := 1;
dtSubPoints[3].AreaShape := 0;
dtSubPoints[3].Color := FindTreeRootColor;
dtSubPoints[3].Tolerance := 10;
dtSubPoints[4].x := 659; //tree next to main top
dtSubPoints[4].y := 110;
dtSubPoints[4].AreaSize := 1;
dtSubPoints[4].AreaShape := 0;
dtSubPoints[4].Color := FindTreeTopColor;
dtSubPoints[4].Tolerance := 1;
TaCowsDDTM.MainPoint := dtmMainPoint;
TaCowsDDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TaCowsDDTM);
end;
4: begin //to bank
dtmMainPoint.x := 820;
dtmMainPoint.y := 277;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindGrassColor;
dtmMainPoint.Tolerance := 1;
dtSubPoints[0].x := 827; //tree top point
dtSubPoints[0].y := 287;
dtSubPoints[0].AreaSize := 1;
dtSubPoints[0].AreaShape := 0;
dtSubPoints[0].Color := FindTreeTopColor;
dtSubPoints[0].Tolerance := 1;
dtSubPoints[1].x := 844; //npc color
dtSubPoints[1].y := 266;
dtSubPoints[1].AreaSize := 1;
dtSubPoints[1].AreaShape := 0;
dtSubPoints[1].Color := 60909;
dtSubPoints[1].Tolerance := 10;
dtSubPoints[2].x := 817; //bank symbol
dtSubPoints[2].y := 263;
dtSubPoints[2].AreaSize := 1;
dtSubPoints[2].AreaShape := 0;
dtSubPoints[2].Color := 1103344;
dtSubPoints[2].Tolerance := 10;
dtSubPoints[3].x := 861; //general store
dtSubPoints[3].y := 291;
dtSubPoints[3].AreaSize := 1;
dtSubPoints[3].AreaShape := 0;
dtSubPoints[3].Color := 66139;
dtSubPoints[3].Tolerance := 10;
dtSubPoints[4].x := 845; //tree root
dtSubPoints[4].y := 260;
dtSubPoints[4].AreaSize := 1;
dtSubPoints[4].AreaShape := 0;
dtSubPoints[4].Color := FindTreeRootColor;
dtSubPoints[4].Tolerance := 1;
TaBankDDTM.MainPoint := dtmMainPoint;
TaBankDDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TaBankDDTM);
end;
5: begin //Second DeadWalkPoint
dtmMainPoint.x := 614;
dtmMainPoint.y := 45;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindRoadColor;
dtmMainPoint.Tolerance := 1;
dtmSubPoints[0].x := 629;
dtmSubPoints[0].y := 58;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindRoadColor;
dtmSubPoints[0].Tolerance := 1;
dtmSubPoints[1].x := 593;
dtmSubPoints[1].y := 29;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindRoadColor;
dtmSubPoints[1].Tolerance := 1;
dtmSubPoints[2].x := 615;
dtmSubPoints[2].y := 49;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindRoadColor;
dtmSubPoints[2].Tolerance := 1;
dtmSubPoints[3].x := 614;
dtmSubPoints[3].y := 51;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindRoadColor;
dtmSubPoints[3].Tolerance := 1;
WalkOneDDTM.MainPoint := dtmMainPoint;
WalkOneDDTM.SubPoints := dtmSubPoints;
Result := AddDTM(WalkOneDDTM);
end;
6: begin //third dead walk
dtmMainPoint.x := 590;
dtmMainPoint.y := 58;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindRoadColor;
dtmMainPoint.Tolerance := 1;
dtmSubPoints[0].x := 600;
dtmSubPoints[0].y := 70;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindRoadColor;
dtmSubPoints[0].Tolerance := 1;
dtmSubPoints[1].x := 580;
dtmSubPoints[1].y := 39;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindRoadColor;
dtmSubPoints[1].Tolerance := 1;
dtmSubPoints[2].x := 598;
dtmSubPoints[2].y := 67;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindRoadColor;
dtmSubPoints[2].Tolerance := 1;
dtmSubPoints[3].x := 579;
dtmSubPoints[3].y := 32;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindRoadColor;
dtmSubPoints[3].Tolerance := 1;
WalkOneDDTM.MainPoint := dtmMainPoint;
WalkOneDDTM.SubPoints := dtmSubPoints;
Result := AddDTM(WalkOneDDTM);
end;
7: begin //fifth walk point
dtmMainPoint.x := 624;
dtmMainPoint.y := 30;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindRoadColor;
dtmMainPoint.Tolerance := 1;
dtmSubPoints[0].x := 612;
dtmSubPoints[0].y := 12;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindRoadColor;
dtmSubPoints[0].Tolerance := 1;
dtmSubPoints[1].x := 621;
dtmSubPoints[1].y := 41;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindRoadColor;
dtmSubPoints[1].Tolerance := 1;
dtmSubPoints[2].x := 621;
dtmSubPoints[2].y := 26;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindRoadColor;
dtmSubPoints[2].Tolerance := 1;
dtmSubPoints[3].x := 626;
dtmSubPoints[3].y := 31;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindRoadColor;
dtmSubPoints[3].Tolerance := 1;
WalkOneDDTM.MainPoint := dtmMainPoint;
WalkOneDDTM.SubPoints := dtmSubPoints;
Result := AddDTM(WalkOneDDTM);
end;
8: begin //sixth walk point
dtmMainPoint.x := 615;
dtmMainPoint.y := 35;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindRoadColor;
dtmMainPoint.Tolerance := 1;
dtmSubPoints[0].x := 577;
dtmSubPoints[0].y := 33;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindRoadColor;
dtmSubPoints[0].Tolerance := 1;
dtmSubPoints[1].x := 627;
dtmSubPoints[1].y := 46;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindRoadColor;
dtmSubPoints[1].Tolerance := 1;
dtmSubPoints[2].x := 602;
dtmSubPoints[2].y := 32;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindRoadColor;
dtmSubPoints[2].Tolerance := 1;
dtmSubPoints[3].x := 604;
dtmSubPoints[3].y := 29;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindRoadColor;
dtmSubPoints[3].Tolerance := 1;
WalkOneDDTM.MainPoint := dtmMainPoint;
WalkOneDDTM.SubPoints := dtmSubPoints;
Result := AddDTM(WalkOneDDTM);
end;
9: begin //walk 7 point
dtmMainPoint.x := 573;
dtmMainPoint.y := 72;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindRoadColor;
dtmMainPoint.Tolerance := 1;
dtmSubPoints[0].x := 558;
dtmSubPoints[0].y := 68;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindRoadColor;
dtmSubPoints[0].Tolerance := 1;
dtmSubPoints[1].x := 609;
dtmSubPoints[1].y := 75;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindRoadColor;
dtmSubPoints[1].Tolerance := 1;
dtmSubPoints[2].x := 595;
dtmSubPoints[2].y := 76;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindRoadColor;
dtmSubPoints[2].Tolerance := 1;
dtmSubPoints[3].x := 572;
dtmSubPoints[3].y := 73;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindRoadColor;
dtmSubPoints[3].Tolerance := 1;
WalkOneDDTM.MainPoint := dtmMainPoint;
WalkOneDDTM.SubPoints := dtmSubPoints;
Result := AddDTM(WalkOneDDTM);
end;
10: begin // walk 8 point
dtmMainPoint.x := 572;
dtmMainPoint.y := 72;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindRoadColor;
dtmMainPoint.Tolerance := 1;
dtmSubPoints[0].x := 559;
dtmSubPoints[0].y := 59;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindRoadColor;
dtmSubPoints[0].Tolerance := 1;
dtmSubPoints[1].x := 595;
dtmSubPoints[1].y := 77;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindRoadColor;
dtmSubPoints[1].Tolerance := 1;
dtmSubPoints[2].x := 580;
dtmSubPoints[2].y := 66;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindRoadColor;
dtmSubPoints[2].Tolerance := 1;
dtmSubPoints[3].x := 569;
dtmSubPoints[3].y := 76;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindRoadColor;
dtmSubPoints[3].Tolerance := 1;
WalkOneDDTM.MainPoint := dtmMainPoint;
WalkOneDDTM.SubPoints := dtmSubPoints;
Result := AddDTM(WalkOneDDTM);
end;
11: begin // walk 9 point
dtmMainPoint.x := 568;
dtmMainPoint.y := 64;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindRoadColor;
dtmMainPoint.Tolerance := 1;
dtmSubPoints[0].x := 557;
dtmSubPoints[0].y := 67;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindRoadColor;
dtmSubPoints[0].Tolerance := 1;
dtmSubPoints[1].x := 599;
dtmSubPoints[1].y := 62;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindRoadColor;
dtmSubPoints[1].Tolerance := 1;
dtmSubPoints[2].x := 568;
dtmSubPoints[2].y := 68;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindRoadColor;
dtmSubPoints[2].Tolerance := 1;
dtmSubPoints[3].x := 607;
dtmSubPoints[3].y := 65;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindRoadColor;
dtmSubPoints[3].Tolerance := 1;
WalkOneDDTM.MainPoint := dtmMainPoint;
WalkOneDDTM.SubPoints := dtmSubPoints;
Result := AddDTM(WalkOneDDTM);
end;
12: begin // walk 10 point
dtmMainPoint.x := 598;
dtmMainPoint.y := 42;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindRoadColor;
dtmMainPoint.Tolerance := 1;
dtmSubPoints[0].x := 586;
dtmSubPoints[0].y := 25;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindRoadColor;
dtmSubPoints[0].Tolerance := 1;
dtmSubPoints[1].x := 589;
dtmSubPoints[1].y := 65;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindRoadColor;
dtmSubPoints[1].Tolerance := 1;
dtmSubPoints[2].x := 592;
dtmSubPoints[2].y := 33;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindRoadColor;
dtmSubPoints[2].Tolerance := 1;
dtmSubPoints[3].x := 591;
dtmSubPoints[3].y := 76;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindRoadColor;
dtmSubPoints[3].Tolerance := 1;
WalkOneDDTM.MainPoint := dtmMainPoint;
WalkOneDDTM.SubPoints := dtmSubPoints;
Result := AddDTM(WalkOneDDTM);
end;
end;
end;
function DDTMmaster(Number:integer; Recursive:boolean):boolean; //stole this idea from king vash <3
var
MouseRan,ddtm,flagger:integer;
begin
if not LoggedIn then Exit;
Writeln('DDTMMaster(' + inttostr(number) + ')');
MakeCompass('n');
Result := False;
Flagger := 5;
MouseRan := 5;
case Number of
1: ddtm := LoadDDTMs(1);// 1 is first dead walk point
2: ddtm := LoadDDTMs(2);// 2 is fourth dead walk point
3: ddtm := LoadDDTMs(3);// 3 is to cows from bank
4: ddtm := LoadDDTMs(4);// 4 is to bank from cows
5: ddtm := LoadDDTMs(5);// 5 is second dead walk point
6: ddtm := LoadDDTMs(6);// 6 is third dead walk point
7: ddtm := LoadDDTMs(7);// 7 is fifth dead walk point
8: ddtm := LoadDDTMs(8);// 8 is sixth dead walk point
9: ddtm := LoadDDTMs(9);// 9 is seventh dead walk point
10: ddtm := LoadDDTMs(10);// 10 is eighth dead walk point
11: ddtm := LoadDDTMs(11);// 11 is ninth dead walk point
12: ddtm := LoadDDTMs(12);// 12 is tenth dead walk point
end;
if not LoggedIn then Exit;
if (DTMRotated(ddtm, x, y, mmx1 , mmy1, mmx2, mmy2)) then
begin
Status(Loop + 'Found DDTM(' + inttostr(number) + ')');
if rs_onminimap(x, y) and rs_onminimap(x, y) then
Mouse(x, y, MouseRan, MouseRan, true) // Yes: Click there
else
begin // No : DDTM plus offset is not onscreen
Writeln('DDTMMaster(' + inttostr(number) + ') OffMiniMap helper was just called from ' + loop) // Debug this fact
if rs_onminimap(x, y) and rs_onminimap(x, y) then
Mouse(x, y, 6, 6, True) // Yes : Click somewhere to DDTM
else Mouse(x, y, 3, 3, True); // No : Click close to DDTM // Wait till your Close
if (DTMRotated(ddtm, x, y, mmx1 , mmy1, mmx2, mmy2)) // Find The DDTM again
then Mouse(x, y, 5, 5, true) // Found and Clicked properly
end;
Result:=True; // Result is True!
Ftwait(4); // Look for Bad Stuff
FFlag(flagger); // Wait Till player is appropiate distance away
end;
FreeDTM(ddtm);
if not Result then
begin
if Recursive then Result := DDTMMaster(number, False)
else
begin
Players[CurrentPlayer].Loc := ('F in DDTMMaster(' + inttostr(number) + ')');
Writeln(Players[CurrentPlayer].Loc);
Inc(DDTMFailed[number]);
end;
end;
end;
procedure WalkToBank;
begin
if not DDTMMaster(4, true) then
if not RadialWalk(FindGrassColor, 0, 13, 51, 5, 5) then
if not RadialWalk(FindGrassColor, 322, 337, 53, 5, 5) then
begin
WriteLn('walking to Bank failed =[');
TakeMyScreen('WalkToBankFail');
NextPlayer(false);
end;
end;
procedure CloseIt;
begin
Exxey := BitmapFromString(6, 1, 'beNpLdCtIREUAPdcGiw==');
if FindBitmap(Exxey, x, y) then
begin
Mouse(x, y, 5, 5, true);
Wait(500 + random(500));
end;
end;
procedure DepositStuff;
begin
Hide := DTMFromString('78DA637461626078C2800276AE5FC7C005A41' +
'981F83F10300602D5DC6340038C4824907606AAB94E408D0550CD' +
'5D026AAC806ADE1150E30954F389801A7FA09AA7F8D50000C9150' +
'E5C');
if FindDTM(Hide, x, y, msx1, msy1, msx2, msy2) then
begin
Mouse(x, y, 5, 5, false);
ChooseOption('ll');
Wait(500 + random(500));
CloseIt;
Loads := Loads + 1;
LoadsDone := LoadsDone + 1;
ReportVars[3] := ReportVars[3] + 1;
end;
end;
procedure WalkToCows;
begin
if not DDTMMaster(3, true) then
if not RadialWalk(FindGrassColor, 152, 136, 43, 5, 5) then
if not RadialWalk(FindGrassColor, 118, 143, 43, 5, 5) then
begin
WriteLn('walking to Cows failed =[');
TakeMyScreen('WalkToCowsFail');
NextPlayer(false);
end;
end;
procedure FreeDTMs;
begin
FreeBitmap(Exxey);
FreeDTM(Hide);
end;
procedure Report;
begin
ClearReport;
SRLRandomsReport;
AddToReport('/\/\/\/\/\/\ cow killa /\/\/\/\/\/\');
AddToReport(Padr('[ Killed: ' + IntToStr(CowsKilled) + ' cows', 34) + ']');
AddToReport(Padr('[ Completed: ' + IntToStr(LoadsDone) + ' loads', 34) + ']');
AddToReport(Padr('[ Collected: ' + IntToStr(Hides) + ' hides', 34) + ']');
{AddToReport(Padr('[ Calibrated: ' + IntToStr(Calibrated) + ' times', 34) + ']');}
AddToReport(Padr('[ Ate: ' + IntToStr(Eaten) + ' times', 34) + ']');
AddToReport(Padr('[ Failed DDTMs: ', 34) + ']');
for i := 1 to 10 do
if (DDTMfailed[i] > 0) then
AddToReport(Padr('[' + IntToStr(i) + '=' + IntToStr(DDTMfailed[i]) + ',', 34) + ']');
AddToReport(Padr('[ Ran For: ' + TimeRunning, 34) + ']');
AddToReport('/\/\/\/\/\/\/ cow killa \/\/\/\/\/\/');
SendSRLReport;
end;
procedure MainLoop;
begin
repeat
repeat
repeat
RC;
if FindDead then DeadWalk;
if InFight then
begin
repeat
Wait(500 + random(500));
until not InFight;
end;
SetAngle(true);
MakeCompass('N');
if not Kill2{([4411236, 11712444, 12107201])} then
Calibrate;
begin
AntiBan;
TehRespond;
if InFight then
begin
repeat
Wait(500 + random(500));
until not InFight;
end;
CowsKilled := CowsKilled + 1;
ReportVars[0] := ReportVars[0] + 1;
PickUpHide2{([1319583, 11579578, 12829642, 5864095])};
if ShouldWeEat then
if EatTime then
begin
EatSome;
Eaten := Eaten + 1;
ReportVars[2] := ReportVars[2] + 1;
end;
Report;
end;
until InvFull;
WalkToBank;
DepositStuff;
WalkToCows;
Report;
until Loads >= NumLoads;
NextPlayer(LoggedIn);
Loads := 0;
until False;
end;
begin
SmartSetupEx(41, false, true);
wait(10000+random(5000));
SetTargetDC(SmartGetDC);
repeat
wait(100);
until(SmartGetColor(253, 233)<>1118604);
SetupSRL;
ScriptId := '817';
SRLId := MySRLId;
SRLPassword := MySRLPassword;
ClearDebug;
DeclarePlayers;
ActivateClient;
if LoggedIn then Logout;
LoginPlayer;
repeat
MainLoop;
ResetMe;
until False;
FreeDTMs;
end.