DexTa
2013-05-22 13:33:52
How Long have You Played Runescape?
10 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
Listed in descending order from most familiar with to least familiar with:
HTML/CSS
PHP
Javascript
Autoit
Pascal/Simba
Being less familiar with Simba than the preceding languages makes me no less qualified as I am a web developer by trade. Naturally, I know the top three like the back of my hand.
I have experimented with the following:
C++
C#
C
Visual Basic
AutoHotKey
Java
Are you a member of any other communities?
No
Tell us about yourself…
Please show us one (or multiple) of your scripts.
10 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
Listed in descending order from most familiar with to least familiar with:
HTML/CSS
PHP
Javascript
Autoit
Pascal/Simba
Being less familiar with Simba than the preceding languages makes me no less qualified as I am a web developer by trade. Naturally, I know the top three like the back of my hand.
I have experimented with the following:
C++
C#
C
Visual Basic
AutoHotKey
Java
Are you a member of any other communities?
No
Tell us about yourself…
From: DexTa
My name is Dexter and I'm a web developer at a local advertising firm. I have been botting on Runescape for nearly a decade. Between working on my beloved truck, being an audiophile, and hanging out with my hot girlfriend, I truly enjoy botting on Runescape. I'm weird. I'm a perfectionist and oftentimes find myself creating bots to suit my needs. In the past, I've made bots using Autoit but due to lack of Runescape specific functionality, that approach has become inefficient. I looked around and stumbled across Simba which I've been experimenting with for a few weeks in my spare time. I loaded up a few public scripts and wasn't very satisfied. I couldn't really find a script that showed the true potential of Simba. I read around and saw that someone mentioned that most public Simba scripts aren't very good and that if you really want to harness the power of Simba, you make you're own scripts. Well I started doing just that and I'm very impressed with the results. Simba is a truly amazing piece of software and I am very excited to continue to develop better scripts for it. I don't plan on using many "Member's only" scripts, but I would like to join in hopes of earlier access to things such as OSR-SPS. (If that's even how releases work.) Anyways, thanks for your consideration.
Please show us one (or multiple) of your scripts.
program new;
{$i SRL-OSR\SRL.simba}
var
IronDTM, CoalDTM, BankDTM, BarsMade: Integer;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True;
Players[0].Pin := '';
end;
procedure Antiban;
begin
case Random(19) of // Random(60) generates a random integer from 0 to 59
0: HoverSkill('Smithing', False);
1: HoverSkill('Magic', False);
2: PickUpMouse;
3:
begin
Wait(10000 + random(20000));
end;
end;
end;
procedure Report;
begin
WriteLn('------------------------------------------------------------------------');
WriteLn('Script successfully smelted ' + intToStr(BarsMade) + ' steel bars.');
WriteLn('------------------------------------------------------------------------');
end;
procedure Banner;
begin
ClearDebug;
WriteLn('SteelHeaTa by DexTa - "KISS Principle: Keep it simple, stupid!"');
WriteLn('_______________________________________________________________');
end;
procedure NotRight;
begin
CloseBank;
Wait(1000 + random(100));
Logout;
FreeDTMs([IronDTM, CoalDTM, BankDTM]);
Report;
TerminateScript;
end;
procedure Bank;
var
x, y, t: Integer;
begin
WriteLn('Banking...');
t := GetSystemTime;
Repeat
WriteLn('Bank is not open, finding it...');
if DTMRotated(BankDTM, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
MMouse(x,y, 3, 3);
Wait(150 + random(200));
ClickMouse2(1);
Wait(1000 + random(250));
end else
Wait(1000);
if ((GetSystemTime - t) > 10000) then
begin
writeln('Took too long to find the bank...logging out...');
NotRight;
end;
Until (BankScreen);
WriteLn('Bank opened...');
if (GetBankItemAmount(6, 0) < 9) then
begin
WriteLn('Out of iron ore...');
NotRight;
end;
t := GetSystemTime;
while ((CountItems('dtm', IronDTM, []) <> 9) and (CountItems('dtm', CoalDTM, []) <> 18)) do
begin
if ((GetSystemTime - t) > 20000) then
begin
writeln('Something is not right...Cannot seem to withdraw the proper number of ores...logging out...');
NotRight;
end else
begin;
WriteLn('Trying to deposit bars and withdraw ores...');
Deposit(2, 28, true);
Wait(150 + random(150));
Withdraw(6, 0, 9);
Wait(150 + random(150));
Withdraw(7, 0, 0);
Wait(150 + random(150));
end;
end;
WriteLn('9 iron and 18 coal are inventory. Closing bank window...');
t := GetSystemTime;
while (BankScreen) do
begin
if ((GetSystemTime - t) > 10000) then
begin
WriteLn('Unable to close the bank screen...Terminating');
NotRight;
end else
begin
CloseBank;
Wait(200 + random(250));
end;
end;
end;
procedure SetupInv;
begin
WriteLn('Setting up inventory for easy superheating...');
GameTab(24);
Wait(100 + random(150));
case random(9) of
0:
begin
WriteLn('Messing up on purpose...oops...');
DragMouse(622, 300, 5, 5, 630, 300, 5, 5);
Wait(300 + random(700));
end;
end;
DragMouse(622, 300, 5, 5, 650, 300, 5, 5);
Wait(100 + random(150));
end;
procedure Superheat;
var
i, ironLeft: Integer;
begin
while (CountItems('dtm', IronDTM, []) > 0) do
begin
ironLeft := CountItems('dtm', IronDTM, [])
WriteLn('Attempting to smelt ' + IntToStr(ironLeft) + ' bars...');
GameTab(27);
Wait(100 + random(150));
MMouse(666, 308, 50, 50);
Wait(100 + random(100));
MMouse(666, 308, 4, 4);
Wait(100 + random(250));
for i := 1 to ironLeft do
begin
ClickMouse2(1);
Wait(200 + random (100));
ClickMouse2(1);
Wait(1200 + random(1000));
end;
ClickMouse2(1);
Wait(100 + random(50));
ClickMouse2(1);
if (ironLeft = CountItems('dtm', IronDTM, [])) then
begin
WriteLn('Looks like we were unable to smelt anything...Are you out of runes? Logging out...');
Logout;
end;
if (ironLeft = 0) then
begin
BarsMade := BarsMade + 9;
WriteLn('Sucessfully smelted 9 more bars for a total of ' + IntToStr(BarsMade) + '.');
end;
end;
end;
begin
Banner;
IronDTM := DTMFromString('mlwAAAHicY2dgYMhlYmAoAOISIE4B4kwoLgfiJ0D5O0D8GoifAfE7IL4NxA+B2EtPEY4bM70YimMdGSqS3Bjac30Z8AFGPBgKACV0D8c=');
CoalDTM := DTMFromString('mlwAAAHicY2dgYJjOxMAwC4h7gXgSEM8D4oVAPBmInwLlbwPxYyB+B8QvgfgBEN8CYmtLDQYDA0WG5EBLhoJoBwYdHRmGznw/hlhvMwZ8gBEPhgIAhvEQIA==');
BankDTM := DTMFromString('mQwAAAHicY2ZgYPiLhG8C8VkgfgHENYUhDDMn9zLMnZDFwAXkcwAxiGZEwkAAAMTUCjk=');
SetupSRL;
DeclarePlayers;
LoginPlayer;
Wait(2000 + random(500));
MakeCompass('N');
SetAngle(SRL_ANGLE_HIGH);
while (LoggedIn) do
begin
Bank;
AntiBan;
SetupInv;
AntiBan;
Superheat;
AntiBan;
end;
FreeDTMs([IronDTM, CoalDTM, BankDTM]);
Report;
end.