SRL Archive - Archive

dweg - SRL Member Application


dweg

2011-12-17 12:49:02

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


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?



What is your general programming knowledge?
Near fluent html and php, Visual Basic, partial C++, partial Java, some Arduino programming and linux/android kernel compiling and distro builds/rebuilds, a little bit of flash coding and animation here and there, and finally in the process of learning pascal/simba :)


Are you a member of any other communities?
Used to be a part of powerbot and RsBuddy… seeing how they are not exactly re-developing, I'm no longer active there.


Tell us about yourself…
From: dweg
I am a high school student in the USA, coming here from Europe (but let's keep the specifics out xD). I have a major interest in developing any software and hardware aiding automation of people's lives. I regularly participate in a robotics club, building and coding prototypes. Not too long ago, I finished a robot to pick up and stack rings for a local VEX competition. Anyways, I also have a LOT of interest in RC - cars, bots, airplanes, you name it. I mod, build, tune and recreate many models. I also have a very high interest in modifying mobile phones, by building and flashing new roms, especially windows mobile 6.5 and now android 2.3 roms and above for my htc touch pro and new acquired galaxy s. I have a passion for learning new trends of technology, despite the fact that I often fail at them.



Please show us one (or multiple) of your scripts.
{*******************************************************************************
Revised Granite
Created previously by ForgotMyName
Fixed for post nuke and urn support by Dweg

This script will powermine granite in the kharidian desert quarry.
YOU NEED A WATER TIARA. THIS IS NOT FOR PURES.
A REVISED EDITION WILL LATER BE AVAIABLE WITH MORE UNIVERSAL SUPPORT.

Setup:
Adjust constants as necessary.
Fill in account info under DeclarePlayers.
Start logged out in the northern part of the desert quarry.
Wear desert clothing.
Wear an enchanted tiara. (no waterskins or humidify support due to URNS)
Keep everything you do not want dropped (picks, runes, skins, etc)
within the first 4 rows of your inventory.

SCRIPT IS STILL IN BETA, KEEP AN EYE AN IT, IT CAN MESS UP!
BY USING IT, YOU ASSUME ALL RESPONSIBILITIES FOR YOUR ACCOUNT!
I AM NOT RESPONSIBLE FOR ANY BANS OR LOSSES THAT OCCUR!

Revision history:

1: Initial release.
2: Revision by Dweg 12/17/11 and more public release.
*******************************************************************************}

program GraniteMiner2;
{$DEFINE SMART}
{$i SRL\SRL.scar}

const
World = 33;
Members = false;
Signed = true;
NumbOfPlayers = 1; //single player script
StartPlayer = 0; //do not change these lines
RockColor = 8897009; //granite color (careful, no fence/dropped ore colors)
RockTol = 10;
RockRadius = 5;
MouseTol = 2;
BitmapTol = 3;
MineWait = 7000;
UseHumidify = False; //MUST keep false due to urns support
UsingUrns = True;
RunLimit = 120; //time in mins to run

var
HumidifyBitmap: Integer;
ScriptStartMark: Integer;
LastHumidifyMark: Integer;

{*******************************************************************************
procedure DeclarePlayers;
By: SRL
Description: SRL's Player Setup
*******************************************************************************}
procedure DeclarePlayers;
var i:integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['ithril', 'oal', 'une', 'oins'];
with Players[0] do
begin
Name := ''; //Player username.
Pass := ''; //Player password.
Nick := ''; //Player nickname - 3-4 letters of Player username.
Active := True;
end;
end;

{*******************************************************************************
procedure SetUpScript
By: ForgotMyName
Description: Initialize SRL, script data, etc
*******************************************************************************}
procedure SetUpScript;
begin
HumidifyBitmap := BitmapFromString(15, 8, 'meJxNj7sNgEAMQ0NxC9DSsBVr0DM' +
'EkyBdzQD0t9AJS0+yLLlInJff6O291+fcpOvY51fS6E0xpqqY+MCQ' +
'ipH5NGkB9goGuj1Nt3h1LiLVIsktiuGRD/DAfI35xDmZEqYfATZp3' +
'ilV7klyqUreH/0DU50c');
MarkTime(ScriptStartMark);
MarkTime(LastHumidifyMark);
ActivateClient;
MakeCompass('n');
SetAngle(True);
end;

{*******************************************************************************
procedure TakeDownScript
By: ForgotMyName
Description: Frees resources, cleans up
*******************************************************************************}
procedure TakeDownScript;
begin
FreeBitmap(HumidifyBitmap);
end;

{*******************************************************************************
procedure BailOut
By: ForgotMyName
Description: If we get here, something horrible broke. Log out, terminate.
*******************************************************************************}
procedure BailOut;
begin
Logout;
Logout;
TerminateScript;
end;

{*******************************************************************************
function FindRock: Boolean
By: ForgotMyName
Description: Find a granite rock and mouse over it
Returns: True if rock found and mouse at rock, false if failed
*******************************************************************************}
function FindRock: Boolean;
var RockPoints: TPointArray;
RockSplits: T2DPointArray;
I, H, X1, Y1: Integer;
begin
SetColorToleranceSpeed(1);
if not (FindColorsSpiralTolerance(MSCX, MSCY, RockPoints, RockColor, MSX1, MSY1, MSX2, MSY2, 3)) then
begin
WriteLn('Could not find rock color on mainscreen!');
Result := False;
Exit;
end;
RockSplits := TPAtoATPA(RockPoints, RockRadius);
H := High(RockSplits);
for I := 0 to H do
begin
MiddleTPAEx(RockSplits[I], X1, Y1);
MMouse(X1, Y1, MouseTol, MouseTol);
Wait(50 + Random(100));
if IsUpText('ine') then
begin
Result := True;
Exit;
end;
end;
Result := False;
end;

{*******************************************************************************
function MineRock: Boolean
By: ForgotMyName
Description: Mine a rock, click and wait
Precondition: Mouse is over the rock we want
Returns: True if we believe we succeeded, false otherwise
*******************************************************************************}
function MineRock: Boolean;
var X1, Y1, X2, Y2, X3, Y3, ClickedTime: Integer;
begin
GetMousePos(X1, Y1);
MMouse(X1, Y1, 3, 3);
Wait(50 + Random(100));
if not IsUpText('ine') then
begin
Result := False;
Exit;
end;
GetMousePos(X2, Y2);
Mouse(X2, Y2, 0, 0, True);
Flag;
Wait(150 + Random(100));
MarkTime(ClickedTime);
repeat
Wait(500 + Random(100));
if (TimeFromMark(ClickedTime) > MineWait) then
begin
Result := False;
Exit;
end;
until InChat('quarry');
Result := True;
Wait(200 + Random(500));
end;

{*******************************************************************************
procedure ClearSpace;
By: ForgotMyName & Dweg
Description: Clear inventory space, drop everything in last 2 rows, teleport any full urns
*******************************************************************************}
procedure ClearSpace;
var FUrns,x,y,I: Integer;
begin
for I := 21 to 28 do
begin
DropItem(I);
Wait(50 + Random(100));
end;
begin
Wait(50 + Random(100));
FUrns := DTMFromString('mFQEAAHic42VgYOAHYhYg5gJiMSCWAWI5IJYGYhGoPAcDAsDUswExIxAzATE7EPMBsThUPwwLQ8VBICUhAaqaeMzKQDpgJAOjAAAhxgLM');
if FindDTM(FUrns,x, y,550, 200, 740, 470) then
begin
MouseBox(x-5, y+5, x+5, y+15, 1);
Wait(450 + Random(100));
MouseBox(207, 396, 310, 455, 1);
end;
end;
Wait(250 + Random(100));
end;

{*******************************************************************************
procedure LunarHumidify;
By: ForgotMyName
Description: Cast humidify
*******************************************************************************}
procedure LunarHumidify;
var X1, Y1: Integer;
begin
GameTab(tab_Magic);
Wait(50 + Random(100));
if not FindBitmapToleranceIn(HumidifyBitmap, X1, Y1, MIX1, MIY1, MIX2, MIY2, BitmapTol) then
begin
Writeln('Could not find Lunar humidify!');
end;
MMouse(X1, Y1, MouseTol, MouseTol);
if not IsUpText('umid') then
begin
Writeln('Humidify uptext missing!');
end;
Mouse(X1, Y1, MouseTol, MouseTol, True);
Wait(6000 + Random(500));
end;

{*******************************************************************************
procedure RecenterMine;
By: ForgotMyName
Description: Walk to mine center, failsafe, then move to north rocks
*******************************************************************************}
procedure RecenterMine;
var X1, Y1: Integer;
begin
MakeCompass('n');
SetAngle(True);
if not FindSymbol(X1, Y1, 'mine') then
begin
Writeln('Could not find mining symbol!');
BailOut;
end;
Mouse(X1, Y1, MouseTol, MouseTol, True);
Flag;
Wait(1000 + Random(500));
//the northern rocks are better
//more availability, less stickage
//todo: better than blind click?
Mouse(630, 60, MouseTol, MouseTol, True);
Flag;
Wait(1000 + Random(500));
end;

{*******************************************************************************
procedure MainLoop;
By: ForgotMyName
Description: Main script loop
*******************************************************************************}
procedure MainLoop;
var Health: String;
MinedNow, ToMine, FindFails: Integer;
Done: Boolean;
begin
repeat
FindNormalRandoms;
GetMMLevels('health', Health);
if (Health = 'Red') or (Health = 'Orange') then
begin
Writeln('Dying!');
BailOut;
end;
if InvCount > 18 then
begin
ClearSpace;
end;
if (UseHumidify and (TimeFromMark(LastHumidifyMark) > (10 * 60000))) then
begin;
LunarHumidify;
MarkTime(LastHumidifyMark);
end;
MinedNow := 0;
FindFails := 0;
ToMine := 5 + Random(3);
repeat
FindNormalRandoms;
if FindRock then
begin
MineRock;
end
else begin
FindFails := FindFails + 1;
end;
if FindFails > 3 then
begin
RecenterMine;
end;
MinedNow := MinedNow + 1;
until MinedNow >= ToMine;
until TimeFromMark(ScriptStartMark) > (RunLimit * 60000);
Writeln('Done!');
BailOut;
end;

{... and finally ...}
begin
Smart_Signed := Signed;
Smart_Server := World
Smart_SuperDetail := False;
SetUpSRL;
DeclarePlayers;
LoginPlayer;
SetUpScript;
Wait(2000 + Random(500));
MainLoop;
LogOut;
TakeDownScript;
end.
// [url]http://villavu.com/forum/showthread.php?t=69388[/url]
//My granite miner, revised from a previous script by ForgotMyName. Took his base and built in some epic, modern day features. This is all the work I have really done in Simba/SCAR that is significant and recent. I've left for a very long time since other communities had already premade scripts and more stable bots. Around 2006-2007, I've made multiple scripts, but I don't have any work/sources to show due to reformats of my computers and failure to back up my scripts.

//(unrelated previous php works)
//http://img88imageshack.p4o.net/account26.png
//Yes, I know that's not a legit looking link, but that is my IP showing picture (and oh gosh did it scare a few people here xD)

Sir R. M8gic1an

2011-12-17 13:01:54

Looking at the credits this is mostly by ForgotMyName, only a small edit being yours…

You need your own script to get members, sorry.

-RM

Sabzi

2011-12-17 13:02:29

The one thing I am constantly seeking for in these new scripts(and they usually lack off) are TPAs. You got those!
I am holding my vote however, just jumped in a bit, don't have time to check everything properly which may end up in bad voting.

But I like the headers.

And based on your "stories" you should have belonged to srl long ago :p.

EDIT: I am not familiar with current scripts out :/, this is not him? That's bad if it's not, really bad.

Sir R. M8gic1an

2011-12-17 13:04:58

And I don't suppose you got permission from the previous author to re-release his work..?

-RM

dweg

2011-12-17 13:24:43

He released the script base and left. The script was broken in its previous state, running approx 10 minutes before stopping.

I edited it and have gotten 3-4hr+ runtimes with it.

I have little time on my hands at the moment to create a new script from scratch until roughly january.. 5th?

As I have said before, I made scripts previously, around 06-07, I knew good old SCAR and later SCAR Divi, but I can't dig any up since I didn't pastebin them or back them up.

Kyle Undefined

2011-12-17 13:52:18

I agree with RM. You need to create your own script.

Harry

2011-12-17 17:32:14

Lol then you rage in the public section because we don't "acknowledge" you as being a good scripted, even though this isn't 100% your own work?

Don't play the bloody pity game and maybe you will get in next time - if you make a nice script that's mostly your own work.

BraK

2011-12-17 18:18:47

Pretty sure this is a solid no. Please create a script utilizing the SRL library and Apply again.