SRL Archive - OSR Help

LRC killer help


MotorMouse

2012-06-22 03:26:14

Could anyone please help me with my script.
It works, but really, really slow.
It searches around for the hole screen and clicks a while later,
I am a bit of a leecher but i try to learn from what i make.
Script:
 program Ogre_Destroyer;
{$DEFINE SRL5}
{$DEFINE SMART}
{$i SRL\SRL.simba}
{$i SRL\SRL\Misc\Debug.simba}

Const
AT = 27000; // How long do you want to attack the Skeleton for?
ScriptVersion = '2.5';
PT = 999999; // How many hours do you want the script to run for?
UseAutoChecker = true;

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;

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, 5339792, 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;

Procedure TimePlay;
Begin
if FindNormalRandoms then
begin
WriteLn('===============================');
WriteLn('In Random');
WriteLn('Run Time: ' + TimeRunning);
WriteLn('===============================');
TerminateScript;
end;
if TimeFromMark(r) > (((PT*1000)*60)*60) then
begin
WriteLn('Times Up');
end;
end;

Procedure AntiBand;
Begin
WriteLn('AntiBan Started');
case Random(100) 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..100: Begin WriteLn('Waiting Random Time') Wait(RandomRange(1000, 4000)); End;
End;
End;

Procedure Attack;
Var x, y: Integer;
Begin
k := k+1;
x:=MSCX;
y:=MSCY;
if FindObjTPAMulti(x, y, [Ogre],5, 1, 10, 15, 30, ['more', 'iving', 'Living', '4 more', '2 more']) Then
begin
Mouse(x, y, 2, 2, false);
WriteLn('Found him!');
WaitOption('ttack', 500 + Random(150));
WriteLn('Hes screwed.');
Wait(AT + Random(1000));
end;
end;

procedure MineLrc;
var x, y: integer;
begin
if FindObj(x, y, 'ine', 8358547, 35) then
Mouse(x, y, 2, 2, true);
ChooseOption('iving');
end;

begin
Smart_Server:=44
Smart_Members := True;
Smart_SuperDetail := False;
SetUpSRL;
DeclarePlayers;
LogInPlayer;
Wait(6000 + Random(500));
WriteLn('Starting Script');
MarkTime(r);
GameTab(tab_Inv);
k := 0;
Repeat
Attack;
MineLRC
AntiBand;
TimePlay;
Until(false);
end.
I've used the Ogre killer for my base.
Thanks man.

riwu

2012-06-22 03:35:54

Hmm why do u have 2 fighting procedure? (Attack and MineLrc) U should probably change the Mouse parameter in ur MineLrc to false for right click, and ChooseOption to WaitOption to select the option.

Also there isn't any wait between clicks so it will keep clicking attack if it found the monster, u should do a wait using srl_InFight/averagepixelshift etc.

But even then iirc the colors in lrc are all very similar so make sure u select a color of the monster that isn't similiar to its surroundings.

MotorMouse

2012-06-22 03:47:37

From: riwu
Hmm why do u have 2 fighting procedure? (Attack and MineLrc) U should probably change the Mouse parameter in ur MineLrc to false for right click, and ChooseOption to WaitOption to select the option.

Also there isn't any wait between clicks so it will keep clicking attack if it found the monster, u should do a wait using srl_InFight/averagepixelshift etc.

But even then iirc the colors in lrc are all very similar so make sure u select a color of the monster that isn't similiar to its surroundings.


The MineLRC is the miner when the monster is killer so it can claim the living minerals.
Thanks for the help.
It has a problem with the ores around it.
Any way to make it mine the creature only?