Log in

View Full Version : Out Of Bounds Problem



Supertrent1
01-29-2012, 10:26 PM
here is my script

program SuperPowerMiner;

{.include/SRL/SRL.simba}
{.include SRL/SRL/Misc/SMART.simba}
{.include SRL\SRL.simba}
{.Include SRL\SRL\Misc\Debug.simba}

const
SmartWorld = 15; // Which World/Server do you want to use?
SmartMembers = True; // Are you a Member?
SmartSigned = True; // Signed/UnSigned Client?
SmartSuperDetail = False; // Use Super Detail?
Version = '1.0';
NumbOfPlayers = 1;
StartPlayer = 0;

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //Username
Players[0].Pass := ''; //Password
Players[0].Active := True;
Players[0].BoxRewards := ['Xp', 'mote', 'ostume', 'oins', 'aphire', 'ssence'];
end;

Procedure Antiban; //Antiban, Credits to YoHo
Begin
Case Random(192) Of
0: HoverSkill('Woodcutting', False); //skill
1: Begin PickUpMouse; SleepAndMoveMouse(3000 + Random(500)); End;
2: ExamineInv;
3: RandomAngle(1);
4: Begin GameTab(Tab_Stats); Wait(3000 + Random(500)); GameTab(Tab_Inv); End;
5: HoverSkill('random', False);
End;
End;

function OreColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
R, G, B: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.01, 1.88);

FindColorsSpiralTolerance(960, 540, arP, 2912994, 0, 0, 1920, 1080, 12);
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
ColorToRGB(arC[i], R, G, B);

if (R >= 160) and (R <= 254) and (G >= 91) and (G <= 145) and (B >= 48) and (B <= 78) then
begin
ColorToXYZ(arC[i], X, Y, Z);

if (X >= 19.06) and (X <= 51.84) and (Y >= 15.44) and (Y <= 41.39) and (Z >= 4.86) and (Z <= 12.30) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;

ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);

if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;

function MineOre:Boolean;
Var
x, y , PlusOne, OreCounter: Integer;
Begin;
PlusOne:= InvCount + 1
x:= MSCX;
y:= MSCY;
If FindObjTPA(x, y, OreColor, 3, 1, 12, 1, 1, ['Mine']) Then
Begin
Case Random(2) Of
0: Mouse(x, y, 5, 5, True);
1: Begin
Mouse(x, y, 5, 5, False);
Wait(100+Random(100));
WaitOption('Mine', 500);
End;

end;

Flag;

MarkTime(OreCounter);

Repeat;
FindNormalRandoms;
Antiban;
wait(1000);
Until (InvCount=PlusOne) Or (TimeFromMark(OreCounter) > 15000)


End;

End;

Procedure DropOre;
Var
x, y, OreDTM, I:Integer;
SlotBox:TBox;
OrePattern:TIntegerArray;

Begin

OreDTM := DTMFromString('mrAAAAHic42BgYFjGxMCwBIjXA/FCIJ4CxLOAeBOUTmdkYIgC4kwgLgHiVCCOh+I8IN6fa8VgoKAA NIkJA0PE8QNGAhgGAIeSCrw=');
OrePattern:=[1,5,9,13,17,21,25,2,6,10,14,18,22,26,3,7,11,15,19, 23,27,4,8,12,16,20,24,28];
For I:=0 To 27 Do
Begin
FindNormalRandoms;
SlotBox:=InvBox(OrePattern[I]);
If FindDtm(OreDTM, x, y, SlotBox.X1, SlotBox.Y1, SlotBox.X2, SlotBox.Y2) Then
Begin
MouseItem(OrePattern[I], MOUSE_RIGHT);
ChooseOption('Drop');
End;
End;

FreeDTM(OreDTM);


End;









begin
DeclarePlayers;
Smart_Server := SmartWorld;
Smart_Members := SmartMembers;
Smart_Signed := SmartSigned;
Smart_SuperDetail := SmartSuperDetail;
SetupSRL;
If not (LoggedIn) then
LoginPlayer;
OreColor;

repeat
MineOre;
if InvFull Then
DropOre;
Until (false);

end.

end.

Here is the error

Warning! You passed a wrong ye to a finder function: 1080. The client has a height of 503, thus the ye is out of bounds. Setting the value to 502 (h-1) for now.
AutoColor = 5083127

It is spamming this error. the script is working and finding rocks fine but now it doesn't drop them. Any help is appreciated. I will +rep

Note: It is chaning the numbers around. They aren't always 503, or 502.

Spiker
01-30-2012, 05:34 AM
FindColorsSpiralTolerance(960, 540, arP, 2912994, 0, 0, 1920, 1080, 12);

Looks like your searching your entire screen for the color instead of MSX1, MSY1, MSX2, MSY2, which I think is something like 0, 0, 500, 500? Change your Max x and y values here, and I think that will solve your problem.

Good Luck