SRL Archive - Archive

TheGodfather - SRL Member Application Form


TheGodfather

2007-03-15 23:00:17

<!– BEGIN TEMPLATE: formanswers –>
TheGodfather - SRL Member Application Form
TheGodfather

What is the meaning to life?

The Meaning to life is to script all day and auto all night xD


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


Programming Knowledge
Learning Delphi

Other Communitys
None, this community is the best

How Long have You Played Runescape
since 2002

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

Hey,
Recently I've gotten interested in programming. I'm a bit a nerd when it comes to computers, and I'm pretty great with people. I got interested in macro-ing when I saw a macroer for the first time, and I asked a friend "how does he solve randoms, I'd expect Jagex to screw them with that."
His answer "Some Really great code he got". That got me interested. I had no idea macro's can beat Jagex's anti randoms. I decided to google this stuff, and came up with SCAR. First forum I went to was Sythe, but I thought that was shit, becuase of the horrible community. Scar was still interesting, becuase I thought it'd be a great place to start a young "programming career". I'd love to post scripts for the community for free, and I love the idea of SRL. I think if you guys accept me, you couldn't go wrong with that becuase then I belive I'd be a very helpful person to the community, and i think I'd benifit from this later in life.

Thanks for reading,
- TheGodfather

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

program PowerMiner;
{.include SRL\SRL.scar}
{.include SRL\SRL\Skill\Mining.scar}
// Note: Script supports only copper, tin, iron, or coal. . .

{Credits: Code arranged by TheGodfather }

Const
NumberOfUsers = 3;
StartPlayer = 0;
Version ='Alpha';
//=============================//
RockTime = 6; // Max seconds per rock [fail safe]
LoadTime = 8; // Max minutes per load [fail safe]
RunDirect = 'E'; // Choose it right ;)
MultiColor = true; // get multiple rock colors from auto-color [reccomended]

{**************** Player Declaration ****************}
Procedure DeclarePlayers;
Begin
HowManyPlayers := NumberOfUsers;
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := StartPlayer;
//******** Setup Lines for multi accounts ********//
Players[0].Name :=''; // Rs username
Players[0].Pass :=''; // Rs password
Players[0].Nick :=''; // 2 - 4 consecutive letters of username
Players[0].Active:= True;
Players[0].Integer1:= 2; // Number of loads to mine
Players[0].String1:='copper'; // Rock mining (lowercase letters)
Players[0].Boolean1:= False; // Is the pick wielded??

Players[1].Name :=''; // Rs username
Players[1].Pass :=''; // Rs password
Players[1].Nick :=''; // 2 - 4 consecutive letters of username
Players[1].Active:= False;
Players[1].Integer1:= 2; // Number of loads to mine
Players[1].String1:='iron'; // Rock mining (lowercase letters)
Players[1].Boolean1:= False; // Is the pick wielded??

Players[2].Name :=''; // Rs username
Players[2].Pass :=''; // Rs password
Players[2].Nick :=''; // 2 - 4 consecutive letters of username
Players[2].Active:= False;
Players[2].Integer1:= 2; // Number of loads to mine
Players[2].String1:='iron'; // Rock mining (lowercase letters)
Players[2].Boolean1:= False; // Is the pick wielded??
//************ End of the Setup Lines ************//
Writeln( IntToStr ( HowManyPlayers ) + ' Players' );
End;

{******* The Ore Colors ********}
Const
CopperCol = 4286610;
TinCol = 9277080;
IronCol = 2370383;
CoalCol = 2834753;
{****** End of Ore Colors ******}

// Do NOT touch Below unless you know what you are trying to do
var RockColT, RockCol1, RockCol2, RockCol3, CCX, CCY, loadM, loadD: integer;
RockLoad, LoadMark, LoadMax, MineMark: LongInt;

{******** Setup Rock Mined ********}
Procedure SetRockColor;
Begin
Case LowerCase(Players[CurrentPlayer].String1) Of
'copper' : RockColT := CopperCol;
'tin' : RockColT := TinCol;
'iron' : RockColT := IronCol;
'coal' : RockColT := CoalCol;
End;
End;

{******** Setup Values ********}
Procedure SetVariables;
Begin
LoadMark := LoadTime * 1000 * 60;
UseBoxSolver := True;
Players[CurrentPlayer].Integer1 := LoadD;
Players[CurrentPlayer].Boolean1 := EquipPick; Wait(10);
NickNameBMP:= CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
End;


{*******************************************************************************
Function GetRockColors: Boolean;
By: TheGodfather
Description: Gets three rock colors of the rock desired to mine
*******************************************************************************}
Function GetRockColors: Boolean;
var rmX, rmY, FCAttempts: integer;
Begin
FCAttempts := 0;
If MultiColor = False Then Exit;
If MultiColor = True Then
Begin
Repeat
Wait(250 + random(50));
If(not(LoggedIn))then Exit;
If FindObj(rmX, rmY, 'ine',RockColT, 4) or
FindObj(rmX, rmY, 'ocks', RockColT, 4)
then begin
MMouse(rmX, rmY, 2, 2); Wait(50);
RockCol1 := GetColor(rmX + 3, rmY + 3);
RockCol2 := GetColor(rmX + 3, rmY - 3);
RockCol3 := GetColor(rmX - 3, rmY - 3);
Writeln('Rock Colors '+IntToStr(RockCol1)+' '
+IntToStr(RockCol2)+' '+IntToStr(RockCol3));
Result := True;
End;
If not FindObj(rmX, rmy, 'ine', RockColT, 4)
then begin
Result := False;
Writeln('Find rock failed, trying again');
FCAttempts := FCAttempts + 1; end;
If(FCAttempts > 1)then begin
Writeln('Rock Color[s] Not Found');
LogOut;
end;
Until(Result = True)or(LoggedIn = False)or(FCAttempts > 1)
End;
End;
{************************ Rock Finding ************************}
Function FindRockToMine: Boolean; // ****by TheGodfather
var tcx, tcy, tpx, tpy, Tries: integer;
Begin
Tries := 0;
Repeat FindNormalRandoms; Wait(1250);
If(not(LoggedIn))then Exit;
If(MultiColor = True)then begin
if(FindObjMulti('ine', RockCol1, RockCol2, RockCol3, 4))and(LoggedIn = True)then
CCX := TCX; CCY := TCY;
GetMousePos(tpx, tpy);
wait(20 + random(5));
Result := True; end;
If not(FindObjMulti('ine', RockCol1, RockCol2, RockCol3, 4))or
FindObj(tcx, tcy, 'ine', RockColT, 4)
then begin
Tries := Tries + 1; Result := False end;
If(MultiColor = False)and(LoggedIn = False)then begin
FindObj(tcx, tcy, 'ine', RockColT, 4) end;
Until(LoggedIn = False)or(Result = True)or(Tries > 2)
End;


Procedure WaitForOre; // ****By TheGodfather
var SwingMark, MaxMine: LongInt;
Begin
MaxMine := RockTime * 1000;
If(InChatMulti('ur pick', 'he rock', 'ick at'))
Then Begin
MarkTime(SwingMark);
Repeat
Wait(400 + random(100));
FindTalk;
Until(InChatMulti('ine some', 'age to', 'manage'))or(TimeFromMark(SwingMark)>(MaxMine));
End;
End;

{*******************************************************************************
Function AntiGasRock: Boolean;
By: TheGodfather
Description: Performs all SRL mining anti-gas functions
*******************************************************************************}
Function AntiGasRock: Boolean; // ****Arranged by TheGodfather
var AG: integer;
Begin
For AG := 1 to 3 Do
Begin
Case AG Of
1: If GasFound(CCX, CCY) Then Result := True;
2: If FindGas(CCX, CCY) Then Result := True;
3: If GasCheck(CCX, CCY) Then Begin Result := True;
Writeln('Gas maybe spotted!');
Mouse(648, 78, 0, 0, true); Wait(200);
FTWait(20);
End;
End;
End;
End;


Procedure MineRock;
Begin MarkTime(MineMark);
Repeat
If(LoggedIn = False)Then Exit;
If(LoggedIn = True)and(FindRockToMine)then begin
If not AntiGasRock then
Mouse(CCX, CCY, 4, 4, true);
Wait(20 + random(15));
FindPick; Wait(200 + random(50));
AntiGasRock;
wait(10);
WaitForOre; end;
Until(InvFull)or(LoggedIn = False)or(TimeFromMark(MineMark)>=(LoadMax))
End;






begin
SetupSRL;
ClearDebug;
Writeln('Using Godfather''s powerminer script vers. '+(Version));
DeclarePlayers;
SetupSRLmining;
ActivateClient;
MouseSpeed := 5 + random(2);
wait(2000);

If (LoggedIn = False) Then LoginPlayer; FTWait(5);
If (LoggedIn = True) Then FTWait(5);
SetVariables; Wait(250);
GetRockColors;
FindPickHeadColor;
Repeat
Repeat
If(LoggedIn = True)Then Begin
MineRock; Wait(2000 + random(500)) FindNormalRandoms;
If (LoggedIn = True) and (InvFull) and (EquipPick = False) then
FindTalk;
DropTo(2, 28);
If (LoggedIn = True) and (InvFull) and (EquipPick = True) then
FindTalk;
DropTo(1, 28); LoadM := LoadM + 1; end;
Until(LoadM = LoadD)or(LoggedIn = False)or(TimeFromMark(MineMark)>(LoadMark))
If (LoggedIn = True) then LogOut; wait(3500 + random(2000));
If (LoggedIn = False) then
NextPlayer(False);
SetVariables;
FindPickHeadColor;
Until(False);
end.

EDIT:
PS: If you vote no, please post why and how I can improve, thanks

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

Boreas

2007-03-15 23:03:21

Looks good. Would look better with proper standards :p

JAD

2007-03-15 23:13:11

I don't like how you have things like this in your code:

Mouse(CCX, CCY, 4, 4, true); Wait(20 + random(15)); FindPick; Wait(200 + random(50));

it would look a LOT better like this:

Mouse(CCX, CCY, 4, 4, true);
wait(20 + random(15));
FindPick;
Wait(200 + random(50));

it looks a lot more neat like that if you ask me. I'm on the fence with this one, not sure if I'm going yes or no. gonna wait and see what some other people say before voting.

TheGodfather

2007-03-15 23:15:23

Yeah I thought about that, but at the time I was making it I didn't want to waste space for some reason xD.

Im sooo nervous!!

JAD

2007-03-15 23:21:45

no need to be nervous, you seem to know how to script.. :) I just am not sure its good enough to be an SRL member yet. best regards to you in scripting regardless of the results of this application though :)

Boreas

2007-03-15 23:23:47

Fix one command per line and the indenting so I can read it please.

TheGodfather

2007-03-15 23:31:37

hope I fixed it good enough for ya

tylanbo

2007-03-17 03:13:22

Instead of this…

Procedure WaitForOre; // ****By TheGodfather
var SwingMark, MaxMine: LongInt;
Begin
MaxMine := RockTime * 1000;
If(InChatMulti('ur pick', 'he rock', 'ick at'))
Then Begin
MarkTime(SwingMark);
Repeat
Wait(400 + random(100));
FindTalk;
Until(InChatMulti('ine some', 'age to', 'manage'))or(TimeFromMark(SwingMark)>(MaxMine));
End;
End;

Try making it more like this…


Procedure WaitForOre; // ****By TheGodfather
var
SwingMark, MaxMine: LongInt;
Begin
MaxMine := RockTime * 1000;
If(InChatMulti('ur pick', 'he rock', 'ick at')) Then
Begin
MarkTime(SwingMark);
Repeat
Wait(400 + random(100));
FindTalk;
Until(InChatMulti('ine some', 'age to', 'manage')) or (TimeFromMark(SwingMark)>(MaxMine));
End;
End;
Try and pick up the format used in that revision, this format helps the script to be more legible to other people. While it may seem trivial, it is helpful to those who review numerous scripts.
I'll take a look at your script when you patch it up, too lazy to do otherwise…

Pentti

2007-03-17 03:25:39

I voted yes. But you still have something to learn in scripting and SRL forums is just right place for learning it. :)

JAD

2007-03-17 10:13:13

I'm going to have to vote no i think, due to the fact that I don't like your standards and I don't like how you organized your script at all, the standards are pretty bad dude :p

m0u53m4t

2007-03-17 10:29:47

Im voting yes. You know what you're doing and with some help and guidance from SRL, you'll make a great scripter.

Hell, thats way better than my first script!

TheGodfather

2007-03-17 13:30:52

Thanks for the reasonable comments guys. I appreciate them.

Bobarkinator

2007-03-17 15:02:30

It's a good script but poor standards so I'm voting yes because standards are easy to fix if you apply yourself to it.

tylanbo

2007-03-17 15:23:43

Ok, I looked over your script, looks pretty good :)

I didn't before because it was 2 in the morning lol :p
I think I will give you a yes, like bobarkinator said standards are easy to learn.

TheGodfather

2007-03-17 16:42:18

Thanks for the votes guys :)

WT-Fakawi

2007-03-17 17:05:48

Accepted.