SRL Archive - Archive

rjj95 - SRL Member Application


rj

2013-03-08 20:39:20

How Long have You Played Runescape?
7 Year(s)


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?



What is your general programming knowledge?
Break-down of language knowledge
Pascal(80%)
GML(15%)
Ti-basic(4%)
Java(1%)


Are you a member of any other communities?
Sythe,Moparscape


Tell us about yourself…
From: rjj95
I like to mess around with stuff on the computer. The first time I ever messed with botting was with a autoclicker, did not get banned, get tried SCAR, then here, got mad because I couldn't figure it out so I went to Powerbot and botted on a noob. Then I later came back here to script for private servers, it was very hard for me because all of the tutorials were designed for RS so I had to edit out all the SRL include stuff, but I learned eventually. I then learned how to use basic SRL stuff through DannyRS's 06 include which had many of the same features except they had P06_ before them, and now I currently script for Runescape 2007. My main goal when releasing a script is now:
1) Making it easy for the noob to use
2) No anti-leech, because I don't want to force somebody to learn something, if they don't want to learn it's their loss.
I would Also like to extent my Apology again to
@Le Jingle
@Gucci
@Justin
@Echo_
@Dynamite
@Sjoekeloe
@CRU1Z1N
@BMWxi
@The Killer
@i luffs yeww
@Wardancer
@Ollybest
@NKN
@xtrapsp
@Kyle Undefined
@Daniel

for child-like behaveir on last application



Please show us one (or multiple) of your scripts.
{$I SRL/SRL.Simba}
{$I SRL/SRL/Misc/Debug.Simba}
{$I P07Include.Simba}
var
// I apologize for the obnoxious amount of Globals in this script
{Credits to, @DannyRs(Include), @Flight(Mouse Functions),
The people who helped me with TForm, CynicRus(TForm Designer)}
{*****************************************************************}
{***************************TFormJunk*****************************}
{*****************************************************************}

DsgnForm:TForm;
TLabel0,TLabel1,TLabel2,TLabel3,TLabel4,TLabel5,WithDLabel:TLabel;
ObjectLabel,AreaLabel,FletchLabel,FailsafeLabel,OtherLabel,CustomLabel,Slot1Label,Slot2Label:TLabel;
SpeedLabel,Objectaccurate,MakeLabel,{WithX,WithY,}StringLabel,StringXLabel,StringYLabel:TLabel;
WithXLabel,WithX2Label,WithY2Label,WithYLabel:TLabel;
Username,Password,WithDX1,WithDY1,WithDX2,WithDY2,StringX,StringY: TEdit;
LogCombo,CompassCombo,ObjectCombo,FailsafeCombo,SpeedCombo,MakeCombo:TComboBox;
MethodCombo,objectaccurateCombo,WithdrawCombo,StringCombo:TComboBox;
StartButton,UpdateButton: TButton;

{*****************************Integers****************************}

Col_Fail_1,Col_Fail_2,DTM_Log,Col_Count_1,Col_Count_2,Fletched:Integer;
Col_Fail_3,Col_Fail_4,Col_Count_3,Col_Count_4,Seconds,XpPerHour:Integer;
BankCol_1,BankTol_1,CompassDegree,FletchPerHour:Integer;
BankCol_2,BankTol_2,X,Y,DX1,DY1,DX2,DY2,XPGained:Integer;
DTM_Make,Knife,FSX1,FSY1,FSX2,FSY2,NFSX1,NFSY1,NFSX2,NFSY2,DTM_Made:Integer;
ClickCont,fx,fy,nfx,nfy,DTM_String,DTM_Close,StartTime,XPGet:Integer;
WithXInt,WithYInt,WithX2Int,WithY2Int,StringXInt,StringYInt:Integer;

{*****************************Extended****************************}

BankHue_1,BankSat_1,BankHue_2,BankSat_2:Extended;

{*****************************Strings****************************}

ClickMethod,BankUptext_1,BankUptext_2,BankUptext_3,StringWithDraw:String;
Method,Make,StoreMethod,LogUse,NameUse,ObjectLook,Reason:String;
WithXStr,WithYStr,WithX2Str,WithY2Str,StringXStr,StringYStr:String;
MethodStr,LocationStr,Status:String;
{*****************************************************************}
LocFail:Boolean;

const
default = 'Times New Roman';
Procedure FreeTheDTMs;
Begin
FreeDTM(DTM_Log);
FreeDTM(DTM_Close);
FreeDTM(Knife);
FreeBitmap(ClickCont);
Writeln('report any bugs, to the thread!');
End;
Procedure BrakeWindMouse(xs, ys, xe, ye, gravity, wind, minWait, maxWait, targetArea: extended);
var
veloX,veloY,windX,windY,veloMag,dist,ranDomDist,lastDist,D: extended;
lastX,lastY,MSP,W,TDist,T: integer;
sqrt2,sqrt3,sqrt5,PDist,maxStep: extended;
Begin
MSP := MouseSpeed;
sqrt2:= sqrt(2);
sqrt3:= sqrt(3);
sqrt5:= sqrt(5);

TDist := Distance(Round(xs), Round(ys), Round(xe), Round(ye));
if (TDist < 1) then
TDist := 1;
MarkTime(T);
repeat
if (TimeFromMark(T)>5000) then
break;

dist:= hypot(xs - xe, ys - ye);
wind:= minE(wind, dist);
if (dist < 1) then
dist := 1;
PDist := (dist/TDist);
if (PDist < 0.01) then
PDist := 0.01;
if (PDist >= 0.15) then
Begin
D := (Round((Round(dist)*0.3))/5);
if (D < 20) then
D := 20;
end else if (PDist < 0.15) then
Begin
if ((PDist <= 0.15) and (PDist >= 0.10)) then
D := RanDomRange(8, 13)
else if (PDist < 0.10) then
D := RanDomRange(4, 7);
end;

if (D <= Round(dist)) then
maxStep := D
else
maxStep := Round(dist);

if dist >= targetArea then
Begin
windX:= windX / sqrt3 + (ranDom(round(wind) * 2 + 1) - wind) / sqrt5;
windY:= windY / sqrt3 + (ranDom(round(wind) * 2 + 1) - wind) / sqrt5;
end else
Begin
windX:= windX / sqrt2;
windY:= windY / sqrt2;
End;

veloX:= veloX + windX;
veloY:= veloY + windY;
veloX:= veloX + gravity * (xe - xs) / dist;
veloY:= veloY + gravity * (ye - ys) / dist;

if (hypot(veloX, veloY) > maxStep) then
Begin
ranDomDist:= maxStep / 2.0 + ranDom(round(maxStep) div 2);
veloMag:= sqrt(veloX * veloX + veloY * veloY);
veloX:= (veloX / veloMag) * ranDomDist;
veloY:= (veloY / veloMag) * ranDomDist;
End;

lastX:= Round(xs);
lastY:= Round(ys);
xs:= xs + veloX;
ys:= ys + veloY;

if (lastX <> Round(xs)) or (lastY <> Round(ys)) then
MoveMouse(Round(xs), Round(ys));

W := (RanDom((Round(100/MSP)))*6);
if (W < 5) then
W := 5;
W := Round(W*1.2);
wait(W);
lastdist:= dist;
until(hypot(xs - xe, ys - ye) < 1)

if (Round(xe) <> Round(xs)) or (Round(ye) <> Round(ys)) then
MMouse(Round(xe), Round(ye), 0, 0);

MouseSpeed := MSP;
End;
Procedure BrakeMMouse(eX, eY, ranX, ranY: Integer);
var
randSpeed: extended;
X,Y,MS: integer;
Begin
MS := MouseSpeed;
randSpeed := (ranDom(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
GetMousePos(X, Y);
BrakeWindMouse(X, Y, RanDomRange(eX-ranX, eX+ranX), RanDomRange(eY-ranY,eY+ranY), 8, 5, 10.0 / randSpeed, 15.0 / randSpeed, 10.0 * randSpeed);
MouseSpeed := MS;
End;
Procedure SuperWindMouse(xs, ys, xe, ye, gravity, wind, minWait, maxWait, maxStep, targetArea: extended);
Var
veloX,veloY,windX,windY,veloMag,dist,ranDomDist,lastDist,step: extended;
lastX,lastY,MSP,W: integer;
sqrt2,sqrt3,sqrt5: extended;
Begin
MSP := MouseSpeed;
sqrt2:= sqrt(2);
sqrt3:= sqrt(3);
sqrt5:= sqrt(5);
While hypot(xs - xe, ys - ye) > 1 Do
Begin
dist:= hypot(xs - xe, ys - ye);
wind:= minE(wind, dist);
If dist >= targetArea Then
Begin
windX:= windX / sqrt3 + (ranDom(round(wind) * 2 + 1) - wind) / sqrt5;
windY:= windY / sqrt3 + (ranDom(round(wind) * 2 + 1) - wind) / sqrt5;
End Else
Begin
windX:= windX / sqrt2;
windY:= windY / sqrt2;
If (maxStep < 3) Then
Begin
maxStep:= ranDom(3) + 3.0;
End Else
Begin
maxStep:= maxStep / sqrt5;
End;
End;
veloX:= veloX + windX;
veloY:= veloY + windY;
veloX:= veloX + gravity * (xe - xs) / dist;
veloY:= veloY + gravity * (ye - ys) / dist;
if hypot(veloX, veloY) > maxStep then
Begin
ranDomDist:= maxStep / 2.0 + ranDom(round(maxStep) div 2);
veloMag:= sqrt(veloX * veloX + veloY * veloY);
veloX:= (veloX / veloMag) * ranDomDist;
veloY:= (veloY / veloMag) * ranDomDist;
End;
lastX:= Round(xs);
lastY:= Round(ys);
xs:= xs + veloX;
ys:= ys + veloY;

Case RanDom(50) Of
1..25: W := (MSP + (RanDom((MSP/4))));
26..50: W := (MSP - (RanDomRange((MSP/2), MSP-1)));
End;
If (W < 1) Then
W := 1;

If (lastX <> Round(xs)) Or (lastY <> Round(ys)) Then
MoveMouse(Round(xs), Round(ys));

step:= hypot(xs - lastX, ys - lastY);
wait(W);
lastdist:= dist;
End;

If (Round(xe) <> Round(xs)) or (Round(ye) <> Round(ys)) Then
MoveMouse(Round(xe), Round(ye));

MouseSpeed := MSP;
End;

Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
Var
randSpeed: extended;
X,Y,X2,Y2,j,Dist,MP: integer;
Begin
j := MouseSpeed;
GetMousePos(X, Y);
Dist := Distance(X, Y, eX, eY);
MP := Round(Dist/150);
If MP < 0 Then
MP := 1;

randSpeed := (ranDom(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
X2 := RanDomRange(eX-(j*MP), eX+(j*MP));
Y2 := RanDomRange(eY-(j*MP), eY+(j*MP));
SuperWindMouse(X, Y, X2, Y2, 11, 8, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
GetMousePos(X, Y);
MMouse(eX, eY, ranX, ranY);
MouseSpeed := j;
End;
Procedure HumanMoveSlowFletchN;
Begin
Case ranDom(200) of
1..160: BrakeMMouse(RanDomRange(nfX - 9, nfX + 9), RanDomRange(nfy - 9, nfy + 9), 0, 0);
161..190: BrakeMMouse(RanDomRange(nfX - 12, nfX + 12), RanDomRange(nfy - 12, nfy + 12), 0, 0);
191..200: BrakeMMouse(RanDomRange(nfX - 15, nfX + 15), RanDomRange(nfy - 15, nfy + 15), 0, 0);
End;
End;
Procedure HumanMoveFletchN;
Begin
Case ranDom(200) of
1..160: HumanMMouse(RanDomRange(nfX - 9, nfX + 9), RanDomRange(nfy - 9, nfy + 9), 0, 0);
161..190: HumanMMouse(RanDomRange(nfX - 12, nfX + 12), RanDomRange(nfy - 12, nfy + 12), 0, 0);
191..200: HumanMMouse(RanDomRange(nfX - 15, nfX + 15), RanDomRange(nfy - 15, nfy + 15), 0, 0);
End;
End;
Procedure HumanMoveSlowFletch;
Begin
Case ranDom(200) of
1..160: BrakeMMouse(RanDomRange(fX - 9, fX + 9), RanDomRange(fy - 9, fy + 9), 0, 0);
161..190: BrakeMMouse(RanDomRange(fX - 12, fX + 12), RanDomRange(fy - 12, fy + 12), 0, 0);
191..200: BrakeMMouse(RanDomRange(fX - 15, fX + 15), RanDomRange(fy - 15, fy + 15), 0, 0);
End;
End;
Procedure HumanMoveFletch;
Begin
Case ranDom(200) of
1..160: HumanMMouse(RanDomRange(fX - 9, fX + 9), RanDomRange(fy - 9, fy + 9), 0, 0);
161..190: HumanMMouse(RanDomRange(fX - 12, fX + 12), RanDomRange(fy - 12, fy + 12), 0, 0);
191..200: HumanMMouse(RanDomRange(fX - 15, fX + 15), RanDomRange(fy - 15, fy + 15), 0, 0);
End;
End;
Procedure HumanMoveSlowOff;
Begin
Case ranDom(200) of
1..160: BrakeMMouse(RanDomRange(X - 8, X + 8), RanDomRange(y - 8, y + 8), 0, 0);
161..190: BrakeMMouse(RanDomRange(X - 10, X + 10), RanDomRange(y - 10, y + 10), 0, 0);
191..200: BrakeMMouse(RanDomRange(X - 12, X + 12), RanDomRange(y - 12, y + 12), 0, 0);
End;
End;
Procedure HumanMoveOff;
Begin
Case ranDom(200) of
1..160: HumanMMouse(RanDomRange(X - 8, X + 8), RanDomRange(y - 8, y + 8), 0, 0);
161..190: HumanMMouse(RanDomRange(X - 10, X + 10), RanDomRange(y - 10, y + 10), 0, 0);
191..200: HumanMMouse(RanDomRange(X - 12, X + 12), RanDomRange(y - 12, y + 12), 0, 0);
End;
End;
Procedure HumanMoveSlow;
Begin
Case ranDom(200) of
1..160: BrakeMMouse(RanDomRange(X - 6, X + 6), RanDomRange(y - 5, y + 5), 0, 0);
161..190: BrakeMMouse(RanDomRange(X - 8, X + 8), RanDomRange(y - 7, y + 7), 0, 0);
191..200: BrakeMMouse(RanDomRange(X - 10, X + 10), RanDomRange(y - 10, y + 10), 0, 0);
End;
End;
Procedure HumanMove;
Begin
Case ranDom(200) of
1..160: HumanMMouse(RanDomRange(X - 5, X + 5), RanDomRange(y - 5, y + 5), 0, 0);
161..190: HumanMMouse(RanDomRange(X - 7, X + 7), RanDomRange(y - 7, y + 7), 0, 0);
191..200: HumanMMouse(RanDomRange(X - 10, X + 10), RanDomRange(y - 10, y + 10), 0, 0);
End;
End;
Procedure SlowWait;
Begin
Case ranDom(1000) of
1..860: Wait(RanDomRange(500, 800));
861..975: Wait(RanDomRange(600, 900));
976..1000: Wait(RanDomRange(700, 1500));
End;
End;
Procedure FastWait;
Begin
Case ranDom(1000) of
1..860: Wait(RanDomRange(100, 400));
861..975: Wait(RanDomRange(300, 600));
976..1000: Wait(RanDomRange(100, 800));
End;
End;
Procedure RanDomBankWait;
Begin
Case ranDom(1000) of
1..700: Wait(RanDomRange(300, 1000));
701..900: Wait(RanDomRange(400, 1500));
901..1000: Wait(RanDomRange(500, 3000));
End;
End;
Procedure RanDomChooseWait;
Begin
Case ranDom(1000) of
1..860: Wait(RanDomRange(200, 500));
861..975: Wait(RanDomRange(300, 600));
976..1000: Wait(RanDomRange(400, 1000));
End;
End;
Procedure RanDomRightClick;
Begin
Case ranDom(150) of
1..2: clickmouse2(mouse_Right);
End;
End;
Procedure RanDomLeftClick;
Begin
Case ranDom(150) of
1..3: clickmouse2(mouse_Left);
End;
End;
Procedure RanDomMouseFletchN;
Begin
Case ranDom(101) of
1..95: HumanMoveSlowFletchN;
96..101: HumanMoveFletchN;
End;
End;
Procedure RanDomMouseFletch;
Begin
Case ranDom(101) of
1..95: HumanMoveSlowFletch;
96..101: HumanMoveFletch;
End;
End;
Procedure RanDomMouseOff;
Begin
Case ranDom(101) of
1..95: HumanMoveOff;
96..101: HumanMoveSlowOff;
End;
End;
Procedure RanDomMouse;
Begin
Case ranDom(101) of
1..95: HumanMove;
96..101: HumanMoveSlow;
End;
End;
Function P07_ChooseOptionMultiHuman(Text: TStringArray): Boolean;
Var
WhiteBoxT,BlueBoxT,YellowBoxT,OrangeBoxT,FoundText: String;
OptionTB:TBox;
OptionBoxTPA1: TPointArray;
NumberOfOptions,C,X,Y: Integer;
Begin
FindColors(OptionBoxTPA1, 4674653, P07_MSX1, P07_MSY1, P07_ClientWidth-1, P07_ClientHeight-1);
OptionTB:=getTPABounds(OptionBoxTPA1);
If (Length(OptionBoxTPA1) < 10) Then
Begin
Result:=False;
Exit;
End;
NumberOfOptions:=((OptionTB.Y2-2) - (OptionTB.Y1+21)) / 14;
For C:=0 To (NumberOfOptions-1) Do
Begin
If (OptionTB.Y1+21+(C*15)) > OptionTB.Y1+21+((C+1)*14) Then
Begin
Result:=False;
Break;
End;
WhiteBoxT:=GetTextAtExWrap(OptionTB.X1+2, OptionTB.Y1+21+(C*15), OptionTB.X2-2, OptionTB.Y1+21+((C+1)*14), 0, 5, 1, 16777215, 5, 'P07UpChars');
BlueBoxT:=GetTextAtExWrap(OptionTB.X1+2, OptionTB.Y1+21+(C*15), OptionTB.X2-2, OptionTB.Y1+21+((C+1)*14), 0, 5, 1, 16776960, 5, 'P07UpChars');
YellowBoxT:=GetTextAtExWrap(OptionTB.X1+2, OptionTB.Y1+21+(C*15), OptionTB.X2-2, OptionTB.Y1+21+((C+1)*14), 0, 5, 1, 65535, 5, 'P07UpChars');
OrangeBoxT:=GetTextAtExWrap(OptionTB.X1+2, OptionTB.Y1+21+(C*15), OptionTB.X2-2, OptionTB.Y1+21+((C+1)*14), 0, 5, 1, 4231423, 5, 'P07UpChars');
FoundText:=WhiteBoxT+' '+BlueBoxT+YellowBoxT+OrangeBoxT;
If (P07_ContainsText(FoundText,Text)) Then
Begin
HumanMMouse(RanDomRange(OptionTB.X1+2,OptionTB.X2-2),RanDomRange(OptionTB.Y1+21+(C*14),OptionTB.Y1+21+((C+1)*14)),0,0);
ClickMouse2(mouse_left);
Result:=True;
Exit;
End;
End;
GetMousePos(X,Y);
If Y > 21 Then
HumanMMouse(RanDomRange(OptionTB.X1+2,OptionTB.X2-2),RanDomRange(Y-10,Y-20),0,0)
Else
HumanMMouse(RanDomRange(5,535),RanDomRange(350,490),0,0);
Result:=False;
End;
Procedure PrintError;
Begin
Writeln('The script has stopped due to an error, if this is a bug then please report')
Writeln('it on the script thread, the script automatically logged you out for safety purposes')
Writeln('Error:' + Reason +'.')
End;
Procedure WriteProgress;
Begin
Seconds := (1 + ((Getsystemtime - StartTime) / 1000));
XpPerHour := (3600 * XPGained) / (Seconds);
FletchPerHour := (3600 * Fletched) / Seconds;

ClearDebug;
Writeln('*************************');
Writeln('Time Running:' + TimeRunning + '');
Writeln('Status:' + Status + '');
//Writeln('' + MethodStr + 'Fletched' + IntToStr(Fletched) + '' );
//WriteLn('' + MethodStr + 'Per Hour: ' + IntToStr(ItemsPerHour) + '');
//Writeln('XP Gained:' + IntToStr(XpGained) + '');
//writeLn('Fletching XP/H: ' + IntToStr(XpPerHour) + '');
Writeln('*************************');
End;
Procedure FailSafeLogOut;
Begin
if FindColorTolerance(X, Y, 3691124, 626, 468, 658, 500, 15) then
Begin
RanDomMouse;
clickmouse2(mouse_Left);
Wait(RanDomRange(700, 2000));
if FindColorTolerance(X, Y, 1974666, 572, 363, 708, 390, 15) then
Begin
RanDomMouse;
clickmouse2(mouse_Left);
Wait(RanDomRange(700, 2000));
End;
End;
End;
Function IsInArea(): boolean;
Var
Count_1,Count_2,Count_3,Count_4:Integer;
Begin
Result := false;
Count_1 := CountColorTolerance(Col_Fail_1, 542, 4, 754, 168, 15);
Count_2 := CountColorTolerance(Col_Fail_2, 542, 4, 754, 168, 15);
Count_3 := CountColorTolerance(Col_Fail_3, 542, 4, 754, 168, 15);
Count_4 := CountColorTolerance(Col_Fail_4, 542, 4, 754, 168, 15);
If ((Count_1>=Col_Count_1) and (Count_2>=Col_Count_2) and
(Count_3>=Col_Count_3) and (Count_4>=Col_Count_4)) Then
Begin
Result := true;
End;
End;
Procedure FailSave;
Begin
If LocFail = False Then
Begin
Exit;
End;
If LocFail = True Then
Begin
If Not IsInArea Then
Begin
FailSafeLogOut;
Reason := ('We were not in the correct area')
PrintError;
TerminateScript;
Exit;
End;
End;
End;

Procedure ToInventory;
Begin
X := 645;
Y := 184;
HumanMMouse(RanDomRange(X - 5, X + 5), RanDomRange(y - 5, y + 5), 0, 0);
FastWait;
clickmouse2(mouse_Left);
End;
Procedure CheckFreinds;
Begin
if FindColorTolerance(X, Y, 2341117, 563, 468, 592, 501, 10) then
Begin
RanDomMouse;
FastWait;
clickmouse2(mouse_Left);
Wait(RanDomRange(500, 2000));
End;
End;
Procedure CheckFletching;
Begin
if FindColorTolerance(X, Y, 4819266, 559, 169, 594, 199, 10) then
Begin
RanDomMouse;
FastWait;
clickmouse2(mouse_Left);
Wait(RanDomRange(200, 500));
if FindColorTolerance(X, Y, 605562, 612, 363, 671, 391, 10) then
Begin
RanDomMouse;
Wait(RanDomRange(1500, 3500));
ToInventory;
End;
End;
End;
function IsBankUp(): boolean;
var
Count: Integer;
Begin
Result := false;
Count := CountColorTolerance(2070783, 183, 34, 336, 48, 15);
If (Count>200) Then
Begin
Result := true;
End;
End;
Procedure CloseBankHuman;
Begin
if FindDTM(DTM_Close, x, y, 473, 30, 500, 53) Then
Begin
RanDomMouse;
FastWait;
clickmouse2(mouse_Left);
RanDomBankWait;
If IsBankUp Then
Begin
CloseBank;
Exit;
End;
End;
End;
Procedure WithDrawHumanString;
Begin
if P07_BankScreen then
Begin
Case LowerCase(StringWithDraw) of
'builtin':
Begin
if FindDTM(DTM_String, x, y, 22, 57, 464, 288) Then
Begin
FailSave;
RanDomMouse;
FastWait;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['ithdraw All','thdraw All']);
RanDomBankWait;
End;
End;
'firstsecond':
Begin
X:=93;
Y:=78;
FailSave;
RanDomMouse;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['ithdraw All','thdraw All']);
RanDomBankWait;
End;
'custom':
Begin
X:=WithXInt;
Y:=WithYInt;
FailSave;
RanDomMouse;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['ithdraw All','thdraw All']);
RanDomBankWait;
End;
End;
End;
End;
Procedure WithDrawHumanBow;
Begin
Case LowerCase(StringWithDraw) of
'builtin':
Begin
if FindDTM(DTM_Made, x, y, 47, 60, 462, 272) then
Begin
RanDomMouse;
FastWait;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['ithdraw All','thdraw All']);
RanDomBankWait;
End;
End;
'firstsecond':
Begin
X:=144;
Y:=76;
RanDomMouse;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['ithdraw All','thdraw All']);
RanDomBankWait;
End;
'custom':
Begin
X:=WithX2Int;
Y:=WithY2Int;
RanDomMouse;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['ithdraw All','thdraw All']);
RanDomBankWait;
End;
End;
End;
Procedure WithDrawHuman;
Begin
if FindDTM(DTM_Log, x, y, 47, 60, 462, 272) then
Begin
RanDomMouse;
FastWait;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['ithdraw All','thdraw All']);
RanDomBankWait;
End;
End;
Procedure MouseToRanDomBow;
Begin
RanDomMouseOff;
End;
Procedure Deposite;
Begin
Case LowerCase(StoreMethod) of
'all':
Begin
MouseToRanDomBow;
FastWait;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['tore Al','ore All']);
RanDomBankWait;
IncEx(XPGained, XPGet*27);
End;
'ranDom':
Begin
Case ranDom(100) of
1..90:
Begin
Wait(RanDomRange(0, 100));
End;
91..100:
Begin
if FindDTM(DTM_Made, x, y, 554, 209, 738, 468) then
Begin
Writeln('Starting storage method');
RanDomMouse;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['tore Al','ore All']);
RanDomBankWait;
IncEx(XPGained, XPGet*27);
End;
End;
End;
End;
End;
End;
Procedure SetDepositeInts;
Begin
Case ranDom(100) of
1..4:
Begin
X := 621;
Y := 227;
Exit;
End;
5..6:
Begin
X := 661;
Y := 225;
Exit;
End;
7..82:
Begin
X := 578;
Y := 263;
Exit;
End;
83..96:
Begin
X := 619;
Y := 261;
Exit;
End;
97..100:
Begin
X := 661;
Y := 262;
Exit;
End;
End;
End;
function Bank: Boolean;
var
i, CTS, Timeout: Integer;
TPA, TPA1, TPA2: TPointArray;
ATPA: T2DPointArray;
P: TPoint;
Begin
Result := False;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
Timeout := 5000 + RanDom(1000);
SetColorSpeed2Modifiers(BankHue_1, BankSat_1);
FindColorsTolerance(TPA1, BankCol_1, DX1, DY1, DX2, DY2, BankTol_1);
SetColorSpeed2Modifiers(BankHue_2, BankSat_2);
FindColorsTolerance(TPA2, BankCol_2, DX1, DY1, DX2, DY2, BankTol_2);
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(CTS);
CombineTPAWrap(TPA1, TPA2, TPA);
SplitTPAWrap(TPA, 5, ATPA);
SortATPASize(ATPA, True);
if Length(TPA) < 1 then
Exit;
for i := 0 to High(ATPA) Do
if Length(ATPA[i]) > 30 then
Begin
P := MiddleTPA(ATPA[i]);
HumanMMouse(P.X, P.Y, RanDomRange( - 5, 5), RanDomRange( - 5, 5));
if (P07_IsUpTextMultiCustom(['Use', 'Bank', 'ooth'])) then
Begin
Case LowerCase(ClickMethod) of
'booth':
Begin
Status := 'Banking' + LogUse + '.';
WriteProgress;
RanDomLeftClick;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['Use-q']);
RanDomBankWait;
While (IsMoving) Do
FastWait;
If Not IsBankUp Then
Begin
Bank;
End;
Exit;
End;
'chest':
Begin
Status := 'Banking' + LogUse + '.';
WriteProgress;
RanDomRightClick;
clickmouse2(mouse_Left);
Wait(RanDomRange(100, 700));
RanDomBankWait;
While (IsMoving) Do
FastWait;
If Not IsBankUp Then
Begin
Bank;
End;
Exit;
End;
End;
Exit;
End;
End;
End;
function HasStrings(): boolean;
var
X, Y: Integer;
Begin
Result := false;
if FindDTM(DTM_String, x, y, 549, 202, 741, 467) then
Begin
Result := true;
End;
End;
function InputReady(): boolean;
var
Count: Integer;
Begin
Result := false;
Count := CountColorTolerance(0, 212, 393, 305, 409, 15);
If (Count>200) Then
Begin
Result := true;
End;
End;
function InterfaceReady(): boolean;
var
Count: Integer;
Begin
Result := false;
Count := CountColorTolerance(128, 134, 353, 373, 393, 15);
If (Count>200) Then
Begin
Result := true;
End;
End;
function StringReady(): boolean;
var
Count: Integer;
Begin
Result := false;
Count := CountColorTolerance(128, 137, 361, 381, 379, 15);
If (Count>200) Then
Begin
Result := true;
End;
End;
function HasLogs(): boolean;
var
X, Y: Integer;
Begin
Result := false;
if FindDTM(DTM_Log, x, y, 549, 202, 741, 467) then
Begin
Result := true;
End;
End;
function ContainsUpLevel(): boolean;
var
X, Y: Integer;
Begin
Result := false;
if FindBitMapToleranceIn(ClickCont, x, y, 190, 424, 378, 461,120) then
Begin
Result := true;
End;
End;
Procedure LoadDTMS;
Begin
Knife := DTMFromString('mQwAAAHicY2ZgYHBiYmCwA2JXIH4M5L8C4ntAXF1cxBBhw8lQWVjAIAjkwzAjEgYCACQIBwc=');
DTM_String := DTMFromString('mQwAAAHicY2ZgYMhiYmBIBOIiIC5lZGDIB+IGIG4uj2AoSPMBqmBk4AeSMMyIhIEAAOpZBVM=');
DTM_Close := DTMFromString('mbQAAAHicY2VgYHjKyMDwBoifAfFdKK3BAMFKQKwJxIYMIMDIkBLuyFCQ6MbQVp3BEOJpzsAPFEXHjFgwGAAA6SkJ8g==');
ClickCont := BitmapFromString(121, 5, 'meJyNlUFuwlAMRHP/RTcVUkVZ9B' +
'SRoAHBrqgFpb1Q6mTCZDLfiZAs5O/Yjv2+Hbqq2hy+u6rqBgWCI2T' +
'7+WMWuoXEU0h/bNoQi30/tpaTUfShonZaIkMIn27Pd/UZc85frRVq' +
'nW/1V9nOWLwYX+trHOPX3/JIZXatNjUy/4pCT9Nz2k1bevaoBwh6F' +
'0Z1d/kjTHv6cfqdIM9FKUW4QQMr/L7spygATBvUSdN5QB61T61JSJ' +
'kK4ZY2VRBo4enMKPb0pWl3BpatAXvP+XjjXqgPR87eOx5xs03Lo02' +
'Fklzhgy1Ir4CNGOoSIHUUnGJRILb+z6AGH8tpcAw1CadXYGLZtBFM' +
'OAhPXzYpUlGso14aS7VbI+tTrT0u7YIqXKhQQspLScN1qeHMrdfPM' +
'j2VA44Yckuu/wW6GijMxkADUUnZIPdFnQ17OQzPfIv+AfiVTIA=');
End;
Procedure WithDrawCorrect;
Begin
Bank;
RanDomChooseWait;
P07_Deposit(1,28,True);
RanDomChooseWait;
Case LowerCase(StringWithDraw) of
'builtin':
Begin
if FindDTM(DTM_Made, x, y, 16, 23, 502, 327) then
Begin
RanDomMouse;
FastWait;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['Withdraw X','ithdraw X']);
RanDomChooseWait;
TypeSend('14');
RanDomChooseWait;
RanDomChooseWait;
if FindDTM(DTM_String, x, y, 16, 23, 502, 327) then
Begin
RanDomMouse;
FastWait;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['Withdraw X','ithdraw X']);
RanDomChooseWait;
RanDomChooseWait;
TypeSend('14');
RanDomChooseWait;
RanDomChooseWait;
End;
End;
End;
'firstsecond':
Begin
X:=144;
Y:=76;
RanDomMouse;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['Withdraw X','ithdraw X']);
RanDomChooseWait;
RanDomChooseWait;
TypeSend('14');
RanDomChooseWait;
RanDomChooseWait;
X:=93;
Y:=78;
RanDomMouse;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['Withdraw X','ithdraw X']);
RanDomChooseWait;
RanDomChooseWait;
TypeSend('14');
RanDomChooseWait;
RanDomChooseWait;
End;
'custom':
Begin
X:=WithXInt;
Y:=WithYInt;
RanDomMouse;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['Withdraw X','ithdraw X']);
RanDomChooseWait;
RanDomChooseWait;
TypeSend('14');
RanDomChooseWait;
RanDomChooseWait;
X:=WithX2Int;
Y:=WithY2Int;
RanDomMouse;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['Withdraw X','ithdraw X']);
RanDomChooseWait;
RanDomChooseWait;
TypeSend('14');
RanDomChooseWait;
RanDomChooseWait;
End;
End;
End;
Procedure StringAll;
Begin
X := 257;
Y := 417;
RanDomMouse;
FastWait;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['Make Al','ake All']);
RanDomChooseWait;
End;
Procedure MouseToBow;
Begin
if Not FindDTM(DTM_String, x, y, 604, 316, 682, 354) Then
Begin
WithDrawCorrect;
CloseBankHuman;
RanDomChooseWait;
End;
if FindDTM(DTM_String, x, y, 604, 316, 682, 354) and
FindDTM(DTM_Made, x, y, 604, 316, 682, 354) Then
Begin
RanDomMouse;
FastWait;
clickmouse2(mouse_Left);
FastWait;
if FindDTM(DTM_String, x, y, 604, 316, 682, 354) Then
Begin
RanDomMouse;
FastWait;
clickmouse2(mouse_Left);
SlowWait;
End;
End;
End;
Procedure ChooseMethod;
Var
RandIHigh,RandILow:Integer;
HighR,LowR:String;
Begin
Case LowerCase(LogUse) of
'logs':
Begin
if InterfaceReady Then
Begin
RanDomMouseFletchN;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['ake x','Make X']);
SlowWait;
RandIHigh := RanDomRange(347,84372)
RandILow := RanDomRange(28,100)
HighR := IntToStr(RandIHigh)
LowR := IntToStr(RandILow)
If Not InputReady Then
Begin
FastWait;
If Not InputReady Then
Begin
Exit;
End;
End;
Case ranDom(100) of
1: TypeSend(''+HighR+'');
2: TypeSend(''+LowR);
3..98: TypeSend('27');
99..100: TypeSend('54');
End;
End;
Exit;
End;
// End;
'other':
Begin
if InterfaceReady Then
Begin
RanDomMouseFletch;
RanDomChooseWait;
clickmouse2(mouse_Right);
RanDomChooseWait;
P07_ChooseOptionMultiHuman(['ake x','Make X']);
SlowWait;
RandIHigh := RanDomRange(347,84372)
RandILow := RanDomRange(28,100)
HighR := IntToStr(RandIHigh)
LowR := IntToStr(RandILow)
If Not InputReady Then
Begin
FastWait;
If Not InputReady Then
Begin
Exit;
End;
End;
Case ranDom(100) of
1: TypeSend(''+HighR+'');
2: TypeSend(''+LowR);
3..98: TypeSend('27');
99..100: TypeSend('54');
End;
End;
Exit;
End;
End;
//End;
End;
Procedure SetChooseInts;
Begin
End;
Procedure RanDomFletch;
Begin
Case ranDom(50) of
1..3:
Begin
if FindDTM(DTM_Log, X, Y, 549, 202, 741, 467) then
Begin
RanDomMouse;
FastWait;
clickmouse2(mouse_Left);
FastWait;
if FindDTM(Knife, X, Y, 555, 205, 604, 249) then
Begin
RanDomMouse;
FastWait;
clickmouse2(mouse_Left);
FastWait;
End;
End;
End;
4..50:
Begin
if FindDTM(DTM_Log, X, Y, P07_MIX1, P07_MIY1, P07_MIX2, P07_MIY2) and
FindDTM(Knife, X, Y, P07_MIX1, P07_MIY1, P07_MIX2, P07_MIY2) then
Begin
RanDomMouse;
FastWait;
clickmouse2(mouse_Left);
FastWait;
if FindDTM(DTM_Log, x, y, P07_MIX1, P07_MIY1, P07_MIX2, P07_MIY2) then
Begin
RanDomMouse;
FastWait;
clickmouse2(mouse_Left);
FastWait;
End;
End;
End;
End;
End;
Procedure ConductBot;
Var
TimeOut:Integer;
Begin
If (Not P07_LoggedIn) Then
Begin
P07_LogInPlayer;
ConductBot;
Exit;
End;
TimeOut := 0;
Case LowerCase(Method) of
'shaft':
Begin
Status := 'Making ' + MethodStr + '.';
WriteProgress;
FailSave;
RanDomFletch;
FastWait;
ChooseMethod;
RanDomBankWait;
Wait(RanDomRange(3000, 4000));
if FindDTM(DTM_Log, x, y, 613, 219, 629, 233) then
Begin
ConductBot;
Exit;
End;
MarkTime(TimeOut)
Repeat
If (Not P07_LoggedIn) Then
Begin
P07_LogInPlayer;
ConductBot;
Exit;
End;
FailSave;
RanDomBankWait;
ContainsUpLevel;
if (ContainsUpLevel) then
Begin
P07_ClickToContinue;
ConductBot;
Exit;
End;
Until Not (HasLogs) or (TimeFromMark(TimeOut) > 45000)
Bank;
SetDepositeInts;
FastWait;
Deposite;
WithDrawHuman;
CloseBankHuman;
End;
'fletch':
Begin
Status := 'Making ' + MethodStr + '.';
WriteProgress;
FailSave;
RanDomFletch;
FastWait;
Wait(RanDomRange(30, 90));
ChooseMethod;
RanDomBankWait;
Wait(RanDomRange(2000, 3000));
MarkTime(TimeOut)
Repeat
If (Not P07_LoggedIn) Then
Begin
P07_LogInPlayer;
ConductBot;
Exit;
End;
FailSave;
RanDomBankWait;
ContainsUpLevel;
if (ContainsUpLevel) then
Begin
P07_ClickToContinue;
ConductBot;
Exit;
End;
Until Not HasLogs or (TimeFromMark(TimeOut) > 45000)
Bank;
SetDepositeInts;
Deposite;
WithDrawHuman;
CloseBankHuman;
End;
'string':
Begin
Status := 'Making ' + MethodStr + '.';
WriteProgress;
FailSave;
MouseToBow;
If Not StringReady Then
Begin
FastWait;
If Not StringReady Then
Begin
MouseToBow;
Exit;
End;
End;
StringAll;
RanDomBankWait;
MarkTime(TimeOut)
Repeat
If (Not P07_LoggedIn) Then
Begin
P07_LogInPlayer;
ConductBot;
Exit;
End;
RanDomBankWait;
ContainsUpLevel;
if (ContainsUpLevel) then
Begin
FailSave;
P07_ClickToContinue;
ConductBot;
Exit;
End;
Until Not HasStrings or (TimeFromMark(TimeOut) > 30000)
Bank;
WithDrawHumanString;
SetDepositeInts;
Deposite;
WithDrawHumanBow;
CloseBankHuman;
End;
End;
End;
Procedure ShowInfo;
var
Reply:Integer;
Begin
Reply := MessageBox('Method:' + MethodStr + ' Fletching:' + NameUse + ' Location:' + LocationStr + '', 'Are you sure you want to continue?',4);
if Reply = 6 then
Begin
ConductBot;
End;
if Reply = 7 then
Begin
Reason := 'User wanted to Terminate the script';
PrintError;
TerminateScript;
End;
End;
procedure SetWithdraw;
Begin
Case WithdrawCombo.ITEMINDEX of
0:
Begin
Writeln('Built In DTMs');
StringWithDraw := 'builtin';
End;
1:
Begin
Writeln('First and second Slot');
StringWithDraw := 'firstsecond';

End;
2:
Begin
Writeln('Custom');
StringWithDraw := 'custom';
End;
End;
End;
procedure SetSpeed;
Begin
Case CompassCombo.ITEMINDEX of
0:
Begin
Writeln('Fletching Speed:Slow');
MouseSpeed := RanDomRange(12,14);
End;
1:
Begin
Writeln('Fletching Speed:Medium');
MouseSpeed := RanDomRange(15,16);
End;
2:
Begin
Writeln('Fletching Speed:Fast');
MouseSpeed := RanDomRange(17,20);
End;
End;
End;
procedure SetFailSafeArea;
Begin
Case FailSafeCombo.ITEMINDEX of
0: LocFail := True;
1: LocFail := False;
End;
End;
procedure Setstring;
Begin
Case LowerCase(Make) of
'shorts': // NEED MAPLES
Begin
Case LowerCase(NameUse) of
'logs': DTM_Made := DTMFromString('mQwAAAHicY2ZgYBADYmkg5gNiESDmB2IJIO6vFWCY3AjB/FBxEGZEwkAAAJNPBBI=');
'oaks': DTM_Made := DTMFromString('mQwAAAHicY2ZgYDjAxMBwDIh3APFzIP8hEL8C4q4CQYYpFYIMM6oFGfiBfBhmRMJAAAB65gh2');
'willows': DTM_Made := DTMFromString('mQwAAAHicY2ZgYJAAYnkgFgBicSAWBGJpIG6p1WdIjlVm6GjUZ+AH8mGYEQkDAQCStgQJ');
'maples': DTM_Made := DTMFromString('mQwAAAHicY2ZgYChgYmDIAOJiIH4G5D8F4odAHGbCCcf8QD4MMyJhIAAADAEF6g==');
'yews': DTM_Made := DTMFromString('mQwAAAHicY2ZgYChgYmDIAOJiIH4G5D8F4odAHGbCCcf8QD4MMyJhIAAADAEF6g==');
'magics': DTM_Made := DTMFromString('mQwAAAHicY2ZgYBAFYkkg5gViISgtDsTcrnYMnLbmYJofyIdhRiQMBABShQI+');
End;
End;
'longs':
Begin
Case LowerCase(NameUse) of
'logs': DTM_Made := DTMFromString('mQwAAAHicY2ZgYJjJxMAwGYjnAvEjIP8WEL8G4hnpgkCSEYz5gSQMMyJhIAAAFZAFvA==');
'oaks': DTM_Made := DTMFromString('mQwAAAHicY2ZgYHBlYmBwBGIvIGZjBAoAMT8Q758jzrC8U4Rhdp0gAz9QGIYZkTAQAADBVgUC');
'willows': DTM_Made := DTMFromString('mQwAAAHicY2ZgYHACYlsg9gRiISDmBmIZIG6p1WeYNdGMobfNiIEfyIdhRiQMBADArwUL');
'maples': DTM_Made := DTMFromString('mQwAAAHicY2ZgYHAFYhsg9gViUSDmBWIlID6yegnDiv42hmkNFQz8QD4MMyJhIAAA+coGpA==');
'yews': DTM_Made := DTMFromString('mQwAAAHicY2ZgYJAAYiEgVgBiQSDmAmIZIO4sF2AoS+cFshgZ+IEkDDMiYSAAAGiGArA=');
'magics': DTM_Made := DTMFromString('mQwAAAHicY2ZgYBABYj4glgRiUShbDogF81MY+CICgCxGBn4gCcOMSBgIAFgUAks=');
End;
End;
End;
End;
procedure SetMake;
Begin
Case MakeCombo.ITEMINDEX of
0:
Begin
Writeln('We are going to Shaft');
Make := 'arrows';
StoreMethod := 'ranDom';
DTM_Make := DTMFromString('mWAAAAHicY2FgYPAFYjsgjgZibyCeyMjAsAKK1wDx7tXdDBsX1oLpdQuaGfiBapAxIxoGAQBXYwuJ');
DTM_Made := DTMFromString('mQwAAAHicY2ZgYChgYmDIAOJiIH4G5D8F4odAHGbCCcf8QD4MMyJhIAAADAEF6g==');
NFSX1 := 56;
NFSY1 := 395;
NFSX2 := 104;
NFSY2 := 432;
fx := 73;
fy := 412;
MethodStr := 'Shafting';
End;
1:
Begin
Writeln('We are going to Fletch short bows');
Make := 'shorts';
StoreMethod := 'all';
DTM_Make := DTMFromString('mbQAAAHicY2VgYDgBxJeA+CgQHwbiM0A8hZGBYR4QLwLiyUDcB8QX9kxlOLN7FsPpXVPB+MLe2QwiQLXomBELBgMAx+gR9Q==');
NFSX1 := 174;
NFSY1 := 388;
NFSX2 := 220;
NFSY2 := 426;
nfx := 195;
nfy := 410;

FSX1 := 69;
FSY1 := 389;
FSX2 := 132;
FSY2 := 423;
fx := 100;
fy := 409;
MethodStr := 'Shortbows';
End;
2:
Begin
Writeln('We are going to fletch LongBows');
Make := 'longs';
StoreMethod := 'all';
DTM_Make := DTMFromString('mWAAAAHicY2FgYPAFYjsgjgZibyCeyMjAsAKK1wDx7tXdDBsX1oLpdQuaGfiBapAxIxoGAQBXYwuJ');
NFSX1 := 295;
NFSY1 := 393;
NFSX2 := 333;
NFSY2 := 424;
nfx := 316;
nfy := 408;

FSX1 := 243;
FSY1 := 398;
FSX2 := 281;
FSY2 := 422;
fx := 253;
fy := 407;
MethodStr := 'LongBows';
End;
End;
End;
procedure SetCompass;
Begin
Case CompassCombo.ITEMINDEX of
0:
Begin
Writeln('facing North');
CompassDegree := 90; //P07_MakeCompass(CompassDegree + RanDom(10));
Case LowerCase(ObjectLook) of
'specific':
Begin
DX1 := 237;
DY1 := 106;
DX2 := 292;
DY2 := 168;
End;
'broad':
Begin
DX1 := 166;
DY1 := 104;
DX2 := 513;
DY2 := 175;
End;
'wholescreen':
Begin
DX1 := 5;
DY1 := 5;
DX2 := 514;
DY2 := 335;
End;
End;
End;
1:
Begin
Writeln('facing East');
CompassDegree := 180;
Case LowerCase(ObjectLook) of
'specific':
Begin
DX1 := 264;
DY1 := 141;
DX2 := 323;
DY2 := 203;
End;
'broad':
Begin
DX1 := 265;
DY1 := 53;
DX2 := 323;
DY2 := 338;
End;
'wholescreen':
Begin
DX1 := 5;
DY1 := 5;
DX2 := 514;
DY2 := 335;
End;
End;
End;
2:
Begin
Writeln('facing South');
CompassDegree := 270;
Case LowerCase(ObjectLook) of
'specific':
Begin
DX1 := 218;
DY1 := 160;
DX2 := 273;
DY2 := 227;
End;
'broad':
Begin
DX1 := 10;
DY1 := 163;
DX2 := 363;
DY2 := 229;
End;
'wholescreen':
Begin
DX1 := 5;
DY1 := 5;
DX2 := 514;
DY2 := 335;
End;
End;
End;
3:
Begin
Writeln('facing West');
CompassDegree := 1;
Case LowerCase(ObjectLook) of
'specific':
Begin
DX1 := 209;
DY1 := 116;
DX2 := 267;
DY2 := 189;
End;
'broad':
Begin
DX1 := 218;
DY1 := 9;
DX2 := 258;
DY2 := 252;
End;
'wholescreen':
Begin
DX1 := 5;
DY1 := 5;
DX2 := 514;
DY2 := 335;
End;
End;
End;
End;
End;
procedure SetObjectDetection;
Begin
Case ObjectAccurateCombo.ITEMINDEX of
0:
Begin
ObjectLook := 'specific';
End;
1:
Begin
ObjectLook := 'broad';
End;
2:
Begin
ObjectLook := 'wholescreen';
End;
End;
End;
procedure SetObject;
Begin
Case ObjectCombo.ITEMINDEX of
0:
Begin
Writeln('Draynor Booth');
ClickMethod := 'booth';
BankCol_1 := 605006;
BankTol_1 := 2;
BankHue_1 := 0.13;
BankSat_1 := 0.91;
BankCol_2 := 5725538;
BankTol_2 := 6;
BankHue_2 := 0.65;
BankSat_2 := 0.52;
BankUpText_1 := 'Use';
BankUpText_2 := 'Bank';
BankUpText_3 := 'ooth';
Col_Fail_1 := 5197656;
Col_Fail_2 := 132919;
Col_Fail_3 := 1729887;
Col_Fail_4 := 1397803;
Col_Count_1 := 1000;
Col_Count_2 := 150;
Col_Count_3 := 500;
Col_Count_4 := 25;
LocationStr := 'Draynor';
End;
1:
Begin
Writeln('Varrock west booth');
ClickMethod := 'booth';
BankCol_1 := 1854555;
BankTol_1 := 6; // 4
BankHue_1 := 0.12;
BankSat_1 := 2.73;
BankCol_2 := 2839135;
BankTol_2 := 5; // 2
BankHue_2 := 0.33;
BankSat_2 := 0.84;
BankUpText_1 := 'Use';
BankUpText_2 := 'Bank';
BankUpText_3 := 'ooth';
Col_Fail_1 := 5197656;
Col_Fail_2 := 4417654;
Col_Fail_3 := 5339232;
Col_Fail_4 := 4685691;
Col_Count_1 := 300;
Col_Count_2 := 500;
Col_Count_3 := 300;
Col_Count_4 := 250;
LocationStr := 'Varrock West';
End;
2:
Begin
Writeln('Seers Bank booth');
ClickMethod := 'booth';
BankCol_1 := 3757412;
BankTol_1 := 2;
BankHue_1 := 0.00;
BankSat_1 := 0.00;
BankCol_2 := 4347489;
BankTol_2 := 5;
BankHue_2 := 0.07;
BankSat_2 := 0.26;
BankUpText_1 := 'Use';
BankUpText_2 := 'Bank';
BankUpText_3 := 'ooth';
Col_Fail_1 := 5855584;
Col_Fail_2 := 1533012;
Col_Fail_3 := 4024685;
Col_Fail_4 := 12095612;
Col_Count_1 := 1000;
Col_Count_2 := 2000;
Col_Count_3 := 120;
Col_Count_4 := 100;
LocationStr := 'Seers Village';
End;
3:
Begin
Writeln('CastleWars Chest');
ClickMethod := 'chest';
BankCol_1 := 3821419;
BankTol_1 := 8;
BankHue_1 := 0.05;
BankSat_1 := 0.09;
BankCol_2 := 4870246;
BankTol_2 := 7;
BankHue_2 := 0.54;
BankSat_2 := 1.95;
BankUpText_1 := 'k chest';
BankUpText_2 := 'Bank che';
BankUpText_3 := 'ank chest';
Col_Fail_1 := 12095613;
Col_Fail_2 := 2380644;
Col_Fail_3 := 1321290;
Col_Fail_4 := 6524563;
Col_Count_1 := 500;
Col_Count_2 := 600;
Col_Count_3 := 50;
Col_Count_4 := 300;
LocationStr := 'CastleWars';
End;
4:
Begin
Writeln('Pest Control');
ClickMethod := 'booth';
BankCol_1 := 5599869;
BankTol_1 := 2;
BankHue_1 := 0.00;
BankSat_1 := 0.00;
BankCol_2 := 6847372;
BankTol_2 := 12;
BankHue_2 := 0.06;
BankSat_2 := 0.27;
BankUpText_1 := 'Use';
BankUpText_2 := 'Bank';
BankUpText_3 := 'ooth';
Col_Fail_1 := 4881028;
Col_Fail_2 := 1321290;
Col_Fail_3 := 12095613;
Col_Fail_4 := 1931122;
Col_Count_1 := 250;
Col_Count_2 := 300;
Col_Count_3 := 1500;
Col_Count_4 := 500;
LocationStr := 'Pest Control';
End;
End;
End;
procedure SetLog;
Begin
Case LogCombo.ITEMINDEX of
0:
Begin
Writeln('Logs');
DTM_Log := DTMFromString('mbQAAAHicY2VgYMhjYmAoAeJUKC4F4iBGBgZPIPYB4nAgDgXionAThvxQY4amZGuG9X0BDC2pNgz8QP3omBELBgMAm6AJ3w==');
LogUse := 'logs';
NameUse := 'logs';
//FletchingStr := 'Normal Logs';
End;
1:
Begin
Writeln('Oaks');
DTM_Log := DTMFromString('mggAAAHicY2NgYMhhYmDIAOICIC6D0ulA/Bgo9wqIXwLxCyC+D8X9BS4Mk4tc4XRvnhNDV44jgyBQDhtmxIEhAAAvCw/6');
LogUse := 'other';
NameUse := 'oaks';
// FletchingStr := 'Oaks';
End;
2:
Begin
Writeln('Willows');
DTM_Log := DTMFromString('mbQAAAHicY2VgYGAHYj4gZgRiHgYIYANiLiDmhfKZgNjXRZIh1EeOISfZGs4WBIqjY0YsGAwA/rwEfQ==');
LogUse := 'other';
NameUse := 'willows';
End;
3:
Begin
Writeln('Maples');
DTM_Log := DTMFromString('mbQAAAHicY2VgYAgH4mAgjgfiaCD2B+LfQMzICMHfGCA4yZGDIc+LB4yz3SFYECiOjhmxYDAAAGDmCK0=');
LogUse := 'other';
NameUse := 'maples';
End;
4:
Begin
Writeln('Yews');
DTM_Log := DTMFromString('mbQAAAHicY2VgYBAFYnEg5gZifiCWAWIBIOYCYh6ovDAQ+1tzMEQ6cjB46XAwxLpBsCBQHB0zYsFgAAD1wAQY');
LogUse := 'other';
NameUse := 'yews';
End;
5:
Begin
Writeln('Magics');
DTM_Log := DTMFromString('mbQAAAHicY2VgYBACYlEg5gBibiCWAmJBIOYEYl6oHAiH+aozZCfbM4h11TBEB2mD2YJQtciYEQsGAwBVUQXd');
LogUse := 'other';
NameUse := 'magics';
End;
End;
End;
procedure SetMethod;
Begin
Case MethodCombo.ITEMINDEX of
0:
Begin
Writeln('We are going to Shaft');
Method := 'shaft';
End;
1:
Begin
Writeln('We are going to string');
Method := 'string';
End;
2:
Begin
Writeln('We are going to fletch');
Method := 'fletch';
End;
End;
End;
procedure UpdateScript(Sender: TObject);
Begin
ShowMessage('This feature is not added yet');
End;
procedure SaveFormInfo(Sender: TObject);
Begin
DsgnForm.ModalResult := mrOk;
P07_PlayerName := Username.TEXT
P07_PlayerPass := Password.TEXT
WithXStr := WithDX1.TEXT
WithYStr := WithDY1.TEXT
WithX2Str := WithDX2.TEXT
WithY2Str := WithDY2.TEXT
StringXStr := StringX.TEXT
StringYStr := StringY.TEXT

WithXInt := StrToInt(WithXStr)
WithYInt := StrToInt(WithYStr)
WithX2Int := StrToInt(WithX2Str)
WithY2Int := StrToInt(WithY2Str)
StringXInt := StrToInt(StringXStr)
StringYInt := StrToInt(StringYStr)
SetMake;
Setstring;
DsgnForm.CLOSE;
End;

procedure InitForm;
Begin
DsgnForm:=TForm.Create(nil);
with DsgnForm Do
Begin
Caption:='Fast Fletcher 1.0';
Left:=377;
Top:=380;
Width:=360;
Height:=610;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=0;
End;
TLabel0:=TLabel.Create(DsgnForm);
With TLabel0 Do
Begin
Parent:=DsgnForm;
Caption:='Fast 2007 Fletcher';
Left:=110;
Top:=15;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=15;
End;
FletchLabel:=TLabel.Create(DsgnForm);
With FletchLabel Do
Begin
Parent:=DsgnForm;
Caption:='Fletching settings';
Left:=130;
Top:=110;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=11;
End;
ObjectAccurateCombo:=TComboBox.Create(DsgnForm);
With ObjectAccurateCombo Do
Begin
Parent:=DsgnForm;
Left:=230;
Top:=363;
Width:=120;
Height:=15;
Items.Add('Specific');
Items.Add('Broad');
Items.Add('Whole Screen');
Text := Items[0];
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=8;
End;
ObjectAccurate:=TLabel.Create(DsgnForm);
With ObjectAccurate Do
Begin
Parent:=DsgnForm;
Caption:='Object searching:';
Left:=145;
Top:=365;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
MakeLabel:=TLabel.Create(DsgnForm);
With MakeLabel Do
Begin
Parent:=DsgnForm;
Caption:='Make';
Left:=90;
Top:=180;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
MakeCombo:=TComboBox.Create(DsgnForm);
With MakeCombo Do
Begin
Parent:=DsgnForm;
Left:=130;
Top:=178;
Width:=120;
Height:=15;
Items.Add('Shafts');
Items.Add('Short Bows');
Items.Add('Long Bows');
Text := Items[0];
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=8;
End;
TLabel1:=TLabel.Create(DsgnForm);
With TLabel1 Do
Begin
Parent:=DsgnForm;
Caption:='Username';
Left:=33;
Top:=65;
Width:=49;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
TLabel2:=TLabel.Create(DsgnForm);
With TLabel2 Do
Begin
Parent:=DsgnForm;
Caption:='Password';
Left:=170;
Top:=65;
Width:=47;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
TLabel3:=TLabel.Create(DsgnForm);
With TLabel3 Do
Begin
Parent:=DsgnForm;
Caption:='Method';
Left:=35;
Top:=140;
Width:=37;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
TLabel4:=TLabel.Create(DsgnForm);
With TLabel4 Do
Begin
Parent:=DsgnForm;
Caption:='Logs to use';
Left:=165;
Top:=140;
Width:=18;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
AreaLabel:=TLabel.Create(DsgnForm);
With AreaLabel Do
Begin
Parent:=DsgnForm;
Caption:='Location settings';
Left:=130;
Top:=225;
Width:=18;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=11;
End;
FailsafeLabel:=TLabel.Create(DsgnForm);
With FailsafeLabel Do
Begin
Parent:=DsgnForm;
Caption:='Use Location Failsafe';
Left:=80;
Top:=295;
Width:=18;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
FailsafeCombo:=TComboBox.Create(DsgnForm);
With FailSafeCombo Do
Begin
Parent:=DsgnForm;
Left:=190;
Top:=293;
Width:=70;
Height:=15;
Items.Add('Yes');
Items.Add('No');
Text := Items[0];
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=8;
End;
TLabel5:=TLabel.Create(DsgnForm);
With TLabel5 Do
Begin
Parent:=DsgnForm;
Caption:='Direction';
Left:=205;
Top:=260;
Width:=43;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
Username:=TEdit.Create(DsgnForm);
With Username Do
Begin
Parent:=DsgnForm;
Text:='Username';
Left:=83;
Top:=63;
Width:=80;
Height:=21;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
Password:=TEdit.Create(DsgnForm);
With Password Do
Begin
Parent:=DsgnForm;
Text:='Password';
Left:=220;
Top:=63;
Width:=80;
Height:=21;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
Password.MaxLength:=21;
Password.PasswordChar:=#;
End;
OtherLabel:=TLabel.Create(DsgnForm);
With OtherLabel Do
Begin
Parent:=DsgnForm;
Caption:='Other Settings';
Left:=150;
Top:=335;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=11;
End;
SpeedLabel:=TLabel.Create(DsgnForm);
With SpeedLabel Do
Begin
Parent:=DsgnForm;
Caption:='Fletching Speed';
Left:=1;
Top:=365;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
SpeedCombo:=TComboBox.Create(DsgnForm);
With SpeedCombo Do
Begin
Parent:=DsgnForm;
Left:=80;
Top:=363;
Width:=60;
Height:=15;
Items.Add('Slow');
Items.Add('Normal');
Items.Add('Fast');
Text := Items[0];
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=8;
End;
MethodCombo:=TComboBox.Create(DsgnForm);
With MethodCombo Do
Begin
Parent:=DsgnForm;
Left:=77;
Top:=138;
Width:=80;
Height:=15;
Items.Add('Shaft');
Items.Add('String');
Items.Add('Fletch');
Text := Items[0];
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=8;
End;
CustomLabel:=TLabel.Create(DsgnForm);
With CustomLabel Do
Begin
Parent:=DsgnForm;
Caption:='Custom Settings';
Left:=145;
Top:=395;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=11;
End;
StringLabel:=TLabel.Create(DsgnForm);
With StringLabel Do
Begin
Parent:=DsgnForm;
Caption:='Stringing';
Left:=5;
Top:=425;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
StringXLabel:=TLabel.Create(DsgnForm);
With StringXLabel Do
Begin
Parent:=DsgnForm;
Caption:='X:';
Left:=10;
Top:=455;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
StringYLabel:=TLabel.Create(DsgnForm);
With StringYLabel Do
Begin
Parent:=DsgnForm;
Caption:='Y:';
Left:=80;
Top:=455;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
WithDX1:=TEdit.Create(DsgnForm);
With WithDX1 Do
Begin
Parent:=DsgnForm;
Text:='0';
Left:=175;
Top:=470;
Width:=40;
Height:=21;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
WithDY1:=TEdit.Create(DsgnForm);
With WithDY1 Do
Begin
Parent:=DsgnForm;
Text:='0';
Left:=270;
Top:=470;
Width:=40;
Height:=21;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
Password.MaxLength:=21;
End;
WithDX2:=TEdit.Create(DsgnForm);
With WithDX2 Do
Begin
Parent:=DsgnForm;
Text:='0';
Left:=270;
Top:=520;
Width:=40;
Height:=21;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
WithDY2:=TEdit.Create(DsgnForm);
With WithDY2 Do
Begin
Parent:=DsgnForm;
Text:='0';
Left:=175;
Top:=520;
Width:=40;
Height:=21;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
Password.MaxLength:=21;
End;
StringX:=TEdit.Create(DsgnForm);
With StringX Do
Begin
Parent:=DsgnForm;
Text:='0';
Left:=30;
Top:=450;
Width:=40;
Height:=21;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
StringY:=TEdit.Create(DsgnForm);
With StringY Do
Begin
Parent:=DsgnForm;
Text:='0';
Left:=100;
Top:=450;
Width:=40;
Height:=21;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
Password.MaxLength:=21;
End;
StringCombo:=TComboBox.Create(DsgnForm);
With StringCombo Do
Begin
Parent:=DsgnForm;
Left:=50;
Top:=422;
Width:=115;
Height:=15;
Items.Add('Use Built-in DTMs');
Items.Add('Use slot 14 & 15');
Items.Add('Custom Coords');
Text := Items[0];
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=8;
End;
WithDLabel:=TLabel.Create(DsgnForm);
With WithDLabel Do
Begin
Parent:=DsgnForm;
Caption:='WithDrawing';
Left:=165;
Top:=425;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
WithXLabel:=TLabel.Create(DsgnForm);
With WithXLabel Do
Begin
Parent:=DsgnForm;
Caption:='X:';
Left:=160;
Top:=473;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
WithX2Label:=TLabel.Create(DsgnForm);
With WithX2Label Do
Begin
Parent:=DsgnForm;
Caption:='X:';
Left:=160;
Top:=523;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
WithYLabel:=TLabel.Create(DsgnForm);
With WithYLabel Do
Begin
Parent:=DsgnForm;
Caption:='Y:';
Left:=250;
Top:=473;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
WithY2Label:=TLabel.Create(DsgnForm);
With WithY2Label Do
Begin
Parent:=DsgnForm;
Caption:='Y:';
Left:=250;
Top:=523;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
Slot1Label:=TLabel.Create(DsgnForm);
With Slot1Label Do
Begin
Parent:=DsgnForm;
Caption:='Slot 1';
Left:=225;
Top:=450;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
Slot2Label:=TLabel.Create(DsgnForm);
With Slot2Label Do
Begin
Parent:=DsgnForm;
Caption:='Slot 2';
Left:=225;
Top:=500;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
WithdrawCombo:=TComboBox.Create(DsgnForm);
With WithDrawCombo Do
Begin
Parent:=DsgnForm;
Left:=235;
Top:=423;
Width:=120;
Height:=15;
Items.Add('Use Built-in DTMs');
Items.Add('First & Second Bank slot');
Items.Add('Custom Coords');
Text := Items[0];
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=8;
End;
ObjectLabel:=TLabel.Create(DsgnForm);
With ObjectLabel Do
Begin
Parent:=DsgnForm;
Caption:='Object';
Left:=30;
Top:=260;
Width:=99;
Height:=14;
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
ObjectCombo:=TComboBox.Create(DsgnForm);
With ObjectCombo Do
Begin
Parent:=DsgnForm;
Left:=65;
Top:=258;
Width:=130;
Height:=15;
Items.Add('Draynor Booth');
Items.Add('Varrock West Booth');
Items.Add('Cammy Bank Booth');
Items.Add('Chest(CastleWars)');
Items.Add('Pest Control');
Text := Items[0];
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=8;
End;
LogCombo:=TComboBox.Create(DsgnForm);
With LogCombo Do
Begin
Parent:=DsgnForm;
Left:=225;
Top:=138;
Width:=80;
Height:=15;
Items.Add('Logs');
Items.Add('Oak');
Items.Add('Willow');
Items.Add('Maple');
Items.Add('Yew');
Items.Add('Magic');
Text := Items[0];
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
StartButton:=TButton.Create(DsgnForm);
With StartButton Do
Begin
Parent:=DsgnForm;
Caption:='Start';
Left:=60;
Top:=560;
Width:=240; //75
Height:=25;
OnClick:=@SaveFormInfo
Font.Size:=8;
End;
UpdateButton:=TButton.Create(DsgnForm);
With UpdateButton Do
Begin
Parent:=DsgnForm;
Caption:='Update';
Left:=60;
Top:=585;
Width:=240; //75
Height:=25;
Font.Size:=8;
OnClick:=@UpdateScript
End;
CompassCombo:=TComboBox.Create(DsgnForm);
With CompassCombo Do
Begin
Parent:=DsgnForm;
Left:=255;
Top:=258;
Width:=70;
Height:=21;
Items.Add('North');
Items.Add('East');
Items.Add('South');
Items.Add('West');
Text := Items[0];
Font.Name:=default;
Font.Color:=clDefault;
Font.Size:=9;
End;
End;

procedure SafeInitForm;
var
v: TVariantArray;
Begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
End;


procedure ShowFormModal;
Begin
DsgnForm.ShowModal;
End;


procedure SafeShowFormModal;
var
v: TVariantArray;
Begin
SetArrayLength(V, 0);
ThreadSafeCall('ShowFormModal', v);
End;
Procedure CleanMainLoop;
Begin
SetMethod;
SetLog;
SetObject;
SetObjectDetection;
SetCompass;
SetMake;
Setstring;
SetFailSafeArea;
SetSpeed;
SetWithdraw;
//MouseSpeed := MouseSpeed_Fix;
ShowInfo;
ActivateClient;
Wait(1000);
LoadDTMS;
CheckFreinds;
CheckFletching;
End;

Begin
SetupP07Include;
SafeInitForm;
SafeShowFormModal;
CleanMainLoop;
StartTime := GetSystemTime;
ConductBot;
AddOnTerminate('FreeTheDTMs');
Repeat
ConductBot;
AddOnTerminate('FreeTheDTMs');
Until False;
AddOnTerminate('FreeTheDTMs');
END.

Outputs this Cute little GUI:

And the user gets this warning before starting to confirm:


rj

2013-03-08 20:50:39

Continued (Thread was lagging because character limit was almost exceeded)

A little bit about the script:

Very random clicking (mostly clicks towards the center of the object with plenty of randomness)
using random random waiting
Sometimes it left clicks booth as a antiban (misclick)
Flight mouse movements
Form
Does not work for SMART - I am waiting for Official release of SRL oldschool include before making it compatible with SMART
Fletches,Strings,Shafts - All EXCEPT maple short-bow (I need the DTM lol)
Much more that I forgot to mention

The Mayor

2013-03-08 21:41:21

I'm not allowed to vote, but if I were you I would space out the procedures and functions to make easier to read. It looks like the whole script is one big procedure :)

Le Jingle

2013-03-08 21:58:12

Holy global variables batman. (Think I just stole a line from somebody ;p )

However, learning is different for everyone, and everyone is different; thus I leave my comfort zone to tip my hat and say yes, as your experience looks adequate from my perspective.

-Lj

Press Play

2013-03-08 22:41:41

From: The Mayor
I'm not allowed to vote, but if I were you I would space out the procedures and functions to make easier to read. It looks like the whole script is one big procedure :)

+1 to this please rjj!

Okay, so here we go:
  • Are you 100% sure that some of those globals can not be turned local? If not, some things to consider:
    • Create include files to separate the mess! For example, take all the form variables and procedures and put them in a separate include file (this is what I'm doing with mine).
    • Use types/records/arrays! Eg. I see a lot of
      var1, var2, var3: Integer;
      can easily be turned into
      varA: Array[0..2] of Integer;   // or
    • varA: TIntegerArray; A record can be especially useful for your object variables.
  • Spacing and uniform standards as mentioned above please! I'm seeing inconsistency, which is a bad habit to get into. Example, there's a lot of
  • begin
    end;

    Begin
    End;

    Begin
    END.
    Especially the last pair!
  • It's not necessary, but do you have any progress reports you can show us about the functionality/stability of the script? I'd like to see, as some of us here either don't have a member's account or the resources on it to test an old-school-Runescape script.
  • There are a lot of repetition of procedures that can potentially be crafted in such a way that they all rely on the same function. If that didn't make sense - I'm talking about trying to combine similar functions. It looks nicer and, as a programmer, that's how we usually do it.
  • What is this? Please explain to me.
  •   SetColorSpeed2Modifiers(BankHue_1, BankSat_1);
    FindColorsTolerance(TPA1, BankCol_1, DX1, DY1, DX2, DY2, BankTol_1);
    SetColorSpeed2Modifiers(BankHue_2, BankSat_2);
    FindColorsTolerance(TPA2, BankCol_2, DX1, DY1, DX2, DY2, BankTol_2);
    SetColorSpeed2Modifiers(0.2, 0.2);
    ColorToleranceSpeed(CTS);
  • And this? Why do you execute the same procedure twice?
  •   RanDomChooseWait;
    RanDomChooseWait;

I am going to hold my vote. I want to see some of your responses and other members' responses. On the other hand, I commend your helpfulness around the forums lately. Although, some of these comments have been a bit blasé.

Finally,
From: rjj95
Are you affilated in anyway with Jagex LTD?
Yes
Just noticed that 'affiliated' is spelt incorrectly?

rj

2013-03-08 23:14:38

cant explain too well im on ps3 but the double color thing makes bank detection reliable will elaborate on tommorrow

Hobbit

2013-03-09 01:20:54

I have seen a substantial improvement in your attitude and it has impressed me. I will wager on that trend continuing and vote yes. Don't let me down. I get nasty when people prove me wrong ;)

Echo_

2013-03-09 01:36:00

It might look a bit cleaner if you used global arrays instead of having a bunch of variables numbered:

//Col_Fail_1,Col_Fail_2, Col_Fail_3,Col_Fail_4
Col_Fail: array[0..3] of Integer;

Voting yes this time :thumbsup:

Benny

2013-03-09 04:12:30

I'm currently not sure.

I have to say your attitude has improved slightly which is great but my hesitation is your willinglyness to get in a fight over the Internet - it's simple to just avoid that.

I will wait a bit longer.

The Killer

2013-03-09 09:11:13

From: Press Play

  • Are you 100% sure that some of those globals can not be turned local? If not, some things to consider:
    • Use types/records/arrays! Eg. I see a lot of
      var1, var2, var3: Integer;
      can easily be turned into
      varA: Array[0..2] of Integer;   // or
    • varA: TIntegerArray; A record can be especially useful for your object variables.


^+1
I like your activity, and your attitude is generally improving. However I still don't know if I think you are quite ready attidude wise. I'm properly not going to vote since I'm likely to be biased against you so I'll hold my vote for now.
Good luck with your application :)

Sin

2013-03-09 12:50:57

Yes.

[XoL]

2013-03-09 13:08:00

Its hard for me to say Yes based on past behaviors, but I will say Yes please do not make me regret this decision!

rj

2013-03-09 17:09:40

From: Press Play
+1 to this please rjj!

Okay, so here we go:
  • Are you 100% sure that some of those globals can not be turned local? If not, some things to consider:
    • Create include files to separate the mess! For example, take all the form variables and procedures and put them in a separate include file (this is what I'm doing with mine).
    • Use types/records/arrays! Eg. I see a lot of
      var1, var2, var3: Integer;
      can easily be turned into
      varA: Array[0..2] of Integer;   // or
    • varA: TIntegerArray; A record can be especially useful for your object variables.
  • Spacing and uniform standards as mentioned above please! I'm seeing inconsistency, which is a bad habit to get into. Example, there's a lot of
  • begin
    end;

    Begin
    End;

    Begin
    END.
    Especially the last pair!
  • It's not necessary, but do you have any progress reports you can show us about the functionality/stability of the script? I'd like to see, as some of us here either don't have a member's account or the resources on it to test an old-school-Runescape script.
  • There are a lot of repetition of procedures that can potentially be crafted in such a way that they all rely on the same function. If that didn't make sense - I'm talking about trying to combine similar functions. It looks nicer and, as a programmer, that's how we usually do it.
  • What is this? Please explain to me.
  •   SetColorSpeed2Modifiers(BankHue_1, BankSat_1);
    FindColorsTolerance(TPA1, BankCol_1, DX1, DY1, DX2, DY2, BankTol_1);
    SetColorSpeed2Modifiers(BankHue_2, BankSat_2);
    FindColorsTolerance(TPA2, BankCol_2, DX1, DY1, DX2, DY2, BankTol_2);
    SetColorSpeed2Modifiers(0.2, 0.2);
    ColorToleranceSpeed(CTS);
  • And this? Why do you execute the same procedure twice?
  •   RanDomChooseWait;
    RanDomChooseWait;

I am going to hold my vote. I want to see some of your responses and other members' responses. On the other hand, I commend your helpfulness around the forums lately. Although, some of these comments have been a bit blasé.

Finally,
Just noticed that 'affiliated' is spelt incorrectly?


Ok I'm now on a computer so I can answer properly :)

This right here:

 FindColorsTolerance(TPA1, BankCol_1, DX1, DY1, DX2, DY2, BankTol_1);
SetColorSpeed2Modifiers(BankHue_2, BankSat_2);
FindColorsTolerance(TPA2, BankCol_2, DX1, DY1, DX2, DY2, BankTol_2);
SetColorSpeed2Modifiers(0.2, 0.2);

Makes the banking method more reliable, because sometimes the booth has the same colors as other objects, and this uses 2 colors so it is a lot more accurate,

DX1, DY1, DX2, DY2

These variables search were it is looking which is defined by the user under "object searching", if it is "specific" then it will look in a small box, it is in different areas depending on whether they chose North,West,South,Or East, if it is "Broad" it will still look in the general location based off direction but will be in a much bigger area, but using "Broad" may make the bot click different bank booths cuasing the bot to change booths and waste XP time, and "Wholescreen" just searches the whole screen for booths!

Thanks for the tip on storing variables I knew I had a lot of globals, but I'm not sure if I want to release the script with the TForm in a include or not, simply because I want to make the script noob friendly, but I will do it just for the sake of learning (had a nub SS include that MasterBB helped me with a couple months back)

The Killer

2013-03-09 17:31:41

From: RJJ95
Woops double post by accident


? Edit –> Delete. :)

Ok, Going to edit stuff in here since this is a useless post ;)
From: The Mayor
An anti-leech is a small change to the code to prevent the script compiling or working as it should. The script writer puts an anti-leech in place to prevent leechers coming to these forums, taking everything that they want and leaving, without so much as a thank you. To solve an anti-leech requires very basic knowledge of scripting, and it is hoped you will attempt to learn something and eventually give something back to the community.


You say your aim is to not have an anitleech?
I just saw Mayor's explanation and it caught my eye. So I'd thought I'd put it here so you can see and have a think about it. 07scape is currently a v.nice game but having no antileech on scripts for it will cause more leechers to come and just take off before going out into the night(though I do agree since other bots have come to the scene(wbot) it's not as necessary.)

Also, Looking through your script, I think a lot of things variables can be changed to constants, as the point of a variable is that it varies meaning it changes at some point in the script.

rj

2013-03-09 17:32:46

From: The Killer
? Edit –> Delete. :)


OO I never knew you could do that

Gucci

2013-03-09 17:40:32

Your past behavior is the only things that would hold me back from voting yes, but I'll go for it.

Yes from me.

rj

2013-03-09 17:46:54

From: Gucci
Your past behavior is the only things that would hold me back from voting yes, but I'll go for it.

Yes from me.


Thanks

Off topic:

Internet just went out, checked modem it was burning up lol

Rich

2013-03-09 18:07:15

Yes.

Press Play

2013-03-09 18:37:01

From: RJJ95
Ok I'm now on a computer so I can answer properly :)

This right here:

 FindColorsTolerance(TPA1, BankCol_1, DX1, DY1, DX2, DY2, BankTol_1);
SetColorSpeed2Modifiers(BankHue_2, BankSat_2);
FindColorsTolerance(TPA2, BankCol_2, DX1, DY1, DX2, DY2, BankTol_2);
SetColorSpeed2Modifiers(0.2, 0.2);

Makes the banking method more reliable, because sometimes the booth has the same colors as other objects, and this uses 2 colors so it is a lot more accurate,

I was actually thinking more along the lines of "Why did he change the CTS2 modifiers again after he's already searched for the colours?" I should have copied a bit more:
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(CTS);
I'm still unsure about my vote. How about you take some of our suggestions and integrate them into your sript. Then re-post it. I know some of the 'corrections' are not big deals, but…(read below).

Let me state my opinion here. I'm not sure how many of you here are going to agree with me here; please don't take offence. I'm not sure if I'm being obnoxious or what but.. I believe that the code of a programmer reflects of their behaviours and personality. I see your code RJJ as messy, disorganised and not well thought out. It seems as if you have just 'quickly whipped it up'. There appears to be a lot of copy and pasting which I believe could well correlate to your laziness (as I also mentioned before, you seem to be a bit blasé).

Again, please don't try and take offence. I'm trying to help :) I'd like to hear other members' thoughts on this please <3

PS: The poll is pretty even. Surely some of you who voted 'no' have some opinion as to why? Hopefully none of you are being bias from RJJ's past applications.

PPS: Doesn't anyone think that it's weird that 'affiliated' is spelt incorrectly in the application form? :(

The Killer

2013-03-09 18:41:51

From: Press Play
I was actually thinking more along the lines of "Why did he change the CTS2 modifiers again after he's already searched for the colours?" I should have copied a bit more:
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(CTS);
I'm still unsure about my vote. How about you take some of our suggestions and integrate them into your sript. Then re-post it. I know some of the 'corrections' are not big deals, but…(read below).

Let me state my opinion here. I'm not sure how many of you here are going to agree with me here; please don't take offence. I'm not sure if I'm being obnoxious or what but.. I believe that the code of a programmer reflects of their behaviours and personality. I see your code RJJ as messy, disorganised and not well thought out. It seems as if you have just 'quickly whipped it up'. There appears to be a lot of copy and pasting which I believe could well correlate to your laziness (as I also mentioned before, you seem to be a bit blasé).

Again, please don't try and take offence. I'm trying to help :) I'd like to here other members' thoughts on this please <3

PS: The poll is pretty even. Surely some of you who voted 'no' have some opinion as to why? Hopefully none of you are being bias from RJJ's past applications.

PPS: Doesn't anyone think that it's weird that 'affiliated' is spelt incorrectly in the application form? :(

1)http://dictionary.reference.com/browse/affiliated looks fine to me?
2)Possibly people don't like his attitude or some of his past (even very recently). Could be because his script or his scriping ability (such as when 07 came out, he had a mem-leak (forgot to free dtms)in his script which he didn't notice :P).

edit: o and maybe his last app (though it has not effected my opinion in any way. I moved on quickly from that :).

Ps. Don't get offended Rjj. Just helping give some reasons.

Le Jingle

2013-03-09 18:48:55

From: Press Play
…I'd like to here other members' thoughts…
Doesn't anyone think that it's weird that 'affiliated' is spelt incorrectly in the application form? :(


Seems to me, words are spelled incorrectly at times. But I'll hear you out.

OT: I voted yes; primarily because his attitude and learning has improved since his last application. My opinion, in accordance with the two previous subjects, is more or less aimed at acknowledging learning and rewarding those who strive any path of learning. Thus to learn in one way or another (I noted in an earlier post on this thread that sometimes going outside of one's own comfort zone) is something I've seen and also plays into the idea of this site as a whole.

Cheers,
Lj

Press Play

2013-03-09 18:49:46

From: The Killer
1)http://dictionary.reference.com/browse/affiliated looks fine to me?
2)Possibly people don't like his attitude or some of his past (even very recently). Could be because his script or his scriping ability (such as when 07 came out, he had a mem-leak (forgot to free dtms)in his script which he didn't notice :P).

edit: o and maybe his last app (though it has not effected my opinion in any way. I moved on quickly from that :).

Ps. Don't get offended Rjj. Just helping give some reasons.

I meant in the OP, lol :p
From: RJJ95

Are you affilated in anyway with Jagex LTD?
Yes


Hmmmmm.. pondering on your words :)

Sjoe

2013-03-09 18:50:43

From: Le Jingle
Seems to me, words are spelled incorrectly at times. But I'll hear you out.
Lj


SPELLED is correct :)

rj

2013-03-09 18:52:42

From: Press Play
I meant in the OP, lol :p

Hmmmmm.. pondering on your words :)


I think I put no in the ones before because I didn't play RS then

The Killer

2013-03-09 18:53:24

From: Press Play
I meant in the OP, lol :p

Hmmmmm.. pondering on your words :)


O well xD, Now I'll say why people might have said yes to balance the books ;)
1) His attitude has improved a lot recently
2) He does make a fair amount of scripts (check out previous apps)
3) He's very active (350 quotes say it all.)
4) Not sure but I think he helps people with stuff a lot (not sure on that but o well xD)

Press Play

2013-03-09 18:54:46

@Le Jingle; You got me on that one :p just a typo with the 'here/hear', but I believe spelt/spelled are the same? I did a quick google and it's disputable, but I'll leave it at that ahah. I know everyone makes mistakes, but it would seem 'affilated' has been there for quite some time now!

Justin

2013-03-09 19:05:27

Over the past few weeks, I have seen you help out other members, you've changed your attitude and I like that, your activity has also been very good, as Hobbit said, "Don't let me down"!

Yes from me.

Best of luck

Daniel

2013-03-09 21:19:39

Yes, of course.

No reason to vote no, especially with the crap you had to put up with from other "members".

Press Play

2013-03-09 21:47:18

Voted yes.

E: Just do me a favour and make your script cleaner pretty please? :)

DannyRS

2013-03-09 22:16:01

Just out of interest, why did you put Yes for question two on the app? Just because you play the game? Do you understand what the question means (or at least what it implies) lol?

I'll vote Yes because of the attitude improvements, but I'm holding to find out the answer to that ^^ :p

The Mayor

2013-03-10 06:11:39

From: DannyRS
Just out of interest, why did you put Yes for question two on the app? Just because you play the game? Do you understand what the question means (or at least what it implies) lol?

I'll vote Yes because of the attitude improvements, but I'm holding to find out the answer to that ^^ :p


I was wondering the same thing actually. Wouldn't someones application be thrown out if they are affiliated with Jagex?

CynicRus

2013-03-10 09:36:26

Yes!

cause

2013-03-11 14:56:18

Easy yes from me.

The Killer

2013-03-12 11:45:50

Yes, put a lot of thought into this one :)

Kasi

2013-03-12 12:06:04

yes

rj

2013-03-13 05:48:15

Any suggestions from no voters? -.-

DannyRS

2013-03-13 07:04:03

From: RJJ95
Any suggestions from no voters? -.-


I still haven't voted because you never answered my question ;) so a suggestion would be check and read new posts in your app carefully I guess :) or your missing out on possible yes votes

rj

2013-03-13 15:34:48

From: DannyRS
Just out of interest, why did you put Yes for question two on the app? Just because you play the game? Do you understand what the question means (or at least what it implies) lol?

I'll vote Yes because of the attitude improvements, but I'm holding to find out the answer to that ^^ :p


I put yes because I play the game lol

John

2013-03-14 16:58:45

I think you're ready for Members. I can see that you are trying to improve - which is all we ask you to continue on doing.

I voted Yes.

The Mayor

2013-03-18 19:56:21

I have voted Yes :) From what I have seen your attitude has been great around the forums lately, and you clearly put a bit of effort into your script :)

rj

2013-03-18 19:57:45

From: The Mayor
I have voted Yes :) From what I have seen your attitude has been great around the forums lately, and you clearly put a bit of effort into your script :)


:o you can vote now? And thanks for the yes vote :)

WT-Fakawi

2013-03-19 04:26:27

In. Welcome!