SRL Archive - RS3 Outdated / Broken Scripts

[Ref] Ogre ranging script!


Naike

2008-12-23 19:31:11



Moved to JR.Members!
Enjoy it.

Note:
This is my yearly script to Jr.membs :rolleyes:!
Overusing this will result in me removing it.
Hope you like it.

Ogre Ranger! Version 2.0
By N1ke!

Don't got reflections? Go here

You need by responder for this to work,
Download the puplic version here then
overwrite the CAutoResponder with the one
i included in this post.

What it does
  • Kill Ogres
  • Responds to simple questions
  • Logs if you got -100 arrows/darts/knives
  • SMART Paint CharReport&Scar ProgressReport
  • ToolBox!



ToolBox!

ToolBox! is a Runtime form which can be opened
pushing F10(Defualt key). From that window you can
select things the script will do. For this script
i've got the following
This form can be up and running at the same time
as the script kills ogres without lag or freezing.
After you click on something it will take 0-5 secs for
the script to do what it's told.



Don't forget to Enable Debug on S.M.A.R.T otherwise painting will not work.

Replace GameTab.scar with the reflection one, as it fixes the Interface problems.

For best result download the Worldswitcher.scar and replace it with SRL's current one.


This is the final release, it will not be uptaded anymore!.

I take no responsibility for banned/killed chars!


program New;
{.include SRL/SRL/Misc/SMART.scar}
{.include SRL/SRL.scar}
{.include srl/srl/misc/worldswitcher.scar}
{.include SRL/SRL/Reflection/Reflection.scar}
{.include SRL/SRL/Misc/FindXP.Scar}

Type
Progress = Record
StartExp, StartLevels, ExpGain, LevelsGain : Array [1..2] of Integer;
WeaponSpot : Integer;
Weapon : TInvItem;
Time : Integer;
end;

var
ProgressPlayer : array of Progress;
TotalExp, TotalLevels, TotalAttacks,OgreIndex, Counter, Action: integer;
TypeThis: String;
frmDesign : TForm;
Button : array [0..5] of TButton;
TS : TEdit;

const
DebugMode = False;

ChangeWorldIfCannon = True;
FKeyForOptions = 10;

XCordForSMARTProggie = 6;
YCordForSMARTProggie = 25;

procedure DeclarePlayers;
begin
HowManyPlayers:= 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True;
Players[0].Booleans[0] := False; // Logout about every 10 minutes.
Players[0].Booleans[1] := True; // Sleep once in a while.. /Needs Booleans[0] true.
Players[0].Booleans[2] := True; // Take long sleeps. Good for 24/hour runs. /Needs Booleans[0] true.
Players[0].Booleans[3] := True; // Special attack?
Players[0].Booleans[4] := False; // Right Click only?

Writeln( IntToStr ( HowManyPlayers ) + ' Players' );
SetPlayerNameTPAs;
SetArrayLength(ProgressPlayer, HowManyPlayers);
end;

Procedure DebugThis(S :String);
begin
If DebugMode Then
Writeln(s + ' | LoggedIn : ' + BoolToStr(LoggedIn));
end;

Procedure WantOptions;Forward;

Procedure DoButton1(Sender : TObject);
begin
TypeThis := TS.Text;
TS.Text := '';
Action := 1;
end;

Procedure DoButton2(Sender : TObject);
begin
Action := 2;
end;

Procedure DoButton3(Sender : TObject);
begin
Action := 3;
end;

Procedure DoButton4(Sender : TObject);
begin
Action := 4;
end;

Procedure DoButton5(Sender : TObject);
begin
Action := 5;
end;

Procedure DoButton6(Sender : TObject);
begin
Action := 6;
end;

procedure InitForm;
var
i: integer;
begin
frmDesign := CreateForm;
frmDesign.Left := 200;
frmDesign.Top := 345;
frmDesign.Width := 200;
frmDesign.Height := 345;
frmDesign.Caption := 'ToolBox!';
frmDesign.Color := clBlack;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [];
frmDesign.Visible := True;
frmDesign.PixelsPerInch := 96;
frmDesign.BorderStyle := BsSingle;

TS := TEdit.Create(frmDesign);
TS.Parent := frmDesign;
TS.Left := 100;
TS.Top := 23;
TS.Width := 70;
TS.Height := 20;

For i:=1 to 5 do
begin
Button[i] := TButton.Create(frmDesign);
Button[i].Parent := frmDesign;
Button[i].Left := 30;
Button[i].Top := 16 + I * 48;
Button[i].Width := 140;
Button[i].Height := 33;
Button[i].TabOrder := I;
end;
Button[0] := TButton.Create(frmDesign);
Button[0].Parent := frmDesign;
Button[0].Left := 30;
Button[0].Top := 16;
Button[0].Width := 65;
Button[0].Height := 33;
Button[0].OnClick := @DoButton1;
Button[0].Caption := 'Type this';

Button[1].OnClick := @DoButton2;
Button[1].Caption := 'Special attack';

Button[2].OnClick := @DoButton3;
Button[2].Caption := 'NextPlayer(True)';

Button[3].OnClick := @DoButton4;
Button[3].Caption := 'NextPlayer(False)';

Button[4].OnClick := @DoButton5;
Button[4].Caption := 'Uptade ProgressReport';

Button[5].OnClick := @DoButton6;
Button[5].Caption := 'Change world';
end;

procedure SafeInitForm;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
end;

procedure ShowFormModal;
begin
frmDesign.Show;
end;

procedure SafeShowFormModal;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;

Procedure OpenForm;
begin
SafeInitForm;
SafeShowFormModal;
end;

Procedure GetWeapon;
var
Equiped : TItemArray;
begin
DebugThis('GetWeapon Started.');
Equiped := GetEquippedItems;
If Equiped[3].Stack > 100 then
Begin
ProgressPlayer[CurrentPlayer].WeaponSpot := 3;
ProgressPlayer[CurrentPlayer].Weapon.ID := Equiped[3].ID;
ProgressPlayer[CurrentPlayer].Weapon.Stack := Equiped[3].Stack;
Exit;
end;
If Equiped[13].Stack > 100 then
begin
ProgressPlayer[CurrentPlayer].WeaponSpot := 13;
ProgressPlayer[CurrentPlayer].Weapon.ID := Equiped[13].ID;
ProgressPlayer[CurrentPlayer].Weapon.Stack := Equiped[13].Stack;
Exit;
end;
end;

Function HowMuchAmmo: Integer;
begin
DebugThis('HowMuchAmmo Started.');
Result := GetEquippedItemAmountAt(ProgressPlayer[CurrentPlayer].WeaponSpot);
Writeln('Ammo left : ' + IntToStr(Result));
DebugThis('HowMuchAmmo ended : ' + IntToStr(Result));
end;

Procedure CheckAmmo;
begin
DebugThis('CheckAmmo Started.');
If HowMuchAmmo < 100 then
begin
WriteLn(Players[CurrentPlayer].Name + ' Logged. Cause: Low ammo.');
LogOut;
Exit;
end;
end;

Function ChangeWorld(WorldNumber: Integer; Members, Pvp: Boolean): Boolean;
begin
If LoggedIn Then Logout;
Wait(1000+Random(2000));
If WorldNumber > 0 then
begin
Result := SelectWorld(WorldNumber);
Exit;
end;
Result := SelectWorld(RandomWorld(Members, Pvp));
end;

Function FindCannon: Boolean;
var TempT : TPoint;
begin
If ChangeWorldIfCannon then
Result := FindObjectEx(TempT, 6, 25);
end;

Function DealWithCannon:Boolean;
begin
If FindCannon Then
begin
DebugThis('Found Cannon, Changing world.');
LogOut;
ChangeWorld(0, True, False);
Wait(RandomRange(1500, 10000));
LoginPlayer;
Result := True;
end;
end;

{*******************************************************************************
Function CountSpecial: Integer;
By: N1ke!
Description: Counts special attack power, results in 25, 50, 75 or 100.
*******************************************************************************}
Function CountSpecial: Integer;
var
Spec : array [1..2] of TPoint;
i, x, y : Integer;
begin
If Not GameTab(1)Then Exit;
Spec[1] := Point(602, 417);
Spec[2] := Point(619, 426);
Wait(250+Random(500));
For i:=1 to 4 do
begin
If FindColorTolerance(x, y, 4294720, Spec[1].X, Spec[1].Y, Spec[2].X, Spec[2].Y, 10)then
begin
Result := Result + 25;
Spec[1] := Point(Spec[1].X + 28, Spec[1].Y);
Spec[2] := Point(Spec[2].X + 28, Spec[2].Y);
end else Exit;
end;
end;


{*******************************************************************************
Function UseSpecial(PowerNeed: Integer):Boolean;
By: N1ke!
Description: Uses special. Powerneed = How much power you need to
perform a special attack ( 25/50/75/100% ).
*******************************************************************************}
Function DoSpec(PowerNeed: Integer):Boolean;
begin
DebugThis('DoSpec Started.');
If Not Players[CurrentPlayer].Booleans[3] then Exit;
If CountSpecial >= PowerNeed then
begin
MouseBox(574, 417, 710, 426, 1);
Result := True;
end;
end;

{*******************************************************************************
Function ChangeWorld: Boolean;
by: N1ke!
Description: Changes world.
Leave WorldNumber to 0 for random world. If so choose Members/Pvp booleans.
*******************************************************************************}

Function CountPeople: Integer;
var
CDS : Array of Tplayer;
begin
DebugThis('CountPeople Started.');
CDS := GetPlayers;
Result := Length(CDS);
DebugThis('CountPeople Ended : ' + IntToStr(Result));
end;

Function Crowded: Boolean;
Begin
Result := CountPeople >= 4;
end;

Procedure Gained;
var
MyStuff : TMe;

begin
DebugThis('Gained Started.');
MyStuff := GetMe;
If not Players[CurrentPlayer].Booleans[5] then
begin
ProgressPlayer[CurrentPlayer].StartExp[1] := MyStuff.Experience[3];
ProgressPlayer[CurrentPlayer].StartExp[2] := MyStuff.Experience[4];
ProgressPlayer[CurrentPlayer].StartLevels[1] := SmartGetFieldArrayInt(0, MaxLevels, 3);
ProgressPlayer[CurrentPlayer].StartLevels[2] := SmartGetFieldArrayInt(0, MaxLevels, 4);
Players[CurrentPlayer].Booleans[5] := True;
Exit;
end;
ProgressPlayer[CurrentPlayer].ExpGain[1] := MyStuff.Experience[3] - ProgressPlayer[CurrentPlayer].StartExp[1];
ProgressPlayer[CurrentPlayer].ExpGain[2] := MyStuff.Experience[4] - ProgressPlayer[CurrentPlayer].StartExp[2];
ProgressPlayer[CurrentPlayer].LevelsGain[1] := SmartGetFieldArrayInt(0, MaxLevels, 3) - ProgressPlayer[CurrentPlayer].StartLevels[1];
ProgressPlayer[CurrentPlayer].LevelsGain[2] := SmartGetFieldArrayInt(0, MaxLevels, 4) - ProgressPlayer[CurrentPlayer].StartLevels[2];
end;

Function Lost: Boolean;
begin
Result := True;
If TileOnMS(Point(2528, 3372), 0)then
begin
Result := False;
Exit;
end else WalkToTile(Point(2528, 3372), 2, 0);
If TileOnMM(Point(2528, 3372))then
begin
Result := False;
Exit;
end;
Writeln('Lost!, can''t find the cage.');
end;

Procedure NewPlayer;
begin
SetAngle(True);
SetAllChats('on', 'off', '', 'off', 'off');
MarkTime(ProgressPlayer[CurrentPlayer].Time);
GetAllLevels;
Gained;
GetWeapon;
end;

Function NChangePlayer: Boolean;
begin
If PlayersActive > 2 then
begin
Writeln('LoggedOut. Cuase: Changing player.');
NextPlayer(True);
NewPlayer;
Result := True;
end;
end;

Procedure MaybeSleep;
var
v, h, Time: integer;
begin
Case Random(100) of

1..10:begin
If PlayersActive = 1 then
begin
If Not Players[CurrentPlayer].Booleans[1] Then
Exit;
LogOut;
v := RandomRange(4, 13);
h := v;
MarkTime(Time);
Repeat
Writeln('Sleeping for ' + IntToStr(v) + ' minutes');
Wait(1000*60*1);
v := v - 1;
Until(TimeFromMark(Time) > 1000*60*h);
end;
end;

11,12:begin
If PlayersActive = 1 then
begin
LogOut;
If Not Players[CurrentPlayer].Booleans[2] Then
Exit;
v := RandomRange(30, 120);
h := v;
MarkTime(Time);
Repeat
Writeln('Sleeping for ' + IntToStr(v) + ' minutes');
Wait(1000*60*1);
v := v - 1;
Until(TimeFromMark(Time) > 1000*60*h);
end;
end;
end;
end;

Function GetHp: Integer;
begin
Result := GetMe.Levels[3];
end;

Function CheckEat: Boolean;
var
CHp, i : Integer;
Begin
DebugThis('CheckEat Started.');
CHp := Round(Players[currentPlayer].Level[8] / 100 * RandomRange(40, 50));
If GetHp < CHp then
begin
Writeln('Low hp eating');
For i := 1 to 28 do
begin
If ExistsItem(i)then
begin
MMouseItem(i);
Wait(50);
If IsUpText('Eat')then
begin
MouseItem(i, True);
Result := True;
Exit;
end else
If i = 28 then
begin
RunAway('s', True, 2, 0);
LogOut;
Exit;
end;
end;
end;
end;
end;

Procedure TimeOuts;
begin
If Not LoggedIn then
begin
NextPlayer(False);
NewPlayer;
end;
If TimeFromMark(ProgressPlayer[CurrentPlayer].Time) > 60000*RandomRange(7, 20)then
begin
If Players[CurrentPlayer].Booleans[0] then
Logout;
MaybeSleep;
NChangePlayer;
LoginPlayer;
MarkTime(ProgressPlayer[CurrentPlayer].Time);
end;
end;

Procedure AntiRandoms;
Var
InFight: Tme;
begin
FindNormalRandoms;
InFight := GetMe;
If InFight.InFight then
RunAway('w', true, 1, RandomRange(2000, 5000));
end;

Procedure AntiBan;
Begin
Case Random(150) of
1: HoverSkill('random', False);
2: BoredHuman;
3: MouseBox(59, 31, 647, 264, 3);
5, 6: CheckEat;
7..11 : Dospec(75);
16..19: GameTab(RandomRange(1, 13));
end;
end;

Function N_Ranging: Boolean;
var
i, x : integer;
begin
FTWait(1);
repeat
x := SmartGetFieldObject(0, MyPlayer)
Result := SmartGetFieldInt(x, CharAnim) > -1;
SmartFreeObject(x);
Inc(i);
Wait(200+Random(100));
until(i > 7)or(result)or(Not(IsInteractingWithMeIndex(OgreIndex)));
end;

Function FindOgre: Boolean;
var
Ogres : Array of TNPCEx;
i, x, y : integer;
begin
If Not LoggedIn Then Exit;
Ogres := SortNPCsEx(GetNPCsByIDEx(2801));
If GetArrayLength(Ogres) = 0 then Exit;
For i:= 0 to High(Ogres) do
begin
If Ogres[i].InFight then Continue;
If Not TileOnMSEx(Ogres[i].Tile, 0)then
If Not WalkToTileMS(Point(2528, 3372), 0, 2)then
WalkToTile(Point(2528, 3372), 0, 2);
MMouse(Round(Ogres[i].MS.X), Round(Ogres[i].MS.Y), 10, 15);
Wait(150+Random(125));

If Players[CurrentPlayer].Booleans[4] then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
Wait(150+Random(100));
If ChooseOption('ttack')then
begin
Result := True;
OgreIndex := Ogres[i].Index;
Exit;
end else Exit;
end;

If Pos('gre', rs_GetUpText) > 0 then
begin
GetMousePos(x, y);

case Random(5) of
0 : begin
Mouse(x, y, 0, 0, False);
Wait(150+Random(100));
If ChooseOption('ttack')then
begin
Result := True;
OgreIndex := Ogres[i].Index;
Exit;
end;
end;
1..4: Begin
If Not Pos('gre', rs_GetUpText) > 0 then Exit;
Mouse(x, y, 0, 0, True);
Result := True;
OgreIndex := Ogres[i].Index;
Exit;
end;
end;

end else
begin
Result := FindOgre;
Exit;
end;
end;
end;

Procedure FightWait;
Begin
DebugThis('FightWait Started.');
FTwait(RandomRange(2, 4));
CheckEat;
WantOptions;
Inc(TotalAttacks);
Repeat
Wait(200);
WantOptions;
AntiRandoms;
AntiBan;
Until(Not(N_Ranging));
end;

procedure SaveDebug; //Thanks to whoever made this...
var
FileNum: integer;
begin
FileNum := RewriteFile(ScriptPath + 'Ogres.txt', True);
if (FileNum < 0) then
WriteLn('@@@ Error with save: File Error.');
WriteFileString(FileNum, GetDebugText);
CloseFile(FileNum);
end;

Function GetPaintBitmap(Color, sX, sY: Integer; Text: TStringArray; Dist: Integer): Integer;
Var
TPA: TPointArray;
H, Q, B: Integer;
Begin
Result := BitmapFromString(sX, sY, '');
For B := 0 To High(Text) Do
Begin
TPA := LoadTextTPA(Text[b], SmallChars, H);
For Q := 0 To High(TPA) Do
FastSetPixel(Result, TPA[q].x, TPA[q].y + B * Dist, Color);
End;
End;

Procedure ClearSMARTCanvas;

Var
BMP: Integer;
SMARTCanvas, Canvas: TCanvas;
Begin
BMP := BitmapFromString(765, 503, '')
SMARTCanvas := GetBitmapCanvas(BMP);
Canvas := GetBitmapCanvas(BMP);
SMARTCanvas.handle := SmartGetDebugDC;
CopyCanvas(Canvas, SMARTCanvas, 0, 0, 765, 503, -1000, -1000, 1000, 1000);
FreeBitmap(BMP);
End;

Procedure ProgressReportCanvas(X, Y: Integer);
Var
SCanvas, Canvas: TCanvas;
BMP, Sec : Integer;
AR, BR, AH, BH: Extended;
Text: TStringArray;
Mystuff: TMe;
Begin
Sec := GetTimeRunning Div 1000 + 1;
ClearSMARTCanvas;
BMP := BitmapFromString(765, 503, '');
SCanvas := GetBitmapCanvas(BMP);
SCanvas.handle := SmartGetDebugDC;
MyStuff := GetMe;

AR := MyStuff.Experience[4] - ConvertLvlToXP(SmartGetFieldArrayInt(0, MaxLevels, 4)-1);
BR := ConvertLvlToXP(SmartGetFieldArrayInt(0, MaxLevels, 4)) - ConvertLvlToXP(SmartGetFieldArrayInt(0, MaxLevels, 4)-1);
AR := Round((AR / BR) * 100);
Round(AR*100);

AH := MyStuff.Experience[3] - ConvertLvlToXP(SmartGetFieldArrayInt(0, MaxLevels, 3)-1);
BH := ConvertLvlToXP(SmartGetFieldArrayInt(0, MaxLevels, 3)) - ConvertLvlToXP(SmartGetFieldArrayInt(0, MaxLevels, 3)-1);
AH := Round((AH / BH) * 100);
Round(AH*100);

Text := [
'Has been running for : ' + TimeRunning,
'Tried to attack a total of ' + IntToStr(TotalAttacks) + ' Ogres.',
'Range exp until level(' + IntToStr(SmartGetFieldArrayInt(0, MaxLevels, 4)+1) + ') : ' + IntToStr(R_XpTillNextLevel(4)),
FloatToStr(AR) + '/100% to next Range level.',
'HP exp until level(' + IntToStr(SmartGetFieldArrayInt(0, MaxLevels, 3)+1) + ') : ' + IntToStr(R_XpTillNextLevel(3)),
FloatToStr(AH) + '/100% to next HP level.'];
Canvas := GetBitmapCanvas(GetPaintBitmap(255, 765, 503, Text, 25));
CopyCanvas(Canvas, SCanvas, 0, 0, 765, 503, X, Y, X + 765, Y + 503);
FreeBitmap(BMP);
End;

Procedure ProgressReport;
var
i, ii : integer;
s : string;
begin
If Not DebugMode then ClearDebug;
Gained;
TotalExp := 0;
TotalLevels := 0;
For i:= 0 to HowManyPlayers - 1 do
For ii:=1 to 2 do
begin
TotalExp := TotalExp + ProgressPlayer[i].ExpGain[ii]
TotalLevels := TotalLevels + ProgressPlayer[i].LevelsGain[ii]
end;

Writeln(' {-[]-¤ Multi Progress Report ¤-[]-}');
Writeln('[-{-[>] By N1ke! the genius. [<]-}-]');
Writeln('[-]');
Writeln('[-{-[>] Time running: ' + TimeRunning);
Writeln('[-{-[>] Total Exp: ' + IntToStr(TotalExp));
If ResponsesMade > 0 then Writeln('[-{-[>] Responses made: ' + IntToStr(ResponsesMade));
If TotalLevels > 0 then Writeln('[-{-[>] Total Levels: ' + IntToStr(TotalLevels));
For i:= 0 to HowManyPlayers - 1 do
begin
Writeln('[-]');
s := '[>] [' + BoolToStr(Players[i].Active) + '] Player: ' + SplitName(Players[i].Name) + ' / ';

If ProgressPlayer[i].ExpGain[1] > 0 then
s := s + 'HP Exp Gained: ' + IntToStr(ProgressPlayer[i].ExpGain[1]) + ' / ';

s := s + 'HP Exp/h: ' + IntToStr(Round(ProgressPlayer[i].ExpGain[1] / (GetTimeRunning / 3600000.0))) + ' / ';

If ProgressPlayer[i].ExpGain[2] > 0 then
s := s + 'Range Exp Gained: ' + IntToStr(ProgressPlayer[i].ExpGain[2]) + ' / ';

s := s + 'Range Exp/h: ' + IntToStr(Round(ProgressPlayer[i].ExpGain[2] / (GetTimeRunning / 3600000.0))) + ' / ';

If ProgressPlayer[i].LevelsGain[1] > 0 then
s := s + 'HP Level(s) Gained: ' + IntToStr(ProgressPlayer[i].LevelsGain[1]) + ' / ';
If ProgressPlayer[i].LevelsGain[2] > 0 then
s := s + 'Range Level(s) Gained: ' + IntToStr(ProgressPlayer[i].LevelsGain[2]) + ' / ';
Writeln(s);
end;
SaveDebug;
end;

Procedure Checker;
begin
CheckAmmo;
ProgressReport;
Counter := 0;
end;

Procedure WantOptions;
begin
Case Action Of
1: Begin
CloseQC;
TypeSend(TypeThis);
End;

2: DoSpec(75);

3: Begin
NextPlayer(True);
NewPlayer;
end;

4: Begin
NextPlayer(False);
NewPlayer;
end;

5: ProgressReport;

6: begin
ChangeWorld(0, True, False);
LoginPlayer;
end;


end;
Action := 0;

If IsFKeyDown(FKeyForOptions)then
OpenForm;
end;

Procedure MainLoop;
Begin
LogInPlayer;
NewPlayer;
Repeat
ProgressReportCanvas(XCordForSMARTProggie, YCordForSMARTProggie);
WantOptions;
DealWithCannon;
If Lost Then
begin
Logout;
TerminateScript;
end;
Inc(Counter);
DebugThis('-A-');
TimeOuts;
DebugThis('-B-');
If Crowded then
begin
DebugThis('-C-');
LogOut;
ChangeWorld(0, True, False);
LoginPlayer;
end;
WantOptions;
DebugThis('-D-');
If Counter > RandomRange(7,15) then Checker;
DebugThis('-G-');
If(Not(LoggedIn))Then
begin
DebugThis('-H-');
FTwait(8);
If(Not(LoggedIn))Then
begin
NextPlayer(False);
DebugThis('-I-');
NewPlayer;
end;
end;
DebugThis('-J-');
WantOptions;
If Not FindOgre then
begin
If Lost Then LogOut;
AntiRandoms;
end else FightWait;
DebugThis('-L-');
WantOptions;
Case Random(20) of
0,1,3: AntiBan;
2: CheckEat;
end;
DebugThis('-M-');
Until(False);
DebugThis('-N-');
end;

begin
SetupSRL;
SmartSetupEx(65, False, True, False);
Wait(5000);
SetTargetDC(SmartGetDC);
while not SmartActive do wait(100);
SetupReflection;
DeclarePlayers;
SetupAutoResponder(90, True);
Case Random(3) of
0: If Not LoggedIn then ChangeWorld(0, True, False);
end;
MainLoop;
end.

Kyle Undefined

2008-12-24 14:38:42

I'll try this when I get back home, I was thinking about making one :p

~Camo

P1nky

2008-12-24 14:42:50

err i really want to use, tho on my last chance(87 range pure) …. sigh :(

Blumblebee

2008-12-24 14:43:00

wow looks really nice, congrads on release (now all your have to do is release your fixed crab kiler :p)

Naike

2008-12-24 15:21:51

Blumblebee i got a fixed crabber, But it's a Pay script.

I'm trying to get back onto that chinchompa script i promissed a while back ;).

*Hard*

P1nky

2008-12-24 15:34:38

From: N1ke!
Blumblebee i got a fixed crabber, But it's a Pay script.

I'm trying to get back onto that chinchompa script i promissed a while back ;).

*Hard*


coolio you gave to me for phr33 i <3 u

jakeyboy29

2008-12-24 15:35:58

From: ~~Joker~~
coolio you gave to me for phr33 i <3 u


GIVE ME YOU'R PCER! ! ! !

and nike it looks great. what quests are needed?

Naike

2008-12-24 16:04:53

Jakey, did you even read the first page ;)?

Biohazard :)

jakeyboy29

2008-12-24 16:06:52

well im a dick, thanks

0wn 4 skill

2008-12-24 17:59:39

Dude. You released this just as i finished the quest! I <3 you!! My pure <3 you!!

Naike

2008-12-24 18:41:21

My xmas gift to you ;)

0wn 4 skill

2008-12-24 18:59:31

Presuming you live in the UK… Merry xmas in 1 minute!!!

And heres an xmas gift to you on my 1 def range pure (52 range)

  #-[]-¤ Multi Progress Report ¤-[]-#
# By N1ke! the genius.
#
# Time running : 41 Minutes and 13 Seconds
# Total Exp : 11462
# Total Levels : 2
#
[True] Player : Epic / HP Exp Gained : 2850 / HP Exp/h : 4148 / Range Exp Gained : 8612 / Range Exp/h : 12534 / HP Level(s) Gained : 1 / Range Level(s) Gained : 1 /

Merry Xmas!!!!!!!!!!

EvilChicken!

2008-12-24 20:03:21

You could've been a bit more creative when picking out a name for the script :p

And, if I get a pin from you, I'll be your slave script tester bitch, so ..
Um, yeah.

0wn 4 skill

2008-12-25 04:51:25

Merry Xmas! Im now transfering my computer screen to a new HD one, expect a proggy from me today ladies!

  #-[]-¤ Multi Progress Report ¤-[]-#
# By N1ke! the genius.
#
# Time running : 1 Hours, 56 Minutes and 9 Seconds
# Total Exp : 40887
# Total Levels : 4
#
[True] Player : Epic / HP Exp Gained : 10163 / HP Exp/h : 5249 / Range Exp Gained : 30724 / Range Exp/h : 15870 / HP Level(s) Gained : 2 / Range Level(s) Gained : 2 /

Failed to detect I ran out of ammo :( But its pretty flawless otherwise!!
Going to buy 20k knives now on epic :)
Edit: ^ Bollocks, they never buy man :(
Edit2: A long time later after making some cash… Wooooooot :) On my way to ogres now.

New proggy, its still running now so… Woot Woot. Insane exp!

  #-[]-¤ Multi Progress Report ¤-[]-#
# By N1ke! the genius.
#
# Time running : 3 Hours, 23 Minutes and 1 Seconds
# Total Exp : 72471
# Total Levels : 5
#
[True] Player : Epic / HP Exp Gained : 18027 / HP Exp/h : 5328 / Range Exp Gained : 54444 / Range Exp/h : 16090 / HP Level(s) Gained : 2 / Range Level(s) Gained : 3 /

Well, ive stopped it at 3 hours, 42 mins!

One word… Flawless.

Edit4: I was gonna leave it at 58 range… But I cant resist! This script makes my day to be honest. Im getting 60! :D <3

Edit5: Runnning on my main with full void/ 40k bronze knives! Wooooot.

Naike

2008-12-28 05:27:15

Glad you liked it ;)

Heres my proggie with a little updated version.

    #-[]-¤ Multi Progress Report ¤-[]-#
# By N1ke! the genius.
#
# Time running : 11 Hours, 19 Minutes and 34 Seconds
# Total Exp : 326587
# Total Levels : 2
#
[True] Player : 0nt / HP Exp Gained : 81443 / HP Exp/h : 7191 / Range Exp Gained : 245144 / Range Exp/h : 21644 / HP Level(s) Gained : 1 / Range Level(s) Gained : 1 /

Edit : Stopped becuase of security of my account.

Pixelate

2008-12-28 13:34:53

looks pretty good, i will test now. Future update, add an autoresponder, its pretty simple and its essential at ogres.

Good Job XD

EDIT:

Line 457: [Error] (19798:1): Unknown identifier 'ChangeWorld' in script

this is a little annoying…

EDITEDIT: Right… i searched it and found your worldswitcher fix. Might be worth mentioning that in the description :P

0wn 4 skill

2008-12-29 09:42:28

From: N1ke!
Glad you liked it ;)

Heres my proggie with a little updated version.

    #-[]-¤ Multi Progress Report ¤-[]-#
# By N1ke! the genius.
#
# Time running : 11 Hours, 19 Minutes and 34 Seconds
# Total Exp : 326587
# Total Levels : 2
#
[True] Player : 0nt / HP Exp Gained : 81443 / HP Exp/h : 7191 / Range Exp Gained : 245144 / Range Exp/h : 21644 / HP Level(s) Gained : 1 / Range Level(s) Gained : 1 /

Edit : Stopped becuase of security of my account.


HAHA lol. Pwned me… But were you trusting it with full void? Heh.

n3ss3s

2009-01-04 04:49:26

Is this the newest version you got the 24h with?

0wn 4 skill

2009-01-04 05:26:07

Yeh, i think so.

n3ss3s

2009-01-04 07:00:00

Line 457: [Error] (20584:1): Unknown identifier 'ChangeWorld' in script C:\SCAR 3.15\Scripts\Ogre.scar


Hmm?

Changed it to RandomWorld(True, False)…

#-[]-¤ Multi Progress Report ¤-[]-#
# By N1ke! the genius.
#
# Time running : 23 Minutes and 36 Seconds
# Total Exp : 11655
#
[True] Player : X 0 R / HP Exp Gained : 2907 / HP Exp/h : 7389 / Range Exp Gained : 8748 / Range Exp/h : 22235 /


Sweet, that's like 500k exp in 24 hours :)

Aww, I had a 2h proggie, but then it said NextPlayer(False) somewhy in Debug and I tried hitting run again, BOOOOM scar crashed…

Seems that every time it takes a sleepy breaky it sets NextPlayer to false :(

0wn 4 skill

2009-01-04 10:33:22

Works epically well for me! 73-76 Range on my main so far. Got 50k knives for 80 so we shall see!

Naike

2009-01-04 13:35:49

I've been away for 2 days so i havnt seen these comments.

A new version is comming up very soon ;)

0wn 4 skill

2009-01-04 14:47:02

Whats being added etc?

Naike

2009-02-12 11:06:40

New version out! V 1.1!

Added my Responder and fixed it up!
You need my responder to get it to work(Read first post).


{-[]-¤ Multi Progress Report ¤-[]-}
[-{-[>] By N1ke! the genius. [<]-}-]
[-]
[-{-[>] Time running: 1 Hours, 7 Minutes and 46 Seconds
[-{-[>] Total Exp: 38588
[-{-[>] Responses made: 1
[-]
[>] [True] Player: w0nt / HP Exp Gained: 9624 / HP Exp/h: 8520 / Range Exp Gained: 28964 / Range Exp/h: 25640 /

P1nky

2009-02-12 11:08:12

omfg wish my pure wasnt on probation :P (got unbanned though jagex prolly waiting for me to do something wrong) lol

though must use on my lvl 55 pure :) 70 range atm!!!

NCDS

2009-02-12 18:40:33

Soon as I get Members back you will have proggies.

This looks like a really good script.

Nice Job!

P.S. When you release to Junior Members this script will Blow Up lol

Naike

2009-02-14 04:42:50

I aint releasing it to Jrs as i'm only 87 range..

I might do it when i'm 94-99

P1nky

2009-02-14 12:29:26

From: N1ke!
I aint releasing it to Jrs as i'm only 87 range..

I might do it when i'm 94-99


good, post some proggies. So, i can see if its good exp :)

Naike

2009-02-15 08:09:40

It's good exp trust me..

Naike

2009-03-08 11:55:32

New version out, V2.0

This is the last and final version. It contains stuff from my private scripts aswell.. Enjoy it while you can :D

Note: This time i tested it and it's working.

Harry

2009-03-09 11:08:43

Hrm, nice, moved back to Jr Members .. make sure you guys post proggies so he doesn't move it back! :D

matthijsc

2009-03-09 14:45:31

I downloaded everything and placed/replaced in the right folders. But it wouldn't compile because of something. It gave a error in core.scar. It could maybe be something with the cautoresponder.scar but I really have no IDEA. Please help me would really like to use and post proggies and stuff of this.

the thing scar gave:

Failed when compiling
Line 87: [Error] (17102:19): Unknown identifier 'SmartStringFromChars' in script ……SRL\SRL\Reflection\Core.Scar

Naike

2009-03-09 15:50:50

Uptade your reflection.

Simtoon

2009-03-09 16:00:18

N1ke! Hobo In A Box :P

I need to test thing FFS
Wait till i get members proggies will come in…

matthijsc

2009-03-09 17:36:49

I updated my reflection last week, but did it again. It isn't helping still getting the same error. Please help me, should I update other things or something?

Naike

2009-03-09 17:50:32

matthijsc: you need to move the plugin aswell..

from reflection folder to Plugin folder.

FLUX_

2009-03-10 01:12:35

Is this ogres near castle wars?

Simtoon

2009-03-10 01:32:25

the caged ones

Naike

2009-03-10 02:48:25


{-[]-¤ Multi Progress Report ¤-[]-}
[-{-[>] By N1ke! the genius. [<]-}-]
[-]
[-{-[>] Time running: 4 Hours, 41 Minutes and 50 Seconds
[-{-[>] Total Exp: 157734
[-{-[>] Responses made: 4
[-]
[>] [True] Player: w0nt / HP Exp Gained: 39294 / HP Exp/h: 8365 / Range Exp Gained: 118440 / Range Exp/h: 25214 /

Example of a progressreport.

matthijsc

2009-03-10 09:50:06

Sorry, for bothering you with this again. But it still won't work. I did what you said and still gives the same error. Also when I try to run the plugin test script it won't work.

Naike

2009-03-10 09:57:40

Reinstall reflection then, And make sure you move the plugin so SMART Gets uptaded, otherwise you still have that error.

P1nky

2009-03-10 10:33:13

From: matthijsc
Sorry, for bothering you with this again. But it still won't work. I did what you said and still gives the same error. Also when I try to run the plugin test script it won't work.


idk if its same thing for SMART, though paste it than delete old plugin?

matthijsc

2009-03-10 15:51:18

so I need to do this:

reinstall Reflection
copy the Plugins from includes/srl/srl/reflection/placeinsideplugins folder. to scar3.15/plugins

and delete the old plugins

and then it should work?

I will post progress.

EDIT: !!!!!!! WORKS THANK YOU SO MUCH!!!!!!!

finally got it to work thanks to you N1KE and JOKER. W000t have been eager to use this. I'm going to run it tonight will post progress report in morning, if everything goes smooth!!

thank you again, guys.

LOL. another problem:
gives this error:
[Runtime Error] : Exception: '' is not a valid integer value in line 62…. cautoresponder.scar

line 62:
SetArrayLength(PlayerDic.Row, StrToInt(ReadIni('General', 'Rows', AppPath + 'includes\SRL\Dictionary.ini')) + 1);

it is your autoresponder btw.
I checked if I had Dictionary.ini in that map scar said it needed to be in. It wasn't there. I tried to find it on the forum, but it isn't there. I hope any one knows whats this all about.

Thank you for your time.

ne0

2009-03-10 16:20:59

I got the same problem.

EDIT: http://www.villavu.com/forum/showthread.php?t=41739

matthijsc

2009-03-10 16:38:39

I found it (thanks to neO, thank you for that), but I can't get it to work. Named a file dictionary.ini and putted the codes in (just copied the whole thing).
I got 2 questions remaining:
whats the widgetsform.scar on the bottom of the tread meaning and where does it need to go?
and what the heck is up with: you just name it after you declare player progress and your good to go?????

PLZ help?!?

Naike

2009-03-10 16:39:34

matthijsc: `You can find the dictionary.scar in http://www.villavu.com/forum/showthread.php?t=41739

It's in Autoresponder.scar. ONLY TAKE THE Dictionary.scar Don't use the CAutoresponder.scar as that file is outdated.

Place the dictionary.ini in SCAR 3.15B\includes\SRL

If you need more help, add my msn: [email]N_1_c_e@hotmail.com[/email]

ne0: same for you ^^

matthijsc

2009-03-10 17:40:37

thank you so much it is finally running, after like 4 days:P. if I can do anything back regarding the script…. just ask. thank you for your time. I will post proggies in the near future:P

mc

EDIT: proggies:
[-{-[>] Time running: 2 Hours, 30 Minutes and 28 Seconds
[-{-[>] Total Exp: 53356
[-{-[>] Total Levels: 2
[-]
[>] [True] Player: gig / HP Exp Gained: 13300 / HP Exp/h: 5303 / Range Exp Gained: 40056 / Range Exp/h: 15971 / HP Level(s) Gained: 1 / Range Level(s) Gained: 1 /

matthijsc

2009-03-21 10:21:56

I got a problem with the gametab.scar now. Your file gives a error in line 52. also got a problem with the hooks? they needed to be updated, but i have no idea what so ever how to do that. plz help, i already got from 61 range to 75 with your script.

EDIT: it works again

EDIT: new problem! stops after 2-7 mins with the script and says that the player is false? it doesn't has a reason to stop… maybe the ogre update (cuz they have a new look) has something to do with this.

yourock12345

2009-04-14 16:19:03

does anyone use this? it actually works phenomenally… just dont use his gametab.scar… use the one on svn forums. and use his autoresponer! this script is great!
last night had 5 hour proggy but lost it… sorry

mormonman

2009-04-14 17:04:46

My tank is now ready to use this N1ke! so get ready… well, I guess you don't really care do you? O crap… got to do biohazard +plague city first…

yourock12345

2009-04-14 17:09:06

From: mormonman
My tank is now ready to use this N1ke! so get ready… well, I guess you don't really care do you? O crap… got to do biohazard +plague city first…


lol :P

mormonman

2009-04-14 18:18:55

I did 'em… testing script when i get home from school!
proggy was stopped manually to change it to left click only… sometimes it would click inside the cage and i would start walking away, but then it would walk back. it was too bannable for me.

{-[]-¤ Multi Progress Report ¤-[]-}
[-{-[>] By N1ke! the genius. [<]-}-]
[-]
[-{-[>] Time running: 1 Hours, 48 Minutes and 18 Seconds
[-{-[>] Total Exp: 46228
[-{-[>] Responses made: 1
[-{-[>] Total Levels: 2
[-]
[>] [True] Player: *** / HP Exp Gained: 11524 / HP Exp/h: 6384 /
Range Exp Gained: 34704 / Range Exp/h: 19225 /
HP Level(s) Gained: 1 / Range Level(s) Gained: 1 /

Edit: another manually stopped… my mom had to use the computer. I used sleeps, that is why the xp/hr rate is terrible… i thought i was gunna be able to leave it on all night.

{-[]-¤ Multi Progress Report ¤-[]-}
[-{-[>] By N1ke! the genius. [<]-}-]
[-]
[-{-[>] Time running: 3 Hours, 2 Minutes and 12 Seconds
[-{-[>] Total Exp: 58630
[-{-[>] Total Levels: 1
[-]
[>] [True] Player: *** / HP Exp Gained: 14614 / HP Exp/h: 4812 /
Range Exp Gained: 44016 / Range Exp/h: 14494 / Range Level(s) Gained: 1 /

yourock12345

2009-04-15 23:37:12

heres a nice proggy i guess :P i have gained 13 lvls so far with this script! yay! :P
{-[]-¤ Multi Progress Report ¤-[]-}
[-{-[>] By N1ke! the genius. [<]-}-]
[-]
[-{-[>] Time running: 3 Hours, 18 Minutes and 21 Seconds
[-{-[>] Total Exp: 38248
[-{-[>] Responses made: 3
[-{-[>] Total Levels: 1
[-]
[>] [True] Player: $$ / HP Exp Gained: 9516 / HP Exp/h: 2878 / Range Exp Gained: 28732 / Range Exp/h: 8691 / Range Level(s) Gained: 1 /

bgxsaer

2009-04-16 04:23:03

When installing your GameTab.Exe i get this error.

Line 52: [Error] (1298:30): Unknown identifier 'SettingsArray' in script C:\Program Files\SCAR 3.15\includes\SRL/SRL/Core/GameTab.scar

yourock12345

2009-04-16 23:41:20

i said dont use his gametab…

w00t!!!
{-[]-¤ Multi Progress Report ¤-[]-}
[-{-[>] By N1ke! the genius. [<]-}-]
[-]
[-{-[>] Time running: 6 Hours, 49 Minutes and 51 Seconds
[-{-[>] Total Exp: 197164
[-{-[>] Responses made: 5
[-{-[>] Total Levels: 3
[-]
[>] [True] Player: $$ / HP Exp Gained: 49056 / HP Exp/h: 7181 / Range Exp Gained: 148108 / Range Exp/h: 21682 / Range Level(s) Gained: 3 /

Naike

2009-04-17 00:43:26

If you say it misses the monster?

Blame Scars speed, or don't complain at all.
The gametab.scar is for reflection, try opening next time no?

This script was more of my way to train at low levels..
Still works tho ;)

mormonman

2009-04-17 01:12:37

From: N1ke!
If you say it misses the monster?

Blame Scars speed, or don't complain at all.
The gametab.scar is for reflection, try opening next time no?

This script was more of my way to train at low levels..
Still works tho ;)


Wasn't blaming anybody, I was just stating the fact :D I am using it to train lower levels too… I am kinda interested in your aviansie script :0

Naike

2009-04-17 17:38:43

Pay up, only people that i think can script better then me can have it for free ^^