SRL Archive - Archive

Hy71194 - SRL Member Application Form


Harry

2008-01-05 21:36:15

I see I am not a member anymore? :S :S

Re-apply time?

Here are just a few of my many scripts…

Fight Caver:

{===================================================================]
[ Hy71194 Fight Cave Runner ]
[ ]
[ NAME : Hy71194's Fight Cave Runner ]
[ WRITER : Hy71194 + (Some) Pwnaz0r :P ]
[ CATEGORY : Auto Fighter ]
[ DESCRIPTION : Does the fight caves, and gets Tokkul. ]
[ Read below for more info..... ]
[ USAGE : Start by the fight caves entrance. ]
[ AUTOCOLOR : YES ]
[ SRL Used : 4.0, tested on Rev. 7, but works on Rev. 9 ]
[ SCAR Used : SCAR DIVI 3.12c ]
[ ]
[ More Scripts can be found at ]
[ www.SRL-Forums.com ]
[===================================================================]
[ Instructions. ]
[===================================================================]
[ 1. Use RuneScape with Low Detail, Very Bright. ]
[ 2. Set your Screen to 32 bit TRUE color. ]
[ 3. Setup lines, below. ]
[ 4. Set Playername and Password, below. ]
[ 5. Start In front of fight caves entrance ]
[ 6. Start script Logged Out or Logged in (Doesn't matter) ]
[ 7. Enjoy, and POST PROGRESS REPORTS PLEASE! :] ]
[===================================================================}
{ Some more info :) ]
[ 1. Will Sleep if you have TotalNeeded set in the const section ]
[ 2. Will do Special Attack if SpecAttk = True; ]
[ 3. Some of the l33test antiban out there, and antirandoms :D ]
[ 4. SRL Stats- Global Record of how long the script has been goin']
[ 5. Random Autotalking- Option to turn off if you dont like it. ]
[===================================================================}
{ Feel free to contact me, Hy71194[at]hotmail.com
:)

PLEASE post up ALL PROGGIES, COMMENTS, BUGS, AND SUGGESTIONS AT:
http://www.villavu.com/forum/showthread.php?t=17932
Thanks in advance, ~Harry. }
{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
program Hy71194FightCaveRunner; //Hy71194 was here.
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/Prayer.scar}

var
EnterCount,i,a,b,x,y,cx,cy,xf,yf,LG,nox,noy,TempLostCount,FT,TotalDone,LogCount,Pray,PrayUse,PrayUseII,PrayUseIII,TalkTimes,StuckCount,fux,fuy,posx,posy,PosStuck,TotStuck,EnterMark : integer;
NewVersion: string;
Current: extended;

const
TotalNeeded = 25; //Script automatically adds a random of 15 onto it :)
// How many times to go though cave before sleeping ? (15-30 reccomended)
RandomTalkk = True; //True = Talk, False = No talking.
SpecAttk = False; //Boolean
// Are you wielding Dragon Weapons with Specail Attack on them?
// If you are a pure and worry about script messing up your defense, set to false.
// Just as a warning, someome said SpecAttk screwed up their defense level. :(
UsePray = False; //Do you want to pray in the cave?
KillEndless = True; //Get rid of endless loops?
// I made an option for it because IDK if it will even work. Will possibably give False-Positives.
DisguiseRuns = True; //In the bottom of the toolbar (scar.exe) will say how many runs you have done, OR how many hours the script has been going.
// Lots of people tell me it is illegal for a program to read any other programs on your computer. So when you use this, you -SHOULD- be safe from Jackex knowing you are cheating.
TimeInCave = True; // Set to true if you want the script to log you out if it sees you haven't enterd the cave in over 20 mins.
CheckVersion = True; // Check if your version is up to date? (Recommended if you are a leecher).
StuckAmount = 20; // How many times do you want to get un-stuck before killing the script? (So you don't get lost outside of the cave)
Version = 1.65; // DO NOT TOUCH PLEASE :)

procedure ClearVars; forward;
procedure DeclarePlayers;
begin
SRLID := ''; //Insert your SRL Stats ID here (It is different than your Forum's username!)
SRLPassword := ''; //SRL Stats password here.
// Get the above two numbers at: http://www.Stats.SRL-Forums.com !!!
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name :='Zezima';
Players[0].Pass :='iMacro321'; //OMG, I left my mains password in there! :O lol
Players[0].Nick :='ezi';

Writeln('Player(s): '+IntToStr(HowManyPlayers)+';');
ClearVars;
end;


procedure ClearVars;
begin
for I := 0 to HowManyPlayers - 1 do
begin
Players[i].Integers[0] := 0;
Players[i].Integers[1] := 0;
Players[i].Active := True;
Players[i].Loc := '';
end;
if (SRLID = '') or (SRLPassword = '')then
begin
ClearDebug; SRLid := '2368'; SrlPassword := 'password'; WriteLn('@@@ Hey! Don''t leech! Get an SRL Stats ID at : '); WriteLn('@@@ http://www.Stats.SRL-Forums.com !!! '); WriteLn('@@@ And type it into lines 71 - 72 please !'); WriteLn('@@@ Until you do that, the script will not run. '); WriteLn('@@@ Byee! '); TerminateScript;
WriteLn('@@@ I don''t like leechers :@ ');
end;
end;


{*******************************************************************************
procedure MouseyBox(xs, ys, xe, ye: Integer; click: Integer);
By: XxKanexX / Added here for Rev 9 Functionality.
Description: Moves mouse into a random position in the box. Clicks if told to.
*******************************************************************************}

procedure MouseyBox(xs, ys, xe, ye: Integer; click: Boolean);
begin
a := Max(xs, xe) - Min(xs, xe);
b := Max(ys, ye) - Min(ys, ye);
a := Random(a);
b := Random(b);
MMouse(xs + a, ys + b, 0, 0);
case click of
True: Mouse(xs + a, ys + b, 0, 0, True);
False: Mouse(xs + a, ys + b, 0, 0, False);
else Exit;
end;
end;


procedure FlashDisguise;
begin
if DisguiseRuns=False then Exit;
begin
case Random(4) of
0: Disguise(''+IntToStr(EnterCount)+' times done.');
1: Disguise(''+IntToStr(EnterCount)+' times done!');
2: Disguise(TimeRunning);
3: Disguise(TimeRunning+'!');
end;
end;
end;


procedure PlzDontBeLostNOW; forward;
procedure CheckStuck; forward;
procedure TakeMyScreen(Reason: string); forward;
procedure LoginLoop; forward;
procedure Proggy; forward;
procedure TimeInDaCave;
begin
if TimeInCave = False then Exit;
begin
if (TimeFromMark(EnterMark) > (20 * 1000 * 60) + Random(10000)) then
begin
WriteLn('You have been in the cave too long (20+ mins)');
WriteLn('That means you are probably lost. :/');
TakeMyScreen('Lost_In_Cave_Maybe');
Logout;
TempLostCount := TempLostCount + 1;
if (TempLostCount >= 3) or (StuckCount >= StuckAmount) then
begin
Proggy;
WriteLn('Gotten too many possible Losts.');
WriteLn('Killing Script for the saftey of the User.');
NextPlayer(False);
TempLostCount := 0; //In case you decided to use 2+ players. IDK why you would cave with multi players.. but w/e! :)
Exit;
end;
Wait(5000+Random(5000));
LoginLoop;
CheckStuck;
PlzDontBeLostNOW;
end;
end;
end;


procedure KeepUpStats; //Sends the SRL Stats to the server.
begin
ReportVars[0] := ReportVars[0] + 1; //Cave Entry +1
Wait(1);
SRLRandomsReport;
end;


procedure Proggy;
begin
case Random(8) of
0: begin
GetAllLevels;
end;
end;
ClearDebug;
WriteLn((TheTime)+', time when this proggy was written.');
WriteLn('.-----------[Fight Cave Runner! By Hy71194]----------.');
WriteLn('.-------------------[Version '+FloatToStr(Version)+']-------------------.');
WriteLn('| ');
WriteLn('| -Went Into Cave : '+IntToStr(EnterCount)+' Times! ');
WriteLn('| -Total Time Spent : '+TimeRunning+'! ');
if LogCount > 0 then
begin
WriteLn('| -Logged Out / In : '+IntToStr(LogCount)+' Times! ');
end;
if TalkTimes > 0 then
begin
WriteLn('| -Randomly Talked : '+IntToStr(TalkTimes)+' Times! ');
end;
if StuckCount > 0 then
begin
WriteLn('| -Got Un-Stuck : '+IntToStr(StuckCount)+' Times! ');
end;
if TotStuck > 0 then
begin
WriteLn('| -Clicked Symbol : '+IntToStr(TotStuck)+' Times! ');
end;
WriteLn('| ');
WriteLn('| -Attack Level : '+IntToStr(Players[CurrentPlayer].Level[1]));
WriteLn('| -Strength Level : '+IntToStr(Players[CurrentPlayer].Level[2]));
WriteLn('| -Defense Level : '+IntToStr(Players[CurrentPlayer].Level[3]));
WriteLn('| -Hitpoint Level : '+IntToStr(Players[CurrentPlayer].Level[8]));
WriteLn('| -Prayer Level : '+IntToStr(Players[CurrentPlayer].Level[5]));
WriteLn('| -Magic Level : '+IntToStr(Players[CurrentPlayer].Level[6]));
WriteLn('| -Range Level : '+IntToStr(Players[CurrentPlayer].Level[4]));
WriteLn('| ');
WriteLn('| ~~~~ Thanks for using! ~~~~ ');
WriteLn('| Post up your proggies at the location you leeched this from! :D');
WriteLn('.----------------------------------------------------.');
FlashDisguise;
Wait(1);
KeepUpStats;
end;

{*******************************************************************************
procedure RetaliateMe;
By: WT-Fakawi | Edited a bit by me ofc ;]
Description: Sets Auto-retiliate to TRUE.
*******************************************************************************}

procedure RetaliateMe;
begin
GameTab(1);
Wait(100+Random(200));
if not FindColor(x,y,1777020,624, 385, 719,396) then
begin
Mouse(666,381,8,8, True);
end
else WriteLn('Auto-Retaliate was already on :D');
end;


procedure TakeMyScreen(Reason: string);
begin
WriteLn('Attempting to take a screenie of something.. Please wait.');
try
SaveScreenshot(ScriptPath + reason + TimeRunning + '.bmp');
WriteLn('Screenshot of: ' + reason + TimeRunning);
except
Writeln('Failed to save screenshot of: ' + reason);
end
end;


procedure LoginLoop;
begin
NextPlayer(True);
LoginPlayer; //Fail-safe, in case NextPlayer doesnt want to log you in ;)
LogCount:= LogCount + 1;
ClickToContinue;
SetRun(True);
FTWait(4+Random(4));
PlzDontBeLostNOW;
FTWait(4+Random(4));
end;


procedure WhyAreJooLost(L33T:string);
begin
Proggy;
Mouse(fux,fuy,3,3,True); //The Flag should mark the symbol the script found.
TakeMyScreen('PM_This_Pic_To_Hy71194_ASAP');
WriteLn('Sorry, but the script says your player is messed up, using symbol '''+(L33T)+'''.');
WriteLn('PM the screenshot found in this script''s path to Hy71194,');
WriteLn('so he can fix this bug. If you don''t send it, the script will be bugged up forever.');
WriteLn('-ONLY SEND IT ONLY IF YOU ARE NEAR THE CAVES!- Do not send it if you truly are dead.');
NextPlayer(False);
Exit;
end;


procedure W; //Cause I am too lazy to write Wait 100 times :)
begin
Wait(1+Random(100));
end;


procedure PlzDontBeLost; //SRY for having it be so long.
//Should kill those endless loops <3
//I removed less common Smyobls for now
begin
if KillEndless=False then Exit;
if not LoggedIn then LoginLoop;
if (TimeFromMark(EnterMark) < ( 15 * 1000 * 60) + Random(10000)) then Exit; // So it doesn't try to find Symbols every second. Only does it if it hasn't enter-ed the cave within the last 15 mins.
begin
//if FindSymbol(fux, fuy, 'magic shop') then WhyAreJooLost('magic shop');
//W;
if FindSymbol(fux, fuy, 'transportation') then WhyAreJooLost('transportation');
W;
if FindSymbol(fux, fuy, 'water source') then WhyAreJooLost('water source');
W;
//if FindSymbol(fux, fuy, 'anvil') then WhyAreJooLost('anvil');
//W;
if FindSymbol(fux, fuy, 'rare trees') then WhyAreJooLost('rare trees');
W;
//if FindSymbol(fux, fuy, 'fishing spot') then WhyAreJooLost('fishing spot');
//W;
//if FindSymbol(fux, fuy, 'cook') then WhyAreJooLost('cook');
//W;
if FindSymbol(fux, fuy, 'quest') then WhyAreJooLost('quest');
W;
//if FindSymbol(fux, fuy, 'mill') then WhyAreJooLost('mill');
//W;
//if FindSymbol(fux, fuy, 'dungeon') then WhyAreJooLost('dungeon');
//W;
//if FindSymbol(fux, fuy, 'weave') then WhyAreJooLost('weave');
//W;
//if FindSymbol(fux, fuy, 'pottery') then WhyAreJooLost('pottery');
//W;
//if FindSymbol(fux, fuy, 'spinning wheel') then WhyAreJooLost('spinning wheel');
//W;
//if FindSymbol(fux, fuy, 'guide') then WhyAreJooLost('guide');
//W;
//if FindSymbol(fux, fuy, 'shop') then WhyAreJooLost('shop');
//W;
//if FindSymbol(fux, fuy, 'shield') then WhyAreJooLost('shield');
//W;
//if FindSymbol(fux, fuy, 'altar') then WhyAreJooLost('alter');
//W;
//if FindSymbol(fux, fuy, 'arrow') then WhyAreJooLost('arrow');
//W;
//if FindSymbol(fux, fuy, 'bar') then WhyAreJooLost('bar');
//W;
//if FindSymbol(fux, fuy, 'underground') then WhyAreJooLost('underground');
//W;
//if FindSymbol(fux, fuy, 'tanner') then WhyAreJooLost('tanner');
//W;
//if FindSymbol(fux, fuy, 'churn') then WhyAreJooLost('churn');
//W;
//if FindSymbol(fux, fuy, 'house') then WhyAreJooLost('house');
//W;
//if FindSymbol(fux, fuy, 'axe shop') then WhyAreJooLost('axe shop');
//W;
//if FindSymbol(fux, fuy, 'cookery shop') then WhyAreJooLost('cookery shop');
//W;
//if FindSymbol(fux, fuy, 'windmill') then WhyAreJooLost('windmill');
//W;
//if FindSymbol(fux, fuy, 'fur trader') then WhyAreJooLost('fur trader');
//W;
//if FindSymbol(fux, fuy, 'archery shop') then WhyAreJooLost('archery shop');
//W;
//if FindSymbol(fux, fuy, 'staff shop') then WhyAreJooLost('staff shop');
//W;
//if FindSymbol(fux, fuy, 'clothes shop') then WhyAreJooLost('clothes shop');
//W;
//if FindSymbol(fux, fuy, 'farming spot') then WhyAreJooLost('farming spot');
//W;
//if FindSymbol(fux, fuy, 'apothecary') then WhyAreJooLost('apothecary');
//W;
//if FindSymbol(fux, fuy, 'sword shop') then WhyAreJooLost('sword shop');
//W;
//if FindSymbol(fux, fuy, 'platebody shop') then WhyAreJooLost('platebody shop');
//W;
//if FindSymbol(fux, fuy, 'scimitar shop') then WhyAreJooLost('scimitar shop');
//W;
//if FindSymbol(fux, fuy, 'gem stall') then WhyAreJooLost('gem stall');
//W;
//if FindSymbol(fux, fuy, 'silk stall') then WhyAreJooLost('silk stall');
//W;
//if FindSymbol(fux, fuy, 'plateskirt shop') then WhyAreJooLost('plateskirt shop');
//W;
//if FindSymbol(fux, fuy, 'agility') then WhyAreJooLost('agility');
//W;
//if FindSymbol(fux, fuy, 'training dummy') then WhyAreJooLost('training dummy');
//W;
//if FindSymbol(fux, fuy, 'food shop') then WhyAreJooLost('food shop');
//W;
//if FindSymbol(fux, fuy, 'fishing shop') then WhyAreJooLost('fishing shop');
//W;
//if FindSymbol(fux, fuy, 'jewelery') then WhyAreJooLost('jewelery');
//W;
//if FindSymbol(fux, fuy, 'crafting shop') then WhyAreJooLost('crafting shop');
//W;
//if FindSymbol(fux, fuy, 'portal') then WhyAreJooLost('P.O.H. portal');
//W;
//if FindSymbol(fux, fuy, 'makeover mage') then WhyAreJooLost('makeover mage');
//W;
//if FindSymbol(fux, fuy, 'mace shop') then WhyAreJooLost('mace shop');
//W;
//if FindSymbol(fux, fuy, 'hair dresser') then WhyAreJooLost('hair dresser');
//W;
//if FindSymbol(fux, fuy, 'mining shop') then WhyAreJooLost('mining shop');
//W;
//if FindSymbol(fux, fuy, 'silver stall') then WhyAreJooLost('silver stall');
//W;
//if FindSymbol(fux, fuy, 'spice stall') then WhyAreJooLost('spice stall');
//W;
//if FindSymbol(fux, fuy, 'farming shop') then WhyAreJooLost('farming shop');
//W;
//if FindSymbol(fux, fuy, 'slayer master') then WhyAreJooLost('slayer master');
//W;
//if FindSymbol(fux, fuy, 'herbalist') then WhyAreJooLost('harbalist');
//W;
//if FindSymbol(fux, fuy, 'candle shop') then WhyAreJooLost('candle shop');
//W;
//if FindSymbol(fux, fuy, 'saw mill') then WhyAreJooLost('saw mill');
//W;
//if FindSymbol(fux, fuy, 'kebab shop') then WhyAreJooLost('kebab shop');
//W;
//if FindSymbol(fux, fuy, 'short cut') then WhyAreJooLost('short cut');
//W;
//if FindSymbol(fux, fuy, 'hunter store') then WhyAreJooLost('hunter store');
//W;
//if FindSymbol(fux, fuy, 'hunter training') then WhyAreJooLost('hunter training');
//W;
//if FindSymbol(fux, fuy, 'sandpit') then WhyAreJooLost('sandpit');
//W;
Exit;
end;
end;


procedure PlzDontBeLostNOW; //The EnterMark won't affect this procedure.
begin
if KillEndless=False then Exit;
if not LoggedIn then LoginLoop;
begin
if FindSymbol(fux, fuy, 'transportation') then WhyAreJooLost('transportation');
W;
if FindSymbol(fux, fuy, 'water source') then WhyAreJooLost('water source');
W;
if FindSymbol(fux, fuy, 'rare trees') then WhyAreJooLost('rare trees');
W;
if FindSymbol(fux, fuy, 'quest') then WhyAreJooLost('quest');
W;
Exit;
end;
end;


function FindFightHy: Boolean; //Stolen from SRL, edited by Hy71194- laggy sometimes :\
begin
if (FindColor(xf, yf, 65280, 217, 129, 297, 209)) then
begin
Result := True;
case Random(3) of
0: GameTab(4);
end;
end;
end;

{function InFight: Boolean; //by neG, I like my procedure better :P
var
x, y : Integer;
begin
Result := (FindColor(x, y, 65280, 230, 130, 280, 180) or FindColor(x, y, 255,
230, 130, 280, 180))
end; }


Procedure DoTehPrayer; //Based off Derek's Ultimate Pcer <3
begin
if UsePray=False then Exit;
begin
if not LoggedIn then Exit;
//Pray := GetSkillLevel('Prayer');
Pray := Players[CurrentPlayer].Level[5];
Wait(300 + Random(200));
//GameTab(4);
if (Pray >= 1) and (Pray <4) then
begin
PrayUse := 1;
end else
if (Pray >= 4) and (Pray <7) then
begin
PrayUse := 1;
PrayUseII := 2;
end else
if (Pray >= 7) and (Pray <10) then
begin
PrayUse := 2;
PrayUseII := 3;
end else
if (Pray >= 10) and (Pray <13) then
begin
PrayUse := 3;
PrayUseII := 6;
end else
if (Pray >= 13) and (Pray <16) then
begin
PrayUse := 6;
PrayUseII := 7;
end else
if (Pray >= 16) and (Pray <28) then
begin
PrayUse := 7;
PrayUseII := 8;
end else
if (Pray >= 28) and (Pray <31) then
begin
PrayUse := 8;
PrayUseII := 14;
end else
if (Pray >= 31) and (Pray <34) then
begin
PrayUse := 14;
PrayUseII := 15;
end else
if (Pray >= 34) and (Pray <99) then
begin
PrayUse := 15;
PrayUseII := 16;
//PrayUseIII := 19; //Removed. If you turn it on, it will drain your prayer.. really fast ;(
end;
end;
Gametab(6);
case Random(4) of //Prayer.scar has an error. It will f* up if you do a prayer, and the info box by Jagex covers up the other prayer icon.
//So it will be glitch free hopefully once SRL gets updated. :rolleyes:
0: begin
Writeln('Doing Prayer 0:');
ClickPrayer(IntToStr(PrayUseIII), True);
ClickPrayer(IntToStr(PrayUseII), True);
ClickPrayer(IntToStr(PrayUse), True);
end;
1: begin
Writeln('Doing Prayer 1:');
ClickPrayer(IntToStr(PrayUseII), True);
ClickPrayer(IntToStr(PrayUseIII), True);
ClickPrayer(IntToStr(PrayUse), True);
end;
2: begin
Writeln('Doing Prayer 2:');
ClickPrayer(IntToStr(PrayUse), True);
ClickPrayer(IntToStr(PrayUseII), True);
ClickPrayer(IntToStr(PrayUseIII), True);
end;
3: begin
Writeln('Doing Prayer 3:');
ClickPrayer(IntToStr(PrayUse), True);
ClickPrayer(IntToStr(PrayUseIII), True);
ClickPrayer(IntToStr(PrayUseII), True);
end;
end;
end;


procedure ForceLogout; //Thanks neG!! <333
begin
MarkTime(LG);
repeat
Logout;
until not(LoggedIn) or (TimeFromMark(LG) > (500000+Random(20000))); //~10 mins as fail-safe.
LogCount:= LogCount + 1;
end;


function InCave: boolean;
begin
SymbolAccuracy:= 0.8;
if not FindSymbol(nox, noy, 'bank')then
result:= not FindSymbol(nox, noy, 'minigame');
case Random(2) of
0: FindTalk;
end;
end;


procedure SpecialAttack;
begin;
if SpecAttk=False then Exit;
begin;
GameTab(1);
Wait(200+Random(1000));
MouseyBox(570, 412, 715, 432, true);
Wait(50+Random(300));
Gametab(4);
end;
end;


procedure AntiBan; //I Removed some of the SpecialAttacks from this procedure, replaced them with random mouse movements to keep you logged in ;)
begin
if(not LoggedIn)then exit;
b := Random(100);
case b of
0: MMouse(random(MSX2),random(MSY2),0,0);
1: SpecialAttack;
2: HoverSkill('random',false);
5: PickupMouse;
6: MMouse(random(MSX2),random(MSY2),0,0);
7: MouseSpeed := 19 + Random(5);
8: MMouse(random(MSX2),random(MSY2),0,0);
9: Wait(1+Random(100));
10: begin
GameTab(1+random(12));
for a := 0 to 6 do
begin
Wait(300 + Random(200));
end;
GameTab(4);
end;
11: MouseSpeed := 20 + Random(5);
12: MMouse(random(MSX2),random(MSY2),0,0);
13: MMouse(random(MSX2),random(MSY2),0,0);
14: SpecialAttack;
15: SpecialAttack;
18: MMouse(random(MSX2),random(MSY2),0,0);
28: MMouse(random(MSX2),random(MSY2),0,0);
38: MMouse(random(MSX2),random(MSY2),0,0);
48: MMouse(random(MSX2),random(MSY2),0,0);
end;
end;


procedure CheckStuck; //Thanks neG!!! <333
begin
if not(FindFightHy) then
begin
MarkTime(FT);
repeat
if FindFightHy then Exit;
Wait(1+Random(1));
if not InCave then Exit;
Wait(1+Random(1));
if not LoggedIn then Exit;
AntiBan;
Wait(900+Random(200));
//FindNormalRandoms; //Laggs script A LOT :| (and it is not even needed, if you are in the cave, no randoms happen; randoms only happen when you enter)
until (TimeFromMark(FT) > 110000 + Random(20000)) //110 seconds, plus random of 20 seconds.
if (TimeFromMark(FT) > 110000 + Random(20000)) then
begin
ForceLogout;
Wait(6000+Random(6000));
StuckCount := StuckCount + 1;
ReportVars[5] := ReportVars[5] + 1; //Un-Stuck +1
SRLRandomsReport; //For me to see your progress on the script :D
LoginLoop;
if ((StuckCount) >= 4) then
begin
Proggy;
WriteLn('You have gotten ''un-stuck'' too many times. Terminating for the saftey of your character.');
Wait(2000);
TerminateScript;
end;
end;
if (TimeFromMark(FT) < 110000 + Random(20000)) then
begin
Exit;
end;
end;
end;


function FindFastRandoms: Boolean; // Credits to WT-Fakawi <3
begin
for i:=1 to 10 do
begin
case I of
1: if FindDead then
Result := True;
2: if FindMod then
Result := True;
3: if FindMime then
Result := True;
4: if FindMaze then
Result := True;
5: if FindQuiz then
Result := True;
6: if FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
8: if FindTalk then Result:= True;
//9: PlzDontBeLost; //<3 Should end those endless loops.
// Laggs too much to be here.
end;
wait(1);
end;
end;


procedure RandomTalkyAlways; // For every cave entry, will talk with a random of 1/1000.
begin
if RandomTalkk=False then Exit;
begin
case Random(1000) of //Random talking FTW. Set value higher/lower for more common, if less common.
0: begin
ClickToContinue;
FTWait(4+Random(10));
TypeSend('w00t caves!!!');
TalkTimes := TalkTimes + 1;
end;
1: begin
ClickToContinue;
FTWait(4+Random(10));
TypeSend('time for more xp! =p');
TalkTimes := TalkTimes + 1;
end;
2: begin
ClickToContinue;
FTWait(4+Random(10));
TypeSend('time for more xp!');
TalkTimes := TalkTimes + 1;
end;
3: begin
ClickToContinue;
FTWait(4+Random(10));
TypeSend('i <3 the fight caves');
TalkTimes := TalkTimes + 1;
end;
4: begin
ClickToContinue;
FTWait(4+Random(10));
TypeSend('almost at lvl 126');
TalkTimes := TalkTimes + 1;
end;
5: begin
ClickToContinue;
FTWait(4+Random(10));
TypeSend('attack levels?');
TalkTimes := TalkTimes + 1;
end;
6: begin
ClickToContinue;
FTWait(4+Random(10));
TypeSend('strength levels?');
TalkTimes := TalkTimes + 1;
end;
7: begin
ClickToContinue;
FTWait(4+Random(10));
TypeSend('defense levels?');
TalkTimes := TalkTimes + 1;
end;
8: begin
ClickToContinue;
FTWait(4+Random(10));
TypeSend('hitpoint levels?');
TalkTimes := TalkTimes + 1;
end;
9: begin
ClickToContinue;
FTWait(4+Random(10));
TypeSend('magic levels?');
TalkTimes := TalkTimes + 1;
end;
10: begin
ClickToContinue;
FTWait(4+Random(10));
TypeSend('range levels?');
TalkTimes := TalkTimes + 1;
end;
11: begin
ClickToContinue;
FTWait(4+Random(10));
TypeSend('woot');
TalkTimes := TalkTimes + 1;
end;
12: begin
ClickToContinue;
FTWait(4+Random(10));
TypeSend('i''m so bored');
TalkTimes := TalkTimes + 1;
end;
13: begin
ClickToContinue;
FTWait(4+Random(10));
TypeSend('die monsters');
TalkTimes := TalkTimes + 1;
end;
14: begin
ClickToContinue;
FTWait(4+Random(10));
TypeSend('sigh');
TalkTimes := TalkTimes + 1;
end;
15: begin
ClickToContinue;
FTWait(4+Random(10));
TypeSend('runescape is fun');
TalkTimes := TalkTimes + 1;
end;
16: begin
ClickToContinue;
FTWait(4+Random(10));
TypeSend('...');
TalkTimes := TalkTimes + 1;
end;
end;
end;
end;


procedure RandomTalkyLogin; //For a return from sleep, will ALWAYS talk.
begin
if RandomTalkk=False then Exit;
begin
case Random(17) of //Random talking FTW. Set value higher/lower for more common, or less common.
0: begin
TypeSend('time to do the caves again...');
TalkTimes := TalkTimes + 1;
end;
1: begin
TypeSend('i''m back! time for more xp!');
TalkTimes := TalkTimes + 1;
end;
2: begin
TypeSend('time for more xp!');
TalkTimes := TalkTimes + 1;
end;
3: begin
TypeSend('i love the fight caves');
TalkTimes := TalkTimes + 1;
end;
4: begin
TypeSend('almost at lvl 126');
TalkTimes := TalkTimes + 1;
end;
5: begin
TypeSend('attack levels?');
TalkTimes := TalkTimes + 1;
end;
6: begin
TypeSend('strength levels?');
TalkTimes := TalkTimes + 1;
end;
7: begin
TypeSend('defense levels?');
TalkTimes := TalkTimes + 1;
end;
8: begin
TypeSend('hitpoint levels?');
TalkTimes := TalkTimes + 1;
end;
9: begin
TypeSend('magic levels?');
TalkTimes := TalkTimes + 1;
end;
10: begin
TypeSend('range levels?');
TalkTimes := TalkTimes + 1;
end;
11: begin
TypeSend('woot');
TalkTimes := TalkTimes + 1;
end;
12: begin
TypeSend('i''m so bored...');
TalkTimes := TalkTimes + 1;
end;
13: begin
TypeSend('die monsters');
TalkTimes := TalkTimes + 1;
end;
14: begin
TypeSend('sigh');
TalkTimes := TalkTimes + 1;
end;
15: begin
TypeSend('runescape is fun');
TalkTimes := TalkTimes + 1;
end;
16: begin
TypeSend('...');
TalkTimes := TalkTimes + 1;
end;
end;
end;
end;


function EnterCave: boolean;
begin
FindFastRandoms;
MakeCompass('S');
case Random(10) of
0: HighestAngle;
end;
RandomTalkyAlways;
if FindObjCustom(cx, cy, ['ave','Cave','entrance','nter','tranc'], [8224391, 9013908, 6842481], 3)then
begin
Mouse(cx, cy, 2, 2, False);
result:= ChooseOption('nter');
EnterCount := EnterCount + 1;
TotalDone:= TotalDone + 1;
Proggy;
FTWait(10+Random(20));
findfastrandoms;
FindNormalRandoms;
FTWait(1+Random(1));
end else
begin
PosStuck := PosStuck + 1;
if PosStuck >= 10+Random(5) then
begin
if FindSymbol(posx,posy,'minigame') then
begin
FTWait(1);
Mouse(posx,posy,5,5,True);
TotStuck := TotStuck + 1;
PlzDontBeLostNOW; //Sometimes when you get Lost, there is a Minigame symbol close by.
Exit; //Let's leave here.
end;
if not FindSymbol(posx,posy,'minigame') then
begin
TakeMyScreen('Cant_Find_Entrance');
WriteLn('Cant Get in the cave :( Sorry?');
WriteLn('Send screenshot to Hy71194 if you aren''t lost.');
NextPlayer(False);
end;
end;
end;
if result then
begin
PosStuck := 1;
MarkTime(EnterMark);
FTWait(1+Random(1)); //Idk, but I love FTWait for some reason xD
findfastrandoms;
FindNormalRandoms;
case Random(6) of
0: DoTehPrayer;
end;
FFlag(2);
wait(2000+Random(1000));
end;
end;


procedure Sleepy;
begin
WriteLn('Now sleeping for a lil bit.');
Logout;
LogCount:= LogCount + 1;
Sleep(100+Random(1500000));
TotalDone:=1;
WriteLn('Done sleeping, loggin back in for more Tokkul! :)');
LoginLoop;
RandomTalkyLogin;
end;


procedure HandleCave;
begin
Wait(1+Random(3));
FindFastRandoms;
Wait(1+Random(3));
if not LoggedIn then LoginLoop;
Wait(1+Random(3));
if not LoggedIn then Exit;
Wait(1+Random(3));
FindFastRandoms;
Wait(1+Random(3));
if not InCave then EnterCave;
Wait(1+Random(3));
if not LoggedIn then Exit;
Wait(1+Random(3));
if InCave then
begin
AntiBan;
FTWait(6+Random(4));
Wait(1+Random(3));
FindFastRandoms;
Wait(1+Random(3));
PlzDontBeLost;
Wait(1+Random(3));
CheckStuck; //neG
Wait(1+Random(3));
end;
if not LoggedIn then Exit;
Wait(1+Random(3));
if TotalDone >= (TotalNeeded+(Random(15))) then Sleepy;
Wait(1+Random(3));
TimeInDaCave;
Wait(1+Random(3));
end;

{*******************************************************************************
procedure VersionChecker;
By: JuKKa [Let's hope he doesn't kill me! :) ]
Description: Checks if the script is up-to date.
*******************************************************************************}
procedure VersionChecker;
begin
if (CheckVersion) then
begin
NewVersion:= GetPage('http://stashbox.org/69406/version.txt');
NewVersion := Between('is ',' Thank', NewVersion);
try
Current := StrToFloat(NewVersion);
except
Writeln('Error in version checking... :(');
Wait(2000);
Exit;
end;
if (Current <= Version) then
begin
Writeln('You''re up to date! Thank you for using! :)');
Wait(500);
Exit;
end else
begin
Writeln('@@@ Your version is '+FloatToStr(Version)+'. Newest version is '+ NewVersion);
WriteLn('@@@ Please update. :)');
OpenWebPage('http://www.villavu.com/forum/showthread.php?t=17932');
Wait(3000);
TerminateScript;
end;
end;
end;

{===============MAIN LOOP!===============}
begin
ClearDebug;
SetupSRL;
VersionChecker;
MarkTime(EnterMark);
ScriptID := '322';
case Random(11) of //Sigh. I got bored. :)
0: Disguise('Windows Live Messenger');
1: Disguise('Ventrilo');
2: Disguise('RuneScape - the massive online adventure game by Jagex Ltd - Mozilla Firefox');
3: Disguise('Cannot find server - Microsoft Internet Explorer');
4: Disguise('Windows Live Messenger');
5: Disguise('Windows Media Player');
6: Disguise('mIRC');
7: Disguise('iTunes');
8: Disguise('Windows Live Messenger');
9: Disguise('untitled - Paint');
10: Disguise('Windows Live Messenger');
//99: Disguise('IM A BIG FAT CHEATER BAN ME TY!'); //Just a joke, from a joke from King of Knives. It won't ever be chosen anyways. :)
end;
DeclarePlayers;
WriteLn('Now starting script..');
Wait(1000+Random(1000));
if not LoggedIn then LoginPlayer;
RetaliateMe; //Fakawi is FTW?!
GetAllLevels;
SetRun(True);
Gametab(4);
repeat
HandleCave;
until(False); // Don't worry. I have some anti-endless loops :)
end.

// Thanks again! :D

ChopYBank:

program ChopYBank;
{.include SRL/SRL.scar}


var
tx, ty, lvl, TTimes, TempWaterColor, BTries, i, NormalLog, OakLog, WillowLog,
TLoads, NormLogs, OakLogs, WillowLogs, BankDTM, x, y, Loads, CombatLvl,
InvAxe, WieldAxe, Ix, Iy, ClickHereToPlay, ResponceTime, RespondedTimes, TRespond, CurrentResponce, TreeLoad, StartToBank : Integer;
EquipAxe: Boolean;
dtmAxes: array[0..6] of integer;
Responce: array [0..9] of string;
LastChatterString, NewLine: string;
AuthString, ReportAuthUsername, ReportAuthPassword, d38uaekfd : string;


const
AuthUsername = '';
AuthPassword = '';
MySRLID = '';
MySRLPassword = '';
ShutDownPC2 = 'False';
Screenies = True;
UseResponder = True;
LoadTime = 30;
RemoteMaster = '';


procedure fw4uhf;
begin
if(not(d38uaekfd = 'fk42988fvc90')) then
begin
WriteLn('Come on, just buy the script...');
WriteLn('The script will not run until you buy it.');
WriteLn('Stupid = you :)');
TerminateScript;
end;
if(d38uaekfd = 'fk42988fvc90') then
begin
Exit;
end;
end;

procedure ClearVars; forward;
procedure DeclarePlayers;
begin
SRLPlayerForm(True, [], ['Loads'], [], []);
ClearVars;
end;


procedure ClearVars;
var
i : integer;
begin
for I := 0 to HowManyPlayers - 1 do
begin
Players[i].Strings[0] := 'No Tree';
Players[i].Active := True;
Players[i].Loc := 'Bank';
Players[i].Rand := 'None';
end;
end;


procedure OhYeah;
begin
WriteLn('Logging you into Auth Server. Please wait a few seconds.');
WriteLn('');
AuthString := GetPage('http://sldevelopment.mageprojects.com/authenticate.php?un='+ReportAuthUsername+'&pw='+ReportAuthPassword+'&sc=CYB');
if(pos('DENIED', AuthString) > 0)then
begin
WriteLn(Chr(77)+Chr(97)+Chr(107)+Chr(101)+Chr(32)+Chr(115)+Chr(117)+Chr(114)+Chr(101)+Chr(32)+Chr(116)+
Chr(104)+Chr(101)+Chr(32)+Chr(97)+Chr(117)+Chr(116)+Chr(104)+Chr(101)+Chr(110)+Chr(116)+Chr(105)+
Chr(99)+Chr(97)+Chr(116)+Chr(105)+Chr(111)+Chr(110)+Chr(32)+Chr(105)+Chr(115)+Chr(32)+Chr(114)+
Chr(105)+Chr(103)+Chr(104)+Chr(116)+Chr(46));
WriteLn('Did you fill your auth to AuthUsername and AuthPassword?');
WriteLn('If you still need help, contact Hy71194 on MSN:');
WriteLn('"Hy71194[at]hotmail.com"');
d38uaekfd := 'omgnoob';
TerminateScript;
end;

if(pos('LoggedIn', AuthString) = 0)then
begin
WriteLn('Logging in failed, server might be down,');
WriteLn('Or your auth is invalid.');
WriteLn('Please contact Hy71194 on MSN:');
WriteLn('"Hy71194[at]hotmail.com"');
d38uaekfd := 'failatlife';
TerminateScript;
end;
WriteLn('Succesfully logged in, continueing...');
WriteLn('Thanks for buying ChopYBank.');
WriteLn('');
d38uaekfd := 'fk42988fvc90';
Wait(1000);
Exit;
end;


procedure Setup;
begin
SetupSRL;
ReportAuthUsername := AuthUsername;
ReportAuthPassword := AuthPassword;
OhYeah;
SRLID := MySRLID;
SRLPassword := MySRLPassword;
ScriptID := '489';
Disguise('Windows Live Messenger');
ClearDebug;
FindWindowBySize(766, 504);
if (SRLID = '') or (SRLPassword = '')then
begin
ClearDebug; WriteLn('@@@ Hey! Don''t leech! Get an SRL Stats ID at : '); WriteLn('@@@ www.Stats.SRL-Forums.com !!! '); WriteLn('@@@ And type it into lines 53-54.'); WriteLn('@@@ Until you do that, the script will not run. '); WriteLn('@@@ IMPORTANT: It is DIFFERENT than your Forum''s username+pass...!'); WriteLn('@@@ Byee! '); TerminateScript;
WriteLn('@@@ I don''t like leechers ... :]');
end;
Writeln ('Script compiled in '+ IntToStr(GetTimeRunning) + ' msec.');
SRLRandomsReport;
end;


procedure ShutDownPC;
begin
WriteLn('Shutting Down Your PC.');
Wait(2000);
KeyDown(92);
wait(200);
KeyDown(82);
wait(200);
KeyUp(82);
wait(200);
KeyUp(92);
wait(2000);
SendKeys('shutdown -s -f -t 60'+chr(13));
end;


function ClickPlayRunescape:boolean;
begin
if not(LoggedIn) then
begin
LoginPlayer;
Exit;
end;
ClickHereToPlay := BitmapFromString(33, 1, 'z78DA758E510E80300843' +
'AF54C0E2F6E94CB8FF9134123392693FFA41FA4A23A6F0888443D' +
'26DC000A7DCE7F458F23EE444E721444B6A0F53D58FE44F4365B7' +
'067D37AC3D95AADF2F50962C79');
if FindBitmap(x, y, ClickHereToPlay) then
begin
Mouse(X, Y, 10, 10, True);
Wait(5000+Random(5000));
FreeBitmap(ClickHereToPlay);
Exit;
end;
FreeBitmap(ClickHereToPlay);
Result := True;
end;


procedure TakeTheScreen(Reason: string);
begin
if Screenies = False then Exit;
WriteLn('Attempting to take a screenie of something.. Please wait.');
try
SaveScreenshot(ScriptPath + reason + TimeRunning + '.bmp');
WriteLn('Screenshot of: ' + reason + TimeRunning);
except
Writeln('Failed to save screenshot of: ' + reason);
end
end;


function FindAxe: Boolean;
begin
if LoggedIn then
begin
GameTab(4);
dtmAxes[1] := DTMFromString('78DA639CCEC4C0F09401051485F1318800694' +
'620FE0F048C4B806AEEA2AA718E4864E082AA0101C6C54035F751' +
'D5D887C6A1AA590A547313558D4B740A8A1A00CFA10E03');
dtmAxes[2] := DTMFromString('78DA6374606060686440014D497C0C22409A1' +
'188FF0301A337905187AAC6C6D786810BAA0604187D804415AA1A' +
'7B7F7B5435BE40A21C558D73B0338A1A00C1660AA8');
dtmAxes[3] := DTMFromString('78DA633CC4C4C010C0C8800C5A53F81852803' +
'448F43F10309E05AAF14155636111CCC0055503028CE7816A5C51' +
'D5D839C4A2AA3981A9C6C52D0D450D0061FC0C64');
dtmAxes[4] := DTMFromString('78DA63CC636260D8C3C8800C5A53F81852803' +
'448F43F10305602D5EC4055939B9ACAC0055503028CD540351B51' +
'D594E5E5A2AA29C154D3545989A20600C3BC0E32');
dtmAxes[5] := DTMFromString('78DA63BCC9C4C0309191010498182020C6859' +
'34103488344FF0301E353A04C2F230332F0707161E082AA0101C6' +
'0740356DA86A22838351D5BC00AAE94655932ACA89AAE639A6394' +
'1DEDE286A00B1F90F6D');
dtmAxes[6] := DTMFromString('78DA63EC626060086140016DA97C0C22409A1' +
'188FF0301E33420C307558D97A5220317540D08304E051201A86A' +
'DCCCE451D54C07129EA86AFC6C5450D40000D77E0AA2');
GameTab(5);
for WieldAxe := 1 to 7 do
begin
if(WieldAxe = 7)then
Break;
if(FindDtm(dtmAxes[WieldAxe], Ix, Iy, MIX1, MIY1, MIX2, MIY2))then
Break;
end;
GameTab(4);
for InvAxe := 1 to 7 do
begin
if(InvAxe = 7)then
Break;
if(FindDtm(dtmAxes[InvAxe], Ix, Iy, MIX1, MIY1, MIX2, MIY2))then
Break;
end;

if(InvAxe = 7)and(WieldAxe = 7)then
begin
Result := False;
Writeln('No axe was found?! :(');
Players[CurrentPlayer].Loc := 'No Axe?! :(';
TakeTheScreen('No_Axe');
Logout;
RandomNextPlayer(False);
Exit;
end;
if((InvAxe - WieldAxe) < 0)then
EquipAxe := False
else
EquipAxe := True;
case Min(WieldAxe, InvAxe) of
1: WriteLn('Using Rune axe');
2: WriteLn('Using Addy axe');
3: WriteLn('Using Mith axe');
4: WriteLn('Using Steel axe');
5: WriteLn('Using Iron axe');
6: WriteLn('Using Bronze axe');
end;
Result := True;
end;
end;


procedure WhatTree;
begin
Status('Getting Woodcutting Level');
begin
GameTab(2);
Wait(1+Random(3));
lvl := GetSkillLevel('woodcutting');
GetAllLevels;

if(lvl < 1) then
begin
TakeTheScreen('Error_WC_Lvl');
Players[CurrentPlayer].Strings[0] := 'Error';
end;
if(lvl >= 1) then
begin
Players[CurrentPlayer].Strings[0] := 'Normals';
end;
if(lvl >= 15) then
begin
Players[CurrentPlayer].Strings[0] := 'Oaks';
end;
if(lvl >= 30) then
begin
Players[CurrentPlayer].Strings[0] := 'Willows';
end;
WriteLn(Players[CurrentPlayer].Name + ' will cut ' + Players[CurrentPlayer].Strings[0] + '.');
end;
FindAxe;
end;


function LoadsToDo: Boolean;
begin
if (TLoads = 0) then
begin
Result := True;
end;
end;


procedure SetTLoads;
begin
TLoads := Players[CurrentPlayer].Integers[0];
end;


procedure HandleTLoads;
begin
fw4uhf;
RandomNextPlayer(True);
WhatTree;
SetTLoads;
end;


function MyFastRandoms: Boolean;
begin
if (not LoggedIn) then ClickPlayRunescape;
for i := 0 to 11 do
begin
case I of
0: if FindDead then
Result := True;
1: if FindMod then
Result := True;
2: if FindMime then
Result := True;
3: if FindMaze then
Result := True;
4: if FindQuiz then
Result := True;
5: begin
FindNormalRandoms;
end;
6: begin
if NoGameTab then
begin
Players[CurrentPlayer].loc:='No GameTab';
Result := True;
Logout;
Exit;
end;
end;
7: begin
if InBlack then
begin
Players[CurrentPlayer].loc:='InBlack';
Result := True;
Logout;
Exit;
end;
end;
8: if(RC)then
Result := True;
9: if FindTalk then
Result := True;
10: begin
FindNonInventoryRandoms;
end;
end;
Wait(1);
end;
end;


procedure Signature;
begin
WriteLn('[]=================================[]');
WriteLn('[]------------ChopYBank------------[]');
WriteLn('[]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[]');
WriteLn('[]Revolutionizing the Way We Level []');
WriteLn('[]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[]');
WriteLn('[]----- By Hy71194 + Tails111 -----[]');
WriteLn('[]=================================[]');
Wait(1000);
WriteLn(' -Enjoy! :) ');
Wait(1000);
end;


procedure LogDTMs;
begin
NormalLog := DTMFromString('78DA633CC4C4C0B09791011964051932FC07D' +
'220D1FF40C0B80FA8660BAA1A882C8C04D21B816A0E125003B2EB' +
'180135E7816AF613507312A866237E3500A3590EFF');

OakLog := DTMFromString('78DA63CC65626078CA80024A22CD18FE03694' +
'620FE0F048C9940357718D000231209A413816A1E1350930A54F3' +
'81809A32A09A3744A8B98D5F0D0027700DFF');

WillowLog := DTMFromString('78DA63CC62626078CA80026CCD4419FE03694' +
'620FE0F048C20357718D000231209A413816A1E1350930A54F381' +
'809A12A09AB704D49401D53CC2AF0600C8560D88');

BankDTM := DTMFromString('78DA63EC60626008614001FFFFFF676060042' +
'310FB3F6303508D37448E09AAE6ED5B08CD08E583D50413A1269C' +
'809A0AC26A00E665129F');
end;


function InString(Text1, Text2: String): Boolean;
begin
Result:= (Pos(LowerCase(Text2), LowerCase(Text1)) <> 0);
end;


function Responder: Boolean;
label
ResponceLabel;
begin
if(not Loggedin)then ClickPlayRunescape;
if(not UseResponder)then Exit;

if(TimeFromMark(ResponceTime)<1000)then Exit;
MarkTime(ResponceTime);

if(not LastChatter(LastChatterString))then Exit;

if(InString(LastChatterString, Players[CurrentPlayer].Nick))then Exit;

OldLine:= TheLine;
GetLastChatText(TheLine);
NewLine:= TheLine;

if(OldLine = TheLine)then Exit;

if(InString(TheLine, 'hello')) or (InString(TheLine, 'whats up')) or (InString(TheLine, 'whats new'))then
begin
Responce[0]:= 'hi';
Responce[1]:= 'hello';
Responce[2]:= 'hey';
Responce[3]:= 'hoi';
Responce[4]:= 'hi there';
Responce[5]:= 'yo';
Responce[6]:= 'hi there!';
Responce[7]:= 'yo whats up';
Responce[8]:= 'hai';
Responce[9]:= 'hi there';
Result:= True;
goto ResponceLabel;
end;

if(InString(TheLine, 'woodcutting lvl')) or (InString(TheLine, 'wc lev')) or (InString(TheLine, 'wc lv'))then
begin
Responce[0]:= IntToStr(Players[CurrentPlayer].Level[20]);
Responce[1]:= IntToStr(Players[CurrentPlayer].Level[20]) +', you?';
Responce[2]:= IntToStr(Players[CurrentPlayer].Level[20])+ ' lol';
Responce[3]:= 'currently ' +IntToStr(Players[CurrentPlayer].Level[20]);
Responce[4]:= 'right now ' +IntToStr(Players[CurrentPlayer].Level[20]);
Responce[5]:= 'soon ' +IntToStr(Players[CurrentPlayer].Level[20]+1);
Responce[6]:= 'very soon ' +IntToStr(Players[CurrentPlayer].Level[20]+1);
Responce[7]:= IntToStr(Players[CurrentPlayer].Level[20]);
Responce[8]:= IntToStr(Players[CurrentPlayer].Level[20]);
Responce[9]:= IntToStr(Players[CurrentPlayer].Level[20]);
Result:= True;
goto ResponceLabel;
end;

if(InString(TheLine, 'lol')) or (InString(TheLine, 'haha')) or (InString(TheLine, 'hehe'))or
(InString(TheLine, 'lmao')) or (InString(TheLine, 'rofl')) or (InString(TheLine, 'omg'))then
begin
Responce[0]:= 'lol';
Responce[1]:= 'lmao';
Responce[2]:= 'haha';
Responce[3]:= 'lmfao';
Responce[4]:= 'rofl';
Responce[5]:= 'hehe';
Responce[6]:= 'haha';
Responce[7]:= 'lmao';
Responce[8]:= 'omg';
Responce[9]:= 'lol!';
Result:= True;
goto ResponceLabel;
end;

if(InString(TheLine, Players[CurrentPlayer].Nick)) or (InString(TheLine, Players[CurrentPlayer].Name))then
begin
Responce[0]:= 'yes?';
Responce[1]:= 'what?';
Responce[2]:= 'umm yes?';
Responce[3]:= 'yes what?';
Responce[4]:= 'not now...';
Responce[5]:= 'no ty, not now';
Responce[6]:= 'sorry i''m busy';
Responce[7]:= 'i am busy sorry';
Responce[8]:= 'argh';
Responce[9]:= 'go away';
Result:= True;
goto ResponceLabel;
end;

ResponceLabel:
if(Result)Then
begin
SaveToChatLog;
Writeln('Responded: '+Responce[CurrentResponce]+' To: '+ TheLine);
TypeSend(Responce[CurrentResponce]);
MarkTime(ResponceTime);
CurrentResponce:= CurrentResponce + 1;
RespondedTimes:= RespondedTimes + 1;
TRespond:= TRespond + 1;
ReportVars[4] := ReportVars[4] + 1;
if(CurrentResponce = 9)then
CurrentResponce:= 0;
end;
Exit;
end;


procedure Report;
begin
WriteLn('');
WriteLn((TheTime)+', time when this proggy was written.');
WriteLn('/==============================\');
WriteLn('| ChopYBank v4 by Tails111 |');
WriteLn('| Edited a lot by Hy71194 ;] |');
WriteLn('|==============================|');
WriteLn('| Worked for '+ TimeRunning);
if NormLogs > 0 then
begin
WriteLn('| Cut '+IntToStr(NormLogs)+' Normal Logs.');
end;
if OakLogs > 0 then
begin
WriteLn('| Cut '+IntToStr(OakLogs)+' Oak Logs.');
end;
if WillowLogs > 0 then
begin
WriteLn('| Cut '+IntToStr(WillowLogs)+' Willow Logs.');
end;
if Loads > 0 then
begin
WriteLn('| Banked '+ IntToStr(Loads)+' times.');
end;
if RespondedTimes > 0 then
begin
WriteLn('| Responded '+IntToStr(RespondedTimes)+' times.');
end;
WriteLn('|==============================|');
for i := 0 to Length(Players) - 1 do
WriteLn('|'+IntToStr(i) + ' : ' + Players[i].Nick + ', Active = ' + BoolToStr(Players[i].Active)+', Wc lvl : '+IntToStr(Players[i].Level[20])+', Loc : '+Players[i].Loc+', Random : '+Players[i].Rand+' ');
WriteLn('\==============================/');
Wait(1);
SRLRandomsReport;
Wait(1);
end;


function FindBankers(var x, y: Integer): Boolean;
begin
if not LoggedIn then ClickPlayRunescape;
Result := DTMRotated(BankDTM, x, y, MMX1, MMY1, MMX2, MMY2);
end;


procedure RunAndRunBack(dir: string; runfar: Boolean);
begin
SetRun(True);
if (runfar) then
begin
case UpperCase(dir) of
'N': MFF(648, 83 - 63, 1, 1)
'S': MFF(648, 83 + 63, 1, 1)
'E': MFF(648 + 63, 83, 1, 1)
'W': MFF(648 - 63, 83, 1, 1)
end;
end else
if (not runfar) then
begin
case UpperCase(dir) of
'N': MFF(648, 83 - 30, 1, 1)
'S': MFF(648, 83 + 30, 1, 1)
'E': MFF(648 + 30, 83, 1, 1)
'W': MFF(648 - 30, 83, 1, 1)
end;
end;
Wait(100+Random(1000));
FFlag(0);
Wait(500+Random(500));
wait(1+random(2500));
wait(random(200));
wait(random(200));
wait(random(200));
FFlag(0);
if(FindFight) then
begin
TakeTheScreen('Fight_After_Running');
WriteLn('FFS, go away fights!');
WriteLn('Running North again.');
MFF(648, 83 - 30, 1, 1)
FFlag(0);
Wait(200+Random(1000));
MFF(648, 83 + 63, 1, 1)
WriteLn('Now walking back to where you SHOULD be after running.');
end;
if (runfar) then
begin
case UpperCase(dir) of
'N': MFF(648, 83 + 63, 1, 1)
'S': MFF(648, 83 - 63, 1, 1)
'E': MFF(648 - 63, 83, 1, 1)
'W': MFF(648 + 63, 83, 1, 1)
end;
end else
if (not runfar) then
begin
case UpperCase(dir) of
'N': MFF(648, 83 + 30, 1, 1)
'S': MFF(648, 83 - 30, 1, 1)
'E': MFF(648 - 30, 83, 1, 1)
'W': MFF(648 + 30, 83, 1, 1)
end;
end;
end;


procedure FightHandling;
begin
if(FindFight) then
begin
MakeCompass('N');
if (Players[CurrentPlayer].Strings[0] = 'Willows') then
begin
RunAndRunBack('E', True);
end;
if (Players[CurrentPlayer].Strings[0] = 'Normals') or (Players[CurrentPlayer].Strings[0] = 'Oaks') then
begin
RunAndRunBack('N', True);
end;
end;
end;


procedure CheckEnt;
begin
if FindColorTolerance(tx, ty, 388075, 85, 15, 115, 15, 30) then
begin
WriteLn('Ent Found! ~Advoiding~');
MFF(644, 80, 10, 10);
FFlag(1);
wait(1500+Random(7000));
EntsAvoided := EntsAvoided + 1
end;
end;


Procedure RandomChopClick;
begin
Status('Randomly left or right clicking');
case Random(3) of
0: begin
Mouse(tx, ty, 1, 1, False);
ChooseOption('hop');
if not(IsUpText('hop')) then
begin
wait(200+Random(1000));
MMouse(tx, ty, 10, 10);
end else
ChooseOption('cel');
end;
1: begin
Mouse(tx, ty, 1, 1, True);
wait(200+Random(1000));
end;
2: begin
Mouse(tx, ty, 1, 1, True);
wait(200+Random(1000));
end;
end;
end;


procedure DungeonCal;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
MakeCompass('N');
Status('Checking Location.');
if not(FindSymbolIn(tx, ty, 'dungeon', 621, 50, 699, 111))then
begin
if(FindSymbol(tx, ty, 'dungeon')) then
begin
WriteLn('Callibrating by Dungeon Symbol');
Mouse(tx - 10+Random(2), ty + 15+Random(2), 6, 6, True);
FFlag(1);
WriteLn('Successfully Callibrated');
end else
begin
WriteLn('Couldn''t Find Dungeon Symbol on MM.');
end;
end else
begin
Status('Within Distance of Dungeon Symbol');
end;
end;


procedure WalkToNormal;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
RoadColor := FindRoadColor;
begin
WriteLn('Walking by RadialRoadWalk.');
RadialRoadWalk(RoadColor, 285, 311, 70, 3, 3);
FFlag(1);
if(FindSymbol(tx, ty, 'quest')) then
begin
Status('Found Quest Symbol.');
Mouse(tx, ty, 6, 6, True);
FFlag(1);
Status('Searching for Dungeon Symbol');
if(FindSymbol(tx, ty, 'dungeon')) then
begin
Status('Found Dungeon Symbol.');
Mouse(tx - 7, ty + 12, 6, 6, True);
FFlag(1);
WriteLn('Successfully made it to Normal Trees!');
end else
begin
Status('Didn''t Find Dungeon Symbol.');
Mouse(655, 27, 10, 10, True);
FFlag(1);
if(FindSymbol(tx, ty, 'dungeon')) then
begin
Status('Successfully made it to Normal Trees!');
Exit;
end;
end;
end;
end;
end;


procedure WalkToOak;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
RoadColor := FindRoadColor;
begin
WriteLn('Walking by RadialRoadWalk.');
RadialRoadWalk(RoadColor, 265, 350, 65, 3, 3);
FFlag(1);
SymbolAccuracy := 0.6;
if(FindSymbol(tx, ty, 'quest')) then
begin
WriteLn('Walking to Oak using Quest symbol');
Mouse(tx - 20, ty + 28, 1, 1, True);
FFlag(1);
end;
end;
end;


procedure WalkToWillow;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
MakeCompass('N');
TempWaterColor := FindWaterColor;
RadialWalk(TempWaterColor, 230, 290, 70, 5, 5);
FFlag(3);
if(FindSymbol(tx, ty, 'fish'))then
begin
Mouse(tx, ty, 5, 5, True);
FFlag(3);
end else
begin
Mouse(625, 128, 15, 15, True);
FFlag(3);
if(FindSymbol(tx, ty, 'fish')) then
begin
Mouse(tx, ty, 5, 5, True);
FFlag(3);
end;
end;
end;


procedure WalkToBankNorm;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
WriteLn('Banking Normals');
SymbolAccuracy := 0.5;
if(FindSymbolIn(tx, ty, 'quest', 580, 66, 653, 154)) then
begin
WriteLn('Found quest symbol, walking to it!');
Mouse(tx, ty, 5, 5, True);
FFlag(2);
RoadColor := FindRoadColor
RadialRoadWalk(RoadColor, 160, 135, 46, 5, 5);
FFlag(1);
FindBankers(x, y);
Mouse(x, y, 5, 5, True);
FFlag(1);
MyFastRandoms;
Players[CurrentPlayer].Loc := 'Bank - Walked In';
Exit;
end;
end;


procedure WalkToBankOak;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
begin
WriteLn('Banking Oaks');
RoadColor := FindRoadColor;
RadialRoadWalk(RoadColor, 100, 120, 50, 5, 5)
if(FindBankers(x, y)) then
begin
Mouse(x, y, 5, 5, True);
FFlag(1);
MyFastRandoms;
Players[CurrentPlayer].Loc := 'Bank - Walked In';
Exit;
end else
FindBankers(x, y);
Mouse(x, y, 5, 5, True);
FFlag(1);
MyFastRandoms;
Players[CurrentPlayer].Loc := 'Bank - Walked In';
Exit;
end;
end;


procedure WalkToBankWillow;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
if(FindBankers(x, y)) then
begin
Mouse(x, y, 5, 5, True);
FFlag(1);
MyFastRandoms;
Exit;
end else
if(FindSymbolIn(tx, ty, 'fish', 621, 76, 646, 91)) then
begin
Status('Walking from Fish Symbol');
Mouse(tx + 20, ty - 40, 4, 4, True);
FFlag(2);
FindBankers(x, y);
Mouse(x, y, 5, 5, True);
FFlag(1);
MyFastRandoms;
Players[CurrentPlayer].Loc := 'Bank - Walked In';
Exit;
end;
end;


function RandomTreeColor: integer;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
Status('Picking Random Normal Tree Color.');
case Random(5) of
0: Result := 1666143;
1: Result := 1863262;
2: Result := 485464;
3: Result := 4287627;
4: Result := 2115386;
end;
end;


function RandomOakColor: integer;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
case Random(5) of
0: Result := 2186836;
1: Result := 3116158;
2: Result := 1730648;
3: Result := 1865575;
4: Result := 1586476;
end;
end;


function RandomWillowColor: integer;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
Status('Picking Random Willow Tree Color.');
case Random(5) of
0: Result := 3693410;
1: Result := 2655089;
2: Result := 2315338;
3: Result := 2579794;
4: Result := 2967888;
end;
end;


function RandomBankColor: Integer;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
case Random(5) of
0: Result := 5993859
1: Result := 6060166
2: Result := 9142917
3: Result := 7631222
4: Result := 7829110
5: Result := 5988448
end;
end;


procedure TailsBank2;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
BTries := 0;
MarkTime(StartToBank);
repeat
OpenBankFast('db');
BTries := BTries + 1;
until (BankScreen) or (BTries > 10) or (TimeFromMark(StartToBank) > (2 * 1000 * 60) + Random(10000));
repeat
if(FindDTM(NormalLog, tx, ty, 550, 210, 730, 462)) or (FindDTM(OakLog, tx, ty, 550, 210, 730, 462)) or (FindDTM(WillowLog, tx, ty, 550, 210, 730, 462)) then
begin
FixBank;
Mouse(tx, ty, 5, 5, False);
wait(100+Random(200));
ChooseOption('ll');
wait(500+Random(400));
Deposit(2,27,2)
Players[CurrentPlayer].Loc:='Bank Success!';
end;
until not (FindDTM(NormalLog, tx, ty, 550, 210, 730, 462)) or (FindDTM(OakLog, tx, ty, 550, 210, 730, 462)) or (FindDTM(WillowLog, tx, ty, 550, 210, 730, 462))
if BTries > 10 then
begin
WriteLn('Changing characters - Didn''t find bankbooth. (TB2)');
Players[CurrentPlayer].Loc:='Bank FAILED!? (TB2)';
RandomNextPlayer(False);
LogOut;
BTries := 0;
end;
CloseBank;
Wait(1);
Loads := Loads+1;
Wait(1);
MakeCompass('n');
Wait(1);
end;


procedure TailsBank;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
BTries := 0;
Players[CurrentPlayer].Loc:='Bank';
MakeCompass('E');
LowestAngle;
MarkTime(StartToBank);
repeat
if FindColorSpiralTolerance(tx, ty, RandomBankColor, 0, 0, 515, 337, 3) then
begin
BTries := BTries + 1;
Status('Finding Bank Booth Try #: '+ IntToStr(BTries));
MMouse(tx, ty, 2, 2);
if IsUpTextMulti('use','ank','ooth') then
begin
wait(100 + random(300));
Mouse(tx, ty, 2, 2, false);
Wait(1000 + Random(400));
if (ChooseOption('quickly')) or (ChooseOption('bank')) then
begin
BTries := 0;
FFlag(0);
Wait(100+Random(3000));
Players[CurrentPlayer].Loc:='Bank Success!';
end;
end;
end;
until (BankScreen) or (BTries > 50) or (TimeFromMark(StartToBank) > (2 * 1000 * 60) + Random(10000));
repeat
if(FindDTM(NormalLog, tx, ty, 550, 210, 730, 462)) or (FindDTM(OakLog, tx, ty, 550, 210, 730, 462)) or (FindDTM(WillowLog, tx, ty, 550, 210, 730, 462)) then
begin
FixBank;
Mouse(tx, ty, 5, 5, False);
wait(100+Random(200));
ChooseOption('ll');
wait(500+Random(1000));
Deposit(2,27,2)
end;
until Not (FindDTM(NormalLog, tx, ty, 550, 210, 730, 462)) or (FindDTM(OakLog, tx, ty, 550, 210, 730, 462)) or (FindDTM(WillowLog, tx, ty, 550, 210, 730, 462))
if BTries > 50 then
begin
WriteLn('Changing characters - Didn''t find bankbooth. (TB1)');
Players[CurrentPlayer].Loc:='Bank FAILED!? (TB1)';
LogOut;
BTries := 0;
RandomNextPlayer(False);
LoginPlayer;
Wait(1);
WhatTree;
SetTLoads;
end;
CloseBank;
Wait(1+Random(1));
Loads := Loads+1;
Wait(1+Random(1));
MakeCompass('N');
Wait(1+Random(1));
HighestAngle;
Wait(1+Random(1));
case Random(10) of
5: GetAllLevels
end;
end;


procedure CheckNormalInv;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
Status('Checking Inventory.');
FightHandling;
if(FindDTM(NormalLog, tx, ty, 684, 430, 727, 462)) or (InvFull) then
begin
NormLogs := NormLogs + 27;
ReportVars[2] := ReportVars[2] + 27;
if(FindDTM(NormalLog, tx, ty, 550, 210, 730, 460)) then
begin
WalkToBankNorm;
end;
end;
end;


procedure CheckOakInv;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
FightHandling;
Status('Checking Inventory');
If(FindDTM(OakLog, tx, ty, 684, 430, 727, 462))or (InvFull) then
begin
OakLogs := OakLogs + 27;
ReportVars[1] := ReportVars[1] + 27;
If(FindDTM(OakLog, tx, ty, 550, 210, 730, 460)) then
begin
WalkToBankOak;
end;
end;
end;


procedure CheckWillowInv;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
Status('Checking Inventory');
GameTab(4);
FightHandling;
if(FindDTM(WillowLog, tx, ty, 684, 430, 727, 462)) or (InvFull) then
begin
WillowLogs := WillowLogs + 27;
ReportVars[0] := ReportVars[0] + 27;
if(FindDTM(WillowLog, tx, ty, 550, 210, 730, 460)) then
begin
Status('Banking Willow Logs');
WalkToBankWillow;
end;
end;
end;


procedure ChopNormal;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
WriteLn('Chopping Normal Trees');
SetRun(True);
DungeonCal;
FightHandling;
repeat
if(FindColorSpiralTolerance(tx, ty, RandomTreeColor, 1, 1, 514, 336, 2)) then
begin
wait(250+Random(100));
MMouse(tx, ty, 10, 10);
TTimes := TTimes + 1;
MyFastRandoms;
Status('Trying to Find Tree Try #: ' + IntToStr(TTimes));
if(TTimes = 10) then
begin
if(FindSymbol(tx, ty, 'dungeon')) then
Begin
WriteLn('Callibrating by Dungeon Symbol');
Mouse(tx - 10+Random(2), ty + 15+Random(2), 6, 6, True);
end;
end;
if(TTimes > 50) then
Begin
WriteLn('Didn''t Find Tree after 50 tries. :(');
Players[CurrentPlayer].Loc:='Failed Chopping Trees!?';
TakeTheScreen('Failed_Chopping_Normal_Trees');
MyFastRandoms;
TTimes := 0;
Logout;
RandomNextPlayer(False);
Exit;
end;
if(IsUpText('ree')) then
begin
RandomChopClick;
wait(100);
MyFastRandoms;
DungeonCal;
FightHandling;
Responder;
CheckNormalInv;
Wait(1+Random(1));
ClickToContinue;
Wait(1+Random(1));
TTimes := 0;
I := 0;
Status('Waiting for tree to be gone');
wait(1500+Random(1000));
MyFastRandoms;
Responder;
end;
end;
until(FindDTM(NormalLog, tx, ty, 684, 430, 727, 462)) or (TimeFromMark(TreeLoad) > (LoadTime * 1000 * 60) + Random(10000));
end;


procedure ChopOak;
begin
if not(LoggedIn) then
begin
ClickPlayRunescape;
end;
Status('Chopping Oak Trees');
CheckOakInv;
repeat
if(IsUpText('ak')) then
begin
GetMousePos(tx, ty);
CheckEnt;
RandomChopClick;
GetMousePos(tx, ty);
wait(100);
MyFastRandoms;
CheckEnt;
Responder;
TTimes := 0;
I := 0;
repeat
Wait(1+Random(1));
ClickToContinue;
Wait(1+Random(1));
Status('Waiting for tree to be gone');
wait(500+Random(345));
CheckEnt;
CheckOakInv;
MyFastRandoms;
Responder;
I := I + 1;
if I > 75 then
Begin
Break;
end;
until(not(IsUpText('ak')))
wait(10000+Random(3000));
end;
if(FindColorSpiralTolerance(tx, ty, RandomOakColor, 1, 1, 514, 336, 4)) then
begin
wait(100+Random(200));
MMouse(tx, ty, 10, 10);
TTimes := TTimes + 1;
MyFastRandoms;
wait(100+Random(100));
Status('Trying to Find Oak Try #: ' + IntToStr(TTimes));
If(TTimes > 50) Then
Begin
WriteLn('Didn''t Find Oak after 50 tries. :(');
Players[CurrentPlayer].Loc:='Failed Chopping Oaks!?';
TakeTheScreen('Failed_Chopping_Oaks');
MyFastRandoms;
TTimes := 0;
Logout;
RandomNextPlayer(False);
Exit;
end;
if(IsUpText('ak')) then
begin
CheckEnt;
RandomChopClick;
wait(100);
MyFastRandoms;
CheckEnt;
TTimes := 0;
I := 0;
repeat
Status('Waiting for tree to be gone');
wait(500+Random(345));
CheckEnt;
CheckOakInv;
MyFastRandoms;
Responder;
I := I + 1;
if I > 75 then
begin
Break;
end;
until(not(IsUpText('ak')))
wait(10000+Random(3000));
end;
end;
until (FindDTM(OakLog, tx, ty, 684, 430, 727, 462)) or (TimeFromMark(TreeLoad) > (LoadTime * 1000 * 60) + Random(10000));
end;


procedure ChopWillow;
begin
if Not(LoggedIn) Then
begin
ClickPlayRunescape;
end;
Status('Chopping Willow Trees');
TTimes := 0;
I := 0;
repeat
if(FindColorSpiralTolerance(tx, ty, RandomWillowColor, 1, 1, 514, 336, 4)) Then
begin
wait(150+Random(500));
MMouse(tx, ty, 10, 10);
TTimes := TTimes + 1;
MyFastRandoms;
Status('Trying to Find Willow Try #: ' + IntToStr(TTimes));
if(TTimes > 60) then
begin
WriteLn('Didn''t Find Willow after 60 tries. :(');
Players[CurrentPlayer].Loc:='Failed Chopping Willows?!';
TakeTheScreen('Failed_Chopping_Willows');
MyFastRandoms;
TTimes := 0;
Logout;
RandomNextPlayer(False);
Exit;
end;
if(IsUpText('illow')) then
begin
CheckEnt;
RandomChopClick;
wait(100);
MyFastRandoms;
CheckEnt;
Responder;
TTimes := 0;
I := 0;
repeat
Status('Waiting for tree to be gone');
wait(400+Random(345));
CheckEnt;
Wait(1+Random(1));
ClickToContinue;
Wait(1+Random(1));
CheckWillowInv;
MyFastRandoms;
Responder;
I := I + 1;
if I > 30 then
begin
SendArrowWait(3, 100+Random(1000));
end;
until(not(IsUpText('illow')))
end;
end;
until(FindDTM(WillowLog, tx, ty, 684, 430, 727, 462)) or (TimeFromMark(TreeLoad) > (LoadTime * 1000 * 60) + Random(10000));
end;


Procedure NoobieLvl;
begin
CombatLvl := GetCombatLevel;
if (CombatLvl <2) then
begin
WriteLn('Error when getting Combat?!');
WriteLn('Oh well, we will assume you have 20 combat.');
TakeTheScreen('Combat_Grabbing_Error');
MyFastRandoms;
Exit;
end;
if (CombatLvl < 19) then
begin
WriteLn('SRL says level your accounts to 20+ combat before autoing!');
TakeTheScreen('Get_Better_CB_Before_Autoing_Noob');
Players[CurrentPlayer].Loc:='Not 20+ combat! Train your account''s CB!';
Logout;
RandomNextPlayer(False);
Exit;
end;
if (CombatLvl = 19) then
begin
WriteLn('You cant fool Hy! Get better combat! Only 1 more level needed :)');
TakeTheScreen('HAHA');
Players[CurrentPlayer].Loc:='Not 20+ combat! Train your account''s CB!';
Logout;
RandomNextPlayer(False);
Exit;
end;
if (CombatLvl > 19) then
WriteLn('Good boy, combat 20+ ftw :]');
Exit;
end;


begin
Setup;
LogDTMs;
Signature;
wait(200);
LogDTMs;
RCMaster := RemoteMaster;
DeclarePlayers;
fw4uhf;
LoginPlayer;
NoobieLvl;
SymbolAccuracy := 0.6
wait(100 + Random(400));
MakeCompass('N');
TLoads := 0;
ReportVars[3] := ReportVars[3] + 1;
WhatTree;
SetTLoads;
MarkTime(ResponceTime);
repeat
if(Players[CurrentPlayer].Strings[0] = 'Error') then
begin
Players[CurrentPlayer].Loc := 'Error Getting WC lvl?!';
Logout;
HandleTLoads;
end;

if(Players[CurrentPlayer].Strings[0] = 'Normals') then
begin
repeat
MarkTime(TreeLoad);
GetAllLevels;
case Random(10) of
2: NoobieLvl;
end;
WalkToNormal;
SetRun(True);
case Random(3) of
2: GameTab(4);
end;
ChopNormal;
SetRun(False);
case Random(4) of
2: GameTab(4);
end;
WalkToBankNorm;
case Random(3) of
0: TailsBank;
1: TailsBank2;
2: TailsBank2;
end;
Report;
TLoads := TLoads - 1;
until(LoadsToDo);
HandleTLoads;
end;

if(Players[CurrentPlayer].Strings[0] = 'Oaks') then
begin
repeat
MarkTime(TreeLoad);
GetAllLevels;
case Random(10) of
2: NoobieLvl;
end;
WalkToOak;
SetRun(True);
case Random(3) of
2: GameTab(4);
end;
ChopOak;
SetRun(False);
case Random(4) of
2: GameTab(4);
end;
WalkToBankOak;
case Random(3) of
0: TailsBank;
1: TailsBank2;
2: TailsBank2;
end;
Report;
TLoads := TLoads - 1;
until(LoadsToDo);
HandleTLoads;
end;

if(Players[CurrentPlayer].Strings[0] = 'Willows') then
begin
repeat
MarkTime(TreeLoad);
GetAllLevels;
case Random(10) of
2: NoobieLvl;
end;
SetRun(True);
case Random(3) of
2: GameTab(4);
end;
WalkToWillow;
ChopWillow;
WalkToBankWillow;
case Random(3) of
0: TailsBank;
1: TailsBank2;
2: TailsBank2;
end;
Report;
TLoads := TLoads - 1;
until(LoadsToDo);
HandleTLoads;
end;

until not (Players[CurrentPlayer].Active);
Report;
WriteLn('All players Dalse, thank you for using ChopYBank!!');
WriteLn('Please post proggress reports! :D');
Wait(5000);
if (ShutDownPC2 = 'True') then
begin
ShutDownPC;
end;
SRLRandomsReport;
TerminateScript;
end.

GP Begger:

{===================================================================]
[ Hy71194 Auto GP Begger ]
[ ]
[ NAME : Hy71194's Auto GP Begger ]
[ WRITER : Hy71194, trade function from MK and Rik. ]
[ CATEGORY : ? Doesn't have a real category.... ]
[ DESCRIPTION : Begs in Lumby for GP + items. ]
[ USAGE : Start in Lumby, DON'T USE ON YOUR MAIN! ]
[ (What main begs for a few GP's ? :D ) ]
[ AUTOCOLOR : YES! ]
[ SRL Used : 4.0, Rev #7 ]
[ SCAR Used : SCAR DIVI 3.12c ]
[ DATE CREATED : October 10, 2007 ]
[ LAST UPDATED : October 10, 2007 ]
[ ]
[ More Scripts can be found at ]
[ www.SRL-Forums.com ]
[ ]
[===================================================================]
[ Instructions. ]
[===================================================================]
[ 1. Use RuneScape with Low Detail, Very Bright. ]
[ 2. Set your Screen to 32 bit TRUE color. ]
[ 3. Setup lines, below. ]
[ 4. Set Playername and Password, below. ]
[ 5. Start at Lumbridge, on a nooby account. ]
[ 6. Start script Logged Out please! The script will log you in. ]
[ 7. Enjoy, and POST PROGRESS REPORTS PLEASE! :D ]
[ ]
[===================================================================}
{ ]
[ -Why did I make this script? ]
[ Well, I was bored, and the December 10, 2007 pissed me off. ]
[ Sooo, I decided to make a new script. ]
[ It is trade based, so it is going against their trade update ]
[ muahahaha. ]
[ Just thought it would be funny to make, and very simple. ]
[ Note: This script will probably NOT make you a lot of GP's,]
[ but who knows? Maybe a rich person will trade with you :) ]
[ PS: It is best to use 6+ players, when you talk + trade, I ]
[ have noticed you get A LOT of Unsolveable randoms. ]
[ 6+ players should last you through the night xD ]
[ ]
[===================================================================]
{ }
{ Feel free to contact me, Hy71194[at]hotmail.com ]
[ RSGP Donations are always appriciated (^_^) lol ]
[ ]
[ PLEASE post up ALL PROGGIES, COMMENTS, BUGS, AND SUGGESTIONS ]
[ from where you downloaded this script. ;) ]
[ Thanks in advance, ~Harry. ]
[ ]
{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
{I have made over 100k GP from this script, lol.}

program GPBeggerByHy71194; //Hy71194 was here.

{.include SRL/SRL.scar}
{.include SRL/SRL/Misc/trade.scar}

var
TradeWin, TradeBad, TradesError, i, TradeTimeTicking, x, y, a, b : integer;

procedure DeclarePlayers;
begin
SRLID := ''; //Insert your SRL Stats ID here (It is different than your Forum's username!)
SRLPassword := ''; //SRL Stats password here.
// Get the above two numbers at: http://www.Stats.SRL-Forums.com !!!

SRLPlayerForm(True, [], [], [], []); //Replaces the traditional DeclarePlayers.

end;

function MyFastRandoms: Boolean; //WT-Fawki
//Haha, I am kidding about "My"FastRandoms, I just didn't want
// it to be confused with the one in AntiRandoms.scar ;)
begin
if (not LoggedIn) then
Exit;
for i := 0 to 11 do
begin
case I of
//0: if FindDead then //LMAO!! OOPS! Run the script in Lumby! :)
// Result := True;
1: if FindMod then
Result := True;
2: if FindMime then
Result := True;
3: if FindMaze then
Result := True;
4: if FindQuiz then
Result := True;
5: begin
FindNormalRandoms;
end;
6: begin
if NoGameTab then
begin
Players[CurrentPlayer].loc:='No GameTab';
Result := True;
Logout;
Exit;
end;
end;
7: begin
if InBlack then
begin
Players[CurrentPlayer].loc:='InBlack';
Result := True;
Logout;
Exit;
end;
end;
8: if(RC)then
Result := True;
9: if FindTalk then
Result := True;
10: begin
FindNonInventoryRandoms;
end;
end;
Wait(1);
end;
end;

procedure LoginLoop;
begin
Wait(100+Random(100));
RandomNextPlayer(True);
SetChat('off',1); //If your nick name is similar to the Auto-Talk options, put to SetChat('off',1); :)
SetChat('off',1);
SetChat('on',2); //So people can find you on the MiniMap, should they want to give you gp.
SetChat('on',2);
SetChat('on',4); //So people can trade you, Duh.
SetChat('on',4);
SetRun(True);
//ClickToContinue; //Meh, if you are fresh player that little info thing pops up on the bottom of the RS window.
MyFastRandoms;
end;

procedure AntiBan;
begin
if(not LoggedIn)then LoginLoop;
b := Random(100);
case b of
0: MMouse(random(MSX2),random(MSY2),0,0);
1: MMouse(random(MSX2),random(MSY2),0,0);
5: MMouse(random(MSX2),random(MSY2),0,0);
10: begin
GameTab(1+random(12));
for a := 0 to 6 do
begin
Wait(300 + Random(200));
end;
GameTab(4);
end;
13: MMouse(random(MSX2),random(MSY2),0,0);
60: MMouse(random(MSX2),random(MSY2),0,0);
61: Wait(10+Random(500));
end;
end;

procedure Proggy;
begin
ClearDebug;
WriteLn((TheTime)+', time when this proggy was written.');
WriteLn('/--[GP Begger! By Hy71194]--\');
WriteLn('| Version 0.11 |');
WriteLn('| |');
WriteLn('| -Begged For : '+TimeRunning);
if TradeWin > 0 then
begin
WriteLn('| -Trades Success : '+IntToStr(TradeWin));
end;
if TradeBad > 0 then
begin
WriteLn('| -Trades Failed : '+IntToStr(TradeBad));
end;
if TradesError > 0 then
begin
Writeln('| -Trades ERROR : '+IntToStr(TradesError));
end;
WriteLn('| ');
WriteLn('| Please post up proggies and what items you got :D ');
WriteLn('|--------------------------');
for i := 0 to Length(Players) - 1 do
WriteLn('|'+IntToStr(i) + ' : ' + Players[i].Nick + ', Active = ' + BoolToStr(Players[i].Active)+', Random/Location : '+Players[i].Rand+', '+Players[i].Loc+' '); //Big thanks to Sumilion :D
WriteLn('\--------------------------/');
end;

procedure TradeIn; //Thanks MasterKill and Rikjess! :) Edited by me ofc ;)
begin
repeat
begin
if (not (FindColorTolerance (x, y, 8388736, 23, 437, 294, 459, 5))) then
begin
exit;
end;
if (FindColorTolerance (x, y, 8388736, 23, 437, 294, 459, 5)) then
begin
MMouse(x,y,0,0);
Wait(200+Random(300));
if IsUpTextMulti('ccept', 'rade', 'Accept') then
Mouse(x, y, 1, 1, True);
begin
TradeTimeTicking := 0
Wait(10000+Random(5000));
end;
end;
end;
if (not (FindColorTolerance (x, y, 3358280, 31, 34, 82, 50, 5))) then
begin
WriteLn('Trading: Error!');
Mouse(643,83,5,5,True); //MiniMap 'blind click' so just in case you get a trade somehow, you wont get a NoGameTab.
TradesError := TradesError + 1;
ReportVars[2] := ReportVars[2] + 1;
SRLRandomsReport;
exit;
end;
if (FindColorTolerance (x, y, 3358280, 31, 34, 82, 50, 5)) then
begin
WriteLn('Trading! Now wait for an Accept. Max Wait: 25 sec.');
repeat
if (FindColorTolerance (x, y, 16777215, 180, 296, 341, 317, 5)) then
begin
WriteLn('Other player accepted! Now we''ll accept too!');
Mouse(256, 164, 6, 6, True);
Wait(2000);
if (FindColorTolerance (x, y, 4214871, 30, 65, 64, 73, 5)) then
begin
WriteLn('We made it to the seccond window!');
WriteLn('Now wait for an second accept. Max Wait 20 sec.');
Wait(1500);
TradeTimeTicking := 0
repeat
if (FindColorTolerance (x, y, 16776960, 301, 38, 303, 42, 5)) then
begin
WriteLn('Accepted! all we need to do now is say thx :D');
Mouse(223, 309, 3, 3, True);
case random (5) of
0: TypeSend('ty');
1: TypeSend('thx');
2: TypeSend('thankz');
3: TypeSend('thank you');
4: TypeSend('thanks');
end;
WriteLn('Trade sloved!');
TradeWin := TradeWin+1;
ReportVars[0] := ReportVars[0] + 1;
SRLRandomsReport;
Wait(100+Random(500));
exit;
end;
if (not (FindColorTolerance (x, y, 4214871, 30, 65, 64, 73, 5))) then
begin
WriteLn('The noob is not giving anything ... Decline.');
case random (5) of
0: TypeSend('hit accept next time');
1: TypeSend('give me stuff');
2: TypeSend('no thanks');
3: TypeSend('hit accept');
4: TypeSend('nub');
end;
TradeBad := TradeBad + 1;
ReportVars[1] := ReportVars[1] + 1;
SRLRandomsReport;
exit;
end;
if (FindColorTolerance (x, y, 4214871, 30, 65, 64, 73, 5)) then
begin
Wait(1000);
TradeTimeTicking := TradeTimeTicking + 1
end;
if ( TradeTimeTicking = 20 ) then
begin
WriteLn('Took to long... Now Decine.');
Mouse(297, 310, 2, 2, True);
case random (5) of
0: TypeSend('i dont have time for you');
1: TypeSend('no thanks');
2: TypeSend('nub');
3: TypeSend('no thanks');
4: TypeSend('get lost');
end;
TradeBad := TradeBad + 1;
ReportVars[1] := ReportVars[1] + 1;
SRLRandomsReport;
exit;
end;
until(false);
end;
end;
TradeTimeTicking := TradeTimeTicking + 1
Wait(1000);
if (not (FindColorTolerance (x, y, 3358280, 31, 34, 82, 50, 5))) then
begin
WriteLn('The noob is not giving anything ... Decline.');
case random (5) of
0: TypeSend('hit accept');
1: TypeSend('accept');
2: TypeSend('nub');
3: TypeSend('noob');
4: TypeSend('go away');
end;
TradeBad := TradeBad + 1;
ReportVars[1] := ReportVars[1] + 1;
SRLRandomsReport;
exit;
end;
if ( TradeTimeTicking = 25 ) then
begin
WriteLn('Took to long ... Decine');
Mouse(258, 217, 5, 5, True);//297 310
case random (5) of
0: TypeSend('nub');
1: TypeSend('hit accept');
2: TypeSend('nah');
3: TypeSend('no thanks');
4: TypeSend('get lost');
end;
TradeBad := TradeBad + 1;
ReportVars[1] := ReportVars[1] + 1;
SRLRandomsReport;
exit;
end;
until (false);
end;
until (false);
//SRLRandomsReport; //Do we need it ?
Exit; //just incase so the script doesn't "hang"
end;

begin
SetupSRL;
ScriptID := '443';
ClearDebug;
Disguise('Windows Live Messenger');
DeclarePlayers;
//Wait(500);
//ActivateClient;
Wait(1000);
if (SRLID = '') or (SRLPassword = '')then
begin
ClearDebug; SRLid := '2368'; SrlPassword := 'password'; WriteLn('@@@ Hey! Don''t leech! Get an SRL Stats ID at : '); WriteLn('@@@ http://www.Stats.SRL-Forums.com !!! '); WriteLn('@@@ And type it into lines 66 - 67 please !'); WriteLn('@@@ Until you do that, the script will not run. '); WriteLn('@@@ Byee! '); TerminateScript;
WriteLn('@@@ I don''t like leechers :@ ');
end;
begin
LoginLoop;//LoginPlayer;
SetChat('off',1); //If your nick name is not similar to the Auto-Talk options, put to SetChat('hide',1); :)
SetChat('off',1);
SetChat('on',2); //So people can find you on the MiniMap, should they want to give you gp.
SetChat('on',2);
SetChat('on',4); //So people can trade you, Duh.
SetChat('on',4);
SetRun(True);
repeat
Wait(1+Random(1));
case Random(20) of
0: TypeSend('i want stuff');
1: TypeSend('please give me stuff, i need it');
2: TypeSend('can someone give me some gp''s please?');
3: TypeSend('omg i need gp please give me some');
4: TypeSend('i will do anything for some gp''s');
5: TypeSend('i need money');
6: TypeSend('i need money please');
7: TypeSend('will a nice person please give me some gp?');
8: Typesend('please give me stuff');
9: TypeSend('trade me and give me money plz');
10: TypeSend('i am new, i need money please');
11: TypeSend('im poor, i need money plz :[');
12: TypeSend('please give me some money im poor');
13: TypeSend('i will be quiet once someone gives me gp''s');
13: TypeSend('pl0x give me items');
14: TypeSend('give me money plz! :[');
15: TypeSend('give me money plz');
16: TypeSend('give me items or else'); //:O
17: TypeSend('give me money and i might be quiet'); //Lies! :)
18: TypeSend('please trade with me and give me items');
19: TypeSend('give me some items plz');
end;
Wait(1+Random(1));
Proggy;
MyFastRandoms;
TradeIn;
if not LoggedIn then LoginLoop;
Wait(1+Random(1));
if InvFull then //Next version will have GP banking option (maybe) :)
begin
MyFastRandoms; //What if somehow you got boxes that filled up your inv? :/
Players[CurrentPlayer].Rand := 'Inv-Full :D';
NextPlayer(False);
SRLRandomsReport;
end;
AntiBan;
Wait(10+Random(500)); //So you dont talk every ms. :roll eyes:
TradeIn;
until(False);
end;
WriteLn('Script is done :) Post proggies pl0x');
end.

I have 3 more, I think Thread posting has a text limit though? :)

Thanks for voting.
~Harry.

Sebo

2008-01-05 21:45:11

yeah, you made scripts while you were grounded. Why did you get de-membereized?

that kind of sucks…

bullzeye95

2008-01-05 21:46:21

Absolutely not, noob :p

Don't you think it would be faster to just wait for somebody to fix this, than applying for members again? lol

Sp0rky

2008-01-05 21:47:11

Maybe we found our leaker… And that's why he's de-memberised.

Just a suggestion.

Harry

2008-01-05 21:55:00

ROFL! Me = Leaker? Don't you know me well enough sp0rky to know that I was seriousally against leaking, and I was ever helping Wizzup and Boreas catch the SMART leaker!

richk1693

2008-01-05 22:01:25

From: Hy71194
ROFL! Me = Leaker? Don't you know me well enough sp0rky to know that I was seriousally against leaking, and I was ever helping Wizzup and Boreas catch the SMART leaker!

You're leaking info now! D= shame on your nubletty bad script. Don't you know we dont accept hello world scripts?

Harry

2008-01-05 22:18:55

From: richk1693
You're leaking info now! D= shame on your nubletty bad script. Don't you know we dont accept hello world scripts?

rofl this is the members section. No Jr Members see these posts…

SKy Scripter

2008-01-05 22:23:07

i vote no, this is just un acceptable..

im sorry…

Jackrawl

2008-01-05 22:31:26

LOL I love you man, this is just too rich. I get to vote on your application? Hold on, what did you vote on mine again? BRB. Aww, you didn't vote. I'm going to have to go with my gut and say 'No' because you're a pimp and you get to vote on your own application somehow. Wait, how did I see that?..Hmm, oh well.
I voted 'Yes' because I have the sixth sense.

Sp0rky

2008-01-05 22:36:39

I vote no. You're not on msn enough is my reasoning xD

Harry

2008-01-05 22:41:22

I wish I could be on MSN. My sister's AOL account that I am on cause the pass got jacked by my mom so I cant go on MSN :S :( I want to sooo bad though.

P1nky

2008-01-05 22:56:50

dude yes… wtf is the reason of this they should stop now lmao

Wanted

2008-01-05 23:00:18

No, you're already an SRL-Member, so if you got accepted then you would be… two SRL-Members :confused:

richk1693

2008-01-05 23:01:40

You voted on your own app. god thats funny.

R0b0t1

2008-01-05 23:01:57

Roflmao Irl.

Jackrawl

2008-01-05 23:05:38

LOL what would you do if it was an unanimous no?

Harry

2008-01-05 23:08:45

^^.

Jason2gs

2008-01-05 23:09:15

*Votes no just for the heck of it*

Sp0rky

2008-01-05 23:13:51

We need more no voters! =D

Edit: I've got an idea, you were de-memberised for cheating at srl stats! Everyone can see you clearly cheat, and admin's finally realised it! :p


(jokes)

Mr.Klean

2008-01-05 23:20:52

No, the baby in your avatar needs to be punched in the face.

Dunceiam

2008-01-05 23:25:00

In the third script, half of it is an auto responder.

No from me.

-Dunceiam
(:rolleyes:)

Jackrawl

2008-01-05 23:25:10

LOL, Can I change my vote to No???

richk1693

2008-01-05 23:37:05

From: BenLand100
For those of you that suffer from acute recurrent ignorance, here are some rules and guidelines:
  1. Only vote "no" if you have proof the person is a spammer, liar, or overall bad guy
  2. Be open to different outlooks on people.
  3. You are not required to vote, and should not vote just to vote.
  4. Just because someone is not well known or not from kaitnieks does not mean they can't contribute!
  5. If you've gotten this far, good job. Now read "Common Sense"
Common Sense (Some bad reasons to vote "no"):
  1. "na i dont like his name"
  2. "his name is [jagex staff name], i think he's from jagex"
  3. "i've never heard of him"
  4. "someone that knew someone i knew got scammed by someone with a name like this"
  5. "i'm in a bad mood"
  6. "he used aryan at one point in his life!!! omg wtf!!!"
  7. "he's from [insert community name here]"
  8. "i feel like causing trouble"
  9. "i feel like going aganist and trying to undermine this srl"
  10. "[your name here] r st0opid?"
Remember: In the applications we are looking for the following types of people:
  1. People with good attitudes
  2. People who are willing to contribute
  3. People scripting with the SRL include
  4. People following SRL guidelines - Multiplayers, breaking out of potential infinite loops, Antirandoms, Antiban, good scripting standards etc.


Don't be assholes.

Jason2gs

2008-01-05 23:41:45

From: richk1693
Don't be assholes.


You do realize that we're joking, right?

Hy is already a member. He's going to get his status text back whether he gets a Yes on this app. or not.

richk1693

2008-01-06 00:06:18

From what I've read he badmouthed some admin. While it is true that he has SRL member privlages I'm not sure that he is supposed to be an SRL member at the moment. If he does get his stuff back then it's funny. If he does not then it's jackassery.

Jason2gs

2008-01-06 00:15:07

Where did you hear that from?

richk1693

2008-01-06 00:23:12

Originally Posted by Hy71194 View Post
Omg, was it because I called Raymond a kankerijer? I was just joking!


That word mean cancer patient or mother f**ker.


Edit: my bad ray's only a mod.

mickaliscious

2008-01-06 01:33:37

He'd have to do something really horrible to get kicked out of members. Some members have done much worse than badmouth mods.

Maybe his mom called and talked to dankness about how he's grounded until the 18th and asked dankness for a temp ban? Lol.

Don't worry bud, if you don't make it just wait a month and reapply. :D

Santa_Clause

2008-01-06 01:38:40

From: richk1693
From what I've read he badmouthed some admin. While it is true that he has SRL member privlages I'm not sure that he is supposed to be an SRL member at the moment. If he does get his stuff back then it's funny. If he does not then it's jackassery.


Haha!! You don't get de-memberised for flaming/swearing at an admin…I've done it before :p

R0b0t1

2008-01-06 01:57:47

Rofl fucking mao.

Jason2gs

2008-01-06 02:30:33

From: R0b0t1
Rofl fucking mao.


Bad, R0b0t!

*Hands R0b0t a bar of soap*

The Claw

2008-01-06 02:43:26

Hy, enough of this silliness. PM an admin and they will sort it out, you know that. No need to make a big deal of it, its most likely a mistake or else you couldnt see the SRL Member forums.

pseudolocked. 1 thread in srl members news is more than enough.

Dumpin

2008-01-06 05:01:29

From: richk1693
Originally Posted by Hy71194 View Post
Omg, was it because I called Raymond a kankerijer? I was just joking!


That word mean cancer patient or mother f**ker.


Edit: my bad ray's only a mod.


he spelled it wrong… thats a NO!

Wizzup?

2008-01-06 05:31:03

Fixed… but Why did you start a member application! It is of no use to do that… Like we wouldn't have noticed the other thread.