Alligaattor
Member
- Joined
- Mar 22, 2007
- Sythe Gold
- 0
- Messages
- 30
Is this script old?
I'd like to know before using it!
Tyvm in advance!
________________________________________________________________
I'd like to know before using it!
Tyvm in advance!
________________________________________________________________
Code:
program SoupysAutoRanger;
{.include SRL/SRL.scar}
{.include SSM.scar}
{.include SRL/SRL/Misc/Playerform.scar}
{.include SRL/SRL/Skill/Ranging.scar}
var
StartTime, PlayTime, RunningTime: LongInt;
var
PickedUpItem,Logins, Goblins: integer;
Var
Goblin,xaa,yaa:integer;
var
SST1, SST2:LongInt;
//----------------------------------------------------------------------------//
// Fill Out These Constants Before You Start the Script
const PlayerTime = 1000;
const RandomPlayerTime = 1000;
const GoblinTimeOut = 30000;
Const StopFightinghp = 10; //Hp at which to stop fighting
Const StartFightinghp = 20; // Hp at which to continue fighting
const ArrowType = 'Bronze';
//----------------------------------------------------------------------------//
Const VersionNumber = 'v.1.2';
//----------------------------------------------------------------------------//
Procedure DeclarePlayers;
begin
Setupplayers;
end;
//----------------------------------------------------------------------------//
procedure DTMM;
begin
Goblin := DTMFromString('78DA63EC62606058CE8002E20BF9185881342' +
'310FF0702003EEC0613');
end;
//----------------------------------------------------------------------------//
//----------------------------------------------------------------------------//
//----------------------------------------------------------------------------//
Procedure ProgressReport;
begin
writeln(' ');
WriteLn ('||^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^||');
WriteLn ('||<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>||');
WriteLn ('|| | --> Soupys AutoRanger <-- ||');
WriteLn ('||-> '+VersionNumber+' <-| <-||');
WriteLn ('|| --> Progress Report -> by SoupyBastrd <-- ||');
Writeln ('||<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >||');
Writeln ('|| Worked for '+ TimeRunning +' ||');
Writeln ('|| Attacked '+inttostr(Goblins)+' Goblins. ||');
Writeln ('|| Logged In '+ inttostr(Logins)+' Times ||');
Writeln ('|| Picked Up ' + inttostr(PickedUpItem) +' Arrows ||');
Writeln ('|| And Other Items ||');
Writeln ('||<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>||');
Writeln ('||^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^||');
SRLRandomsReport;
end;
//----------------------------------------------------------------------------//
Procedure MyAntiBan;
var
DontBanMe : Integer;
begin
if ( not ( LoggedIn )) then Exit;
DontBanMe:= Random(12);
case DontBanMe of
1: RandomRClickEvery(2 + Random(13));
2: hoverskill('random', false);
3: RandomChatEvery(10 + Random(5));
4: RotateEvery(20 + Random(10));
5: LeaveScreenEvery(5 + Random(5));
6: HoverEvery(15 + Random(5),'random');
8: PickUpMouse;
9: BoredEvery(9 + Random(24));
10: if ExistsItem ( 1 ) then
DragItem(1, 1+Random(18));
11: GameTab(1 + Random(12));
12: DoEmote(1 + Random(20));
end;
end;
//----------------------------------------------------------------------------//
procedure FindRandoms;
begin
if ( not ( LoggedIn )) then Exit;
if ( not ( UseBoxSolver )) then
if FindNewBox and
not ( GambleNewBox ) then
begin
Players[CurrentPlayer].loc := 'NewBox';
Logout;
Exit;
end;
if InBlack then
begin
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
Wait(1);
if NoGameTab then
begin
Players[CurrentPlayer].loc := 'GameTab';
Logout;
Exit;
end;
FindNormalRandoms;
MyAntiBan;
Wait(1);
end;
//----------------------------------------------------------------------------//
Procedure DropAllJunk;
var items:Longint;
var N:integer;
begin
N := Random(20)
if N = 1 then
begin
Items := 1;
Repeat
Items := Items + 1;
if(existsitem(Items)) then
begin
MmouseItem(Items);
if (GetOption = 'Weild') or
(isuptext('Arrow')) then
begin
Exit;
end
else
MouseItem(Items,False);
ClickOption('Drop',2);
end;
Until(Items>28);
end;
end;
//----------------------------------------------------------------------------//
Procedure SetUpScript;
begin
DTMM;
SetupSRL;
DeclarePlayers;
MarkTime(SST1);
MarkTime(SST2);
Reincarnate := True;
LoginPlayer;
Logins := Logins +1;
wait(3000 +random(200));
HighestAngle;
MakeCompass('N');
ProgressReport;
end;
//----------------------------------------------------------------------------//
procedure SetPlayerParams;
begin
if ( not ( LoggedIn )) then Exit;
PlayTime := PlayerTime + Random ( RandomPlayerTime);
writeln ( ' Will Switch User in ' + IntToStr ( PlayTime / 60 ) +' mins.');
GameTab(1);
LampSkill := LowerCase ( Players[CurrentPlayer].Skill );
SetChat('on', 1);
SetChat('friends', 2);
SetChat('on', 3);
SetChat('on', 1);
StartTime := (GetSystemTime div 1000);
end;
//----------------------------------------------------------------------------//
Procedure RandomCompassLeft;
begin
KeyDown(VK_Left);
Wait((1)+ Random(500));
KeyUp(VK_Left);
end;
//----------------------------------------------------------------------------//
Procedure RandomCompassRight;
begin
KeyDown(VK_Right);
Wait((1)+ Random(500));
KeyUp(VK_Right);
end;
//----------------------------------------------------------------------------//
Procedure RandomCompassDirection;
var c:integer;
begin
c := random(16);
case c of
1:RandomCompassRight;
2:RandomCompassLeft;
3:RandomCompassRight;
4:RandomCompassLeft;
5:MakeCompass('S');
6:MakeCompass('E');
7:MakeCompass('W');
8:MakeCompass('N');
end;
end;
//----------------------------------------------------------------------------//
Procedure SoupysRandomTalk;
var talk,talk1:integer;
begin
Talk1:=random(8)
if(talk1 = 1) then
begin
talk :=Random(50);
Case Talk of
1:TypeSend('nobzorz');
2:TypeSend('lmao noobs');
3:TypeSend('screwed');
4:TypeSend('oo Sexy');
5:TypeSend('My Bush is big');
6:TypeSend('do you have a bush?');
7:TypeSend('who would vote for bush?');
8:SendKeys('wow nobcaks');
9:SendKeys('omfg republicans r noobs');
10:TypeSend('Liberal.');
11:TypeSend('a village in texas is missing its idiot');
12:TypeSend('is it 2008 yet?');
13:TypeSend('its raining noobs');
14:TypeSend('rofl lmao noobs');
15:TypeSend('omg go away noobs');
16:TypeSend('Damn Low Hp');
17:TypeSend('Fuck I Hate Waiting');
18:TypeSend('Damn');
19:TypeSend('Crazy');
20:TypeSend('WTF');
21:TypeSend('arrgh i hate this');
22:TypeSend('pfft');
23:TypeSend('zomg');
24:TypeSend('omg');
25:TypeSend('Holy SHizza!');
26:TypeSend('omfg');
27:TypeSend('wowzerz');
28:TypeSend('Low Hp');
29:TypeSend('oo low');
30:TypeSend('wow thats low');
31:TypeSend('...');
32:TypeSend('roflmfao');
33:TypeSend('noobs');
34:TypeSend('pure nob');
35:TypeSend('pur3 bithces');
36:TypeSend('ub3r ownr');
37:TypeSend('wowzerslicious');
38:TypeSend('zomfgnoobs');
39:TypeSend('ooooooOOOoo');
40:TypeSend('ooOoo nobcakes poop noobs arghl');
end;
end;
end;
//----------------------------------------------------------------------------//
Procedure RandomShit;
var s:integer;
begin
repeat
S := Random(25)
Case S of
1:HoverSkill('Ranging',False);
2:HoverSkill('Mining',False);
3:HoverSkill('WoodCutting',False);
4:HoverSkill('Attack',False);
5:HoverSkill('Strength',False);
6:HoverSkill('Defense',False);
7:HoverSkill('Magic',False);
8:HoverSkill('Health',False);
9:HoverSkill('Smithing',False);
10:HoverSkill('Fletching',False);
11:HoverSkill('Slayer',False);
12:HoverSkill('Prayer',False);
13:RandomCompassLeft;
14:RandomCompassRight;
15:RandomCompassDirection
16:SoupysRandomTalk;
17:SoupysRandomSentence;
18:RandomEmote;
19:RandomEmote;
20:RandomEmote;
21:RandomEmote;
22:RandomEmote;
23:RandomEmote;
24:RandomEmote;
25:RandomEmote;
end;
Until(gethp>StartFightingHp);
HoverSkill('Ranging',False);
wait(1000+random(1000))
end;
//----------------------------------------------------------------------------//
Function CheckHp:Boolean;
var Hp:integer;
begin
Hp := Random(2);
if Hp = 1 then
begin
if(gethp<StopFightingHp) then
begin
RandomShit;
Result := True;
end
else
Result := False;
end;
end;
//----------------------------------------------------------------------------//
Function AttackGoblin: Boolean;
begin
if(finddtm(Goblin,xaa,yaa,Msx1,msy1,msx2,msy2))then
begin
MMouse(xaa, yaa, 0, 0);
if IsUpTextMulti('ack','at','lin') then
begin
ClickMouse(xaa,yaa,False);
wait(100 + random(500))
if(ChooseOption(x,y,'Attack'))then
begin
Result := True;
Goblins := Goblins + 1;
Players[CurrentPlayer].Killed := Players[CurrentPlayer].Killed+1;
end;
end;
Exit;
end;
end;
//----------------------------------------------------------------------------//
Procedure FightGoblin;
var Mark69:Integer;
begin
FFlag(10);
MarkTime(Mark69);
if((not (Loggedin)) or (WeAreDead)) then Exit;
findnormalrandoms;
FindTalk;
if (TimeFromMark(Mark69) > GoblinTimeOut + Random ( GoblinTimeOut / 2 )) then Exit;
end;
//----------------------------------------------------------------------------//
function PickUpTheArrow: Boolean;
var
Arrow, TakeArrows, xa, ya: Integer;
begin
Arrow := DTMFromString('78DA63E467646038CE8002428D39185881345' +
'086E13F1000002D87056B');
TakeArrows := BitmapFromString(124, 3, 'z78DA3330C00EDC9000' +
'F1B2C488136F3231EA4701E5C0CDCDD2C0044A52224E2D35C488E' +
'32749F13BADD23979268C82D1748E2B3DD32E9D935AF652ABFC1F' +
'4DFFF449EDF8530EB5D2397E7BF1AB275E1C0200EA89C450');
if FindDTM(Arrow, xa, ya, msx1, msy1, msx2, msy2) then
begin
Mmouse(xa,ya,1,1);
Mouse(xa,ya,0,0,false);
wait(10);
If(FindBitmap(TakeArrows, xa, ya)) then
begin
mmouse(xa,ya,0,0);
mouse(xa,ya,0,0,True);
Wait(2000+ random(500));
PickedUpItem := PickedUpItem +1;
Result := True;
end
else
Result := False;
end;
end;
//----------------------------------------------------------------------------//
{*******************************************************************************
Function WeildArrow(Arrow:string):boolean;
By: SoupyBastrd
Description:Weilds The Selected Arrow. Rune Not Supported.
*******************************************************************************}
Function WeildArrow(Arrow:String):Boolean;
var arrowcolor,xaa,yaa:integer;
var bronze,iron,steel,mithril,adamant:integer;
begin
Bronze := 1847874;
Iron := 3552826;
Steel := 9079455;
Mithril:= 5322294;
Adamant:= 3754297;
If (Arrow = 'Bronze') then
begin
ArrowColor := Bronze;
end
else
If (Arrow = 'Iron') then
begin
ArrowColor := Iron;
end
else
If (Arrow = 'Steel') then
begin
ArrowColor := Steel;
end
else
If (Arrow = 'Mithril') then
begin
ArrowColor := Mithril;
end
else
If (Arrow = 'Adamant') then
begin
ArrowColor := Adamant;
end
if(findcolorspiraltolerance(xaa,yaa,ArrowColor,MIX1,MIY1,MIX2,MIY2,5))then
begin
mmouse(xaa,yaa,0,0)
mouse(xaa,yaa,0,0,True);
Result := True;
end
else
Result := False;
end;
//----------------------------------------------------------------------------//
Procedure SayRandomSentence;
var L:integer;
begin
L := Random(20)
if L = 1 then
begin
SoupysRandomSentence;
end;
end;
//----------------------------------------------------------------------------//
Function NoArrows:Boolean;
begin
if(ischatMessage('There is No Ammo Left In Your Quiver'))then
begin
if(WeildArrow(arrowtype))then
begin
Result := False;
end
else
begin
Result := True;
end;
end;
end;
//----------------------------------------------------------------------------//
Function CheckRangedLevel:Boolean;
begin
if(inchatmulti('Ran','ange','lvl'))then
begin
TypeSend('' + inttostr(GetSkillLevel('Ranging')));
result := True;
end
else
begin
result :=False;
end;
end;
//----------------------------------------------------------------------------//
Function CheckLogin:Boolean;
begin
if(not loggedin) then
begin
result :=True;
end
else
Result := False;
end;
//----------------------------------------------------------------------------//
Procedure DoArrowStuff;
var B:integer;
begin
repeat
Wait(1000+random(2000))
Until(PickupTheArrow = False);
WeildArrow(ArrowType);
B := Random(10);
if(B = 1) then
begin
ProgressReport;
end;
If(NoArrows = True) then
begin
logout;
end;
end;
//----------------------------------------------------------------------------//
begin
repeat
SetupScript;
SetPlayerParams;
repeat
Repeat
DoArrowStuff;
SoupysrandomTalk;
CheckHp;
wait(1000+random(100));
until(AttackGoblin = True);
FightGoblin;
RandomCompassDirection;
wait(100 + random(500));
CheckHp;
Wait(2000+random(1000));
DoArrowStuff;
RandomCompassDirection;
CheckHp;
SoupysRandomTalk;
DropAllJunk;
SayRandomSentence;
wait(2000+random(1000));
until((RunningTime - StartTime > PlayTime)or(CheckLogin=True));
Writeln('Switching User Now');
NextPlayer(True);
Logins := Logins +1;
until(False);
end.


