Simba Code:
program Trolls_Cowhide_Collecter;
{$DEFINE SMART}
{$IFDEF SMART}
{$i SRL/SRL/Misc/Smart.simba}
{$ENDIF}
{$i SRL/SRL.simba}
{$i SPS/SPS.simba}
const
SRLStats_Username = ''; //SRL Stats User
SRLStats_Pass = ''; //SRL Stats Pass
BreakEvery = '60'; //Break Every Log, Or Never.
BreakFor = '7'; //Break For How long, Now?
Version = '5.3'; // Don't Touch.
NumbOfPlayers = 1; //Number of Players That You Will Be using.
StartPlayer = 0; //Start Which Player?
var
X, Y, CowsKilled, DoorDTM : integer;
StartingXP: integer;
Drops: Array of String;
Path_ToBank : TPointArray;
aFound: Extended;
Path_ToCows : TPointArray;
procedure DeclarePlayers;
var
i: Integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
begin
Players[0].Name := ''; // Your Username.
Players[0].Pass := ''; // Your Password.
Players[0].Pin := ''; // Your Bank Pin. (Leave Blank If You Don't Have One.)
Players[0].Active := True; // Are you using this player?
Players[0].Member := True; // Are you a member?
end;
end;
Procedure ProgressReport;
var Exp: integer;
begin
ClearDebug;
Exp := (GetXPBarTotal - StartingXP);
writeLn('//=====================================\\');
writeLn('||=======Trolls Cowhide Collecter======||');
writeLn('||=======Time Running: ' + TimeRunning);
writeLn('||=======Cows: ' + IntToStr(CowsKilled));
writeLn('||=======Exp: ' + IntToStr(EXP));
writeLn('\\=====================================//');
end;
procedure SetupChar;
begin
SetupSRL();
SetAngle(0);
ClickNorth(0);
end;
procedure Startup;
begin
Smart_Server := 97;
Smart_Members := False;
Smart_Signed := False;
Smart_SuperDetail := False;
SetupSRL;
DeclarePlayers;
LogInPlayer;
MouseSpeed := 21;
wait(100+random(100));
ProgressReport;
Path_ToBank := [Point(4866, 3590), Point(4853, 3593), Point(4839, 3596), Point(4828, 3610), Point(4804, 3616), Point(4790, 3616), Point(4773, 3616), Point(4728, 3618), Point(4704, 3609), Point(4695, 3582), Point(4691, 3555), Point(4691, 3555), Point(4655, 3545), Point(4628, 3543), Point(4593, 3531), Point(4567, 3517), Point(4589, 3478), Point(4583, 3437), Point(4556, 3417), Point(4541, 3400), Point(4547, 3390), Point(4556, 3383)];
Path_ToCows := [Point(4555, 3383), Point(4542, 3388), Point(4541, 3398), Point(4548, 3411), Point(4578, 3430), Point(4589, 3447), Point(4595, 3467), Point(4593, 3484), Point(4596, 3525), Point(4628, 3544), Point(4681, 3548), Point(4699, 3596), Point(4743, 3619), Point(4793, 3618), Point(4839, 3597), Point(4845, 3594), Point(4848, 3594), Point(4860, 3571)];
end;
procedure StatsGuise(Stats:String);
begin
Status(stats);
Disguise(stats);
end;
procedure AntiBan;
begin
case Random(250) of
0: begin StatsGuise('AntiBan') GameTab(tab_stats) HoverSkill ('Mining', false) GameTab(28); end;
1: begin StatsGuise('AntiBan') SleepAndMoveMouse (9000+random(600)); end;
2: begin StatsGuise('AntiBan') GameTab(tab_inv) ExamineInv; GameTab(28); end;
3: begin StatsGuise('AntiBan') RandomAngle(1); end;
4: begin StatsGuise('AntiBan') GameTab(tab_stats) HoverSkill ('Attack', false) GameTab(28); end;
5: begin StatsGuise('AntiBan') SleepAndMoveMouse (4000+random(250)); end;
6: begin StatsGuise('AntiBan') RandomAngle(2); end;
end;
end;
Function FindObjOnScreen(Color,Tolerance:Integer;MC2:Variant;Hmod,Smod:Extended): Boolean;
var
X,Y:Integer;
CTS,I,T: Integer;
TPA: TPointArray;
begin
repeat
Result := False;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(Hmod,Smod);
FindColorsSpiralTolerance(MSCX, MSCY, TPA,(Color), MSX1, MSY1, MSX2, MSY2, Tolerance);
ColorToleranceSpeed(CTS);
if (Length(TPA) < 1) then
Exit;
MMouse(TPA[0].X, TPA[0].Y, 5, 5);
if WaitUpText('Take', 400) then
begin
GetMousePos(X, Y);
ClickMouse2(False);
ChooseOptionMulti(Drops);
Result := True;
Exit;
end;
Until(Result)
end;
procedure KillCow;
var
X, Y, PlusOne: Integer;
begin
if FindObjCustom(x, y, ['ttack', 'ow'], [3029313, 7507881, 6185837, 2638919], 7) Then
begin
StatsGuise('Cow! Attacking...')
GetMousePos(X, Y);
case Random(2) of
0: Mouse(X, Y, 5, 5, True);
1: begin
Mouse(X, Y, 5, 5, False);
WaitOption('ttack', 250);
end;
end;
Flag;
repeat
PlusOne := InvCount + 1;
AntiBan;
wait(100);
FindObjOnScreen(8290940,1,False,1.73,0.01);
wait(2000);
if InvCount=PlusOne then
WriteLn ('Killed the Cow.');
until (InvCount=PlusOne);
end;
end;
procedure LoadVars;
begin
Drops:=['ide'];
end;
function PickRunes:Boolean;
var
x, y: Integer;
Begin
x:=MSCX;
y:=MSCY;
begin
if FindObjCustom(x, y, ['ake'], [], 5) then
Mouse(x, y, 3, 3, False);
WaitOptionMulti(['ake', 'owhide'], 50);
wait(500+Random(300));
Writeln('There''s another cowhide!');
end;
end;
procedure Banking;
var Path_ToBank : TPointArray;
begin
Writeln('Walking to the bank');
if SPS_WalkPath(Path_ToBank) then
begin
writeln('We are at the bank!');
end;
begin
DoorDTM := DTMFromString('mAAEAAHic42FgYPjNyMBwC4ilmRgYZIH4LpD9GojZgOw/jBD8EYglgfw7QLodqKcRiHuAuA6JboCyQXQ3ELcxQNTa29ky+DmZMNia6TOEelgyGOmoMYR7WYPFrEx04bSPixWYZgfqIQUzkoiRAQADKhbv');
if FindDTMRotated(DoorDTM, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) then
begin
MMouse(X, Y, 2, 2);
ClickMouse2(True);
Wait(2000+random(200));
if not FindDTM(DoorDTM, x, y, 0, 0, 700, 500) then
begin
Wait(1000+Random(500));
end;
end;
end;
end;
procedure ToCows;
var
Path_ToCows : TPointArray;
begin
WriteLn('Walking Back to the Cows');
if SPS_WalkPath(Path_ToCows) then
begin
WriteLn('We Are at the Cows');
end;
end;
procedure FreeDTMs;
begin
FreeDTM(DoorDTM);
end;
begin
Startup;
SPS_Areas := ['12_8','12_9','11_9','11_8'];
SPS_Setup(RUNESCAPE_SURFACE, SPS_Areas);
SetupChar;
LoadVars;
StatsGuise('Herro!');
AntiBan;
ProgressReport;
Banking;
repeat
repeat
KillCow;
Wait(500);
FindObjOnScreen(8290940,1,False,1.73,0.01);
Until InvFull;
Banking;
ToCows;
until(Not LoggedIn);
ProgressReport;
end.