Justin
2011-12-23 23:38:45
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?
Java, HTML, php, VB and some basic ones
Are you a member of any other communities?
Yes,
RSBuddy, PowerBot, RSBots.NET
Tell us about yourself…
From: ~Justin
I'm 19, Have been working with computers since I was young (around 9-10). I live in Australia, Finished my VCE Schooling and I am currently a ICT Admin at a Highschool. I enjoy my job and in my spare time I tend to code and modify scripts to make then work better for my liking and enjoy playing/botting on RuneScape.
Please show us one (or multiple) of your scripts.
Snape Grass collector
program SnapeGrass;
{$i srl/srl/misc/smart.scar}
{$i srl/srl.scar}
{$i sps/sps.simba}
{$i SRL/SRL/Misc/stats.simba}
var
Snape, SnapePrice, RandomChange, loads: Integer;
Jarvald, SnapeGrass: TIntegerArray;
HouseToBoat, GoIntoBank, SnapeGrassLocation, SafePlace: TPointArray;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Active := true;
Players[0].Pin := '';
end;
procedure SetupLogin;
begin
ClearDebug;
Smart_Server := 97;
Smart_Members := true;
Smart_Signed := true;
Smart_SuperDetail := false;
SetupSRL;
DeclarePlayers;
LoginPlayer;
end;
procedure SetupSps;
begin
SPS_Setup(RUNESCAPE_SURFACE, ['6_5', '5_5', '5_4', '5_3', '4_3', '4_4', '10_6']);
SPS_Continue := false;
end;
procedure Antiban; //idea taken from Coh3n's tutorial.
begin
if not (LoggedIn) then
Exit;
begin
case Random(250) of // Random(250) generates a random integer from 0 to 250
10: RandomRClick;
30: PickUpMouse;
50: RandomMovement;
70: BoredHuman;
89: ExamineInv;
end;
end;
end;
procedure DoRest;
begin
if not (LoggedIn) then
Exit;
begin
SetRest;
while not RunEnergy(95) do
begin
Antiban;
Wait(Random(1000));
end;
end;
end;
procedure TeleToBankAndWalk;
begin
if not (LoggedIn) then
Exit;
if not FindNormalRandoms then
begin
if not RunEnergy(25) then
DoRest;
MakeCompass('n');
Writeln('Teleporting to bank...');
while (srl_InFight) do
begin
Wait(RandomRange(1500, 1800));
Writeln('Waiting to be out of combat...');
end;
Wait(Random(1000));
GameTab(Tab_Magic);
MMouse(574, 232, 8, 7);
if WaitUptext('Cast', 400) then
ClickMouse2(true);
begin
MMouse(574, 232, 10, 3);
end;
GoIntoBank := [Point(4211, 2670)];
if SPS_WalkPath(GoIntoBank) then
Writeln('At the Bank..');
end;
end;
procedure Banking;
var
p, t: Integer;
begin
if not (LoggedIn) then
Exit;
while (IsMoving) do
begin
Wait(RandomRange(900, 1200));
end;
t := 0; //Tries starts at zero
repeat
Inc(t);
Wait(RandomRange(700, 1000));
OpenBankNPC;
until BankScreen or PinScreen or (t = 5);
if PinScreen then
begin
p := 0;
repeat
InPin(Players[0].Pin);
Inc(p)
until BankScreen or (p > 0) or not (LoggedIn);
end;
if BankScreen then
begin
Writeln('Opened the bank...');
DepositAll;
Withdraw(0, 0, 1);
Wait(RandomRange(500, 1200));
CloseBank;
end;
if (t = 5) then
begin
Writeln('Couldn''t find bank in time... Terminating...');
TerminateScript;
end;
Inc(loads);
end;
procedure TeleportToHouse;
begin
InvMouse(1, 1);
wait(RandomRange(2400, 4800));
end;
procedure WalkToBoat_SPS;
begin
if not (LoggedIn) then
Exit;
if not FindNormalRandoms then
begin
if not RunEnergy(25) then
DoRest;
MakeCompass('n');
Writeln('Walking to boat via SPS');
Wait(Random(1000));
begin
case Random(5) of // Randomize walking path
0..1:
HouseToBoat := [Point(2517, 2097), Point(2499, 2075), Point(2481, 2054),
Point(2446, 2051), Point(2413, 2054), Point(2371, 2048),
Point(2360, 2021), Point(2344, 2008), Point(2327, 1982),
Point(2316, 1949), Point(2313, 1922), Point(2317, 1910)];
2:
HouseToBoat := [Point(2511, 2093), Point(2481, 2056), Point(2464, 2053),
Point(2438, 2051), Point(2430, 2037), Point(2392, 2017),
Point(2361, 2014), Point(2341, 1997), Point(2338, 1972),
Point(2315, 1937), Point(2321, 1911)];
3:
HouseToBoat := [Point(2513, 2087), Point(2489, 2057), Point(2441, 2048),
Point(2409, 2053), Point(2374, 2051), Point(2347, 2043),
Point(2319, 2027), Point(2293, 2013), Point(2290, 1959),
Point(2316, 1925), Point(2318, 1905)];
4:
HouseToBoat := [Point(2505, 2080), Point(2485, 2057), Point(2443, 2047),
Point(2406, 2048), Point(2368, 2044), Point(2329, 2036),
Point(2328, 2010), Point(2334, 1991), Point(2339, 1969),
Point(2351, 1932), Point(2327, 1923), Point(2321, 1913)];
5:
HouseToBoat := [Point(2508, 2081), Point(2460, 2051), Point(2425, 2049),
Point(2370, 2046), Point(2322, 2028), Point(2331, 1984),
Point(2306, 1948), Point(2322, 1919), Point(2317, 1909)];
end;
end;
if SPS_WalkPath(HouseToBoat) then
begin
Writeln('Walked to the boat via SPS');
Wait(RandomRange(1200, 1500));
end else
begin
Writeln('Failed to walk to the boat via Radial and SPS... Terminating script!');
TerminateScript;
end;
end;
end;
procedure WalkToBoat_Radial;
begin
if not (LoggedIn) then
Exit;
if not FindNormalRandoms then
begin
if not RunEnergy(25) then
DoRest;
MakeCompass('n');
Writeln('Walking to boat via Radial');
Wait(Random(1000));
begin
RadialWalkTolerance(6451052, 318, 345, 72, -1, 0,25);
Wait(RandomRange(800, 1200));
RadialWalkTolerance(6451052, 322, 338, 72, -1, 0,25);
Wait(RandomRange(800, 1200));
RadialWalkTolerance(6451052, 315, 333, 72, -1, 0,25);
Wait(RandomRange(800, 1200));
RadialWalkTolerance(6451052, 282, 303, 72, -1, 0,25);
Wait(RandomRange(800, 1200));
RadialWalkTolerance(1795803, 273, 294, 70, -1, 0,15);
Wait(RandomRange(800, 1200));
writeln('Walked to the boat via Radial... If not will SPS failsafe!');
end;
end;
end;
procedure WalkToGoodSnapeGrass;
begin
begin
case Random(5) of // Randomize walking path
0..1: SnapeGrassLocation := [Point(2013, 1581), Point(1971, 1570),
Point(1936, 1570), Point(1898, 1573), Point(1863, 1586), Point(1851, 1605)];
2: SnapeGrassLocation := [Point(2010, 1601), Point(1988, 1587),
Point(1977, 1580), Point(1955, 1572), Point(1920, 1595),
Point(1893, 1605), Point(1857, 1615)];
3: SnapeGrassLocation := [Point(2004, 1597), Point(1979, 1576),
Point(1957, 1572), Point(1922, 1570), Point(1896, 1572),
Point(1875, 1572), Point(1857, 1593), Point(1849, 1610)];
4: SnapeGrassLocation := [Point(2025, 1606), Point(1996, 1583),
Point(1966, 1568), Point(1938, 1566), Point(1897, 1572),
Point(1870, 1580), Point(1847, 1618)];
5: SnapeGrassLocation := [Point(2021, 1601), Point(1962, 1575),
Point(1932, 1583), Point(1913, 1596), Point(1851, 1619)];
end;
end;
if not SPS_WalkPath(SnapeGrassLocation) then
begin
Writeln('We are unable to walk to Snape Grass Location.. Going to bank!');
TeleToBankAndWalk;
Banking;
end;
end;
procedure Travel;
var
Tries, x, y: Integer;
begin
Writeln('We are trying to find Jarvald...');
Tries := 0;
repeat
Inc(Tries);
Writeln('Trying to find Jarvarl...');
MakeCompass('n');
Wait(RandomRange(700, 1000));
if FindObjCustom(x, y, ['alk-to Jarvald'], Jarvald, 3) then
begin
Writeln('Found Jarvald!');
Mouse(x, y, 3, 3, false);
Writeln('Selecting Travel option...');
WaitOptionMulti(['ravel-Water', 'ravel-W'], 1000);
Writeln('Waiting...');
Wait(RandomRange(2000, 6000));
end;
until ((Tries = 3) or (IsChatBoxTextBetween('eaving Rellekka', clBlack, 8, 8)));
begin
if (Tries = 3) then //Failed!
begin
Writeln('We failed to Travel! Trying to walk via SPS');
WalkToBoat_SPS;
Travel;
end;
end;
end;
procedure CollectSnapeGrass;
var
RandomNorthCount, fs, x, y: Integer;
begin
case Random(1) of
0: MakeCompass('e');
1: MakeCompass('w');
end;
case RandomRange(15, 19) of
15..19: MouseSpeed := RandomRange(15, 19);
end;
RandomNorthCount := RandomRange(17, 27);
fs := 0;
if (InvCount <= 28) then
begin
repeat
while (IsMoving) do
begin
Wait(RandomRange(200, 250));
end;
if (FindObjCustom(x, y, ['ake', 'ttack'], SnapeGrass, 25)) then
begin
Mouse(x, y, 4, 4, false);
WaitOptionMulti(['ake Snape', 'Take Snape', 'seaweed'], 50);
//Ensure that we don't click 'Walk' - Add a Seaweed check (had a player try to break my bot)
AntiBan;
Wait(RandomRange(100, 180));
end;
Inc(fs);
if (fs = 70) then
begin
Writeln('Been doing nothing for too long... changing worlds and going to bank to starting again');
ChangeWorld(RandomWorld(true, false));
Wait(RandomRange(3400, 9800));
TeleToBankAndWalk;
Wait(RandomRange(400, 1200));
Banking;
TeleportToHouse;
Wait(RandomRange(700, 1800));
WalkToBoat_Radial;
Wait(RandomRange(270, 2200));
Travel;
Exit;
end;
if (InvCount = RandomNorthCount) then
begin
MakeCompass('n');
end;
until InvFull;
end;
if (InvFull) then
begin
SafePlace := [Point(1902, 1605)];
if not (SPS_WalkPath(SafePlace)) then
begin
Writeln('Something went wrong when walking to the safe spot... Will try to teleport at current location');
end;
Exit;
end;
end;
function GetPrice(ObjID: Integer): Integer; //Credits to putonajonny
var
Str, str2, str3, str4: string;
startat, endat, com, k, b, m: Integer;
begin
Str := GetPage('http://services.runescape.com/m=itemdb_rs/g=runescape/viewitem.ws?obj=' +
IntToStr(ObjID));
startat := Pos('<th scope="row">Current guide price:</th>', Str);
if (startat > 0) then
begin
endat := Pos('<th scope="row">Today', Str);
str2 := Copy(Str, (startat + 46), endat - startat - 63);
k := Pos('k', str2);
com := Pos(',', str2);
b := Pos('b', str2);
m := Pos('m', str2);
str4 := str2;
if (k > 0) then
begin
str3 := Copy(Str2, 1, k - 1);
str4 := IntToStr(StrToInt(Copy(Str3, 1, Length(Str3) - 2) + Copy(Str3,
Length(Str3), 1)) * 100);
end;
if (b > 0) then
begin
str3 := Copy(Str2, 1, b - 1);
str4 := IntToStr(StrToInt(Copy(Str3, 1, Length(Str3) - 2) + Copy(Str3,
Length(Str3), 1)) * 100000000);
end;
if (m > 0) then
begin
str3 := Copy(Str2, 1, m - 1);
str4 := IntToStr(StrToInt(Copy(Str3, 1, Length(Str3) - 2) + Copy(Str3,
Length(Str3), 1)) * 100000);
end;
if (com > 0) then
begin
str4 := Copy(Str2, 1, com - 1) + Copy(Str2, com + 1, Length(str2) - com);
end;
Result := StrToInt(str4);
end
else
begin
Result := 0;
end;
end;
procedure Progress;
begin
Snape := Snape + InvCount;
Writeln('|===============|');
Writeln('| Snape Grass |');
Writeln('| ' + IntToStr(Snape) + ' | $' + IntToStr(Snape * SnapePrice) +
' |');
Writeln('| Time running: ' + TimeRunning + ' |');
Writeln('|===============|');
Writeln('');
end;
begin
SetupLogin;
SetupSps;
Jarvald := [3026992, 2436400, 3884876, 3757671];
SnapeGrass := [6067245, 5272868, 6195498, 5075235];
SnapePrice := GetPrice(231);
TeleToBankAndWalk;
Banking;
TeleportToHouse;
RandomChange := RandomRange(30, 80);
repeat
if (loads = 85) then //Just incase we mess up and go past out limit.
begin
loads := 0;
end;
{WalkToBoat_SPS;}
WalkToBoat_Radial;
Wait(RandomRange(100, 800));
Travel;
WalkToGoodSnapeGrass;
Wait(RandomRange(300, 1200));
CollectSnapeGrass;
TeleToBankAndWalk;
Progress;
Wait(RandomRange(640, 940));
Banking;
TeleportToHouse;
Wait(RandomRange(705, 1200));
if (RandomChange = loads) then
begin
ChangeWorld(RandomWorld(true, false));
RandomChange := RandomRange(8, 18);
loads := 0;
end;
until (false)
end.
Varrock Teletab maker
program VarrockTabMaker;
{$i srl/srl/misc/smart.scar}
{$i srl/srl.scar}
{$i sps/sps.simba}
{$i SRL/SRL/Misc/stats.simba}
var
VarrockTabBig, TabsMade, TabPrice, CashMonies: Integer;
GoIntoBank: TPointArray;
const
SRLStats_Username = ''; // Your SRL Stats Username
SRLStats_Password = ''; // Your SRL Stats Password
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Active := true;
Players[0].Pin := '';
end;
procedure SetupLogin;
begin
ClearDebug;
Smart_Server := 49;
Smart_Members := true;
Smart_Signed := true;
Smart_SuperDetail := false;
SetupSRL;
DeclarePlayers;
LoginPlayer;
end;
procedure SetupSps;
begin
SetupSRLStats(406, SRLStats_Username, SRLStats_Password);
SPS_Setup(RUNESCAPE_SURFACE, ['10_6']);
SPS_Continue := false;
end;
procedure Antiban; //idea taken from Coh3n's tutorial.
begin
if not (LoggedIn) then
Exit;
begin
case Random(250) of // Random(250) generates a random integer from 0 to 250
10: RandomRClick;
30: PickUpMouse;
50: RandomMovement;
70: BoredHuman;
89: ExamineInv;
end;
end;
end;
procedure TeleportToEdgevilleBank;
begin
if not (LoggedIn) then
Exit;
if not FindNormalRandoms then
begin
MakeCompass('n');
Writeln('Teleporting to bank...');
Wait(Random(1000));
GameTab(Tab_Magic);
MMouse(574, 232, 5, 5);
if WaitUptext('Cast', 400) then
ClickMouse2(true);
Wait(RandomRange(5000,8000));
GoIntoBank := [Point(4211, 2670)];
if SPS_WalkPath(GoIntoBank) then
Writeln('At the Bank..');
end;
end;
procedure DoBanking;
var
p, t: Integer;
begin
if not (LoggedIn) then
Exit;
while (IsMoving) do
begin
Wait(RandomRange(900, 1200));
end;
t := 0;
repeat
Inc(t);
Wait(RandomRange(700, 1000));
OpenBankNPC;
until BankScreen or PinScreen or (t = 5);
if PinScreen then
begin
p := 0;
repeat
InPin(Players[0].Pin);
Inc(p)
until BankScreen or (p > 0) or not (LoggedIn);
end;
if BankScreen then
begin
Writeln('Opened the bank...');
DepositAll;
Withdraw(0, 0, 1);
Wait(RandomRange(500, 1200));
CloseBank;
end;
if (t = 5) then
begin
Writeln('Couldn''t find bank in time... Terminating...');
TerminateScript;
end;
end;
procedure TeleportToHouse;
begin
Writeln('Breaking House teleport tab...');
if (ExistsItem(28)) then
begin
InvMouse(28, 1);
wait(RandomRange(6000, 7500));
end
else
TerminateScript;
end;
procedure WalkToLecturn;
begin
if not (LoggedIn) then
Exit;
if not FindNormalRandoms then
begin
MakeCompass('n');
Writeln('Walking to Lecturn...');
Mouse(627, 123, 10, 15, true);
Wait(RandomRange(2000, 4000));
while (IsMoving) do
begin
Wait(1000);
end;
end;
end;
procedure MainLoop;
var
x, y, xx, yy, FailSafe: Integer;
begin
while (InvCount > 5) do
begin
if (FindObjCustom(x, y, ['tudy Lec', 'tudy L'], [9212563, 4217971], 5)) then
begin
MMouse(x, y, 5, 5);
if (WaitUpText('Study', 500)) then
begin
ClickMouse2(true);
end;
end;
while not (FindBitmapToleranceIn(VarrockTabBig, xx, yy, 0, 0, 514, 332, 20)) do
begin
if (FailSafe = 500) then
begin
MainLoop;
end;
wait(50);
Inc(FailSafe);
end;
if (FindBitmapToleranceIn(VarrockTabBig, xx, yy, 0, 0, 514, 332, 20)) then
begin
MMouse(xx, yy, 10, 10);
FailSafe := 0;
if (WaitUpText('ake Varrock', 500)) then
begin
ClickMouse2(true);
IncEx(TabsMade, 1);
FindNormalRandoms;
while (FindBitmapToleranceIn(VarrockTabBig, xx, yy, 0, 0, 514, 332, 20)) do
begin
FindNormalRandoms;
wait(200);
end;
end;
end;
end;
CashMonies := (24 * TabPrice)stats_IncVariable('Varrock Tablets (Made)', 24);
stats_IncVariable('Magic EXP (Gained)', 840);
Stats_Commit;
TeleportToEdgevilleBank;
DoBanking;
TeleportToHouse;
WalkToLecturn;
GameTab(25);
MainLoop;
Exit;
end;
function GetPrice(ObjID: Integer): Integer; //Credits to putonajonny
var
Str, str2, str3, str4: string;
startat, endat, com, k, b, m: Integer;
begin
Str := GetPage('http://services.runescape.com/m=itemdb_rs/g=runescape/viewitem.ws?obj=' +
IntToStr(ObjID))startat := Pos('<th scope="row">Current guide price:</th>',
Str)if (startat > 0) then begin endat :=
Pos('<th scope="row">Today', Str) str2 :=
Copy(Str, (startat + 46), endat - startat - 63);
k := Pos('k', str2) com := Pos(',', str2) b :=
Pos('b', str2) m := Pos('m', str2) str4 := str2 if (k > 0) then
begin str3 := Copy(Str2, 1, k - 1) str4 :=
IntToStr(StrToInt(Copy(Str3, 1, Length(Str3) - 2) + Copy(Str3, Length(Str3), 1))
* 100)
end;
if (b > 0) then
begin
str3 := Copy(Str2, 1, b - 1) str4 :=
IntToStr(StrToInt(Copy(Str3, 1, Length(Str3) - 2) + Copy(Str3, Length(Str3), 1))
* 100000000)
end;
if (m > 0) then
begin
str3 := Copy(Str2, 1, m - 1) str4 :=
IntToStr(StrToInt(Copy(Str3, 1, Length(Str3) - 2) + Copy(Str3, Length(Str3), 1))
* 100000)
end;
if (com > 0) then
begin
str4 := Copy(Str2, 1, com - 1) + Copy(Str2, com + 1, Length(str2) - com)
end;
Result := StrToInt(str4)
end
else
begin
Result := -1
end;
end;
begin
SetupLogin;
SetupSps;
VarrockTabBig := BitmapFromString(52, 53,
'meJzN2VtKQzEQBuDF+OKeSiml1E' +
'tbe/FeRNyfKxH3IBgcCONkMvlnEqqQB/HkJJ//JKc2Z7Xerda7zea' +
'w3d7xtt8/5HZ7+8Tb/f0xt4fHl7LRJeqcB6Fh00SprX4mvbq+oXZx' +
'uU5tubxeLC7n8+VstphO55PJbPXbxklCxUlC9XV+xlspzMhSmJElT' +
'4XhQQlVTShi5EIeo+DR1QyLBdUUqoXO6ycLBY/belRPz6/UkBjLpV' +
'iz5YLGypdVvOFCQqo8EZqrfKrKKySkyitDG6LChYTMPGHLu4Bgxmh' +
'eFSJMTY0u23hoAVW4Zw6QeKKsIjTVFksDv0uUlXhky7ughMVUgRGI' +
'J8pqFBQnNfuANh5dsuGhdRZO7WzvCCS0ng1r31uLjtvKXeAtkEuoX' +
'irLqha0NmxApQ7VXHVkw0PrhBmj1aI7WWiIjXhem5jl8+M9tSam7N' +
'Z8CPDoYqEhNrUPMpfLBs4L9sGj4zZ8pdG8Nq9pa+6IQGhIdPZVMLp' +
'mt/9mQ54bdlmbFUd4sdBsALJTTmMrGeDTr8n7Kxuem+sBYjN6QuPz' +
'1mw90Y0Krf9TfqBNhJaeIUhPPDoXzPhcKG390Y0KLdsGRoc/cu3QV' +
'NuQyvaHRv9hjrIRr3OlpZ/56Y19I/8lwgvY1NAQW8mLCY0R1F1A5w' +
'+uvysgtO+thQbaDJ4tRO6qhUbfF8Dl6hIGupXH6batFouBdGVr29L' +
'30+PxrTl1oGquGwXMZfMuLe8iVAuq2sKL327GmLUj/WRTeQOFNqn2' +
'UmmzORi2fiGoKl/J0RkX2WxeYB3iqiE2UBhW8YLSCxqvrVlokCRUt' +
's3LA3cfqBKvBeksmttivFLoIqmvzsn2Dc/IBoY=');
TabPrice := GetPrice(8007);
DoBanking;
TeleportToHouse;
WalkToLecturn;
GameTab(25);
MainLoop;
end.
Edgeville Man Killer
//EDGEVILLE MAN KILLER - MADE BY ~JUSTIN
program EdgeManKiller;
{.include SRL/SRL/Misc/Smart.scar}
{.include SRL/SRL.scar}
{.include SRL/SRL/Skill/Fighting.scar}
{$i sps/sps.simba}
{$DEFINE UseLaptopMouse}
var
ManColours : TIntegerArray;
x,y,StartAttack, StartStrength, StartDefence, StartHitpoints, CurrentAttack, CurrentStrength, CurrentDefence, CurrentHitpoints, LevelPopUp, NoThanks, xx,yy : integer;
WalkBank,WalkMen: TPointArray;
const
Tolerance = 2; //Make higher if it wont attack;
Version = '0.501'; //Please don't change.
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
With Players[0] do
begin
Name := ''; //Character Name
Pass := ''; //Character Pass
Pin := ''; //Pin for bank
Active := True;
end;
end;
function GetCustomXP(skill: variant): integer;
var
b: TBox;
p: TPoint;
tpa: TPointArray;
begin
result := -1;
if (not gameTab(TAB_STATS)) then
exit;
p := skillToCoords(skill);
if (p.x < 1) then
exit;
mmouse(p.x, p.y + 5, 12, 4);
Wait(150);
if (WaitFindColors(tpa, 921102, MIX1, MIY1, MIX2, MIY2, 0, 3000)) then
begin
b := getTPABounds(tpa);
Result := strToIntDef(getNumbers(getTextAt(b.x1 + 15, b.y1 + 15, 0, 1, 4, 4305653, 0, 75, smallChars)), -1);
end;
end;
function WalkToBank: Boolean;
begin
WalkBank := [Point(4224, 2633),Point(4208, 2649),Point(4210, 2667)]
If(SPS_WalkPath(WalkBank)) then
end;
function WalkToMen: Boolean;
begin
WalkMen := [Point(4208, 2649),Point(4232, 2608)]
If(SPS_WalkPath(WalkMen)) then
end;
procedure CheckRandoms;
begin
if (FindBitMap(LevelPopUp,x,y)) then
begin
FreeBitmap(LevelPopUp);
FindBitMap(NoThanks,xx,yy)
MMouse(xx,yy,3,3);
ClickMouse2(true);
FreeBitmap(NoThanks);
end;
FindNormalRandoms;
if not(LoggedIn) then
begin
WriteLn('I think we failed a random - I will just Check');
LoginPlayer;
FindNormalRandoms;
if not(LoggedIn) then
begin
WriteLn('Client has Logged Out So Probably Failed a Random - Terminating Script');
TerminateScript;
end ;
end;
end;
procedure Attack;
var Xi, Yi:integer;
begin
if InFight then
begin
repeat
FindNormalRandoms;
until (not (OthersInFight) or (not LoggedIn) or (not InFight))
end;
x := Random(8)
case x of
4: WalkToMen; //Failsafe if we get lured
end;
if FindObjCustom(Xi, Yi, ['ttack'], ManColours, Tolerance) then
begin
if not (IsFightAt(Xi, Yi) and not InFight) then
begin
GetMousePos(Xi, Yi);
Mouse(Xi, Yi, RandomRange(-3,5), RandomRange(-3,5), false);
WaitOptionMulti(['ttack M', 'attack Man'], 200);
wait(RandomRange(800,1200))
end;
while IsMoving do
begin
Wait(250);
end;
end;
SetAngle(True);
end;
procedure AntiBan;
begin
x := Random(500)
case x of
0: HoverSkill('Attack', False);
1: HoverSkill('Strength', False);
2: HoverSkill('Defence', False);
3: HoverSkill('hitpoints', False);
12..15: PickUpMouse;
16..25: RandomMovement;
26..27: RandomRClick;
28..32: BoredHuman;
33: ExamineInv;
34: RandomAngle(True);
end;
end;
function DoBanking: Boolean;
var
FailSafe: Integer;
begin
if not (LoggedIn) then
Exit;
while (IsMoving) do
begin
Wait(RandomRange(900, 1200));
end;
FailSafe := 0;
repeat
Inc(FailSafe);
MakeCompass('n');
Wait(RandomRange(400, 1200));
OpenBankNPC;
until BankScreen or PinScreen or (FailSafe = 7);
if PinScreen then
begin
repeat
InPin(Players[0].Pin);
until BankScreen or not (LoggedIn);
end;
if BankScreen then
begin
Withdraw(0,0,RandomRange(17,28));
CloseBank;
WalkToMen;
end;
if (FailSafe = 7) then
begin
Writeln('We failed to find the bank 7 times. Terminating script.');
TerminateScript;
end;
end;
procedure Report;
begin
CurrentAttack := GetCustomXP(0);
CurrentStrength := GetCustomXP(2);
CurrentDefence := GetCustomXP(1)
CurrentHitpoints := GetCustomXP(3);
Writeln('||=====');
Writeln('||===== Attack EXP Gained : ' + IntToStr(CurrentAttack - StartAttack));
Writeln('||===== Strength EXP Gained : ' + IntToStr(CurrentStrength - StartStrength));
Writeln('||===== Defence EXP Gained : ' + IntToStr(CurrentDefence - StartDefence));
Writeln('||===== Hitpoints EXP Gained : ' + IntToStr(CurrentHitpoints - StartHitpoints));
Writeln('||=====');
exit;
end;
procedure HpCheck; //Credits to Narcle
var
c, T, i, x, y:Integer;
begin
if (HPPercent < RandomRange(45,65)) and LoggedIn then
begin
if not InvEmpty then
for c := 0 to 2 do
for i := 1 to 28 do
if ExistsItem(i) then
begin
MMouseItem(i);
GetMousePos(x, y);
if WaitUptext('Eat', 400) then
begin
Mouse(x,y,0,0,false);
if WaitOption('Eat', 400) then
begin
t := GetSystemTime;
while ExistsItem(i) and ((GetSystemTime-t) < 2000) do
wait(20);
end;
Exit;
end;
end;
if InvEmpty then
begin
WalkToBank;
If IsMoving then
repeat
Wait(500);
until not (IsMoving);
Report;
DoBanking;
WalkToMen;
Exit;
end;
end;
end;
procedure VersionCheck();
var
oVersion : string;
begin
oVersion := GetPage('http://web.aanet.com.au/SRLJustin/EdgevilleManKiller/edgeman_version.txt');
if(oVersion <> Version)then
begin
WriteLn('The version you''re using is outdated!');
WriteLn('Downloading new version...');
if(WriteFileString(RewriteFile(ScriptPath + 'EdgeManKiller ~Justin.simba', True), GetPage('http://web.aanet.com.au/SRLJustin/EdgevilleManKiller/edgeman_script.txt')))then
WriteLn('Successfully downloaded the script! Please close the script and re-open to see the changes, thank you!');
TerminateScript;
end
else
WriteLn('You have the current version, good to go!');
end;
begin
Cleardebug;
Writeln('Please wait while I check your script version...');
VersionCheck();
ManColours := [991283 ,2367519 ,4344898 ,4824485 ,3033449 ,3100779 ,1977654];
Smart_Server := 97;
Smart_Members := False;
Smart_Signed := False;
Smart_SuperDetail := False;
SetupSRL;
DeclarePlayers;
LoginPlayer;
SPS_Areas := ['10_6'];
SPS_Setup(RUNESCAPE_SURFACE, SPS_Areas);
Writeln('Welcome to ~Justin''s Edgeville Man Killer! Verson: '+ Version);
Wait(800);
Writeln('Grabbing starting EXP...');
MouseSpeed := RandomRange(17,22);
StartAttack := GetCustomXP(0); //atk
StartStrength := GetCustomXP(2); //str
StartDefence := GetCustomXP(1) //def
StartHitpoints := GetCustomXP(3); //hp
Writeln('Grabbed and saved starting EXP!');
WalkToMen;
LevelPopUp := BitmapFromString(22, 42, 'meJytlVFIU2EUx0lpU+emu3fmYE' +
'7nNpzioIjZMiaYOlOn2Z2WuhRdZelSclpiI600ycKKsgyiguohCnz' +
'0ITJ86alegwp6Dnrtrbf+957xeXfvnQsM/hzOPff8f/d83+79Vmh1' +
'Fu5Mh1pPHGzuQqzvONkgDAS7o4gVtfUd/TFUqF7TKNSF+pAjQuhBn' +
'p3HZetN2XojGSEUISTwIg6MXUYz3SLX6ss14lPUmUugPN52Kj4Xm7' +
'mBCAsiJETHu4cnkfSNXoJQhxYfPkcbEsSzUj8joB916iTLkchZFAf' +
'jsxCKPSPTAEIspzZ4CaImvPr088G7Lwo93viqFjrtDo29xS1drr9N' +
'eBLqWkWEmjtWSYdDy0w5ehc6QdDv8SiEJ5a5b1W1bkKVLRuUqC9Nj' +
'jg6S8tduWV+uUxOP+pc8QX0FHnvVfjvFFcs8JVLyBG9gbsl3pvIcV' +
'dvEohgqGpj4ryiUDcXxdDDVy2Nza2//fCt2LOAHPaP3381HX8GlEg' +
'whohg3N/P+yJyTdx/w0szwMW752duvweE7J1DLzj3PCOgEwSFnQj5' +
'ljh6LBIBuray+eP3H9jFSxQlQo6xhQiW2iGFGIHsHt8inv7o9WdMY' +
'nVfwQyca15N4AMxpsHZlXxLjAhkb488LbQnphbWGYQI6BRXIfOSjo' +
'7OGrgz6IFrZHqN7JxjjiB4PQrsCYkQRKeaUNKQQtAUEXSGpiShfir' +
'dDNtLTrAFJ8lLCepZu6v1prDOEIT0xnYS8hxjs1RsgnZllW6tgiAY' +
'RkpQ/0d1phLMdRMEsZe7MssBOWGHmJHNQPNQwoQdhmyBqLUmbPI05' +
'tv3FVid3acnILVdU1uEA72M0H9+BtK2tyVEZZqBCBpPlNulxBmKE4' +
'QIBe46IvSeuwgp+1NV3p5Qz8B7tAhqoxQhNkCGGXZAoDa5l10m89R' +
'VcL4eEAy2araT8sfJpUnAOWDeG2aEnuEpiNpcQsIVvq6AYH75Eugk' +
'kRNoBhhFCSJEY5LUARQE2ockQQWRv1H05aoJ9FaTPbkQQcNOhORh6' +
'ItoEhQbqP4i2AzahDSTKwhsBvwlqX9NjYWzz1w6OdMR2Bul/hIZRG' +
'FXrGLrrU5/LMh/BSLIZ6B90DbSoRGIbU84Fh2HMtoZId0+aNhV/2L' +
'/i6BeRfzqMvQX5OsJfg==');
NoThanks := BitmapFromString(75, 14, 'meJztks1qAkEQhN8hBy9CEJSAIu' +
'IhSH4ugiB4UBD0oMccPOUNfDUfJve8REYGyqJ6undXEBECH8t0b1V' +
'Nz+5svo+bW/Kx2t83Z7E/MCknIR3RxLA+rU8/v00TiplX58y2XyDn' +
'5CjuoKxE9E3tNWMb8bncAT4gd7gEbJQECLi0rmIfRu7bMeIQ5m2+B' +
'sjJT+5gDXLT2lnAgeIqpnn6q0dK9CdTIAfkjv0X0BQT2M5Gdtk0T2' +
'8Xshd2jAkC7WzxAWuW3kG8eby3wem6o3cAC69lC6v0EuJSble8C/9' +
'Zu13xFXjuvwIE8lq2tkovISi9C1+pt5tKgsyTaL+MAWRcxiOxnRPy' +
'q2JgnQMGehHE85zpDcFFRiU6cqkgE4qfxebHV1T01sj3Np6n1RkwS' +
'SYld/iLidFz2cBiWqVejPXneWr3/nlo/gDohg86');
repeat
Attack;
AntiBan;
HpCheck;
CheckRandoms;
until(false)
end.