USE AT OWN RISK
WILL MESS UP OFTEN
This is my first script. I still have a little work to do on it and any comments would be appreciated. I recommend this script for accounts with members due to the fact that it relies on a tele tab to tele out if it is about to die.
I ran this script for a total of 20 hour and it only went over to the skeletons side 2 times.
IMPORTANT: Keep your tele in the bottom right corner of the inventory. I also equip a ring of life. You should use a short/long bow with arrows due to a fact that a sling will make it run across.
I have some pictures showing my recommended set up and where u should place your guy.
Also thank you Yohojo for your tutorials.
Update: Version 0.4 Prints a report, i am still working on making it stay in one area and detecting randoms just been really busy.
3hr Report
================================================== ====
================================================== ====
Thank you for using Skeleton Killer ver. 0.4
Made By: baja_blast1
Range XP gained: 52347
Contitution XP gaiined: 17449
Run Time: 3 Hours, 1 Minutes and 2 Seconds
================================================== ====
================================================== ====
[IMG]http://img807.imageshack.us/img807/1197/pathy.png Uploaded with ImageShack.us[/IMG]
[IMG]http://img20.imageshack.us/img20/417...requipment.png Uploaded with ImageShack.us[/IMG]
[IMG]http://img846.imageshack.us/img846/4...requipment.png Uploaded with ImageShack.us[/IMG]
Code:program VarSkellieKiller;
//---------IMPORTANT READ BELOW-------------
// You must use a short/long bow with arrows or the bot will run to the other side. Havn't tested knifes or darts but im gessing same outcome.
//This script will also run to the other side and die. I mad it so it will tele if yo put a tele tab in the botom right squar.
// UPDATE 0.4
//Added a Progress Report and Script timer.
{$DEFINE SRL5}
{$DEFINE SMART}
{$i SRL\SRL.simba}
{$i SRL\SRL\Misc\Debug.simba}
{$DEFINE UseLaptopMouse}
{.include SRL/SRL/Skill/Fighting.simba}
Const
AT = 4000; // How long do you want to attack the Skeleton for? My 77 range w/ iron arows and magic short takes around 5 seconds.
Version = '0.4';
PT = 1; //How long do you want the script to run for( 1, 2, 3, 4, 5, 6)hrs?
Var
r, h, ch, W: Integer;
Procedure DeclarePlayers;
Begin
NumberOfPlayers(1);
CurrentPlayer := 0;
With Players[0] do
Begin
Players[0].Name :=''; //Username
Players[0].Pass :=''; //Password
Players[0].Active :=True;
End;
End;
function HPLow: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(1.12, 4.61);
FindColorsSpiralTolerance(MICX, MICY, arP, 12224083, MIX1, MIY1, MIX2, MIY2, 7);
if (Length(arP) = 0) then
begin
//Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 12.62) and (X <= 29.67) and (Y >= 6.06) and (Y <= 33.22) and (Z >= 38.54) and (Z <= 60.83) then
begin
Result := arC[i];
//Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
//Writeln('AutoColor failed in finding the color.');
end;
function XPFinder(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(400 + random(200));
if (WaitFindColors(tpa, 15133931, MIX1, MIY1, MIX2, MIY2, 0, 3000)) then
begin
b := getTPABounds(tpa);
wait(400 + random(150));
result := strToIntDef(getNumbers(getTextAt(b.x1 + 15, b.y1 + 15, 0, 1, 4, 4305653, 0, 75, smallChars)), -1);
end;
end;
Procedure ProgReport;
Begin
ch := XPFinder(3);
WriteLn('======================================================');
WriteLn('======================================================');
WriteLn('Thank you for using Skeleton Killer ver. ' + Version);
WriteLn('Made By: baja_blast1');
WriteLn('Range XP gained: ' + IntToStr((h-ch)*-3));
WriteLn('Contitution XP gaiined: ' + IntToStr((h-ch)*-1));
WriteLn('Run Time: ' + TimeRunning);
WriteLn('======================================================');
WriteLn('======================================================');
Logout;
TerminateScript;
Exit;
End;
Procedure HPCheck;
Var
x, y: Integer;
Begin
WriteLn('Checking HP')
if (HPPercent < 40) and LoggedIn then //Thank you narcle and justin
begin
GameTab(tab_Inv);
if FindObjTPA(x, y, HPLow, 5, 1, 22, 22, 50, ['arrock']) then
begin
WriteLn('Taking Damage')
wait(100);
Mouse(x, y, 2, 2, True);
WriteLn('Tele')
ProgReport;
end;
end;
WriteLn('HP Good');
GameTab(tab_Inv);
End;
Procedure AntiBand;
Begin
WriteLn('AntiBan Started');
case Random(4000) of
0: Begin WriteLn('Moving Mouse') SleepAndMoveMouse(3000 + Random(500)); End;
1: Begin WriteLn('Examining Inventory') GameTab(tab_Inv)ExamineInv; End;
2: Begin WriteLn('Waiting 3 seconds') Wait(3000 + Random(500)) End;
3: Begin WriteLn('Hovering Range XP') GameTab(tab_Stats) HoverSkill('Range', False) Wait(1000+ Random(500)) GameTab(tab_Inv); End;
4: Begin WriteLn('Hovering Constitution XP') GameTab(tab_Stats) HoverSkill('Constitution', False) Wait(1000 + Random(500)) GameTab(tab_Inv); End;
5: Begin WriteLn('Random Movement') RandomMovement; End;
6..1996: Begin WriteLn('Waiting 2 second') Wait(2000 + Random(500)); End;
End;
End;
Procedure SetCamera;
Begin
WriteLn('Camera set at 340') MakeCompass('340');
End;
Procedure Xp;
Begin
Mouse(532, 64, 2, 2, True);
End;
Procedure Intro;
Begin
WriteLn('=============================================');
WriteLn('Welcome to Skeleton Killer ver. ' + Version);
WriteLn('Made By: baja_blast1');
WriteLn('=============================================');
End;
function Skeleton: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.00, 0.05);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 6514792, MSX1, MSY1, MSX2, MSY2, 8);
if (Length(arP) = 0) then
begin
//Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 8.46) and (X <= 18.22) and (Y >= 9.00) and (Y <= 19.36) and (Z >= 9.06) and (Z <= 19.62) then
begin
Result := arC[i];
//Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
//Writeln('AutoColor failed in finding the color.');
end;
function Time(TimeMarker: Integer): Integer;
begin
Result := GetSystemTime - TimeMarker;
end;
Procedure Attack;
Var x, y: Integer;
Begin
x:=MSCX;
y:=MSCY;
if FindObjTPA(x, y, Skeleton,5, 1, 10, 15, 30, ['Skele']) Then
begin
WriteLn('Skeleton Located');
Mouse(x, y, 2, 2, false);
WaitOption('ttack', 500 + Random(150));
WriteLn('Fighting');
Wait(AT + Random(500));
end;
end;
Procedure TimePlay;
Begin
if TimeFromMark(r) > (((PT*1000)*60)*60) then
begin
WriteLn('Times Up');
ProgReport;
end;
end;
begin
Smart_Server:=44
Smart_Members := True;
Smart_SuperDetail := False;
SetUpSRL;
DeclarePlayers;
LogInPlayer;
Intro;
Wait(6000 + Random(500));
WriteLn('Starting Script');
//Xp;
h := XPFInder(3);
MarkTime(r);
SetCamera;
SetAngle(SRL_ANGLE_LOW);
Repeat
Attack;
AntiBand;
HPCheck;
TimePlay;
Until(false);
end.
Skeleton Killer3 v0.3
Newest is v0.4 Download Now!!!!
