SRL Archive - Archive

Nontitle - SRL Member Application Form


NxTitle

2007-07-07 09:57:50

Please Cancel This.
<!– BEGIN TEMPLATE: formanswers –>
Nontitle - SRL Member Application Form
Nontitle

What is the meaning to life?


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


Programming Knowledge
PHP, C++, Python

Other Communitys
Sythe.org, Moparisthebest.com

How Long have You Played Runescape
more than 4 years

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

My actual name is Keith Morrow, I'm 15 (turning 16 in less than a month) and I have been using Scar for more than a year now. When I first got into runescape cheating, I started out at RuneCMS. When that went down, I went to Sythe.org and Kaitnieks.com. It wasn't until after RuneCMS closed that I found out about Scar. For a while I had been learning how to script with Pascal/Scar, although I had never attempted to make an autospammer/autobuyer or any easy scripts. That was probably a bad idea, because I had many more problems with code and slowed down my learning process. The first actual program I had made was an autofighter, where you would input a colour and it would click on it whenever it found an instance. It used the healthbar above your character to figure out when you had stopped fighting. I never released it, though.
When ScarScape came out, I was very excited and I started a script to mine silver and bank it in Al Kharid. I was almost finished, but when SS stopped working, I just gave up on both the script and runescape cheating. About a month ago from now, though, I found out about SRL, and that gave me some hope. I re-made the script and it now works very well. I am very happy with it. I am still working on it, but it has definitely gone farther than my last attempt.

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

Things such as Fighting AntiRandoms haven't been implemented yet, but here is my progress on this script so far:
program AlKhSilverCrafter;

// Al Kharid Silver Crafter
// Version 0.85

var
Verbose, LogOutOnError, Error : Boolean;
Rounds, MaxRounds, FindColourX, FindColourY, CharsNPC, Mask, Mask2, ItemCount, Collected, i, j, k, none : Integer;
box : TBox;
{.include srl/srl.scar}
{.include srl/srl/skill/mining.scar}

procedure Configure;
begin
Verbose := false; // Shows More Information Than Needed - Mainly For Developers
LogOutOnError := false; // Log Out Of Runescape If Error Occurs
MaxRounds := 4; // How Many Rounds To Perform Before Exiting
HowManyPlayers := 1; // How Many Players You Will Use For This Script
NumberOfPlayers(HowManyPlayers); // No Config Needed On This
CurrentPlayer := 0; // Player To Begin With
Players[0].Name := 'Username'; // Your Runescape Username
Players[0].Pass := 'Password'; // Your Runescape Password
Players[0].Nick := 'ernam'; // 3 To 6 Letters From The Middle Of Your Username
Players[0].Loc := 'FirstRun'; // Beginning Position Use The Last LOC From The Debug Box
Players[0].Active := true; // Whether To Use This Character At All
end;

// That is all you need to do. The script will do the rest.

procedure FindRandoms;
begin
FindNormalRandoms;
end;

procedure CheckStuff;
begin
FindRandoms;
if (not (Loggedin)) then LoginPlayer;
end;

procedure ShowReport;
begin
writeln('');
writeln('---Report---');
writeln('Rounds: ' + IntToStr(Rounds));
writeln('Collected: ' + IntToStr(Collected));
writeln('Extra Items: ' + IntToStr(ItemCount));
writeln('Mining Lvl: ' + IntToStr(Players[CurrentPlayer].Level[15]));
writeln('Smithing Lvl: ' + IntToStr(Players[CurrentPlayer].Level[16]));
writeln('Crafting Lvl: ' + IntToStr(Players[CurrentPlayer].Level[12]));
if (Error) then
begin
writeln('Exiting script due to error.');
if (LogOutOnError) then writeln('Also logging out.');
end;
writeln('---Report---');
writeln('');
end;

procedure FirstRun;
begin
writeln('Starting Script on ' + Players[CurrentPlayer].Name + ' For First Time...');
CheckStuff;
if (InvCount > 1) then
begin
writeln('ERROR: More Than 1 Item in Inventory. Closing...');
exit;
end;
if (InvCount < 1) then
begin
writeln('ERROR: Less Than 1 Item in Inventory. Closing...');
exit;
end;
if (InvCount = 1) then
begin
Players[CurrentPlayer].Loc := 'GoToMine';
if (Verbose) then writeln('Good. Only One Item In Inventory. Setting LOC to "GoToMine".');
end;
end;

procedure GoToMine;
begin
CheckStuff;
CheckStuff;
if (Verbose) then writeln('Journeying to Mining Site...');
RandomRClick;
MakeCompass('e');
MakeCompass('n');
if (FindColorTolerance(FindColourX, FindColourY, 2844164, 670, 44, 730, 107, 70)) then
begin
if (Verbose) then writeln('Found Cactus! Now we can start.');
MMouse(FindColourX, FindColourY, 1, 1);
Sleep(1000);
if (Verbose) then writeln('Cactus (mf)');
Mouse(FindColourX, FindColourY - 23, 5, 5, true);
if (Verbose) then writeln('Cactus (sm)');
SleepAndMoveMouse(5000 + Random(250));
Flag;
end else
begin
writeln('ERROR: I can''t find out where I am. Exiting...');
if (Verbose) then writeln('Couldn''t find cactus beside the bank.');
Error := true;
exit;
end;
if (Verbose) then writeln('Move Ahead 1 (mf)');
Mouse(652, 19, 5, 5, true);
if (Verbose) then writeln('Move Ahead 1 (sm)');
SleepAndMoveMouse(5000 + Random(250));
Flag;
if (Verbose) then writeln('Move Ahead 2 (mf)');
Mouse(650, 10, 5, 5, true);
if (Verbose) then writeln('Move Ahead 2 (sm)');
SleepAndMoveMouse(5000 + Random(250));
Flag;
if (FindColorTolerance(FindColourX, FindColourY, 3577729, 589, 6, 643, 157, 20)) then
begin
if (Verbose) then writeln('Found Grass (mf)');
Mouse(713, 76, 5, 5, true);
if (Verbose) then writeln('Found Grass (sm)');
SleepAndMoveMouse(5000);
Flag;
end;
if (Verbose) then writeln('MouseFlag-4');
Mouse(646, 11, 5, 5, true);
if (Verbose) then writeln('SleepAndMoveMouse-4');
SleepAndMoveMouse(5000);
Flag;
if (FindColorTolerance(FindColourX, FindColourY, 3577729, 589, 6, 643, 157, 20)) then
begin
if (Verbose) then writeln('Still Found Grass (mf)');
Mouse(717, 86, 5, 5, true);
if (Verbose) then writeln('Still Found Grass (sm)');
SleepAndMoveMouse(5000);
Flag;
end;
if (Verbose) then writeln('MouseFlag-5');
Mouse(646, 11, 5, 5, true);
if (Verbose) then writeln('SleepAndMoveMouse-5');
SleepAndMoveMouse(5000);
Flag;
while (true) do
begin
CheckStuff;
if (FindColorTolerance(FindColourX, FindColourY, 2970237, 563, 3, 720, 90, 20)) then
begin
if (Verbose) then writeln('Found Rocks (mf)');
Mouse(FindColourX, FindColourY, 5, 5, true);
if (Verbose) then writeln('Found Rocks (sm)');
SleepAndMoveMouse(5000);
Flag;
break;
end else
begin
if (Verbose) then writeln('Looking For Rocks (mf)');
Mouse(649, 54, 5, 5, true);
if (Verbose) then writeln('Looking For Rocks (sm)');
SleepAndMoveMouse(5000);
Flag;
end;
end;
while (true) do
begin
CheckStuff;
if (FindColorTolerance(FindColourX, FindColourY, 8093052, 600, 10, 705, 90, 22)) then
begin
if (Verbose) then writeln('Found Mining (mf)');
Mouse(FindColourX, FindColourY, 2, 2, true);
if (Verbose) then writeln('Found Mining (sm)');
SleepAndMoveMouse(5000);
Flag;
break;
end else
begin
if (Verbose) then writeln('Looking For Mining (mf)');
Mouse(649, 54, 5, 5, true);
if (Verbose) then writeln('Looking For Mining (sm)');
SleepAndMoveMouse(5000);
Flag;
end;
end;
while (true) do
begin
CheckStuff;
if (FindColorTolerance(FindColourX, FindColourY, 2970237, 563, 3, 720, 90, 20)) then
begin
if (Verbose) then writeln('Found Rocks 2 (mf)');
Mouse(FindColourX - 15, FindColourY, 5, 5, true);
if (Verbose) then writeln('Found Rocks 2 (sm)');
SleepAndMoveMouse(5000);
Flag;
break;
end else
begin
if (Verbose) then writeln('Looking For Rocks 2 (mf)');
Mouse(649, 54, 5, 5, true);
if (Verbose) then writeln('Looking For Rocks 2 (sm)');
SleepAndMoveMouse(5000);
Flag;
end;
end;
if (Verbose) then writeln('Doing Final Catchup...');
if (Verbose) then writeln('Catchup (mf)');
Mouse(648, 68, 5, 5, true);
if (Verbose) then writeln('Catchup (sm)');
SleepAndMoveMouse(5000);
Flag;
Players[CurrentPlayer].Loc := 'GetMySilver';
if (Verbose) then writeln('Success! We reached the Silver! Setting LOC to "GetMySilver".');
if (not (Verbose)) then writeln('Success! We Reached the Mine!');
end;

procedure GetMySilver;
begin
SetupSRLMining;
CheckStuff;
FindPickHeadColor;
writeln('Looking For Silver...');
MakeCompass('n');
MakeCompass('e');
HighestAngle;
while (not (InvFull)) do
begin
CheckStuff;
if (FindColorSkipBoxTolerance(FindColourX, FindColourY, 10921649, 65, 100, 426, 292, 20, box)) then
begin
MoveMouseSmooth(FindColourX, FindColourY);
Sleep(50);
if (copy(GetUpText, 0, 10) = 'Mine Rocks') then
begin
if (Verbose) then writeln('Found Silver.');
ClickMouse(FindColourX, FindColourY, true);
if (FindGas(FindColourX, FindColourY)) then
begin
Mouse(650, 65, 10, 10, true);
while (k < 30) do
begin
SleepAndMoveMouse(500 + random(50));
CheckStuff;
k := k + 1;
end;
end;
SleepAndMoveMouse(2000 + random(100));
j := 0;
while (j < 12) do
begin
if (GetBlackChatMessage = 'You swing your pick at the rock.') or (GetBlackChatMessage = 'You manage to mine some silver.') then
begin
if (Verbose) then writeln('Mining...');
GameTab(5);
SleepAndMoveMouse(200 + random(50));
if (FindBitmapMaskTolerance(Mask, none, none, 574, 286, 612, 324, 150, 0)) then FindPick;
i := 0;
while (i < 12) do
begin
if (FindGas(FindColourX, FindColourY - 7)) then
begin
Mouse(650, 65, 10, 10, true);
while (k < 30) do
begin
SleepAndMoveMouse(100 + random(50));
CheckStuff;
k := k + 1;
end;
end;
if (GetBlackChatMessage = 'You manage to mine some silver.') then
begin
if (Verbose) then writeln('You Mined the Silver.');
j := 12;
break;
end;
CheckStuff;
if (FindGas(FindColourX, FindColourY)) then
begin
Mouse(650, 65, 10, 10, true);
while (k < 30) do
begin
SleepAndMoveMouse(500 + random(50));
CheckStuff;
k := k + 1;
end;
end;
SleepAndMoveMouse(500 + random(50));
i := i + 1;
end;
break;
end;
CheckStuff;
j := j + 1;
SleepAndMoveMouse(500 + random(50));
end;
end;
end;
SleepAndMoveMouse(50 + random(50));
end;
if (Verbose) then writeln('All done. Setting LOC to "GoToFurnace".');
if (not (Verbose)) then writeln('Our Inventory is full now. Let''s go to the furnace.');
Players[CurrentPlayer].Loc := 'GoToFurnace';
end;

procedure GoToFurnace;
begin
CheckStuff;
SetRun(true);
if (Verbose) then writeln('Journeying To Furnace...');
MakeCompass('w');
MakeCompass('n');
i := 0;
while (true) do
begin
CheckStuff;
if (FindColorTolerance(FindColourX, FindColourY, 8093052, 617, 98, 702, 163, 20)) then
begin
if (Verbose) then writeln('Found Mining (mf)');
Mouse(FindColourX, FindColourY, 5, 5, true);
if (Verbose) then writeln('Found Mining (sm)');
SleepAndMoveMouse(5000);
Flag;
break;
end else
begin
if (Verbose) then writeln('Looking For Mining (mf)');
Mouse(668, 109, 5, 5, true);
if (Verbose) then writeln('Looking For Mining (sm)');
SleepAndMoveMouse(5000);
Flag;
end;
if (i > 3) then break;
i := i + 1;
end;
while (true) do
begin
CheckStuff;
if (FindColorTolerance(FindColourX, FindColourY, 1458526, 627, 122, 673, 152, 23)) then
begin
if (Verbose) then writeln('Found Rocks (mf)');
Mouse(FindColourX, FindColourY, 5, 5, true);
if (Verbose) then writeln('Found Rocks (sm)');
SleepAndMoveMouse(5000);
Flag;
break;
end else
begin
if (Verbose) then writeln('Looking For Rocks (mf)');
Mouse(657, 101, 5, 5, true);
if (Verbose) then writeln('Looking For Rocks (sm)');
SleepAndMoveMouse(5000);
Flag;
end;
end;
if (Verbose) then writeln('Moving Down (mf)');
Mouse(657, 151, 5, 5, true);
if (Verbose) then writeln('Moving Down (sm)');
SleepAndMoveMouse(5000);
Flag;
if (Verbose) then writeln('Moving Down (mf)');
Mouse(657, 151, 5, 5, true);
if (Verbose) then writeln('Moving Down (sm)');
SleepAndMoveMouse(5000);
Flag;
while (true) do
begin
CheckStuff;
if (FindColorTolerance(FindColourX, FindColourY, 12161149, 566, 110, 710, 161, 25)) then
begin
if (Verbose) then writeln('Found Water (mf)');
Mouse(FindColourX, FindColourY, 5, 5, true);
if (Verbose) then writeln('Found Water (sm)');
SleepAndMoveMouse(5000);
Flag;
break;
end else
begin
if (Verbose) then writeln('Looking For Water (mf)');
Mouse(648, 151, 5, 5, true);
if (Verbose) then writeln('Looking For Water (sm)');
SleepAndMoveMouse(5000);
Flag;
end;
end;
CheckStuff;
if (Verbose) then writeln('Moving Down (mf)');
Mouse(657, 151, 5, 5, true);
if (Verbose) then writeln('Moving Down (sm)');
SleepAndMoveMouse(7500);
Flag;
CheckStuff;
if (Verbose) then writeln('Moving Down (mf)');
Mouse(632, 151, 5, 5, true);
if (Verbose) then writeln('Moving Down (sm)');
SleepAndMoveMouse(5000);
Flag;
if (Verbose) then writeln('Almost there...');
while (true) do
begin
CheckStuff;
//if (FindColorTolerance(FindColourX, FindColourY, 125939, 608, 59, 692, 115, 50)) then
if (FindBitmapMaskTolerance(Mask2, FindColourX, FindColourY, 593, 63, 659, 93, 150, 80)) then
begin
if (Verbose) then writeln('Moving To Furnace Room (mf)');
Mouse(FindColourX, FindColourY, 5, 5, true);
if (Verbose) then writeln('Moving To Furnace Room (sm)');
SleepAndMoveMouse(5000);
Flag;
if (Verbose) then writeln('If all went well, We are now at the furnace. changing LOC to "SmeltMySilver".');
if (not (Verbose)) then writeln('We are here! Let''s make some silver bars now!');
Players[CurrentPlayer].Loc := 'SmeltMySilver';
break;
end else
begin
if (Verbose) then writeln('Looking for Furnace Room (mf)');
Mouse(643, 98, 2, 2, true);
if (Verbose) then writeln('Looking for Furnace Room (sm)');
SleepAndMoveMouse(5000);
Flag;
end;
end;
end;

procedure SmeltMySilver;
begin
CheckStuff;
if (Verbose) then writeln('Beginning my smithing!!');
MakeCompass('e');
MakeCompass('w');
LowestAngle;
while (true) do
begin
CheckStuff;
if (FindColorTolerance(FindColourX, FindColourY, 595535, 155, 5, 431, 336, 12)) then
begin
MMouse(FindColourX, FindColourY, 0, 0);
if (copy(GetUpText, 0, 13) = 'Smelt Furnace') then
begin
if (Verbose) then writeln('Found the furnace. We''ll click on it now.');
Mouse(FindColourX, FindColoury, 5, 5, true);
SleepAndMoveMouse(1250);
Mouse(203, 403, 5, 5, false);
Sleep(750);
MMouse(206, 472, 5, 0);
Sleep(40);
Mouse(206, 472, 5, 0, true);
SleepAndMoveMouse(1500);
hitkeys(true);
if (Verbose) then writeln('We will now wait until there is no more ore.');
while (true) do
begin
CheckStuff;
if (GetBlackChatMessage = 'You have run out of silver ore to smelt.') then
begin
if (Verbose) then writeln('There is no more ore.');
break;
end;
SleepAndMoveMouse(1000);
end;
if (Verbose) then writeln('Congrats! All went well. Setting LOC to "SilverHolyize".');
if (not (Verbose)) then writeln('We are done making silver bars. Let''s make holy symbols now.');
Players[CurrentPlayer].Loc := 'SilverHolyize';
break;
end;
end;
end;
end;

procedure SilverHolyize;
begin
CheckStuff;
LowestAngle;
MakeCompass('s');
MakeCompass('w');
if (Verbose) then writeln('Transforming into Saradomin Symbols now!!!');
while (true) do
begin
if (FindColorTolerance(FindColourX, FindColourY, 595535, 155, 5, 431, 336, 12)) then
begin
if (Verbose) then writeln('Found the furnace, now we will do our job.');
UseItem(28);
MMouse(FindColourX, FindColourY, 5, 5);
Sleep(100);
Mouse(FindColourX, FindColourY - 15, 5, 5, true);
SleepAndMoveMouse(3000);
MMouse(92, 76, 5, 5);
Sleep(750);
Mouse(92, 76, 5, 5, false);
Sleep(500);
MMouse(65, 152, 1, 1);
Sleep(100);
Mouse(65, 152, 1, 1, true);
Sleep(750);
hitkeys(true);
if (Verbose) then writeln('Now we wait until we run out of silver bars.');
while (true) do
begin
if (GetBlackChatMessage = 'You have run out of silver bars.') then
begin
if (Verbose) then writeln('We have don''t have anymore silver bars.');
break;
end;
SleepAndMoveMouse(500);
end;
end else
begin
writeln('ERROR: Couldn''t find the furnace. Exiting...');
exit;
end;
if (Verbose) then writeln('All Symbols have been made! Changing LOC to "BankJog".');
if (not (Verbose)) then writeln('We have finished making symbols. Time to go to the bank.');
Players[CurrentPlayer].Loc := 'BankJog';
break;
end;
end;

procedure BankJog;
begin
CheckStuff;
HighestAngle;
MakeCompass('n');
SetRun(true);
if (Verbose) then writeln('Moving to bank now...');
Mouse(648, 147, 5, 5, true);
SleepAndMoveMouse(2000);
Flag;
if (Verbose) then writeln('Looking for Bank Emblem...');
while (true) do
begin
if (FindColorTolerance(FindColourX, FindColourY, 4706274, 627, 75, 661, 118, 20)) then
begin
if (Verbose) then writeln('Found it!');
Mouse(FindColourX - 8, FindColourY, 2, 2, true);
SleepAndMoveMouse(1000);
Flag;
break;
end;
SleepAndMoveMouse(1000);
end;
if (Verbose) then writeln('Arrived at bank. Setting LOC to "StoreInBank".');
if (not (Verbose)) then writeln('We are here. We''re going to store our collectings now.');
Players[CurrentPlayer].Loc := 'StoreInBank';
end;

procedure StoreInBank;
begin
CheckStuff;
if (Verbose) then writeln('Let''s store our silver in the bank now.');
MakeCompass('w');
LowestAngle;
OpenBankQuiet('akb');
SleepAndMoveMouse(2000);
Mouse(710, 444, 5, 5, false);
Sleep(100);
Mouse(710, 444, 2, 2, true);
SleepAndMoveMouse(2000);
CloseBank;
if (InvCount > 1) then
begin
writeln('There is still something left in your inventory.');
ItemCount := ItemCount + 1;
end;
if (Verbose) then writeln('Completely Done Now! Going back to LOC "GoToMine"...');
if (not (Verbose)) then writeln('We have completely finished a round! Let''s do another...');
Players[CurrentPlayer].Loc := 'GoToMine';
end;

procedure MyBitmaps;
begin
Mask := BitmapFromString(36, 36, 'z78DAEDD8C10900200C04C196' +
'AC22FD97E45710443F428ED90E86FB84544992FE3596F24419BA7' +
'111571711572F51AA8B888BC852962272FB59CA5296E222E27A75' +
'A57E96AA79A9AE5D57928E4DF36DFB22');
Mask2 := BitmapFromString(11, 10, 'z78DA3330000137B28001865' +
'E03A2012ED34805A3260C4E13280100D8688F59');
end;

begin
CharsNPC := LoadChars2(AppPath + 'Fonts\CharsNPC\');
box := IntToBox(224, 135, 290, 207); // Box needed when mining to block your character
SetupSRL; // Initialize SRL
Configure; // Run Configuration at beginning
MyBitmaps;
GetAllLevels; // Just for reports
ShowReport;

while (true) do
begin
if (Players[0].Loc = 'FirstRun') then FirstRun;
if (Players[0].Loc = 'GoToMine') then GoToMine;
if (Players[0].Loc = 'GetMySilver') then GetMySilver;
if (Players[0].Loc = 'GoToFurnace') then GoToFurnace;
if (Players[0].Loc = 'SmeltMySilver') then SmeltMySilver;
if (Players[0].Loc = 'SilverHolyize') then SilverHolyize;
if (Players[0].Loc = 'BankJog') then BankJog;
if (Players[0].Loc = 'StoreInBank') then StoreInBank;
Collected := Collected + (27 - ItemCount);
if (not (Error)) then Rounds := Rounds + 1;
GetAllLevels;
ShowReport;
if (MaxRounds > Rounds) then exit;
if (Error) then
begin
if (LogOutOnError) then Logout;
exit;
end;
end;
end.

{.Script Info:
# ScriptName = Al Kharid SilverCrafter
# Author = Nontitle
# Description =
# Version = 0.85
# Date = June 30, 2007
# Comments =
/Script Info}

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

Bobarkinator

2007-07-07 11:31:22

You use a lot of coord clicking. I think I am going to vote no because of that. Basically the whole script is coord clicking.

IEatJ00erBaybees

2007-07-07 12:17:43

Exactly what Bob said! Plus, you botched the multiplayer :p. It's supposed to be it's own procedure.

About clicking coords, you are going to have to use RadialWalking to walk to places.

Plus, you used MoveMouseSmooth.

From: Your Sig
Give it a try, it actually works really well.


So you've used it. You will probably get banned from RS on the character you used it on. =\

Good idea, but try again. Good luck!

shaunthasheep

2007-07-07 12:19:26

Looks like infact this is your script,
but for the reason bobbarkinator mentioned, I'm voting no.

NxTitle

2007-07-07 12:37:56

But I'm not sure how I would be able to use RadialWalk in Al Kharid, because the only colour that's the same from the bank to the mine is the ground, and even then, it changes when you get to the mine.

I'll still look into what I can do differently in the future, though.

shaunthasheep

2007-07-07 12:51:54

  • You can add FindSymbol to make you walking better.
  • You don't have correct Multiplayer(never will switch players), need NextPlayer(True)//if current player can run another loop, NextPlayer(False) //if current player is lost or can't run anymore
  • You don't have full antirandom support. One thing you need is FindFight (Rock Golem will kill you)
  • SetUpSrlMining; should be called at the beginning of the script.
  • Not enough failsafes. What if it doesn't find certain stuff?

jhildy

2007-07-07 12:59:01

you can symbol walk from bank till road and Radialwalk the road them use Dtms.

Santa_Clause

2007-07-07 18:59:52

Dang. I didn't look through his script when I told him to apply. I was under the impression that an SRL script would use RadialWalk. Sorry, no from me.

NxTitle

2007-07-07 19:32:50

well, that's 4 no's and 1 yes…
Is there any way to cancel an application? I still have to work on my scripting. I will come back and apply later.
I know what I need to know for SCAR, but not for SRL.