SRL Archive - Outdated / Broken

Barbarian Agility Course Runner.


WT-Fakawi

2006-06-26 17:49:32

THIS SCRIPT IS INCOMPLETE!


I made this a while ago running one of our mains, but got paranoid and stopped (it was my wifes account so you see….)

I got stuck in the scripts logic :p , trying to figure out recusive breaks and ended up in failsafe frenzy. It will still work fairly well I suppose, just dont leave it unattended.

I am releasing it, so you can see my method of approach. The engine is build around ChatText, which is the key to the next event. I have tried to make the script as undetectable as I possibly can, as far as I know, there are no unrealistic mouse mevements.


Some features:

  • - Works with a Global named ScriptSpeed. I divide Time through this Global: WWait(500/ScriptSpeed); or WWait(4000/ScriptSpeed); thus enabling you to set the speed to 1, 2 , 3 or 4!
  • - Works with FindDeformed. Script only uses with deformed bitmaps! And this is my trick to succesful deformed bitmap recognition:
[php]
Ladder := BitmapFromString(10, 1, '000000000000785729664B23' +
'664B23664B23453217453217000000000000');
[/php]
or
[php]
RopeKnot:= BitmapFromString(1, 21, 'z78DA333235323030307436B42' +
'48E3402ABA78444060045F618DF');
[/php]

they are all small horizontal or vertical slices of objects!
.

This causes some lag, but it works very accurate and very undetectable. I think this is the best approach to semi static object-detection on the mainscreen.

I made OpenBankQuiet just like that:

[php]FaladorWestCounter := BitmapFromString(1, 29, '98887381' +
'633B87683F7D6548836A4A7D65487D65487A63467A63467A63467' +
'76145776145755F43755F436B52316B52316E5533715735775C38' +
'A1835C9F815B8C6D428C6D428C6D428C6D427B643A7B643A74603' +
'68B866F');
DraynorCounter := BitmapFromString(34, 1, 'z78DA658E4B0' + // works too for al karid
'E80300844AF34FCB45DAA70FF2B89B40B12339997F0C980BA5C98' +
'06837A7AE828CE74551F77FF51CBCD1FC5D901369614282816E59' +
'683EF94207AF2BA55C9948672BFB2FB7D5A1F6E8A10D0C9274552' +
'39FD022AE92A73');
[/php]

slices of the counter.

I have attached the .bmps I used so maybe you get a better understanding of this method.


Anyway:


Barbarian Agility Course Runner 0.1

  • Start this Script at the Barbarian Agility Course.
  • Stand Next to the Rope.
  • Face West.
  • Camera Up.



// Barbarian Agility Course Runner By WT-Fakawi //
// First Draft //
//Start this Script at the Barbarian Agility Course.
//Stand Next to the Rope.
//Face West.
//Camera Up.

program New;
{.include SRL/SRL.scar}

//label LogFail;

var
MMRopeSwing, MMLogBalance, Rope, RopeKnot, Log, ObstacleNet, BalancingLedge,
Ladder, CrumblingWall, SlipLadder: Integer;

var XG,YG:integer;

var TMark:Longint;

var ScriptSpeed: Integer;
//----------------------------------------------------------------------------//

Procedure LoadBMPs;
begin

{ MMRopeSwing:= BitmapFromString(8, 3, 'z78DA73757535034224D2D' + // wont work, make bigger
'4C8C4D0D0191769403430353331317423553D008D4F1D15');
MMRopeSwing := BitmapFromString(4, 6, 'z78DA33353276367436C' +
'520DD8C5D9D5DCD3149031A0300A92C1D39');

RopeKnot := BitmapFromString(7, 6, 'z78DA9DCF4B0AC0300845D1' +
'2D3D5F0CD1619A76FF5BEA2F164B679D5C040F825CD900E6564A5' +
'48678941F99B7FF6485425C418BF9EA7657AD001EB2D8234D8D2D' +
'4917C578DF3C3D9669923F9EEA217792D733B7');
}

MMRopeSwing := BitmapFromString(15, 1, '00000000000000000070592769' +
'53256953256953257361297361297361297361297361291A4D022' +
'36008236008');
RopeKnot:= BitmapFromString(1, 21, 'z78DA333235323030307436B42' +
'48E3402ABA78444060045F618DF');

MMLogBalance := BitmapFromString(2, 6, 'z78DA3330000173670B3' + // wont work, make bigger
'7270B03BC6C5333131343375C6C0025C30EF5');

Rope := BitmapFromString(13, 1, 'z78DA337231323730303134C64' +
'A1A9B18B9E0268D4C8D0C5149006E090FAB');

Log := BitmapFromString(22, 1, 'z78DA95C4B90D00200C04B0952E' +
'7F68C3B3FF487408890A17F6AE84E1211379AFCEED4C6CC0BB14C' +
'BCF6C14809526ADFB0D1D2F1B71');

ObstacleNet := BitmapFromString(5, 2, '0907050B080709070508' +
'07064B36210806050807064B36214B36214B3621');

BalancingLedge := BitmapFromString(10, 7, 'z78DA958E510E83' +
'300C43AFE4C449C9EF10E2FE475AA594910A90583F5E23D74E0D9' +
'CC7829DADDFB27930F07114A5CCE9C4259B9ED3892D79280EB554' +
'A62C34663E75A8FF323444F275644BFFE1FF6DC3C8BA7255AFB49' +
'D8BF28646135ADF2F64EF8DF64776655399F8C6936C54D92BBF9E' +
'E155DE');

Ladder := BitmapFromString(10, 1, '000000000000785729664B23' +
'664B23664B23453217453217000000000000');

CrumblingWall := BitmapFromString(2, 12, '7E7575645D5C766E6' +
'D625B5A6D65656058586D6565686047625B5A58503D48402B3830' +
'2B78705F60584578705F70685078705F70685078705F78705F787' +
'05F78705F78705F78705F');

SlipLadder := BitmapFromString(1, 14, '82602D6348235E45215B' +
'421F563F1F4B32084B320882602D6348235E45215B421F5036085' +
'0360882602D');
end;

//----------------------------------------------------------------------------//

Procedure SetupScript;
begin
HowManyPlayers:=1;
NumberOfPlayers(HowManyPlayers);
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active:=True;
SetupSRL;
LoginPlayer;
BenMouse:=False;
MouseSpeed:=25;
LoadBMPs;
ScriptSpeed:=2;
end;

//----------------------------------------------------------------------------//

function InChat2(Text : String) : Boolean;
begin
TheLine := lowercase(trim(GetTextAtEx(20, 415, 45, SmallChars, False, False, 0, 2, 0, 40, True, tr_NormalChars)));
if (pos(Text, TheLine) <> 0) then
Result := True
Writeln(TheLine);
end;

//----------------------------------------------------------------------------//

Procedure Down;
begin
SendArrowSilentWait(2,1000+Random(500));
end;

//----------------------------------------------------------------------------//

Procedure Up;
begin
SendArrowSilentWait(0,1000+Random(500));
end;

//----------------------------------------------------------------------------//

Function HandleRopeFail: Boolean; forward;
Function HandleLogFail: Boolean; forward;
Function HandleLedgeFail:Boolean; forward;

//----------------------------------------------------------------------------//

Function FailSafe(Where:Integer):Boolean;
begin

if Where = 1 then ; // @ Couldnt Find First Starting Point in MM...
if Where = 2 then ; // @ Couldnt Find rope BitMap on MainScreen... + Handle MisClick (Return to startposition)
if Where = 3 then
HandleRopeFail; // @ Missed rope, fell in hole...
if Where = 4 then ; // @ Couldnt Find Log StartPoint in MM...
if Where = 5 then ; // @ Didnt Click Log in MainScreen...
if Where = 6 then
HandleLogFail; // @ Never made it across Log...
if Where = 7 then ; // @ Couldnt find Obstacle Net...
if Where = 8 then ; // @ Couldnt Find Balancing Ledge...
if Where = 9 then
HandleLedgeFail; // @ Never made it across Balancing Ledge...
if Where = 10 then ; // @ Never Found the Ladder...
if Where = 11 then ; // @ Never Found Crumbling Wall #1...
if Where = 12 then ; // @ Never Found Crumbling Wall #2...
if Where = 13 then ; // @ Never Found Crumbling Wall #3...
if Where = 14 then ; // @ Stuck @ Rope Fail...
if Where = 15 then ; // @ Stuck @ Log Fail...
if Where = 16 then ; // @ Stuck @ Ledge Fail...
Result:=True;
end;

//----------------------------------------------------------------------------//

Function WalkToRopeSwing: Boolean;
begin
MarkTime(TMark);
Repeat
FindTalk;
WWait(500/ScriptSpeed);
if (TimeFromMark(TMark)>20000) then Exit;
Until(FindDeformed(XG,YG,MMRopeSwing,MMCX-20,MMCY-20,MMX2,MMY2))
// Mouse(XG+24,YG+2,0,0,True);
Mouse(XG+2,YG+2,0,0,True);
FFlag(0);
WWait(4000/ScriptSpeed);
Result:=True;
end;

//----------------------------------------------------------------------------//

Function StartRopeSwing2: Boolean;
Begin
MakeCompass('N');
Down;

MarkTime(TMark);
Repeat
FindTalk;
WWait(500/ScriptSpeed);
if (TimeFromMark(TMark)>60000) then Exit;
if FindDeformed(XG,YG,Rope,MSX1,MSY1+150,MSX2,MSY2-50) then
MMouse(XG+6,YG,0,0);
until isUpText('ing');
WWait(1000/ScriptSpeed);
Mouse(XG,YG,0,0,True);
WWait(4000/ScriptSpeed);
Result:=True;
end;

//----------------------------------------------------------------------------//

Function StartRopeSwing: Boolean;
Begin

MarkTime(TMark);
Repeat
FindTalk;
WWait(500/ScriptSpeed);
if (TimeFromMark(TMark)>60000) then Exit;
if FindDeformed(XG,YG,RopeKnot,MSX1+20,MSY1+20,MSCX,MSY2-20) then
MMouse(XG+6,YG,0,0);
until isUpText('wi');
WWait(100/ScriptSpeed);
Mouse(XG,YG,0,0,True);
Result:=True;
WWait(2000/ScriptSpeed);
end;

//----------------------------------------------------------------------------//

Function HandleRopeFail: Boolean;
begin
MarkTime(TMark);
Repeat
// walk-to Laddercolor
MakeCompass('W');
Up;
FindTalk;
WWait(500/ScriptSpeed);
if (TimeFromMark(TMark)>20000) then Exit;
if FindDeformed(XG,YG,SlipLadder,MSX1,MSY1,MSX2,150) then
MMouse(XG+6,YG,0,0);
until isUpText('up');
WWait(500/ScriptSpeed);
Mouse(XG,YG,0,0,True);
FFlag(0);
WWait(4000/ScriptSpeed);
Mouse(120,250,5,5,True);
WWait(500/ScriptSpeed);
FFlag(0);
Result:=True;
end;

//----------------------------------------------------------------------------//

Function EndRopeSwing: Boolean;
begin
MarkTime(TMark);
Repeat
FindTalk;
WWait(500/ScriptSpeed);
if (TimeFromMark(TMark)>20000) then Exit;
if ( InChat2('lip') or InChat2('fall') ) then
begin
Result := False;
If not HandleRopeFail then FailSafe(15);
Exit;
End
WWait(1000/ScriptSpeed);
Until (InChat2('ull') or InChat2('wing')) ;
Result:=True;
WWait(2000/ScriptSpeed);
end;

//----------------------------------------------------------------------------//

Function WalkToLogBalance: Boolean;
begin
MakeCompass('W');
Up;
MarkTime(TMark);
Repeat
FindTalk;
WWait(500/ScriptSpeed);
if (TimeFromMark(TMark)>20000) then Exit;
Until(FindDeformed(XG,YG,MMLogBalance,MMCX-40,MMCY-20,MMX2,MMY2))
WWait(50/ScriptSpeed);
Mouse(XG+20,YG+8,0,0,True);
FFlag(0);
Result:=True;
WWait(2000/ScriptSpeed);
end;

//----------------------------------------------------------------------------//

Function StartLogBalance: Boolean;
begin
MarkTime(TMark);
Repeat
FindTalk;
WWait(500/ScriptSpeed);
if (TimeFromMark(TMark)>20000) then Exit;
if FindDeformed(XG,YG,Log,70,130,280,230) then
MMouse(XG+6,YG,0,0);
until isUpText('acro');
WWait(50/ScriptSpeed);
Mouse(XG+6,YG,0,0,True);
WWait(1000/ScriptSpeed);
Result:=True;
end;

//----------------------------------------------------------------------------//

Function EndLogBalance: Boolean;
begin
MarkTime(TMark);
Repeat
WWait(1000/ScriptSpeed);
if ( InChat2('omet') or InChat2('ite') ) then
begin
WWait(4000/ScriptSpeed);
Mouse(487,313,4,4,True);
FFlag(0);
if not HandleLogFail then FailSafe(16);
Exit;
end;
if (TimeFromMark(TMark)>20000) then Exit;
until InChat2('ake');
WWait(1000/ScriptSpeed);
Result:=True;
WWait(2000/ScriptSpeed);
end;

//----------------------------------------------------------------------------//

Function HandleLogFail: Boolean;
Begin
WWait(4000/ScriptSpeed);
// if not WalkToLogBalance then FailSafe(4);
// WWait(2000/ScriptSpeed);
if not StartLogBalance then FailSafe(5);
WWait(1000/ScriptSpeed);
if not EndLogBalance then FailSafe(6);
WWait(2000/ScriptSpeed);
Result:=True;
End;

//----------------------------------------------------------------------------//

Function DoObstacleNet: Boolean;
Begin
MarkTime(TMark);
Repeat
FindTalk;
WWait(500/ScriptSpeed);
if (TimeFromMark(TMark)>20000) then Exit;
if FindDeformed(XG,YG,ObstacleNet,120,60,300,160) then
MMouse(XG+6,YG,0,0);
until isUpText('limb');
WWait(50/ScriptSpeed);
Mouse(XG+6,YG,0,0,True);
FFlag(0);
Result:=True;
WWait(4000/ScriptSpeed);
end;

//----------------------------------------------------------------------------//

Function DoCrumbling(a,b,c,d:integer): Boolean;
Begin
MarkTime(TMark);
Repeat
FindTalk;
WWait(500/ScriptSpeed);
if (TimeFromMark(TMark)>20000) then Exit;
if FindDeformed(XG,YG,CrumblingWall,a,b,c,d) then
MMouse(XG+6,YG,0,0);
until isUpText('over');
WWait(50/ScriptSpeed);
Mouse(XG+4,YG,0,0,True);
FFlag(0);
WWait(6000/ScriptSpeed);
Result:=True;
end;

//----------------------------------------------------------------------------//

Function StartBalancingLedge: Boolean;
Begin
MarkTime(TMark);
Repeat
FindTalk;
WWait(500/ScriptSpeed);
if (TimeFromMark(TMark)>20000) then Exit;
if FindDeformed(XG,YG,BalancingLedge,240,90,370,150) then
MMouse(XG+6,YG,0,0);
until isUpText('acros');
WWait(50/ScriptSpeed);
Mouse(XG+6,YG,0,0,True);
FFlag(0);
Result:=True;
WWait(2000/ScriptSpeed);
end;

//----------------------------------------------------------------------------//

Function EndBalancingLedge: Boolean;
var TMark2:Integer;
begin
MarkTime(TMark2);
Repeat
WWait(1000/ScriptSpeed);
if (InChat2('lip') or InChat2('onto')) then
begin
HandleLedgeFail;
Exit;
end;
if (TimeFromMark(TMark2)>20000) then begin FailSafe(9); Exit; end;
until (InChat2('ully') or InChat2('gap'))
WWait(4000/ScriptSpeed);
Result:=True;
end;

//----------------------------------------------------------------------------//

Function HandleLedgeFail:Boolean;
begin
WWait(2000/ScriptSpeed);
Mouse(490,180,10,10,True);
FFlag(0);
WWait(2000/ScriptSpeed);
if not DoCrumbling(190,150,390,320) then FailSafe(16)
else
Result:=True;
end;

//----------------------------------------------------------------------------//

Function DoLadder: Boolean;
Begin
MarkTime(TMark);
Repeat
FindTalk;
WWait(500/ScriptSpeed);
if (TimeFromMark(TMark)>20000) then begin FailSafe(10); Exit; end;
if FindDeformed(XG,YG,Ladder,200,100,280,180) then
MMouse(XG+6,YG,0,0);
until (isUpText('im'))
WWait(50/ScriptSpeed);
Mouse(XG+4,YG,0,0,True);
FFlag(0);
WWait(2000/ScriptSpeed);
Mouse(490,220,10,10,True);
FFlag(0);
Result:=True;
WWait(4000/ScriptSpeed);
end;

//----------------------------------------------------------------------------//


begin

SetupScript;
WWait(4000/ScriptSpeed);
repeat
if not WalkToRopeSwing then FailSafe(1);
if not StartRopeSwing then FailSafe(2);
if not EndRopeSwing then FailSafe(3);
// if not WalkToLogBalance then FailSafe(4);
if not StartLogBalance then FailSafe(5);
if not EndLogBalance then FailSafe(6);
if not DoObstacleNet then FailSafe(7);
if not StartBalancingLedge then FailSafe(8);
if not EndBalancingLedge then FailSafe(9);
if not DoLadder then FailSafe(10);
if not DoCrumbling(190,150,450,MSX2) then FailSafe(11);
if not DoCrumbling(180,190,310,310) then FailSafe(12);
if not DoCrumbling(180,190,310,310) then FailSafe(13);
MakeCompass('W');
until(false);
end.

{
11:02:45 am you climb the ow wall...
11:02:46 am you climb the ow wall...
11:02:47 am you climb the ow wall...
11:02:48 am you climb the ow wall...
11:02:49 am you climb the ow wall...
11:02:50 am you skillfully swing across.
11:02:51 am you skillfully swing across.
11:02:52 am you skillfully swing across.
11:02:53 am you skillfully swing across.
11:02:55 am you walk ca full cross the slippery o
11:02:56 am you walk ca full cross the slippery o
11:02:57 am you walk ca full cross the slippery o
11:02:58 am you walk ca full cross the slippery o
11:02:59 am you walk ca full cross the slippery o
11:03:00 am ...you make t a y to the othe id
11:03:01 am ...you make t a y to the othe id
11:03:02 am ...you make t a y to the othe id
11:03:03 am you climb the ne ti g...
11:03:04 am you climb the ne ti g...
11:03:05 am you climb the ne ti g...
11:03:06 am you put your foot o the edge and try to
11:03:07 am you put your foot o the edge and try to
11:03:08 am you kill ully dge across th gap.
11:03:09 am you kill ully dge across th gap.
11:03:10 am you kill ully dge across th gap.
11:03:12 am you kill ully dge across th gap.
11:03:13 am you kill ully dge across th gap.
11:03:14 am you kill ully dge across th gap.
11:03:15 am you kill ully dge across th gap.
11:03:16 am you kill ully dge across th gap.
11:03:17 am you kill ully dge across th gap.
11:03:18 am you kill ully dge across th gap.
11:03:19 am you kill ully dge across th gap.
11:03:20 am you clim t lo wall...
11:03:21 am you clim t lo wall...
11:03:22 am you clim t lo wall...
11:03:23 am you clim t lo wall...
11:03:24 am you clim t lo wall...
11:03:25 am you clim t lo wall...
11:03:26 am you climb the ow wall...
11:03:28 am you climb the ow wall...
11:03:29 am you climb the ow wall...
11:03:30 am you climb the ow wall...
11:03:31 am you climb the ow wall...
11:03:32 am you climb the ow wall...
11:03:33 am you climb the ow wall...
11:03:34 am you climb the ow wall...
11:03:35 am you climb the ow wall...
11:03:36 am you climb the ow wall...
11:03:37 am you climb the ow wall...
11:03:38 am you slip and fall to the pit below.
11:03:39 am you slip and fall to the pit below.
11:03:40 am you slip and fall to the pit below.
11:03:41 am you slip and fall to the pit below.
11:03:42 am you slip and fall to the pit below.
11:03:43 am you slip and fall to the pit below.
11:03:45 am you slip and fall to the pit below.
11:03:46 am you slip and fall to the pit below.
11:03:47 am you slip and fall to the pit below.
11:03:48 am you slip and fall to the pit below.
11:03:49 am you slip and fall to the pit below.
11:03:50 am you slip and fall to the pit below.
11:03:51 am you slip and fall to the pit below.
11:03:52 am you sk llfully swing acr ss.
11:03:53 am you sk llfully swing acr ss.
11:03:54 am you sk llfully swing acr ss.
11:03:55 am you sk llfully swing acr ss.
11:03:56 am you walk ca full cross the slippery o
11:03:57 am you walk ca full cross the slippery o
11:03:58 am you walk ca full cross the slippery o

>>>11:03:59 am ...you ose yo r f oting and fall to

11:04:00 am something n th wate bite you.
11:04:02 am something n th wate bite you.
11:04:03 am something n th wate bite you.
11:04:04 am something n th wate bite you.
11:04:05 am something n th wate bite you.
11:04:06 am something n th wate bite you.
11:04:07 am something n th wate bite you.
11:04:08 am something n th wate bite you.
11:04:09 am it heals some health.
11:04:10 am it heals some health.
11:04:11 am it heals some health.
11:04:12 am it heals some health.
11:04:13 am you walk carefully across the slippery o
11:04:14 am you walk carefully across the slippery o
11:04:15 am you walk carefully across the slippery o
11:04:16 am you walk carefully across the slippery o
11:04:17 am you walk carefully across the slippery o
11:04:18 am ...you make t a y to the othe id
11:04:20 am ...you make t a y to the othe id
11:04:21 am ...you make t a y to the othe id
11:04:22 am ...you make t a y to the othe id
11:04:23 am ...you make t a y to the othe id
11:04:24 am you climb the ne ti g...
11:04:25 am you climb the ne ti g...
11:04:26 am you climb the ne ti g...
11:04:27 am you put your foot o the edge and try to
11:04:28 am you put your foot o the edge and try to
11:04:29 am you kill ully dge across th gap.
11:04:30 am you kill ully dge across th gap.
11:04:31 am you kill ully dge across th gap.
11:04:32 am you kill ully dge across th gap.
11:04:33 am you kill ully dge across th gap.
11:04:34 am you kill ully dge across th gap.
11:04:35 am you kill ully dge across th gap.
11:04:37 am you kill ully dge across th gap.
11:04:38 am you clim t lo wall...
11:04:39 am you clim t lo wall...
11:04:40 am you clim t lo wall...
11:04:41 am you clim t lo wall...
11:04:42 am you climb the ow wall...
11:04:43 am you climb the ow wall...
11:04:44 am you climb the ow wall...
11:04:45 am you climb the ow wall...
11:04:46 am you climb the ow wall...
11:04:47 am you climb the ow wall...
11:04:48 am you climb the ow wall...
11:04:49 am you climb the ow wall...
11:04:50 am you climb the ow wall...
11:04:51 am you climb the ow wall...
11:04:53 am you climb the ow wall...
11:04:54 am you climb the ow wall...
11:04:55 am you climb the ow wall...
11:04:56 am you skillfully swing across.
11:04:57 am you skillfully swing across.
11:04:58 am you skillfully swing across.
11:04:59 am you walk ca full cross the slippery o
11:05:00 am you walk ca full cross the slippery o
11:05:01 am you walk ca full cross the slippery o
11:05:02 am you walk ca full cross the slippery o
11:05:03 am you walk ca full cross the slippery o
11:05:04 am ...you make t a y to the othe id
11:05:05 am ...you make t a y to the othe id
11:05:06 am ...you make t a y to the othe id
11:05:07 am you climb the ne ti g...
11:05:08 am you climb the ne ti g...
11:05:10 am you put your foot o the edge and try to
11:05:11 am you put your foot o the edge and try to
11:05:12 am you kill ully dge across th gap.
11:05:13 am you kill ully dge across th gap.
11:05:14 am you kill ully dge across th gap.
11:05:15 am you kill ully dge across th gap.
11:05:16 am you kill ully dge across th gap.
11:05:17 am you kill ully dge across th gap.
11:05:18 am you kill ully dge across th gap.
11:05:19 am you kill ully dge across th gap.
11:05:20 am you kill ully dge across th gap.
11:05:21 am you clim t lo wall...
11:05:22 am you clim t lo wall...
11:05:23 am you clim t lo wall...
11:05:24 am you climb the ow wall...
11:05:26 am you climb the ow wall...
11:05:27 am you climb the ow wall...
11:05:28 am you climb the ow wall...
11:05:29 am you climb the ow wall...
11:05:30 am you climb the ow wall...
11:05:31 am you climb the ow wall...
11:05:32 am you climb the ow wall...
11:05:33 am you skillfully swing across.
11:05:34 am you skillfully swing across.
11:05:35 am you skillfully swing across.
11:05:36 am you walk ca full cross the slippery o
11:05:37 am you walk ca full cross the slippery o
11:05:38 am you walk ca full cross the slippery o
11:05:39 am you walk ca full cross the slippery o
11:05:40 am you walk ca full cross the slippery o
11:05:41 am ...you make t a y to the othe id
11:05:43 am ...you make t a y to the othe id
11:05:44 am ...you make t a y to the othe id
11:05:45 am you climb the ne ti g...
11:05:46 am you climb the ne ti g...
11:05:47 am you put your foot o the edge and try to
11:05:48 am you lip nd all onto the sp es belo .
11:05:49 am you lip nd all onto the sp es belo .
11:05:50 am you lip nd all onto the sp es belo .
11:05:51 am you lip nd all onto the sp es belo .
11:05:52 am you lip nd all onto the sp es belo .
11:05:53 am you lip nd all onto the sp es belo .
11:05:54 am you lip nd all onto the sp es belo .
11:05:55 am you lip nd all onto the sp es belo .
11:05:56 am you lip nd all onto the sp es belo .
11:05:57 am you lip nd all onto the sp es belo .
}

QQu

2006-06-26 18:13:33

Good Work as always =P

Hope you get around to finnishing it ;)
Even though im not a member :(

_ChArMz

2006-06-26 22:27:43

looks amazing, im gunna take some of the ideas and use it to make a wilderness agility script =P

Bebe

2006-06-27 04:49:33

Well I can tell it is imcomplete, doesn't have that normal fakawi touch :p

Nice script anyway, I'm not a member though, so I can't try it. Although… I do have access to members acounts… ;)

phantombmx

2006-06-27 05:44:16

From: Bebemycat2
Well I can tell it is imcomplete, doesn't have that normal fakawi touch :p

Nice script anyway, I'm not a member though, so I can't try it. Although… I do have access to members acounts… ;)


yes, wade and others know that :rolleyes:

nice script fawki, but as megan said.. its missing that fawki style

SubiN

2006-12-08 02:23:14

aint this script old ? cause i am going to use it - and dont want to get banned

WT-Fakawi

2006-12-08 06:53:24

Its a feeble attempt to make an all failsafe script, but I got entangled inside its recursive logic. It works, undetectable, for sure, all I need is a Member Account to experiment with…. :)

SubiN

2006-12-08 16:01:05

i am becoming member soon. so i might let u use it

Plugster

2007-01-08 14:31:02

Ran this script today, colors are out a bit on the wall and climbing net, gunna try and fix it if thats ok fakawi

NiCbaZ

2008-09-30 20:02:29

sorry for grave dig but if any one wants a agilty script for this is i have a semi working one..

program AgiltyDraft;
{.include SRL\SRL\Misc\Smart.scar}
{.include SRl/SRl.scar}
{.include srl/srl/reflection/reflection.scar}



const //]
SmartWorld = 'world36';// eg 'world31']
StatsUser = '618'; //]
StatsPass = ''; //]

{===================================================================]
[1.0- Relesed To Public ]
[===================================================================}


var
i,LoadsLeft: integer;


{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
procedure DeclarePlayers;
By: Nicbaz
Description: Declare The Players for the login Array.
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}

procedure DeclarePlayers;
begin
HowManyPlayers:= 3; // number of players
CurrentPlayer:= 0; // starting player

NumberOfPlayers(HowManyPlayers);

Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='ack';
Players[0].Active:= True;
Players[0].Integers[2]:= 2;
Players[0].Integers[3]:= 2;

end;

const
Loads = 10; // until Sleep


{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
procedure AntiBan;
By: Nicbaz % hy
Description: AntiBan
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
procedure AntiBan;
var
I: integer;
begin
case Random(100) of
0: MMouse(random(MSX2), random(MSY2), 0, 0);
1: MouseSpeed := 9 + Random(3);
2: HoverSkill('random', false);
5: PickupMouse;
6:
begin
SetRun(True);
GameTab(4);
end;
7: MouseSpeed := 9 + Random(3);
8: MMouse(random(MSX2), random(MSY2), 0, 0);
9: Wait(1 + Random(100));
10:
begin
GameTab(1 + random(12));
for I := 0 to 6 do
Wait(300 + Random(200));
GameTab(4);
end;
end;
end;

{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
function Find(where : string): boolean;
By: Nicbaz
Description: Find Obects with reflection.
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
function FindTile(where : string; chooseop: string): boolean;
var
Tiles: TPointArray;
xx : TPoint;
begin
Flag;
case where of
'Log' :Tiles:= [Point(2550,3546)];
'Ledge' :Tiles:= [Point(2535,3547)];
'Rock2' :Tiles:= [Point(2539,3553)];
'Rock3' :Tiles:= [Point(2542,3553)];
'Swing' :Tiles:= [Point(2551,3553)];
'Lad' :Tiles:= [Point(2547,9951)];
end;
if (DistanceFrom(Tiles[0]) > 4) then
begin
WalkToTile(Tiles[0], 0, 0);
Flag;
Wait(100+random(20));
end;
XX:= TileToMS(Tiles[0], 20);
Mouse(xX.X, xX.Y, 4, 4, False);
Wait(80 + Random(120));
Result:= ChooseOption(chooseop);
Flag;
FindNormalRandoms;
end;

{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
function Find(where : string): boolean;
By: Nicbaz
Description: Find Obects with reflection.
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
function FindObjs(where,y : integer; ChooseOp: string): boolean;
var
xx : TPoint;
begin
Flag;
if FindObject(xX,where) then
XX:= TileToMS(XX, 0);
Mouse(xX.X + 5, xX.Y - y, 5, 5, false);
Wait(200 + Random(10));
Result:= ChooseOption(CHooseop);
FindNormalRandoms;
end;


{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
procedure CrossLog;
By: Nicbaz
Description: Cross's Log
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
procedure CrossLog;
var
Tile: Tpoint;

begin
Flag;
Tile:= Point(2541,3546);
if FindTile('Log','ross') then
Wait(5800+random(1000));
if (DistanceFrom(Tile) > 2) then
begin
Players[CurrentPlayer].Loc:= 'FallLog';
Writeln('Trying To cross Again');
CrossLog;
end;
end;


{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
procedure DoTower;
By: Nicbaz
Description: Cross's Log
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
procedure DoTower;
var
Tiles: TpointArray;
z: integer;

begin
Writeln(Players[0].Name + ' Is Clibing Net');
Tiles:= [Point(2532,3546),Point(2539,3546)];
Flag;
SetAngle(true);
marktime(Z);
repeat
if FindObjs(20211,13,'limb') then
Break;
if TimeFromMark(z) > 10000 then
Break;
until False;
wait(4000+random(300));
flag;
MakeCompass('N');
repeat
if FindTile('Ledge','k-acr') then
Break;
if TimeFromMark(z) > 10000 then
Break;
until False;
Writeln(Players[0].Name + ' Is Crossing Ledge');
begin
Wait(5000+random(1000));
Writeln('Crossing Ledge');
if (DistanceFrom(Tiles[0]) > 0) then
begin
Players[CurrentPlayer].Loc:= 'FailLedge';
wait(200+random(300));
WalkToTile(Tiles[1],0,0);
Writeln(Players[0].Name + ' Is Falling Re-doing Prcedure');
DoTower;
end;
MakeCompass('N');
if FindObjs(3205,3,'limb') then
wait(2000+random(400));
if (DistanceFrom(Tiles[0]) > 1) then
begin
Writeln(Players[0].Name + ' Failed');
NextPlayer(False);
Exit;
end else
begin
Writeln(Players[0].Name + ' Is Clibing NetDown Laddar');
end;
end;
end;


{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
procedure WalkToRock;
By: Nicbaz
Description: Walks To the ROck
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
procedure WalkToRock;
var
Tile: Tpoint;
z: integer;

begin
Writeln(Players[0].Name + ' Is Walking to rocks');
Tile:= Point(2535,3553);
marktime(z);
Repeat
WalkToTile(Tile,1,0);
FFlag(0);
Wait(500+random(200));
if (DistanceFrom(Tile) < 3 ) then
Exit;
If TimeFromMark(z) > 20000 then
Exit;
wait(0);
until False;
end;

{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
procedure DoRocks;
By: Nicbaz
Description: GoesThroughRocks;
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
procedure DoRocks;
var
Tiles: Tpoint;
a,b,c: integer;

begin
Tiles:= Point(2543,3553);
MarkTime(a);
Writeln(Players[0].Name + ' Is Going Through Rock 1');
repeat
if Findobjs(1948,4,'limb') then
Break;
If TimeFromMark(a) > 20000 then
Break;
until False;
wait(3400+random(300));
Marktime(b)
Writeln(Players[0].Name + ' Is Going Through Rock 2');
repeat
if FindTile('Rock2','limb') then
Break;
If TimeFromMark(b) > 20000 then
Break;
until False;
wait(3300+random(300));
Marktime(c);
Writeln(Players[0].Name + ' Is Going Through Rock 3');
repeat
if FindTile('Rock3','limb') then
Break;
If TimeFromMark(c) > 20000 then
Break;
until False;
wait(3600+random(300));
if (DistanceFrom(Tiles) > 1) then
begin
WalkToRock;
DoRocks;
end;
end;


{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
procedure SwingRope;
By: Nicbaz
Description: SwingRope;
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
procedure SwingRope;
var
Tile: Tpoint;
b,c: integer;

begin
Tile:= Point(2551,3549);
Marktime(b)
Writeln(Players[0].Name + ' Is Swing On Rope Swing');
repeat
if FindTile('Swing','wing') then
Break;
If TimeFromMark(b) > 20000 then
Break;
until False;
begin
wait(3500+random(1000));
if (DistanceFrom(Tile) > 3) then
begin
Writeln(Players[0].Name + ' Is Falling- Restarting Procedure');
wait(1000+random(400));
Marktime(c)
repeat
if FindTile('Lad','limb')then
Break;
If TimeFromMark(b) > 20000 then
Break;
until False;
wait(200+random(50));
SwingRope;
end;
end;
end;

{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
procedure MiniLoop;
By: Nicbaz
Description: Find Obects with reflection.
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
procedure MiniLoop;
begin
repeat
SetRun(True);
SwingRope;
AntiBan;
CrossLog;
AntiBan;
DoTower;
AntiBan;
WalkToRock;
AntiBan;
DoRocks;
inc(i);
LoadsLeft:= LoadsLeft - 1;
Writeln('<><><><><><>< Agilty ><><><><><><><>');
Writeln('');
Writeln('<><><><><><><'+ InttoStr(i) +' <><><><><><');
Writeln('');
Writeln('<><><><><><>< Agilty ><><><><><><><>');
until LoadsLeft = 0;
Sleep(20*60000+random(10*60000));
LoadsLeft:= Loads;
LoginPlayer;
end;

procedure writemypos;
var
Tx:Tpoint;

begin
Tx:= GetMyPos;
Writeln('Point('+Inttostr(tx.x)+','+Inttostr(tx.y)+'),');
end;

begin
SmartSetUp(SmartWorld,true,true,false);
wait(2000);
SetTargetDC(SmartGetDC);
SetupSRL;
writemypos;
ScriptID := '889';
DeclarePlayers;
SRLID := StatsUser;
SRLPassword :=StatsPass;
writemypos;
LoadsLeft:= Loads;
LoginPlayer;
repeat
MiniLoop;
until false;
end.

Pixelate

2008-10-01 06:41:33

how long can it run for? and biggest thing, how is the anti ban?

NiCbaZ

2008-10-01 07:44:54

hmm i dunno dont really have many antibans procs in there , it just sleeps and is random, no time for full antiban procs

WT-Fakawi

2008-10-01 14:59:55

Thats ok NicB. I almost forgot I made that.