SRL Archive - Archive

iCURiP - SRL Member Application


iCURiP

2011-12-29 02:22:10

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


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?
Someone from powerbot


What is your general programming knowledge?
Java, currently a beginner in pascal, but iv only been learning for a day and released a script. (Not too impressive I admit).


Are you a member of any other communities?
Only community I really interact with it powerbot and SRL.


Tell us about yourself…
From: iCURiP
My name is Caleb, I'm 15 from Bristol in the UK, and I'm interested in anything that is on a computer, mainly programming and the occasional gaming, that is why I decided to get into making runescape bots, so I can combine my two main interests.

I used to script for RSBuddy and Powerbot.

I have Autism (Asperger syndrome to be specific), the general stereotype is "Dumb" but it is actually more to do with social skills and repetitive behaviours, things like that.



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

Program iCleaner;

//MAKE SURE NO OTHER HERBS ARE VISIBLE IN YOUR BANK OTHER THAN THE ONE YOU ARE USING, OTHERWISE IT WILL NOT STOP WHEN OUT OF HERBS
//(You can have them in your bank, just not visible)
//
// NOTE: SOME HERBS HAVE NOT BEEN TESTED
// IF THEY DON'T WORK TELL ME,
// ALTHOUGH THEY SHOUlD BE FINE :).
//
// INSTRUCTIONS
//
// ► FILL IN THE OPTIONS, HERE IS AN EXPLANATION OF BANK SETTINGS: [url]http://i1139.photobucket.com/albums/n560/iCURiP/exmple.png[/url]
// ► START AT ANY SRL SUPPORTED NPC BANK
// ► MAKE SURE THE ONLY HERBS VISIBLE ARE THE ONES YOU WANT TO USE.
// ► THERE IS NO NEED TO INPUT WHAT HERB YOU WANT, AS IT JUST GETS THE ONE IN THE SLOT YOU CHOOSE IN BANK SETTINGS
//
// TIPS
//
// ► TO FIND PROFITABLE HERBS I SUGGEST GOING HERE > [url]http://runescape.wikia.com/wiki/Calculator:Herblore/Herbs[/url]
// ► TO BE SURE YOUR HERB IS PROFITABLE BUY, CLEAN AND SELL ONE OF THE HERB, SOMETIMES IT MAY SAY ITS PROFITABLE BUT PRICES FLUCTUATE A LOT
// ► SOMETIMES IT MAY BE WORTH A COUPLE LESS GP PROFIT IN ORDER TO GET MORE EXP TO SAVE MONEY RATHER THAN GETTING HERBLORE NORMALLY



var
HERB, X, Y, BankTabOfHerb, BankSlotX, BankSlotY, ISlot, HERBS_CLEANED:Integer;
DTMString:String;
UseAntiban:Boolean;
Pattern, Clock:TIntegerArray;

{$define SMART} //Comment this if you are not using SMART
{$i SRL/SRL.scar}

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




//----------------OPTIONS START HERE-----------------|
Players[0].Name :='';//Username //|
Players[0].Pass :='';//Password //|
Players[0].Nick :='';//3-4 letters of name //|
Players[0].Active:= True; //|
// |
//Go to instructions for example of bank settings. |
//Preset is the main tab, first slot. |
//-----------------BANK_SETTINGS---------------------|
BankTabOfHerb := 1; //|
BankSlotX := 0; //|
BankSlotY := 0; //|
//-----------------OTHER_SETTINGS--------------------|
UseAntiban := True; //Use Antiban? True/False |
//---------------------------------------------------|
//OPTIONS END HERE////////////////////////////////////////////////////////////////

DTMString := 'mrAAAAHic42BgYLAGYicgdgZiRyC2AWIzINYHYlsgzgXiJCBOh7ILgbgYiAug4s5mskCSCSdmZcAPGAlgGAAAAu0F8g==';//Change this if the DTM is broken.
Smart_Server := 86;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
end;

Procedure Antiban;
begin
if UseAntiban then
case random(40) of
0: RandomRClick;
1: PickUpMouse;
2: RandomRClick;
3: RandomMovement;
4: ExamineInv;
end;
end;


Procedure PROGRESS_REPORT;
begin

writeln('~~~~~~~~~iCleaner~~~~~~~~~~~~~~');
Clock := [0,0,0];
ConvertTime(GetTimeRunning,Clock[0],Clock[1],Clock[2]);
Writeln(' Time running: ' +tostr(Clock[0])+':'+tostr(Clock[1])+':'+tostr(Clock[2]));
writeln('Herbs cleaned: ' + IntToStr(HERBS_CLEANED));
writeln('Loads cleaned: ' + IntToStr(HERBS_CLEANED/28));
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');

end;


Procedure BankDoesNotContainHerb;
begin
if NOT FindDTM(HERB,X, Y, MSX1, MSY1, MSX2, MSY2) then
if NOT FindDTM(HERB,X, Y, MSX1, MSY1, MSX2, MSY2) then
if NOT FindDTM(HERB,X, Y, MSX1, MSY1, MSX2, MSY2) then
if NOT FindDTM(HERB,X, Y, MSX1, MSY1, MSX2, MSY2) then
if NOT FindDTM(HERB,X, Y, MSX1, MSY1, MSX2, MSY2) then
writeln('OUT OF HERBS, LOGGING OUT!');
CloseBank;
Logout;
TerminateScript;

end;
Procedure FAILSAFE;
begin
if Not LoggedIn then
begin
LogInPlayer;
SetAngle(True);
end;
FindNormalRandoms;
LevelUp;
end;

Procedure Clean;
var SlotBox:TBox;
begin
Case Random(16) Of
0:Pattern := [1, 5, 9, 13, 17, 21, 25, 2, 6, 10, 14, 18, 22, 26, 3, 7, 11, 15, 19, 23, 27, 4, 8, 12, 16, 20, 24, 28];
1:Pattern := [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28];
2:Pattern := [1, 5, 2, 9, 6, 3, 13, 10, 7, 4, 17, 14, 11, 8, 21, 18, 15, 12, 25, 22, 19, 16, 26, 23, 20, 27, 24, 28];
3:Pattern := [1, 2, 5, 6, 9, 10, 13, 14, 17, 18, 21, 22, 25, 26, 3, 4, 7, 8, 11, 12, 15, 16, 19, 20, 23, 24, 27, 28];
4:Pattern := [1, 2, 3, 4, 8, 7, 6, 5, 9, 10, 11, 12, 16, 15, 14, 13, 17, 18, 19, 20, 24, 23, 22, 21, 25, 26, 27, 28];
5:Pattern := [1, 2, 3, 4, 8, 12, 16, 20, 24, 28, 27, 26, 25, 21, 17, 13, 9, 5, 6, 7, 11, 15, 19 ,23 ,22 ,18 ,14 ,10];
6:Pattern := [1, 5, 9, 13, 17, 21, 25, 26, 22, 18, 14, 10, 6, 2, 3, 7, 11, 15, 19, 23, 27, 28, 24, 20, 16, 12, 8, 4];
7:Pattern := [1, 5, 9, 13, 17, 21, 25, 26, 27, 28, 24, 20, 16, 12, 8, 4, 3, 2, 6, 10, 14, 18, 22, 23, 19, 15, 11, 7];
8:Pattern := [2, 1, 5, 6, 10, 9, 13, 14, 18, 17, 21, 22, 26, 25, 4, 3, 7, 8, 12, 11, 15, 16, 20, 19, 23, 24, 28, 27];
9:Pattern := [28, 24, 20, 16, 12, 8, 4, 3, 7, 11, 15, 19, 23, 27, 26, 22, 18, 14, 10, 6, 2, 1, 5, 9, 13, 17, 21, 25];
10:Pattern := [28, 27, 26, 25, 21, 22, 23, 24, 20, 19, 18, 17, 13, 14, 15, 16, 12, 11, 10, 9, 5, 6, 7, 8, 4, 3, 2, 1];
11:Pattern := [25, 26, 27, 28, 24, 23, 22, 21, 17, 18, 19, 20, 16, 15, 14, 13, 9, 10, 11, 12, 8, 7, 6, 5, 1, 2, 3, 4];
12:Pattern := [4, 3, 7, 8, 12, 11, 15, 16, 20, 19, 23, 24, 28, 27, 26, 25, 21, 22, 18, 17, 13, 14, 10, 9, 5, 6, 2, 1];
13:Pattern := [25, 21, 17, 13, 9, 5, 1, 2, 6, 10, 14, 18, 22, 26, 27, 23, 19, 15, 11, 7, 3, 4, 8 ,12 ,16 ,20 ,24 ,28];
14:Pattern := [4, 8, 12, 16, 20, 24, 28, 27, 23, 19, 15, 11, 7, 3, 2, 6, 10, 14, 18, 22, 26, 25, 21, 17, 13, 9, 5, 1];
15:Pattern := [4, 8, 12, 16, 20, 24, 28, 27, 26, 25, 21, 17, 13, 9, 5, 1, 2, 3, 7, 11, 15, 19, 23, 22, 18, 14, 10, 6];
end;



for ISlot := 0 To 27 Do
begin
HERB := DTMFromString(DTMString);
SlotBox := InvBox(Pattern[ISlot]);
if FindDTM(HERB, X, Y, SlotBox.X1, SlotBox.Y1, SlotBox.X2, SlotBox.Y2) then
begin
MouseItem(Pattern[ISlot], True);
wait(5 + Random(50));
HERBS_CLEANED := HERBS_CLEANED + 1;
if ISlot = 27 then
begin
wait(500 + Random(1000));
end;
end;
FreeDTM(HERB);
end;
end;

begin
DeclarePlayers;

Repeat
Antiban;
FAILSAFE;
HERB := DTMFromString(DTMString);

if FindDTM(HERB, X, Y, MIX1, MIY1, MIX2, MIY2) then

begin
FreeDTM(HERB);
Clean;
end;
HERB := DTMFromString(DTMString);

if Not FindDTM(HERB, X, Y, MIX1, MIY1, MIX2, MIY2) then
begin
if Not BankScreen then

begin
OpenBankNPC;
wait(150 + Random(500));
Antiban;
wait(150 + Random(500));
end;

if BankScreen then

begin
BankTab(BankTabOfHerb);
wait(50 + Random(100));
Antiban;
wait(50 + Random(100));
DepositAll;
wait(50 + Random(250));
Antiban;
wait(50 + Random(250));
if Not FindDTM(HERB, X, Y, MSX1, MSY1, MSX2, MSY2) then
BankDoesNotContainHerb;
Withdraw(BankSlotX, BankSlotY, 28);
wait(100 + Random(500));
CloseBank;
wait(50 + Random(250));
Antiban;
wait(50 + Random(250));
end;

end;
Antiban;
wait(50 + Random(100));
FreeDTM(HERB);
PROGRESS_REPORT;
Until(False);
end.




Didn't know if I should add this or not because its not finished
Program iBandit;

var
START_EXP, CURRENT_EXP, TABLET, WhenToDrink, ActualDrink:Integer;
UseAntiban:Boolean;

{$define SMART} //Comment this if you are not using SMART
{$DEFINE SRL5} // comment to use SRL4

{$IFDEF SRL5}
{$i srl/srl.simba}
{$ELSE}
{$i srl/srl.scar}
{$ENDIF}

Procedure DeclarePlayers;
begin

//OPTIONS START HERE
//OPTIONS START HERE
//OPTIONS START HERE
//OPTIONS START HERE

HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';//3-4 letters of name, example, Zezima, ezim
Players[0].Active:=True;

//Other Settings
UseAntiban := True; //Use Antiban?
WhenToDrink := 150; //Will be randomised by up to + 50 for Antiban
//OPTIONS END HERE
//OPTIONS END HERE
//OPTIONS END HERE
//OPTIONS END HERE

ActivateClient;
Smart_Server := 86;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;

end;


Procedure Antiban;
begin
if UseAntiban then
case random(400) of
0: RandomRClick;
1: PickUpMouse;
2: RandomRClick;
3: RandomMovement;
4: HoverSkill('attack', false);
5: HoverSkill('strength', false);
6: HoverSkill('defence', false);
7: HoverSkill('constitution', false);
8: ActualDrink := WhenToDrink + Random(50);
9: ActualDrink := WhenToDrink + Random(50);
10: ActualDrink := WhenToDrink + Random(50);
11: ActualDrink := WhenToDrink + Random(50);
end;
wait(300 + Random(1000));
end;

Procedure FAILSAFE;
begin
if Not LoggedIn then
repeat
LogInPlayer;
SetAngle(SRL_ANGLE_HIGH);
until(LoggedIn);
FindNormalRandoms;
LevelUp;
Antiban;
if Not IsXPBarOpen then
begin
GetXPBarTotal;
wait(300 + Random(500));
end;
CURRENT_EXP:=GetXPBarTotal;
end;


Function PrayerLevel: Integer;
var
Prayer: Integer;
ColourString: String;
begin
Prayer:= GetMMLevels('Prayer', ColourString);
Result:= Prayer;
end;


Procedure DrinkPrayerPotion;
var
PRAYER_POTION_DTM, x, y:Integer;
begin
PRAYER_POTION_DTM := DTMFromString('m1gAAAHic42JgYHBkYmBwAmJ3IHYDYk8g9gZiSyi2hWJRRgaGP0D1/4CYDcjmAWJhKOZjhIj9B8rZHp4EJJkIYhEG4gAjkRgBAOdqB9I=');
GameTab(tab_Inv);
if (PrayerLevel < ActualDrink)then
if FindDTM(PRAYER_POTION_DTM, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
MMouse(x,y,5,5);
WaitUptext('rink', 500);
wait(50 + Random(500));
if IsUpText('rink') then
begin
ClickMouse2(True);
wait(400 + Random(1000));
end;
end else
begin
TABLET := DTMFromString('mwQAAAHic42RgYMhmYmCIg+JMIC4F4iooLgbiLCB+DlT3GIjfA/EnKH4FxHeB+DoUd86dBySZ8GIRBsKAkQgMBwDXnw31');
if FindDTM(TABLET, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
MMouse(x, y, 5, 5);
WaitUptext('reak', 500);
wait(200 + Random(500));
if IsUpText('reak') then
ClickMouse2(True);
wait(200 + Random(1000));
end else
begin
Logout;
TerminateScript;
end;
end;
FreeDTM(PRAYER_POTION_DTM);
end;


Function IsPrayerOn: Boolean;
var
TPA: TPointArray;
CTS: Integer;
begin
CTS:= GetColorToleranceSpeed;
ColorToleranceSpeed(2);
if FindColorsSpiralTolerance(723, 70, TPA, 7650956, 708, 53, 737, 85, 32) then
Result:= True
else
Result:= False;
ColorToleranceSpeed(CTS);
end;


Procedure TurnPrayerOn(QuickPrayer: Boolean);
begin
GameTab(Tab_Inv);
wait(1000);
if(QuickPrayer = True) then
begin
repeat
MouseBox(706, 55, 739, 87, 1);
wait(1000 + Random(500));
Until(IsPrayerOn);
end;
end;

Procedure TURNQUICKPRAYERSON;
begin

if Not IsPrayerOn then
TurnPrayerOn(True);
end;




Procedure PROGRESS_REPORT;
var Clock:TIntegerArray;
begin

writeln('~~~~~~~~~iBandit~~~~~~~~~~~~~~');
Clock := [0,0,0];
ConvertTime(GetTimeRunning,Clock[0],Clock[1],Clock[2]);
Writeln(' Time running: ' + tostr(Clock[0])+':'+tostr(Clock[1])+':'+tostr(Clock[2]));
writeln(' EXP Gained: ' + IntToStr(CURRENT_EXP - START_EXP));
writeln('');
writeln('Info: Drinking at: ' + IntToStr(ActualDrink));
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');

end;


begin
DeclarePlayers;
FAILSAFE;
ActualDrink := WhenToDrink + Random(50);
if Not IsXPBarOpen then
begin
GetXPBarTotal;
wait(500 + Random(1000));
end;
START_EXP := GetXPBarTotal;
repeat
FAILSAFE;
DrinkPrayerPotion;
PROGRESS_REPORT;
TURNQUICKPRAYERSON;
until(False);
end.
Also this isn't a simba script but this is the sort of stuff i make in Java
www.youtube.com/watch?v=qH2s1kMwYUo

YoHoJo

2011-12-29 02:23:33

Too Simple for my taste sorry.
Also please copy/paste the actual code into the application, easier for us that way!

Kyle Undefined

2011-12-29 02:23:54

Please post the script in that field, not the link.

EDIT: Holy hell, :ninja:'d

Hero

2011-12-29 02:49:44

Guys be positive… lol


Work up to understanding the things posted around the Advanced Tut section and then reply :|

iCURiP

2011-12-29 02:51:36

From: MrDerp
Guys be positive… lol


Work up to understanding the things posted around the Advanced Tut section and then reply :|


OK thanks, will do. may as well delete this post now I feel a it of a nob lol.

Richard

2011-12-29 07:58:35

I really like your attitude, and I also love how you're going about making your own colour finding bot in java (enough so to cause me to develop something similar :p). Unfortunately I feel your scripts aren't quite up to the standard of SRL members, but you've made a good start.

A couple of things: in your BankDoesNotContainHerbs procedure, you use the same line of code 5 times. I can understand checking things twice to be sure, but it's not going to get it wrong that many times, just do the single check, and perhaps do a secondary check using an uptext check or something? Also, if you're doing if statements, you'll want to nest them, to make them far easier to understand.
Essentially one big problem in your script is standards, you'll need to indent far more often to make the script more readable for other scripters. Here is a little tutorial on good standards: http://villavu.com/forum/showthread.php?t=60288

In future, try and include some more complex features like TPAs (I noticed that you perform a FindColorsSpiralTolerance, but never actually do anything with the TPA var). DDTMs would also be a nice addition, but in my eyes, not essential.

nielsie95

2012-01-13 14:56:49

Looks like you're not getting in this time.
You may try again in two weeks. Keep it up!