FrÕzÑ_§ÕµL
2007-11-26 23:36:49
<!– BEGIN TEMPLATE: formanswers –>
Fr0zn S0ul - SRL Member Application Form
Fr0zn S0ul
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Some VB
Other Communitys
How Long have You Played Runescape
5 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
The first script I used was Azzons GnomeAgilityRunner. However Azzon left the forums and SRL 4 came out. With no one to update it, I asked him for permission and set out to do it. Since it was my first script, it wasn't an easy job. However the end result (Link below) is quite good and works efficiently. Most of it is unfortunately not from the original script, as I have found more and more ways to improve it :p I then decided to make a script wholly my own. I wrote it at home and at school, spending all my time on it. The current product (I say that a script can always be improved!) is attached below.
Some of you may know that I have applied before. However last time the Autopoll didn't work and in the end no admin replied to say whether I had been accepted or not. So another month has passed, and now here we are, with a VERY much improved script!
I hope you enjoy it! (The link to the thread is also in my sig).
Azzons GnomeAgilityRunner: http://www.villavu.com/forum/showthread.php?t=16551
Tree Chopper: http://www.villavu.com/forum/showthread.php?t=18498
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
Fr0zn S0ul - SRL Member Application Form
Fr0zn S0ul
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Some VB
Other Communitys
How Long have You Played Runescape
5 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
The first script I used was Azzons GnomeAgilityRunner. However Azzon left the forums and SRL 4 came out. With no one to update it, I asked him for permission and set out to do it. Since it was my first script, it wasn't an easy job. However the end result (Link below) is quite good and works efficiently. Most of it is unfortunately not from the original script, as I have found more and more ways to improve it :p I then decided to make a script wholly my own. I wrote it at home and at school, spending all my time on it. The current product (I say that a script can always be improved!) is attached below.
Some of you may know that I have applied before. However last time the Autopoll didn't work and in the end no admin replied to say whether I had been accepted or not. So another month has passed, and now here we are, with a VERY much improved script!
I hope you enjoy it! (The link to the thread is also in my sig).
Azzons GnomeAgilityRunner: http://www.villavu.com/forum/showthread.php?t=16551
Tree Chopper: http://www.villavu.com/forum/showthread.php?t=18498
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\ Fr0zn S0ul's Multi-Tree Chopper Banker~Dropper \\//\\//\\//\\}
{//\\//\\//\\// Version: 2.4 //\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
{//\\//\\//\\ Hi, thanks for using my script. If you have any \\//\\//\\//}
{\\//\\//\\// questions, problems or suggestions, feel free to //\\//\\//\\}
{//\\//\\//\\ contact me at SRL Forums. I recommend using mozilla \\//\\//\\//}
{\\//\\//\\// firefox as the script runs much better on it. You //\\//\\//\\}
{//\\//\\//\\ can download it from [url]www.mozilla.com[/url]. \\//\\//\\//}
{\\//\\//\\// Read my instructions and hints carefully! //\\//\\//\\}
{//\\//\\//\\ Make sure you set up the script in lines 82 - 158. \\//\\//\\//}
{\\//\\//\\// Read my instructions and hints carefully! //\\//\\//\\}
{\\//\\//\\// Run RuneScape in your internet browser on low detail.//\\//\\//\\}
{//\\//\\//\\ Do not use clients! \\//\\//\\//}
{\\//\\//\\// Make sure your brightness is set to max. //\\//\\//\\}
{//\\//\\//\\ Start script by the tree, not in bank! (View tree \\//\\//\\//}
{\\//\\//\\// locations at this scripts thread on SRL forums) //\\//\\//\\}
{//\\//\\//\\ Drag the crosshair on your SCAR toolbar onto the \\//\\//\\//}
{\\//\\//\\// RuneScape login screen. //\\//\\//\\}
{//\\//\\//\\ Start player by the tree you wish to cut. \\//\\//\\//}
{\\//\\//\\// I suggest weilding one axe and holding one in inv 1. //\\//\\//\\}
{//\\//\\//\\ However if the inventory one breaks, you will logout.\\//\\//\\//}
{\\//\\//\\// If Dropping logs then weild one axe, hold one axe in //\\//\\//\\}
{//\\//\\//\\ inv 1 and put 1gp in inv slot 2(So you keep gp from \\//\\//\\//}
{\\//\\//\\// random events). //\\//\\//\\}
{//\\//\\//\\ If banking willows make sure you are OVER level 14 \\//\\//\\//}
{\\//\\//\\// or else you will DIE. //\\//\\//\\}
{//\\//\\//\\ Sit back and watch some TV, play Halo 3 or go make \\//\\//\\//}
{\\//\\//\\// yourself a cup of coffee =) //\\//\\//\\}
{//\\//\\//\\ Script was made using SCAR 3.13 and SRL 4. \\//\\//\\//}
{\\//\\//\\// //\\//\\//\\}
{//\\//\\//\\ Fr0zn S0ul \\//\\//\\//}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\// Current Version: 2.4 \\//\\//\\//\\//\\//\\//\\//}
{//\\//\\//\\//\\//\\//\\ *Release Notes* //\\//\\//\\//\\//\\//\\//\\}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
{//\\//\\//\\ Version 1.0: \\//\\//\\//}
{\\//\\//\\// Release version. //\\//\\//\\}
{//\\//\\//\\ \\//\\//\\//}
{\\//\\//\\// Version 1.1: //\\//\\//\\}
{//\\//\\//\\ Fixed bugs in WorldSwitcher. Adjusted AutoResponder. \\//\\//\\//}
{\\//\\//\\// //\\//\\//\\}
{//\\//\\//\\ Version 1.2: \\//\\//\\//}
{\\//\\//\\// Created my own AutoResponder. //\\//\\//\\}
{//\\//\\//\\ Changed FindEnt2. Added PosArray function. \\//\\//\\//}
{\\//\\//\\// Revamped Willow Banker. Changed Yew banker tons (it //\\//\\//\\}
{//\\//\\//\\ definitely works now =p). \\//\\//\\//}
{\\//\\//\\// //\\//\\//\\}
{//\\//\\//\\ Version 1.3: \\//\\//\\//}
{\\//\\//\\// Deleted the loops in AutoResponder, which were the //\\//\\//\\}
{//\\//\\//\\ cause of the lag. NO MORE LAG =D \\//\\//\\//}
{\\//\\//\\// //\\//\\//\\}
{//\\//\\//\\ Version 1.4: \\//\\//\\//}
{\\//\\//\\// Added support for Bank PIN anf fixed LogOutWait. //\\//\\//\\}
{//\\//\\//\\ \\//\\//\\//}
{\\//\\//\\// Version 1.5: //\\//\\//\\}
{//\\//\\//\\ Added RunDirection when find fight or ent. Added \\//\\//\\//}
{\\//\\//\\// new bankers at draynor for trees and oaks =) (See //\\//\\//\\}
{//\\//\\//\\ script thread at SRL forums for pictures on exactly \\//\\//\\//}
{\\//\\//\\// where to cut). WorldSwitcher no longer gets stuck if //\\//\\//\\}
{//\\//\\//\\ NWorld is full. \\//\\//\\//}
{\\//\\//\\// //\\//\\//\\}
{//\\//\\//\\ Version 2.0: \\//\\//\\//}
{\\//\\//\\// Added AutoChatter. Readjusted AutoResponder. Slightly//\\//\\//\\}
{//\\//\\//\\ modified bankers. General fix up. \\//\\//\\//}
{\\//\\//\\// //\\//\\//\\}
{//\\//\\//\\ Version 2.1: \\//\\//\\//}
{\\//\\//\\// Just a small but noticible bug that could cause bans //\\//\\//\\}
{//\\//\\//\\ after logging in. \\//\\//\\//}
{\\//\\//\\// //\\//\\//\\}
{//\\//\\//\\ Version 2.2: \\//\\//\\//}
{\\//\\//\\// Fixed WorldSwitcher error cause by SRL rev#6. Sorry //\\//\\//\\}
{//\\//\\//\\ about that guys! \\//\\//\\//}
{\\//\\//\\// //\\//\\//\\}
{//\\//\\//\\ Version 2.3: \\//\\//\\//}
{\\//\\//\\// Rev#7. Updated World List. Fix on normal log banker. //\\//\\//\\}
{//\\//\\//\\ Function TypeSend2. More auto responses. \\//\\//\\//}
{\\//\\//\\// //\\//\\//\\}
{//\\//\\//\\ Version 2.4 BETA: \\//\\//\\//}
{\\//\\//\\// Complete clean up and change of entire script.//\\//\\//\\}
{//\\//\\//\\ Thanks alot to SubiN! Created EntFinder. \\//\\//\\//}
{\\//\\//\\// //\\//\\//\\}
{//\\//\\//\\ Version 2.4: \\//\\//\\//}
{\\//\\//\\// Tweaked EntFinder. Made FindBrokenAxe. Fixed bug that//\\//\\//\\}
{//\\//\\//\\ made script think you did 2 loads instead of 1 lol! \\//\\//\\//}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
{------------------------------------------------------------------------------}
{//\\//\\//\\//\\//\\//\\// Banking Locations \\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
{//\\//\\//\\ Draynor Trees: \\//\\//\\//}
{\\//\\//\\// North West of the Bank, Near the Trapdoor. //\\//\\//\\}
{//\\//\\//\\ \\//\\//\\//}
{\\//\\//\\// Draynor Oak: //\\//\\//\\}
{//\\//\\//\\ Beside Bank on East Side. \\//\\//\\//}
{\\//\\//\\// //\\//\\//\\}
{//\\//\\//\\ Draynor Willows: \\//\\//\\//}
{\\//\\//\\// Beside Bank on South West Side. //\\//\\//\\}
{//\\//\\//\\ \\//\\//\\//}
{\\//\\//\\// Varrock Yews: //\\//\\//\\}
{//\\//\\//\\ Behind the Castle in a North East Direction from \\//\\//\\//}
{\\//\\//\\// the West Bank (Go to Varrock Center, then North and //\\//\\//\\}
{//\\//\\//\\ Up the West Path Until You See the Two Yews). \\//\\//\\//}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//
___________ _______ _______ ________________ .____
\_ _____/______ \ _ \ ________\ \ / _____/\ _ \ __ __| |
| __) \_ __ \/ /_\ \\___ // | \ \_____ \ / /_\ \| | \ |
| \ | | \/\ \_/ \/ // | \ / \\ \_/ \ | / |___
\___ / |__| \_____ /_____ \____|__ /____/_______ / \_____ /____/|_______ \
\/ \/ \/ \/_____/ \/ \/ \/
}
program MultiTreeChopperBankerDropper;
var
x, y, i, Count, LogCounter, LogOutEvery, LogOutWaitEvery, LogOutWaitFor, LoadsTillLog : Integer;
LevelsGained, XPNextLevel, NextLevel, Tries, Tree_C, TimeMarker, Attempts : Integer;
NWorld, OWorld, TotalLoads, TotalLevels, ActivePlayers, RemoveChatters, LolChatter, RandomChatter : Integer;
VarrockRoadColor, VarrockDirtColor, FreeSlot, TalkEvery, GameColorTolerance, Loops : Integer;
Tree, TextFound, Name, OldMessage : String;
LogOutWait, FoundTree : Boolean;
Chatters : Array[0..100] of string;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/WoodCutting.scar}
{.include SRL/SRL/misc/WorldSwitcher.scar}
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
//I recommend using Mozilla FireFox. The script runs much better on it. Get it at [url]www.mozilla.com[/url].
//You must have your axe in Inventory Slot 1!
//Also make sure you download the updates include from the forums, as FindRS in LoginPlayer has a bug!
Procedure DeclarePlayers;
begin
HowManyPlayers := 5; //How many players to use.
NumberOfPlayers( HowManyPlayers ); //Leave this.
CurrentPlayer := 0; //Start Player? eg 0 means Players[0].name
SRLID := ''; //Don't have this? Please register at:
SRLPassword := ''; //http://www.stats.srl-forums.com/
LampSkill := 'woodcutting'; //Skill to choose when get a genie lamp.
MouseSpeed := 12; //Mouse movement speed.
GameColorTolerance := 10; //Higher the number the more colors will match to script colors. Too low and it may not find the object. Too high and will have a big slowdown.
TalkEvery := 10 + random(5); //Randomly chat every how many minutes?
LogOutEvery := 10; //NextPlayer every how many loads.
LogOutWait := false; //Logout for an extra amount of time?
LogOutWaitEvery := 7; //LogOutWait every how many Logouts?
LogOutWaitFor := 5 + random(10); //How many minutes to wait for when LogOutWait is true.
Players[0].Name := 'youruser0'; //Username
Players[0].Pass := 'yourpass0'; //Password
Players[0].Nick := 'urus'; //3-4 chars of name(ie: if .name is 'srlforlife' then set .nick at 'orli').
Players[0].Active := true; //Use this player?
Players[0].Integers[0] := 10000; //How many loads total to do on this player.
Players[0].Strings[0] := 'Willow'; //Tree to cut. Choose from Tree, Oak, Willow, Yew.
Players[0].Strings[1] := 'Bank'; //What to do with logs. Choose from Drop or Bank. Willows, Trees and Oaks bank at draynor. Yews bank at Varrock West. (See Above For Positions)
Players[0].Strings[2] := ''; //Bank PIN number. (If you have one, otherwise leave as '')
Players[0].Strings[3] := 'E'; //Direction to run when find fight or ent. (N, NE, E, SE, S, SW, W, NW)
Players[0].Booleans[0] := false; //Are you a member? (Members will use members only worlds, set false to use F2P worlds)
Players[1].Name := 'youruser1';
Players[1].Pass := 'yourpass1';
Players[1].Nick := 'urus';
Players[1].Active := true;
Players[1].Integers[0] := 10000;
Players[1].Strings[0] := 'Willow';
Players[1].Strings[1] := 'Bank';
Players[1].Strings[2] := '';
Players[1].Strings[3] := 'E';
Players[1].Booleans[0] := false;
Players[2].Name := 'youruser2';
Players[2].Pass := 'yourpass2';
Players[2].Nick := 'urus';
Players[2].Active := true;
Players[2].Integers[0] := 10000;
Players[2].Strings[0] := 'Willow';
Players[2].Strings[1] := 'Bank';
Players[2].Strings[2] := '';
Players[2].Strings[3] := 'E';
Players[2].Booleans[0] := false;
Players[3].Name := 'youruser3';
Players[3].Pass := 'yourpass3';
Players[3].Nick := 'urus';
Players[3].Active := true;
Players[3].Integers[0] := 10000;
Players[3].Strings[0] := 'Willow';
Players[3].Strings[1] := 'Bank';
Players[3].Strings[2] := '';
Players[3].Strings[3] := 'E';
Players[3].Booleans[0] := false;
Players[4].Name := 'youruser4';
Players[4].Pass := 'yourpass4';
Players[4].Nick := 'urus';
Players[4].Active := true;
Players[4].Integers[0] := 10000;
Players[4].Strings[0] := 'Willow';
Players[4].Strings[1] := 'Bank';
Players[4].Strings[2] := '';
Players[4].Strings[3] := 'E';
Players[4].Booleans[0] := false;
end;
{*************************************************************************************************
function TypeSend2(Text: String; PercentPerfect, PercentMistake, MaxMistakes: Integer): Boolean;
By: Fr0zN_S0uL
Description: Types Text Human-like, pressing random keys around the original. Results True if
mistake is made.
PercentPerfect = Chance of no errors (Normal TypeSend).
PercentMistake = Chance of making an error.
MaxMistakes = Highest number of mistakes to make. Will break loop if reached.
*************************************************************************************************}
function TypeSend2(Text: String; PercentPerfect, PercentMistake, MaxMistakes: Integer): Boolean;
var
s : String;
i, NumMistakes : Integer;
Begin
if PercentPerfect > 100 then RaiseException(ErException, 'PercentPerfect must be 100 or less:');
if PercentMistake > 100 then RaiseException(ErException, 'PercentMistake must be 100 or less:');
Trim(Text);
if Random(101) <= PercentPerfect then
Begin
TypeSend(Text);
Exit;
end;
for i := 1 to Length(Text) do
Begin
if NumMistakes >= MaxMistakes then Break;
if Random(101) <= PercentMistake then
Begin
NumMistakes := NumMistakes + 1;
Result := true;
s := Copy(Text, i, 1);
case LowerCase(s) of
'a' : Begin
Delete(Text, i, 1);
case Random(4) of
0: Insert('q', Text, i);
1: Insert('s', Text, i);
2: Insert('z', Text, i);
3: Insert('w', Text, i);
end;
end;
'b' : Begin
Delete(Text, i, 1);
case Random(5) of
0: Insert('v', Text, i);
1: Insert('g', Text, i);
2: Insert('h', Text, i);
3: Insert('n', Text, i);
4: Insert(' ', Text, i);
end;
end;
'c' : Begin
Delete(Text, i, 1);
case Random(5) of
0: Insert('x', Text, i);
1: Insert('d', Text, i);
2: Insert('f', Text, i);
3: Insert('v', Text, i);
4: Insert(' ', Text, i);
end;
end;
'd' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('s', Text, i);
1: Insert('e', Text, i);
2: Insert('r', Text, i);
3: Insert('f', Text, i);
4: Insert('c', Text, i);
5: Insert('x', Text, i);
end;
end;
'e' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('w', Text, i);
1: Insert('3', Text, i);
2: Insert('4', Text, i);
3: Insert('r', Text, i);
4: Insert('d', Text, i);
5: Insert('s', Text, i);
end;
end;
'f' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('d', Text, i);
1: Insert('r', Text, i);
2: Insert('t', Text, i);
3: Insert('g', Text, i);
4: Insert('v', Text, i);
5: Insert('c', Text, i);
end;
end;
'g' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('f', Text, i);
1: Insert('t', Text, i);
2: Insert('y', Text, i);
3: Insert('h', Text, i);
4: Insert('b', Text, i);
5: Insert('v', Text, i);
end;
end;
'h' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('g', Text, i);
1: Insert('y', Text, i);
2: Insert('u', Text, i);
3: Insert('j', Text, i);
4: Insert('n', Text, i);
5: Insert('b', Text, i);
end;
end;
'i' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('u', Text, i);
1: Insert('8', Text, i);
2: Insert('9', Text, i);
3: Insert('o', Text, i);
4: Insert('k', Text, i);
5: Insert('j', Text, i);
end;
end;
'j' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('h', Text, i);
1: Insert('u', Text, i);
2: Insert('i', Text, i);
3: Insert('k', Text, i);
4: Insert('m', Text, i);
5: Insert('n', Text, i);
end;
end;
'k' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('j', Text, i);
1: Insert('i', Text, i);
2: Insert('o', Text, i);
3: Insert('l', Text, i);
4: Insert(',', Text, i);
5: Insert('m', Text, i);
end;
end;
'l' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('k', Text, i);
1: Insert('o', Text, i);
2: Insert('p', Text, i);
3: Insert(';', Text, i);
4: Insert('.', Text, i);
5: Insert(',', Text, i);
end;
end;
'm' : Begin
Delete(Text, i, 1);
case Random(5) of
0: Insert('n', Text, i);
1: Insert('j', Text, i);
2: Insert('k', Text, i);
3: Insert(',', Text, i);
4: Insert(' ', Text, i);
end;
end;
'n' : Begin
Delete(Text, i, 1);
case Random(5) of
0: Insert('b', Text, i);
1: Insert('h', Text, i);
2: Insert('j', Text, i);
3: Insert('m', Text, i);
4: Insert(' ', Text, i);
end;
end;
'o' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('i', Text, i);
1: Insert('9', Text, i);
2: Insert('0', Text, i);
3: Insert('p', Text, i);
4: Insert('l', Text, i);
5: Insert('k', Text, i);
end;
end;
'p' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('o', Text, i);
1: Insert('0', Text, i);
2: Insert('-', Text, i);
3: Insert('[', Text, i);
4: Insert(';', Text, i);
5: Insert('l', Text, i);
end;
end;
'q' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('1', Text, i);
1: Insert('2', Text, i);
2: Insert('w', Text, i);
3: Insert('s', Text, i);
4: Insert('a', Text, i);
5: Insert(' ', Text, i);
end;
end;
'r' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('e', Text, i);
1: Insert('4', Text, i);
2: Insert('5', Text, i);
3: Insert('t', Text, i);
4: Insert('f', Text, i);
5: Insert('d', Text, i);
end;
end;
's' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('a', Text, i);
1: Insert('w', Text, i);
2: Insert('e', Text, i);
3: Insert('d', Text, i);
4: Insert('x', Text, i);
5: Insert('z', Text, i);
end;
end;
't' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('r', Text, i);
1: Insert('5', Text, i);
2: Insert('6', Text, i);
3: Insert('y', Text, i);
4: Insert('g', Text, i);
5: Insert('f', Text, i);
end;
end;
'u' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('y', Text, i);
1: Insert('7', Text, i);
2: Insert('8', Text, i);
3: Insert('i', Text, i);
4: Insert('j', Text, i);
5: Insert('h', Text, i);
end;
end;
'v' : Begin
Delete(Text, i, 1);
case Random(5) of
0: Insert('c', Text, i);
1: Insert('f', Text, i);
2: Insert('g', Text, i);
3: Insert('b', Text, i);
4: Insert(' ', Text, i);
end;
end;
'w' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('q', Text, i);
1: Insert('2', Text, i);
2: Insert('3', Text, i);
3: Insert('e', Text, i);
4: Insert('s', Text, i);
5: Insert('a', Text, i);
end;
end;
'x' : Begin
Delete(Text, i, 1);
case Random(5) of
0: Insert('z', Text, i);
1: Insert('s', Text, i);
2: Insert('d', Text, i);
3: Insert('c', Text, i);
4: Insert(' ', Text, i);
end;
end;
'y' : Begin
Delete(Text, i, 1);
case Random(6) of
0: Insert('t', Text, i);
1: Insert('6', Text, i);
2: Insert('7', Text, i);
3: Insert('u', Text, i);
4: Insert('h', Text, i);
5: Insert('g', Text, i);
end;
end;
'z' : Begin
Delete(Text, i, 1);
case Random(4) of
0: Insert('a', Text, i);
1: Insert('s', Text, i);
2: Insert('x', Text, i);
3: Insert('z ', Text, i);
end;
end;
end;
i := i + random(3) + 2;
end;
end;
TypeSend(Text);
end;
{*******************************************************************************
function FindWestVarrockRoadColor(var RoadColor : Integer; RX1, RY1, RX2, RY2: Integer) : Boolean;
By: WT-Fakawi and modified by Ron
Description: Find Varrock West Road Color.
*******************************************************************************}
function FindVarrockDirtRoadColor1(var RoadColor : Integer; RX1, RY1, RX2, RY2: Integer) : Boolean;
var
c, TX, TY, WestVarrockRoad1: Integer;
begin
WestVarrockRoad1 := BitmapFromString(10, 9, 'beNori+suG0UwBABN+Htn');
while (c < 65) do
begin
c := c + 5;
if FindBitmapToleranceIn(WestVarrockRoad1, TX, TY, RX1, RY1, RX2, RY2, c)
then
begin
RoadColor := GetColor(TX, TY);
Result := True;
Break;
end;
end;
if not(Result) then
WriteLn('ERROR: RoadColor NOT Found');
FreeBitmap(WestVarrockRoad1);
end;
function FindVarrockDirtRoadColor2(var RoadColor : Integer; RX1, RY1, RX2, RY2: Integer) : Boolean;
var
c, TX, TY, WestVarrockRoad2: Integer;
begin
WestVarrockRoad2 := BitmapFromString(4, 6, 'beNorjGwrpAYCAHxMH4E=');
while (c < 65) do
begin
c := c + 5;
if FindBitmapToleranceIn(WestVarrockRoad2, TX, TY, RX1, RY1, RX2, RY2, c)
then
begin
RoadColor := GetColor(TX, TY);
Result := True;
Break;
end;
end;
if not(Result) then
WriteLn('ERROR: RoadColor NOT Found');
FreeBitmap(WestVarrockRoad2);
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure WorldSelect;
Begin
OWorld := NWorld;
Repeat
if Players[CurrentPlayer].Booleans[0] = false then
Begin
Repeat
case random(73) of
0: NWorld := 1;
1: NWorld := 3;
2: NWorld := 4;
3: NWorld := 5;
4: NWorld := 7;
5: NWorld := 8;
6: NWorld := 10;
7: NWorld := 1;
8: NWorld := 13;
9: NWorld := 14;
10: NWorld := 15;
11: NWorld := 16;
12: NWorld := 17;
13: NWorld := 19;
14: NWorld := 20;
15: NWorld := 21;
16: NWorld := 25;
17: NWorld := 29;
18: NWorld := 30;
19: NWorld := 32;
20: NWorld := 33;
21: NWorld := 34;
22: NWorld := 35;
23: NWorld := 37;
24: NWorld := 38;
25: NWorld := 40;
26: NWorld := 41;
27: NWorld := 43;
28: NWorld := 47;
29: NWorld := 50;
30: NWorld := 51;
31: NWorld := 52;
32: NWorld := 55;
33: NWorld := 57;
34: NWorld := 61;
35: NWorld := 62;
36: NWorld := 63;
37: NWorld := 67;
38: NWorld := 68;
39: NWorld := 72;
40: NWorld := 74;
41: NWorld := 75;
42: NWorld := 80;
43: NWorld := 81;
44: NWorld := 85;
45: NWorld := 86;
46: NWorld := 87;
47: NWorld := 90;
48: NWorld := 93;
49: NWorld := 94;
50: NWorld := 95;
51: NWorld := 96;
52: NWorld := 101;
53: NWorld := 102;
54: NWorld := 105;
55: NWorld := 106;
56: NWorld := 107;
57: NWorld := 108;
58: NWorld := 109;
59: NWorld := 113;
60: NWorld := 117;
61: NWorld := 118;
62: NWorld := 119;
63: NWorld := 123;
64: NWorld := 125;
65: NWorld := 126;
66: NWorld := 127;
67: NWorld := 128;
68: NWorld := 133;
69: NWorld := 134;
70: NWorld := 136;
71: NWorld := 141;
72: NWorld := 142;
end;
until(NWorld <> OWorld);
end else
Begin
Repeat
case random(64) of
0: NWorld := 2;
1: NWorld := 6;
2: NWorld := 9;
3: NWorld := 12;
4: NWorld := 18;
5: NWorld := 22 ;
6: NWorld := 23;
7: NWorld := 24;
8: NWorld := 26
9: NWorld := 27;
10: NWorld := 28;
11: NWorld := 31;
12: NWorld := 36;
13: NWorld := 39;
14: NWorld := 42;
15: NWorld := 44;
16: NWorld := 45;
17: NWorld := 46;
18: NWorld := 48;
19: NWorld := 53;
20: NWorld := 54;
21: NWorld := 56;
22: NWorld := 58;
23: NWorld := 59;
24: NWorld := 64;
25: NWorld := 65;
26: NWorld := 66;
27: NWorld := 69;
28: NWorld := 70;
29: NWorld := 71;
30: NWorld := 76;
31: NWorld := 77;
32: NWorld := 78;
33: NWorld := 79;
34: NWorld := 82;
35: NWorld := 83;
36: NWorld := 84;
37: NWorld := 88;
38: NWorld := 89;
39: NWorld := 91;
40: NWorld := 92;
41: NWorld := 97;
42: NWorld := 98;
43: NWorld := 99;
44: NWorld := 100;
45: NWorld := 103;
46: NWorld := 104;
47: NWorld := 110;
48: NWorld := 111;
49: NWorld := 112;
50: NWorld := 114;
51: NWorld := 115;
52: NWorld := 116;
53: NWorld := 120;
54: NWorld := 121;
55: NWorld := 124;
56: NWorld := 129;
57: NWorld := 130;
58: NWorld := 131;
59: NWorld := 132;
60: NWorld := 137;
61: NWorld := 138;
62: NWorld := 143;
63: NWorld := 144;
end;
until(Nworld <> OWorld);
end;
until(SelectWorld(NWorld));
ReportVars[1] := ReportVars[1] + 1;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Function PosArray(SubStr : Array of String; S : String) : Boolean;
Begin
for i := 0 to GetArrayLength(SubStr) - 1 do
Begin
Result := Pos(SubStr[i], S) > 0;
if Result then exit;
end;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure AutoRespond;
begin
GetLastChatText(TextFound);
if OldMessage = TextFound then exit;
OldMessage := TextFound;
if Not(PosArray(['wc l', 'woodcutting l', 'w/c l', 'wc?', 'wcing l', 'lol', 'haha','hehe','lmao','rofl','hi ','hello',' hey',' yo ','bot ','macro','u noob','u nub','u loser',Players[CurrentPlayer].Name, Left(Players[CurrentPlayer].Name, 4), Right(Players[CurrentPlayer].Name, 4), 'woot','woop'],TextFound)) then exit;
LastChatter(Name);
if Lowercase(Name) = Lowercase(Players[CurrentPlayer].Name) then exit;
if TimeFromMark(RemoveChatters) >= 50000 then
Begin
MarkTime(RemoveChatters);
for i := 0 to FreeSlot - 1 do
Begin
Chatters[i] := ''
end;
FreeSlot := 1;
end;
for i := 0 to FreeSlot - 1do
Begin
if Chatters[i] = Name then exit;
end;
for i := FreeSlot to 100 do
if Chatters[i] = '' then
Begin
Chatters[i] := Name;
FreeSlot := FreeSlot + 1;
Break;
end;
if (PosArray(['wc l','woodcutting l', 'w/c l', 'wc?', 'wcing l'],TextFound)) then
Begin
if (Players[CurrentPlayer].Integers[2] <= 0) then
Begin
Players[CurrentPlayer].Integers[2] := GetSkillLevel('WoodCutting');
end;
Case Random(6) of
0: TypeSend2(IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained), 33, 5, 5);
1: TypeSend2('me ' + IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained) + ' u?', 33, 5, 5);
2: TypeSend2(IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained) + ' =p', 33, 5, 5);
3: TypeSend2('I' + chr(39) + 'm ' + IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained), 33, 5, 5);
4: TypeSend2(IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained) + '...', 33, 5, 5);
5: TypeSend2('low lol', 33, 5, 5);
end;
WriteLn(Players[CurrentPlayer].Name + ': Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['lol','haha','hehe','lmao','rofl'],TextFound)) then
Begin
If TimeFromMark(LolChatter) < 10000 then exit;
MarkTime(LolChatter);
Case Random(10) of
0: TypeSend2('lol', 33, 5, 5);
1: TypeSend2('', 33, 5, 5);
2: TypeSend2('lmao', 33, 5, 5);
3: TypeSend2('rofl', 33, 5, 5);
4: TypeSend2('?', 33, 5, 5);
5: TypeSend2('...', 100, 0, 0);
6: TypeSend2('haha', 33, 5, 5);
7: TypeSend2('hehe', 33, 5, 5);
8: TypeSend2('=]', 33, 5, 5);
9: TypeSend2('', 33, 5, 5);
end;
WriteLn(Players[CurrentPlayer].Name + ': Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['Hi ','Hello',' hey','sup',' yo '],TextFound)) then
Begin
Case Random(12) of
0: TypeSend2('hi', 33, 5, 5);
1: TypeSend2('hello', 33, 5, 5);
2: TypeSend2('hey', 33, 5, 5);
3: TypeSend2('yo', 33, 5, 5);
4: TypeSend2('sup', 33, 5, 5);
5: TypeSend2('wasup', 33, 5, 5);
6: TypeSend2('g' + chr(39) + 'day', 33, 5, 5);
7: TypeSend2('good mornin!', 33, 5, 5);
8: TypeSend2('good aftanoon!', 33, 5, 5);
9: TypeSend2('good evenin!', 33, 5, 5);
10: TypeSend2('ohaiyogozaimasu - im asian hehe', 33, 5, 5);
11: TypeSend2('hau - im indian =]', 33, 5, 5);
end;
WriteLn(Players[CurrentPlayer].Name + ': Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['bot ', 'macro'],TextFound)) then
Begin
Case Random(10) of
0: TypeSend2('Wat r they?', 33, 5, 5);
1: TypeSend2('wots the point in gettin sumthin else 2 play 4 u?', 33, 5, 5);
2: TypeSend2('bots r stupid', 33, 5, 5);
3: TypeSend2('i h8 bots', 33, 5, 5);
4: TypeSend2('macros r ruinin rs for us =[', 33, 5, 5);
5: TypeSend2('?', 33, 5, 5);
6: TypeSend2('stupid autos r forcing jagex to fight back... wich affects us 2 =[', 33, 5, 5);
7: TypeSend2('macros made our shop prices rise =[', 33, 5, 5);
8: TypeSend2('bots r so obvious', 33, 5, 5);
9: TypeSend2('wots da point banning macros coz there r bots to even make new bots = /', 33, 5, 5);
end;
WriteLn(Players[CurrentPlayer].Name + ': Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['u noob','u nub','u loser'],TextFound)) then
Begin
Case Random(10) of
0: TypeSend2('stfu', 33, 5, 5);
1: TypeSend2('look in da mirror', 33, 5, 5);
2: TypeSend2('lmao u r', 33, 5, 5);
3: TypeSend2('...', 33, 5, 5);
4: TypeSend2('omg...', 33, 5, 5);
5: TypeSend2('get a life', 33, 5, 5);
6: TypeSend2('gotta start sumwhea', 33, 5, 5);
7: TypeSend2('shut up', 33, 5, 5);
8: TypeSend2('hmph', 33, 5, 5);
9: TypeSend2('=[', 33, 5, 5);
end;
WriteLn(Players[CurrentPlayer].Name + ': Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray([Players[CurrentPlayer].Name, Left(Players[CurrentPlayer].Name, 4), Right(Players[CurrentPlayer].Name, 4)],TextFound)) then
Begin
Case Random(9) of
0: TypeSend2('me?', 33, 5, 5);
1: TypeSend2('wot u want', 33, 5, 5);
2: TypeSend2('...', 33, 5, 5);
3: TypeSend2('leave me alone!', 33, 5, 5);
4: TypeSend2('I' + chr(39) + 'm not in the mood =[', 33, 5, 5);
5: TypeSend2('ye?', 33, 5, 5);
6: TypeSend2('yo?', 33, 5, 5);
7: TypeSend2('uh?', 33, 5, 5);
8: TypeSend2('shudup', 33, 5, 5);
end;
WriteLn(Players[CurrentPlayer].Name + ': Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['woot','woop'],TextFound)) then
Begin
Case Random(9) of
0: TypeSend2('gratz', 33, 5, 5);
1: TypeSend2('grats', 33, 5, 5);
2: TypeSend2('...', 33, 5, 5);
3: TypeSend2('what?', 33, 5, 5);
4: TypeSend2('huh?', 33, 5, 5);
5: TypeSend2('wat?', 33, 5, 5);
6: TypeSend2('wot?', 33, 5, 5);
7: TypeSend2('uh whatd i miss?', 33, 5, 5);
8: TypeSend2('', 33, 5, 5);
end;
WriteLn(Players[CurrentPlayer].Name + ': Talked to ' + Name);
talks := talks + 1;
exit;
end;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
procedure AutoChatter;
begin
if TimeFromMark(RandomChatter) < TalkEvery * 60000 then exit;
MarkTime(RandomChatter);
if (Players[CurrentPlayer].Integers[2] <= 0) then
Begin
Players[CurrentPlayer].Integers[2] := GetSkillLevel('WoodCutting');
end;
Case Random(20) of
0: Case Random(11) of
0: TypeSend2('wc lvls? me ' + IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained), 33, 5, 5);
1: TypeSend2('wc lvlz? ' + IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained), 33, 5, 5);
2: TypeSend2('woodcuttin lvls? Im ' + IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained), 33, 5, 5);
3: TypeSend2('wc levels? ' + IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained), 33, 5, 5);
4: TypeSend2('wc lvls? Im ' + IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained), 33, 5, 5);
5: TypeSend2('Woodcutting levels? Im ' + IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained), 33, 5, 5);
6: TypeSend2('wc lvl ' + chatters[0] +'?', 33, 5, 5);
7: TypeSend2('yo '+ chatters[0] + ' wc lvl?', 33, 5, 5);
8: TypeSend2('wats ur wc lvl ' + chatters[0] + '?', 33, 5, 5);
9: TypeSend2('woodcutting lvl ' + chatters[0] + '?', 33, 5, 5);
10: TypeSend2('wats ur woodcutting lvl ' + chatters[0] + '?', 33, 5, 5);
end;
1: TypeSend2('Man im bored', 33, 5, 5);
2: TypeSend2('wc is soo boring!', 33, 5, 5);
3: TypeSend2('hehe gime dem ' + tree + 's!', 33, 5, 5);
4: TypeSend2('so sleepy...', 33, 5, 5);
5: TypeSend2('arg cmon u stupid tree!', 33, 5, 5);
6: TypeSend2('haha im so nooby', 33, 5, 5);
7: TypeSend2('woot lvl '+ IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained) + '!', 33, 5, 5);
8: TypeSend2(tree + 's r all mine!', 33, 5, 5);
9: TypeSend2('look at all da bots =[', 33, 5, 5);
10: TypeSend2('yay nerly lvl!', 33, 5, 5);
11: TypeSend2('sweet only 2k to lvl!', 33, 5, 5);
12: TypeSend2('im da man!', 33, 5, 5);
13: TypeSend2('join rabbit pkerz clan chat its awsom!', 33, 5, 5);
14: TypeSend2('u guys eva been in zezimas chat? u cant here urself think!', 33, 5, 5);
15: TypeSend2('omg i wish i was a mem...', 33, 5, 5);
16: TypeSend2('red:shake:mwuahahaha my ' + tree + 's!', 33, 5, 5);
17: TypeSend2('white: have a good day all of you... =]', 33, 5, 5);
18: TypeSend2('red:shake: Im goin 2 eat ur souls mwuahahahahahahahahahaha', 33, 5, 5);
19: TypeSend2('what sorta music yall listen 2?', 33, 5, 5);
end;
talks := talks + 1;
Writeln(Players[CurrentPlayer].Name + ': Auto Chattered');
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Function EntFinder: Boolean;
var
Counter : Integer;
Begin
if Not(LoggedIn) then Exit;
Counter := 0;
While Counter < 8 do
Begin
i := GetColor(86 + Counter, 17);
Counter := Counter + 1;
if SimilarColors(i,119764,60) then
Begin
Result := True;
end;
end;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
procedure TreeSetup;
Begin
Case LowerCase(Players[CurrentPlayer].Strings[0]) of
'tree' : Begin
Tree := 'Tree';
Tree_C := 2308923;
end;
'oak' : Begin
Tree := 'Oak';
Tree_C := 1665115;
end;
'willow' : Begin
Tree := 'Willow';
Tree_C := 2178873;
end;
'yew' : Begin
Tree := 'Yew';
Tree_C := 3171931;
end;
'magic' : Begin
Tree := 'Magic';
Tree_C := 0;
Writeln('Sorry but Magic trees are not yet supported!');
TerminateScript;
end;
else
Begin
ReadLn('Please enter a valid tree name (Tree, Oak, Willow, Yew)');
RaiseException(ErCouldNotCallProc, 'Invalid Tree Name');
end;
end;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure Fr0zn_S0uls_Greeting;
begin
ClearDebug;
Writeln('//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//');
Writeln('\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\ ' + ' ()' + (chr(39)) + (chr(39)) + (chr(39)) + '()');
Writeln('\\//\\// I hope you enjoy this script! //\\//\\// ' + ' (' + (chr(39)) + '( 0 0 )' + (chr(39)) +')');
Writeln('//\\//\\ Fr0zN_S0uL \\//\\//\\ ' + ' ( o )');
Writeln('//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\// ' + ' (' + (chr(39)) + ')-(' + (chr(39)) + ')');
Writeln('\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\');
WriteLn('* I recommend using Mozilla FireFox. The script runs much better on it *');
WriteLn('* Get it at [url]www.mozilla.com[/url] *');
WriteLn('');
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure PlayerReport;
Begin
if Players[CurrentPlayer].Integers[2] <= 0 then
Players[CurrentPlayer].Integers[2] := GetSkillLevel('woodcutting');
Players[CurrentPlayer].Integers[3] := GetSkillLevel('woodcutting') - Players[CurrentPlayer].Integers[2];
NextLevel := GetSkillLevel('woodcutting') + 1;
XPNextLevel := XpTilNextLevel('woodcutting');
TotalLoads := 0;
TotalLevels := 0;
ActivePlayers := 0;
for i := 0 to HowManyPlayers - 1 do
Begin
TotalLoads := TotalLoads + Players[i].Integers[1];
TotalLevels := TotalLevels + Players[i].Integers[3];
if (Players[i].Active = true) then
Begin
ActivePlayers := ActivePlayers + 1;
end;
end;
WriteLn('');
WriteLn('() (=================================================)');
WriteLn('() (= Fr0zn S0uls Multi-Tree Chopper Banker~Dropper =)');
WriteLn('() (= ' + Players[CurrentPlayer].Name + chr(39) + 's Report');
WriteLn('() (=================================================)');
WriteLn('() (= Gained ' + IntToStr(Players[CurrentPlayer].Integers[3]) + ' Levels out of ' + IntToStr(TotalLevels) + ' Total Levels');
Writeln('() (= ' + IntToStr(XPNextLevel) + ' XP To Level ' + IntToStr(NextLevel) + ' Woodcutting');
WriteLn('() (= Done ' + IntToStr(Players[CurrentPlayer].Integers[1]) + ' of ' + IntToStr(TotalLoads) + ' Total Loads' + ' (' + IntToStr(ActivePlayers) + ' Players Still Active)');
Writeln('() (= Script Running For: ' + TimeRunning);
WriteLn('() (=================================================)');
WriteLn('');
Players[CurrentPlayer].Integers[1] := Players[CurrentPlayer].Integers[1] + 1;
LoadsTillLog := LoadsTillLog - 1;
ReportVars[0] := ReportVars[0] + 1;
SRLRandomsReport;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
procedure LogInSetup;
Begin
MarkTime(RemoveChatters);
MarkTime(RandomChatter);
for i := 0 to FreeSlot - 1 do
Begin
Chatters[i] := '';
end;
FreeSlot := 1;
LoadsTillLog := LogOutEvery + random(2);
tries := 0;
TreeSetup;
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, Upchars);
WriteLn(Players[CurrentPlayer].Name + ': Lets Cut Some Trees!');
Repeat
Players[CurrentPlayer].Integers[2] := GetSkillLevel('WoodCutting');
until(Players[CurrentPlayer].Integers[2] > 0);
Mouse(125,483,43,14,true);
SetChat('on', 1);
SetChat('off', 2);
SetRun(true);
MakeCompass('N');
HighestAngle;
FindNormalRandoms;
end;
{*******************************************************************************
function FindAxe: Boolean;
By: Sumilion
Description: Finds if there is an axe present. Axe can be wielded or unwielded.
Stores place in Boolean var EquipAxe.
Modded to:
Procedure FindBrokenAxe;
Description: Checks inventory slot one to see if the current axe is broken.
*******************************************************************************}
Procedure FindBrokenAxe;
var
Ix, Iy, i: Integer;
Axes: array[0..6] of Integer;
begin
if Not(LoggedIn) then exit;
Axes[0] := BitmapFromString(13, 12, 'beNpljzEKwkAQRTed5BA' +
'G7UNgUwhaBQsT2CYECxs7G8/g4f3y4DO4yytmh7d/Z8qUUiPuZYJt' +
'OYv6+i67z6NFrrEvR1y2J4zzKlzYJIomgnklnWboOrR+vIk/R+AIj' +
'af6cNznnKPMYHbQItHkOzb1KxE1TGsxmXBMzc8K9GMyYHpNBGs2PT' +
'BOuZ6cVuOcH1/x2l5L'); //rune
Axes[1] := BitmapFromString(12, 13, 'beNptkTEKgDAQBGMn' +
'PkLRDwiCFnY2gpBOLHyAjW/w8S4MnocxLHLRuc3mjFMImbQu4xYnp' +
'BrZ9oz5tReQqWAESP08/AoMk1/gCFpZW1ViumelJgIkFXVTSh4jDI' +
'DyfEJ6TABXM948/VkMga82HLNSYDLrpQfoArNLfUy8m8/M00+eOm1' +
'PsfcP3gW5WBM='); //addamant
Axes[2] := BitmapFromString(11, 13, 'beNptkEEKwjAURNOt' +
'h2jRvRR+F6K7UkGFbERceIDcwsP7ZGD4VMMQksz7yeTXuZTucTuhZ' +
'51RXmv7fm1g/kowQETbT5dfwXAJM2sxnlErjG4chojIVVjT9a5yXL' +
'Td9cjA+dgUQC4ZcqrMyEUikQE9pF8Q0qRuE4CtkGpFXQ6SGX/B5XL' +
'NrFx3WICDaZvbvjr56gMxMVIM'); //mithril
Axes[3] := BitmapFromString(12, 13, 'beNp1kTEKgDAMRSs4ub' +
'm4egRHwU2cCt3EwQN4Cw/vkw+hxFg+JW1fk98mLyk1e17QUdY/3Wc' +
'HFopTXYcZ+jaUlSDQ0s1XYjTTOMKEgAIARMWwRA0g57NOYp7FoxrQ' +
'rCRi7B8sFYblWYwBit2j6ooOc57LNn8bIYB9TgUoCDv1Ag8xy0js'); // black
Axes[4] := BitmapFromString(11, 13, 'beNptkMEKgkAURe0Dwl' +
'1QKz8hCDcRIUGS9AXuRErBLCrTzIywwVVEv9ylaw8XwWWYd9+ZN3f' +
'GMueTkWgxbUrHMiHuNa3zVwBsy1zOxvdzdktP1+R4OewhbFDCFEac' +
'Ks+xUklfBzA0DFyRbCJ2VVEIwy4Bz3Xj9QrD67J8PioGYJcZJFW6j' +
'THkpRQBPgQMYZih55F51zVKnIXk7VhhRr6Pu7KBzpDO9wqOomDuwi' +
'DodSVGG7B/jHQ5vD2Bfytd8ZlHAJ5qhn8AYiBqCQ=='); //steel
Axes[5] := BitmapFromString(11, 12, 'beNptj8EJwDAMA5NJMkL' +
'Bzz4ChX5K8iklI2T/FSqqIgyxEX5EF1vux3Pto/99Fd5TyqHEnLWG' +
'EhO6M6HyVgoAM/PW3Rq/wyWAbl9psnchpSKDCQSQn6cRFiBGgL+XD' +
'BIypCyJjE5gDLk+kg+57vLueAECBk9w'); //iron
Axes[6] := BitmapFromString(11, 13, 'beNptUEEKwCAMq+/Yw' +
'OtugkfZZUdht7En+P8vLCMQSqkEqW1M087x3hfwzKGbAYHYrKQQ4W' +
'x7CnAolVaX4ZRWKzi40+/Ik3BshqB3U0nVYFJSEidIRhJSwWEYWSJ' +
'wSJNaTuBoBDXya/QmfRfFcuW37Qk+/z8/ntRQSA=='); //bronze
GameTab(4);
for i := 0 to 7 do
begin
if i = 7 then
Begin
for i := 0 to 6 do
FreeBitmap(Axes[i]);
Exit;
end;
if FindBitmapIn(Axes[i], Ix, Iy, 545, 200, 600, 250) then
Break;
end;
for i := 0 to 6 do
FreeBitmap(Axes[i]);
Writeln(Players[CurrentPlayer].Name + ': Axe is Broken. Next Player.');
LogOut;
WorldSelect;
NextPlayer(False);
LogInSetup;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure CheckForRandoms;
begin
if EntFinder then
Mouse(630, 80, 5, 5, true);
if (FindFight) then
begin
x := 643;
y := 83;
case Lowercase(Players[CurrentPlayer].Strings[3]) of
'n' : Begin
Mouse(x, y - 50, 0, 0, true);
case random(10) of
0: TypeSend2('aaaaaaah!', 33, 5, 5);
1: TypeSend2('ow ow ow!', 33, 5, 5);
2: TypeSend2('yikes!', 33, 5, 5);
3: TypeSend2('waaaaaaaa mommy it hurtz!', 33, 5, 5);
4: TypeSend2('hey y u hurt me =[', 33, 5, 5);
5: TypeSend2('meanie!', 33, 5, 5);
6: TypeSend2('be nice!', 33, 5, 5);
7: TypeSend2('', 33, 5, 5);
8: TypeSend2('', 33, 5, 5);
9: TypeSend2('', 33, 5, 5);
end;
Wait(8500 + random(3500));
Mouse(x, y + 50, 0, 0, true);
end;
'ne': Begin
Mouse(x + 50, y - 50, 0, 0, true);
case random(10) of
0: TypeSend2('aaaaaaah!', 33, 5, 5);
1: TypeSend2('ow ow ow!', 33, 5, 5);
2: TypeSend2('yikes!', 33, 5, 5);
3: TypeSend2('waaaaaaaa mommy it hurtz!', 33, 5, 5);
4: TypeSend2('hey y u hurt me =[', 33, 5, 5);
5: TypeSend2('meanie!', 33, 5, 5);
6: TypeSend2('be nice!', 33, 5, 5);
7: TypeSend2('', 33, 5, 5);
8: TypeSend2('', 33, 5, 5);
9: TypeSend2('', 33, 5, 5);
end;
Wait(8500 + random(3500));
Mouse(x - 50, y + 50, 0, 0, true);
end;
'e' : Begin
Mouse(x + 50, y, 0, 0, true);
case random(10) of
0: TypeSend2('aaaaaaah!', 33, 5, 5);
1: TypeSend2('ow ow ow!', 33, 5, 5);
2: TypeSend2('yikes!', 33, 5, 5);
3: TypeSend2('waaaaaaaa mommy it hurtz!', 33, 5, 5);
4: TypeSend2('hey y u hurt me =[', 33, 5, 5);
5: TypeSend2('meanie!', 33, 5, 5);
6: TypeSend2('be nice!', 33, 5, 5);
7: TypeSend2('', 33, 5, 5);
8: TypeSend2('', 33, 5, 5);
9: TypeSend2('', 33, 5, 5);
end;
Wait(8500 + random(3500));
Mouse(x - 50, y, 0, 0, true);
end;
'se': Begin
Mouse(x + 50, y + 50, 0, 0, true);
case random(10) of
0: TypeSend2('aaaaaaah!', 33, 5, 5);
1: TypeSend2('ow ow ow!', 33, 5, 5);
2: TypeSend2('yikes!', 33, 5, 5);
3: TypeSend2('waaaaaaaa mommy it hurtz!', 33, 5, 5);
4: TypeSend2('hey y u hurt me =[', 33, 5, 5);
5: TypeSend2('meanie!', 33, 5, 5);
6: TypeSend2('be nice!', 33, 5, 5);
7: TypeSend2('', 33, 5, 5);
8: TypeSend2('', 33, 5, 5);
9: TypeSend2('', 33, 5, 5);
end;
Wait(8500 + random(3500));
Mouse(x - 50, y - 50, 0, 0, true);
end;
's' : Begin
Mouse(x, y + 50, 0, 0, true);
case random(10) of
0: TypeSend2('aaaaaaah!', 33, 5, 5);
1: TypeSend2('ow ow ow!', 33, 5, 5);
2: TypeSend2('yikes!', 33, 5, 5);
3: TypeSend2('waaaaaaaa mommy it hurtz!', 33, 5, 5);
4: TypeSend2('hey y u hurt me =[', 33, 5, 5);
5: TypeSend2('meanie!', 33, 5, 5);
6: TypeSend2('be nice!', 33, 5, 5);
7: TypeSend2('', 33, 5, 5);
8: TypeSend2('', 33, 5, 5);
9: TypeSend2('', 33, 5, 5);
end;
Wait(8500 + random(3500));
Mouse(x, y - 50, 0, 0, true);
end;
'sw': Begin
Mouse(x - 50, y + 50, 0, 0, true);
case random(10) of
0: TypeSend2('aaaaaaah!', 33, 5, 5);
1: TypeSend2('ow ow ow!', 33, 5, 5);
2: TypeSend2('yikes!', 33, 5, 5);
3: TypeSend2('waaaaaaaa mommy it hurtz!', 33, 5, 5);
4: TypeSend2('hey y u hurt me =[', 33, 5, 5);
5: TypeSend2('meanie!', 33, 5, 5);
6: TypeSend2('be nice!', 33, 5, 5);
7: TypeSend2('', 33, 5, 5);
8: TypeSend2('', 33, 5, 5);
9: TypeSend2('', 33, 5, 5);
end;
Wait(8500 + random(3500));
Mouse(x + 50, y - 50, 0, 0, true);
end;
'w' : Begin
Mouse(x - 50, y, 0, 0, true);
case random(10) of
0: TypeSend2('aaaaaaah!', 33, 5, 5);
1: TypeSend2('ow ow ow!', 33, 5, 5);
2: TypeSend2('yikes!', 33, 5, 5);
3: TypeSend2('waaaaaaaa mommy it hurtz!', 33, 5, 5);
4: TypeSend2('hey y u hurt me =[', 33, 5, 5);
5: TypeSend2('meanie!', 33, 5, 5);
6: TypeSend2('be nice!', 33, 5, 5);
7: TypeSend2('', 33, 5, 5);
8: TypeSend2('', 33, 5, 5);
9: TypeSend2('', 33, 5, 5);
end;
Wait(8500 + random(3500));
Mouse(x + 50, y, 0, 0, true);
end;
'nw': Begin
Mouse(x - 50, y - 50, 0, 0, true);
case random(10) of
0: TypeSend2('aaaaaaah!', 33, 5, 5);
1: TypeSend2('ow ow ow!', 33, 5, 5);
2: TypeSend2('yikes!', 33, 5, 5);
3: TypeSend2('waaaaaaaa mommy it hurtz!', 33, 5, 5);
4: TypeSend2('hey y u hurt me =[', 33, 5, 5);
5: TypeSend2('meanie!', 33, 5, 5);
6: TypeSend2('be nice!', 33, 5, 5);
7: TypeSend2('', 33, 5, 5);
8: TypeSend2('', 33, 5, 5);
9: TypeSend2('', 33, 5, 5);
end;
Wait(8500 + random(3500));
Mouse(x + 50, y + 50, 0, 0, true);
end;
end;
end;
FindNormalRandoms;
AutoRespond;
AutoChatter;
DwarfItem;
Loops := Loops + 1;
If Loops > 3 then
Begin
FindBrokenAxe;
Loops := 0;
end;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure ChopTree;
begin
if Not(LoggedIn) then exit;
GameTab(4);
if LowerCase(Players[CurrentPlayer].Strings[0]) = 'oak' then
if LowerCase(Players[CurrentPlayer].Strings[1]) = 'bank' then
Begin
MakeCompass('s');
LowestAngle;
end;
repeat
repeat
FindNormalRandoms;
if FindObj(x, y, 'down ' + Tree, Tree_C, GameColorTolerance) then
Begin
if Not(EntFinder) then
Begin
Mouse(x, y, 0, 0, true);
Flag;
MarkTime(TimeMarker);
tries := 0;
end;
end else
begin
Tries := Tries + 1;
if (tries >= 10) then
if Not(FindSymbol(x,y,'tree')) then
Begin
Writeln(Players[CurrentPlayer].Name + ': Could not find tree. Next Player.');
LogOut;
WorldSelect;
NextPlayer(False);
LogInSetup;
tries := 0;
exit;
end;
end;
until(IsUpText('down ' + Tree) and Not(EntFinder));
if IsUpText('down ' + Tree) then
Begin
repeat
CheckForRandoms;
if (TimeFromMark(TimeMarker) >= 30000 + random(5000)) then
Begin
Mouse(x, y ,0, 0, true);
MarkTime(TimeMarker);
end;
until (Not(IsUpText('down ' + Tree)) or (InvFull));
tries := 0;
end else Tries := Tries + 1;
CheckForRandoms;
if (tries >= 10) then
Begin
if Not(FindSymbol(x,y,'tree')) then
Begin
Writeln(Players[CurrentPlayer].Name + ': Could not find tree. Next Player.');
LogOut;
WorldSelect;
NextPlayer(False);
LogInSetup;
tries := 0;
exit;
end else
Begin
tries := 0;
Mouse(x + 6, y, 0, 0, true);
end;
end;
GameTab(4);
until(InvFull);
Tries := 0;
CheckForRandoms;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure DropLogs;
begin
if Not(LoggedIn) then exit;
GameTab(4);
for i:= 3 to 28 do
begin
DropItem(i);
end;
CheckForRandoms;
PlayerReport;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure VarrockBankLogsY;
Begin
if not(LoggedIn) then exit;
if not(InvFull) then exit;
FoundTree := false;
tries := 0;
Count := 0;
Attempts := 0;
Begin
SetRun(false);
MakeCompass('w');
PerfectNorth;
HighestAngle;
FindVarrockDirtRoadColor1(VarrockDirtColor,MMX1, MMY1, MMX2, MMY2);
RadialWalk(VarrockDirtColor, 255, 290, 42, 0, 0);
Flag;
RadialWalk(VarrockDirtColor, 176, 220, 64, 0, 0);
Flag;
RadialWalk(VarrockDirtColor, 176, 221, 63, 0, 0);
Flag;
RadialWalk(VarrockDirtColor, 167, 182, 62, 0, 0);
Flag;
RadialWalk(FindVarrockRoadColor, 113, 137, 59, 0, 0);
Flag;
RadialWalk(FindVarrockRoadColor, 193, 211, 66, 0, 0);
Flag;
if FindSymbol(x,y,'water') then
Begin
Mouse(x - 15,y,0,0,true);
Flag;
end else
If FindSymbol(x,y,'staff shop') then
Begin
Mouse(x + 15,y + 25,0,0,true)
Flag;
end else
If FindSymbol(x,y,'fur trader') then
Begin
Mouse(x - 50,y + 16,0,0,true);
flag;
end;
VarrockRoadColor := FindVarrockRoadColor;
RadialWalk(VarrockRoadColor, 204, 295, 68, 0, 0);
Flag;
RadialWalk(VarrockRoadColor, 200, 286, 46,0, 0);
Flag;
tries := 0;
Repeat
if ScanMMColorExact(x,y,0) then
Begin
Mouse(x - 14, y - 14, 0,10, true);
Flag;
OpenBankQuiet('vwb');
if Not(Players[CurrentPlayer].Strings[2] = '') then
Begin
InPin(Players[CurrentPlayer].Strings[2]);
end;
end;
If Not(BankScreen) then
Begin
if FindSymbol(x, y, 'bank') then
begin
Mouse(x, y - 6, 6, 3, true);
Flag;
OpenBankQuiet('vwb');
Flag;
Wait(1000 + random(500));
end else tries := tries + 1;
end;
If (tries >= 3) then
Begin
Writeln(Players[CurrentPlayer].Name + ': Could not find Bank. Attemting on another world.');
LogOut;
WorldSelect;
Wait(20000);
LoginPlayer;
CheckForRandoms;
SetRun(true);
Tries := 0;
Attempts := Attempts + 1;
end;
if Attempts >= 3 then
Begin
Writeln(Players[CurrentPlayer].Name + ': Failed to find Bank. Next Player.');
LogOut;
WorldSelect;
NextPlayer(False);
LogInSetup;
tries := 0;
Attempts := 0;
exit;
end;
wait(500 + random(250));
Until(BankScreen);
Wait(1000 + random(500));
if Not(BankScreen) then
if Not(Players[CurrentPlayer].Strings[2] = '') then
Begin
InPin(Players[CurrentPlayer].Strings[2]);
end;
if(BankScreen) then
begin
Banks := Banks + 1;
for i := 2 to 28 do
if (ExistsItem(i)) then
begin
MouseItem(i, false);
ChooseOption('ll');
Wait(750 + random(325));
end;
end;
Wait(500 + random(250));
Repeat
MMouse(477, 30, 20, 20);
Wait(500 + random (250));
If IsUpText('lose') then
Begin
GetMousePos(x, y);
ClickMouse(x, y, true);
end;
Wait(1000 + random (500));
if (BankScreen) then
Begin
If FindObj(x, y, 'lose', 4282212, GameColorTolerance) then
Begin
Mouse(x, y, 0, 0, true);
wait(500 + random(250));
end;
end;
until not(BankScreen);
PlayerReport;
SetRun(true);
HighestAngle;
MakeCompass('e');
PerfectNorth;
RadialWalk(FindVarrockRoadColor, 193, 224, 41, 0, 0);
Flag;
RadialWalk(FindVarrockRoadColor, 75, 114, 60, 0, 0);
Flag;
RadialWalk(FindVarrockRoadColor, 22, 60, 38, 0, 0);
Flag;
FindVarrockDirtRoadColor2(VarrockDirtColor,MMX1, MMY1, MMX2, MMY2);
Wait(250);
RadialWalk(VarrockDirtColor, 322, 354, 62, 0, 0);
Flag;
RadialWalk(VarrockDirtColor, 319, 357, 62, 0, 0);
Flag;
FindVarrockDirtRoadColor2(VarrockDirtColor,MMX1, MMY1, MMX2, MMY2);
Wait(250);
RadialWalk(VarrockDirtColor, 334, 373, 62, 0, 0);
Flag;
FindVarrockDirtRoadColor2(VarrockDirtColor,MMX1, MMY1, MMX2, MMY2);
Wait(250);
RadialWalk(VarrockDirtColor, 329, 368, 62, 0, 0);
Flag;
RadialWalk(VarrockDirtColor, 330, 382, 53, 0, 0);
Flag;
tries := 0;
attempts := 0;
Repeat
if FindSymbol(x, y, 'tree') then
Begin
FoundTree := true;
Mouse(x + 6, y, 0, 0, true);
Wait(500);
Flag;
if(FindObj(x, y, 'down ' + Tree, Tree_C, GameColorTolerance)) then
Begin
if Not(EntFinder) then
Mouse(x,y,0,0,true);
CheckForRandoms;
end;
end else
Begin
if Tries = 0 then
Begin
RadialRoadWalk(VarrockDirtColor, 30, 79, 44, 0, 0);
Flag;
end else
Begin
tries := tries + 1;
if tries >= 5 then
Begin
Writeln(Players[CurrentPlayer].Name + ': Could not find Tree. Attemting on another world.');
LogOut;
WorldSelect;
Wait(20000);
LoginPlayer;
CheckForRandoms;
SetRun(true);
Tries := 0;
Attempts := Attempts + 1;
end;
end;
if Attempts >= 5 then
Begin
Writeln(Players[CurrentPlayer].Name + ': Failed to find Tree. Next Player.');
LogOut;
WorldSelect;
NextPlayer(False);
LogInSetup;
tries := 0;
Attempts := 0;
exit;
end;
end;
if Not(LoggedIn) then exit;
until(FoundTree = true);
end;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure DraynorBankLogsW;
begin
if not(LoggedIn) then exit;
if not(InvFull) then exit;
FoundTree := false;
tries := 0;
Count := 0;
Attempts := 0;
SetRun(false);
MakeCompass('e');
PerfectNorth;
repeat
if FindSymbol(x,y,'fish') then
Begin
Mouse(x + 29, y - 58, 0, 0, true);
Flag;
OpenBankQuiet('db');
Wait(500 + random(250));
Flag;
if Not(Players[CurrentPlayer].Strings[2] = '') then
Begin
InPin(Players[CurrentPlayer].Strings[2]);
end;
if Not(BankScreen) then OpenBankQuiet('db');
Wait(500 + random(250));
Flag;
end;
If Not(BankScreen) then
Begin
if FindSymbol(x, y, 'bank') then
begin
Mouse(x, y, 0, 0, true);
Flag;
OpenBankQuiet('db');
Wait(500 + random(250));
Flag;
if Not(Players[CurrentPlayer].Strings[2] = '') then
Begin
InPin(Players[CurrentPlayer].Strings[2]);
end;
end else tries := tries + 1;
end;
If tries >= 3 then
Begin
Writeln(Players[CurrentPlayer].Name + ': Could not find Bank. Attemting on another world.');
LogOut;
WorldSelect;
Wait(20000);
LoginPlayer;
CheckForRandoms;
SetRun(true);
Tries := 0;
Attempts := Attempts + 1;
end;
if Attempts >= 3 then
Begin
Writeln(Players[CurrentPlayer].Name + ': Failed to find Bank. Next Player.');
LogOut;
WorldSelect;
NextPlayer(False);
LogInSetup;
tries := 0;
Attempts := 0;
exit;
end;
Wait(1000 + random(500));
Until(BankScreen);
if(BankScreen) then
begin
Banks := Banks + 1;
for i := 2 to 28 do
if (ExistsItem(i)) then
begin
MouseItem(i, false);
ChooseOption('ll');
Wait(500 + random(250));
end;
end;
Wait(500 + random(250));
Repeat
MMouse(477, 30, 20, 20);
Wait(500 + random (250));
If IsUpText('lose') then
Begin
GetMousePos(x, y);
ClickMouse(x, y, true);
end;
Wait(1000 + random (500));
if (BankScreen) then
If FindObj(x, y, 'lose', 4282212, GameColorTolerance) then
Begin
Mouse(x, y, 0, 0, true);
wait(500 + random(250));
end;
until not(BankScreen);
PlayerReport;
SetRun(true);
Mouse(620, 120, 0, 0, true);
HighestAngle;
PerfectNorth;
FFlag(1);
tries := 0;
Repeat
tries := tries + 1;
if(FindObj(x, y, 'down ' + Tree, Tree_C, GameColorTolerance)) then
Begin
FoundTree := true;
if Not(EntFinder) then
Mouse(x,y,0,0,true);
CheckForRandoms;
end else
Begin
if FindSymbol(x,y,'fish') then
begin
Mouse(x,y,0,0,true);
FFlag(2);
FoundTree := true;
end;
end;
if (tries >= 4) then
begin
Writeln(Players[CurrentPlayer].Name + ': Could not find Tree. Next Player.');
LogOut;
WorldSelect;
NextPlayer(False);
LogInSetup;
Break;
end;
until(FoundTree = true);
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure DraynorBankLogsT;
begin
if not(LoggedIn) then exit;
if not(InvFull) then exit;
FoundTree := false;
tries := 0;
Count := 0;
Attempts := 0;
SetRun(false);
MakeCompass('e');
PerfectNorth;
if Not(RadialRoadWalk(FindRoadColor, 175, 185, 66, 0, 0)) then
RadialRoadWalk(1929329, 175, 185, 68, 0, 0);
Wait(500);
RadialRoadWalk(FindRoadColor, 124, 166, 50, 0, 0);
Wait(500);
repeat
OpenBankQuiet('db');
Wait(500 + random(250));
if Not(Players[CurrentPlayer].Strings[2] = '') then
Begin
InPin(Players[CurrentPlayer].Strings[2]);
end;
if Not(BankScreen) then OpenBankQuiet('db');
Wait(500 + random(250));
Flag;
If Not(BankScreen) then
Begin
if FindSymbol(x, y, 'bank') then
begin
Mouse(x, y, 0, 0, true);
Flag;
OpenBankQuiet('db');
Wait(500 + random(250));
if Not(Players[CurrentPlayer].Strings[2] = '') then
Begin
InPin(Players[CurrentPlayer].Strings[2]);
end;
end else
if ScanMMColorExactTolerance(x, y, 524325, GameColorTolerance) then
Begin
Mouse(x + 15, y + 14, 0, 0, true);
OpenBankQuiet('db');
Wait(500 + random(250));
end else
Begin
tries := tries + 1;
If (tries >= 3) then
Begin
Writeln(Players[CurrentPlayer].Name + ': Could not find Bank. Attemting on another world.');
LogOut;
WorldSelect;
Wait(20000);
LoginPlayer;
CheckForRandoms;
SetRun(true);
Tries := 0;
Attempts := Attempts + 1;
end;
if Attempts >= 3 then
Begin
Writeln(Players[CurrentPlayer].Name + ': Failed to find Bank. Next Player.');
LogOut;
WorldSelect;
NextPlayer(False);
LogInSetup;
tries := 0;
Attempts := 0;
exit;
end;
end;
Wait(1000 + random(500));
end;
Until(BankScreen);
if BankScreen then
begin
Banks := Banks + 1;
for i := 2 to 28 do
if ExistsItem(i) then
begin
MouseItem(i, false);
ChooseOption('ll');
Wait(500 + random(250));
end;
end;
Wait(500 + random(250));
Repeat
MMouse(477, 30, 20, 20);
Wait(500 + random (250));
If IsUpText('lose') then
Begin
GetMousePos(x, y);
ClickMouse(x, y, true);
end;
Wait(1000 + random (500));
if (BankScreen) then
Begin
If FindObj(x, y, 'lose', 4282212, GameColorTolerance) then
Begin
Mouse(x, y, 0, 0, true);
wait(500 + random(250));
end;
end;
until not(BankScreen);
PlayerReport;
SetRun(true);
PerfectNorth;
RadialWalk(FindRoadColor, 293, 322, 60, 0, 0);
Wait(1000 + random(500));
Mouse(646,26,4,4,true);
Wait(500);
Flag;
tries := 0;
Repeat
if(FindObj(x, y, 'down ' + Tree, Tree_C, GameColorTolerance)) then
Begin
if Not(EntFinder) then
Mouse(x,y,0,0,true);
FoundTree := true;
CheckForRandoms;
end else
Begin
If FindSymbol(x, y, 'quest') then
Begin
Mouse(x + 5, Y - 47, 0, 0, true);
Flag;
end else
Begin
tries := tries + 1;
if (tries >= 5) then
begin
Writeln(Players[CurrentPlayer].Name + ': Could not find Tree. Next Player.');
LogOut;
WorldSelect;
NextPlayer(False);
LogInSetup;
Break;
end;
end;
end;
until(FoundTree = true);
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure DraynorBankLogsO;
begin
if not(LoggedIn) then exit;
if not(InvFull) then exit;
FoundTree := false;
tries := 0;
Count := 0;
Attempts := 0;
PerfectNorth;
HighestAngle;
repeat
if FindSymbol(x,y,'dungeon') then
Begin
Mouse(590, 105, 0, 0, true);
Flag;
Mouse(642, 102, 0, 0, true);
Flag;
break;
end else
if FindSymbol(x,y,'bank') then
Begin
Mouse(x, y, 0, 0, true);
tries := 0;
Flag;
break;
end else tries := tries + 1;
if tries >= 5 then
Mouse(610, 90, 0, 0, true);
until(tries >= 5);
repeat
OpenBankQuiet('db');
Wait(500 + random(250));
if Not(Players[CurrentPlayer].Strings[2] = '') then
Begin
InPin(Players[CurrentPlayer].Strings[2]);
end;
if Not(BankScreen) then OpenBankQuiet('db');
Wait(500 + random(250));
Flag;
If Not(BankScreen) then
Begin
if FindSymbol(x, y, 'bank') then
begin
Mouse(x, y, 0, 0, true);
Flag;
OpenBankQuiet('db');
Wait(500 + random(250));
if Not(Players[CurrentPlayer].Strings[2] = '') then
Begin
InPin(Players[CurrentPlayer].Strings[2]);
end;
end else
if ScanMMColorExactTolerance(x, y, 1116750, GameColorTolerance) then
Begin
Mouse(x + 15, y + 14, 0, 0, true);
OpenBankQuiet('db');
Wait(500 + random(250));
end else
Begin
tries := tries + 1;
If (tries >= 3) then
Begin
Writeln(Players[CurrentPlayer].Name + ': Could not find Bank. Attemting on another world.');
LogOut;
WorldSelect;
Wait(20000);
LoginPlayer;
CheckForRandoms;
SetRun(true);
Tries := 0;
Attempts := Attempts + 1;
end;
if Attempts >= 3 then
Begin
Writeln(Players[CurrentPlayer].Name + ': Failed to find Bank. Next Player.');
LogOut;
WorldSelect;
NextPlayer(False);
LogInSetup;
tries := 0;
Attempts := 0;
exit;
end;
end;
Wait(1000 + random(500));
end;
Until(BankScreen);
if(BankScreen) then
begin
Banks := Banks + 1;
for i := 2 to 28 do
if (ExistsItem(i)) then
begin
MouseItem(i, false);
ChooseOption('ll');
Wait(500 + random(250));
end;
end;
Wait(500 + random(250));
Repeat
MMouse(477, 30, 20, 20);
Wait(500 + random (250));
If IsUpText('lose') then
Begin
GetMousePos(x, y);
ClickMouse(x, y, true);
end;
Wait(1000 + random (500));
if (BankScreen) then
Begin
If FindObj(x, y, 'lose', 4282212, GameColorTolerance) then
Begin
Mouse(x, y, 0, 0, true);
wait(500 + random(250));
end;
end;
until not(BankScreen);
PlayerReport;
SetRun(true);
PerfectNorth;
Mouse(676, 92, 0, 0, true);
Flag;
tries := 0;
MakeCompass('s');
LowestAngle;
Repeat
if(FindObj(x, y, 'down ' + Tree, Tree_C, GameColorTolerance)) then
Begin
If Not(EntFinder) then
Mouse(x,y,0,0,true);
FoundTree := true;
CheckForRandoms;
end else
if ScanMMColorExactTolerance(x, y, 532061, GameColorTolerance) then
Begin
Mouse(x + 24, y + 40, 0, 0, true);
OpenBankQuiet('db');
Wait(500 + random(250));
end else
Begin
tries := tries + 1;
if (tries >= 5) then
begin
Writeln(Players[CurrentPlayer].Name + ': Could not find Tree. Next Player.');
LogOut;
WorldSelect;
NextPlayer(False);
LogInSetup;
Break;
end;
end;
until(FoundTree = true);
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure Setup;
begin
SetupSRL;
ScriptID := '355';
ClearDebug;
Disguise('iTunes');
Fr0zn_S0uls_Greeting;
Wait(1500);
ActivateClient;
DeclarePlayers;
LoginPlayer;
NWorld := 0;
Wait(1000 + random(500));
LogInSetup;
LogCounter := 0;
FreeSlot := 1;
x := 540 + random(200);
y := 180 + random(250);
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Begin
Setup;
Repeat
ChopTree;
Case LowerCase(Players[CurrentPlayer].Strings[1]) of
'bank': Case LowerCase(Players[CurrentPlayer].Strings[0]) of
'willow' : DraynorBankLogsW;
'tree' : DraynorBankLogsT;
'oak' : DraynorBankLogsO;
'yew' : VarrockBankLogsY;
end;
'drop': DropLogs;
else
Begin
ReadLn('Please enter a valid log option(bank or drop)');
RaiseException(ErCouldNotCallProc, 'Invalid Log Option');
end;
end;
CheckForRandoms;
If LoadsTillLog <= 0 then
begin
LogOut;
WorldSelect;
Wait(500 + random(250));
if LogOutWait = true then
begin
LogCounter := LogCounter + 1;
if LogOutWaitEvery <= LogCounter then
begin
LogCounter := 0;
Wait(LogOutWaitFor * 60000);
end;
end;
LoadsTillLog := LogOutEvery + random(2);
NextPlayer(True);
LogInSetup;
end;
if (Players[CurrentPlayer].Integers[1] >= Players[CurrentPlayer].Integers[0]) then
Begin
Writeln(Players[CurrentPlayer].Name + ': Finished Training =).');
Logout;
WorldSelect;
NextPlayer(false);
LogInSetup;
end;
if Not(LoggedIn) then
if ActivePlayers > 0 then
NextPlayerOrder(True);
until(ActivePlayers = 0);
WriteLn('Thanks For Using My Script! Have a Nice Day =)');
end.——————————————————
<!– END TEMPLATE: formanswers –>