I mostly need it for the 200 laps I have left to get my Agile Top and finish the Frem Elite Tasks.
Printable View
I mostly need it for the 200 laps I have left to get my Agile Top and finish the Frem Elite Tasks.
this shit working or broke?
Ok, I overhauled it but it still needs work. I raised it by about 10k exp, but it still runs around 39-45k exp/hr. Realistically without OGL or a miracle its hard to make it faster :mad:
So here it is:
P.S. It still gets stuck on the ledge, I have plans to fix it, but this is all I have for now.
Simba Code:program AdvanceBarbarianAgility;
{$DEFINE SMART}
{$i srl/srl.simba}
{$i sps/sps.simba}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Developer Log:
Original Author: Anyhow
Rewritten by: Failed4life
Johnnimms13
A hattip to [Nathan] for his skeleton of this script
--------------------------------------------------------------------------------
Version History:
0: Original by Anyhow
v1.0 - Initial Release
v1.01 - DTMs added, antiban fixed
v1.02 - Progress Report added! Thanks RyGuy for the help :)
v1.021 - Pie Support Added!
v1.022 - Bug fixes and SMART Paint added
v1.023 - New gap DMT, Pie Toggle Switch added
v1.03 - Customizable Hp checker, logs out if Hp is low
v1.031 - Bug Fixes
v1.4 - overhaul
-------------------------------------------------------------------------------
Instructions:
Use the Setup and position your player in the agility course by the ropes.
If you wish to use Summer Pies to boost your Agility level, have them in your
inventory.
Note: This Script requires atleast 85 agility to run with boosts, 90 to run
Without boosts, and 93+ to run without mistakes.
---------------------------------------SETUP-----------------------------------}
const
//User Options
SERVER = 23; //Replace with desired server number
Username = ''; //Enter your Username
Password = ''; //Enter your Password
Nickname = ''; //Enter 3-4 digits of your Username
ar = 0; //AntiRandom switch (0 = off, 1 = on)
PieLevel = 0; //What level would u like to eat a summer pie at? (0 to disable)
PLogOut = False; //True logs out when summer pies are gone
HP = 20; //LogsOut if below this percentage of HP
var
x,y:LongInt;
TimeBegan, Exp, ExpHr,
StartingXP:Integer;
aFound:Extended;
myPos: TPoint;
DTM: array [0..8] of integer;
PieGo: Boolean;
procedure AntiBan;
begin
if not(LoggedIn)then
Exit;
case 300 of
0: HoverSkill('Agility', false);
1: PickUpMouse;
2: RandomMovement;
3: RandomRClick;
end;
end;
procedure SetDTMs;
begin
DTM[0] := DTMFromString('mlwAAAHicY2dgYFjNyMAwF4h3MELYa4B4HxBPA+ImIK6D4i6oGIhdD8RaqrwMlYWxYGygzc+gq8EH5/MDzcWFGfFgKAAA+1wPEQ==');
DTM[1] := DTMFromString('m6wAAAHic42ZgYMhgZGBIZ4TQAUAcBMTNQFwBxIFQ2hGKZwLxciCeAMTrgLgdiFcDcQcQzwbiGUC8Foi7gbi/qZohNFSKwd9PgiEq0IYhyV+bIT1IlyE91oXB1VANTKcXdTHU96xk4Ae6g1jMRAJGAgB2cRcQ');
DTM[2] := DTMFromString('mFQEAAHic42VgYHgHxHuB+AQjA8NnIF4OxP+B/GdA/BmIpYB8ASC+AsQXgPgfUKwOSIsBsSAQOwPxU6DYWyB2ALK9gDgLiKuAmAuIDYCYGYj93E0YEnxMGSrblzDkVk1mcDFUY8hL8WQIsJVgiA62ZQh1lGLwc1JiaOpbwZBZ3MVQkRvAwA80k1TMSAZGAQACvBzJ');
DTM[3] := DTMFromString('mkwEAAHicE2ZgYKhhZGAoBuIiIC4E4gJGiFg7EHdAcRuUDxKPB+J6IF4OxIlAXAfE04F4IxBrAbEVEOsAsQwQCwCxMJSWBmJVINaDqjEEYk8g9oZiFiD+BXQPO5AWAuKqJBeGzjxfhuIYB4byeCeG2TXhDPPrIxlmVocxlMY6MlQkOINxd74fWK2/owQYh7pJMQTbSzL4WIkzxIXagzE/0FxqYSYqYiwAAPEbInA=');
DTM[4] := DTMFromString('mKgEAAHic42NgYPBnZGB4CKQFgbQbEMcBcQ0QLwTidUC8CohXAvFMIM4BYjsg/g1U/xqIbYBsDyAOA+IyII4C4mAgtgdifiB+B1RzBIj3APECIJ4PxCkBFgzBbnoM6UGWDFEeRgz+NhIMMZ7GDMHOKgxJkU4MSd5yDHEesgyhjlJgfHx5PsOBhdkM/4F6+cnATGRiVAAA+zEdZw==');
DTM[5] := DTMFromString('mrAAAAHic42BgYDBiZGBQBGInIA4EYl4gNgBiLSC2AuI2IO4E4g4gngPEs4B4GRCXQPHzhycYGnI8GFryvRh2bN3AMLs5nOHlo5MMp1cVMhxclMPwH2gHPx7MSADDAACXeBZH');
DTM[6] := DTMFromString('m6wAAAHic42ZgYNjOyMCwD4i3AfE5IL4BxK+BeC4QLwDiaiCuA+I5QHwcqu42EO8G4ptAfAKITwLxZiDuAeL7QPwMiPMSvBi8rcQZoj01GAJsJcF0fUEoQ7i/M4ONqQbD788rGQqi7MGYH+gOYjEjCRgJAAB0PRxC');
DTM[7] := DTMFromString('mrAAAAHic42BgYLBgZGBwg2IjIDYEYhUgDgdiaSA+CVRzB4i3AvEbIN4ExK+A+AQQHwPiIA9zhqQgc4boYDeGJC9thgw/PYbG+hqGtFg/hkgXGQYRoBp8mJEAhgEA+WsQlw==');
DTM[8] := DTMFromString('m6wAAAHic42ZgYLjPyMCgzMTAIA3E54DsXUB8FYgPAPEdIH4CxPuB+AgQ1wDxHiDOAOJOIG4H4iwgTgHiBUAcDcTWQLwYiJ1sjBlC3Q0YYkLcGZysdFAwSCwuyJ7h4KJchu2z0hn4ge4gFjOSgJEAAMpXGCo=');
end;
Procedure FreeDTMs;
begin
FreeDTM(DTM[0]);
FreeDTM(DTM[1]);
FreeDTM(DTM[2]);
FreeDTM(DTM[3]);
FreeDTM(DTM[4]);
FreeDTM(DTM[5]);
FreeDTM(DTM[6]);
FreeDTM(DTM[7]);
FreeDTM(DTM[8]);
end;
{///////////////////////////////by RyGay///////////////////////////////////////}
procedure Report;
var
TimeRan: integer;
begin
TimeRan := (1+((GetSystemTime - TimeBegan) / 1000));
Exp := (GetXPBarTotal - StartingXP);
ExpHr := Round((Exp * 3600) / (TimeRan));
WriteLn('Time: ' + TimeRunning);
WriteLn('We have gained ' + IntToStr(Exp) + ' Agility Experience!');
WriteLn('We are gaining ' + IntToStr(ExpHr) + ' Agility Experience per Hour!');
end;
{//////////////////////////////////////////////////////////////////////////////}
procedure AntiRandoms;
begin
if ((not LoggedIn) or (ar = 0)) then Exit;
FindNormalRandoms; // find random events
end;
function Wfloor:Integer;
begin
result:= 99;
if((FindColorTolerance(x,y,2247007,633,56,633,56,15) or
FindColorTolerance(x,y,2247007,629,52,629,52,15) or
FindColorTolerance(x,y,2247007,628,60,628,60,15) or
FindColorTolerance(x,y,2247007,634,51,634,51,15) or
FindColorTolerance(x,y,2247007,633,60,633,60,15) or
FindColorTolerance(x,y,2247007,629,49,629,49,15)) and
FindColorTolerance(x,y,395009,634,84,634,84,15) and
(PercentBlackMM > 95)) then
result:= 10;
if((FindColorTolerance(x,y,1655633,615,84,615,84,15) or
FindColorTolerance(x,y,1521998,621,57,621,57,15)) and
(PercentBlackMM > 95)) then
result:= 11;
if((FindColorTolerance(x,y,1853268,630,113,630,113,15) or
FindColorTolerance(x,y,1853268,636,116,636,116,15)) and (PercentBlackMM > 95)) then
result:= 12;
if(FindColorTolerance(x,y,4873321,530,184,530,184,15) and (PercentBlackMM > 95)) then
result:= 13;
if((FindColorTolerance(x,y,2180188,621,113,621,113,15) or
FindColorTolerance(x,y,2180188,625,114,625,114,15) or
FindColorTolerance(x,y,2180188,627,112,627,112,15) or
FindColorTolerance(x,y,2180188,622,113,622,113,15)) and
FindColorTolerance(x,y,393218,643,114,643,114,15) and
FindColorTolerance(x,y,393218,632,114,632,114,15) and
not(FindColorTolerance(x,y,4873321,530,184,530,184,15))and
(PercentBlackMM > 95)) then
result:= 14;
end;
function distanceTo(var point:TPoint): Extended;
var myLoc:TPoint;
begin
myLoc:= SPS_GetMyPos();
Result:= Distance(point.x, point.y, myLoc.x, myLoc.y);
end;
procedure sleepWhileMoving();
var t:Integer;
begin
t := 0;
while((IsMoving) and (t < 12)) do
begin
writeLn('Sleeping'+tostr(t));
sleep(350+random(5))
t:=t+1;
end;
end;
{/////////////////////////////by Johnnimms13//////////////////////////////////}
procedure EatPie;
var SPie, HPie, x, y: integer;
begin
if PieGo then
begin
if PieLevel > 0 then
begin
SPie := DTMFromString('mlwAAAHicY2dgYPjIxMDwFoi/I9FfgPgDEL9kZGB4xgih3wPxYyB+B8SPgDhLTxGOK9JMGVJCdRiyovQZov00GPiB5uLCjHgwFAAAE+UTaw==');
HPie := DTMFromString('mggAAAHicY2NgYHBhYmAwB2JHIHYCYmsg9gTiB0C5R0D8AojvAPFdIH4MxGGqUgyZkXoMEb7WDLkJtgwJQVoM5Rn+DPxAOWyYEQeGAAAW8Qy0');
if GetSkillInfo('agility', True) < (PieLevel+1) then
begin
writeln('below 91 agility, trying to find pie');
if ExistsItemDTM(spie, x, y) then
begin
writeln('found pie');
mouse(x, y, 2, 2, true);
end else
if ExistsItemDTM(hpie, x, y) then
begin
writeln('found 1/2 pie');
mouse(x, y, 2, 2, true);
end else
begin
writeln('no pies!')
if PLogOut = True then
begin
logout;
TerminateScript;
end;
end;
end else
begin
writeln('No Pie for you!');
end;
freedtm(SPie);
FreeDtm(HPie);
end;
PieGo := False;
end;
end;
{//////////////////////////////////////////////////////////////////////////////}
function getLocation(): integer;
var First, Second, Third, Fourth: TPoint;
begin
result := 0;
if (PercentBlackMM > 96) then
result := Wfloor()
else
begin
First := Point(2045, 2430); //Beginning Point
Second := Point(2045, 2445); //After swinging the rope
Third := Point(2005, 2460); //After log balancing
Fourth := Point(1995, 2475); //Before running up the wall
if ((distanceTo(First) <= 5) and (myPos.y < 2435)) then
begin
result:=1;
exit;
end;
if (distanceTo(Second) <= 5) then
begin
result:=2;
exit;
end;
if (distanceTo(Third) <= 10) then
begin
result:=3;
exit;
end;
if (distanceTo(Fourth) <= 10) then
begin
result:=4;
exit;
end;
end;
end;
procedure handleObstacle(spot: integer);
begin
SetDTMs;
case spot of
0:
begin
AntiRandoms;
EatPie;
writeln('Walk to beginning Point(2045, 2430)');
SPS_WalkToPos(Point(2045, 2430));
sleepWhileMoving();
end;
1:
begin
writeln('rope');
if FindDTMRotated(DTM[0], x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) then
begin
Mouse(x, y, 3, 3, True);
sleep(2300+random(175));
sleepWhileMoving();
Report;
end;
end;
2:
begin
writeln('log');
if FindDTMRotated(DTM[1], x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) then
begin
MMouse(x,y,5,5);
Mouse(x, y, 3, 3, True);
sleep(1900+random(150));
sleepWhileMoving();
end;
end;
3:
begin
writeln('Walking To plate');
if FindDTMRotated(DTM[2], x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) then
begin
Mouse(x, y, 3, 3, True);
sleep(800+random(150));
sleepWhileMoving();
end;
end;
4:
begin
WriteLn('hitting plate');
if FindDTMRotated(DTM[3], x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) then
begin
Mouse(x, y, 3, 3, True);
sleep(5500+random(150));
sleepWhileMoving();
end;
end;
10:
begin
MMouse(205, 120, 3, 3);
writeln('Climb up Ledge');
if isUptextEx('all') then
begin
ClickMouse2(true);
sleep(3300+random(150));
sleepWhileMoving();
end
end;
11:
begin
mmouse( 142, 177, 3, 3);
writeln('Fire the Springy Thingy!');
if isuptext('pring') then
begin
clickmouse2(true);
sleep(4300+random(150));
sleepWhileMoving();
end;
end;
12:
begin
writeln('Pole');
if FindDTMRotated(DTM[6], x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) then
begin
Mouse(x, y, 0, 0, True);
sleep(2500+random(150));
sleepWhileMoving();
end;
end;
13:
begin
writeln('Gap');
MMouse(267, 176, 2, 2);
if isUptextEx('ump') then
begin
ClickMouse2(True);
wait(3000+random(100));
end;
end;
14:
begin
WriteLn('WEEEEEE!');
MMouse(330, 178, 2, 2);
if isUptextEx('oof') then
begin
ClickMouse2(True);
Sleep(1300 + random(200));
wait(2500+random(100));;
PieGo := True;
end;
end;
end;
FreeDTMs;
end;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := Username;
Players[0].Pass := Password;
Players[0].Nick := Nickname;
Players[0].Active := True;
end;
procedure LogMeIn;
begin
LoginPlayerToLob;
OpenWorldScreen;
SelectWorld(SERVER);
LoginPlayer;
end;
{//////////////////////////////////Main Loop///////////////////////////////////}
begin
Smart_Server := SERVER;
Smart_Members := True;
SetupSRL;
DeclarePlayers;
SPS_Setup(RUNESCAPE_SURFACE, ['4_5','4_6']);
TimeBegan := GetSystemTime;
ToggleXPBar(True);
StartingXP := (GetXPBarTotal);
if not(LoggedIn) then
LogMeIn;
while not(LoggedIn) do
sleep(1000);
MakeCompass('n');
SetAngle(SRL_ANGLE_HIGH);
while(true) do //Main loop
begin
while not(LoggedIn) do
LoginPlayer;
handleObstacle(getLocation());
myPos := SPS_GetMyPos();
// writeln(Wfloor());
// writeln(myPos);
end;
end.
Unable to get it started any more.
Stuck on last obstacle.
Exception in Script: Unable to find file 'SRL/SRL/misc/SMART.simba' used from ''
says this when i try to run it....what do i do?
News: Failed4Life has given me authorization to take over this thread. I plan on moving it to another one soon!
The script needs to be really lean to be fast enough to look human. I plan on speed increases, more options for food, and basic upkeep. But for now, I'm going to enter into Sin's competition with another script ive been working on...
Closed on request.
-RM