SRL Archive - Archive

tazzin44 - SRL Member Application Form


tazzin44

2009-02-01 21:55:11

<!– BEGIN TEMPLATE: formanswers –>
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 –>

NCDS

2009-02-01 22:05:48

I like how the script looks.

I also like your creativity with certain things.

You used TPA's, DTM's, and your own AutoColor.
Nice Job.

Yes.

Dracody

2009-02-01 22:30:49

Im speechless dude… Nice work , very creative stuff nice procedures/functions, you used the Standards required and also autocolour, its very cool,.

So I vote NO!!

Joking…:D YES!

cause

2009-02-01 22:40:39

Impressive!
Yes

Iron Man

2009-02-01 23:00:55

You need to learn about failsafes, e.g if not radialwalk() then exit;, if finddtm() then mouse();, etc. They are a vital part of scripts, especially when there is walking involved.

In DropEmCowboy: to start off with, your standards are off. Also, after the end else you do not have a begin, so it will always set the player to false. NextPlayer(False); logs out and sets the player to false, so you might want to do that.

In WalkToStore: I think in your first radialwalk you should make your endradial 359; I'm not 100% sure but, that might not work; your 2nd radialwalk might not work either. I think you should make this into a function. Same problem as I said before, you need a failsafe for the radialwalk.

In WalkBack: should be made into a function & it needs failsafes.

In SellEm: you need a wait after the click, so it will be given time to do the chooseoption. Needs failsafes. Needs a begin after the end else otherwise it does that every time you use the procedure.

I don't like that the large portion of your script is done (the tpa's and autocoloring) is done by SCAR Assistant, and not you. The signature is kind of also a waste of space.


Holding vote to see other members replies. Will vote later.

Kyle Undefined

2009-02-01 23:24:49

Very nice job! Love the DTM's, TPA's and AutoColoring! The standards look alright. I personally don't like your spaces that you have between procedures/functions and the spacing in them. Example:
end;




procedure Report;

and

procedure AntiRandoms; //checks for Randoms

begin

To me, that's to much white space. My eyes think it's a break between segments of code. Also, the "Result := False;" in the beginning of a function start isn't necessarily needed since it is set false be default.

You don't need to call "timerunning;" in your Report procedure since it will only print it out twice. Once above your report and once in it. But that's not a big deal. This "Players[CurrentPlayer].Active := False;" can be "NextPlayer(False);"

On one note, your standards vary alot between places. Idk if you were just getting sloppy with them or what.
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;

and

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) ;

Your standards dropped dramatically when I got to the first one. They were looking alright too. Your SellEm procedure could use some work also. "wait(30+Random(30));" Should be "wait(30 + Random(30));" Before and after every math sign there should be a space. In your mainloop, I would change the "repeat…until false" to "until (AllPlayersInactive);"

In this part right here:
        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
You don't have a loop to make it go to 10. Right now that's kind of useless until you get a loop in there, but it shouldn't be that hard. And FAILSAFES! can't stress that enough. Especially if your RW were to mess up. Have a DTM backup or something.

I have gone through it several times now and those are the only main things I can see. Just work on standards and failsafes. Besides those, looks good. ;)

Yes.

Edit: Waits for Dervish's green/red comments and "personal preferences" :p

~Camo

NiCbaZ

2009-02-02 00:45:26

NO - You use the Scar Assistance, for the AutoColor and your TPA, You do not give credit to SCAR assistance on your Autocolors? I see some other stuff in there its very basic tho and compleatly un-standerised, good apply but give proper credit next time and try and make your own autocolors and TPAs and i might vote yes.

So

  • AntiBan - Copy & Patse
  • The 4 Autocolors = From a Aid
  • The Advanced TPAs = from an aid

the rest of the script is kind of scrappy code.

Naum

2009-02-02 03:03:06

Another good application form, though I have to point out some errors

1)
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;

This wont call antiban as there is no number which is in six, thus rendering it useless. Maybe you might want to change the Case numbers.

2) This procedure could muck up your script:

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;

End Else should have a Begin statement after it as all end else will do is check the line after it, this could mean a player logging out.

3)In porcedsure SellEm; you also need a Begin after an End Else statement :).

4) This Could be shortend

Procedure Login;
begin
if (Players[currentPlayer].booleans[2] = false) then
begin
LoginPlayer;
end else
begin
PVPlogin;
end;
end;

to.

Procedure Login;
begin
if (Players[currentPlayer].booleans[2] = false) then
LoginPlayer
else
PVPlogin;
end;

Using an else statement for anything which is one line can get rid of alll the unnecessary Begin's and End's.

Overall It seems like a good script, but I'm sure to say.. Yes!!.
Although please take on board the improvements I and others gave you :)

Dervish

2009-02-02 04:16:15

Some more failsafes in walking would've been good.

Good script : Grade : 85/100

Yes.


From: Camo¤Kyle
Very nice job! Love the DTM's, TPA's and AutoColoring! The standards look alright. I personally don't like your spaces that you have between procedures/functions and the spacing in them. Example:
end;




procedure Report;

and

procedure AntiRandoms; //checks for Randoms

begin

To me, that's to much white space. My eyes think it's a break between segments of code. Also, the "Result := False;" in the beginning of a function start isn't necessarily needed since it is set false be default.

You don't need to call "timerunning;" in your Report procedure since it will only print it out twice. Once above your report and once in it. But that's not a big deal. This "Players[CurrentPlayer].Active := False;" can be "NextPlayer(False);"

On one note, your standards vary alot between places. Idk if you were just getting sloppy with them or what.
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;

and

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) ;

Your standards dropped dramatically when I got to the first one. They were looking alright too. Your SellEm procedure could use some work also. "wait(30+Random(30));" Should be "wait(30 + Random(30));" Before and after every math sign there should be a space. In your mainloop, I would change the "repeat…until false" to "until (AllPlayersInactive);"

In this part right here:
        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
You don't have a loop to make it go to 10. Right now that's kind of useless until you get a loop in there, but it shouldn't be that hard. And FAILSAFES! can't stress that enough. Especially if your RW were to mess up. Have a DTM backup or something.

I have gone through it several times now and those are the only main things I can see. Just work on standards and failsafes. Besides those, looks good. ;)

Yes.

Edit: Waits for Dervish's green/red comments and "personal preferences" :p

~Camo


There you got it ;).
My personal preferences were 'no reflection in appliances' ! FORGET IT XD

And In my point of view : no script is worth 100/100 ;)

NiCbaZ

2009-02-02 04:43:50

I dont want to been seen to trying to change peoeples votes but..

* AntiBan - Copy & Patse
* The 4 Autocolors = From a Aid
* The Advanced TPAs = from an aid


the rest of the script is kind of scrappy code.

This is his only code that he wrote..


procedure LoadDTMs; // loads the DTM for willow logs

begin
Willowlog := DTMFromString('78DA63DCC7C4C0B09991011978384831F0006' +
'990E87F2060DC0454B31A550D441646026990392B09A8390A54B3' +
'81809A9340353B09A8D90354B38F809A8D40357B08A8590354B30' +
'DBF1A00E3B0104F');
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;


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;

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;




Theres a bit of code there but its kinda scrappy, like it doesnt compare to the rest of the script..

Torrent of Flame

2009-02-02 04:56:34

I agree with NicBaZ. Ok, so the guy has used creative code, but have any of you seen this guy about the forums, etc?

I've never heard of him, not that it matters in anyway, but I havent seen him make a good post.

His standards are scrappy and the code it extensivley stretched. I mean his Signature function takes up like 350 lines of the script.

He uses alot of autocolour, and makes his functions too long.

His autocolour is all from the ACA. You all seem to be mesmorized by the fact he did a PvP world login thing, which is most of his script anyway. You all moan at people for using ACA but when this guy does it you all vote yes because he has a Login function?


What is the point of his PvP world 'drop potential' anyway? I mean what if the character is killed? Or all chars your running are killed? Pointless addition and waste of code.

NiCbaZ

2009-02-02 04:58:59

From: Torrent of Flame
I agree with NicBaZ. Ok, so the guy has used creative code, but have any of you seen this guy about the forums, etc?

I've never heard of him, not that it matters in anyway, but I havent seen him make a good post.

His standards are scrappy and the code it extensivley stretched. I mean his Signature function takes up like 350 lines of the script.

He uses alot of autocolour, and makes his functions too long.

His autocolour is all from the ACA. You all seem to be mesmorized by the fact he did a PvP world login thing, which is most of his script anyway. You all moan at people for using ACA but when this guy does it you all vote yes because he has a Login function?


Totoally agreed, tho he used Evil Chickesn SCAR Aid not ACA, he siad he used it on the TPAs but he gave no credit on the 5 autocolors?

Torrent of Flame

2009-02-02 05:20:57

He has now, NiCbaZ. Check it again.

Richard

2009-02-02 05:31:11

I quite like the script, looks like you have put alot of effort into it. But it seems you were a bit too eager to put it up for members and didn't check for some of the smaller errors, which people have already pointed out. The login in procedure is great, but I think some of it may be a bit unnessessary as its just the very beginning of the script. Although it is pretty well made.

And the signature takes up a bit too many lines considering it doesn't make the woodcutting any better.

Yes.

tazzin44

2009-02-02 07:35:51

not sure if Im allowed to post here… if not then ignore/delete or something…
just would like to say a few things like a thankyou for the constructive critism.
I am going through the script as a review each post and changing what I can.
sorry about the length of the siggy I didn't know that mattered (lol) and

Totoally agreed, tho he used Evil Chickesn SCAR Aid not ACA, he siad he used it on the TPAs but he gave no credit on the 5 autocolors?

Im sorry for the discrepancy there, I assumed that because I had credited scar assistant already it would be redundant to put it in another 5 times… it was not my intention for scar assistant to get uncredited for that, but I was under thge impression it already was…this has already been changed in the script.

You don't have a loop to make it go to 10. Right now that's kind of useless until you get a loop in there, but it shouldn't be that hard.


I used the mainloop, it checks for the tree loops back around, checks again. If it finds a tree it resets the value, if it doesn't then it sets the player to false and logs… is it preferable to do this all in a loop in the procedure?

Torrent of Flame

2009-02-02 07:43:48

Tazzin, I dont think he means it like that. He means your made those procedures using it which means its easier to make and shows less skill or SRL as you just use a program to make it for you.

tazzin44

2009-02-02 08:41:14

From: Torrent of Flame
Tazzin, I dont think he means it like that. He means your made those procedures using it which means its easier to make and shows less skill or SRL as you just use a program to make it for you.


yes but implementing it into a working script should be the task at hand, as runescape gets harder to auto on, we must improve our techniques, as we get new available means, should we not use them?

does it make a chef less skilled to buy a steak than to butcher it himself?
he still acclomplishes the task at hand but with more time left over to bake the potatos (I think this analogy works lol)

Im not trying to argue, your critism is dear to me, but what would look better a shotty attempt at autocolor that makes the script as a whole less usefull or one generated by a program to do this very deed, Im not saying a homemade autocolor by me would be shotty just that Im quite sure it would take alot longer and still not match scar aassistant. With that being said it's notlazyness that I don't make my own it's that the functionality of scar assistants makes my script work like it should.

should I also refrain from includes?
are they not both (includes and scar assistant) both tools to help the scripter get the task accomplished as efficiently as possible?

Torrent of Flame

2009-02-02 08:46:25

The script is easy to write if you just use autocolour.

You get the Autocolour proc from the program and then just write

RadialWalk(MyAutoColorProc)

Its 10x easier.

And your analogy does not work, as that chef would know how to butcher to get a steak, whereas you do not know how to do the AutoColouring procedure yourself.

And its more your (pointless imo) procedure for PvP worlds. It seems like a waste of time for a woodcutting script.

tazzin44

2009-02-02 08:54:16

and how is it pointless? yes your character might die… but for common sense purposes lets say you put your character in an obscure location… necromancers tower for example give him 75k run it over night, then the next day you can get straight to pking or 26k tricking or whatever. I personnaly use this for my main. If you die then thats the risk of pvp worlds. But the option is there for those who wish to use it not for those who don't.

also I will not argue with you on your theory, as you are entitled to your opinion and I did not submit this application to argue, but I would like to know how you are able to say without a doubt
whereas you do not know how to do the AutoColouring procedure yourself.


in fact in the original script I had my own autocolour, it was nothing special but it worked, in pms to EvilChicken! for help on this script it was suggested scar assistant would make it more efficient.

Sir R. M8gic1an

2009-02-02 08:56:07

Well, i've had a look through your profile and i have a few questions for you;

1st of all i see you're very excited because you are reading the thread right now :p (which is a good thing ;) )

When did you restart being active? Because i see you've been around fo a while and just recently started posting more and more.

Most of those posts are asking for scripting help, which i must say is a plus for you, as it shows a will and a want to script :)

How long have you autoed on this script? i tried checking for it, but there are no proggies on your thread yet.

Did you do the autocoloring or did you get that from ACA / EC's Helper?

(nice job on that helper EC, hadn't seen what came out from it yet :p )


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.


Definitely like the creativity ;)

but your script does have it's flaws;

SellThem should have a loop in it.

also you're dropping makes my brain hurt :S

DropEmCowboy only drops on log.

and the dropping procedure has a loop which is

While InvFull do

well, that's only drop one log at a time! it drops one log, so Invful = false, so it breaks out of the loop. Chops one log. Drops one log. Chops one log. Drops one log.

do you see why i now asked for how long you tested it? :p

I like your attitude, but so far i don't think you're scripting is just there yet. I'm not talking about radial walks and DDTMs etc, but you don't yet know how to properly use a loop or an if and else.

Make sure you learn that, tuts or trial and error. But you are definitely on the right way :)

also, you know your huge sig? nothing wrong with it. But i have the same thing, only i used a cleverly organized loop ;)


procedure Intro;

var
TSA, s:TStringArray;
i, h, j:integer;
begin
ChangeReportWidth(1);
SetLength(TSA, 5);
SetLength(s, 5);
TSA[0]:='RRRRRR AA SSSSSSSS TTTTTTTTTTTT AA ';
TSA[1]:='RR R AAAA SS TT AAAA ';
TSA[2]:='RR RR AA AA SSSSSSS TT AA AA ';
TSA[3]:='RR R AAAAAAAA SS TT AAAAAAAA ';
TSA[4]:='RR R AA AA SSSSSSS TT AA AA';

repeat
ClearDebug;
for i:= 0 to High(TSA) do
begin
ClearDebug;
Inc(h);
s[i]:= TSA[i];
SetLength(s[i], h);
for j:= 0 to High(s) do
writeln(s[j]);
wait(50);
end;
until(h >= length(TSA[4]))

wait(500);
ClearDebug;

TSA[0]:='MMMM MMMM AA GGGGGGGG IIIIII CCCCCC IIIIII AA NNNN NN ';
TSA[1]:='MM MM MM MM AAAA GG II CC II AAAA NN NN NN ';
TSA[2]:='MM MM MM MM AA AA GG GGGGG II CC II AA AA NN NN NN ';
TSA[3]:='MM M MM AAAAAAAA GG GG II CC II AAAAAAAA NN NNN ';
TSA[4]:='MM MM AA AA GGGGGGGGG IIIIII CCCCCC IIIIII AA AA NN NN ';
h:=0;
repeat
ClearDebug;
for i:= 0 to High(TSA) do
begin
ClearDebug;
Inc(h);
s[i]:= TSA[i];
SetLength(s[i], h);
for j:= 0 to High(s) do
writeln(s[j]);
wait(50);
end;
until(h >= length(TSA[4]))

wait(500);
ClearDebug;
writeln('Thank you for using RM Cutter!');
ChangeReportWidth(350);
wait(500);
end;

i hope you learn something from it and answer the questions i posted :p

~RM

Torrent of Flame

2009-02-02 08:59:45

Well I didnt know you had an original Autocolour yourself, did I ;)

I like your login procedure, I just dont see the point of it, but like you have said, I am entitled to my opinion.


PS: Grats on Mod RM ;)

Gu3st...

2009-02-02 09:03:20

Yes!

tazzin44

2009-02-02 09:07:05

1st of all i see you're very excited because you are reading the thread right now (which is a good thing )

When did you restart being active? Because i see you've been around fo a while and just recently started posting more and more.

Most of those posts are asking for scripting help, which i must say is a plus for you, as it shows a will and a want to script

How long have you autoed on this script? i tried checking for it, but there are no proggies on your thread yet.

Did you do the autocoloring or did you get that from ACA / EC's Helper?


I've been active in the shadows for the past year (on and off) but it was around christmas that I realy decided it was time to get in gear. (the 6 months previous to that were spent on military contract so I was inactive for that period)

I haven't saved anyproggies for it as most were for testing but I have used this for my main to gain drop potential run for an hour or so here and there (got me a fury pk)

the dropemCowboy procedure does work as it should unless something changed recently but it is the one i used on my main and it dropped them all at once… perhaps I should look into it being more efficent code-wise.
and the autocolor is indeed from scar assistant in every version since the original.

as for my loops they all work correctly for me ( with the exception of the ones i mucked up when hastily adding multiplayer with minimal revisions although there was testing for the selling to a store, I should have been more thorough…) but i am always looking for more efficient ways to do things.

Well I didnt know you had an original Autocolour yourself, did I


you never asked:D lol It wasn't the most dumbfounding autocolour ever seen I admit but It found my trees :D:D

Kyle Undefined

2009-02-02 10:21:33

Listen, at first I was impressed with it all but now after re-reading through it today I can defiantly tell what code you did and didn't do. We all have given you our opinions on how to fix it up and hopefully you take that into thought. I hate to do this, but I was wonderin if my vote could be changed to neutral. I really didn't take the PvP login into thought when reading. This shows that you know how to use an aid. I did not realize that the TPA's were not created from you. If you don't get in this time, then apply in a month with ALL(Or most of it) your work. Best of luck ;)

~Camo

Edit: 800th post ftw :) Lol

boberman

2009-02-02 11:28:28

Wow, I really can't believe that so many of you said yes to this.. Unbelievable.

The script is.. Ok I guess. But definitely not this wonderful creative thing that many seem to be touting. Here are the big problems I have with this script.

1. You have 4 identical auto colors in the script. This tells me that you don't know how to make/use functions correctly. Duplicated code is wasted code, it only adds to the compilers time and debugging complexity.

2. There are little/no failsafes. If you don't walk where you are supposed to be the script merrily goes along its way without giving a second thought to where it might be or what it is doing.

3. Half your script isn't yours. IE. The login procedure, auto colors, ect. When you break it down, what does the script do? It power chops.

4. Overall, the script feels way to0 bloated. Again, this is a power chopper, it is seriously one of the easier scripts to make.

Here's some things to consider.

If you have a function called "DropOrSell" You should get rid of it. A selling function is a valid function, a dropping function is a valid function. However, coupling the two together makes a function that doesn't really make a lot of sense. Push the logic up a level when deciding what function to call.

Fail safes, failsafes, failsafes. Find something, anything, to verify that your player is where he is supposed to be. Never assume your script just works perfectly, or that the user fills in everything perfectly.

If you are duplicating code, you are wasting code. Pass in parameters, make your functions more versatile and reusable. The key to being a good programmer is being able to write good code that you can use in many places. Consider this, when using scar, you use the function FindColor everywhere, whether you realize it or not. Could you imagine how worthless scar would be if the function where called FindColorOrExit, or FindColorOrDeleteScript. Nobody would use it for the name alone.

Sir R. M8gic1an

2009-02-02 14:46:40

^ <3

As i said before, i like your attitude, but i don't think you're ready script wise yet. There's just a few basics missing although the script does it's job. But here it's not just about doing the job, it's about how it's done :)

But if you don't get in now, you'll get in next time for sure with the attitude you have right now :)

~RM

tazzin44

2009-02-02 15:04:43

From: Rasta Magician
^ <3

As i said before, i like your attitude, but i don't think you're ready script wise yet. There's just a few basics missing although the script does it's job. But here it's not just about doing the job, it's about how it's done :)

But if you don't get in now, you'll get in next time for sure with the attitude you have right now :)

~RM



thankyou RM, perhaps if you find some free time you would be able to help me in pms with ways to make this better for next time if it comes to that, either way I want this script to be more efficient in the ways the code in presented.

NCDS

2009-02-02 15:05:54

From: Camo¤Kyle
Listen, at first I was impressed with it all but now after re-reading through it today I can defiantly tell what code you did and didn't do. We all have given you our opinions on how to fix it up and hopefully you take that into thought. I hate to do this, but I was wonderin if my vote could be changed to neutral. I really didn't take the PvP login into thought when reading. This shows that you know how to use an aid. I did not realize that the TPA's were not created from you. If you don't get in this time, then apply in a month with ALL(Or most of it) your work. Best of luck ;)

~Camo



My Current Feelings As Well.
Sorry :(

Gu3st...

2009-02-02 15:36:58

From: N C D S
My Current Feelings As Well.
Sorry :(

.

1 less Yes from the votes..

Griff

2009-02-02 18:02:23

It's an alright script, but many of the functions are from the scar include, and, as stated above by someone, all of the autocolors are the exact same. I'm going to have to vote no.

Iron Man

2009-02-02 18:18:21

After seeing that some people agreed with me on how the SCAR assistant use made it less worthy of SRL Members, I will now vote no.

Next time (if there is one), please: make the TPA's + autocoloring yourself; take everyone's advice; and keep a nice attitude (you seem to have a good one towards feedback right now).

Good luck.

tazzin44

2009-02-02 18:21:20

ty for the critism, Ill be sure to bring my own autocoloring into play( I was under the impression it did'nt matter as long as it was implemented correctly) but hey , if i can do the implementing I might as well do both if I dont make it this time I guarentee youll see me right here in a month

P1nky

2009-02-02 20:26:35

Your going in the right direction, though for now its a No.

Can be improved a lot as well :)
GL

Sir R. M8gic1an

2009-02-03 01:45:24

From: Camo¤Kyle
but I was wonderin if my vote could be changed to neutral.


Done.

From: N C D S
My Current Feelings As Well.
Sorry :(

Your feelings as well…. please make it clear if you want your vote neutral or not.

~RM

NCDS

2009-02-03 01:49:46

From: Rasta Magician
Done.


Your feelings as well…. please make it clear if you want your vote neutral or not.

~RM


yes, I would like to vote neutral.

Sorry about the confusion.

Sir R. M8gic1an

2009-02-03 02:16:31

From: N C D S
yes, I would like to vote neutral.

Sorry about the confusion.


np :)

changed. let's see which way the poll goes :)

GL

~Rasta

Kyle Undefined

2009-02-03 02:31:10

From: Rasta Magician
Done.


Thanks. Tazzin, I hope no hard feelings. If you don't make it this time, come back even stronger ;)

~Camo

Quickmarch

2009-02-03 03:44:34

i'm sorry but i really don't like this script. Loads of it looks copied and about 1/4 of it is PVPLogin. I'm voting No.

Tickyy

2009-02-03 07:26:24

Negative part :
1. i really don't like your standards, those spaces… JUST awful!

2. You used EvilChicken's Scar assistant, thats a big minus to your points.

3. i didn't see any kind of failsafes…

Positive Part :
1. I really like your AutoColor made by you, i'm a srl member and still don't know how to make one, i just don't get it :duh:

2. You also made a DTM, DTM's are very important for a Member Application.


i'll Vote Yes… in hope of change in the future.

Quickmarch

2009-02-03 07:41:20

From: Tickyy
Negative part :
1. i really don't like your standards, those spaces… JUST awful!

2. You used EvilChicken's Scar assistant, thats a big minus to your points.

3. i didn't see any kind of failsafes…

Positive Part :
1. I really like your AutoColor made by you, i'm a srl member and still don't know how to make one, i just don't get it :duh:

2. You also made a DTM, DTM's are very important for a Member Application.


i'll Vote Yes… in hope of change in the future.


The AutoColor is made in SCAR Assistant. ;)

Tickyy

2009-02-03 07:52:50

wow crap… i'm gonna talk with evilchicken, he should move his assistant in a member thread or something like that.

oh btw, can some1 change my vote to no… ?

Dervish

2009-02-03 08:02:22

From: Tickyy
wow crap… i'm gonna talk with evilchicken, he should move his assistant in a member thread or something like that.

oh btw, can some1 change my vote to no… ?


PM Rasta Magician or wait until he checks this thread.

Or PM any staff member.

Sir R. M8gic1an

2009-02-03 08:28:31

From: Tickyy
wow crap… i'm gonna talk with evilchicken, he should move his assistant in a member thread or something like that.

oh btw, can some1 change my vote to no… ?


I suggest you go reading the stickies in this section tickyy.


Fastest way to get in contact with any staff is to just report your post; vote changed.

~RM

Tootoot222

2009-02-03 11:39:48

I"m voting no for most of the reasons already stated.

90% of the script is supposed to made by you (and not in an aid), and that was clearly not the case.

I like your attitude, so good luck next time.

FreakyMonkey

2009-02-03 21:05:49

Useful code and I'm sure you tested it well, but there need to be more of "your" work you know? I know that ACA helps and all if you get a hang of it, BUT idk i think you used it a bit too much imo.

THere need to be more sufficient failsafes as well to make it an excellent script and the introduction coding is kinda unnecessary?

A large portion of it isn't yours….

No Sorry buddy. I'll be sure to help you whenever you need it though

Dracody

2009-02-03 22:23:50

Ok Id Like to change my vote to NO too… Since I thought you had done all by yourself , but as you can see , everytime someone Will Find out if you are trying to play the Smart Ass…, So its a shame…

RM please change my vote , and I guess that'd be all for this thread.:fiery:

Sir R. M8gic1an

2009-02-04 17:48:11

From: Tickyy
wow crap… i'm gonna talk with evilchicken, he should move his assistant in a member thread or something like that.

I would totally disagree with this. ECs helper and ACA are great earning tools as well as being very useful and they make script making more effiecient. And this was the point tazzin made which is completly valid.

From: Dracody
Ok Id Like to change my vote to NO too… Since I thought you had done all by yourself , but as you can see , everytime someone Will Find out if you are trying to play the Smart Ass…, So its a shame…

RM please change my vote , and I guess that'd be all for this thread.:fiery:


I don't think tazzin was trying to be a smartass. if you look through his posts you'll notice he never had a bad attitude, if anything he had a learning one. Had you looked deeper into the script you would've probably realized that someone with the capabilities of making such autocolors and object finders would have made it in just one function and used a couple more variables. Maybe you should also familiarize yourself better with ACA2 and EC Scar Helper. I personally have never tried EC's, and so don't really know exactly how it looks either.

Tazzin44: You have a great attitude. Don't lose it. Due to this attitude you will be allowed to re-apply in 3 weeks, if you feel that you have put enought of your own work into the script. Feel free to shoot me a PM anytime.

For now it is a no; But i'm sure that will change.

~RM