SRL Archive - Archive

Fwd Motion - SRL Member Application


Fwd Motion

2012-02-29 00:19:09

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


Are you affilated in anyway with Jagex LTD?
Nope

Were you Referred to SRL?



What is your general programming knowledge?
Pascal
JavaScript
C


Are you a member of any other communities?
Was an active member of RSCA as 'A-Sug[A T L Man]'


Tell us about yourself…
From: Fwd Motion
My name is Adam Sugden, I'm from Atlanta, Georgia, I'm 18 years old and I love to learn new things! I know a bunch of random facts, for no reason whatsoever.

I love to just browse wikipedia and learn whatever I can about different bands, people, etc…

I love music, I listen to Metal-ish type music (Screamo, if you will).

I will be going to GA State University this coming fall to get my general education and a degreen in Architecture and Engineering, then I plan on joining the Air Force as a Developmental Engineer.



Please show us one (or multiple) of your scripts.

My Summoner (Still needs a little bit of work): http://villavu.com/forum/showthread.php?t=74439

program FwdsSummoner;
//{$DEFINE SMART}
{$i srl/srl.simba}
{$i sps/sps.simba}

var
x,y,Server1,b,NumberOfInventories,WhatToDo,LookingForBank,startingxp,Failsafe,Failsafe2,inventories,antibans:integer;
ToObelisk,totheBank:TPointArray;
frmDesign: TForm;
Button1: TButton;
Label1,UserLabel,PassLabel,NickLabel,PinLabel,ServerLabel,InventoryLabel: TLabel;
User,Pass,Nick,BankPin,Server,Inventory: TEdit;
User1,Pass1,Nick1,BankPin1:String;
List1: TListBox;
StartReady: Boolean;
Image1: TImage;


Procedure ButtonClick(Sender: TObject);
Begin
WriteLn('Getting Ready!');
frmDesign.ModalResult:= mrOk;
StartReady := true;
User1 := user.TEXT;
Pass1 := Pass.TEXT;
Nick1 := Nick.TEXT;
BankPin1 := BankPin.Text;
Server1 := StrToInt(Server.text);
NumberOfInventories := strtoint(Inventory.text);
WhatToDo := list1.ItemIndex;
Writeln (inttostr(list1.ItemIndex));
End;

procedure InitForm;
begin
frmDesign := CreateForm; // This will create your form. MUST be called first.
frmDesign.Left := 100; // How many pixels from the left must the form be vissible?
frmDesign.Top := 100; // How many pixels from the top must the form be vissible?
frmDesign.Width := 500; // The width of you form in pixels
frmDesign.Height := 250; // The height of you form in pixels
frmDesign.Caption := 'Fwd Motion`s Summoner'; // The name of your form? This will be shown in the upper left balk
frmDesign.Font.Color := ClBlack; // The color of the text (Tlabels) when you have those
frmDesign.Font.Name := 'Calibri'; // The name of the font you want the Tlabels to be
frmDesign.Color := ClBlack;
Button1 := TButton.Create(FrmDesign); // This will create the button. Must be called.
Button1.Parent := FrmDesign; // The parent is very important. Without the parrent set to the formname the button won't be visible
Button1.Left := 215; // how many pixels from the left
Button1.Top := 220; // how many pixels from the top
Button1.Height := 30; // the height of the button
Button1.Width := 60; // the width of the button
Button1.Caption := 'START!'; // The text on the button!
Button1.OnClick := @ButtonClick;
Label1 := TLabel.Create(FrmDesign); // This will create the label. Must Be called.
Label1.Parent := FrmDesign; // The parent is very important. Without the parrent set to the formname the label wont be visible
Label1.Left := 130; // how many pixels from the top
Label1.Top := 10; // how many pixels from the left
Label1.Caption := 'Fwd Motion`s Summoner'; // What does your label need to say?
Label1.Font.Size := 18; // The size of your text
Label1.Font.Color := ClLime; // The color of your text
Label1.Font.Name := 'Calibri'; // The font name of your text
User := TEdit.Create(FrmDesign); // This will create the editbox. Must be called.
User.Parent := FrmDesign; // without this your editbox wont be visible
User.Top := 60; // how many pixels from the top
User.Left := 80; // how many pixels from the left
User.Width := 125; // the width of your editbox
User.Height := 20;
User.TEXT := 'UserName';
UserLabel := TLabel.Create(FrmDesign);
UserLabel.Parent := FrmDesign;
UserLabel.Top := 60;
UserLabel.Left := 5;
UserLabel.Caption := 'Username';
UserLabel.FONT.Color := ClWhite;
Pass := TEdit.Create(FrmDesign); // This will create the editbox. Must be called.
Pass.Parent := FrmDesign; // without this your editbox wont be visible
Pass.Top := 90; // how many pixels from the top
Pass.Left := 80; // how many pixels from the left
Pass.Width := 125; // the width of your editbox
Pass.Height := 20; // the height of you editbox
Pass.Text := 'Password';
Pass.PASSWORDCHAR := '*';
PassLabel := TLabel.Create(FrmDesign);
PassLabel.Parent := FrmDesign;
PassLabel.Top := 90;
PassLabel.Left := 5;
PassLabel.Caption := 'Password';
PassLabel.FONT.Color := ClWhite;
Nick := TEdit.Create(FrmDesign); // This will create the editbox. Must be called.
Nick.Parent := FrmDesign; // without this your editbox wont be visible
Nick.Top := 120; // how many pixels from the top
Nick.Left := 80; // how many pixels from the left
Nick.Width := 125; // the width of your editbox
Nick.Height := 20; // the height of you editbox
Nick.Text := 'Nick';
NickLabel := TLabel.Create(FrmDesign);
NickLabel.Parent := FrmDesign;
NickLabel.Top := 120;
NickLabel.Left := 5;
NickLabel.Caption := 'Nick';
NickLabel.FONT.Color := ClWhite;
BankPin := TEdit.Create(FrmDesign); // This will create the editbox. Must be called.
BankPin.Parent := FrmDesign; // without this your editbox wont be visible
BankPin.Top := 150; // how many pixels from the top
BankPin.Left := 80; // how many pixels from the left
BankPin.Width := 125; // the width of your editbox
BankPin.Height := 20; // the height of you editbox
BankPin.Text := '0000';
BankPin.MaxLength := 4;
PinLabel := TLabel.Create(FrmDesign);
PinLabel.Parent := FrmDesign;
PinLabel.Top := 150;
PinLabel.Left := 5;
PinLabel.Caption := 'Bank Pin';
PinLabel.FONT.Color := ClWhite;
Server := TEdit.Create(FrmDesign); // This will create the editbox. Must be called.
Server.Parent := FrmDesign; // without this your editbox wont be visible
Server.Top := 180; // how many pixels from the top
Server.Left := 80 // how many pixels from the left
Server.Width := 125; // the width of your editbox
Server.Height := 20; // the height of you editbox
Server.Text := '6';
ServerLabel := TLabel.Create(FrmDesign);
ServerLabel.Parent := FrmDesign;
ServerLabel.Top :=180;
ServerLabel.Left := 5;
ServerLabel.Caption := 'Server';
ServerLabel.FONT.Color := ClWhite;
Inventory := TEdit.Create(FrmDesign);
Inventory.Parent := FrmDesign;
Inventory.Top := 210;
Inventory.Left := 80;
Inventory.Width := 125;
Inventory.Height := 20;
Inventory.TEXT := '2000';
InventoryLabel := TLabel.Create(FrmDesign);
InventoryLabel.Parent := FrmDesign;
InventoryLabel.Top := 210;
InventoryLabel.Left := 5;
InventoryLabel.Caption := 'Inventories';
InventoryLabel.FONT.Color := ClWhite;
List1 := TListBox.Create(FrmDesign); // This will create the combobox. Must be called.
List1.Parent := FrmDesign; // without this your combobox wont be visible
List1.Top := 60; // how many pixels from the top
List1.Left := 290; // how many pixels from the left
List1.Width := 200; // the width of your combobox
List1.Height := 70; // the height of you combobox
List1.Items.Add('Charms to Pouches');
List1.Items.Add('Charms to Pouches to Scrolls');
List1.Items.Add('Pouches to Scrolls');
end;

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

procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;

procedure SafeShowFormModal;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;

function PouchScreen: Boolean;
var
X, Y: Integer;
begin
Result := FindText(x,y,'Pouch Creation', UpCharsEx,248,27,440,53);
end;

function ScrollScreen: Boolean;
var
X, Y: Integer;
begin
Result := FindText(x,y,'Scroll Creation', UpCharsEx,248,27,440,53);
end;

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := User1; // Username?
Players[0].Pass := Pass1; // Password?
Players[0].Nick := Nick1; // 3 letters of your username (not the first letter)
Players[0].Active := True;
end;

Function XPPerHour(runtime,gained:integer):String;
begin
result:=inttostr(Round((gained * 3600) / (runtime / 1000)));
end;

Function GainedXP:integer;
begin
result:= GetXPBarTotal - startingxp;
end;

procedure antiban;
begin
case random(800) of
0..25:
begin
HoverSkill('summoning',false);
antibans:=antibans+1;
end;

26..51:
begin
sleep(2000+random(3000));
antibans:=antibans+1;
end;

52..77:
begin
SleepAndMoveMouse(2000+random(2000));
antibans:=antibans+1;
end;
end;
end;

procedure SPSPaths;
begin
SPS_Setup(RUNESCAPE_SURFACE,['8_7','8_6']);
ToObelisk := [Point(3341, 2983), Point(3357, 2984), Point(3369, 2982), Point(3385, 2985), Point(3397, 2989), Point(3415, 2993), Point(3431, 2992), Point(3446, 2992), Point(3465, 2986), Point(3475, 2975), Point(3488, 2963), Point(3501, 2955), Point(3519, 2946), Point(3526, 2932), Point(3528, 2916), Point(3531, 2897), Point(3531, 2875), Point(3531, 2857), Point(3543, 2856), Point(3557, 2863)];
totheBank := [Point(3554, 2856), Point(3542, 2856), Point(3528, 2858), Point(3529, 2872), Point(3529, 2883), Point(3529, 2897), Point(3529, 2908), Point(3527, 2922), Point(3522, 2931), Point(3516, 2942), Point(3505, 2951), Point(3494, 2957), Point(3483, 2967), Point(3475, 2978), Point(3465, 2987), Point(3451, 2994), Point(3438, 2994), Point(3419, 2993), Point(3402, 2990), Point(3386, 2988), Point(3371, 2984), Point(3353, 2984), Point(3340, 2983)];
end;

Procedure Bank;
begin
sleep(500+random(500));
OpenBankFast('tavb');
sleep(500+random(250));
if (PinScreen) then
InPin(BankPin1);
if not(WaitFunc(@BankScreen,25,2000)) then
OpenBankFast('tavb');
if (WaitFunc(@BankScreen,25,2000)) then
begin
if (WhatToDo = 0) then
InvMouse(4+random(12), 3);
if (WhatToDo > 0) then
InvMouse(4, 3);
repeat
sleep(200+random(250));
GetMousePos(x,y);
ClickMouse2(false);
WaitOptionMulti(['Deposit-All', 'All'], 100);
until InvCount=3;
if (WhatToDo <= 1) then
MMouse(55,108,8,8);
if (WhatToDo = 2) then
MMouse(97,106,8,8);
GetMousePos(x,y);
Mouse(x,y,0,0,false);
sleep(50+random(250));
WaitOptionMulti(['Withdraw-All', 'All'], 100);
(*if(IsUpText(SecondaryItem)) then
begin
GetMousePos(x,y);
Mouse(x,y,0,0,false);
sleep(200+random(250));
WaitOptionMulti(['Withdraw-All', 'All'], 200);
sleep(500+random(100));
end else
if not(IsUpText(SecondaryItem)) then
begin
MMouse(55,108,8,8);
sleep(5000+random(250));
writeln(GetUpText);
if(IsUpText(SecondaryItem)) then
begin
GetMousePos(x,y);
Mouse(x,y,0,0,false);
WaitOptionMulti(['Withdraw-All', 'All'], 200);
sleep(500+random(250));
end else
if not(IsUpText(SecondaryItem)) then
begin
Writeln('Out Of SecondaryItem');
if (BankScreen) then
CloseBank;
ExitToLobby;
TerminateScript;
end;
end;*)
end;
case random(100) of
0..60: begin CloseBank; sleep(200+random(200)); end;
0..75: ClickNorth(0);
end;
end;

Procedure CheckInv;
begin
sleep(50+random(250));
if not(invfull) then
begin
Bank;
CheckInv;
end;
end;

Procedure ClickObelisk;
begin
failsafe:=0
MMouse(x,y,20,20);
sleep(1500+random(200));
repeat
FindColorTolerance(x, y, 11384245, 275, 100, 480, 250, 3);
MMouse(x,y,20,20);
Sleep(200+random(250));
if (isuptextmulticustom(['ouch','Obelisk','belisk','elisk'])) then
begin
failsafe2 := 10
GetMousePos(x,y);
Mouse(x,y,0,0,1);
Sleep(200+random(250));
Break;
end;
failsafe:= failsafe + 1
until (failsafe > 10);
if (failsafe > 10) then
begin
while (failsafe2 = 0) do
begin
writeln('Could not find the obelisk after 10 tries, trying one more time');
MMouse(630,66,5,5);
SPS_WalkToPos(Point(3559, 2857));
failsafe2:=failsafe2+1
Flag;
ClickObelisk;
end;
while (failsafe2 < 2) do
begin
MMouse(630,66,5,5);
FindColorSpiralTolerance(x, y, 6236160, 576, 30, 686, 70, 3);
Mouse(x,y,0,0,true);
failsafe2:=failsafe2+1
ClickObelisk;
end;
while (failsafe2 < 4) do
begin
writeln('Once again couldn`t find obelisk, starting over');
sleep(200+random(200));
SPS_WalkPath(ToTheBank);
Bank;
SPS_WalkPath(ToObelisk);
SPS_WalkToPos(Point(3560, 2858));
failsafe2 := 5
ClickObelisk;
end;
while (failsafe2 = 5) do
begin
writeln('Something is wrong, logging out');
ExitToLobby;
TerminateScript;
end;
end;
end;

Procedure Infuse;
begin
if WaitFunc(@PouchScreen,100,2000) then
begin
repeat
if PouchScreen then
MMouse(63,82,10,10);
if (WaitUpTextMulti(['pouch','ouch','uch','fuse'],2000)) then
begin
GetMousePos(x,y);
Mouse(x,y,0,0,false);
WaitOptionMulti(['Infuse-All', 'All'], 2000);
failsafe2 := 10
Break;
end;
failsafe:= failsafe + 1
until (failsafe > 20);
while (failsafe2 = 0) do
begin
writeln('couldn`t make the pouches for some reason, maybe we didn`t click the obelisk?');
SPS_WalkPath(ToObelisk);
ClickObelisk;
failsafe2 := 1;
Infuse;
end;
while (failsafe2 = 1) do
begin
writeln('couldn`t make the pouches for some reason, starting over.');
SPS_WalkPath(ToTheBank);
Bank;
SPS_WalkPath(ToObelisk);
ClickObelisk;
failsafe2 := 2;
Infuse;
end;
while (failsafe2 = 2) do
begin
writeln('still couldn`t infuse the pouch, logging out');
ExitToLobby;
TerminateScript;
end;
sleep(500+random(250));
case random(100) of
0..30:
begin
HoverSkill('Summoning',false);
antibans:=antibans+1;
end;
end;
end else
begin
ClickObelisk;
Infuse;
end;
end;

Procedure ToScroll;
begin
if WaitFunc(@PouchScreen,100,2000) then
begin
WaitFunc(@ScrollScreen,50,1000);
Mouse(130,40,20,5,true);
repeat
MouseBox(53,69,77,95,mouse_move);
if (WaitUptextMulti(['transform','form','croll'],2000)) then
begin
GetMousePos(x,y);
Mouse(x,y,0,0,false);
WaitOptionMulti(['Transform-All', 'All'], 2000);
Break;
end;
failsafe:= failsafe + 1
until (failsafe > 10);
if (failsafe > 10) then
begin
Writeln('Could not transform pouches after 10 tries. Did we Infuse?');
InvMouse(28,3);
sleep(200+random(250));
if (IsUpText('ouch')) then
begin
Writeln('Can`t make scrolls for some reason. Banking.');
SPS_WalkPath(totheBank);
Bank;
SPS_WalkPath(ToObelisk);
ClickObelisk;
if (WhatToDo = 1) then
begin
Infuse;
end;
ToScroll
end;
end else
begin
ClickObelisk;
ToScroll;
end;
end;
end;

begin
SafeInitForm;
SafeShowFormModal;
Freeform(frmdesign);
Smart_Members := True;
Smart_Server := SERVER1;
SetupSRL;
DeclarePlayers;
if not(LoggedIn) then
LogInPlayer;
while not(LoggedIn) do
sleep(5000);
if (bankscreen) then
CloseBank;
if not(IsXPBarOpen) then
begin
sleep(2500);
ToggleXPBar(True);
end;
startingxp:= GetXPBarTotal;
MouseSpeed := 16
writeln(GetXPBarTotal);
SetAngle(0);
SPSPaths;
//SPS_WalkPath(ToTheBank);
if (WhatToDo = 0) then
repeat
AntiBan;
GameTab(tab_inv)
Sleep(200+random(250));
Bank;
CheckInv;
SPS_WalkPath(ToObelisk);
failsafe := 0
failsafe2 := 0
ClickObelisk;
sleep(500+random(200));
failsafe2 := 0
Infuse;
ClearDebug;
inventories:=inventories+1
Writeln('Running for: ' + TimeRunning);
Writeln('Inventories Done: ' + inttostr(inventories));
Writeln('Experience Gained: ' + inttostr(GainedXP));
Writeln('Experience/Hour: ' + XPPerHour(GetTimeRunning,GainedXP));
Writeln('Antibans: ' + inttostr(antibans));
SPS_WalkPath(ToTheBank);
until (inventories>= NumberOfInventories);
if (WhatToDo = 1) then
repeat
AntiBan;
GameTab(tab_inv)
Sleep(200+random(250));
Bank;
CheckInv;
SPS_WalkPath(ToObelisk);
failsafe := 0
failsafe2 := 0
ClickObelisk;
sleep(500+random(200));
failsafe2 := 0
Infuse;
ClickObelisk;
sleep(500+random(200));
ToScroll;
ClearDebug;
inventories:=inventories+1
Writeln('Running for: ' + TimeRunning);
Writeln('Inventories Done: ' + inttostr(inventories));
Writeln('Experience Gained: ' + inttostr(GainedXP));
Writeln('Experience/Hour: ' + XPPerHour(GetTimeRunning,GainedXP));
Writeln('Antibans: ' + inttostr(antibans));
SPS_WalkPath(ToTheBank);
until (inventories >= NumberOfInventories);
if (WhatToDo = 2) then
repeat
AntiBan;
GameTab(tab_inv)
{Bank;
CheckInv;
SPS_WalkPath(ToObelisk);
failsafe := 0
failsafe2 := 0 }
ClickObelisk;
sleep(500+random(200));
ToScroll;
ClearDebug;
inventories:=inventories+1
Writeln('Running for: ' + TimeRunning);
Writeln('Inventories Done: ' + inttostr(inventories));
Writeln('Experience Gained: ' + inttostr(GainedXP));
Writeln('Experience/Hour: ' + XPPerHour(GetTimeRunning,GainedXP));
Writeln('Antibans: ' + inttostr(antibans));
SPS_WalkPath(ToTheBank);
until (inventories >= NumberOfInventories);
end.

My HerbCleaner(Based On MouseKeys)
This is the fastest herb cleaner on the site and its even faster than any herb cleaner i've ever used, including during refelection. Its a pretty popular script with over 350 Downloads on the most recent Version: http://villavu.com/forum/showthread.php?t=72584

program FwdsMKHerbCleaner;
{$DEFINE SMART}
{.include srl/srl.simba}

var x,y,c1,r1,sx,sy,runHorV,startingxp,inventories,herbscleaned,antibans:integer;

const
(************--------------------SETUP-----------------------------************)
Server = 6; // What world?
NumberOfInventories = 315; // How many inventories? # of herbs/28
HorV = 3; // Horizontal=1, Vertical=2, Random=3
CleanSpeed = 70; // 60-200 recommended; Lower=Faster; 60=Max xp/hr
CustomMouseSpeed = 17; // This is the MouseSpeed that will be used while banking suggested 10-20
BankPin = '0000'; // Enter you bankpin here, leave if you don't have one.


procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := 'Name'; // Username?
Players[0].Pass := 'Pass'; // Password?
Players[0].Nick := 'ick'; // 3 letters of your username (not the first letter)
Players[0].Active := True;
end;
(************---------------------END SETUP------------------------************)

// FUNCTIONS

function OpenBankChestEdge2(Location: Integer): Boolean;
var
bo, i, l, z: Integer;
Info: TVariantArray;
Chests: TPointArray;
AChests: T2DPointArray;
UpText: TStringArray;
B: TBox;
begin
result := false;
if (not LoggedIn) then
Exit;
if BankScreen or PinScreen then
begin
Result := True;
Exit;
end;
UpText := ['Bank', 'chest', 'nk che'];
{ 0 1 2 3 4 5 6 7 8 9 10 }
case Location of { Sort X Sort Y Color Tol Hue Sat Count SplitTPA? W H Compass}
SRL_BANK_SW : Info := [MSCX , MSCY, 10198185, 21, 0.08, 0.25, 50, True , 10, 10, 's'];
SRL_BANK_CW : Info := [MSCX , MSCY, 10198185, 21, 0.08, 0.25, 50, True , 10, 10, 'n'];
SRL_BANK_B : Info := [MSCX , MSCY, 10198185, 21, 0.08, 0.25, 50, True , 10, 10, 'n'];
SRL_BANK_GG : Info := [MSCX , MSCY, 5921630, 9 , 0.47, 0.08, 50, True , 10, 10, 'n'];

else
begin
srl_Warn('OpenBankChestEdge', 'Unknown bank: '+IntToStr(Location), warn_AllVersions); //will output loc as int (no longer string)
Exit;
end;
end;

MakeCompass(Info[10]);
//SetAngle(SRL_ANGLE_HIGH); //??
z := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(Info[4], Info[5]);

FindColorsSpiralTolerance(Info[0], Info[1], Chests, Info[2], MSX1, MSY1, MSX2, MSY2, Info[3]);
ColorToleranceSpeed(z);
SetColorSpeed2Modifiers(0.2, 0.2);

{ Split to ATPA. }
if Info[7] then
AChests := SplitTPA(Chests, 3)
else
AChests := TPAtoATPA(Chests, 10);

Chests := [];

{ Go through ATPA. }
l := GetArrayLength(AChests) -1;
for i := 0 to l do
begin
{ Too few pixels. }
if (Length(AChests[i]) < Info[6]) then
Continue;

{ Too small TPA bounds. }
B := GetTPABounds(AChests[i]);
If ((B.X2 - B.X1) < Info[8]) Or ((B.Y2 - B.Y1) < Info[9]) Then
Continue;

Inc(bo);
SetArrayLength(Chests, bo);
Chests[bo-1] := MiddleBox(GetTPABounds(AChests[i]));

end;

SortTPAFrom(Chests, Point(Info[0], Info[1]));

l := GetArrayLength(Chests) -1;
for i := 0 to l do
begin

MMouse(Chests[i].X, Chests[i].Y, 3, 3);
if WaitUpTextMulti(UpText, 1000) Then
begin
GetMousePos(Chests[i].X, Chests[i].Y);
Case Random(9) of
0..7: Mouse(Chests[i].X, Chests[i].Y, 0, 0, mouse_left);
8: begin
Mouse(Chests[i].X, Chests[i].Y, 0, 0, mouse_right);
if not WaitOptionMulti(['Use', 'se'], 1000) then Exit;
end;
end;
end;
end;
end;

Function XPPerHour(runtime,gained:integer):String;
begin
result:=inttostr(Round((gained * 3600) / (runtime / 1000)));
end;

Function GainedXP:integer;
begin
result:= GetXPBarTotal - startingxp;
end;

Procedure OpenChest;
begin
case random(200) of
0..25:
MissMouse(245+random(25),192+random(15));
else
begin
MouseBox(245,192,280,215,Mouse_move);
end;
end;
if not(BankScreen) then
begin
case random(2000) of
0..200: MissMouse(255,200);
end;
if(WaitUpTextMulti(['ban','hes','hest','est'],1000)) then
begin
GetMousePos(x,y);
Mouse(x,y,0,0,true);
end else
begin
OpenBankChestEdge2(SRL_BANK_SW);
end;
end;
case random(1000) of
0..500:
begin
if InvCount > 1 then
MMouse(370,305,30,30)
end;
end;
end;

Procedure Proggy;
begin
ClearDebug;
Writeln('***************Mouse Keys Herb Cleaner***************');
Writeln('********************By Fwd Motion********************');
Writeln('Running for: ' + TimeRunning);
Writeln('Herbs Cleaned: ' + inttostr(HerbsCleaned));
Writeln('Herbs Cleaned/Hour: ' + XPPerHour(GetTimeRunning,HerbsCleaned));
Writeln('Experience Gained: ' + inttostr(GainedXP));
Writeln('Experience/Hour: ' + XPPerHour(GetTimeRunning,GainedXP));
Writeln('Antibans: ' + inttostr(antibans));
Writeln('*****************************************************');
end;

// PROCEDURES

procedure antiban;
begin
case random(1500) of
0..25:
begin
HoverSkill('herblore',false);
MouseBox(644,168,669,202,1);
antibans:=antibans+1;
Proggy;
end;
26..51:
begin
sleep(2000+random(3000));
antibans:=antibans+1;
Proggy;
end;
60..75:
begin
GameTab(tab_Friends);
sleep(100+random(250));
MouseBox(644,168,669,202,1);
antibans:=antibans+1;
Proggy;
end;
80..95:
begin
Mouse(260,160,5,6,false);
sleep(200+random(100));
MMouse(190,276,10,30);
sleep(250+random(100));
MMouse(495,45,50,50);
antibans:=antibans+1;
Proggy;
end;
120..125:
begin
ToggleMoneyPouch(true);
sleep(200+random(250));
Mouse(532,98,10,10,false);
WaitOptionMulti(['Examine money','money pouch'],200);
sleep(500+random(200));
ToggleMoneyPouch(false);
end;
800..825:
begin
SleepAndMoveMouse(2000+random(2000));
antibans:=antibans+1;
Proggy;
end;
end;
end;

procedure FMMouse(x, y, rx, ry: integer);
var
cx, cy: integer;
randSpeed: Extended;
{$IFDEF UseLaptopMouse}
seg, e, f, g, nx, ny, hypo: Integer;
a, b, c: Extended;
Miss: Boolean;
{$ENDIF}
begin
GetMousePos(cx, cy);
{$IFDEF UseLaptopMouse}
miss := (Random(LMouse_MissChance) = 0);
e:= 0;
a:= x - cx;
b:= y - cy;
c:= Pow(a,2) + Pow(b,2)
hypo:= Round(Sqrt(c));
case hypo of
0: Exit;
1..225: seg:=1;
226..600: seg:= Random(2) + 1;
601..1800: seg:= random(3) + 2;
else seg := 5;
end;
f := Round( a / seg);
g := Round( b / seg);
repeat
{Begin: Modified from MMouse by Benland100}
randSpeed := (random(MouseSpeed) + MouseSpeed);
if randSpeed = 0.0 then
randSpeed := 0.1;
getMousePos(cx,cy);
nx:= (cx + (f * e)) + random(rx);
ny:= (cy + (g * e)) + random(ry);
{End: Modified from MMouse by Benland100}
if Miss then
begin
nx:= nx + RandomRange(rx, rx * 2);
ny:= ny + RandomRange(ry, ry * 2);
end;
WindMouse(cx,cy,nx,ny,11.0,8.0,0.1,3,10.0*randSpeed,10.0*randSpeed);
e:= e + 1;
until(e = seg);
GetMousePos(cx, cy);
if not PointInBox(Point(cx, cy), IntToBox(x, y, x + rx, y + ry)) then
begin
WindMouse(cx,cy,(x + random(rx)),(y + random(ry)),11.0,6.0,0.1,3,10.0*randSpeed,10.0*randSpeed);
end;
{$ELSE}
randSpeed:= (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
if randSpeed = 0.0 then
randSpeed := 0.1;
X := x + random(rx);
Y := y + random(ry);
WindMouse(cx,cy,x,y,9.0,3.0,0.1,3,10.0*randSpeed,10.0*randSpeed);
{$ENDIF}
end;

procedure FClickMouse2(button: variant);
var
a,b,c : integer;
iButton: Integer;
begin
{ Eventually, should be made to just use Integers }
if (varType(button) = varBoolean) then
begin
if (button) then
iButton := mouse_left
else
iButton := mouse_right;
end else
iButton := button;

if (iButton = mouse_move) then Exit; { we aren't actually clicking! }

GetMousePos(b, c);

HoldMouse(b, c, iButton);
repeat
a := a + 1;
until (a > 4);
GetMousePos(b, c);
ReleaseMouse(b, c, iButton);
end;

procedure FMouse(mousex, mousey, ranx, rany: Integer; button: variant);
begin
FMMouse(mousex, mousey, ranx, rany);
FClickMouse2(button);
end;

Procedure Setup;
begin
if(BankScreen) then
begin
CloseBank;
sleep(300+random(300));
end;
MouseBox(644,168,669,202,1);
SetAngle(0);
end;

Procedure Bank;
begin
if (PinScreen) then
InPin(BankPin);
if (WaitFunc(@BankScreen,50,2000)) then
begin;
if InvCount > 1 then
QuickDeposit(SRL_DEPOSIT_ALL);
Sleep(20+random(100));
FixBank;
MouseBankSlot(1,mouse_right);
case random(2000) of
0..100:
begin
if (WaitOptionMulti(['Withdraw-X Grimy','X Grimy'],10000)) then
begin
sleep(200+random(250));
MouseBankSlot(1,mouse_right);
case random(100) of
0..50:
begin
if (WaitOptionMulti(['All but one Grimy','one Grimy','but one Grimy'],10000)) then
begin
sleep(10+random(20));
end;
end;
else
begin
if (WaitOptionMulti(['Withdraw-All Grimy','All Grimy'],10000)) then
begin
sleep(20+random(20));
end;
end;
end;
end else
begin
MouseBankSlot(1,mouse_right);
if(WaitOptionMulti(['Withdraw-X Grimy','X Grimy'],10000)) then
begin
MouseBankSlot(1,mouse_right);
case random(100) of
0..50:
begin
if (WaitOptionMulti(['All but one Grimy','one Grimy','but one Grimy'],10000)) then
begin
sleep(10+random(20));
end;
end;
else
begin
if (WaitOptionMulti(['Withdraw-All Grimy','All Grimy'],10000)) then
begin
sleep(20+random(20));
end;
end;
end;
end else
begin
Writeln('Out of Herbs, logging out');
Writeln('Successfully Cleaned ' + inttostr(inventories) + ' inventories of herbs.');
if (BankScreen) then
CloseBank;
ExitToLobby;
TerminateScript;
end;
end;
end;
101..500:
begin
if (WaitOptionMulti(['All but one Grimy','one Grimy','but one Grimy'],10000)) then
begin
sleep(10+random(20));
end else
begin
MouseBankSlot(1,mouse_right);
if (WaitOptionMulti(['All but one Grimy','one Grimy','but one Grimy'],10000)) then
begin
sleep(10+random(20));
end else
begin
Writeln('Out of Herbs, logging out');
Writeln('Successfully Cleaned ' + inttostr(inventories) + ' inventories of herbs.');
if (BankScreen) then
CloseBank;
ExitToLobby;
TerminateScript;
end;
end;
end;
else
begin
if (WaitOptionMulti(['Withdraw-All Grimy','All Grimy'],10000)) then
begin
sleep(20+random(20));
end else
begin
MouseBankSlot(1,mouse_right);
if (WaitOptionMulti(['Withdraw-All Grimy','All Grimy'],10000)) then
begin
sleep(20+random(20));
end else
begin
Writeln('Out of Herbs, logging out');
Writeln('Successfully Cleaned ' + inttostr(inventories) + ' inventories of herbs.');
if (BankScreen) then
CloseBank;
ExitToLobby;
TerminateScript;
end;
end;
end;
end;
case random(200) of
0..10:
begin
MouseBankSlot(1,mouse_right);
WaitOptionMulti(['Withdraw-All', 'All'],2000);
end;
end;
end;
if not(BankScreen) then
begin;
OpenChest();
Bank;
CloseBank;
end;
end;

Procedure CleanHerb;
begin
if (HorV=1) then
RunHorV:=1;
if (HorV=2) then
RunHorV:=2;
if (HorV=3) then
RunHorV:=(random(2)+1);
if not InvFull then
begin;
OpenChest();
Bank;
CloseBank;
sleep(150+random(200));
end;
if invfull then
begin
FMMouse(580,226,10,10);
GetMousePos(x,y);
sleep(100+random(50));
if (RunHorV=1) then
begin
c1:=0;
r1:=0;
FMouse(x,y,0,0,true);
sx:=x;
sy:=y;
HerbsCleaned:=HerbsCleaned+1
sleep(CleanSpeed+random(10));
MouseSpeed:=30;
repeat
repeat
sx:=sx+43;
FMouse(sx,sy,0,0,true);
sleep(CleanSpeed+random(10));
c1:=c1+1;
HerbsCleaned:=HerbsCleaned+1
until (c1=3);
sy:=sy+36;
FMouse(sx,sy,0,0,true);
sleep(CleanSpeed+random(10));
c1:=0;
HerbsCleaned:=HerbsCleaned+1
repeat
sx:=sx-43;
FMouse(sx,sy,0,0,true);
sleep(CleanSpeed+random(10));
c1:=c1+1;
HerbsCleaned:=HerbsCleaned+1
until (c1=3);
sy:=sy+36;
FMouse(sx,sy,0,0,true);
sleep(CleanSpeed+random(10));
c1:=0;
r1:=r1+1;
HerbsCleaned:=HerbsCleaned+1
until (r1=3);
repeat
sx:=sx+43;
FMouse(sx,sy,0,0,true);
sleep(CleanSpeed+random(10));
c1:=c1+1;
HerbsCleaned:=HerbsCleaned+1
until (c1=3);
end;
Proggy;
if (RunHorV=2) then
begin
GetMousePos(x,y);
FMouse(x,y,0,0,true);
MouseSpeed:=30;
sleep(CleanSpeed+random(10));
HerbsCleaned:=HerbsCleaned+1
c1:=0;
r1:=0;
sx:=x;
sy:=y;
repeat
sy:=sy+36;
FMouse(sx,sy,0,0,true);
sleep(CleanSpeed+random(10));
HerbsCleaned:=HerbsCleaned+1
c1:=c1+1;
until (c1=6);
sx:=sx+43;
FMouse(sx,sy,0,0,true);
sleep(CleanSpeed+random(10));
HerbsCleaned:=HerbsCleaned+1
c1:=0;
repeat
sy:=sy-36;
FMouse(sx,sy,0,0,true);
sleep(CleanSpeed+random(10));
HerbsCleaned:=HerbsCleaned+1
c1:=c1+1;
until (c1=6);
sx:=sx+43;
FMouse(sx,sy,0,0,true);
sleep(CleanSpeed+random(10));
HerbsCleaned:=HerbsCleaned+1
c1:=0;
repeat
sy:=sy+36;
FMouse(sx,sy,0,0,true);
sleep(CleanSpeed+random(10));
HerbsCleaned:=HerbsCleaned+1
c1:=c1+1;
until (c1=6);
sx:=sx+43;
FMouse(sx,sy,0,0,true);
sleep(CleanSpeed+random(10));
HerbsCleaned:=HerbsCleaned+1
c1:=0;
repeat
sy:=sy-36;
FMouse(sx,sy,0,0,true);
sleep(CleanSpeed+random(10));
HerbsCleaned:=HerbsCleaned+1
c1:=c1+1;
until (c1=6);
proggy;
end;
if (HorV>3) then
begin
writeln('HORV must be 1 or 2');
if (BankScreen) then
CloseBank;
ExitToLobby;
TerminateScript;
end;
inventories:=inventories+1;
MouseSpeed:=CustomMouseSpeed;
antiban;
sleep(200+random(200));
end;
end;

Procedure CheckInv;
begin
WaitInvCount(28,1000,(ExactCT));
if not(InvFull) then
begin
OpenChest;
Bank;
CloseBank;
CheckInv;
end;
end;

begin
Smart_Members := True;
Smart_Server := SERVER;
SetupSRL;
DeclarePlayers;
if not(LoggedIn) then
LogInPlayer;
while not(LoggedIn) do
sleep(2500);
if not(IsXPBarOpen) then
ToggleXPBar(True);
startingxp:= GetXPBarTotal;
writeln(GetXPBarTotal);
Setup;
repeat
OpenChest();
Bank;
CloseBank;
AntiBan;
CheckInv;
CleanHerb;
until (inventories >= NumberOfInventories);
Writeln('Successfully Cleaned ' + inttostr(NumberOfInventories) + ' inventories of herbs!');
ExitToLobby;
end.

I also write the "MouseBankSlot" procedure that's in the core bank include:
(*
MouseBankSlot
~~~~~~~~~~~~~

.. code-block:: pascal

procedure MouseBankSlot(BankSlot, Action: integer);

.. note::

by Fwd Motion
Last Modified: Feb. 09, 2012 by Fwd Motion

Example:

.. code-block:: pascal

MouseBankSlot(1, mouse_Right);
if (WaitOption('ithdraw-All', 500)) then
Writeln('Withdrew item');
*)
procedure MouseBankSlot(BankSlot, Action: integer);
var
BankBox: TBox;
X, Y: Integer;
begin
BankBox := BankIndexToMSBox(BankSlot);
GetMousePos(X, Y);
if (not PointInBox(Point(X, Y), BankBox)) then
MouseBox(BankBox.X1, BankBox.Y1, BankBox.X2, BankBox.Y2, Action);
end;

I also got the info for the new bank in taverly for the OpenBankFast include:


'tavb', 'taverly bank': begin UpText := ['ount','unte','oun','unter'];
Info := [MSCX, MSCY, 3556433, 7, 0.20, 0.20, 100, False, 10, 10];
end;

I've also written an UNF Potion maker, which I have no released to the public to keep prices from diving. (Will release in members if I am accepted though, obvously):

program UNFMaker;
{$DEFINE SMART}
{.include srl/srl.simba}


var x,y,startingxp,inventories,Unfs,antibans,OpeningChest,MakingUNFs,MakingUNFs2:integer;

const
(************--------------------SETUP-----------------------------************)
Server = 6; // What world?
NumberOfInventories = 4936; // How many inventories?
CustomMouseSpeed = 14; // Custom MouseSpeed
BankPin = '0000'; // Enter you bankpin here, leave if you don't have one.
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; // Username?
Players[0].Pass := ''; // Password?
Players[0].Nick := ''; // 3 letters of your username (not the first letter)
Players[0].Active := True;
end;
(************---------------------END SETUP------------------------************)

Function XPPerHour(runtime,gained:integer):String;
begin
result:=inttostr(Round((gained * 3600) / (runtime / 1000)));
end;

function OpenBankChestEdge2(Location: Integer): Boolean;
var
bo, i, l, z: Integer;
Info: TVariantArray;
Chests: TPointArray;
AChests: T2DPointArray;
UpText: TStringArray;
B: TBox;
begin
result := false;
if (not LoggedIn) then
Exit;
if BankScreen or PinScreen then
begin
Result := True;
Exit;
end;
UpText := ['Bank', 'chest', 'nk che'];
{ 0 1 2 3 4 5 6 7 8 9 10 }
case Location of { Sort X Sort Y Color Tol Hue Sat Count SplitTPA? W H Compass}
SRL_BANK_SW : Info := [MSCX , MSCY, 10198185, 21, 0.08, 0.25, 50, True , 10, 10, 's'];
SRL_BANK_CW : Info := [MSCX , MSCY, 10198185, 21, 0.08, 0.25, 50, True , 10, 10, 'n'];
SRL_BANK_B : Info := [MSCX , MSCY, 10198185, 21, 0.08, 0.25, 50, True , 10, 10, 'n'];
SRL_BANK_GG : Info := [MSCX , MSCY, 5921630, 9 , 0.47, 0.08, 50, True , 10, 10, 'n'];

else
begin
srl_Warn('OpenBankChestEdge', 'Unknown bank: '+IntToStr(Location), warn_AllVersions); //will output loc as int (no longer string)
Exit;
end;
end;

MakeCompass(Info[10]);
//SetAngle(SRL_ANGLE_HIGH); //??
z := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(Info[4], Info[5]);

FindColorsSpiralTolerance(Info[0], Info[1], Chests, Info[2], MSX1, MSY1, MSX2, MSY2, Info[3]);
ColorToleranceSpeed(z);
SetColorSpeed2Modifiers(0.2, 0.2);

{ Split to ATPA. }
if Info[7] then
AChests := SplitTPA(Chests, 3)
else
AChests := TPAtoATPA(Chests, 10);

Chests := [];

{ Go through ATPA. }
l := GetArrayLength(AChests) -1;
for i := 0 to l do
begin
{ Too few pixels. }
if (Length(AChests[i]) < Info[6]) then
Continue;

{ Too small TPA bounds. }
B := GetTPABounds(AChests[i]);
If ((B.X2 - B.X1) < Info[8]) Or ((B.Y2 - B.Y1) < Info[9]) Then
Continue;

Inc(bo);
SetArrayLength(Chests, bo);
Chests[bo-1] := MiddleBox(GetTPABounds(AChests[i]));

end;

SortTPAFrom(Chests, Point(Info[0], Info[1]));

l := GetArrayLength(Chests) -1;
for i := 0 to l do
begin

MMouse(Chests[i].X, Chests[i].Y, 3, 3);
if WaitUpTextMulti(UpText, 1000) Then
begin
GetMousePos(Chests[i].X, Chests[i].Y);
Case Random(9) of
0..7: Mouse(Chests[i].X, Chests[i].Y, 0, 0, mouse_left);
8: begin
Mouse(Chests[i].X, Chests[i].Y, 0, 0, mouse_right);
if not WaitOptionMulti(['Use', 'se'], 1000) then Exit;
end;
end;
end;
end;
end;

function WaitBankScreen(Time:integer): Boolean;
var
T: Integer;
begin
Result := false;
T := GetSystemTime + Time;
while (GetSystemTime < T) do
begin
if (BankScreen) then
begin
Result := True;
Exit;
end;
Wait(20 + Random(20));
end;
end;

Procedure OpenChest;
begin
MarkTime(OpeningChest);
repeat
MakeCompass('S');
case random(200) of
0..25:
MissMouse(240+random(25),190+random(15));
else
begin
MouseBox(245,190,280,215,Mouse_move);
end;
end;
if not(BankScreen) then
begin
if(WaitUpTextMulti(['ban','hes','hest','est'],1000)) then
begin
GetMousePos(x,y);
Mouse(x,y,0,0,true);
end;
end;
case random(1000) of
0..500:
MMouse(370,305,30,30)
end;
until (WaitFunc(@BankScreen,50,1000)) or (TimeFromMark(OpeningChest) > 5000)
if (TimeFromMark(OpeningChest) > 5000) then
begin
MakeCompass('S');
MouseBox(245,190,280,215,Mouse_move);
sleep(200+random(150));
ClickMouse2(mouse_right);
WaitOptionMulti(['Use Bank','Bank Chest','nk Chest'],5000);
sleep(1000+random(200));
if (BankScreen) then
begin
Exit;
end else
begin
writeln('Couldn`t open chest, please tell Fwd Motion that his method didn`t work :P');
ExitToLobby;
TerminateScript;
end;
end;
end;

procedure antiban;
begin
case random(1500) of
0..25:
begin
MissMouse(255,200);
antibans:=antibans+1;
end;
26..51:
begin
sleep(2000+random(3000));
antibans:=antibans+1;
end;
800..825:
begin
SleepAndMoveMouse(2000+random(2000));
antibans:=antibans+1;
end;
end;
end;

Procedure Setup;
begin
if(BankScreen) then
begin
CloseBank;
sleep(300+random(300));
end;
MouseBox(644,168,669,202,1);
SetAngle(0);
MakeCompass('s');
end;

Procedure Bank;
begin
if (PinScreen) then
InPin(BankPin);
if (WaitBankScreen(2000)) then
begin
QuickDeposit(SRL_DEPOSIT_ALL)
FixBank;
MouseBankSlot(1,mouse_Right);
if (WaitOptionMulti(['Withdraw-14 Clean','14 Clean'],2000)) then
begin
MouseBankSlot(2,mouse_Right);
case random(3000) of
0..1000:
begin
WaitOptionMulti(['Withdraw-14 Vial','14 Vial'],2000)
end;
1001..2000:
begin
WaitOptionMulti(['All but one Vial','but one Vial', 'one Vial'],2000);

end;
else
begin
WaitOptionMulti(['Withdraw-All Vial','All Vial'],2000);
end;
end;
end else
begin
MouseBankSlot(1,mouse_Right);
if (WaitOptionMulti(['Withdraw-X Clean','X Clean'],2000)) then
begin
sleep(1000+random(500));
TypeSend('14');
WaitInvCount(14,2000,ExactCt);
MouseBankSlot(2,mouse_Right);
if (WaitOptionMulti(['Withdraw-14 Vial','14 Vial'],2000)) then
begin
sleep(10+random(40));
end;
end;
end;
end else
begin
OpenChest;
Bank;
end;
end;

Procedure CheckInv;
begin
WaitInvCount(28,1000,(ExactCT));
if not(InvFull) then
begin
OpenChest();
Bank;
CloseBank;
CheckInv;
end;
end;

Procedure MakeUNFs;
begin
MarkTime(MakingUNFs);
repeat
InvMouse(9+random(5),3);
sleep(10+random(300));
if (WaitUpTextMulti(['clean','lean','ean','uam','till','omin','ander','narr','flax','eed','rit','gali','toe','arm','ragon','ntine','dyme','stol','talk'],1000)) then
begin
ClickMouse2(true);
end else
begin
OpenChest();
Bank;
CloseBank;
MakeUNFs;
end;
InvMouse(15+random(5),3);
if (WaitUpTextMulti(['vial','ial','ater','water','ter','of'],1000)) then
begin
ClickMouse2(true);
end else
begin
OpenChest();
Bank;
CloseBank;
MakeUNFs;
end;
MMouse(255,430,50,20);
if (WaitUpTextMulti(['Make All','ake','All'],2000)) then
begin
GetMousePos(x,y);
ClickMouse2(true);
end else
begin
OpenChest();
Bank;
CloseBank;
MakeUNFs;
end;
sleep(2000+random(1000));
until not(InvFull) or (TimeFromMark(MakingUNFs) > 10000);
If (TimeFromMark(MakingUNFs) > 10000) then
Exit;
MarkTime(MakingUNFs2);
repeat
case random(3500) of
0..10:
begin
HoverSkill('random',false);
antibans:=antibans+1;
end;
50..100:
begin
MMouse(240,240,200,200);
antibans:=antibans+1
end;
101..350:
begin
MouseBox(245,190,280,215,Mouse_move);
antibans:=antibans+1
end;
351..420:
begin
SleepAndMoveMouse(1000+random(200));
antibans:=antibans+1
end;
end;
if InvFull then
begin
OpenChest;
Bank;
CloseBank;
CheckInv;
MakeUNFs;
Exit;
end;
until (InvCount=14) or (TimeFromMark(MakingUNFs2) > 8500);
UNFs:=UNFs+14
inventories:=inventories+1
ClearDebug;
case random(2000) of
0..25: sleep(5000+random(10000));
end;
Writeln('******************UNF Potion Creator*****************');
Writeln('********************By Fwd Motion********************');
Writeln('Running for: ' + TimeRunning);
Writeln('UNFs Created: ' + inttostr(unfs));
Writeln('UNFs Created/Hour: ' + XPPerHour(GetTimeRunning,unfs));
Writeln('Antibans: ' + inttostr(antibans));
Writeln('*****************************************************');
end;

begin
Smart_Members := True;
Smart_Server := SERVER;
SetupSRL;
DeclarePlayers;
if not(LoggedIn) then
LogInPlayer;
while not(LoggedIn) do
sleep(2500);
MouseSpeed:=CustomMouseSpeed;
Setup;
repeat
OpenChest();
Bank;
CloseBank;
CheckInv;
MakeUNFs;
antiban;
until (inventories >= NumberOfInventories);
Writeln('Successfully Created ' + inttostr(NumberOfInventories) + ' inventories of UNFs!');
ExitToLobby;
end.

I've also been working on an AIO Thiever, but its still practically a skeleton.

Along with all of that, I also was able to figure out how to get the proper updates for the sps images: http://villavu.com/forum/showthread.php?t=74442

Fwd Motion

2012-03-01 01:18:55

Please let me know if there's anything else I can add to this post!

Also, please don't be afraid to be a critic! I accept construction criticism, it can only help me! (:

Jagex_Fagex

2012-03-04 14:20:45

Sorry mate, no from me. You are just too new. I won't vote yes on any application of a user that is a couple of months old and less, regardless of scripting abilities. Being an SRL member is community thing too.

Sin

2012-03-04 14:48:27

From: Jagex_Fagex
Sorry mate, no from me. You are just too new. I won't vote yes on any application of a user that is a couple of months old and less, regardless of scripting abilities. Being an SRL member is community thing too.

This.

[XoL]

2012-03-04 15:04:01

In your first post you came off a bit cocky, but your second post rectified that completely!

Yes from me, I think you have been here long enough. I have seen you actively posting and you create nice scripts.

Good luck :)

Fwd Motion

2012-03-04 21:31:39

From: Jagex_Fagex
Sorry mate, no from me. You are just too new. I won't vote yes on any application of a user that is a couple of months old and less, regardless of scripting abilities. Being an SRL member is community thing too.
From: Sin
This.



Thank you both for giving a reason to say no, I really do appreciate it. I'll be here for a while because I really do love this community! Thank you both for the consideration!

From: R4nd0m
In your first post you came off a bit cocky, but your second post rectified that completely!

Yes from me, I think you have been here long enough. I have seen you actively posting and you create nice scripts.

Good luck :)


Thanks so much for your input, I didn't mean to come off as cocky at all, so I'm really sorry for that!

I enjoy lurking these forums, I may be new, but I'm already falling in love! Haha (:

cause

2012-03-05 01:49:47

From: Jagex_Fagex
Sorry mate, no from me. You are just too new. I won't vote yes on any application of a user that is a couple of months old and less, regardless of scripting abilities. Being an SRL member is community thing too.


I'd say he's contributing to the community pretty well, releasing this script and all. Just IMO :P

Voted yes.

Er1k

2012-03-05 02:00:38

As I said earlier, I liked your herb cleaner. I usually don't use others' scripts, especially those by new scripters, but this one is fairly amazing. You deserve a yes for your activity and work.

One thing though, I would be even happier if you trim down the code of that herb cleaner. From what I see, you probably could trim it down further, maybe 50-100 lines. You will probably understand the elegance of doing this when you come across it later.

Yes.

Fwd Motion

2012-03-05 12:10:53

From: cause
I'd say he's contributing to the community pretty well, releasing this script and all. Just IMO :P

Voted yes.


Thanks so much! (:

From: Er1k
As I said earlier, I liked your herb cleaner. I usually don't use others' scripts, especially those by new scripters, but this one is fairly amazing. You deserve a yes for your activity and work.

One thing though, I would be even happier if you trim down the code of that herb cleaner. From what I see, you probably could trim it down further, maybe 50-100 lines. You will probably understand the elegance of doing this when you come across it later.

Yes.


I'm really glad you're enjoying my herb cleaning script! I'm honestly pretty proud of it, its very stable, other than the logging out problem which I already have fixed and will be released in the next version. My goal today is to reduce the bulkiness of the script and to make the mouse movements more human-like.

Thanks so much for your encouragement and for your criticism! (:

Hobbit

2012-03-17 20:58:02

In!

Welcome :)