Ultra
2009-04-03 17:31:00
New version of this script is coming out soon!!!
Progress Reports
By Ultra:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~Minotaur_Exterminator~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ran: 3 Hours, 45 Minutes and 49 Seconds.
Exp: 54632.
Iron Arrows Picked: 3737.
Bronze Arrows Picked: 204.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The P/H values get messed up sometimes...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~Minotaur_Exterminator~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ran: 1 Hours, 54 Minutes and 27 Seconds.
Exp: 31360.
Iron Arrows Picked: 2065.
Bronze Arrows Picked: 159.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~Minotaur_Exterminator~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ran: 2 Hours, 1 Minutes and 39 Seconds.
Exp: 34880.
Iron Arrows Picked: 2530.
Bronze Arrows Picked: 162.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The P/H values get messed up sometimes...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~By siege turtle:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~Minotaur_Exterminator~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ran: 25 Minutes and 12 Seconds.
Exp: 4496.
Iron Arrows Picked: 341.
Bronze Arrows Picked: 12.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Exp P/H: 8992.
Iron Arrows P/H: 682.
Bronze Arrows P/H: 24.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Use this script for now, don't download the one below, it doesn't work properly.
program Minotaur_Exterminator;
{.include SRL/SRL/misc/SMART.scar}
{.Include SRL/SRL.Scar}
{.Include SRL/SRL/Skill/Fighting.Scar}
{Version 2.3}
{This script was made by Ultra}
(*Features*) (*
- Anti-ban
- Anti-randoms
- Eating
- Script tries to find a non-attacked minotaur, if none found,
it will attack one that has already been attacked!
- Fast Minotaur finding!
- Failsafes
- Picks up all arrows!
- Brake taking to avoid random events
- Trains melee and range!
And more!
*)
{S E T U P H E R E!}
const
//HPToEat = 80; // Percentage of HP you want to eat at.
FightWaitMin = 600;//Minimum miliseconds to wait in a fight.
FightWaitMax = 800;//Maximum miliseconds to wait in a fight.
Ranging = True;//Are you using ranged?
TrainingSkill = 2;//1 = Attack/Accurate Range, 2 = Strength/Rapid Range, 3 = Defence/Longrange Range.
CheckEvery = 60;//Check current exp every how many seconds? Random 2 will be added.
{FoodColor = 269827;//Pick the color of your food, then put it here.
FoodNick = 'una';//Nickname of food if your food is "Tuna" then FoodNick is 'una'}
PickUpArrows = True;//Would you like the script to pickup any arrows that are
//found on the floor?
TheMouseSpeed = 17;//14-18 is human like, 19-23 is fast but much less human like.
RandomMouseSpeed = 2;//A random amount to add to the mouse speed, 1-3 is good.
HaveBreak = False;//Do you want the script to take little brakes? Reduces randoms.
//Dont touch these unless you know what they are.
MINS = 7;
MAXS = 9;
MINT = 1;
MAXT = 20;
//Dont touch these unless you know what they are.
procedure DeclarePlayers;
begin
HowManyPlayers := 1;//How many players are going to auto in total?
NumberOfPlayers(HowManyPlayers);//No Touching.
CurrentPlayer := 0;//Which player will auto first?
Players[0].Name :='mameluke 004';//Username.
Players[0].Pass :='s199801672m0607j004';//Password.
Players[0].Nick :='ame';//Nickname. If you are not sure what this is, press Alt+F4.
Players[0].Active := True;//Is this player going to auto?
end;
var
X, Y, F, SleepMark, RandomSleepTime, WasXP, NowXP, CH, TheCH, Brakes : Integer;
O, Sleeping : Boolean;
SL : Boolean;
procedure AntiBan;
begin
case RandomRange(1, 200) of
1..80: Wait(RandomRange(800, 1400));
81..87: begin MMouse(MSX1, MSY1, MSX2, MSY2); Wait(RandomRange(300, 1000)); end;
88..90: begin GameTab(1+Random(13)); Wait(700+Random(700)); GameTab(4); end;
91..94: begin MMouse(MMX1, MMY1, MMX2, MMY2); Wait(RandomRange(300, 1000)); end;
95..97: begin MMouse(MIX1, MIY1, MIX2, MIY2); Wait(RandomRange(300, 1000)); end;
98..100: begin Mouse(MSX1, MSY1, MSX2, MSY2, False); Wait(RandomRange(300, 1000)); end;
101..180: Wait(RandomRange(800, 1400));
181..184: RandomMovement;
185..190: BoredHuman;
191..200: RandomRClick;
end;
end;
function MyEatFood:boolean;
var
i,x,y:integer;
begin
gametab(4);
for i := 1 to 28 do
if ExistsItem(i) then
begin
MMouseItem(i);
GetMousePos(x, y);
wait(150+random(50));
if (pos('Eat', rs_GetUpText) > 0) then
begin
Mouse(x,y,0,0,false);
wait(50+random(50));
if ChooseOption('Eat') then
begin
wait(350+random(150));
Result := true;
Exit;
end;
end;
end;
end;
procedure HpCheck;
var
c:Integer;
RunDir: String;
begin
if (HPPercent < 50) then
begin
if not InvEmpty then
for c := 0 to 2 do
begin
if MyEatFood then
Inc(ReportVars[2]);
end;
end;
end;
function FindNonAttackedMinotaur : Boolean;
var
TX, TY, I : Integer;
Points : TPointArray;
Minotaur2D : T2DPointArray;
MinotaurPoint : TPoint;
begin
MouseSpeed := TheMouseSpeed+Random(RandomMouseSpeed);
X := MSCX;
Y := MSCY;
FindColorsSpiralTolerance(X, Y, Points, 10529964, MSX1, MSY1, MSX2, MSY2, 5);
if Length(Points)=0 then begin Result:=False; Exit; end;
Minotaur2D := TPAToATPAEx(Points, 10, 10);
for I := 0 to Length(Minotaur2D)-1 do
begin
if not LoggedIn then begin Result:=True; Exit; end;
MinotaurPoint := MiddleTPA(Minotaur2D[i]);
TX := MinotaurPoint.X;
TY := MinotaurPoint.Y;
if not FindColorTolerance(X, Y, 65280, MinotaurPoint.X-50, MinotaurPoint.Y-50, MinotaurPoint.X+50, MinotaurPoint.Y+50, 7) then
if not FindColorTolerance(X, Y, 255, MinotaurPoint.X-50, MinotaurPoint.Y-50, MinotaurPoint.X+50, MinotaurPoint.Y+50, 7) then
begin
MMouse(TX, TY, 0, 0);
Wait(100+random(50));
if IsUpText('inot') then
begin
GetMousePos(X, Y);
case RandomRange(1, 3) of
1:
begin
Wait(250+random(75));
if IsUpText('inot') then
begin
Mouse(X, Y, 0, 0, False);
Wait(100+random(50));
if ChooseOption('ttac') then
begin
Result:=True;
F := 0;
Exit;
end;
end;
end;
2..3:
begin
Wait(250+random(75));
if IsUpText('inot') then
begin
WriteLn('case 2 or 3 of FindNonAttackedMinotaur');
Mouse(X, Y, 0, 0, False);
Wait(150+Random(75));
if ChooseOption ('ttac') then
begin
Result:=True;
F := 0;
Exit;
end;
end;
end;
end;
end;
end;
end;
Result:=False;
end;
function FindAttackedMinotaur : Boolean;
var
TX, TY, I : Integer;
Points : TPointArray;
Minotaur2D : T2DPointArray;
MinotaurPoint : TPoint;
begin
MouseSpeed := TheMouseSpeed+Random(RandomMouseSpeed);
X := MSCX;
Y := MSCY;
FindColorsSpiralTolerance(X, Y, Points, 10529964, MSX1, MSY1, MSX2, MSY2, 5);
if Length(Points)=0 then begin Result:=False; Exit; end;
Minotaur2D := TPAToATPAEx(Points, 10, 10);
for I := 0 to Length(Minotaur2D)-1 do
begin
if not LoggedIn then begin Result:=True; Exit; end;
MinotaurPoint := MiddleTPA(Minotaur2D[i]);
TX := MinotaurPoint.X;
TY := MinotaurPoint.Y;
begin
MMouse(TX, TY, 0, 0);
Wait(100+random(50));
if IsUpText('inot') then
begin
GetMousePos(X, Y);
case RandomRange(1, 3) of
1:
begin
Wait(250+random(75));
if IsUpText('inot') then
begin
Mouse(X, Y, 0, 0, False);
Wait(100+random(50));
if ChooseOption('ttac') then
begin
Result:=True;
F := 0;
Exit;
end;
end;
end;
2..3:
begin
Wait(250+random(75));
if IsUpText('inot') then
begin
Mouse(X, Y, 0, 0, True);
Wait(200+Random(100));
Result:=True;
F := 0;
Exit;
end;
end;
end;
end;
end;
end;
Result:=False;
end;
procedure wieldArrows;
begin
MouseItem( 2, true);
Wait(300+Random(276));
end;
function FindArrows : Boolean;
var
TPA : TPointArray;
P : TPoint;
I, M, FA : Integer;
begin
FA := 0;
if PickUpArrows then
begin
Disguise('Looking for arrows...');
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 734551, MSX1, MSY1, MSX2, MSY2, 5);
if Length(TPA)=0 then Exit;
for I := 0 to High(TPA) do
begin
P := TPA[i];
{MMouse(P.X, P.Y, 0, 0);
Wait(200+random(100));
if IsUpText('rrow') then
begin}
Mouse(P.X, P.Y, 0, 0, False);
Wait(150+Random(76));
if ChooseOption('rrow') then
begin
Wait(2000+Random(500))
Result:=True;
wieldArrows;
Exit;
end else
begin
FA := FA + 1;
if FA>3 then begin KeyDown(VK_Right); Wait(RandomRange(400, 700)); KeyUp(VK_Right); Exit; end;
Wait(1000+random(1000));
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 734551, MSX1, MSY1, MSX2, MSY2, 5);
if Length(TPA)=0 then Exit;
end;
if I>5 then begin KeyDown(VK_Right); Wait(RandomRange(400, 700)); KeyUp(VK_Right); Exit; end else Wait(1000+Random(1000));
end;
Result:=False;
end;
end;
procedure DoSleep;
var
SleepIn : String;
S : Integer;
begin
if HaveBreak then
begin
S :=(RandomSleepTime-TimeFromMark(SleepMark))/1000;
SleepIn := 'Break in:'+IntToStr(S)+'sec';
Disguise(SleepIn);
if (TimeFromMark(SleepMark)>RandomSleepTime) and HaveBreak then
begin
Sleeping := True;
repeat
LogOut;
until(not(LoggedIn));
Disguise('Break waiting...');
Wait(RandomRange(MINT*1000, MAXT*1000));
LogInPlayer;
Sleeping :=False;
MarkTime(SleepMark);
Brakes := Brakes + 1;
end;
end;
end;
procedure Report;
var
PH, PHExp, PHBrakes : Integer;
begin
ClearDebug;
PH := 3600000 div (GetTimeRunning);
PHExp := (PH*(NowXP-WasXP));
PHBrakes := (PH*Brakes);
WriteLn('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
WriteLn('~Minotaur_Exterminator~');
WriteLn('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
WriteLn('Ran: ' + TimeRunning + '.');
WriteLn('Exp: ' + IntToStr(NowXP-WasXP) + '.');
if HaveBreak then WriteLn('Brakes: ' + IntToStr(Brakes) + '.');
WriteLn('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
if PHExp>1 then
begin
WriteLn('Exp P/H: ' + IntToStr(PHExp) + '.');
if HaveBreak then WriteLn('Brakes P/H: ' + IntToStr(PHBrakes) + '.');
end else WriteLn('The P/H values get messed up sometimes...');
WriteLn('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
end;
begin
SMARTSetUpEX(55, False, True, False);
SetTargetDC(SMARTGetDC);
SetUpSRL;
MouseSpeed := TheMouseSpeed+Random(RandomMouseSpeed);
Wait(500+random(200));
DeclarePlayers;
if not LoggedIn then LogInPlayer;
if not Ranging then
case TrainingSkill of
1: WasXP := GetXp('attack');
2: WasXP := GetXp('strength');
3: WasXP := GetXp('defence');
end;
if Ranging then WasXP := GetXp('ranged');
repeat
MarkTime(SleepMark);
RandomSleepTime := RandomRange(MINS*1000*60, MAXS*1000*60);
SetFightMode(TrainingSkill);
MarkTime(CH);
repeat
if not LoggedIn then Exit;
if not FindColorTolerance(X, Y, 3427156, 733, 105, 734, 106, 8) then SetRun(True);
if FindNonAttackedMinotaur then
begin
Wait(RandomRange(FightWaitMin, FightWaitMax));
end else
if FindNonAttackedMinotaur then
begin
Wait(RandomRange(FightWaitMin, FightWaitMax));
end else
if not FindAttackedMinotaur then
begin
F := F + 1;
if F>10 then
begin
F := 0;
LogOut;
O := True;
end else F := 0;
KeyDown(VK_Right);
Wait(500+Random(270));
KeyUp(VK_Right);
Wait(400+random(300));
end else
Wait(RandomRange(FightWaitMin, FightWaitMax));
TheCH :=(CheckEvery+Random(2))*1000;
if(TimeFromMark(CH)>TheCH)then
begin
MarkTime(CH);
if not LoggedIn then Exit;
if not Ranging then
case TrainingSkill of
1: NowXP := GetXp('attack');
2: NowXP := GetXP('strength');
3: NowXP := GetXP('defence');
end;
if Ranging then WasXP := GetXp('ranged');
end;
{if not Heal then
if not Heal then begin LogOut; Exit; end;}
FindArrows;
Disguise('Fighting...');
HpCheck;
AntiBan;
FindNormalRandoms;
DoSleep;
Report;
SRLRandomsReport;
until(not(LoggedIn))or(Sleeping);
if not O then
begin
LogInPlayer;
O := False;
end else
begin
NextPlayer(False);
case TrainingSkill of
1: WasXP := GetXp('attack');
2: WasXP := GetXP('strength');
3: WasXP := GetXP('defence');
end;
end;
O := False;
until(False);
end.Rules
Post feedback/comments/progress reports/suggestions/errors after downloading and testing script!
Rate the script 4+ starts :).
If you work with Jagex you are not allowed to download this script!:mad:
You are not allowed to copy this script and claim it as your own!
