FrÕzÑ_§ÕµL
2007-10-01 16:43:33
<!– 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 C
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.
I have been part of this great community for a while now. I really enjoy testing peoples scripts and of course I LOVE writing my own ones. You get a certain satisfaction with a job well done. When RuneScape was updated and SRL 4 BETA was released, I edited Azzons GnomeAgilityRunner for him, as he had not been active for quite a while. I did ask for permission first :). If you wish that thread can be found at http://www.villavu.com/forum/showthread.php?t=16551?p=202149#post202149
I have spent the last month working on the script I have attached, and I am very please with how it works, especially the Draynor Willow Cutter and Banker section. I am using 5 characters, and they are all above level 60 woodcutting now.
Here is a randoms report:
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
| SRL 4 Randoms Report |
| www.srl-forums.com |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| SRL Logs : 30 |
| Fights : 9 |
| Talks : 19 |
| Dwarfs : 1 |
| Ricks : 4 |
| Old Men : 7 |
| Sandwiches : 1 |
| Lamps Solved : 2 |
| Capn Hand : 3 |
| Certers Missed : 1 |
| Boxes Solved : 6 |
| Ents Found : 33 |
——————————————————
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 C
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.
I have been part of this great community for a while now. I really enjoy testing peoples scripts and of course I LOVE writing my own ones. You get a certain satisfaction with a job well done. When RuneScape was updated and SRL 4 BETA was released, I edited Azzons GnomeAgilityRunner for him, as he had not been active for quite a while. I did ask for permission first :). If you wish that thread can be found at http://www.villavu.com/forum/showthread.php?t=16551?p=202149#post202149
I have spent the last month working on the script I have attached, and I am very please with how it works, especially the Draynor Willow Cutter and Banker section. I am using 5 characters, and they are all above level 60 woodcutting now.
Here is a randoms report:
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
| SRL 4 Randoms Report |
| www.srl-forums.com |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| SRL Logs : 30 |
| Fights : 9 |
| Talks : 19 |
| Dwarfs : 1 |
| Ricks : 4 |
| Old Men : 7 |
| Sandwiches : 1 |
| Lamps Solved : 2 |
| Capn Hand
| Certers Missed : 1 |
| Boxes Solved : 6 |
| Ents Found : 33 |
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\ Fr0zn S0ul's Multi-Tree Chopper Banker~Dropper \\//\\//\\//\\}
{//\\//\\//\\// Version: 0.9 //\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
{//\\//\\//\\ Hi, thanks for using my script. If you have any \\//\\//\\//}
{\\//\\//\\// questions, problems or suggestions, feel free to //\\//\\//\\}
{//\\//\\//\\ contact me at SRL Forums. \\//\\//\\//}
{\\//\\//\\// //\\//\\//\\}
{//\\//\\//\\ Make sure you set up the script in lines 58 - 126. \\//\\//\\//}
{\\//\\//\\// Run RuneScape in your internet browser on low detail.//\\//\\//\\}
{//\\//\\//\\ Do not use clients! \\//\\//\\//}
{\\//\\//\\// Drag the crosshair on your SCAR toolbar onto the //\\//\\//\\}
{\\//\\//\\// RuneScape login screen. //\\//\\//\\}
{\\//\\//\\// Start player by the tree you wish to cut. //\\//\\//\\}
{//\\//\\//\\ Sit back and watch some TV or go make yourself \\//\\//\\//}
{\\//\\//\\// a cup of coffee =) //\\//\\//\\}
{//\\//\\//\\ Script was made using SCAR 3.12 and SRL 4. \\//\\//\\//}
{\\//\\//\\// //\\//\\//\\}
{//\\//\\//\\ Fr0zn S0ul \\//\\//\\//}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\// Current Version: 0.9 \\//\\//\\//\\//\\//\\//\\//}
{//\\//\\//\\//\\//\\//\\ *Release Notes* //\\//\\//\\//\\//\\//\\//\\}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
{//\\//\\//\\ Version 1.0: \\//\\//\\//}
{\\//\\//\\// Release version(script not released yet) //\\//\\//\\}
{\\//\\//\\// //\\//\\//\\}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
program Tree_Chopper_Burner;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/WoodCutting.scar}
var
x, y, i, Count, LogCounter, LogOutEvery, LogOutWaitEvery, LogOutWaitFor, LoadsTillLog : Integer;
LevelsGained, XPNextLevel, NextLevel, Tries, Tree_C, Log_C, TimeMarker, Player, Attempts : Integer;
NWorld, OWorld, SetRunEvery, RunEvery, Total, ActivePlayers : Integer;
Tree : String;
LogOutWait, FoundTree, FoundSymbol : Boolean;
{.include SRL/SRL/misc/WorldSwitcher.scar}
const
g_ColorTol = 10; //Game screen color tolerance
Knife_C = 538966; //Knife color, don't need yet =p
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure DeclarePlayers;
begin
HowManyPlayers := 5; // How many players to use.
NumberOfPlayers( HowManyPlayers ); //Leave this.
CurrentPlayer := 0; // Start Player? eg 1 means Players[0].name
SRLID := ''; // Don't have this? Please register at:
SRLPassword := ''; // [url]http://www.stats.srl-forums.com/[/url]
LampSkill := 'woodcutting';
SetRunEvery := 5; //Turn run on every how many loads
LogOutEvery := 20; //NextPlayer every how many loads
LogOutWait := true; //Logout for an extra amount of time?
LogOutWaitEvery := 7; //How often to do LogOutWait (In loads)
LogOutWaitFor := 5 + random(10); //How long 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 accname 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, Bank
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].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].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].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].Booleans[0] := false;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
procedure WaitOnFlag;
begin
repeat
Wait(500+random(250));
if not(LoggedIn) then Exit;
until(FlagPresent = false);
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure WorldSelect;
Begin
if Players[Player].Booleans[0] = false then
Begin
Repeat
case random(71) of
0: NWorld := 4;
1: NWorld := 5;
2: NWorld := 7;
3: NWorld := 8;
4: NWorld := 10;
5: NWorld := 11;
6: NWorld := 13;
7: NWorld := 14;
8: NWorld := 15;
9: NWorld := 16;
10: NWorld := 17;
11: NWorld := 19;
12: NWorld := 20;
13: NWorld := 21;
14: NWorld := 25;
15: NWorld := 29;
16: NWorld := 30;
17: NWorld := 32;
18: NWorld := 33;
19: NWorld := 34;
20: NWorld := 35;
21: NWorld := 37;
22: NWorld := 38;
23: NWorld := 40;
24: NWorld := 41;
25: NWorld := 43;
26: NWorld := 47;
27: NWorld := 50;
28: NWorld := 51;
29: NWorld := 52;
30: NWorld := 55;
31: NWorld := 57;
32: NWorld := 61;
33: NWorld := 62;
34: NWorld := 63;
35: NWorld := 67;
36: NWorld := 68;
37: NWorld := 72;
38: NWorld := 74;
39: NWorld := 75;
40: NWorld := 80;
41: NWorld := 81;
42: NWorld := 85;
43: NWorld := 86;
44: NWorld := 87;
45: NWorld := 90;
46: NWorld := 93;
47: NWorld := 94;
48: NWorld := 95;
49: NWorld := 96;
50: NWorld := 101;
51: NWorld := 102;
52: NWorld := 105;
53: NWorld := 106;
54: NWorld := 107;
55: NWorld := 108;
56: NWorld := 109;
57: NWorld := 113;
58: NWorld := 117;
59: NWorld := 118;
60: NWorld := 119;
61: NWorld := 125;
62: NWorld := 126;
63: NWorld := 127;
64: NWorld := 128;
65: NWorld := 133;
66: NWorld := 134;
67: NWorld := 135;
68: NWorld := 136;
69: NWorld := 141;
70: NWorld := 142;
end;
until(NWorld <> OWorld);
end else
Begin
Repeat
case random(61) of
0: NWorld := 9;
1: NWorld := 12;
2: NWorld := 18 ;
3: NWorld := 22 ;
4: NWorld := 23;
5: NWorld := 24;
6: NWorld := 26
7: NWorld := 27;
8: NWorld := 28;
9: NWorld := 31;
10: NWorld :=36;
11: NWorld :=39;
12: NWorld := 42;
13: NWorld := 44;
14: NWorld := 45;
15: NWorld := 46;
16: NWorld := 48;
17: NWorld := 53;
18: NWorld := 54;
19: NWorld := 56;
20: NWorld := 58;
21: NWorld := 59;
22: NWorld := 64;
23: NWorld := 65;
24: NWorld := 66;
25: NWorld := 69;
26: NWorld := 70;
27: NWorld := 71;
28: NWorld := 76;
29: NWorld := 77;
30: NWorld := 78;
31: NWorld := 79;
32: NWorld := 82;
33: NWorld := 83;
34: NWorld := 84;
35: NWorld := 88;
36: NWorld := 89;
37: NWorld := 91;
38: NWorld := 92;
39: NWorld := 97;
40: NWorld := 98;
41: NWorld := 99;
42: NWorld := 100;
43: NWorld := 103;
44: NWorld := 104;
45: NWorld := 110;
46: NWorld := 111;
47: NWorld := 112;
48: NWorld := 114;
49: NWorld := 115;
50: NWorld := 116;
51: NWorld := 120;
52: NWorld := 121;
53: NWorld := 124;
54: NWorld := 129;
55: NWorld := 130;
56: NWorld := 131;
57: NWorld := 132;
58: NWorld := 137;
59: NWorld := 138;
60: NWorld := 143;
end;
until(Nworld <> OWorld);
end;
SelectWorld(NWorld);
OWorld := NWorld;
end;
{*******************************************************************************
function FindEnt(fx, fy: Integer; AvoidWhenFound: Boolean): Boolean;
By: Sumilion
Description: Will look for an Ent and avoid if found.
*******************************************************************************}
function FindEnt2(fx, fy: Integer; AvoidWhenFound: Boolean): Boolean;
var
arUpTextEntColorPoints: TPointArray;
x, y, EntTime, tcts: Integer;
begin
if not(LoggedIn)then
Exit;
GetMousePos(x, y);
if(x <> fx)or(y <> fy)then
MMouse(fx, fy, 0, 0);
if(IsUpText('Chop'))then
begin
tcts := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorspeed2Modifiers(0.4, 0.4);
FindColorsTolerance(arUpTextEntColorPoints, 51657, 80, 6, 127, 20, 5);
Result := Length(arUpTextEntColorPoints) > 10;
ColorToleranceSpeed(tcts);
end;
if(Result)then
begin
WriteLn('Ent Found!!');
if(AvoidWhenFound)then
begin
x := 644;
y := 83;
Mouse(x, y + 10, 0, 0, true);
Writeln('Waiting for it to go away.');
MarkTime(EntTime);
while(TimeFromMark(EntTime) < 35000)do
if(Random(20) > 15)then
IdleTime(500, 500, 0.4)
else
Wait(500 + Random(500));
EntsAvoided := EntsAvoided + 1;
Mouse(x, y - 10, 0, 0, true);
WaitOnFlag;
end;
end;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
procedure TreeSetup;
Begin
if(Players[Player].Strings[0] = 'Tree') then
begin
Tree := 'Tree';
Tree_C := 2308923;
Log_C := 3957891 ;
end;
if(Players[Player].Strings[0] = 'Oak') then
begin
Tree := 'Oak';
Tree_C := 3297360;
Log_C := 4156040;
end;
if(Players[Player].Strings[0] = 'Willow') then
begin
Tree := 'Willow';
Tree_C := 2178873;
Log_C := 1919828;
end;
if(Players[Player].Strings[0] = 'Yew') then
begin
Tree := 'Yew';
Tree_C := 3890520;
Log_C := 607323;
end;
if(Players[Player].Strings[0] = 'Magic') then
begin
Tree := 'Magic';
Tree_C := 0;
Log_C := 6523539;
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('\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\');
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure PlayerReport;
Begin
if (Players[Player].Integers[2] <= 0) then
Begin
Players[Player].Integers[2] := GetSkillLevel('WoodCutting');
end;
LevelsGained := GetSkillLevel('WoodCutting') - Players[Player].Integers[2];
NextLevel := GetSkillLevel('WoodCutting') + 1;
XPNextLevel := XpTilNextLevel('WoodCutting', false);
Total := 0;
ActivePlayers := 0;
for i := 0 to HowManyPlayers - 1 do
Begin
Total := Total + Players[i].Integers[1];
if (Players[i].Active = true) then
Begin
ActivePlayers := ActivePlayers + 1;
end;
end;
WriteLn('');
WriteLn('() (=================================================)');
WriteLn('() (= Fr0zn S0uls Multi-Tree Chopper Banker~Dropper =)');
WriteLn('() (= ' + Players[Player].Name + chr(39) + 's Report');
WriteLn('() (=================================================)');
WriteLn('() (= Woodcutting Levels Gained: ' + IntToStr(LevelsGained));
Writeln('() (= ' + IntToStr(XPNextLevel) + ' XP To Level ' + IntToStr(NextLevel) + ' Woodcutting');
WriteLn('() (= Done ' + IntToStr(Players[Player].Integers[1]) + ' of ' + IntToStr(Total) + ' Total Loads' + ' (' + IntToStr(ActivePlayers) + ' Players Still Active)');
Writeln('() (= Script Running For: ' + TimeRunning);
WriteLn('() (=================================================)');
WriteLn('');
SRLRandomsReport;
ReportVars[0] := Total;
ReportVars[1] := LevelsGained;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
procedure InvAmount;
begin
Count := 0;
for i := 1 to 28 do
begin
if (existsItem(i)) then Count := Count + 1;
end;
end;
procedure CheckForRandoms; forward;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
procedure LogInSetup;
Begin
LoadsTillLog := LogOutEvery + random(2);
Player := Player + 1;
tries := 0;
repeat
Begin
if (Player = HowManyPlayers) then
Begin
Player := 0;
end;
if (Players[Player].Active = false) then
Begin
Player := Player + 1;
tries := tries + 1
if (tries >= HowManyPlayers + 1) then
Begin
WriteLn('All Players Finished Training. Have a Nice Day.');
TerminateScript;
end;
end;
end;
until((Players[Player].Active = true) or (tries >= HowManyplayers + 2))
TreeSetup;
tries := 0;
NickNameBMP := CreateBitmapMaskFromText(Players[Player].Nick, Upchars);
WriteLn(Players[Player].Name + ': Lets Cut Some Trees!');
MakeCompass('N');
HighestAngle;
Mouse(32,491,0,0,true);
SetChat('on', 1);
SetChat('off', 2);
SetRun(true);
CheckForRandoms;
end;
{*******************************************************************************
function SolveChatRandom: Boolean;
By: Nielsie95
Description: Solves a random when there's found one inchat.
*******************************************************************************}
function SolveChatRandom2: Boolean;
var
Event: string;
begin
if (not SolveChatRandoms) or (not AreTalking) then
Exit;
Event := GetNPCEvent;
case Capitalize(Event) of
'Unknown': Exit;
'Pious Pete': // Candle Lighting
begin
Writeln(Players[Player].Name + ': Stupid Pete =(');
Logout;
WorldSelect;
NextPlayer(false);
LogInSetup;
Result := True;
Exit;
end;
'Mysterious Old Man': // Maze + Pinball
begin
if ((GetColor(83, 431) = 0) and (GetColor(88, 418) = 0)) or
((GetColor(83, 430) = 0) and (GetColor(88, 417) = 0)) or
((GetColor(151, 426) = 0) and (GetColor(470, 393) = 0) and
(GetColor(372, 370) = 128)) then
begin
SolvePinball;
end
Exit;
end;
'Quiz Master': FindQuiz; // Quiz Master
'Prison Pete': // ScapeRune balloons
begin
Inc(ScapeRunes);
Writeln(Players[Player].Name + ': Yay Balloon Animals!');
Logout;
WorldSelect;
NextPlayer(false);
LogInSetup;
Result := True;
Exit;
end;
'Sergeant Damien': FindDemon; // Camo
'Leo The Gravedigger': // Zombie
begin
Writeln(Players[Player].Name + ': I Don' + chr(39) + 't Want To Dig Any Graves! ');
Logout;
WorldSelect;
NextPlayer(false);
LogInSetup;
Result := True;
Exit;
end;
'Evil Bob': // ScapeRune island
begin
Inc(ScapeRunes);
Writeln(Players[Player].Name + ': An Evil Cat? What is the World Coming To?!');
Logout;
WorldSelect;
NextPlayer(false);
LogInSetup;
Result := True;
Exit;
end;
'Freaky Forester': // Lederhosen
begin
Writeln(Players[Player].Name + ': Since When Do Birds Have More Than One Tail...');
Logout;
WorldSelect;
NextPlayer(false);
LogInSetup;
Result := True;
Exit;
end;
'Mr Mordaut': // Surprise Exam
begin
Writeln(Players[Player].Name + ': School? NO WAY!');
Logout;
WorldSelect;
NextPlayer(false);
LogInSetup;
Result := True;
Exit;
end;
end;
end;
{*******************************************************************************
function FindNormalRandoms: Boolean;
by: The SRL Developers Team!... all time sexiness by Mutant
Description: Calls the 'normal' random checks.
*******************************************************************************}
function FindNormalRandoms2: Boolean;
var
i: Integer;
begin
for i := 0 to 14 do
begin
case I of
0: if SolveChatRandom2 then
Result := True;
1: if SolveTalkingRandom(Players[CurrentPlayer].Nick) then
Result := True;
2: Respond;
3: if FindTalk then
Result := True;
4: if FindDead then
Begin
Writeln(Players[Player].Name + ': Noooo I died =...(');
Logout;
WorldSelect;
NextPlayer(false);
LogInSetup;
Result := True;
end;
5: if FindMod then
Begin
Writeln(Players[Player].Name + ': Ooh A Moderator!');
Logout;
WorldSelect;
MakeCompass('N');
HighestAngle;
SetRun(true);
Result := True;
end;
6: if FindDemon then
Result := True;
7: if FindMime then
Begin
Writeln(Players[Player].Name + ': Miming?! Why Can' + chr(39) + 't You Just Talk?');
WorldSelect;
NextPlayer(false);
LogInSetup;
Result := True;
end;
8: if FindMaze then
Begin
Writeln(Players[Player].Name + ': Aww Mazes Are Too Hard =(');
WorldSelect;
NextPlayer(false);
LogInSetup;
Result := True;
end;
9: if FindQuiz then
Result := True;
10: if FindTalk then // Call it twice
Result := True;
11: if FindLamp(LampSkill) then // Maybe we missed it?
Result := True;
12: if (FindBox) then
begin
Result := True;
if (UseBoxSolver) then
SolveBox
else
GambleBox;
end;
13:
begin
if NoGameTab then
begin
Wait(3000 + Random(300));
if SolveChatRandom2 then
begin
Result := True;
Exit;
end;
Logout;
WorldSelect;
NextPlayer(false);
LogInSetup;
Result := True;
Exit;
end;
end;
14: if RC then
Result := True;
end;
if Result then
Break;
end;
If Not(LoggedIn) then
Begin
Writeln(Players[Player].Name + ': Hey Why Are We Just Sitting Here?');
WorldSelect;
NextPlayer(false);
LogInSetup;
end;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure CheckForRandoms;
begin
FindEnt2(x,y,true);
if (FindFight) then
begin
x := 644;
y := 83;
Mouse(x, y + 50, 0, 0, true);
Wait(8500 + random(3500));
Mouse(x, y - 50, 0, 0, true);
end;
FindNormalRandoms2;
DwarfItem;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure ChopTree;
begin
if Not(LoggedIn) then exit;
GameTab(4);
repeat
if FindObj(x, y, 'down ' + Tree, Tree_C, g_ColorTol) then
begin
Mouse(x, y, 0, 0, true);
wait(1000 + random(500));
MarkTime(TimeMarker);
if FindBlackChatMessage('have an axe') then
begin
Writeln(Players[Player].Name + ': Aww my axe broke =(');
Logout;
WorldSelect;
NextPlayer(false);
LogInSetup;
end;
if FindBlackChatMessage('to chop down') then
Begin
WriteLn(Players[Player].Name + ': I can' + chr(39) + 't cut this tree yet!');
Logout;
WorldSelect;
NextPlayer(false);
LogInSetup
end;
if IsUpText('down ' + Tree) then
Begin
MMouse(x, y, 0, 0);
repeat
CheckForRandoms;
InvAmount;
if (TimeFromMark(TimeMarker) >= 30000 + random(5000)) then
Begin
Mouse(x, y ,0, 0, true);
MarkTime(TimeMarker);
end;
until (Not(IsUpText('down ' + Tree)) or (Count = 28));
tries := 0;
end;
end else Tries := Tries + 1;
CheckForRandoms;
if (tries >= 10) then
begin
if Not(FindSymbol(x,y,'tree')) then
Begin
Writeln(Players[Player].Name + ': Could not find tree. Next Player.');
exit;
end else tries := 0;
end;
GameTab(4);
InvAmount;
until(Count = 28);
Tries := 0;
CheckForRandoms;
Players[Player].Integers[1] := Players[Player].Integers[1] + 1;
LoadsTillLog := LoadsTillLog - 1;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure DropLogs;
begin
if Not(LoggedIn) then exit;
GameTab(4);
for i:= 3 to 24 do
begin
DropItem(i);
end;
Mouse(580,445,5,5,false);
Wait(100 + random(50));
ChooseOption('Drop');
Mouse(620,445,5,5,false);
Wait(100 + random(50));
ChooseOption('Drop');
Mouse(660,440,5,5,false);
Wait(100 + random(50));
ChooseOption('Drop');
Mouse(700,440,5,5,false);
Wait(100 + random(50));
ChooseOption('Drop');
CheckForRandoms;
PlayerReport;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure VarrockBankLogs;
Begin
if not(LoggedIn) then exit;
InvAmount;
if not(count = 28) then exit;
FoundTree := false;
tries := 0;
Count := 0;
Attempts := 0;
SetRun(true);
MakeCompass('w');
PerfectNorth;
HighestAngle;
Mouse(601,118,0,0,true);
WaitOnFlag;
if FindSymbol(x, y, 'short cut') then
Begin
Mouse(x + 5,y,0,0,true);
WaitOnFlag;
Mouse(669,134,0,0,true);
WaitOnFlag
Mouse(645,153,0,0,true);
WaitOnFlag
Mouse(657,121,0,0,true);
WaitOnFlag
Mouse(698,108,0,0,true);
WaitOnFlag
Mouse(644,115,0,0,true);
WaitOnFlag
Mouse(614,130,0,0,true);
WaitOnFlag
Mouse(576,94,0,0,true);
WaitOnFlag
Mouse(610,49,0,0,true);
WaitOnFlag;
MakeCompass('e');
LowestAngle;
OpenBankQuiet('vwb');
WaitOnFlag;
if Not(bankScreen) then OpenBankQuiet('vwb');
Wait(1000 + random(500));
If Not(BankScreen) then
Begin
Repeat
MMouse(229, 126, 20, 20);
Wait(500 + random (250));
If IsUpText('ooth') then
Begin
GetMousePos(x, y);
ClickMouse(x, y, false);
Wait(500 + random(250));
ChooseOption('uickly');
end;
Wait(500 + random (250));
if Not(BankScreen) then tries := tries + 1;
If (tries >= 3) then
Begin
Writeln(Players[Player].Name + ': Failed to find Bank. Next Player.');
LogOut;
WorldSelect;
NextPlayer(False);
LogInSetup;
exit;
tries := 0;
end;
Until(BankScreen);
end;
if(BankScreen) then
begin
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(500 + random (250));
if (BankScreen) then
Begin
If FindObj(x, y, 'lose', 4282212, G_ColorTol) then
Begin
Mouse(x, y, 0, 0, true);
wait(500 + random(250));
end;
end;
until not(BankScreen);
PerfectNorth;
HighestAngle;
Mouse(703,89,0,0,true);
WaitOnFlag;
Mouse(700,99,0,0,true);
WaitOnFlag;
FoundSymbol := false
Repeat
if FindSymbol(x, y, 'fur trader') then
Begin
FoundSymbol := true
Mouse(x, y, 0, 0, true);
WaitOnFlag;
Mouse(618,28,0,0,true);
WaitOnFlag;
Mouse(579,53,0,0,true);
WaitOnFlag;
Mouse(629,15,0,0,true);
WaitOnFlag;
Mouse(626,15,0,0,true);
WaitOnFlag;
Mouse(653,37,0,0,true);
WaitOnFlag;
if FindSymbol(x,y,'tree') then
Begin
Mouse(x - 5, y, 0, 0, true);
end;
end;
until(FoundSymbol = true);
end else
Begin
Writeln(Players[Player].Name + ': Unable to get to bank. Dropping Logs.');
DropLogs;
end;
PlayerReport;
GameTab(4);
tries := 0;
Repeat
tries := tries + 1;
if(FindObj(x, y, 'down ' + Tree, Tree_C, g_ColorTol)) then
Begin
Mouse(x,y,0,0,true);
FoundTree := true;
CheckForRandoms;
end else
Begin
if FindSymbol(x,y,'tree') then
begin
Mouse(x,y,0,0,true);
WaitOnFlag;
end;
end;
if (tries >= 4) then
begin
Writeln(Players[Player].Name + ': Could not find Tree. Next Player.');
LogOut;
WorldSelect;
NextPlayer(False);
LogInSetup;
Break;
end;
until(FoundTree = true);
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure DraynorBankLogs;
begin
if not(LoggedIn) then exit;
InvAmount;
if not(count = 28) then exit;
FoundTree := false;
tries := 0;
Count := 0;
Attempts := 0;
MakeCompass('w');
LowestAngle;
repeat
if FindSymbol(x,y,'fish') then
Begin
Mouse(x + 67, y + 32, 0, 0, true);
CheckForRandoms;
WaitOnFlag;
OpenBankQuiet('db');
WaitOnFlag;
if Not(bankScreen) then OpenBankQuiet('db');
WaitOnFlag;
Wait(500 + random(250));
end;
If Not(BankScreen) then
Begin
if FindSymbol(x, y, 'bank') then
begin
Mouse(x, y - 6, 6, 3, true);
CheckForRandoms;
WaitOnFlag;
OpenBankQuiet('db');
WaitOnFlag;
Wait(1000 + random(500));
end else tries := tries + 1;
end;
If (tries >= 3) then
Begin
Writeln(Players[Player].Name + ': Could not find Bank. Attemting on another world.');
LogOut;
WorldSelect;
Wait(20000);
LoginPlayer;
CheckForRandoms;
MakeCompass('w');
SetRun(true);
Tries := 0;
Attempts := Attempts + 1;
end;
if Attempts >= 5 then
Begin
Writeln(Players[Player].Name + ': Failed to find Bank. Next Player.');
LogOut;
WorldSelect;
NextPlayer(False);
LogInSetup;
exit;
tries := 0;
Attempts := 0;
end;
Until(BankScreen);
if(BankScreen) then
begin
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(500 + random (250));
if (BankScreen) then
Begin
If FindObj(x, y, 'lose', 4282212, G_ColorTol) then
Begin
Mouse(x, y, 0, 0, true);
wait(500 + random(250));
end;
end;
until not(BankScreen);
Mouse(605, 55, 2, 2, true);
PlayerReport;
HighestAngle;
PerfectNorth;
WaitOnFlag;
tries := 0;
Repeat
tries := tries + 1;
if(FindObj(x, y, 'down ' + Tree, Tree_C, g_ColorTol)) then
Begin
Mouse(x,y,0,0,true);
FoundTree := true;
CheckForRandoms;
end else
Begin
if FindSymbol(x,y,'fish') then
begin
Mouse(x,y,0,0,true);
WaitOnFlag;
end;
end;
if (tries >= 4) then
begin
Writeln(Players[Player].Name + ': Could not find Tree. Next Player.');
LogOut;
WorldSelect;
NextPlayer(False);
LogInSetup;
Break;
end;
until(FoundTree = true);
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Procedure Setup;
begin
SetupSRL;
ScriptID := '355';
ClearDebug;
Disguise('iTunes');
Fr0zn_S0uls_Greeting;
Wait(250+random(125));
ActivateClient;
GetApplication.Minimize;
Wait(250+random(125));
DeclarePlayers;
Player := CurrentPlayer - 1;
for i := 0 to (HowManyPlayers - 1) do
Begin
Players[i].Integers[1] := 0;
Players[i].Integers[2] := 0
end;
Wait(500 + random(250));
LoginPlayer;
RunEvery := SetRunEvery;
OWorld := 0;
LogInSetup;
NickNameBMP := CreateBitmapMaskFromText(Players[Player].Nick, Upchars);
LoadsTillLog := LogOutEvery + random(2);
GameTab(2);
Tries := 0;
LogCounter := 0;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
Begin
Setup;
Repeat
if Not(LoggedIn) then Exit;
ChopTree;
Case LowerCase(Players[Player].Strings[1]) of
'bank': Begin
if LowerCase(Players[Player].Strings[0]) = 'willow' then
Begin
DraynorBankLogs;
end;
if LowerCase(Players[Player].Strings[0]) = 'yew' then
Begin
VarrockBankLogs;
end;
end;
'drop': DropLogs;
end;
CheckForRandoms;
RunEvery := RunEvery - 1;
If RunEvery <=0 then
Begin
SetRun(true);
RunEvery := SetRunEvery;
end;
If (LoadsTillLog = 0) then
begin
LogOut;
WorldSelect;
NextPlayer(True)
wait(500 + random(250));
LogCounter := LogCounter + 1;
if (LogOutWait = true) then
begin
if (LogOutWaitEvery <= LogCounter) then
begin
LogCounter := 0;
Wait(LogOutWaitFor * 60000);
end;
end;
LoadsTillLog := LogOutEvery + random(2);
LogInSetup;
end;
if (Players[Player].Integers[1] >= Players[Player].Integers[0]) then
Begin
Writeln(Players[Player].Name + ': Finished Training =).');
Logout;
WorldSelect;
NextPlayer(false);
LogInSetup;
end;
until (ActivePlayers = 0);
WriteLn('Thanks For Using My Script! Have a Nice Day =)');
end.——————————————————
<!– END TEMPLATE: formanswers –>