Footy
2012-08-13 20:26:02
How Long have You Played Runescape?
7 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
PascalScript
Learning Java
Are you a member of any other communities?
RSBuddy - Footy4102
Tell us about yourself…
Please show us one (or multiple) of your scripts.
Here is my Al-Kharid Tanner. The BankGroundColor function and the TannerCapeColor function ara ACA made functions. Here is a proggy of my script running for one hour.
7 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
PascalScript
Learning Java
Are you a member of any other communities?
RSBuddy - Footy4102
Tell us about yourself…
From: Footy
My name is Nate, I am a young guy looking to possibly make a living programming. I am in the middle of learning java, then likely C++ or C#. I enjoy playing sports, and learning new things! I look to continue to contribute to the SRL community via scripts, and assisting those in need of help in the help section!
Please show us one (or multiple) of your scripts.
Here is my Al-Kharid Tanner. The BankGroundColor function and the TannerCapeColor function ara ACA made functions. Here is a proggy of my script running for one hour.
***************************************************
Time running = 1 Hours, 41 Seconds
We are Tanning hardleather
We have Tanned 1456 Hides so far!!
We have Earned 78624 GP so far!
We are Tanning 1439 Hides Per hour!
We are Earning 77732 Gp Per hour!
Thanks for using Footys Generic Tanner! Please leave feedback on the script thread!
***************************************************program AlkharidTanner;
{$DEFINE SMART}
{$i srl/srl.simba}
type TLeatherRecord = record
LeatherDTM, WaitTimeMin, WaitTimeMax:integer;
end;
var
LDTM:TLeatherRecord;
Hides_Tanned, Times_Reset, Breaks:Integer;
Resetting:boolean;
const
Row = 2; //Row of item to tan in bank.
Column = 2; //Column of item to tan in bank.
Hides_To_Tan = 5000; //How many hides are you tanning?
Profit_per_hide = 54; //How much profit do you make per hide tanned? Used in progress report.
procedure DeclarePlayers;
Begin
HowManyPlayers := 3;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //Username Here!
Players[0].Pass := ''; //Password Here!
Players[0].Pin := ''; //Pin here!
Players[0].Active := True;
Players[0].Strings[0] := 'hardleather'; //What Are we Tanning? Options(GreenLeather, RedLeather, BlackLeather, BlueLeather, RoyalLeather, HardLeather, SoftLeather) Dont Missspell them!
Players[1].Name := ''; //Username Here!
Players[1].Pass := ''; //Password Here!
Players[1].Pin := ''; //Pin here!
Players[1].Active := False; //Set to true if you are using
Players[1].Strings[0] := 'greenleather';
Players[2].Name := ''; //Username Here!
Players[2].Pass := ''; //Password Here!
Players[2].Pin := ''; //Pin here!
Players[2].Active := False; //Set to true if you are using
Players[2].Strings[0] := 'royalleather';
End; //Copy and paste for more players
Procedure LoadTLeatherRecord;
begin
case lowercase(Players[CurrentPlayer].Strings[0]) of
'greenleather': begin
LDTM.LeatherDTM := DTMFromString('mbQAAAHicY2VgYEhkZGBIAeJQIA4A4hwgvgTED4D4JBBfAOKLQMxpywVUzYSCQSLogBELBgMADIgGaQ==');
LDTM.WaitTimeMin := 1000;
LDTM.WaitTimeMax := 1400;
end;
'blueleather': begin
LDTM.LeatherDTM := DTMFromString('mbQAAAHicY2VgYChkZGBIB+JUIK4A4mogvgLEJ4D4FhDfg7K5eTyBqplQMBcDJmDEgsEAADGZBtM=');
LDTM.WaitTimeMin := 1200;
LDTM.WaitTimeMax := 1800;
end;
'redleather': begin
LDTM.LeatherDTM := DTMFromString('mbQAAAHicY2VgYNjAyMCwGIiXA/EeIF4HxJeA+CwQ3wXiy0B8BIhteTmBqplQMBcDJmDEgsEAAKFaB/E=');
LDTM.WaitTimeMin := 2000;
LDTM.WaitTimeMax := 3000;
end;
'blackleather': begin
LDTM.LeatherDTM := DTMFromString('mbQAAAHicY2VgYNBiZGBQAmJTIJYHYjMgvgjE94D4FBCfAOLLIDlZWaBqJhTMxYAJGLFgMAAAqwgFag==');
LDTM.WaitTimeMin := 2500;
LDTM.WaitTimeMax := 3500;
end;
'softleather': begin
LDTM.LeatherDTM := DTMFromString('mggAAAHicY2NgYIgH4mwgTgXiICAOBeIMIL7IyMBwDYiPAfE5IL4DxbYWnEBZJgzMyoAdMOLAEAAA+wgH0Q==');
LDTM.WaitTimeMin := 0;
LDTM.WaitTimeMax := 0;
end;
'hardleather': begin
LDTM.LeatherDTM := DTMFromString('mbQAAAHicY2VgYLgDxE+B+DkQXwbiSyDMyMBwHIhvAfEdID4NxDoaskAZJhTMxYAJGLFgMAAAAcAI+g==');
LDTM.WaitTimeMin := 0;
LDTM.WaitTimeMax := 0;
end;
'royalleather': begin
LDTM.LeatherDTM := DTMFromString('mbQAAAHicY2VgYFjOyMAwA4jXAfEWIJ4DxJeA+BoQ3wPiU1DsIB0OVM2EgrkYMAEjFgwGAKx3CDA=');
LDTM.WaitTimeMin := 3000;
LDTM.WaitTimeMax := 4000;
end;
end;
end;
Procedure Minibreaker;
begin
case random(50) of
1..2: begin writeln('Taking a quick break!'); inc(Breaks); wait(randomrange(20000, 100000)); writeln('All done, lets continue!'); end;
end;
end;
Procedure EnergyChecker;
var
x, y:integer;
begin
FindNormalRandoms;
if not(loggedin) then
exit;
if findcolortolerance(x, y, 6740716, 406, 91, 742, 123, 10) then
Exit;
RestUntil(85);
Setrun(true);
FindNormalRandoms;
end;
function BankGroundColor: Integer; //CREDITZ TO ACA
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.03, 0.62);
FindColorsSpiralTolerance(MMCX, MMCY, arP, 5601960, MMX1, MMY1, MMX2, MMY2, 7);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 17.77) and (X <= 31.27) and (Y >= 16.80) and (Y <= 29.35) and (Z >= 9.49) and (Z <= 16.60) then
begin
Result := arC[i];
// Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
Procedure WalkOfShame;
var
LodeTeleDTM, LodescreenDTM, Counter, x, y:integer;
begin
FindNormalRandoms;
LodeTeleDTM := DTMFromString('mlwAAAHicY2dgYLBjYmBwBmJHIDYFYisgNgdiGyAWZmRgEABieSAWBWJ+IJYBYgkgLoubwdA25wYG3nfkE4MIA27AiAdDAQBVqBA4');
LodeScreenDTM := DTMFromString('mrAAAAHic42BgYOBgZGDwBuKnQDYrkN4MpHWB9DsGCDsAiEOAOByII6EYxI4C4kAgFpNTYnj9YA9OLAJUw4wHMxLAMAAAtbUYsg==');
wait(randomrange(400, 2000));
Gametab(tab_magic);
Marktime(counter);
repeat
wait(randomrange(25, 200));
if timefrommark(counter) > 8000 then
begin
writeln('We couldnt find the hometele button! Logging out!');
Logout;
Exit;
end;
until(findDTM(LodeTeleDTM, x, y, MIX1, MIY1, MIX2, MIY2));
Mouse(x, y, 3, 3, 1);
Marktime(counter);
repeat
wait(randomrange(25, 200));
if timefrommark(counter) > 10000 then
begin
writeln('We couldnt open the Lodestone screen! Logging out!');
Logout;
Exit;
end;
until(FindDTM(LodeScreenDTM, x, y, MSX1, MSY1, MSX2, MSY2));
Marktime(counter);
LodestoneTeleport('Al Kharid');
wait(randomrange(16000, 20000));
RadialWalkTolerance(6654870, 345, 356, 75, 2, 2, 20);
repeat
wait(randomrange(50, 250));
until not(ismoving);
FindNormalRandoms;
RadialWalkTolerance(BankGroundColor, 300, 325, 75, 2, 2, 15);
repeat
wait(randomrange(100, 500));
until not(ismoving);
FindNormalRandoms;
Resetting := True;
inc(Times_reset);
end;
Function OpenBankCustom:boolean;
var
Sex, SeY, i, Counter:Integer;
BankTPA:TPointArray;
BankATPA : T2DPointArray;
begin
FindColorsSpiralTolerance(SeX, SeY, BankTPA, 9473685, MSX1, MSY1, MSX2 - 10, MSY2, 22);
BankATPA := SplitTPA(BankTPA, 12);
for i := 0 to high(BankATPA) do
begin
if MiddleTPAEX(BankATPA[i], SeX, SeY) then
Mmouse(SeX, SeY, 3, 3);
wait(randomrange(150, 400));
if IsUptextMultiCustom(['Bank Bank', 'Bank ban', 'ank Ban']) then
begin
writeln('Bank found!');
Clickmouse2(mouse_left);
Result := true;
Exit;
end;
end;
end;
Procedure SetupStuff;
begin
SetupSRL;
DeclarePlayers;
LoadTLeatherRecord;
Loginplayer;
wait(randomrange(500, 1000));
FindNormalRandoms;
wait(randomrange(500, 1000));
Clicknorth(SRL_ANGLE_LOW);
keydown(VK_UP);
wait(randomrange(200, 400));
keyup(VK_UP);
wait(randomrange(300, 900));
Makecompass('W');
end;
Procedure WalkToBank;
begin
if resetting = true then
exit;
if not(loggedin) then
exit;
FindNormalRandoms;
EnergyChecker;
writeln('Time to walk to the bank!');
RadialWalkTolerance(6523286, 265, 275, 75, 2, 2, 20);
repeat
wait(randomrange(25, 150));
until(not(ismoving));
FindNormalRandoms;
RadialWalkTolerance(BankGroundColor, 295, 315, 65, 2, 2, 20);
repeat
wait(randomrange(25, 150));
until(not(ismoving));
FindNormalRandoms;
EnergyChecker
end;
Procedure WithDrawStuff;
begin
if resetting = true then
exit;
if not(loggedin) then
exit;
Wait(randomrange(50, 250));
Withdraw(column - 1, row - 1, 28);
wait(randomrange(100, 300));
end;
Procedure Bankprocedure;
var
counter:integer;
begin
if resetting = true then
exit;
if not(loggedin) then
exit;
Marktime(Counter);
while not(Bankscreen or Pinscreen) do
wait(randomrange(100, 400));
if timefrommark(counter) > 10000 then
begin
Writeln('We couldnt open the bank! Lodgestone Teleporting!');
WalkofShame;
Exit;
end;
repeat
If (PinScreen) Then (InPin(Players[0].Pin));
until (BankScreen);
DepositAll;
WithDrawStuff;
closebank;
wait(randomrange(100, 300));
Hides_Tanned := Hides_Tanned + 28;
end;
Procedure Antiban;
begin
if not(loggedin) then
exit;
FindNormalRandoms;
case random(200) of
1: begin writeln('Antiban: Wait'); wait(randomrange(10000, 30000)); end;
2..5: begin writeln('Antiban: Checking skills'); Gametab(tab_stats) wait(randomrange(10000, 20000)); gametab(tab_Inv); wait(randomrange(100, 200)); end;
6..8: begin writeln('Antiban: Checking crafting XP'); Gametab(tab_stats) wait(randomrange(200, 600)); HoverSkill('Crafting', false); wait(randomrange(2000, 10000)); Gametab(tab_Inv); wait(randomrange(200, 450)); end;
9..12: begin writeln('Antiban: Sleepandmovemouse'); sleepandmovemouse(randomrange(1000, 10000)); end;
14..15: begin writeln('Antiban: Checking whos online'); Gametab(tab_Friends); wait(randomrange(2000, 3000)); Gametab(tab_Inv); wait(randomrange(100, 200)); end;
end;
end;
Procedure Proggy;
begin
if not(loggedin) then
exit;
FindNormalRandoms;
Writeln('***************************************************');
Writeln('Time running = ' + (TimeRunning));
Writeln('We are Tanning ' + (Players[Currentplayer].Strings[0]));
Writeln('We have Tanned ' + IntToStr(Hides_Tanned) + ' Hides so far!!');
Writeln('We have Earned ' + IntToStr(Profit_per_hide * Hides_Tanned) + ' GP so far!');
Writeln('We are Tanning ' + IntToStr(round(3600000 * 1.0 / GetTimeRunning * Hides_Tanned)) + ' Hides Per hour!');
Writeln('We are Earning ' + IntToStr(round(3600000 * 1.0 / GetTimeRunning * Profit_per_hide * Hides_Tanned)) + ' Gp Per hour!');
Writeln('We have Taken ' + IntToStr(Breaks) + ' Breaks so far!');
Writeln('Thanks for using Footys Generic Tanner! Please leave feedback on the script thread!');
Writeln('***************************************************');
end;
Procedure WalkToTanner;
begin
if not(loggedin) then
exit;
if resetting = true then
exit;
FindNormalRandoms;
writeln('Time to walk to the tanner!');
wait(randomrange(200, 600));
RadialWalkTolerance(6917275, 120, 134, 72, 2, 2, 20);
repeat
wait(randomrange(25, 150));
until(not(ismoving));
FindNormalRandoms;
repeat
wait(randomrange(20, 300));
until(RadialwalkTolerance(655331, 40, 90, 75, 2, 2, 40));
repeat
wait(randomrange(25, 150))
until(not(ismoving));
FindNormalRandoms;
EnergyChecker;
end;
function TannerCapeColor: Integer; //Creditz to ACA
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.09, 2.47);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 15324904, MSX1, MSY1, MSX2, MSY2, 9);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 57.29) and (X <= 87.20) and (Y >= 58.19) and (Y <= 88.80) and (Z >= 67.85) and (Z <= 102.98) then
begin
Result := arC[i];
// Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
Function ClickTanner:boolean;
var
TanScreenDTM, counter, counter1, x, y:Integer;
Clicked:Boolean;
begin
TanScreenDTM := DTMFromString('mggAAAHicY2NgYHjLyMBwE0j3A7EjEOsDcSwQPwGKLwXiqUC8EIinAPFkIC61EWb4//8/BuYC6mHFghlxYAgAAPN8FvQ=');
if not(loggedin) then
exit;
FindNormalRandoms;
wait(randomrange(500, 1000));
if findobjTPAMulti(x, y, [TannerCapeColor], 5, 2, 10, 10, 20, ['llis', 'Ellis']) then
begin
wait(randomrange(100, 300));
Mouse(x, y, 2, 2, mouse_right);
waitoption('ides', 1000);
end else
begin
marktime(Counter1);
repeat
Mmouse(263, 151, 10, 25);
wait(randomrange(150, 600));
if isuptextmulticustom(['llis', 'Ellis']) then
begin
Clickmouse2(mouse_right);
WaitOptionmulti(['hides', 'ide', 'an hi', 'ides'], 1000);
Clicked := true;
end;
if timefrommark(counter1) > 5000 then
begin
writeln('We couldnt find the tanner! Lets lodgestone tele!');
WalkofShame;
Exit;
end;
until(Clicked = True);
end;
Marktime(counter);
repeat
wait(randomrange(50, 150));
if TimeFromMark(counter) > 8000 then
begin
writeln('Tanning screen not opening up! Lets Lodgestone tele!');
WalkofShame;
Exit;
end;
until(FindDTM(TanScreenDTM, x, y, MCX1, MCY1, MCX2, MCY2));
Result := True;
FreeDTM(TanScreenDTM);
wait(randomrange(1000, 2000));
end;
Procedure TanHides;
var
Counter, x, y:integer;
begin
if resetting = true then
exit;
if not(loggedin) then
exit;
if FindDTM(LDTM.LeatherDTM, x, y, MCX1, MCY1, MCX2, MCY2) then
begin
Mouse(x, y, 5, 5, mouse_left);
exit;
end else
begin
MMouse(501, 427, 2, 10)
wait(randomrange(LDTM.WaitTimeMin, LDTM.WaitTimeMax));
Mousebox(5, 341, 505, 426, 3);
Marktime(counter);
repeat
wait(randomrange(50, 200));
if TimefromMark(counter) > 10000 then
begin
writeln('We couldnt find the LeatherDTM! Logging out!');
Logout;
exit;
end;
until(findDTM(LDTM.LeatherDTM, x, y, MCX1, MCY1, MCX2, MCY2));
mouse(x, y, 5, 5, mouse_left);
exit;
end;
FindNormalRandoms;
Writeln('Strings[0] String " ' + (Players[0].Strings[0]) + ' " Is unknown. Please enter an option from the list. Logging out!');
Logout;
Exit;
end;
Procedure ReleaseDTMs;
begin
FreeDTM(LDTM.LeatherDTM);
end;
begin
repeat
SetupStuff;
repeat
OpenBankCustom;
Bankprocedure;
Antiban;
WalkToTanner;
if ClickTanner then
TanHides;
Antiban;
WalkToBank;
Proggy;
until((Hides_Tanned >= Hides_To_Tan) or not(loggedin) or (times_reset > 2));
ReleaseDTMs;
Nextplayer(false);
until(allplayersinactive);
end.