SRL Archive - Archive

award982 - SRL Member Application Form


award982

2009-03-04 14:03:06

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

What is the meaning to life?


Where you Referred to SRL? If yes, by whom?
no


Programming Knowledge
im currently learning c++.im a good programmer in pascal,

Other Communitys
runescape,dragonfable,afterdawn.com;zaislu.yra.lt

How Long have You Played Runescape
3

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

Hello!

My name is Norbertas Kremeris.
I play runescape for about 3 years.
I finally want to stop being a leecher and help other peopple in
srl-forums.com,also contribute my work and learn from other peopple.
i like editing stuff with hex editors,though im not skilled at it so i dont know much about it.
I am currently learning c++ language,and know the basics of pascal,and i know alot about scar.

about the script im uploadinf:
My name i use with scar scripts is killhack95,so dont "interrogate" me becouse i used a different name.
its my best work,i took alot of peaces from other scripts and whrote a whole bunch of stuff myself.has som bugs,added smart capability.

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



//AUTO WILLOW PWNER BY Killhack95
//1.fill declare players,sed your srl id account
//2.fill the options bellow
//3.start in draynor bank,axe equipped or in inventory
//
//
//bugs:
//logouts if randomly presses on "report" button (antibans fault...)
// for peopple skilled in this scripting : \\
// line 233-236 for SMART setup \\

{.include SRL/SRL/misc/SMART.scar}
{.include srl/srl.scar}

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //username
Players[0].Pass := ''; //password
Players[0].Nick := ''; //3-4 letters from your username
Players[0].Integers[1] := 0000; //Insert Bank Pin Here
Players[0].Active := True;
{Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Integers[1] := 0000; //Insert Bank Pin Here
Players[1].Active := True;
Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := '';
Players[2].Integers[1] := 0000; //Insert Bank Pin Here
Players[2].Active := True;}
end;
const
YourSRLID = '';
YourSRLPass = '';
UseSleep = False; //set to true if you want to use random breaks
UseResponder = True; //Set to True if you want to use the AutoResponder.
LoadsPerPlayer = ; //how many loads do you wish to do.


Version = '1.00'; //Dont touch


//dont touch below,exept line 233-236 for SMART setup.

var
BankDTM, ChatTimed: Integer;
Loads, GainedLvl: Integer;
ChatMsg, JustTalked: Byte;
function AutoResponder: Integer; forward;
procedure findbrokenaxe; forward;

procedure scriptterminate;
begin
disguise('Terminated');
Report;
TerminateScript;
end;
procedure CheckStats;
begin
if (not( Version = '1.00')) then
scriptterminate;
ScriptID := '971';
if (not (yourSRLID = '')) then
SRLID := YourSRLID
else
WriteLn('Get SRL Stats account');
if (not (yourSRLPass = '')) then
SRLPassword := YourSRLPass
else
WriteLn('Get SRL Stats account');
end;

function PlayerStart: Boolean;
begin
DeclarePlayers;
if not (LoggedIn) then
LogInPlayer;
if LoggedIn then
begin
SetRun(True);
SetAngle(True);
Wait(500 + Random(500));
MakeCompass('S');
Wait(400 + Random(655));
Players[CurrentPlayer].integers[2] := GetSkillInfo('woodcutting', False);
writeln('Players WC level is ' +
IntToStr(Players[CurrentPlayer].integers[2]));
gametab(4);
if Players[CurrentPlayer].integers[2] >= 30 then
result := True;
if not (result) then
begin
WriteLn('Player Doesn'#39't have 30 Woodcutting');
LogOut;
Players[CurrentPlayer].Active := False;
NextPlayer(Players[CurrentPlayer].Active);
end;
end;
end;

procedure Report;
var
I: Integer;
begin
ClearDebug;
begin
WriteLn(' KillhAcK95s Draynor willow pwner ');
WriteLn('__________________________________________________________________________________');
WriteLn('Script has Ran For ' + TimeRunning);
WriteLn('Ents Total Found ' + IntToStr(EntsAvoided));
WriteLn('Total Loads Completed ' + IntToStr(Loads));
WriteLn('Total Levels Gained ' + IntToStr(GainedLvl));
WriteLn('');
WriteLn('');
WriteLn(' Single Player Report ');
WriteLn('__________________________________________________________________________________');
Writeln(' # | Status | Chopped | Gained (XP) | Loads ');
WriteLn('');
for I := 0 to HowManyPlayers - 1 do
Writeln(Padr(' ' + IntToStr(I), 13) +
' ' + Padr(BoolToStr(Players[I].Active), 19) +
' ' + Padr(IntToStr(Players[I].Integers[0]), 18) +
' ' + Padr(IntToStr(Players[I].Integers[0] * 67), 18) +
' ' + Padr(IntToStr(Players[I].Integers[1]), 17));
end;
wait(1000 + random(250));
WriteLn('');
WriteLn('');
SRLRandomsReport;
end;

procedure DSleep;
var
RTime, minu, seco: Integer;
begin
if not (UseSleep) then
Exit;
begin
if (UseSleep) then
begin
RTime := 45000 + random(300000);
Minu := RTime div 60000;
Seco := (RTime mod 60000) div 1000;
Writeln('Going to sleep for ' + inttostr(Minu) + ' minutes and ' +
inttostr(Seco) + ' seconds.');
Logout;
if (Loggedin) then
Logout;
wait(RTime);
LoginPlayer;
wait(700 + random(700));
PlayerStart;
end;
end;
end;
procedure AntiBan;
begin
if (not (LoggedIn)) then
Exit;
case Random(60) of
0:
begin
JustTalked := 0;
BoredHuman;
wait(250 + random(500));
end;
2:
begin
JustTalked := 0;
RandomRClick;
wait(200 + random(500));
end;
3:
begin
JustTalked := 0;
GameTab(1 + Random(12));
Wait(300 + Random(500));
GameTab(4);
end;
4:
begin
JustTalked := 0;
PickUpMouse;
Wait(200 + Random(200));
end;
5:
begin
JustTalked := 0;
RandomMovement;
SetAngle(true);
end;
end;
end;
procedure InitialStart;
begin
ClearDebug;
//------SMART,delete these lines if you dont want to use -----//
SMARTSetUpEX(55 ,False, True, False);
SetTargetDC(SMARTGetDC);
//------SMART,delete these lines if you dont want to use-----//
SetupSRL;
CheckStats;
Disguise('BDC [Draynor Chop'#39'N Bank');
MouseSpeed := 15;
end;
procedure loadDTM(DTMnumber: Integer);
begin
case DTMnumber of
0: BankDTM := DTMFromString('78DA634C666260A86240017FFE30317001694' +
'620FE0F048C203525A86AFEFD1386AB0101007A1109D6');
end;
end;
function FindGainedLevel: boolean;
begin
if not LoggedIn then
Exit;
if ClickContinue(False, False) then
begin
if FindNPCChatText('lations', Nothing) then
begin
writeln('We gained a woodcutting level!');
Players[CurrentPlayer].Integers[3] := Players[CurrentPlayer].Integers[3] +
1;
ClickContinue(True, True);
Result := True;
Exit;
end;
end;
end;
procedure FindRandoms;
begin
if (not (LoggedIn)) then
Exit;
findNormalRandoms;
if (FindFight) then
begin
RunAway('E', True, 1, 3000);
FFlag(0);
Wait(1000 + random(500));
end;
end;

procedure FindBrokenAxe;
var
baxe: integer;
begin
if not (LoggedIn) then
Exit;
if TimeFromMark(baxe) < 1500 then
Exit;
FindNormalRandoms;
MarkTime(baxe);
if (FindBlackChatMessage('ou do not')) then
begin
Writeln('Axe has been broken');
LogOut;
Players[CurrentPlayer].Active := False;
NextPlayer(Players[CurrentPlayer].Active);
end;
end;
procedure Responder;
//Credits & Love To Dans The Man for writing this.
var
LastChat: Integer;
begin
if not (UseResponder) then
Exit;
LastChat := ChatMsg;
if (TimeFromMark(ChatTimed) > 39999 + RandomRange(-12999, 4999)) then
ChatMsg := 0;
ChatMsg := AutoResponder;
if (ChatMsg > LastChat) then
MarkTime(ChatTimed);
if (ChatMsg > 0) then
Writeln('Responded');
ReportVars[1] := ReportVars[1]
+ 1;
end;
function InChatArr(Text: array of string): Boolean;
//Credits to Nava2 and EvilChicken for this.
var
I, H: integer;
s: string;
begin
H := High(Text);
if (not (GetLastChatText(s))) then
LastChatter(s);
for I := 0 to H do
begin
if (Pos(Lowercase(Text[i]), (Lowercase(s))) > 0) then
begin
Result := true;
Exit;
end;
end;
end;
function AutoResponder: integer;
//Credits and love to DansTheMan for fixing this up.
var
level, laugh, noob, auto, greet: TStringArray;
begin
if (JustTalked = 1) then
Exit;
level := ['lvl', 'level', 'Woodcut', 'Wcing', 'Wc', 'Woodcutting'];
laugh := ['Lol', 'Rofl', 'Lawl', 'Haha', 'funny', 'Lmao', 'Lmfao'];
noob := ['noob', 'Nub', 'N00b', 'Nooblet'];
Auto := ['macro', 'autoer', 'cheater', 'bot', 'autoing'];
greet := ['Hi', 'Hello', 'Hey', 'Sup', 'Howdy', 'Hiya'];
if (InChatArr(level)) then
begin
if (ChatMsg = 1) then
Exit;
case (Random(4)) of
0: TypeSend('My WC lvl is ' +
IntToStr(Players[CurrentPlayer].Integers[2]));
1: TypeSend('Wcing is ' + IntToStr(Players[CurrentPlayer].Integers[2]) +
' you?');
2: TypeSend('I have ' + IntToStr(Players[CurrentPlayer].Integers[2]) +
' wcing');
3: IntToStr(Players[CurrentPlayer].Integers[2])
end;
ChatMsg := 1;
JustTalked := 1;
Exit;
end;
if (InChatArr(laugh)) then
begin
if (ChatMsg = 2) then
Exit;
case (Random(6)) of
0: TypeSend('lol');
1: TypeSend('lawl');
2: TypeSend('rofl');
3: TypeSend('haha');
4: TypeSend('lmao');
5: TypeSend('lmfao');
end;
ChatMsg := 2;
JustTalked := 1;
Exit;
end;
if (InChatArr(Noob)) then
begin
if (ChatMsg = 3) then
Exit;
case (Random(4)) of
0: TypeSend('Your A Noob');
1: TypeSend('NubCake');
2: TypeSend('Nooob');
3: TypeSend('Nubz');
end;
ChatMsg := 3;
JustTalked := 1;
Exit;
end;
if (InChatArr(Auto)) then
begin
if (ChatMsg = 4) then
Exit;
case (Random(5)) of
0: TypeSend('im not bot');
1: TypeSend('haha bots are lame');
2: TypeSend('whos bot?');
3: TypeSend('macros are lame');
4: TypeSend('autoer?');
end;
ChatMsg := 4;
JustTalked := 1;
Exit;
end;
if (InChatArr(Greet)) then
begin
if (ChatMsg = 5) then
Exit;
case (Random(7)) of
0: TypeSend('hello');
1: TypeSend('hey');
2: TypeSend('wut up');
3: TypeSend('sup');
4: TypeSend('hiya');
5: TypeSend('how goes it');
6: TypeSend('whats up?');
end;
ChatMsg := 5;
JustTalked := 1;
Exit;
end;
end;
function FindRockColors: Integer; //By SRL, edited out WriteLns
var
GC, a, l, TestColor: integer;
var
P: array of Tpoint;
begin
GC := 5856608;
Flag;
FindColorsSpiralTolerance(MMCX, MMCY, P, GC, MMX1, MMY1, MMX2, MMY2, 80);
l := GetArrayLength(P);
for a := 0 to l - 1 do
begin
TestColor := GetColor(P[a].x, P[a].y);
if (GetColor(P[a].x - 1, P[a].y) = TestColor - 723980) then
begin
Result := TestColor;
Exit;
end;
end;
Result := 0;
end;
function FindWaterColors: Integer; //Credits to SRL, edited out WriteLns
var
GC, a, l, TestColor, Red, Green, Blue: integer;
P: TPointArray;
begin
GC := 10324605;
Flag;
FindColorsSpiralTolerance(MMCX, MMCY, P, GC, MMX1, MMY1, MMX2, MMY2, 60);
l := GetArrayLength(P);
for a := 0 to l - 1 do
begin
if rs_OnMinimap(P[a].x, P[a].y) then
begin
TestColor := GetColor(P[a].x, P[a].y);
if SimilarColors(TestColor, GC, 50) then
begin
ColorToRGB(TestColor, Red, Green, Blue);
if InRange(Blue - Green, -11, 49) then
if InRange(Green - Red, -17, 43) then
if InRange(Blue - Red, 2, 62) then
if GetColor(P[a].x + 2, P[a].y + 2) = TestColor then
if GetColor(P[a].x + 1, P[a].y + 1) = TestColor then
if GetColor(P[a].x, P[a].y + 2) = TestColor then
if GetColor(P[a].x + 2, P[a].y) = TestColor then
if GetColor(P[a].x, P[a].y + 1) = TestColor then
if GetColor(P[a].x + 1, P[a].y) = TestColor then
if GetColor(P[a].x + 2, P[a].y + 1) = TestColor then
if GetColor(P[a].x + 1, P[a].y + 2) = TestColor then
begin
Result := TestColor;
WaterColor := TestColor;
Exit;
end;
end;
end;
end;
Result := 0;
end;
function RDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array[0..3] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 630;
dtmMainPoint.y := 36;
dtmMainPoint.AreaSize := 4;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindRockColors;
dtmMainPoint.Tolerance := 1;
dtmSubPoints[0].x := 630;
dtmSubPoints[0].y := 36;
dtmSubPoints[0].AreaSize := 4;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindRockColors;
dtmSubPoints[0].Tolerance := 1;
dtmSubPoints[1].x := 630;
dtmSubPoints[1].y := 37;
dtmSubPoints[1].AreaSize := 4;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindRockColors;
dtmSubPoints[1].Tolerance := 1;
dtmSubPoints[2].x := 631;
dtmSubPoints[2].y := 32;
dtmSubPoints[2].AreaSize := 4;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindRockColors;
dtmSubPoints[2].Tolerance := 1;
dtmSubPoints[3].x := 625;
dtmSubPoints[3].y := 34;
dtmSubPoints[3].AreaSize := 4;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindRockColors;
dtmSubPoints[3].Tolerance := 1;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function WTW: Boolean;
var
DDTM, x, y, i: integer;
TreeAngle: Extended;
begin
DDTM := RDDTM;
repeat
inc(i);
if FindDTMRotated(DDTM, X, Y, 664, 29, 689, 58, -pi, pi, 0.2,
TreeAngle) then
begin
Mouse(X, Y, 5, 5, True);
Flag;
Writeln('Walked to Willows');
FindRandoms;
Result := True;
end;
until (result) or (I >= 5);
if not (result) then
if RadialWalk(FindWaterColors, 25, 60, 68, -25, -5) then
begin
Writeln('Walked to Willows');
FindRandoms;
Result := True;
end
else
begin
Result := False;
Writeln('Walking Failed');
if not (Result) then
begin
LogOut;
Players[CurrentPlayer].Active := False;
NextPlayer(Players[CurrentPlayer].Active);
end;
end;
FreeDTM(DDTM);
end;
function OpenBankFast1(Location: String): Boolean;
//All Credits to SRL, Just didnt like how it always made the Compass South
var
x, y, i, l, c, z: Integer;
Info: TIntegerArray;
Booths, t: TPointArray;
begin
Wait(400);
case LowerCase(Location) of
'db', 'draynor': Info := [MSCX, MSCY, 605006, 4, 1];
else
begin
srl_Warn('OpenBankFast', 'Unknown bank: '+Location, warn_AllVersions);
Exit;
end;
end;
MakeCompass('S');
z := GetColorToleranceSpeed;
ColorToleranceSpeed(Info[4]);
FindColorsSpiralTolerance(Info[0], Info[1], Booths, Info[2], MSX1, MSY1, MSX2, MSY2, Info[3]);
ColorToleranceSpeed(z);
SetArrayLength(t, 0);
t := Booths;
SetArrayLength(Booths, 0);
Booths := ReArrangeAndShortenArray(t, 14);
l := GetArrayLength(Booths) -1;
for i := 0 to l do
begin
if (not LoggedIn) or BankScreen or PinScreen then
Break;
if (LowerCase(Location) = 'vwb') or (LowerCase(Location) = 'varrock west') then
begin
Booths[i].X := Booths[i].X + 5;
Booths[i].Y := Booths[i].Y - 20;
end;
MMouse(Booths[i].X, Booths[i].Y, 3, 3);
Wait(75 + Random(75));
if IsUpText('ooth') Then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
Wait(70 + Random(75));
if ChooseOption('uickly') then
begin
FFLag(0);
MarkTime(c);
repeat
Wait(100);
until (BankScreen) or (PinScreen) or (TimeFromMark(c) > 3000);
if (Length(Players) > 0) then
if (Players[CurrentPlayer].Pin <> '') then
InPin(Players[CurrentPlayer].Pin);
end;
end;
end;
Result := (BankScreen) or (PinScreen);
end;
function WTDB: Boolean;
var
Bank1Angle: Extended;
x, y, i: Integer;
begin
MakeCompass('S');
FindRandoms;
LoadDTM(0);
wait(500+random(250));
begin
repeat
inc(i);
if FindDTMRotated(BankDTM, X, Y, MMX1, MMY1, MMX2, MMY2, -pi, pi, 0.1,
Bank1Angle) then
begin
Mouse(x - 4, y, 2, 4, true);
Flag;
Writeln('Walked to Bank');
FindRandoms;
Result := True;
Exit;
end;
until (result) or (I >= 5);
if not (result) then
if FindSymbol(x, y, 'bank') then
begin
mouse(x , y, 2, 2, true);
FFlag(2);
Writeln('Walked to Bank');
Result := True;
end
else
begin
Result := False;
Writeln('Could Not Find Bank, Nextplayer');
if not (Result) then
begin
Players[CurrentPlayer].Active := False;
LogOut;
NextPlayer(Players[CurrentPlayer].Active);
if (PlayersActive) = 0 then
begin
NextPlayer(False);
end;
end;
end;
FreeDTM(BankDTM);
end;
end;
function DB: Boolean;
begin
begin
FindRandoms;
MakeCompass('S');
begin
Wait(350 + Random(500));
Writeln('Banking Load');
OpenBankfast1('db');
Flag;
wait(500 + random(500));
if (BankScreen) or (PinScreen) then
begin
if (PinScreen) then
begin
InPin(IntToStr(Players[CurrentPlayer].Integers[1]));
Wait(500 + Random(250));
end;
if (BankScreen) then
begin
Deposit(2, 28, true);
end;
begin
CloseBank;
Wait(150 + random(250));
MakeCompass('S');
FindRandoms;
Result := True;
Players[CurrentPlayer].Integers[0] := Players[CurrentPlayer].Integers[0]
+ 27;
ReportVars[0] := ReportVars[0]
+ 27;
Inc(Loads);
Players[CurrentPlayer].Integers[1] := Players[CurrentPlayer].Integers[1]
+ 1;
wait(500 + Random(200));
Report;
end;
end;
end;
end;
end;
function DCT: Boolean;
{var
x, xx, y, yy, CTS, I: Integer;
WTPA: TPointArray;
WATPA: T2DPointArray;
begin
if not (LoggedIn) then
Exit;
repeat
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.03, 0.75);
FindColorsSpiralTolerance(MSCX, MSCY, WTPA, 9227966, MSX1, MSY1, MSX2, MSY2, 5);
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(CTS);
begin
WATPA := SplitTPA(WTPA, 10);
for I := 0 to High(WATPA) do
if MiddleTPAEx(WATPA[i], x, y) then
begin
Wait(500 + random(500));
MMouse(x, y, 4, 4);
if IsUpText('illow') then
begin
if (InvFull) then
Exit;
GetMousePos(xx, yy);
Mouse(xx, yy, 0, 0, true);
Flag;
wait(200 + random(500));
if FindObjTPA(x, y, 4876128, 20, 2, 15, 25, 10, ['illow', 'willo','willow']) then
begin
if (InvFull) then
Exit;
GetMousePos(xx, yy);
Mouse(xx, yy, 0, 0, true);
Flag;
FindObjTPA(x, y, 4876128, 20, 2, 15, 25, 10, ['illow', 'willo','willow'])
Result := True;
end;
repeat
FindNormalRandoms;
FindEnt(x, y, true);
AntiBan;
Responder;
FindGainedLevel;
FindRandoms;
until not IsUpText('illow') or (InvFull);
end;
FindRandoms;
FindBrokenAxe;
FindGainedLevel;
until (InvFull) or (AllPlayersInactive);
end;}
var
x, y, TTime : integer;
begin
if not(LoggedIn) then Exit;
wait(2+random(250));
FindRandoms;
if TimeFromMark(TTime) < (20000 + Random (10000)) then
TerminateScript;
repeat
MarkTime(TTime);
if not(LoggedIn) then Exit;
If(FindNormalRandoms) or (InvFull) then Exit;
FindBrokenAxe;
FindRandoms;
if FindObjTPA(x, y, 4876128, 20, 2, 15, 25, 10, ['illow', 'Willo', 'Willow']) then
begin
Result := True;
case random(2) of
0:
begin
Mouse(x, y, 0, 0, false);
ChooseOption('hop')
end;
1:
Mouse(x, y, 0, 0, true);
end;
FindRandoms;
Flag;
FindObjTPA(x, y, 4876128, 20, 2, 15, 25, 10, ['illow', 'Willo', 'Willow'])
end;
repeat
FindRandoms;
FindBrokenAxe;
AntiBan;
Responder;
wait(500+random(250));
FindGainedLevel;
wait(1000+random(175));
Until not IsUpText('illow') or (InvFull);
FindRandoms;
FindBrokenAxe;
FindGainedLevel;
Until(invfull);
if not (Result) then
begin
Players[CurrentPlayer].Active := False;
LogOut;
NextPlayer(Players[CurrentPlayer].Active);
If (PlayersActive) = 0 then
begin
TerminateScript;
end;
end;
end;
procedure SNG;
begin
ClearDebug;
Writeln('] / ]------[ ___ \ [ ____ ]>>>> }} ');
Writeln('] / ] ] ] ] [ ] [ [ \ [ ] [ ] }}} ');
Writeln(']/\ ] ] ]___[ ]------[ [ /\[ ]____[ ]<<<<[ }}}}}}}}}} ');
Writeln('] \ ] ] ] ] [ ] [ [___ / [ [ [ }}} ');
Writeln('] \ ] ]___ ]___ ] [ ] [ / [ ____[ ^^^^^[ }} ');
Wait(2000);
WriteLn('');
Writeln('Draynor Chop and Bank, Version ' + Version);
Wait(1500);
ClearDebug;
end;
procedure MainLoop;
begin
SNG;
InitialStart;
wait(500 + random(200));
PlayerStart;
repeat
repeat
WTW;
WriteLn('Pwning Willows');
DCT;
if (InvFull) then
WTDB;
DB;
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
Players[CurrentPlayer].Active := False;
if not LoggedIn then
begin
if (Players[HowManyPlayers - 1].Active = False) then
terminatescript;
Players[CurrentPlayer].Active := False;
PlayerStart;
end;
until (Players[CurrentPlayer].Integers[1] >= LoadsPerPlayer) or
(Players[HowManyPlayers - 1].Active = False);
begin
DSleep;
NextPlayer(True);
PlayerStart;
end;
until (AllPlayersInactive);
end;

begin
MainLoop; //main execution
end.

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

Dervish

2009-03-04 14:17:42

No.

20/100.

@Other members : don't ask me why, it'll come up fast as soon as you read the script…

Torrent of Flame

2009-03-04 14:35:35

Copyfail. Killhack ftw?

Naike

2009-03-04 14:41:46

I would have sayd yes if he's post count was higher. Atleast over 20.

For now, i hold my vote.

award982

2009-03-04 14:49:50

what does this has to do with post count btw???

Dervish

2009-03-04 14:51:34

From: N1ke!
I would have sayd yes if he's post count was higher. Atleast over 20.

For now, i hold my vote.


Post count shouldn't count in the decision for appliances, mostly the attitude, contribution and the script, not post count or longevity…

However, he seems to be a copyer… And the script isn't good enough, most procedures aren't his… etc.

Hugolord

2009-03-04 15:00:27

We like people being active in the community.

Torrent of Flame

2009-03-04 15:07:06

KillhAcK95s


Has NOONE else realised this isnt his?!

Hugolord

2009-03-04 15:21:32

From: Torrent of Flame
KillhAcK95s


Has NOONE else realised this isnt his?!


Yeah, I noticed that when I looked through his app.. which is one of the reason why I voted no but I didn't feel like commenting. ;)

NiCbaZ

2009-03-04 15:31:37

From: Torrent of Flame
KillhAcK95s


Has NOONE else realised this isnt his?!


My name i use with scar scripts is killhack95,so dont "interrogate" me becouse i used a different name.
its my best work,i took alot of peaces from other scripts and whrote a whole bunch of stuff myself.has som bugs,added smart capability.


;)


Hmm

DDTMs - Yes.
Standars - Yes.
Good Scripting Tech - Yes.
FailSafes - Yes.
Logic - Yes

Torrent of Flame

2009-03-04 15:33:55

Personally I cant see that that is true. How can we take his word. He can not has benefit of doubt pls.

Dervish

2009-03-04 15:37:44

From: NiCbaZ
;)


Hmm

DDTMs - Yes.
Standars - Yes.
Good Scripting Tech - Yes.
FailSafes - Yes.
Logic - Yes


He copied other's procedures and gave credit, most aren't his.

NiCbaZ

2009-03-04 15:45:38

From: Dr D. Dervish
He copied other's procedures and gave credit, most aren't his.


Err none of the stuff i said he had was not copied.

kitchenrange

2009-03-04 16:00:51

nvm …

Sir R. M8gic1an

2009-03-04 17:44:10

i found no evidence of any user called Killhack95. However i am very tired so i might have done a faulty search. There are no other users called killhack nor any posts by this name.

Why do you use a different name if you signed up so recently?
I'm sure someone will be able to copybust it if it is the case. For now, go on judging the app as this evidence can not be confirmed.

I will be sure to pm dans the man, because apparently he fixed up one o the procedures.

~RM

Blumblebee

2009-03-04 18:04:43

From: Rasta Magician

For now, go on judging the app as this evidence can not be confirmed.


Lol this is my script! http://www.villavu.com/forum/showthread.php?t=37360 Script Is identical he just changed the progress report to his name

edit: he took the one from sythe, but this one is pretty much identical…

{.include srl/srl.scar}

{^-S E T U P-^}

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True;

{Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Active := True;

Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := '';
Players[2].Active := True;}
end;

const

YourSRLID = '4472';

YourSRLPass = 'markiseggo';

UseSleep = False; //Set to true if you want to take random breaks.

UseResponder = False; //Set True if you want to use the AutoResponder.

LoadsPerPlayer = 4;

{^ -S E T U P- ^}


Version = '1.0.pub'; //Dont touch


var
BankDTM, ChatTimed: Integer;
Loads, GainedLvl: Integer;
ChatMsg, JustTalked: Byte;

function AutoResponder: Integer; forward;

procedure findbrokenaxe; forward;

function FindEnt(fx, fy: Integer; AvoidWhenFound: Boolean): Boolean; forward;

procedure Report;
var
I: Integer;
begin
ClearDebug;
begin
WriteLn(' BCD (Draynor Chop'#39'N Bank ');
WriteLn('__________________________________________________________________________________');
WriteLn('Script has Ran For ' + TimeRunning);
WriteLn('Ents Total Found ' + IntToStr(EntsAvoided));
WriteLn('Total Loads Completed ' + IntToStr(Loads));
WriteLn('Total Levels Gained ' + IntToStr(GainedLvl));
WriteLn('');
WriteLn('');
WriteLn(' Single Player Report ');
WriteLn('__________________________________________________________________________________');
Writeln(' # | Status | Chopped | Gained (XP) | Loads ');
WriteLn('');
for I := 0 to HowManyPlayers - 1 do
Writeln(Padr(' ' + IntToStr(I), 13) +
' ' + Padr(BoolToStr(Players[I].Active), 19) +
' ' + Padr(IntToStr(Players[I].Integers[0]), 18) +
' ' + Padr(IntToStr(Players[I].Integers[0] * 67), 18) +
' ' + Padr(IntToStr(Players[I].Integers[1]), 17));
end;
wait(1000 + random(250));
WriteLn('');
WriteLn('');
SRLRandomsReport;
end;

procedure CheckStats;
begin
ScriptID := '971';
if (not (yourSRLID = '')) then
SRLID := YourSRLID
else
WriteLn('Get SRL Stats account');
if (not (yourSRLPass = '')) then
SRLPassword := YourSRLPass
else
WriteLn('Get SRL Stats account');
end;

procedure scriptterminate;
begin
disguise('Terminated');
Report;
end;

function PlayerStart: Boolean;
begin
DeclarePlayers;
if not (LoggedIn) then
LogInPlayer;
if LoggedIn then
begin
SetRun(True);
SetAngle(True);
Wait(500 + Random(500));
MakeCompass('S');
Wait(400 + Random(655));
Players[CurrentPlayer].integers[2] := GetSkillInfo('woodcutting', False);
writeln('Players WC level is ' +
IntToStr(Players[CurrentPlayer].integers[2]));
gametab(4);
if Players[CurrentPlayer].integers[2] >= 30 then
result := True;
if not (result) then
begin
WriteLn('Player Doesn'#39't have 30 Woodcutting');
LogOut;
Players[CurrentPlayer].Active := False;
NextPlayer(Players[CurrentPlayer].Active);
end;
end;
end;

procedure DSleep;
var
RTime, minu, seco: Integer;
begin
if not (UseSleep) then
Exit;
begin
if (UseSleep) then
begin
RTime := 45000 + random(300000);
Minu := RTime div 60000;
Seco := (RTime mod 60000) div 1000;
Writeln('Going to sleep for ' + inttostr(Minu) + ' minutes and ' +
inttostr(Seco) + ' seconds.');
Logout;
if (Loggedin) then
Logout;
wait(RTime);
LoginPlayer;
wait(700 + random(700));
PlayerStart;
end;
end;
end;

procedure AntiBan;
begin
if (not (LoggedIn)) then
Exit;
case Random(70) of
0:
begin
JustTalked := 0;
BoredHuman;
wait(250 + random(500));
end;
2:
begin
JustTalked := 0;
RandomRClick;
wait(200 + random(500));
end;
3:
begin
JustTalked := 0;
GameTab(1 + Random(12));
Wait(300 + Random(500));
GameTab(4);
end;
4:
begin
JustTalked := 0;
PickUpMouse;
Wait(200 + Random(200));
end;
5:
begin
JustTalked := 0;
RandomMovement;
SetAngle(true);
end;
end;
end;

procedure InitialStart;
begin
ClearDebug;
SetupSRL;
CheckStats;
Disguise('BDC [Draynor Chop'#39'N Bank');
MouseSpeed := 15;
end;

procedure loadDTM(DTMnumber: Integer);
begin
case DTMnumber of
0: BankDTM := DTMFromString('78DA634C666260A86240017FFE30317001694' +
'620FE0F048C203525A86AFEFD1386AB0101007A1109D6');
end;
end;

function FindGainedLevel: boolean;
begin
if not LoggedIn then
Exit;
if ClickContinue(False, False) then
begin
if FindNPCChatText('lations', Nothing) then
begin
writeln('We gained a woodcutting level!');
Players[CurrentPlayer].Integers[3] := Players[CurrentPlayer].Integers[3] +
1;
ClickContinue(True, True);
Result := True;
Exit;
end;
end;
end;

procedure FindRandoms;
begin
if (not (LoggedIn)) then
Exit;
findNormalRandoms;
if (FindFight) then
begin
RunAway('E', True, 1, 3000);
FFlag(0);
Wait(1000 + random(500));
end;
end;

function FindEnt(fx, fy: Integer; AvoidWhenFound: Boolean): Boolean;//Credits to SRL
var
x, y, EntTime, tcts: Integer;
begin
if not(LoggedIn)then
Exit;
GetMousePos(x, y);
if(x <> fx)or(y <> fy)then
MMouse(fx, fy, 0, 0);
if(IsUpText('Chop'))then
begin
tcts := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.03, 0.75);
Result := (CountColorTolerance(118478, 9, 10, 124, 23, 10) > 10);
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(tcts);
end;
if(Result)then
begin
WriteLn('Ent Found!!');
if(AvoidWhenFound)then
begin
Writeln('Waiting for it to go away.');
MFNF(MMCX, MMCY, -1, 1);
MarkTime(EntTime);
while(TimeFromMark(EntTime) < 35000)do
if(Random(20) > 15)then
IdleTime(500, 500, 0.4)
else
Wait(500 + Random(500));
EntsAvoided := EntsAvoided
+ 1;
ReportVars[2] := ReportVars[2]
+ 1;
end;
end;
end;

procedure FindBrokenAxe;
var
baxe: integer;
begin
if not (LoggedIn) then
Exit;
if TimeFromMark(baxe) < 1500 then
Exit;
FindNormalRandoms;
MarkTime(baxe);
if (FindBlackChatMessage('ou do not')) then
begin
Writeln('Axe has been broken');
LogOut;
Players[CurrentPlayer].Active := False;
NextPlayer(Players[CurrentPlayer].Active);
end;
end;

procedure Responder;
//Credits & Love To Dans The Man for writing this.
var
LastChat: Integer;
begin
if not (UseResponder) then
Exit;
LastChat := ChatMsg;
if (TimeFromMark(ChatTimed) > 39999 + RandomRange(-12999, 4999)) then
ChatMsg := 0;
ChatMsg := AutoResponder;
if (ChatMsg > LastChat) then
MarkTime(ChatTimed);
if (ChatMsg > 0) then
Writeln('Responded');
ReportVars[1] := ReportVars[1]
+ 1;
end;

function InChatArr(Text: array of string): Boolean;
//Credits to Nava2 and EvilChicken for this.
var
I, H: integer;
s: string;
begin
H := High(Text);
if (not (GetLastChatText(s))) then
LastChatter(s);
for I := 0 to H do
begin
if (Pos(Lowercase(Text[i]), (Lowercase(s))) > 0) then
begin
Result := true;
Exit;
end;
end;
end;

function AutoResponder: integer;
//Credits and love to DansTheMan for fixing this up.
var
level, laugh, noob, auto, greet: TStringArray;
begin
if (JustTalked = 1) then
Exit;

level := ['lvl', 'level', 'Woodcut', 'Wcing', 'Wc', 'Woodcutting'];
laugh := ['Lol', 'Rofl', 'Lawl', 'Haha', 'funny', 'Lmao', 'Lmfao'];
noob := ['noob', 'Nub', 'N00b', 'Nooblet'];
Auto := ['macro', 'autoer', 'cheater', 'bot', 'autoing'];
greet := ['Hi', 'Hello', 'Hey', 'Sup', 'Howdy', 'Hiya'];

if (InChatArr(level)) then
begin
if (ChatMsg = 1) then
Exit;
case (Random(4)) of
0: TypeSend('My WC lvl is ' +
IntToStr(Players[CurrentPlayer].Integers[2]));
1: TypeSend('Wcing is ' + IntToStr(Players[CurrentPlayer].Integers[2]) +
' you?');
2: TypeSend('I have ' + IntToStr(Players[CurrentPlayer].Integers[2]) +
' wcing');
3: IntToStr(Players[CurrentPlayer].Integers[2])
end;
ChatMsg := 1;
JustTalked := 1;
Exit;
end;
if (InChatArr(laugh)) then
begin
if (ChatMsg = 2) then
Exit;
case (Random(6)) of
0: TypeSend('lol');
1: TypeSend('lawl');
2: TypeSend('rofl');
3: TypeSend('haha');
4: TypeSend('lmao');
5: TypeSend('lmfao');
end;
ChatMsg := 2;
JustTalked := 1;
Exit;
end;
if (InChatArr(Noob)) then
begin
if (ChatMsg = 3) then
Exit;
case (Random(4)) of
0: TypeSend('Your A Noob');
1: TypeSend('NubCake');
2: TypeSend('Nooob');
3: TypeSend('Nubz');
end;
ChatMsg := 3;
JustTalked := 1;
Exit;
end;
if (InChatArr(Auto)) then
begin
if (ChatMsg = 4) then
Exit;
case (Random(5)) of
0: TypeSend('im not bot');
1: TypeSend('haha bots are lame');
2: TypeSend('whos bot?');
3: TypeSend('macros are lame');
4: TypeSend('autoer?');
end;
ChatMsg := 4;
JustTalked := 1;
Exit;
end;
if (InChatArr(Greet)) then
begin
if (ChatMsg = 5) then
Exit;
case (Random(7)) of
0: TypeSend('hello');
1: TypeSend('hey');
2: TypeSend('wut up');
3: TypeSend('sup');
4: TypeSend('hiya');
5: TypeSend('how goes it');
6: TypeSend('whats up?');
end;
ChatMsg := 5;
JustTalked := 1;
Exit;
end;
end;

function FindRockColors: Integer; //By SRL, edited out WriteLns
var
GC, a, l, TestColor: integer;
var
P: array of Tpoint;
begin
GC := 5856608;
Flag;
FindColorsSpiralTolerance(MMCX, MMCY, P, GC, MMX1, MMY1, MMX2, MMY2, 80);
l := GetArrayLength(P);
for a := 0 to l - 1 do
begin
TestColor := GetColor(P[a].x, P[a].y);
if (GetColor(P[a].x - 1, P[a].y) = TestColor - 723980) then
begin
Result := TestColor;
Exit;
end;
end;
Result := 0;
end;

function FindWaterColors: Integer; //Credits to SRL, edited out WriteLns
var
GC, a, l, TestColor, Red, Green, Blue: integer;
P: TPointArray;
begin
GC := 10324605;
Flag;
FindColorsSpiralTolerance(MMCX, MMCY, P, GC, MMX1, MMY1, MMX2, MMY2, 60);
l := GetArrayLength(P);
for a := 0 to l - 1 do
begin
if rs_OnMinimap(P[a].x, P[a].y) then
begin
TestColor := GetColor(P[a].x, P[a].y);
if SimilarColors(TestColor, GC, 50) then
begin
ColorToRGB(TestColor, Red, Green, Blue);
if InRange(Blue - Green, -11, 49) then
if InRange(Green - Red, -17, 43) then
if InRange(Blue - Red, 2, 62) then
if GetColor(P[a].x + 2, P[a].y + 2) = TestColor then
if GetColor(P[a].x + 1, P[a].y + 1) = TestColor then
if GetColor(P[a].x, P[a].y + 2) = TestColor then
if GetColor(P[a].x + 2, P[a].y) = TestColor then
if GetColor(P[a].x, P[a].y + 1) = TestColor then
if GetColor(P[a].x + 1, P[a].y) = TestColor then
if GetColor(P[a].x + 2, P[a].y + 1) = TestColor then
if GetColor(P[a].x + 1, P[a].y + 2) = TestColor then
begin
Result := TestColor;
WaterColor := TestColor;
Exit;
end;
end;
end;
end;
Result := 0;
end;

function RDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array[0..3] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 630;
dtmMainPoint.y := 36;
dtmMainPoint.AreaSize := 4;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindRockColors;
dtmMainPoint.Tolerance := 1;

dtmSubPoints[0].x := 630;
dtmSubPoints[0].y := 36;
dtmSubPoints[0].AreaSize := 4;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindRockColors;
dtmSubPoints[0].Tolerance := 1;

dtmSubPoints[1].x := 630;
dtmSubPoints[1].y := 37;
dtmSubPoints[1].AreaSize := 4;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindRockColors;
dtmSubPoints[1].Tolerance := 1;

dtmSubPoints[2].x := 631;
dtmSubPoints[2].y := 32;
dtmSubPoints[2].AreaSize := 4;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindRockColors;
dtmSubPoints[2].Tolerance := 1;

dtmSubPoints[3].x := 625;
dtmSubPoints[3].y := 34;
dtmSubPoints[3].AreaSize := 4;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindRockColors;
dtmSubPoints[3].Tolerance := 1;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function WTW: Boolean;
var
DDTM, x, y, i: integer;
TreeAngle: Extended;
begin
DDTM := RDDTM;
repeat
inc(i);
if FindDTMRotated(DDTM, X, Y, MMX1, MMY1, MMX2, MMY2, -pi, pi, 0.2,
TreeAngle) then
begin
Mouse(X + 5, Y, 5, 5, True);
Flag;
Writeln('Walked to Willows');
FindRandoms;
Result := True;
end;
until (result) or (I >= 5);
if not (result) then
if RadialWalk(FindWaterColors, 25, 60, 68, -25, -5) then
begin
Writeln('Walked to Willows');
FindRandoms;
Result := True;
end
else
begin
Result := False;
Writeln('Walking Failed');
if not (Result) then
begin
LogOut;
Players[CurrentPlayer].Active := False;
NextPlayer(Players[CurrentPlayer].Active);
end;
end;
FreeDTM(DDTM);
end;

function WTDB: Boolean;
var
Bank1Angle: Extended;
x, y, i: Integer;
begin
MakeCompass('S');
FindRandoms;
LoadDTM(0);
wait(500+random(250));
begin
repeat
inc(i);
if FindDTMRotated(BankDTM, X, Y, MMX1, MMY1, MMX2, MMY2, -pi, pi, 0.1,
Bank1Angle) then
begin
Mouse(x - 7, y, 2, 4, true);
Flag;
Writeln('Walked to Bank');
FindRandoms;
Result := True;
Exit;
end;
until (result) or (I >= 5);
if not (result) then
if FindSymbol(x, y, 'bank') then
begin
mouse(x , y, 2, 2, true);
FFlag(2);
Writeln('Walked to Bank');
Result := True;
end
else
begin
Result := False;
Writeln('Could Not Find Bank, Nextplayer');
if not (Result) then
begin
Players[CurrentPlayer].Active := False;
LogOut;
NextPlayer(Players[CurrentPlayer].Active);
if (PlayersActive) = 0 then
begin
NextPlayer(False);
end;
end;
end;
FreeDTM(BankDTM);
end;
end;

function DB: Boolean;
begin
begin
FindRandoms;
MakeCompass('S');
begin
Wait(350 + Random(500));
Writeln('Banking Load');
OpenBankFast('db');
Flag;
wait(500 + random(500));
if (BankScreen) or (PinScreen) then
begin
Deposit(2, 28, true);
end;
begin
CloseBank;
Wait(150 + random(250));
MakeCompass('S');
FindRandoms;
Result := True;
Players[CurrentPlayer].Integers[0] := Players[CurrentPlayer].Integers[0]
+ 27;
ReportVars[0] := ReportVars[0]
+ 27;
Inc(Loads);
Players[CurrentPlayer].Integers[1] := Players[CurrentPlayer].Integers[1]
+ 1;
wait(500 + Random(200));
Report;
end;
end;
end;
end;

function DCT: Boolean;
{var
x, xx, y, yy, CTS, I: Integer;
WTPA: TPointArray;
WATPA: T2DPointArray;

begin
if not (LoggedIn) then
Exit;
repeat
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.03, 0.75);
FindColorsSpiralTolerance(MSCX, MSCY, WTPA, 9227966, MSX1, MSY1, MSX2, MSY2, 5);
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(CTS);
begin
WATPA := SplitTPA(WTPA, 10);
for I := 0 to High(WATPA) do
if MiddleTPAEx(WATPA[i], x, y) then
begin
Wait(500 + random(500));
MMouse(x, y, 4, 4);
if IsUpText('illow') then
begin
if (InvFull) then
Exit;
GetMousePos(xx, yy);
Mouse(xx, yy, 0, 0, true);
Flag;
wait(200 + random(500));
if FindObjTPA(x, y, 4876128, 20, 2, 15, 25, 10, ['illow', 'willo','willow']) then
begin
if (InvFull) then
Exit;
GetMousePos(xx, yy);
Mouse(xx, yy, 0, 0, true);
Flag;
FindObjTPA(x, y, 4876128, 20, 2, 15, 25, 10, ['illow', 'willo','willow'])
Result := True;
end;
repeat
FindNormalRandoms;
FindEnt(x, y, true);
AntiBan;
Responder;
FindGainedLevel;
FindRandoms;
until not IsUpText('illow') or (InvFull);
end;
FindRandoms;
FindBrokenAxe;
FindGainedLevel;
until (InvFull) or (AllPlayersInactive);
end;}
var
x, y, TTime : integer;

begin
if not(LoggedIn) then Exit;
wait(2+random(250));
FindRandoms;
if TimeFromMark(TTime) < (20000 + Random (10000)) then
TerminateScript;
repeat
MarkTime(TTime);
if not(LoggedIn) then Exit;
If(FindNormalRandoms) or (InvFull) then Exit;
FindBrokenAxe;
FindRandoms;
if FindObjTPA(x, y, 4876128, 20, 2, 15, 25, 10, ['illow', 'Willo', 'Willow']) then
begin
Result := True;
case random(2) of
0:
begin
Mouse(x, y, 0, 0, false);
ChooseOption('hop')
end;
1:
Mouse(x, y, 0, 0, true);
end;
FindRandoms;
Flag;
FindObjTPA(x, y, 4876128, 20, 2, 15, 25, 10, ['illow', 'Willo', 'Willow'])
end;
repeat
FindRandoms;
FindBrokenAxe;
FindEnt(X, Y, True);
AntiBan;
Responder;
wait(500+random(250));
FindGainedLevel;
wait(1000+random(175));
Until not IsUpText('illow') or (InvFull);
FindRandoms;
FindBrokenAxe;
FindGainedLevel;
Until(invfull);
if not (Result) then
begin
Players[CurrentPlayer].Active := False;
LogOut;
NextPlayer(Players[CurrentPlayer].Active);
If (PlayersActive) = 0 then
begin
TerminateScript;
end;
end;
end;

procedure SNG;
begin
ClearDebug;
Writeln('+++++++ --- +++ +++ ---- ---- +++++++ --- ++++++ ------- ++++++ ------');
Writeln(' + + - + + - - - - + + - + - - + - ');
Writeln(' + +++ - + + - - - + +++ - +++ ----- ++++ ---- ');
Writeln(' + + - + + - - + + - + - - + - ');
Writeln('+++++++ ------ + + --- --- +++++++ ------ ++++++ ------ ++++++ ------');
Wait(2000);
WriteLn('');
Writeln('Draynor Chop and Bank, Version' + Version);
Wait(1500);
ClearDebug;
end;

procedure MainLoop;
begin
SNG;
InitialStart;
wait(500 + random(200));
PlayerStart;
repeat
repeat
WTW;
WriteLn('Chopping Willows');
DCT;
if (InvFull) then
WTDB;
DB;
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
Players[CurrentPlayer].Active := False;
if not LoggedIn then
begin
if (Players[HowManyPlayers - 1].Active = False) then
terminatescript;
Players[CurrentPlayer].Active := False;
PlayerStart;
end;
until (Players[CurrentPlayer].Integers[1] >= LoadsPerPlayer) or
(Players[HowManyPlayers - 1].Active = False);
begin
DSleep;
NextPlayer(True);
PlayerStart;
end;
until (AllPlayersInactive);
end;

{Main Execution}

begin
MainLoop;
end.

Edit2: CopyBusted Bitch :D

Hugolord

2009-03-04 18:07:09

pwnt.

Sir R. M8gic1an

2009-03-04 18:10:12

Closed. Banned. Enjoy.

Nice Catch Blumblebee!

~RM