SRL Archive - Archive

Colluci - SRL Member Application Form


Colluci

2009-03-07 18:30:57

<!– BEGIN TEMPLATE: formanswers –>
Colluci - SRL Member Application Form
Colluci

What is the meaning to life?


Where you Referred to SRL? If yes, by whom?
yes
I was looking for rs bots in google and found it :>

Programming Knowledge
C++, C#, PHP and well a bit(basic) of java. My

Other Communitys
Rsbot.org, Sythe.org, Rs-hacking.com, almost every cheat site

How Long have You Played Runescape
4 years i think

Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.

Well, maybe i shouldn't be applying thought i never make a fully working script..i'm rather lazy but still my upcoming woodcutting script was good, so i've decided to apply. I know it won't possible happen, but there are SRL members with less knowledge then me so who knows? I don't post much yes it a fact but i am daily active. I'm now trying to learn the advance part from scar..let's see how it goes. I reckon I have a low chance of getting in SRL-Members.

——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted

program DraynorWillowChopperAndBurnerByColucci;
{$DEFINE FORM }


{.include srl/srl/misc/Smart.scar}
{.include SRL/SRL.scar}
{.include SRL/srl/skill/WoodCutting.scar}
{.include SRL/srl/misc/QuickChat.scar}
{.include SRL/srl/misc/Friends.scar}
{$IFDEF FORM }
{.include srl/srl/misc/Users.scar}
{$ENDIF}
{.include SRL/SRL/misc/WorldSwitcher.scar}

Const
SmartWorld =161; // Smart world you want to be loaded.
UsingTinderBox = True ; // Do you have a tinderbox in the inventory? ? NOTE: Used to burn the willows. True or False.
ScriptVersion ='1.0' ; //DONT TOUCH. This version is 1.0.
ShutDownPC = False ;//Will shutdown your pc if True after the script ends. Change it if you want. True of False,
LoadsPerPlayer = 25; //Loads per player before switching.
AdditionalTreeColor = 0;//An additional tree color use. Its not needed but i have added it.
WaitPerWillows = 6000; //The time to wait while chopping willows.
MyScriptID = '1161' ;// Don't touch..
TheSRLID = '6974'; // Change it to yours.
TheSRLPassword = 'ttgfekatz8'; // Change it to yours.

var

x, y, AxeDTM, BankDTM, HowManyAntibans, HowManyPlayersAreWeUsing, Willows,
Willow1, Willow2, Willow3, Willow4, EntFindz0r, a, b, c , d, fx, fy, Level,
HowManyResponds, Tinderbox, SetTime, LoadsDone, AxeBroken, BrokenAxes, xx,
PlayersSwitch, TimeRunningSince, Talked, Antibans, Null, Xfile, TriesA, xy,
TriesB, TriesC, StupidX, StupidY, Ents, WillowsBanked, WillowsBurned,
WillowsDropped, LogAttemped, SRLDID, SRLDPASS, FishSymbol, BankSymbol, TimeA,
TotalLogs, TotalLogsX, SexyBeast, WillowsInInv, WLvl, FLvl, iad, FishSpot,
BankSpot: Integer;

RandomNumber: array [0..25] of integer;

IsAxeWield, WillowFound, BurningLogs, BankingLogs, StartBackupScript,
DroppingLogs, Cutting, ResultX, ResultY, Worked, WeAreAtFishingSpot,
WeAreAtBank, AnyRandom, Reason1, Reason2, Reason3, Reason4 :Boolean;

LastRespond, r, TextColour: String;
TheQuestion, TheRespond: array of array of String;
World:LongInt;


procedure DeclarePlayers;//RS player info and additional things needed to run the script..
begin
If Not (Players[0].Name = '') then Exit;
If (Players[0].Name = '') then
begin
WriteLn('No Players in SRLPlayerForm.');
WriteLn('Dont Worry...If you have the players declared in the DeclarePlayers Procedure, youll be fine.'); //Declare them just here :D
LampSkill := 'woodcutting';
HowManyPlayersAreWeUsing := 1;// Change if you are going to add more... otherwise it wont to work proper.
NumberOfPlayers(HowManyPlayersAreWeUsing);
CurrentPlayer := 0;
Players[0].Name := 'dddddddddddddddddddddd5'; //Runescape Username
Players[0].Pass := 'ddddd'; //Runescape Password
Players[0].nick := 'ddddd'; // 3-4 letters of your Runescape Name here->Don't include here Spaces and Capital letters
Players[0].Pin := '4444444444444444444'; //If you don't have one, let it blank
Players[0].Active := true; //Set to true to be active
Players[0].Strings[0] := ''; //What do you want do to? Valid options are: 'Dropping' , 'Burning', 'Banking'
WriteLn('Player Starting is '+Players[CurrentPlayer].Name);
{
//ADD MORE IF YOU WANT!
Players[1].Name := ''; //Runescape Username
Players[1].Pass := ''; //Runescape Password
Players[1].nick := ''; // 3-4 letters of your Runescape Name here->Don't include here Spaces and Capital letters
Players[1].Pin := ''; //If you don't have one, let it blank
Players[1].Active := true; //Set to true to be active
Players[1].Strings[0] := 'Banking'; //What do you want do to? Valid options are: 'Dropping' , 'Burning', 'Banking'

Players[2].Name := ''; //Runescape Username
Players[2].Pass := ''; //Runescape Password
Players[2].nick := ''; // 3-4 letters of your Runescape Name here->Don't include here Spaces and Capital letters
Players[2].Pin := ''; //If you don't have one, let it blank
Players[2].Active := true; //Set to true to be active
Players[2].Strings[0] := 'Banking'; //What do you want do to? Valid options are: 'Dropping' , 'Burning', 'Banking'

Players[3].Name := ''; //Runescape Username
Players[3].Pass := ''; //Runescape Password
Players[3].nick := ''; // 3-4 letters of your Runescape Name here->Don't include here Spaces and Capital letters
Players[3].Pin := ''; //If you don't have one, let it blank
Players[3].Active := true; //Set to true to be active
Players[3].Strings[0] := 'Banking'; //What do you want do to? Valid options are: 'Dropping' , 'Burning', 'Banking'
}
end;
end;

Procedure Antiban;Forward;
Procedure FindWhereWeAre;Forward;
Procedure AfterInvFull;Forward;
Procedure FindWillows;Forward;
Procedure AutoTalker;Forward;
Procedure TurnOffPC;Forward;
Procedure DropLogs;Forward;
Procedure BackupScript;Forward;
Procedure TheProggy;Forward;
Procedure LoadDTMS;Forward;

Function AntiRandoms: Boolean;//Note that if a random doesnt get solved, its not my script's fault its SRL fault. There are randoms that werent solved yet. Help SRL Community by taking screens, giving accounts in randoms, etc
var i:Integer;
begin
Case I of
0:If FindNormalRandoms then AnyRandom:=True;
1:If FindInventoryRandoms then AnyRandom:=True;
2:If FindNonInventoryRandoms then AnyRandom:=True;
end;
Result:=AnyRandom;
case random(4) of
0: r:= 'N';
1: r:= 'E';
2: r:= 'S';
3: r:= 'W';
end;
If FindFight then
begin
WriteLn('Found a fighting random');
Result:=True;
RunAway(r,True,1,15000 + Random(2000))
WriteLn('Successfully avoided the fight');
GetMMLevels('hp', TextColour);
end;
If (HPPercent < 25) then
begin
If Not GameTab(1) then exit;
If GameTab(1) then
begin
WriteLn('Your HP is ' + IntToStr(HPPercent) + '% ONLY. Logging out To Avoid Dying.');
LogOut;
NextPlayer(False);
end;
end;
end;

Function FindBrokenAxe(Slot : Integer): Boolean;//By Cazax...I pretend to do my own ent finder and broken axe too.
Var
ATPA : T2DPointArray;
Box : TBox;
T : Integer;
Begin
T := GetCurrentTab;
GameTab(4);
Wait(100);
SetArrayLength(ATPA, 3);
Box := InvBox(Slot);
FindColorsTolerance(ATPA[0], 924021, Box.X1, Box.Y1, Box.X2, Box.Y2, 7);
FindColorsTolerance(ATPA[1], 791908, Box.X1, Box.Y1, Box.X2, Box.Y2, 7);
FindColorsTolerance(ATPA[2], 923761, Box.X1, Box.Y1, Box.X2, Box.Y2, 7);
Result := (Length(ATPA[0]) <= 4) And (Length(ATPA[1]) <= 4) And (Length(ATPA[2]) <= 4)
If Not Result Then
Begin
GameTab(5);
Wait(100);
FindColorsTolerance(ATPA[0], 924021, 575, 291, 602, 318, 7);
FindColorsTolerance(ATPA[1], 791908, 575, 291, 602, 318, 7);
FindColorsTolerance(ATPA[2], 923761, 575, 291, 602, 318, 7);
Result := (Length(ATPA[0]) <= 4) And (Length(ATPA[1]) <= 4) And (Length(ATPA[2]) <= 4)
End;
GameTab(T);
End;

Procedure BankLogs;// Will BankLogs. It's a mess i know
var
x, y:Integer;
begin
If Not LoggedIn Then Exit;
If not InvFull Then Exit;
If FindSymbol(x,y,'bank') then
Begin
WriteLn('Found Bank')
Mouse(x, y, 1, 1,true) ;
FFlag(0);
WeAreAtBank:=True;
end;
If (not (OpenBank('db', true, true))) then
If (not (OpenBankFast('db'))) then
begin
FindObjCustom(x, y, ['ank', 'ooth'], [1792105, 4615547, 2970721], 0)
Mouse(x, y, 2, 2, false);
Wait(1000+Random(1000));
end;
If PinScreen then
wait(500);
InPin(Players[CurrentPlayer].Pin);
wait(500+random(1000));
If BankScreen then
Case IsAxeWield of
True:
begin
DepositAll;
WillowsBanked:=WillowsBanked+28;
TheProggy;
CloseBank;
end;
False:
begin
Deposit(2, 28, True);
WillowsBanked:=WillowsBanked+27;
TheProggy;
CloseBank;
end;
end;
begin
FindSymbol (x,y,'fishing spot')
Wait(100 + Random(200));
Mouse(x,y,0,0,true);
WeAreAtBank:=False;
WeAreAtFishingSpot:=True;
WriteLn('Banked all. Now going to chop willows again :D. ');
Wait(599+random(69));
Exit;
end;
end;

Procedure NewLevel;//When you lvl up, it will click to continue and count +1 level which will be in TheProggy.
begin
If Not LoggedIn Then Exit;
If FindNPCChatText('congratulu', Nothing) then
begin
WriteLn('Level Up!!!!');
Inc(Level);
end;
If FindText(x, y, 'ontinue', NPCCHARS, MCX1, MCY1, MCX2, MCY2) Then
Mouse(x, y, 1, 1, True);
end;

Procedure BurnLogs;// Will Burn Logs. It may not work 100% still working on it
begin
If Not LoggedIn Then Exit;
If not FindDTM(TinderBox, x, y, MIX1, MIY1, MIX2, MIY2)
or FindDTM(WillowsInInv, x, y, MIX1, MIY1, MIX2, MIY2) then FindWillows;
repeat
MarkTime(SexyBeast);//I was bored when i built this procedure nice name anyway
If FindDTM(TinderBox, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Mouse(x, y, 3, 3, True);
Wait(540 + Random(180));
if FindDTM(WillowsInInv, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
wait(500+random(500));
AntiRandoms;
Mouse(x, y, 3, 3, True);
if (FindBlackChatMessage('advan')) or (FindBlackChatMessage('catches')) then
Inc(WillowsBurned);
end;
end;
If FindBlackChatMessage('light a fire') then// Please i never help here i dont think it works 100%.
begin
Iad:= Random(6);
case Iad of //StormLighter
0: ClickMouseBox(246,220,263,236, false);//Also i need someone to explain me how MouseBox and ClickMouseBox works didnt found any relevant tut
1: ClickMouseBox(253,148,272,168, false);//Basically i need something
2: ClickMouseBox(222,174,234,188, false);//To get in another place when can't light fire
3: ClickMouseBox(185,176,202,195, false);//That didnt made sense. Well I think you understand it anyway
4: ClickMouseBox(240,240,256,259, false);//Dunno if this works..
5: ClickMouseBox(252,112,267,124, false);//But it's a worth try.
else
begin
WriteLn('Shit it didnt work. Wait for the next version to get a proper burner :)');
WriteLn('Dropping the logs.');
DropLogs;
end;
end;
If SexyBeast > 5000000 Then
begin
WriteLn('The Burn Logs Procedure Failed. Post What Happened In My SRL Script Thread');
WriteLn('Dont be mad! The script will continue');
WriteLn('Now ill be dropping logs..');
DropLogs;
Exit;
end;
end;
until not FindDTM(WillowsInInv, x, y, MIX1, MIY1, MIX2, MIY2)
If not FindDTM(WillowsInInv, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Inc(LoadsDone);
WriteLn('Burn Logs Procedure Worked!!!!!!!!!!!');
TheProggy;
end;
end;

Procedure BrokeAxe;//Check if axe is broken and tries to find a new one in the bank.
begin
If FindBrokenAxe(1) then
If (FindBlackChatMessage('You do not')) Then WriteLn('Axe is broken.....');
If FindSymbol(x,y, 'Bank') then
begin
Mouse(x,y,0,0,true);
FFlag(0);
WeAreAtBank:= True;
WriteLn('We are in the bank');
end;
Case random(2) of
0:
begin
FindObjCustom(x, y, ['ank', 'ooth'], [1792105, 4615547, 2970721], 0)
Mouse(x, y, 2, 2, false);
Wait(1000+Random(1000));
end;
1:
begin
OpenBankFast('db');
end;
end;
If FindDtm(AxeBroken, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x, y, 8, 8, false);
Wait(400);
Chooseoption('All');
end;
If not FindDTM(AxeDTM, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
WriteLn('Sorry. BrokeAxe procedure didnt work at all. Please post what happened in my Thread at SRL-forums.com.');
Exit;
end;
If FindDTM(AxeDTM, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
SearchBank('Axe');
FindDTM(AxeDTM, x, y, MSX1, MSY1, MSX2, MSY2)
Mouse(x, y, 4, 4, False);
ChooseOption('Withdraw-All');
CloseBank;
GameTab(4);
If FindDTM(AxeDTM, x, y, MSX1, MSY1, MSX2, MSY2) then
If not FindDTM(AxeBroken, x, y, MSX1, MSY1, MSX2, MSY2) then
WriteLn('Seems like BrokeAxe procedure worked. Thats great!');
end;
end;

Procedure BackupScript; // If something went wrong with the script, this will try to start it again and resolve the problem
begin
If Not LoggedIn Then
begin
LogAttemped := LogAttemped + 1;
LogInPlayer;
end;
try FindWhereWeAre except WriteLn('Couldnt find where the player is.');
If (ResultX = False) then
begin
LogOut;
NextPlayer(false);
end;
If ResultX = True then
begin
FindWhereWeAre;
Antiban;
AntiRandoms;
end;
If LogAttemped <= 5 then
Begin
Writeln(Capitalize(Players[CurrentPlayer].Name) + ': Something is wrong within this player. Lets try again.');
LoginPlayer;
FindWhereWeAre;
FindWillows;
end;
end;
end;


Procedure LoadDTMS; //Will Load all the DTMS needed
begin
BankDTM := DTMFromString('78DA635CC4CCC070820105BC7AFA89E13F906' +
'604E2FF40C0381DA8E63CAA9A7FFF04E16A4080711A50CD315435' +
'7FFE30A1AA0199730855CDD7AF0CA86AE662AA41370700AD181AA' +
'1');
AxeBroken := DTMFromString('78DA63CC666260B8C580025A9205182481342' +
'310FF0702C662A09A3B0C6880118904D2A54035B709A82903AAB9' +
'4F404D3250CD47FC6A00A1090BB2');
AxeDTM := DTMFromString('78DA63CC666260B8CD80025A9205182481342' +
'310FF0702C672A09A7B0C6880118904D2A540353708A82901AA79' +
'48404D3250CD47FC6A00A3CD0BB6');
Willow2 := DTMFromString('78DA634C666260486564400661FE86601A26C' +
'AE80454938EAA26B3D217554D14508D23AA1A0B57255435E54035' +
'51A86A9C7D3450D56401D5D4A1AAC96F084755E309541389AAC6D' +
'05A05554D20508D03AA1A4B7765543515987E8FCD764155130A54' +
'5388AAC6DED712554D11A61A136755143500B1590FF2');
Willow1 := DTMFromString('78DA639CC3C8C0B0840105F879E832FC07D24' +
'01986FF40C0B809C8DA88AAC6C1471FAE0604183700597350D5E8' +
'5BC9A0AA990264F5A1AAB170534755D308642D445563ECA082AAA' +
'60DC8DA82AAC6C9560D450D008EF0155A');
Willow3 := DTMFromString('78DA636C60646038CF8002B2EB4218FE0369A' +
'00CC37F20609C0C646D475563E769085703028C9B81AC5368E634' +
'C6A2AA590E64DD445553DD9B8FAAA615C8BA82AAA6B42B0255CD5' +
'C20EB38AA1A3565515435D540D609543519E561A86AEA81ACDBA8' +
'6AFC63EC50D5F401590F51D504A45BA0840F00C53F26E1');
Willow4:= DTMFromString('78DA63AC606460F8CF80025C1D34C04240198' +
'6FF40C0B819C87A88AAC6D0540E4C3342F98CD140162B238A1A4B' +
'272D54357540D62B547358595950D56C01B24450CDD1369147559' +
'30D6429A3AA718B364655530B6445A0AAB1B550465103007DD30F' +
'E1');
WillowsInInv:= DTMFromString('78DA639467666078C1800282BD6419FE03694' +
'620FE0F048CA240354F51D514A4DBC3D58000A31850CD47026A54' +
'806A1EA3AAF173934155A30154F316B77BC06A04816ADEA0AAC94' +
'AB2465103005F8F158D');
TinderBox := DTMFromString('78DA638C67626078C18006189148205D0A547' +
'39D809A04A09A7B04D49400D5DC27A0A61CA8E60D0135E940351F' +
'F1AB0100C4B607FE');
FishSpot := DTMFromString('78DA63AC676660D8CB8002B8B2DE30FC07D28' +
'C40FC1F0818416A0EA0AA6114DE095703E63703D5EC4155B37BF7' +
'7A5435AD4035FB50D5CC9AD50757C304A25B30D5F0D89E80AB610' +
'6D120F7ECC6ED66B09A6AC2E60000413C1D6C');
BankSpot := DTMFromString('78DA635CC2CCC0D0C980025E9D1660F80FA41' +
'981F83F10302E07AAE9415593E6CD085703028C20735A50D5AC99' +
'6B84AA6611504D370135207326E0B70B00A9C81519');

WriteLn('Loaded all DTMS');
end;

Procedure FindWhereWeAre;//Just to startup. My first procedure!
var
x, y: Integer;
begin
Worked:=False;
MakeCompass('NW');
If FindDTM(Willow1, x, y, MSx1, MSy1, MSx2, MSy2)
or FindDTM(Willow2, x, y, MSx1, MSy1, MSx2, MSy2)
or FindDTM(Willow3, x, y, MSx1, MSy1, MSx2, MSy2)
or FindDTM(Willow4, x, y, MSx1, MSy1, MSx2, MSy2) then
begin
GetMousePos(x,y);
Mouse(x, y, 4, 4, False);
AntiRandoms;
FindWillows;
Exit;
end;
If RadialWalk(998943 , 240, 195, 80, 1, 1) Then
begin
AntiRandoms;
WriteLn('Walked To Willows Using Radial Walk');
wait(109+random(699));
Worked:=True;
Exit;
end;
If not RadialWalk(998943 , 240, 195, 80, 1, 1) Then
If Not InvFull Then
begin
if FindDtm(FishSpot, x, y, MMX1, MMY1, MMX2, MMY2) then begin
GetMousePos(x,y);
Mouse(x, y, 4, 4, False);
WriteLn('Walking To Willows Using DTMS');
Worked:= True;
Exit;
end;
If not FindDtm(FishSpot, x, y , MMX1, MMY1, MMX2, MMY2) then begin
If FindDtm(BankSpot, x, y , MMX1, MMY1, MMX2, MMY2) then begin
WriteLn('Walking To Bank Using DTMS');
GetMousePos(x,y);
Mouse(x, y, 4, 4, False);
Worked:= True;
Exit;
end;
If FindDtm(FishSpot, x, y , MMX1, MMY1, MMX2, MMY2) then
WriteLn('Walking Now To Willows Using DTMS');
GetMousePos(x,y);
Mouse(x, y, 4, 4, False);
Worked:= True;
Exit;
end else begin
WriteLn('Last try.');
LoadSymbolBitmapColor('fish');
LoadSymbolBitmapColor('bank');
Symbolaccuracy :=4;
wait(200+random(154));
if FindSymbol(x,y,'fish')then
begin
wait(500+random(600));
Worked:=True;
mouse(x,y,2,2,true);
end;
if not FindSymbol(x, y, 'fish')then
begin
If FindSymbol(x, y, 'bank') then
begin
Mouse(x,y,2,2, true);
Worked:=True;
Exit;
end;
If Not FindSymbol(x, y, 'bank') or FindSymbol(x, y, 'fishing spot')then
begin
Logout;
Worked:=False;
NextPlayer(false);
WriteLn('Logging Out...Reason - Couldnt find the Willows Spot');
Reason1:=True;
Exit;
end else
begin
Worked:=False;
WriteLn('We FAILED.');
NextPlayer(False);
end;
end;
end;
end;
end;

procedure DropLogs;//Drops the logs..If your axe is in the inventory and NOT IN THE 1st PLACE, put it in the 1st place otherwise it will be dropped.
Var
i:Integer;
begin
if not (LoggedIn) then exit;
if (InvFull) then
begin
case IsAxeWield of
True:
for i := 1 to 28 do
begin
DropItem(i);
Wait(500+random(500));
WillowsDropped:= WillowsDropped+28;
Inc(LoadsDone);
end;
False:
for i := 2 to 28 do
begin
DropItem(i);
Wait(500+random(500));
WillowsDropped:= WillowsDropped+27;
Inc(LoadsDone);
end;
end;
end;
TheProggy
Exit;
end;

{function MyOwnEntFinder:Boolean; // Still needs testing.. DONT use it yet.
var
x, y, i:integer;
EntTPA : TPointArray;
MyPoint2 : TPoint;
begin
x := MSCx;
y := MSCy;
FindColorsSpiralTolerance(x, y, EntTPA, 383705, MSx1, MSy1, MSx2, MSy2, 10);
if Length(EntTPA) = 0 then FindColorsSpiralTolerance(x, y, EntTPA, 65535, MSx1, MSy1, MSx2, MSy2, 10);
If not Length(EntTPA) = 0 Then
begin
WriteLn('!!!Found Ent!!!');
Result:=True;
end;
for i := 0 to High(EntTPA) do
begin
MyPoint2 := EntTPA[i]
MMouse (MyPoint2.x, MyPoint2.y, 3, 3);
if (IsUpTextMultiCustom(['chop', 'down'])) then
begin
Writeln('Waiting for it to go away');
Result := True;
Inc(Ents);
Mouse(x, y, 4, 4, False);
Wait(100+Random(100));
ChooseOption('cancel');
AntiRandoms;
AntiBan;
AutoTalker;
end else
begin
WriteLn('My Ent Finding Failed. Trying With SRL one.');
FindEnt(x,y, True);
Mouse(x, y, 4, 4, False);
Wait(100+Random(100));
ChooseOption('cancel');
Inc(Ents);
If Not FindEnt(x,y, True) Then
WriteLn('No ent was found. If there is one, then it failed.');
end;
end;
end; }

Procedure WhileCutting;
begin
MarkTime(TimeA);
repeat
Wait(WaitPerWillows);
while TimeA < 10000 do
begin
Antiban;
AntiRandoms;
If FindEnt(x,y, True) then Inc(Ents);
AfterInvFull;
AutoTalker;
Newlevel;
end;
until TimeA > 500000 ;
wait(100+random(200));
end;

Procedure FindWillows;
var
TreeColor: array [0..4] of integer;
WillowTPA : TPointArray;
MyPoint : TPoint;
x, y, i, WeFailed, d : Integer;
begin
If InvFull Then AfterInvFull;
If Not LoggedIn then Exit;
TreeColor[0] := 332817;
TreeColor[1] := 3765091;
TreeColor[2] := 2179633;
TreeColor[3] := 3230282
TreeColor[4] := 3821637;
x := MSCx;
y := MSCy;
repeat
FindColorsSpiralTolerance(x, y, WillowTPA, 3692618, MSx1, MSy1, MSx2, MSy2, 10);
if Length(WillowTPA) = 0 then FindColorsSpiralTolerance(x, y, WillowTPA, 4681822, MSX1, MSY1, MSX2, MSY2, 10);
if not Length(WillowTPA) = 0 then WriteLn('Found Willow');
for i := 0 to High(WillowTPA) do
begin
MyPoint := WillowTPA[i];
MMouse (MyPoint.x, MyPoint.y, 3, 3);
if (IsUpTextMultiCustom(['chop', 'llow'])) then
case Random(2) of
0:begin
If not LoggedIn Then BackUpScript;
GetMousePos(x,y);
Mouse(x, y, 4, 4, False);
Wait(400+Random(900));
ChooseOption('hop');
ResultX:=True;
If FindEnt(x,y, True) then Inc(Ents);
Inc(Willows);
WriteLn('Chopping Willows');
WriteLn('Willows Found = '+IntToStr(Willows)+' .');
WriteLn('Waiting While Cutting');
WhileCutting;
Exit;
end;
1:
begin
If not LoggedIn Then BackUpScript;
GetMousePos(x,y);
Mouse(x, y, 4, 4, True);
ResultX:=True;
If FindEnt(x,y, True) then Inc(Ents);
Inc(Willows);
WriteLn('Chopping Willows');
WriteLn('Willows Found = '+IntToStr(Willows)+' .');
WriteLn('Waiting While Cutting');
WhileCutting;
Exit;
end;
end;
If InvFull then
begin
WriteLn('Inventory is full.');
AfterInvFull;
end;
if (WeFailed = 5) then
begin
WriteLn('We Failed Finding Willows wdf :(');//lol
if FindObjTPA(x, y, TreeColor[d], 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow']) then
begin
GetMousePos(x,y);
Mouse(x, y, 4, 4, True);
ResultX:=True;
WriteLn('Waiting While Cutting');
WhileCutting;
end else
NextPlayer(False);
LoginPlayer;
ResultX:=False;
end;
While ResultX do
begin
NewLevel;
AutoTalker;
AntiRandoms;
Antiban;
If FindEnt(x,y, True) then Inc(Ents);
end;
end;
until (FindBlackChatMessage('is too full')) or InvFull or (WeFailed = 5) or not LoggedIn;
end;


Procedure TheProggy;//This procedure is just spam (lol). SendReport will be available soon.
begin
TotalLogs:= TotalLogs + (WillowsDropped + WillowsBurned + WillowsBanked);
WriteLn('=========== Colluci Willow Chopper And Burner ==============');
WriteLn(Padr('|| Talked: ' + IntToStr(Talked), 49) + '||');
WriteLn(Padr('|| Switched Players: ' + IntToStr(PlayersSwitch), 49) + '||');
WriteLn(Padr('|| AntiBans: ' + IntToStr(AntiBans), 49) + '||');
WriteLn(Padr('|| Loads: ' + IntToStr(LoadsDone), 49) + '||');
WriteLn(Padr('|| Ran For: ' + TimeRunning, 49) + + '||');
WriteLn(Padr('|| Ents Found: ' + IntToStr(Ents), 49) + '||');
WriteLn(Padr('|| Willows Dropped: ' + IntToStr(WillowsDropped), 49) + '||');
WriteLn(Padr('|| Willows Burned: ' + IntToStr(WillowsBurned), 49) + '||');
WriteLn(Padr('|| Willows Banked: ' + IntToStr(WillowsBanked), 49) + '||');
WriteLn(Padr('|| Levels Up: ' + IntToStr(Level), 49) + '||');
WriteLn(Padr('|| Experience Gained: ' + FloatToStr(TotalLogs*65.5), 49) + '||');
WriteLn('==============================================================');
SRLRandomsReport;
end;//Oops :>


Procedure SaveProggies;//Will get better in next version.
begin
Writeln('Saved the Proggy at '+(ScriptPath + 'Draynor Willow Chopper & Burner '+ ScriptVersion+ 'PROGGY.txt'));
Xfile := RewriteFile(ScriptPath + 'Draynor Willow Chopper & Burner '+ ScriptVersion+ ' @ PROGGY.txt', False);
WriteFileString(Xfile,'=============== Colluci Willow Chopper And Burner =============='+Chr(13)+chr(10));
WriteFileString(Xfile,'|| Talked: ' + IntToStr(Talked) + '||'+Chr(13)+chr(10));
WriteFileString(Xfile,'|| Switched Players: ' + IntToStr(PlayersSwitch) + '||'+Chr(13)+chr(10));
WriteFileString(Xfile,'|| AntiBans: ' + IntToStr(AntiBans) + '||'+Chr(13)+chr(10));
WriteFileString(Xfile,'|| Loads: ' + IntToStr(LoadsDone) + '||'+Chr(13)+chr(10));
WriteFileString(Xfile,'|| Ran For: ' + TimeRunning + + '||'+Chr(13)+chr(10));
WriteFileString(Xfile,'|| Ents Found: ' + IntToStr(Ents) + '||'+Chr(13)+chr(10));
WriteFileString(Xfile,'|| Willows Dropped: ' + IntToStr(WillowsDropped) + '||'+Chr(13)+chr(10));
WriteFileString(Xfile,'|| Willows Burned: ' + IntToStr(WillowsBurned) + '||'+Chr(13)+chr(10));
WriteFileString(Xfile,'|| Willows Banked: ' + IntToStr(WillowsBanked) + '||'+Chr(13)+chr(10));
WriteFileString(Xfile,'|| Levels Gained: ' + IntToStr(Level) + '||'+Chr(13)+chr(10));
WriteFileString(Xfile,'=============================================================='+Chr(13)+chr(10));
WriteFileString(Xfile,'Script stopped at ' + TheTime + ' ' + TheDate(3) + '.'+Chr(13)+chr(10));
CloseFile(Xfile);
end;

Procedure ScriptTerminate;
begin
TheProggy;
Writeln('Script will end.');
Writeln('Thanks for using this script!');
Writeln('Script stopped at ' + TheTime + ' ' + TheDate(3));
Writeln('Post Suggestions/Bugs/Proggies At Script Thread');
SaveProggies;
TerminateScript;
end;


Procedure AfterInvFull;
begin
If Not LoggedIn Then Exit;
If Not (InvFull) Then Exit;
If (InvFull) Then
begin
MakeCompass('N');
WriteLn('Getting what you want to do');
Case Players[CurrentPlayer].Strings[0] of
'Dropping':
begin
WriteLn('Dropping logs');
DropLogs;
Wait(100+random(500));
end;
'Banking':
begin
WriteLn('Banking Logs');
BankLogs;
Wait(100+random(500));
end;
'Burning':
begin
WriteLn('Banking Logs');
BankLogs;
Wait(100+random(500));
end;
end;
if (Players[CurrentPlayer].Strings[0] <> 'Banking')
or (Players[CurrentPlayer].Strings[0] <> 'Dropping')
or (Players[CurrentPlayer].Strings[0] <> 'Burning') then
begin
WriteLn(Capitalize(Players[CurrentPlayer].Name) +'- Error in DeclarePlayers Procedure:')
Writeln('Please Enter a Valid Option in Players[CurrentPlayer].Strings[0].(Banking, Dropping Or Burning). I shouldnt but ill be dropping the logs.');
DropLogs;
end;
end;
end;

Procedure Antiban;//You can add more if you know what you are doing
begin
If Not LoggedIn Then Exit;
Case Random(150) of
1:
begin
Boredhuman;
Inc(HowManyAntibans);;
WriteLn('Antiban - BoredHuman');
Exit;
end;

19:
begin
PickupMouse;
Inc(HowManyAntibans);;
WriteLn('Antiban - PickupMouse');
Exit;
end;

31:
begin
Inc(StupidX);
AddIgnore('Zezima'+IntToStr(StupidX));
Wait(100+random(900));
DeleteIgnore('Zezima'+IntToStr(StupidX));
Inc(HowManyAntibans);;
WriteLn('Antiban - Ignore(Add/Remove)');
Exit;
end;

41:
begin
Inc(StupidY);
AddFriend('tehnoobshow'+IntToStr(StupidY));
Wait(100+random(500));
DeleteFriend('tehnoobshow'+IntToStr(StupidY));
Inc(HowManyAntibans);;
WriteLn('Antiban - Friend(Add/Remove)');
Exit;
end;

125:
begin
Hoverskill('random', false)
Inc(HowManyAntibans);;
WriteLn('Antiban - HoverSkill->Random');
Exit;
end;

69,54,67:
begin
Makecompass('n');
wait(30+random(30));
Makecompass('s');
wait(30+random(30));
Makecompass('random');
Inc(HowManyAntibans);;
WriteLn('Antiban - Random Changing of Compass');
Exit;
end;

143:
begin
Hoverskill('Woodcutting', false);
Inc(HowManyAntibans);;
WriteLn('Antiban - HoverSkill->Woodcutting');
Exit;
end;

87:
begin
Gametab(1);
wait(250+random(350));
Gametab(2);
Wait(250+random(350));
Gametab(3);
Wait(250+random(350));
Gametab(4);
Wait(150+random(200));
Inc(HowManyAntibans);;
WriteLn('Antiban - Gametab');
Exit;
end;

48:
begin
Hoverskill('Firemaking', false);
Inc(HowManyAntibans);;
WriteLn('Antiban - Hoverskill->Firemaking');
Exit;
end;

186:
begin
SleepAndMoveMouse(1000+random(2000));
Inc(HowManyAntibans);;
WriteLn('Antiban - SleepAndMoveMouse');
Exit;
end;

201:

begin
Mouse(random(600),random(500),0,0,false)
Chooseoption('ancel');
Inc(HowManyAntibans);;
WriteLn('Antiban - Random Mouse Click and Cancel');
Exit;
end;

249:

begin
Mouse(random(600),random(500),0,0,false)
chooseoption('xamine')
Inc(HowManyAntibans);;
WriteLn('Random Mouse Click and Examine');
Exit;
end;

200:
begin
If QCOpen then Exit;
OpenQC;
Wait(10+random(100));
CloseQc ;
QCSayLevel('Woodcutting');
Inc(HowManyAntibans);;
WriteLn('Antiban - QuickChat(beta may not work)');;
Exit;
end;
end;
end;

Procedure FindAnAxe;
begin
If Not Loggedin Then Exit;
FindNormalRandoms;
If (FindAxe) Then
begin;
ClearDebug;
WriteLn('Found an axe. Checking if it is wielded or not');
end;
Gametab(4)
wait(200+random(200))
If FindDTM(AxeDTM,x,y,MIX1,MIY1,MIX2,MIY2) Then
begin
Writeln('The Axe is in the Inventory');
Writeln('***Warning***If the axe is not as the 1st place of the inventory, the script will Drop/Bank it');
Writeln('Please put it in the first place. This script will NOT detect if it is in the first place***Warning***');
IsAxeWield:= False;
FindWhereWeAre ;
Exit;
end;
If not FindDTM(AxeDTM,x,y,MIX1,MIY1,MIX2,MIY2) Then
begin
Gametab(5)
wait(200+random(200))
If FindDTM(AxeDTM,x,y,MIX1,MIY1,MIX2,MIY2)Then
begin
Writeln('The Axe is wielded.');
IsAxeWield := true ;
FindWhereWeAre;
Exit;
end;
If not FindDTM(AxeDTM,x,y,Mix1,miy1,mix2,miy2)then
begin
WriteLn('You dont have any axe. Go buy one and start the script again.')
WriteLn('Logging Out...')
Logout;
WriteLn('Setting Player not active. NextPlayer.')
NextPlayer(False);
end;
end;
end;


Procedure Welcome;
begin
GetApplication.Messagebox('Welcome To Colluci Script! ' + chr(13) + 'Have Fun!', 'Welcome', 0)
ClearDebug;
WriteLn('Welcome To The Script-> Draynor Willow Chopper & Burner')
WriteLn('Made By:')
wait(2500);
ClearDebug;
WriteLn(' _____ _____ _ _ _ _ _____ _ ')
WriteLn('/ ___| / _ \ | | | | | | | | / ___| | | ')
WriteLn('| | | | | | | | | | | | | | | | | |')
WriteLn('| | | | | | | | | | | | | | | | | |')
WriteLn('| |___ | |_| | | |___ | |___ | |_| | | |___ | | ')
WriteLn('\_____| \_____/ |_____| |_____| \_____/ \_____| |_| ')
wait(2500);
end;

function CheckAndDownload(ScriptVersionURL, ScriptURL, ExactFileName : string) : boolean;
var
FileNum : Integer;
begin
GetPage(ScriptVersionURL);
Result:=GetPage(ScriptVersionURL) = ScriptVersion
If Result = true then
WriteLn('Version is the newest');
if Result = false then
begin
case GetApplication.Messagebox('Version ' + GetPage(ScriptVersionURL) + ' is the newest Version' + chr(13) + 'Download the New Version?' , 'Download Latest Version Of Script', 4) of
0 : begin
FileNum := ReWriteFile(ScriptPath + ExactFileName, true);
WriteFileString(FileNum, GetPage(ScriptURL));
CloseFile(FileNum);
GetApplication.MessageBox('The current version of ' + ExactFileName + ' has been successfully downloaded.' + chr(13) + 'Please reopen this script.', 'Please Reopen the Script', 0);
WriteLn('Now opening the script page');
OpenWebPage('http://www.google.com');
TerminateScript;
end;
end;
end;
end;

procedure TurnOffPC;
begin
If (ShutDownPC = False) Then Exit;
If (ShutDownPC = True) then
WriteLn('Your PC will shutdown ...');
wait(2500+random(200));
KeyDown(92);
wait(200);
KeyDown(82);
wait(200);
KeyUp(82);
wait(200);
KeyUp(92);
wait(200);
WriteLn('Now!');
Sendkeys('shutdown -s -f -t 00'+chr(13));
end;


procedure AutoTalker;// Add More If you want..it's random soz..I took some TypeSends for others scripts. Thats not copying i think its just being lazy? :=)
Var Chat, Talked, l, d:Integer;
begin
If Not LoggedIn Then Exit;
MarkTime(Chat);
If TimeFromMark(Chat) <= 50000 Then exit;
Case random(150) of
0: TypeSend('Hey, hello...');
1: TypeSend('can i have free stuuf');
2: TypeSend('haha');
3: TypeSend('gotta lvl my wc soon');
4: TypeSend('im training my wc');
5: TypeSend('ure a noob');
6: TypeSend('begone newbs');
7: TypeSend('wc lvls');
8: TypeSend('fm lvls');
9: TypeSend('ilvy2 lol');
10: TypeSend('i hate skillers');
11: TypeSend('I own man');
12: TypeSend('chickens cant kill u');
13: TypeSend('we can say ass now :>');
14: TypeSend('stop it');
15: TypeSend('lol and dont spam me!');
16: TypeSend('get over it');
17: TypeSend('get lost noob');
18: TypeSend('dont be stupid');
19: TypeSend('I hate randoms');
20: TypeSend('i hate you');
21: TypeSend('i luv this game');
22: TypeSend('rofl');
23: TypeSend('Man im bored');
24: TypeSend('wc is sooo boring!');
25: TypeSend('hehe gime dem trees!');
26: TypeSend('so sleepy...');
27: TypeSend('arg cmon u stupid tree!');
28: TypeSend('haha im so nooby');
29: TypeSend('woot i own s0 much');
30: TypeSend('WIllows is all mine!');
31: TypeSend('arg Willows are so slooow coz many players here');
32: TypeSend('yay nerly lvl!');
33: TypeSend('im da man!');
34: TypeSend('omg i wish i was a mem...');
35: TypeSend('red: shake: mwuahahaha my willows');
36: TypeSend('white: have a good day all of you... =]');
37: TypeSend('red: shake: Im goin 2 eat ur souls mwuahahahahahahahahahaha');
38: TypeSend('what sorta music yall listen 2?');
38: TypeSend('red: shake: Leave These Woods and Never Return');
39: TypeSend('yay da simpsons is on =]');
40: TypeSend('arg nothin on tv =[');
41: TypeSend('mmm im hungry');
42: TypeSend('sweet cake!');
43: TypeSend('=p i get pavalova');
44: TypeSend('chooocolate');
45: TypeSend('mmmm donuts');
46: TypeSend('ow my cat scratched me!');
47: TypeSend('lool my cat is goin crazy');
48: TypeSend('yay nerly tea time');
49: TypeSend('hmph stupid parents');
50: TypeSend('ah mindless killing');
51: TypeSend('man something stinks');
52: TypeSend('so wats evrybody up 2?');
53: TypeSend('sup dog?');
54: TypeSend('eek laggy');
55: TypeSend('man i hate this lag');
57: TypeSend('laaaaag');
58: TypeSend('=[ lag');
59: TypeSend('stupid dial up');
60: TypeSend('i need broad band');
61: TypeSend('yaya awesome song');
62: TypeSend('woot this song totally rox');
63: TypeSend('ah peace at last... oh maybe not');
64: TypeSend('grrr i h8 bots now we cant trade gud');
65: TypeSend('stupid macros will destroy our economy');
66: TypeSend('bots r so obvious arent them..');
67: TypeSend('man it rox how theres no macros =]');
68: TypeSend('Fr33 St00f Pl0x');
69: TypeSend('Man the new update just roxs.');
70: TypeSend('Hehe i can say ass and suck now in RuneScape');
71: TypeSend('Finally Jagex killed wildy. I hate it');
72: TypeSend('I like Pie.');
73: TypeSend('My main has been banned wtf!');
74: TypeSend('I am so sleepy');
75: TypeSend('Can I throw some cookies?');
76: TypeSend('Obama for RuneScape President!');
77: TypeSend('Im on a bad day.');
78: TypeSend('I believe that i own');
79: TypeSend('Id rather try to focus in wc');
80: TypeSend('Imo i dont think so');
81: TypeSend('Ill go to GE');
82: TypeSend('I just went to forums to read some mod posts');
83: TypeSend('hey all noobs');
end;
Inc(Talked);
WriteLn( + (Players[CurrentPlayer].Name) + ' Talked Randomly');

if (InChat('Hi')) or (InChat('Hello')) or (InChat('Hey')) then
begin
case Random(4) of
0:
begin
TypeSend(AddMistakes('hello', 30));
Inc(Talked);
end;

1:
begin
TypeSend('I guess so..');
Inc(Talked);
end;

3:
begin
TypeSend('rofl rickrolled again3fsfs');
Inc(Talked);
end;

4:
begin
TypeSend(AddMistakes('Good day', 5));
Inc(Talked);
end;

end;
end;

if (InChat('lvl')) or (InChat('woodcutting')) or (InChat('wc')) or (InChat('level')) then
begin
case d of
0:
begin
TypeSend(AddMistakes(IntToStr(GetSkillLevel('woodcutting')) + ' yours?', 30));
Inc(Talked);
end;

1:
begin
TypeSend(IntToStr(GetSkillLevel('woodcutting')));
Inc(Talked);
end;
3:
begin
TypeSend(AddMistakes('My wc lvl is ' + IntToStr(GetSkillLevel('woodcutting')), 30));
Inc(Talked);
end;
end;
for d:= 0 to 3 do
Inc(Talked);
if (InChat(Players[CurrentPlayer].Name)) then
begin
case l of
0: TypeSend ('yaa?? srry im busy..');
1: TypeSend ('wat..cant talk too busy :)');
2: TypeSend ('wat? so bord here..dont feel like tlking');
3: TypeSend ('ye? too bord to talk sory');
4: TypeSend ('sup? this geting so boring..');
5: TypeSend ('ye? wat u want? sory so bordd..');
6: TypeSend ('wat up..');
7: TypeSend ('yep??');
8: TypeSend ('.....what?');
9: TypeSend ('what you mean my english is very bad');
10: TypeSend ('id know that but i s x that english bad');
11: TypeSend(' Who said my name!?');
end;
For l:= 0 to 11 do
Inc(Talked);
end;
end;
//Add more things...pretty easy :D. Dont forget the Inc(Talked).
end;

Procedure SmallSetupThing;
var I:Integer;
begin
If Not LoggedIn Then Exit;
SetRun(true);
SetAngle(True);
Wait(100+random(500))
MakeCompass('S');
SetGraphics(4, 'current', 'always', 'off', 'low', 'few', 'off', 'few', 'off');
WLvl:= GetSkillLevel('woodcutting');
FLvl:= GetSkillLevel('firemaking');
If GetCombatLevel < 15 Then
begin
I := GetApplication.MessageBox('***IN DANGER*** CB IS WAY TOO LOW','WANT TO CONTINUE THE SCRIPT?',4);
if I = 6 then Writeln('Right dont complain if you get killed. Continuing.');
if I = 7 then
begin
Writeln('Good you stopped. I have few words for you.');
Wait(6000);
WriteLn(' _______ _______ _______ _______ _______ _ _______ _______ ______ '+Chr(13)+chr(10));
WriteLn(' |\ /|( ___ )|\ /| ( ___ )( ____ )( ____ \ ( ___ ) ( ( /|( ___ )( ___ )( ___ \'+Chr(13)+chr(10));
WriteLn(' ( \ / )| ( ) || ) ( | | ( ) || ( )|| ( \/ | ( ) | | \ ( || ( ) || ( ) || ( ) )'+Chr(13)+chr(10));
WriteLn(' \ (_) / | | | || | | | | (___) || (____)|| (__ | (___) | | \ | || | | || | | || (__/ / '+Chr(13)+chr(10));
WriteLn(' \ / | | | || | | | | ___ || __)| __) | ___ | | (\ \) || | | || | | || __ ( '+Chr(13)+chr(10));
WriteLn(' ) ( | | | || | | | | ( ) || (\ ( | ( | ( ) | | | \ || | | || | | || ( \ \'+Chr(13)+chr(10));
WriteLn(' | | | (___) || (___) | | ) ( || ) \ \__| (____/\ | ) ( | | ) \ || (___) || (___) || )___) ) '+Chr(13)+chr(10));
WriteLn(' \_/ (_______)(_______) |/ \||/ \__/(_______/ |/ \| |/ )_)(_______)(_______)|/ \___/ '+Chr(13)+chr(10));
WriteLn('Loggin out..Reason-> Lower combat level of 15.');
NextPlayer(False);
LoginPLayer;
end;
end;
end;

begin
{$IFDEF FORM }
ClearDebug;
SetupSRL;
WriteLn('SRLPlayerForm loaded.');
SRLPlayerForm(True, [], [], ['Banking, Dropping or Burning,'], []);// You dont need to fill them but from armies its is great :>
WriteLn('Players in SRLPlayerForm: '+Players[CurrentPlayer].Name);
{$ENDIF}
wait(2400);
ClearDebug;
Disguise('@Colluci Willow Chopper & Burner');
Welcome;
ClearDebug;
WriteLn('Checking Version');
CheckAndDownload('http://colluciworld.freehostia.com/VersionChecker.txt', 'http://colluciworld.freehostia.com/TheScript.txt', 'Draynor Willow Chopper & Burner 1.0.scar') ;
Wait(1000);
WriteLn('Loading SMART');
wait(2000);
World:=SmartWorld;
SmartSetupEx(World, false, true, false);
SetTargetDC(SmartGetDC);
repeat
wait(100);
until(SmartGetColor(253, 233)<>1118604);
wait(1000);
ActivateClient;
WriteLn('SMART was loaded succesfully.')
SetupWoodCutting;
SRLID := TheSRLID;
SRLPassword := TheSRLPassword;
ScriptID := MyScriptID;
DeclarePlayers;
LoginPlayer;
AntiRandoms;
SmallSetupThing;
WriteLn('Current WC lvl: '+IntToStr(WLvl));
WriteLn('Current FM lvl: '+IntToStr(FLvl));
LoadDTMS;
Wait(100);
FindAnAxe;
FindWhereWeAre;
wait(1000+random(500));
repeat
{while (LoggedIn) do
begin
FindWillows;
MyOwnEntFinder;
AfterInvFull;
AntiRandoms;
Antiban;
NewLevel;
AutoTalker;
end;}
if not LoggedIn then
Begin
NextPlayer(False);
LoginPlayer;
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
Players[CurrentPlayer].Active := False;
If Not LoggedIn Then
Begin
Players[CurrentPlayer].Active := False;
Inc(PlayersSwitch);
NextPlayer(True);
end;
GameTab(4) ;
If FindDTM(AxeBroken,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
WriteLn('Axe is broken :(') ;
Inc(BrokenAxes);
BrokeAxe;
end;
If not FindDTM(AxeBroken,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
GameTab(5);
If FindDTM(AxeBroken,x,y,MIX1,MIY1,MIX2,MIY2) Then
begin
WriteLn('Checking if axe is broken.');
Mouse(x, y, 0, 0, False);
wait(100+random(500));
ChooseOption('Remove');
BrokeAxe;
end;
if LoadsDone >= LoadsPerPlayer then
begin
If LoadsDone mod LoadsPerPlayer = 0 Then //Just to be sure all loads are done
begin
WriteLn('All Loads done:'+IntToStr(LoadsDone)+' loads. Work is done.');
WriteLn('If you want to add more loads, just change the LoadsPerPlayers const');
Inc(PlayersSwitch);
NextPlayer(True);
LoginPlayer;
end;
if PlayersActive = 0 then
begin
NextPlayer(True);
WriteLn('Switching players, ' + Players[CurrentPlayer].Name +' going to ' + BoolToStr(LoggedIn));
Inc(PlayersSwitch);
end;
end;
end;
end;
until(AllPlayersInactive)
end.

It should compile, I made this in the middle of February. Thanks.
Edit: Script doesnt follow the new rules, its old. Anyways it just for show what i did :)

As Richard pointed out it wasnt compiling. Line 702 i missed a end;
It compiles now.

——————————————————
<!– END TEMPLATE: formanswers –>

ZaSz

2009-03-07 18:36:17

Yes from me, looks real nice, shows you got knowledge of advanced scripts stuff.

You dont need your ent finding/broke axe procedures in there at all.

Dervish

2009-03-07 18:38:20

No.

Won't post a grade since you all get pissed at it.

Colluci

2009-03-07 18:41:26

From: Dr D. Dervish
No.

Won't post a grade since you all get pissed at it.


I didn't understand what you meant, was that to me?
Thanks zasz still I believe I can do much better =)

The poll runs for how many days?

And please post the reason that made you vote yes or no

Rubix

2009-03-07 18:46:56

Yes, but as zasz said, you can remove FindEnt and broken axe stuff, as that no longer exists in the world of Runescape :p

ZaSz

2009-03-07 18:49:33

This poll will close on 03-14-2009 at 05:30 PM


(thats gmt -7 you have to convert.)

Dervish

2009-03-07 18:50:25

From: Colluci
I didn't understand what you meant, was that to me?
Thanks zasz still I believe I can do much better =)

The poll runs for how many days?

And please post the reason that made you vote yes or no


Its not against you.

Standards are off here and there, global vars (!), YOU DON'T FREE YOUR DTMs !… etc ;).

Sorry, it's a no ;).

Colluci

2009-03-07 18:53:34

From: Dr D. Dervish
Its not against you.

Standards are off here and there, global vars (!), YOU DON'T FREE YOUR DTMs !… etc ;).

Sorry, it's a no ;).


I understand, tbh I really dont know how did I forgotten to Free the dtms. As this script was never published, I didnt care about the standards and just kept building the script. Thanks anyway.

ZaSz

2009-03-07 19:05:40

From: Dr D. Dervish


Standards are off here and there


If there was a race -

If someone went down street A if someone went down street B, and they arrived at the exact same time down to the ms. Would player A win by default because He went on the clean road?

Griff

2009-03-07 19:26:11

From: zasz
If there was a race -

If someone went down street A if someone went down street B, and they arrived at the exact same time down to the ms. Would player A win by default because He went on the clean road?


No, but that metaphor is retarded.

Lancelot074

2009-03-07 19:48:35

70: TypeSend('Hehe i can say ass and suck now in RuneScape')

Can't you get banned for that?

Colluci

2009-03-07 19:55:00

From: Lancelot074
70: TypeSend('Hehe i can say ass and suck now in RuneScape')

Can't you get banned for that?


Don't think so. You arent insulting anyone by saying that.

ZaSz

2009-03-07 20:16:11

[offtopic]

From: griff721
No, but that metaphor is retarded.


If 1 person who ACTUALLY was retarded made a metaphor. Does that make the metaphor retarted? And If a regular guy like me wasn't retarded made a metaphor. Doesn't that make the metaphor regular?

So thats like saying that cat is as huge as a mouse!

(I made a simile/oxy moron/another metaphor!!!!!) [/offtopic]

About the suck ass thing, kids still report cause they actually are retarded and some still think its a glitch, so if they report you, your account is flagged and is being watched more carefully.

Tniffoc

2009-03-07 20:33:21

There are various reasons, one of them is the alarming number of Global vars. No Better luck next time!

Griff

2009-03-07 20:38:12

From: zasz
[offtopic]



If 1 person who ACTUALLY was retarded made a metaphor. Does that make the metaphor retarted? And If a regular guy like me wasn't retarded made a metaphor. Doesn't that make the metaphor regular?

So thats like saying that cat is as huge as a mouse!

(I made a simile/oxy moron/another metaphor!!!!!) [/offtopic]


Uh, no. I didn't say you were retarded. I'll use a different word anyways. That metaphor doesn't make much sense. YOostreet was clean…

Anyways, I like the script, even though it kinda looks ugly, especially with all the forwarding, but I'm still going to vote YES

Nava2

2009-03-08 01:12:57

I will read of later since I'm on my ipod Atm I do like your attitude… Kinds drunk. Tho

Colluci

2009-03-08 05:51:23

Well, I've never finnished the script..I could do better.:rolleyes:

Dervish

2009-03-08 05:57:06

From: Tniffoc
There are various reasons, one of them is the alarming number of Global vars. No Better luck next time!


Just a question : is it worse that : he has tons of global vars or that he doesn't free DTM's ?

Sir R. M8gic1an

2009-03-08 06:01:09

i see we are all very metaphorical.

I love his attitude and think he would definitely do a great good to members.

~RM

Gu3st...

2009-03-08 06:06:33

YES!!

Comon guys! Take a look at your own app for a minute and compare! He shows that he understand radialwalking, dtms (altought he doesnt free them), multiplayer, SMART, SRL Stats, saving a reprt (O_O), how to make an autoresponder, antiban, and so on.

EDIT:
Dr. D. Dervish: I can't belive you voted no only because he doesnt free the dtms?!
Tniffoc: You do know that the SRL Include uses alot of global vars too?

EDIT2: ..FindSymbol, Bitmap finding (and loading them from the SRL include), he know how to use "case … of", MarkTime();…

Torrent of Flame

2009-03-08 06:09:01

From: Zyt3x
YES!!

Comon guys! Take a look at your own app for a minute and compare! He shows that he understand radialwalking, dtms (altought he doesnt free them), multiplayer, SMART, SRL Stats, saving a reprt (O_O), how to make an autoresponder, antiban, and so on.

EDIT:
Dr. D. Dervish: I can't belive you voted no only because he doesnt free the dtms?!
Tniffoc: You do know that the SRL Include uses alot of global vars too?


SRL has come A LONG way since my application.

Naum

2009-03-08 07:18:26

A definate yes. Everything looks there, I like your use of compiler directives ;).

But there are some stuff that could be shortened or fixed….

1)you could use alot of if statements as those could serve as a failsafe.

2)On your new level procedure instead of find text and then clicking with only 1 randomness, you could have used the function ClickText

3)No need for begin and end:
  1:
begin
OpenBankFast('db');
end;

to

  1: OpenBankFast('db');

4)Some stuff could be cleared in your antiban procedure :).

5)You should really free your DTM's

6) Standards…

Looking good though.

Sir R. M8gic1an

2009-03-08 07:45:15

Had a quick look at the script. On the attitude alone i said yes.

You should take a closer look at local variables my friend :/ you have a whole lot of global vars that you could reduce.

Also, you certainly don't need all those forwards if you structure your script better.

~RM

Illkillutill

2009-03-08 11:26:30

Yes from me. You show good knowledge and a good attitude, which is what we ask to become a member, isn't it?

Of course there are things you can fix, as does everybody who makes a script.

Good job!

Naike

2009-03-08 11:26:37

Yes, This guy shows that he understand and he covers the basics without a doubt. Nice additude and he seems nice.

MasterKill

2009-03-08 11:40:22

From: Dr D. Dervish
No.


WTF?

YES.

This guy can script obviously.

You need to improve some small stuff, mentioned all above, but this is way more then enough to get srl members, eat more pie.

Dervish

2009-03-08 11:46:17

From: MasterKill
WTF?

YES.

This guy can script obviously.

You need to improve some small stuff, mentioned all above, but this is way more then enough to get srl members, eat more pie.


You obviously didn't read my argument(s).

Colluci

2009-03-08 13:20:12

From: Rasta Magician
Had a quick look at the script. On the attitude alone i said yes.

You should take a closer look at local variables my friend :/ you have a whole lot of global vars that you could reduce.

Also, you certainly don't need all those forwards if you structure your script better.

~RM


I know that. I never really made a structure of the script, I was just making the procedures, testing and then I used forward :duh: . My next project will cover the mistakes I made in the first. Thats how we learn - Making mistakes and correcting them. Thanks guys :)

Richard

2009-03-08 13:26:06

Not voting until you make your script actually compile, I believe that is one of the most important parts of an application, no?

I won't vote no yet, I'll give you a chance to sort out the error(s).

Colluci

2009-03-08 13:30:02

From: Richard
Not voting until you make your script actually compile, I believe that is one of the most important parts of an application, no?

I won't vote no yet, I'll give you a chance to sort out the error(s).


It doesnt compile? Ok I forgot an end in line 702. @Look in first post .. Sorry!

Richard

2009-03-08 13:32:28

Its a really silly error :p

If you just run it you will instantly be able to see the problem :)

Colluci

2009-03-08 13:37:10

From: Richard
Its a really silly error :p

If you just run it you will instantly be able to see the problem :)


I've noticed … Happens :)

Line 702, forgot to add an end;

Richard

2009-03-08 13:38:25

And now you can get my yes :)

But you might want to neaten up some of those standards, almost as bad as I used to be :p

Nava2

2009-03-08 13:47:47

Now that I look, sorry its a no.

You don't use safe procedures, look for SRL Alternatives to the SCAR ones (MouseBox).

You are missing a lot of begin..end; nests.

You don't use arrays enough. Look up static and dynamic arrays.

You use way too many globals. I don't understand why you use to many x's and y's. Use them locally, and pass parameters around. Its safer.

Your standards are a bit off at a lot of places.

You need to learn how to use Parameters. You don't use ANY in ANY of your procedures.

Functions, you need to use them. You use only procedures in ALL of your personally written ones.
function Bank: Boolean
See, if you used this, if the banking didn't work, it would return false, and you'd be able to activate a failsafe, with a procedure, you have no way of activating a failsafe.

You don't have failsafes; add them in. if not DoThis then DoThat; You have them in your procedures, but what if they are activated and don't work? You are left with nothing.

Anyways, sorry man. I hope to see you re-applying soon! :)

WT-Fakawi

2009-03-08 14:30:55

Well, it is a very good hack. I love the unordered code. Reminds my of my first efforts.

Yes.

Dervish

2009-03-08 14:34:24

From: WT-Fakawi
Well, it is a very good hack. I love the unordered code. Reminds my of my first efforts.

Yes.


Don't you mean script ?

Colluci

2009-03-08 14:35:41

From: Dr D. Dervish
Don't you mean script ?


Nvm he doesnt.

Torrent of Flame

2009-03-08 14:47:26

Hack: one who works hard at boring tasks

Fakawi knows what he is saying. He doesnt mean script, he means that this is a very good effort.

jakeyboy29

2009-03-08 15:12:58

i like your script, but i think uv been rude to me on the forums, so im voteing no.

Colluci

2009-03-08 15:17:33

From: jakeyboy29
i like your script, but i think uv been rude to me on the forums, so im voteing no.


Thanks for the personal vote. I find it amuzing. Its better to end that now, don't wanna to start arguing about pointless things. I dont get what I did wrong thought. I've never been rude to anyone here.

WT-Fakawi

2009-03-08 15:55:54

From: Torrent of Flame
Hack: one who works hard at boring tasks

Fakawi knows what he is saying. He doesnt mean script, he means that this is a very good effort.


Correct.

The script is filled with lots of conceptual "tryouts" and he codes real fast. You can immediately see that by the massive amount of globals and forwards. Very goal oriented and not bothered too much by esthetical motivations, though he invested some time preparing his script especially for this appliance.

Back in the early days, all scripts looked like Colluci's . Much has changed.

Quickmarch

2009-03-08 16:06:51

Sorry, it's a no from me too. I think you should have made it compile first and the freeing DTMs thing makes me think your not quite ready. :)

Gu3st...

2009-03-08 16:13:56

I can't belive this many votes no… It's obvious that he can script, and his attitude is great!
Fawk: Help me :( (lol)
I think some of the SRL-Members should read the topic about what's needed to become an SRL-Member, and I am thinking that many half-decent scripters is better than a few master scripters.

Hugolord

2009-03-08 16:18:23

From: Zyt3x
I can't belive this many votes no… It's obvious that he can script, and his attitude is great!
Fawk: Help me :( (lol)
I think some of the SRL-Members should read the topic about what's needed to become an SRL-Member, and I am thinking that many half-decent scripters is better than a few master scripters.


erm.. yeah..

I think you should let people decide whether they want to vote yes ro no by themselves.
After all, that's exactly why we have polls.
and it's a Yes from me, although the scripting style looks "funny" :bart: .

jakeyboy29

2009-03-08 17:12:11

From: Colluci
Thanks for the personal vote. I find it amuzing. Its better to end that now, don't wanna to start arguing about pointless things. I dont get what I did wrong thought. I've never been rude to anyone here.


my vote, my opinion. just like your aloud yours. lets end this now.

Quickmarch

2009-03-08 17:16:20

From: Zyt3x
I can't belive this many votes no… It's obvious that he can script, and his attitude is great!
Fawk: Help me :( (lol)
I think some of the SRL-Members should read the topic about what's needed to become an SRL-Member, and I am thinking that many half-decent scripters is better than a few master scripters.


Quality not Quantity. ;)

Dervish

2009-03-08 17:24:42

From: Quickmarch
Quality not Quantity. ;)


100% Agreed.

Although I'm not an experienced Scripter at all and I probably shouldn't be SRL Member, I must say its better to have good scripters who know how to script, than people who are still learning. Problem with that : we are always learning ^^.

Iron Man

2009-03-08 19:49:09

From: Dr D. Dervish
100% Agreed.

Although I'm not an experienced Scripter at all and I probably shouldn't be SRL Member, I must say its better to have good scripters who know how to script, than people who are still learning. Problem with that : we are always learning ^^.


I don't think you should have to be a master of SRL just to get into SRL Members. Of course I'm not saying that someone doesn't need any knowledge or experience to get into members. Also, isn't (some of) the point of SRL Members for people who have the ability to script, but are still learning?

Yes, seems like you have a nice attitude. Your script needs some cleaning up though, so follow the pointers other members have given you.


Good luck.

Blumblebee

2009-03-08 22:41:56

Yes. Frankly, I dont see why people are even voting no. Obiously he can script, better than most app's these days (imo).

Daniel

2009-03-09 06:28:36

Yes, it meets ALL of the requirements. Apart from Standards being off a bit here and there, it's still readable by me. And everyone has different standards in what they script.

However, take notice that freeing objects can play a major part in scripts functionality. Other wise SCAR can become a massive memory hog.

Home

2009-03-10 18:52:42

Yes and yes :) I checked your script, and i see some very potential stuff from you! :)
Hopefully we will see in SRL Members section!

Raskolnikov

2009-03-10 23:50:23

Yes. The only problem I could possibly see is:

You don't free dtms (everyone does this at one time or another)
You use global vars
And your standards are off here:

Procedure FindWhereWeAre;//Just to startup. My first procedure!
var
x, y: Integer;
begin
Worked:=False;
MakeCompass('NW');
If FindDTM(Willow1, x, y, MSx1, MSy1, MSx2, MSy2)
or FindDTM(Willow2, x, y, MSx1, MSy1, MSx2, MSy2)
or FindDTM(Willow3, x, y, MSx1, MSy1, MSx2, MSy2)
or FindDTM(Willow4, x, y, MSx1, MSy1, MSx2, MSy2) then
begin
GetMousePos(x,y);
Mouse(x, y, 4, 4, False);
AntiRandoms;
FindWillows;
Exit;
end;
If RadialWalk(998943 , 240, 195, 80, 1, 1) Then
begin
AntiRandoms;
WriteLn('Walked To Willows Using Radial Walk');
wait(109+random(699));
Worked:=True;
Exit;
end;
If not RadialWalk(998943 , 240, 195, 80, 1, 1) Then
If Not InvFull Then
begin
if FindDtm(FishSpot, x, y, MMX1, MMY1, MMX2, MMY2) then begin
GetMousePos(x,y);
Mouse(x, y, 4, 4, False);
WriteLn('Walking To Willows Using DTMS');
Worked:= True;
Exit;
end;
If not FindDtm(FishSpot, x, y , MMX1, MMY1, MMX2, MMY2) then begin
If FindDtm(BankSpot, x, y , MMX1, MMY1, MMX2, MMY2) then begin
WriteLn('Walking To Bank Using DTMS');
GetMousePos(x,y);
Mouse(x, y, 4, 4, False);
Worked:= True;
Exit;
end;
If FindDtm(FishSpot, x, y , MMX1, MMY1, MMX2, MMY2) then
WriteLn('Walking Now To Willows Using DTMS');
GetMousePos(x,y);
Mouse(x, y, 4, 4, False);
Worked:= True;
Exit;
end else begin
WriteLn('Last try.');
LoadSymbolBitmapColor('fish');
LoadSymbolBitmapColor('bank');
Symbolaccuracy :=4;
wait(200+random(154));
if FindSymbol(x,y,'fish')then
begin
wait(500+random(600));
Worked:=True;
mouse(x,y,2,2,true);
end;
if not FindSymbol(x, y, 'fish')then
begin
If FindSymbol(x, y, 'bank') then
begin
Mouse(x,y,2,2, true);
Worked:=True;
Exit;
end;
If Not FindSymbol(x, y, 'bank') or FindSymbol(x, y, 'fishing spot')then
begin
Logout;
Worked:=False;
NextPlayer(false);
WriteLn('Logging Out...Reason - Couldnt find the Willows Spot');
Reason1:=True;
Exit;
end else
begin
Worked:=False;
WriteLn('We FAILED.');
NextPlayer(False);
end;
end;
end;
end;
end;

If you aren't entirely sure about standards, take a look at the link in my signature.

Cut em2 it

NCDS

2009-03-11 00:24:25

Couple things,


If FindNPCChatText('congratulu', Nothing) then
you spelt 'congratula' wrong :p


Is this really necessary?

Iad:= Random(6);
case Iad of //StormLighter

You are missing alot of Begin / end; nests.

Standards are very off.

As other people have mentioned you use alot of Global vars which is definately not the best method.

I feel that your FindWillows; procedure could of been done much more efficiently.

You also should not rely on FindSymbol(); alone for walking.

From your application I can see that you can do the Basic but there are a few more things you need to work on which myself and everyone else has posted about already.

I vote No for now but you are well on your way.

Nose Smasher

2009-03-11 14:30:18

Not bad, especially for only being apart of the SRL community for 2 months ;)

How ever, the typo's, mass amounts of globals, not freeing DTM's, forwards, and sloppy standards shows that the script was rushed… You also say "I can do better" a lot… So why not take everyone's advice into consideration, apply them to your script, and do better? Then post the script in the jr membs wc script section(I saw you posted the script already and no one replied… so try posting in jr membs and attach it instead of posting it), and then gather feedback from everyone there… Then in a few months or so try applying again ;) (assuming you don't get in this time lol)

Reading through some of your posts, its obvious that you're a pretty good person, good attitude, and motivated to learn… I like that ;) But Idk if you're ready just yet ;)

Best of luck! :)

marpis

2009-03-20 22:21:44

This failsafe fails itself ^^ it doesnt open the bank, just leftclicks the booth.
    If (not (OpenBankFast('db'))) then
begin
FindObjCustom(x, y, ['ank', 'ooth'], [1792105, 4615547, 2970721], 0)
Mouse(x, y, 2, 2, false);
Wait(1000+Random(1000));
end;
If PinScreen then

Also, as mentioned, use more functions. I didnt kinda get the idea of your DTM usage.
using TPAs is a big plus, but we have a procedure called CombineTPA(c1, c2), so you can find trees with multiple colors like this:

FindColorsSpiralTolerance(MSCX, MSCY, TPA1, color1, MSX1, MSY1, MSX2, MSY2, 2);
FindColorsSpiralTolerance(MSCX, MSCY, TPA2, color2, MSX1, MSY1, MSX2, MSY2, 2);
TPA3 := CombineTPA(TPA1, TPA2);

I got promoted as SRL Member today, so i don't think i am the right person to vote, so i do not vote anything.

Sir R. M8gic1an

2009-03-21 03:45:33

I tried to re-open to poll to make up for the down time. However, that messed up badly because everyone would be able to vote again, so i re-closed it.

Anyone who HASN'T voted yet feel free to post your votes until March 22nd 24:00GMT.

Any votes that are posted will be checked against the list of who has already voted.
Use your voting powers well ;)

@Marpis: Good Attitude :)

~RM

Sir R. M8gic1an

2009-03-23 03:56:53

this app is over..

~RM

R0b0t1

2009-03-24 19:20:18

Dang, too late. I wanted to vote no and tie it up :(

WT-Fakawi

2009-03-26 18:12:00

:eek: In. In. In! :eek:

Sry, overlooked with all the changes.