baja_blast1
2012-02-28 21:56:31
How Long have You Played Runescape?
4 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
I have basic knowledge in, C++ and java.
Are you a member of any other communities?
No
Tell us about yourself…
Please show us one (or multiple) of your scripts.
4 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
I have basic knowledge in, C++ and java.
Are you a member of any other communities?
No
Tell us about yourself…
From: baja_blast1
I am in my senior ear of high school and have been interested in scripting bots for runescape for a long time. I just recently started on here though because i was busy with school work up until about a month ago. I have always been interested in the world technology and have worked on many computer projects.
Please show us one (or multiple) of your scripts.
program Ogre_Destroyer;
{$DEFINE SRL5}
{$DEFINE SMART}
{$i SRL\SRL.simba}
{$i SRL\SRL\Misc\Debug.simba}
{$i SRL/SRL/skill/fighting.simba}
Const
ScriptVersion = '3.1';
PT = 1; // How many hours do you want the script to run for?
AB = 80; // Set between 60-100 for how often you want AntiBand.
// Higher The less often it will do a AntiBand.
Var
k, r, h, ch: Integer;
Procedure DeclarePlayers;
Begin
NumberOfPlayers(1);
CurrentPlayer := 0;
With Players[0] do
Begin
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Active :=True;
End;
End;
///////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////
// //
// ----> STOP <---- //
// //
///////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////
//Thank you Flight.
Procedure PrintOnSmart(TP: TStringArray; Placement: TPoint; Colour: integer);
var
mx, my, Pic, I, B, H, TPH, Numb: Integer;
TTP: TPointArray;
Canvas: TCanvas;
begin
SmartSetDebug(True);
GetClientDimensions(mx, my);
Pic := BitmapFromString(mx, my, '');
TPH := High(TP);
for I := 0 to TPH do
begin
TTP := LoadTextTPA(TP[i], SmallChars, H);
for B := 0 to High(TTP) do
begin
Numb := ((I + 1) * 13);
FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1,131072);
FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
end;
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
FreeBitmap(Pic);
end;
Procedure Paint;
begin
PrintOnSmart(['Ogre Destroyer Ver. ' + ScriptVersion, 'baja_blast1', 'Ogres Attacked: ' + IntToStr(k)
, 'XP Gained: ' + IntToStr(k*320)
,'Run Time: ' + TimeRunning], Point(10, 335), 1000000000);
end;
function Ogre: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.06, 1.64);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 7319502, MSX1, MSY1, MSX2, MSY2, 18);
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 >= 18.90) and (X <= 69.80) and (Y >= 19.49) and (Y <= 73.61) and (Z >= 12.64) and (Z <= 45.19) 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);
ClearDebug;
WriteLn('======================================================');
WriteLn('======================================================');
WriteLn('Thank you for using Ogre Destroyer ver. ' + ScriptVersion);
WriteLn('Made By: baja_blast1');
WriteLn('Ogres Attacked: ' + IntToStr(k));
WriteLn('Range XP gained: ' + IntToStr((h-ch)*-(301/100)));
WriteLn('Contitution XP gained: ' + IntToStr((h-ch)*-1));
WriteLn('Run Time: ' + TimeRunning);
WriteLn('======================================================');
WriteLn('======================================================');
Logout;
TerminateScript;
Exit;
End;
Procedure TimePlay;
Var G: Integer;
Begin
Paint;
if FindNormalRandoms then
begin
MarkTime(G);
WriteLn('===============================');
WriteLn('In Random');
WriteLn('Run Time: ' + TimeRunning);
WriteLn('===============================');
If TimeFromMark(G) > (600000) Then
WriteLn('Stuck in Random');
WriteLn('Run Time: ' + TimeRunning);
TerminateScript;
end;
if TimeFromMark(r) > (((PT*1000)*60)*60) then
begin
WriteLn('Times Up');
ProgReport;
end;
Paint;
end;
Procedure AntiBand;
Begin
If Not LoggedIn Then
begin
ProgReport;
end;
WriteLn('AntiBan Started');
case Random(AB) of
1..10: Begin
Paint;
WriteLn('Moving Mouse') SleepAndMoveMouse(1500 + Random(500)); End;
11..20: Begin
Paint;
WriteLn('Waiting Random Time') Wait(RandomRange(1000, 4000)); End;
21..26: Begin
Paint;
WriteLn('Bored Human') Boredhuman; End;
27..32: Begin
Paint;
WriteLn('Hovering Range') Hoverskill('range', False); End;
33..59: Begin
Paint;
WriteLn('Random Movement') RandomMovement; End;
60..100:Begin
Paint;
WriteLn('No AntiBand') Exit; End;
End;
Paint;
End;
Procedure SetCamera;
Begin
WriteLn('Camera set at 360') MakeCompass('360');
SetAngle(SRL_ANGLE_HIGH);
End;
Procedure Intro;
Begin
WriteLn('=======================================');
WriteLn('Welcome to Ogre Destroyer ver. ' + ScriptVersion);
WriteLn('=======================================');
End;
function Attacking:Boolean;
var
Box: TBox;
begin
Box := IntToBox(245, 130, 285, 195);
Result := (AveragePixelShift(Box, 500, 3000) > 450);
end;
Procedure Attack;
Var O, x, y: Integer;
Label Ugly;
Begin
Ugly:
FindNormalRandoms;
If Not LoggedIn Then
begin
ProgReport;
end;
Paint;
x:=MSCX;
y:=MSCY;
if FindObjTPAMulti(x, y, [Ogre],5, 1, 10, 15, 30, ['more', 'gre', 'Ogre', '4 more', '2 more']) Then
begin
MarkTime(O);
Mouse(x, y, 2, 2, false);
WriteLn('Ogre Found');
WaitOption('ttack', 500 + Random(150));
If not DidRedClick then
goto Ugly;
WriteLn('Destroying the Ogre');
AntiBand;
repeat
Paint;
Wait(100);
Until (not Attacking);
If TimeFromMark(O) < (15000) Then
goto Ugly;
WriteLn('Ogre Dead');
k := k+1;
Paint;
end;
end;
Procedure Deal;
Begin
ChatsOff;
Wait(800);
Mouse(259, 492, 7, 7, True);
Wait(200);
End;
Procedure RunningTime;
Begin
Paint;
ClearDebug;
WriteLn('=================================================');
WriteLn('baja_blast1');
WriteLn('Ogre Destroyer Ver. ' + ScriptVersion);
WriteLn('=================================================');
WriteLn('Ogres Attacked: ' + IntToStr(k));
WriteLn('Run Time: ' + TimeRunning);
WriteLn('=================================================');
End;
//ALL credit for updater goes to Justin Thankyou.
procedure AutoUpdateMe();
var
GetVersion: string;
Begin
GetVersion := GetPage('http://ogre-destroyer.googlecode.com/git/version.txt ');
if (GetVersion > ScriptVersion) then
begin
Writeln('The version you''re using is outdated!');
Writeln('Downloading new version...');
if (WriteFileString(RewriteFile(ScriptPath + 'OD.simba',
true), GetPage('http://ogre-destroyer.googlecode.com/git/OD.simba'))) then
Writeln(
'Successfully downloaded the script! Please close the script and re-open to see the changes, thank you!');
TerminateScript;
end
else
Writeln('You have the current version, good to go!');
end;
Procedure LogIn;
Begin
AutoUpdateMe;
Smart_Server:=44
Smart_Members := True;
Smart_SuperDetail := False;
SetUpSRL;
DeclarePlayers;
LogInPlayer;
MouseSpeed := RandomRange(18, 24);
End;
begin
LogIn;
Intro;
Wait(6000 + Random(500));
WriteLn('Starting Script');
h := XPFInder(3);
MarkTime(r);
GameTab(tab_Inv);
SetCamera;
k := 0;
Deal;
Repeat
Paint;
Attack;
Paint;
TimePlay;
Paint;
RunningTime;
Until(false);
end.