blackfire553
2011-06-17 15:00:21
How Long have You Played Runescape?
6 Year(s)
Are you affilated in anyway with Jagex LTD?
Yes, i agreed to their TOS
Were you Referred to SRL?
What is your general programming knowledge?
Java CS1 course, a little OpenGL (LWGJL) in Java, taking a C++ course right now
Are you a member of any other communities?
Society
Tell us about yourself…
Please show us one (or multiple) of your scripts.
This is a WIP, but i'm working on a different script and figured maybe i could be a member.
6 Year(s)
Are you affilated in anyway with Jagex LTD?
Yes, i agreed to their TOS
Were you Referred to SRL?
What is your general programming knowledge?
Java CS1 course, a little OpenGL (LWGJL) in Java, taking a C++ course right now
Are you a member of any other communities?
Society
Tell us about yourself…
From: blackfire553
I am a weldor, full time student, part time minimum wage slave. I like bodybuilding (mid 1970s) but as a sport contemporary bodybuilding is ruined. I have a technician class amateur radio license, upgrading to general class at Defcon this year.
Please show us one (or multiple) of your scripts.
This is a WIP, but i'm working on a different script and figured maybe i could be a member.
program FighterScript;
{$DEFINE SMART}
{$i SRL/SRL.scar}
{$i srl/srl/misc\stats.simba}
{$i Reflection\Reflection.Simba}
(*
Items:
Bones - 526
*)
const
SRL_STATS_USERNAME = 'Anonymous';//SRL Stats username
SRL_STATS_PASSWORD = 'anon1337';//SRL Stats password
SMART_WORLD = 37;//World
SMART_MEMBER = false;//Members
SMART_SIGNED_CLIENT = true;//Signed/unsigned
SMART_SUPER_DETAIL = false;//Super detail
var
Me : TMe;
procedure DeclarePlayers;
begin
HowManyPlayers := 4;
CurrentPlayer := 2;
NumberOfPlayers(HowManyPlayers);
//------------------------------------------------------------------------------
Players[0].Name := '';//Username
Players[0].Pass := '';//Password
Players[0].Active := False;//Use this character
Players[0].Strings[2] := 'Goblin';//NPC name
Players[0].Booleans[0] := true;//Pick/bury up bones
Players[0].Integers[0] := 5;//Ground item find tolerance
//------------------------------------------------------------------------------
Players[1].Name := '';//Username
Players[1].Pass := '';//Password
Players[1].Active := False;//Use this character
Players[1].Strings[2] := 'Goblin';//NPC name
Players[1].Booleans[0] := false;//Pick/bury up bones
Players[1].Integers[0] := 5;//Ground item find tolerance
//------------------------------------------------------------------------------
Players[2].Name := '';//Username
Players[2].Pass := '';//Password
Players[2].Active := True;//Use this character
Players[2].Strings[2] := 'Goblin';//NPC name
Players[2].Booleans[0] := false;//Pick/bury up bones
Players[2].Integers[0] := 5;//Ground item find tolerance
//------------------------------------------------------------------------------
Players[3].Name := '';//Username
Players[3].Pass := '';//Password
Players[3].Active := False;//Use this character
Players[3].Strings[2] := 'Goblin';//NPC name
Players[3].Booleans[0] := false;//Pick/bury up bones
Players[3].Integers[0] := 5;//Ground item find tolerance
//------------------------------------------------------------------------------
end;
procedure PickUpBones;
var
BonesOnGround : TGroundItemArray;
BonesPoint : TPoint;
i : integer;
begin
if not (LoggedIn) then
Exit;
BonesOnGround := GetItemsNear(Players[CurrentPlayer].Integers[0]);
For i := 1 to high(BonesOnGround) do
begin
if R_InvFull then
Exit;
if BonesOnGround[i].ID = 526 then
begin
BonesPoint := TileToMS(BonesOnGround[i].Tile,2);
Mouse(BonesPoint.x,BonesPoint.Y,1,1,false);
if ChooseOption('ake Bones') then
begin
stats_IncVariable('Bones (Collected)',1);
writeln('got bones');
wait(2000);
end;
end;
end;
end;
procedure BuryBones;
var
i : integer;
begin
if not (LoggedIn) then
Exit;
For i := 1 to 28 do
begin
if (GetItemIDAt(i) = 526) then
begin
R_ClickItem(i,true,'');
stats_IncVariable('Bones (Burried)',1);
wait(500+random(400));
end;
end;
end;
function GetFight : boolean;
var
NPCs : TNPCArray;
NPCPoint : TPoint;
i : integer;
begin
NPCs := GetAllNPCs(false);
For i := 0 to high(NPCs) do
begin
if (NPCs[i].Interacting = -1) and (NPCs[i].Name = Players[CurrentPlayer].Strings[2]) then
begin
NPCPoint := TileToMS(NPCs[i].Tile,NPCs[i].Height);
if (NPCPoint.x >= 0) and (NPCPoint.y >= 0) then
begin
NPCs := GetAllNPCs(false);
NPCPoint := TileToMS(NPCs[i].Tile,NPCs[i].Height);
Mouse(NPCPoint.x,NPCPoint.y,1,1,false);
ChooseOption('ttack');
writeln(NPCs[i].Name)
writeln(IntToStr(NPCs[i].ID));
wait(2000);
Me := GetMe;
if (Me.Interacting <> -1) then
begin
writeln('Got a fight');
Result := true;
Exit;
end;
end;
end;
end;
end;
procedure Fight;
var
Tries : Integer;
begin
if not (LoggedIn) then
Exit;
if Me.interacting = -1 then
begin
writeln('failed to get a fight');
Exit;
end;
Tries := 3;
repeat
Tries := Tries - 1;
wait(1000);
Me := GetMe;
If (Me.Interacting <> -1) then
begin
Tries := 3;
end;
until(Tries = 0);
if Players[CurrentPlayer].Strings[2] = 'Goblin' then
stats_IncVariable('Goblins Killed',1);
writeln('Fight complete');
end;
procedure FindRandoms;
begin
if not (LoggedIn) then
Exit;
writeln('Checking for randoms');
if FindNormalRandoms then
begin
writeln('Solved a random event');
Exit;
end;
end;
procedure AntiBan;
begin
case random(100) of
0:BoredHuman;
1:RandomRClick;
2:HoverSkill('Attack',False);
3:HoverSkill('Strength',False);
end;
wait(1000);
end;
procedure CheckHP;
begin
if not (LoggedIn) then
Exit;
writeln('Checking HP');
if (HPPercent < 50) then
begin
If not (IsResting) then
SetRest;
repeat
if not (LoggedIn) then
Exit;
writeln('Waiting for HP');
FindRandoms;
AntiBan;
wait(20000);
until(HPPercent > 80);
end;
end;
begin
Smart_Server := SMART_WORLD;
Smart_Members := SMART_MEMBER;
Smart_Signed := SMART_SIGNED_CLIENT;
Smart_SuperDetail := SMART_SUPER_DETAIL;
ClearDebug;
SetupSRL;
SetupSRLStats(136,SRL_STATS_USERNAME,SRL_STATS_PASSWORD);
SetupReflection;
DeclarePlayers;
LoginPlayer;
SetAngle(true);
repeat
CheckHP;
GetFight;
Fight;
FindRandoms;
AntiBan;
if Players[CurrentPlayer].Booleans[0] = true then
begin
PickUpBones;
if R_InvFull then
BuryBones;
end;
SRLRandomsReport;
Stats_Commit;
If not LoggedIn then
NextPlayer(Players[CurrentPlayer].Active);
until(AllPlayersInactive);
end.