SRL Archive - Archive

baja_blast1 - SRL Member Application


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…
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.

[XoL]

2012-02-28 22:48:35

No from me. Sorry. I really think you can improve your script. It is very simple and could easily be improved by adding DTM's, TPA etc. etc. Try to follow the guides below :).

Try to follow this guide to become a SRL member:
http://villavu.com/forum/showthread.php?t=74195

For learning purposes I recommend starting with YoHoJo's video tutorials, informative and they will teach you what you need to know to create a basic/decent script.
http://villavu.com/forum/showthread.php?t=69179

For more advanced scripting I would suggest reading these guides:
http://villavu.com/forum/forumdisplay.php?f=96

Also one thing I really think is important is being community focused, you have 16 posts and have been here since Jan 2012! Posting actively not only shows you genuinely care for the community it also helps your chances of getting accepted.

These guides can help you with that:
http://villavu.com/forum/showthread.php?t=72050
http://villavu.com/forum/showthread.php?t=66084

Anyway, sorry for the roughness. Good luck.

Er1k

2012-02-28 23:29:10

Again, the general things that you can improve on - low presence in community, use of autocolor, FindObj functions as only object finding method, not enough complexity in the script you're applying with.

You have a lot to explore with the SRL includes. Nevertheless a good try. Good luck next time.

'Toxin

2012-03-01 09:35:32

No from me as well, minimal use of TPA's, also, you have a findObj function in there that I doubt is written by you, would you mind telling me what the full arguments of FindObjTPAMulti are and why you chose them to be this way?

Markus

2012-03-09 09:45:17

Hey, it looks like a great start but it's not good enough yet to get members. Try to use some more advanced techniques and maybe incorporate some walking in your script.
You may reapply again in 2 weeks, good luck!