tazzin44
2009-02-01 21:55:11
tazzin44 - SRL Member Application Form
tazzin44
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
basic knowledge of java & BASIC
Other Communitys
mostly srl only
How Long have You Played Runescape
5 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
My experience with scar has expanded vast amounts sincejoining this community about 2 years ( I think) ago now. I had made the conscience decision to stop contributing to this community only by posting progress reports and start scripting, not only to support the community, but to support my own needs in a script as well, and then passing that on to the others here.
A little bit about me : well for starters I enjoy programming (and everything to do with making computers do impressive things:D, one of my favorites is making .vbs files on computers in stores…
do
wscript.echo"goodluck to you sir"
loop
haha that ones great ) next semester I will be attending college for a computer programming degree as well as a bachelor of applied information security.
I believe I will be an asset out of the contributors to this community for my ability to be creative when scripting as well as my ability to easily adapt what I learn to my scripts.
(sorry it says a paragraph, this might be too much but you asked;p)
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{.Script Info:
# ScriptName = Powellow
# Author = Tazzin44
# Description = anywhere cut and drop or rimm cut & sell
# Version = 1.2
# Date = feb 1/2009
# Comments = Goodluck! post any problems or errors on the forums
/Script Info}
program Powellow;
{.include srl/srl/misc/Smart.scar}
{.include srl/srl.scar}
{.include SRL/SRL/Skill/WoodCutting.scar}
{.include srl/srl/misc/path.scar}
var
willowlog, x, y, LoadsDropped,LoadsDoneSinceBreak, TreeFS: Integer;
Colors: TIntegerArray; ////////////////////////////////////////////////////////////////////////////////////////////////////
// Tazzin44's Power Willow Chopper //
// _/_/_/ _/_/ _/ _/ _/_/_/_/ _/ _/ _/_/ _/ _/ //
// _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ //
// _/_/_/ _/ _/ _/ _/ _/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ //
// _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ //
//_/ _/_/ _/ _/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/ _/ _/ //
// //
//current version 1.0 //
// //
// Instructions on the forums, this is also where all bugs should be posted, suggestions //
// be stated, or proggies to be posted //
// //
// player setup - lines 39-54 //
// trouble finding willows? - change the colors in line 285 //
// load smart as a member - line 819 //
// //
// A VERY SPECIAL THANKs TO: EvilChicken! for alot of help, something I am very grateful for //
// also thanks goes out to all people in the srl community who take time to write tuts, or post in//
// in the scripting help section //
////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////
// player setup //
/////////////////////////////////////////////////
procedure PlayerSetUp;
begin
HowManyPlayers := 2; //How many Players
NumberOfPlayers(HowManyPlayers);
CurrentPlayer :=0; //Starting Player
Players[0].Name := ''; //username
Players[0].Pass := ''; //password
Players[0].Nick := ''; //3-4 non capitalised letters from your username
Players[0].Active := true; //do you want to use this player?
Players[0].Integers[1]:= 1; //how many loads do you want to do
Players[0].Integers[2]:= 3; // break after how many loads?
Players[0].Booleans[1]:= true; //true sells logs, false drops
Players[0].Booleans[2]:= false; //do you want to run on a pvp world for drop potential?
Players[1].Name := ''; //username
Players[1].Pass := ''; //password
Players[1].Nick := ''; //3-4 non capitalised letters from your username
Players[1].Active := true; //do you want to use this player?
Players[1].Integers[1]:= 2; //how many loads do you want to do
Players[1].Integers[2]:= 3; // break after how many loads?
Players[1].Booleans[1]:= true; //true sells logs, false drops
Players[1].Booleans[2]:= false; //do you want to run on a pvp world for drop potential?
{
Players[2].Name := 'Username'; //username
Players[2].Pass := 'Password'; //password
Players[2].Nick := 'sern'; //3-4 non capitalised letters from your username
Players[2].Active := true; //do you want to use this player?
Players[2].Integers[1]:= 2; //how many loads do you want to do
Players[2].Integers[2]:= 3; // break after how many loads?
Players[2].Booleans[1]:= true; //true sells logs, false drops
Players[2].Booleans[2]:= false; //do you want to run on a pvp world for drop potential?
Players[3].Name := 'Username'; //username
Players[3].Pass := 'Password'; //password
Players[3].Nick := 'sern'; //3-4 non capitalised letters from your username
Players[3].Active := true; //do you want to use this player?
Players[3].Integers[1]:= 2; //how many loads do you want to do
Players[3].Integers[2]:= 3; // break after how many loads?
Players[3].Booleans[1]:= true; //true sells logs, false drops
Players[3].Booleans[2]:= false; //do you want to run on a pvp world for drop potential?
}
end;
//////////////////////////////////////////
// end player setup //
//////////////////////////////////////////
Procedure PVPLogin; //my edited version of LoginPlayer; for use on pvp worlds
var
Mark, Attempts: Integer;
Actions: TVariantArray;
RetryLogin: Boolean;
label
ProcStart;
begin
ActivateClient;
Wait(100);
TypeByte(vk_Escape);
if (GetColor(212, 327) = 238301) then //At Click To Play screen
begin
Wait(1000 + Random(3000));
MouseBox(227, 337, 555, 364, 1);
MarkTime(Mark);
while (TimeFromMark(Mark) < 30000) and (not(LoggedIn)) do
Wait(1000 + Random(1000));
end;
if (not(RSReady)) then
begin
MarkTime(Mark);
while (not(RSReady)) do
begin
Wait(100);
if (TimeFromMark(Mark) > 180000) then
begin
WriteLn('It has been 3 minutes and Runescape is not yet ready... Terminating.');
TerminateScript;
end;
end;
WriteLn('Welcome to Runescape.');
end;
LoginScreenMusic(True);
if (not(GraphicsSet)) then
begin
SetAutoingDefaults;
GraphicsSet := True;
end;
ProcStart:
if (not(LoggedIn)) then
begin
if (not(Players[CurrentPlayer].Active)) then
begin
WriteLn('Player is not Active...');
NextPlayer(False);
Exit;
end;
Wait(900 + Random(60));
//Click 'Log In' on main menu
while (GetColor(343, 175) <> 7750) do //while (GetColor(343, 174) <> 7750) do
begin
MouseBox(360, 180, 400, 185, 1);
Wait(100 + Random(100));
end;
//Type Username
Mouse(315, 272, 10, 5, True);
while (CountColor(7750, 311, 269, 452, 284) > 13) do
begin
KeyDown(vk_Back);
Wait(10 + Random(10));
KeyUp(vk_Back);
Wait(50 + Random(50));
end;
for Mark := 0 to 3 do
begin
KeyDown(vk_Back);
Wait(10 + Random(10));
KeyUp(vk_Back);
Wait(50 + Random(50));
end;
Wait(100 + Random(200));
WriteLn(Capitalize(Players[CurrentPlayer].Name));
TypeSend(Players[CurrentPlayer].Name);
Wait(100+Random(50));
//Type Password
Mouse(315, 334, 10, 5, True);
while (CountColor(7750, 311, 337, 452, 352) > 13) do
begin
KeyDown(vk_Back);
Wait(10 + Random(10));
KeyUp(vk_Back);
Wait(50 + Random(50));
end;
for Mark := 0 to 3 do
begin
KeyDown(vk_Back);
Wait(10 + Random(10));
KeyUp(vk_Back);
Wait(50 + Random(50));
end;
Wait(100 + Random(200));
TypeSend(Players[CurrentPlayer].Pass);
Wait(500 + Random(300));
if (not(FindTextTPA(12509695, 0, 288, 205, 475, 247, 'login', StatChars, Nothing))) then //If 'enter' from typesend didn't log us in
begin
MouseBox(355, 359, 403, 372, 1); //Click 'login' login screen
Wait(250 + Random(100));
end;
begin
Wait (500+Random(250)); //logs pvp
Mouse(434,417,46,8,true);
Wait (3000+Random(3500));
end;
MarkTime(Mark);
repeat
SetLength(Actions, 0);
if (TimeFromMark(Mark) > 60000) then
Actions := ['One minute has passed...', 0, 2, 'NextPlayer', 'Login Failed']
else
case (CountColor(12509695, 288, 205, 475, 247)) of //Number of text colour points
// Actions := ['WriteLn Text', TimeToWait, NumberOfRetries, 'FinalAction', 'PlayerStatus'];
760: Actions := ['Too many incorrect logins.', 5 * 60000, 2, 'NextPlayer', ''];
536: Actions := ['Login limit exceeded. Please wait 1 minute and try again.', 60000, 2, 'NextPlayer', ''];
711: Actions := ['Your account has been disabled', 0, 0, 'NextPlayer', 'Acc Disabled'];
598: Actions := ['Invalid Username / Password', 0, 2, 'NextPlayer', 'Wrong User/Pass'];
787: Actions := ['Not a Members Account', 0, 0, 'NextPlayer', 'Non-member'];
408: Actions := ['World is full.', 5000, 20, 'Terminate', ''];
623: Actions := ['Your account is already logged in', 5000, 0, 'RandomNextPlayer', ''];
555: Actions := ['The Server is being updated.', 60000, 4, 'Terminate', 'Server Updating'];
218: Actions := ['Error Connecting.', 20000, 9, 'Terminate', 'Error Connecting'];
335: Actions := ['Unable to connect Login Server offline.',(20000) + Random(6000), 4, 'Terminate', 'Login Server Offline'];
512: Actions := ['RuneScape has been updated. Script Terminated.', 0, 0, 'Terminate', 'RS Updated'];
489: Actions := ['Connection timed out.', 0, 4, 'Terminate', 'Connection Timed Out'];
737: Actions := ['You are standing in a members-only area.', 0, 0, 'NextPlayer', 'In Mems-Only Area'];
//10: Actions := ['Error loading your profile.', 5000, 10, 'NextPlayer', 'Profile Loading Failed']; // Error loading your profile. Will attempt to re-login 5 more times.)
//11: Actions := ['Login server rejected session.', 1000, 10, 'NextPlayer', 'Login Serv. Rejected']; // Login server rejected session.
end;
if (Length(Actions) > 0) then
begin
WriteLn(Actions[0]);
Wait(Actions[1] + Random(100));
if (Actions[2] <> 0) then
if (Attempts < Actions[2]) or (Actions[2] = -1) then
begin
RetryLogin := True;
Break;
end;
if (Actions[4] <> '') then
Players[CurrentPlayer].Loc := Actions[4];
case Actions[3] of
'NextPlayer': NextPlayer(False);
'RandomNextPlayer': RandomNextPlayer(True);
'Terminate': TerminateScript;
end;
Exit;
end;
Wait(100);
until(GetColor(212, 327) = 238301);
if (RetryLogin) then
begin
RetryLogin := False;
Inc(Attempts);
goto ProcStart;
end;
if (GetColor(212, 327) = 238301) then
begin
Wait(1000 + Random(2000));
MouseBox(227, 337, 555, 364, 1);
end;
MarkTime(Mark);
while (TimeFromMark(Mark) < 30000) and (not(LoggedIn)) do
Wait(1000 + Random(1000));
end;
if (LoggedIn) then
begin
PlayerStartTime := (GetSystemTime div 1000); // PlayerStartTime
if Length(Players[CurrentPlayer].NickTPA) < 2 then
begin;
WriteLn('Creating the NickTPA.');
if Players[CurrentPlayer].Nick <> '' then
Players[CurrentPlayer].NickTPA := CreateTPAFromText(Players[CurrentPlayer].Nick, UpChars)
else
begin;
WriteLn('Nickname isn''t set, taking the username instead..');
Players[CurrentPlayer].NickTPA := CreateTPAFromText(Players[CurrentPlayer].Name, UpChars);
end;
end;
AddToSRLLog('Current player: ' + Capitalize(Players[CurrentPlayer].Name));
end;
end;
procedure AntiRandoms; //checks for Randoms
begin
if not LoggedIn then Exit;
FindNormalRandoms;
LampSkill := 'Woodcutting';
if FindFight then RunAway('N',True,1,15000);
end;
procedure LoadDTMs; // loads the DTM for willow logs
begin
Willowlog := DTMFromString('78DA63DCC7C4C0B09991011978384831F0006' +
'990E87F2060DC0454B31A550D441646026990392B09A8390A54B3' +
'81809A9340353B09A8D90354B38F809A8D40357B08A8590354B30' +
'DBF1A00E3B0104F');
end;
function FindTree: Boolean; //credit to EvilChicken's Scar assistant ftw
var
Colors: TIntegerArray;
X, Y, I, A, M, curCTS: Integer;
TPA: TPointArray;
ATPA: T2DPointArray;
begin
Result := False;
if not LoggedIn then exit;
curCTS := GetColorToleranceSpeed;
Colors := [5338216, 7968394, 2575165, 4945001, 7970189, 4020304, 8166820, 2111021, 5077611];
for I := 0 to 8 do
begin
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, Colors[I], MSX1, MSY1, MSX2, MSY2, 5);
if Length(TPA) = 0 then Continue;
ATPA := TPAtoATPAEx(TPA, 75, 75);
M := High(ATPA);
for A := 0 to M do
if MiddleTPAEx(ATPA[A], X, Y) then
begin
MMouse(X, Y, 6, 6);
Wait(100 + Random(50));
if Pos('illow', RS_GetUpText) > 0 then
begin
GetMousePos(X, Y);
Mouse(X, Y, 0, 0, True);
WriteLn('found tree')
Result := True;
ColorToleranceSpeed(curCTS);
FindEnt(x, y, True);
WriteLn('checking for ent');
FindBirdsNest;
WriteLn('checking for nest');
TreeFS := 0;
AntiRandoms;
WriteLn('anti-Random');
RandomMovement;
wait(7000+Random(2500));
Exit;
end else // if it can't find any of the colours form the array
WriteLn('no trees here, you on crack'); // then it adds 1 to the failsafe count and checks for
TreeFS :=(TreeFS + 1); // the trees again
WriteLn('checking for trees fail ' +inttostr(TreeFS) +'/10');
wait(1000+Random(500));
if (TreeFS = 10) then
begin
Players[CurrentPlayer].Active := False; // Set your player to false!!
LogOut;
Exit;
end;
end;
end;
ColorToleranceSpeed(curCTS);
end;
procedure AntiBan; //thanks to i pro leechin' tut
begin
if not LoggedIn then Exit;
case 6+Random(10) of //Will alow AntiBan to sometimes never occur
0 : HoverSkill('woodcutting', false);
1: PickUpMouse;
2: RandomMovement;
3: BoredHuman;
4,5: begin
MakeCompass('N');
wait(100+Random(50));
MakeCompass('S');
wait(100+Random(50));
MakeCompass('N');
end;
end;
wait(30+Random(30));
end;
procedure Report;
var
XPPerLoad, TotXP: Integer;
begin
XPPerLoad := (67) * 28;
TotXP := (XPPerLoad) * (LoadsDropped);
timerunning;
WriteLn('_____________________________________________________________________');
WriteLn('\| Progress report ');
WriteLn('\| ');
WriteLn('\| Loads Completted = ' + inttostr(LoadsDropped) +' ');
WriteLn('\| Total XP Gained = ' + inttostr(TotXP) +' ');
WriteLn('\| Total Time = ' + Timerunning +' ');
WriteLn('\| |~)/~\| |[~| | /~\| | ');
WriteLn('\| |~ \_/ \/\/ [_|_|_\_/ \/\/ by Tazzin44 ');
WriteLn('\|___________________________________________________________________');
end;
procedure DropEmCowboy; // my custum dropper checks for
begin //the DTM of the willow log
if not LoggedIn then Exit;
if FindDTM(WillowLog, x, y, MIX1, MIY1, MIX2, MIY2) then //if any are found it drops them
begin //if none are found it continues cutting
repeat
Mouse(x, y, 5, 5, false); //right clicks dtm
ChooseOption('rop'); //drops the log
Wait(500+Random(250));
until not finddtm(WillowLog, x, y, MIX1, MIY1, MIX2, MIY2) ;
end else
WriteLn('no dtms');
Players[CurrentPlayer].Active := False; // Set your player to false!!
LogOut;
Exit;
end;
function AutoColorWalkToStore: Integer;
var
I, R, G, B, Len, TestColor: Integer;
H, S, L, X, Y, Z: Extended;
P: TPointArray;
begin
Result := -1;
FFlag(0);
FindColorsTolerance(P, 2114137, MMX1, MMY1, MMX2, MMY2, 60);
Len := High(P);
for I := 0 to Len do
if RS_OnMinimap(P[I].X, P[I].Y) then
begin
TestColor := GetColor(P[I].X, P[I].Y);
ColorToRGB(TestColor, R, G, B);
if InRange(R - B, 37, 77) then
if InRange(R - G, 3, 43) then
if InRange(G - B, 14, 54) then
begin
ColorToHSL(TestColor, H, S, L);
if InRange(Round(H - L), -29, 1) then
if InRange(Round(S - H), 22, 52) then
if InRange(Round(S - L), 8, 38) then
begin
ColorToXYZ(TestColor, X, Y, Z);
if InRange(Round(X - Y), -7, 7) then
if InRange(Round(Y - Z), -3, 11) then
begin
Result := TestColor;
Exit;
end;
end;
end;
end;
WriteLn('Autocolor did not find the color.');
end;
function AutoColorWalkToStorePt2: Integer;
var
I, R, G, B, Len, TestColor: Integer;
H, S, L, X, Y, Z: Extended;
P: TPointArray;
begin
Result := -1;
FFlag(0);
FindColorsTolerance(P, 195836, MMX1, MMY1, MMX2, MMY2, 60);
Len := High(P);
for I := 0 to Len do
if RS_OnMinimap(P[I].X, P[I].Y) then
begin
TestColor := GetColor(P[I].X, P[I].Y);
ColorToRGB(TestColor, R, G, B);
if InRange(R - B, 230, 270) then
if InRange(R - G, -20, 20) then
if InRange(G - B, 230, 270) then
begin
ColorToHSL(TestColor, H, S, L);
if InRange(Round(H - L), -48, -18) then
if InRange(Round(S - H), 67, 97) then
if InRange(Round(S - L), 34, 64) then
begin
ColorToXYZ(TestColor, X, Y, Z);
if InRange(Round(X - Y), -22, -8) then
if InRange(Round(Y - Z), 70, 84) then
begin
Result := TestColor;
Exit;
end;
end;
end;
end;
WriteLn('Autocolor did not find the color.');
end;
function AutoColorWalkAwayFromStore: Integer;
var
I, R, G, B, Len, TestColor: Integer;
H, S, L, X, Y, Z: Extended;
P: TPointArray;
begin
Result := -1;
FFlag(0);
FindColorsTolerance(P, 2114137, MMX1, MMY1, MMX2, MMY2, 60);
Len := High(P);
for I := 0 to Len do
if RS_OnMinimap(P[I].X, P[I].Y) then
begin
TestColor := GetColor(P[I].X, P[I].Y);
ColorToRGB(TestColor, R, G, B);
if InRange(R - B, 37, 77) then
if InRange(R - G, 3, 43) then
if InRange(G - B, 14, 54) then
begin
ColorToHSL(TestColor, H, S, L);
if InRange(Round(H - L), -29, 1) then
if InRange(Round(S - H), 22, 52) then
if InRange(Round(S - L), 8, 38) then
begin
ColorToXYZ(TestColor, X, Y, Z);
if InRange(Round(X - Y), -7, 7) then
if InRange(Round(Y - Z), -3, 11) then
begin
Result := TestColor;
Exit;
end;
end;
end;
end;
WriteLn('Autocolor did not find the color.');
end;
function AutoColorIntoTheWoods: Integer;
var
I, R, G, B, Len, TestColor: Integer;
H, S, L, X, Y, Z: Extended;
P: TPointArray;
begin
Result := -1;
FFlag(0);
FindColorsTolerance(P, 14356, MMX1, MMY1, MMX2, MMY2, 60);
Len := High(P);
for I := 0 to Len do
if RS_OnMinimap(P[I].X, P[I].Y) then
begin
TestColor := GetColor(P[I].X, P[I].Y);
ColorToRGB(TestColor, R, G, B);
if InRange(R - B, 0, 40) then
if InRange(R - G, -56, -16) then
if InRange(G - B, 36, 76) then
begin
ColorToHSL(TestColor, H, S, L);
if InRange(Round(H - L), 1, 31) then
if InRange(Round(S - H), 58, 88) then
if InRange(Round(S - L), 74, 104) then
begin
ColorToXYZ(TestColor, X, Y, Z);
if InRange(Round(X - Y), -8, 6) then
if InRange(Round(Y - Z), -5, 9) then
begin
Result := TestColor;
Exit;
end;
end;
end;
end;
WriteLn('Autocolor did not find the color.');
end;
procedure WalkToSTore;
begin
if not LoggedIn then Exit;
if FindColor(x, y, AutoColorWalkToStore, MMX1, MMY1, MMX2, MMY2) then
begin
makecompass('n');
RadialWalk(AutoColorWalkToStore, 340, 0, 72, 1,1);
WriteLn('halfway there');
end else
if (FindSymbol(x, y, 'Archery Shop')) then MouseFlag(x, y, 5, 5, 0) else
begin
Players[CurrentPlayer].Active := False; // Set your player to false!!
LogOut;
Exit;
end;
if FindColor(x, y, AutoColorWalkToStorePt2, MMX1, MMY1, MMX2, MMY2) then
begin
RadialWalk(AutoColorWalkToStorePt2, 360, 270, 72, 1, 1);
Wait(500+Random(1000));
end else
if (FindSymbol(x, y, 'shop')) then MouseFlag(x, y, 5, 5, 0) else
begin
Players[CurrentPlayer].Active := False; // Set your player to false!!
LogOut;
Exit;
end;
end;
procedure WalkBack;
begin
if not LoggedIn then Exit;
RadialWalk(AutoColorWalkAwayFromStore, 90, 150, 72, 1, 1);
RadialWalk(AutoColorIntoTheWoods, 180, 150, 72, 1, 1);
end;
//thanks scar assistant:D
function ClickTheKeeper: Boolean;
var
X, Y, A, I, II, L, M, curCTS, ClickColor: Integer;
TPA: TPointArray;
ATPA: T2DPointArray;
begin
Result := False;
if not LoggedIn then exit;
curCTS := GetColorToleranceSpeed;
if Length(Colors) = 0 then
begin
SetArrayLength(Colors, 3);
Colors := [5667736, 3037314, 6786230];
end;
L := High(Colors);
for II := 0 to 1 do
for I := 0 to L do
begin
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, Colors[I], MSX1, MSY1, MSX2, MSY2, II * 6);
if Length(TPA) > 0 then
begin
ATPA := TPAtoATPAEx(TPA, 10, 25);
M := High(ATPA);
for A := 0 to M do
if MiddleTPAEx(ATPA[A], X, Y) then
begin
if II = 1 then
ClickColor := GetColor(X, Y);
MMouse(X, Y, 6, 6);
Wait(100 + Random(50));
if Pos('hop', RS_GetUpText) > 0 then
begin
GetMousePos(X, Y);
Mouse(X, Y, 0, 0, false);
ChooseOption('rade');
Result := True;
ColorToleranceSpeed(curCTS);
if (II = 0) or InIntArrayEx(Colors, I, ClickColor) then
begin
if I > 0 then
Swap(Colors[I], Colors[I - 1]);
Exit;
end;
SetArrayLength(Colors, L + 2);
Colors[L + 1] := ClickColor;
Exit;
end;
end;
end;
end;
ColorToleranceSpeed(curCTS);
end;
procedure SellEm;
begin
if not LoggedIn then Exit;
if FindDTM(WillowLog, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
wait(1000+Random(1500));
Mouse(x, y, 5, 5, false); //right clicks dtm
ChooseOption('50'); //sells the log
Wait(500+random(500));
if FindDTM(WillowLog, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
FindSymbol(x, y, 'shop')
MouseFlag(x, y, 5, 5, 0);
Wait(500+random(500));
ClickTheKeeper;
FindDTM(WillowLog, x, y, MIX1, MIY1, MIX2, MIY2)
wait(1000+Random(1500));
Mouse(x, y, 5, 5, false);
ChooseOption('50'); //sells the log
Wait(500+random(500));
Wait(1000+random(1000));
end;
Wait(500+Random(250));
Mouse(478, 35, 11, 9, false);
ChooseOption('lose');
exit;
end else
WriteLn('no dtms');
Players[CurrentPlayer].Active := False; // Set your player to false!!
LogOut;
Exit;
end;
procedure DropItOrSellIt;
var
FalseWalk: Integer;
begin
if not LoggedIn then Exit;
FalseWalk := 0;
Case Players[CurrentPlayer].Booleans[1] Of
False : begin
while InvFull = true do
begin
WriteLn('full lets loose some weight');
DropEmCowboy;
LoadsDropped := (LoadsDropped + 1);
LoadsDoneSinceBreak := (LoadsDoneSinceBreak+1);
ClearDebug;
Report;
freedtm(WillowLog);
end;
end;
True : Begin
while InvFull = true do
Begin
WalkToStore;
ClickTheKeeper;
Wait(1000+Random(1600));
SellEm;
WalkBack;
LoadsDropped := (LoadsDropped + 1);
FalseWalk := (FalseWalk + 1);
If (FalseWalk > 5) then
begin
Players[CurrentPlayer].Active := False; // Set your player to false!!
LogOut; // Log him out!!
Exit;
end;
end;
end;
end;
end;
Procedure Login;
begin
if (Players[currentPlayer].booleans[2] = false) then
begin
LoginPlayer;
end else
begin
PVPlogin;
end;
end;
procedure Siggy;
begin
ClearDebug;
WriteLn(' _____ ');
WriteLn('|_ _| ');
WriteLn(' | | ');
WriteLn(' | | ');
WriteLn(' | | ');
WriteLn(' \_/ ');
wait(232);
ClearDebug;
WriteLn(' _____ ');
WriteLn('|_ _| ');
WriteLn(' | | __ _ ');
WriteLn(' | | / _` | ');
WriteLn(' | || (_| | ');
WriteLn(' \_/ \__,_| ');
wait(232);
ClearDebug;
WriteLn(' _____ ');
WriteLn('|_ _| ');
WriteLn(' | | __ _ ____ ');
WriteLn(' | | / _` ||_ / ');
WriteLn(' | || (_| | / / ');
WriteLn(' \_/ \__,_|/___| ');
wait(232);
ClearDebug;
WriteLn(' _____ ');
WriteLn('|_ _| ');
WriteLn(' | | __ _ ____ ____ ');
WriteLn(' | | / _` ||_ /|_ / ');
WriteLn(' | || (_| | / / / / ');
WriteLn(' \_/ \__,_|/___|/___| ');
wait(232);
ClearDebug;
WriteLn(' _____ _ ');
WriteLn('|_ _| (_) ');
WriteLn(' | | __ _ ____ ____ _ ');
WriteLn(' | | / _` ||_ /|_ /| | ');
WriteLn(' | || (_| | / / / / | | ');
WriteLn(' \_/ \__,_|/___|/___||_| ');
wait(232);
ClearDebug;
WriteLn(' _____ _ ');
WriteLn('|_ _| (_) ');
WriteLn(' | | __ _ ____ ____ _ _ __ ');
WriteLn(' | | / _` ||_ /|_ /| || |_ \ ');
WriteLn(' | || (_| | / / / / | || | | | ');
WriteLn(' \_/ \__,_|/___|/___||_||_| |_| ');
wait(232);
ClearDebug;
WriteLn(' _____ _ ___ ___ ');
WriteLn('|_ _| (_) / | / | ');
WriteLn(' | | __ _ ____ ____ _ _ __ / /| | / /| | ');
WriteLn(' | | / _` ||_ /|_ /| || |_ \ / /_| |/ /_| | ');
WriteLn(' | || (_| | / / / / | || | | | \___ |\___ | ');
WriteLn(' \_/ \__,_|/___|/___||_||_| |_| |_/ |_/ ');
WriteLn(' ');
wait(500);
ClearDebug
WriteLn(' ');
WriteLn(' ');
WriteLn(' _ __ ');
WriteLn(' | |__| ');
WriteLn(' | | ');
WriteLn(' |_| ');
wait(232);
ClearDebug;
WriteLn(' ');
WriteLn(' ');
WriteLn(' _ __ ___ ');
WriteLn(' | |__| / __| ');
WriteLn(' | | \__ \ ');
WriteLn(' |_| |___/ ');
wait(232);
ClearDebug;
WriteLn('______ ');
WriteLn('| ___ \ ');
WriteLn('| |_/ / _ __ ___ ');
WriteLn('| __/ | |__| / __| ');
WriteLn('| | | | \__ \ ');
WriteLn('\_| |_| |___/ ');
wait(232);
ClearDebug;
WriteLn('______ _ ');
WriteLn('| ___ \ | | ');
WriteLn('| |_/ / _ __ ___ | |_ ');
WriteLn('| __/ | |__| / __| | __| ');
WriteLn('| | | | \__ \ | |_ ');
WriteLn('\_| |_| |___/ \__| ');
wait(232);
ClearDebug;
WriteLn('______ _ ');
WriteLn('| ___ \ | | ');
WriteLn('| |_/ / _ __ ___ ___ | |_ ');
WriteLn('| __/ | |__| / __| / _ \ | __| ');
WriteLn('| | | | \__ \ | __/ | |_ ');
WriteLn('\_| |_| |___/ \___| \__| ');
wait(232);
ClearDebug;
WriteLn('______ _ ');
WriteLn('| ___ \ | | ');
WriteLn('| |_/ / _ __ ___ ___ | |_ ___ ');
WriteLn('| __/ | |__| / __| / _ \ | __| / __| ');
WriteLn('| | | | \__ \ | __/ | |_ \__ \ ');
WriteLn('\_| |_| |___/ \___| \__| |___/ ');
wait(232);
ClearDebug;
WriteLn('______ _ ');
WriteLn('| ___ \ | | ');
WriteLn('| |_/ / _ __ ___ ___ ___ | |_ ___ ');
WriteLn('| __/ | |__| / _ \ / __| / _ \ | __| / __| ');
WriteLn('| | | | | __/ \__ \ | __/ | |_ \__ \ ');
WriteLn('\_| |_| \___| |___/ \___| \__| |___/ ');
wait(232);
ClearDebug;
WriteLn('______ _ ');
WriteLn('| ___ \ | | ');
WriteLn('| |_/ / _ __ ___ ___ ___ _ __ | |_ ___ ');
WriteLn('| __/ | |__| / _ \ / __| / _ \ | |_ \ | __| / __| ');
WriteLn('| | | | | __/ \__ \ | __/ | | | | | |_ \__ \ ');
WriteLn('\_| |_| \___| |___/ \___| |_| |_| \__| |___/ ');
Wait(500);
ClearDebug;
WriteLn(' ____ ___ ___ ');
WriteLn('/\ _`\ /\_ \ /\_ \ ');
WriteLn('\ \ \L\ \___ __ __ __ __\//\ \ \//\ \ ___ __ __ __ ');
WriteLn(' \ \ ,__/ __`\/\ \/\ \/\ \ / __`\\ \ \ \ \ \ / __`\/\ \/\ \/\ \ ');
WriteLn(' \ \ \/\ \L\ \ \ \_/ \_/ \/\ __/ \_\ \_ \_\ \_/\ \L\ \ \ \_/ \_/ \');
WriteLn(' \ \_\ \____/\ \___x___/ \ \____\/\____\/\____\ \____/\ \___x___/ ');
WriteLn(' \/_/\/___/ \/__//__/ \/____/\/____/\/____/\/___/ \/__//__/ ');
end;
procedure Mainloop;
var
BreakTime: Integer;
begin
smartSetupEx(160, false, true, false); //for members worlds change to (65, true, true, false)
wait(10000);
SetTargetDC(SmartGetDC);
ClearDebug; //clears debug box
Siggy;
setupSRL; //sets up srl
playerSetUp; //sets up declared player array
Login;
MouseSpeed := 17 + Random(2) - Random(2);
FindAxe //checks for axe
wait(3000+Random(1000)); //waits for 3 seconds (+/- 1 sec)
setRun(True); //runs to increase time to tree
SetAngle(True);
LoadsDropped := 0;
LoadsDoneSinceBreak := 0;
BreakTime := (Players[currentPlayer].Integers[2]+Random(2));
begin
repeat
repeat
SetAngle(True);
FindTree; //this is the start of the chopping
AntiBan;
AntiRandoms;
LoadDTMs;
DropItOrSellIt;
AntiBan;
Report;
while (LoadsDoneSinceBreak >= BreakTime) do
begin
LogOut;
wait(60000+Random(30000));
LoadsDoneSinceBreak := 0;
NextPlayer(Players[CurrentPlayer].Active);
Login;
end;
until (loadsDropped > Players[CurrentPlayer].Integers[1]) or (not loggedIn)
NextPlayer(Players[CurrentPlayer].Active);
until False;
end;
end;
////////////////////////////////////////////////////////////////////////////////
// MAINLOOP //
////////////////////////////////////////////////////////////////////////////////
begin
Mainloop;
end.
——————————————————
<!– END TEMPLATE: formanswers –>