SRL Archive - Help and Support

Can't allocate the DIB handle


Naum

2009-06-17 21:00:22

[Runtime Error] : Exception: Can't allocate the DIB handle in line 57 in script C:\Program Files\SCAR 3.20\includes\SRL/SRL/Core/Object.scar

Here's the script:

Program CowHider_BankerXtreme;
{$DEFINE SMART} //Comment This to not use SMART '//'
{$IfDEF SMART}
{.include SRL/SRL/Misc/SMART.scar}
{$ENDIF}
{.Include Srl/Srl.Scar}
{.Include Srl/Srl/Misc/Users.Scar}
{.Include Srl/Srl/Misc/DoorProfiles.Scar}
{.Include Srl/Srl/Skill/Fighting.Scar}
Type
TCow = Record
CowType, UpText : String;
CowColor, Tolerance : Integer;
Finder : Function() : Boolean; //Pointer.
End;

Type
TInt = (Low1, Medium, High); //Different Run types :)
RandOff = Set Of TInt;

//Type Not needed atm.
// TCol = TColor;
{--------------}
Const WorldNumber = 81; //Change to change the world used in SMART.
{------}

Var Cow : Array [0..3] Of TCow;
Options : RandOff;

Var x, y, GateColor, XpGained : Integer;
ObjectRecord: TAutoColorInfo;
Hides, Banked, W : Integer;
MR, StartScript : Boolean;

Const Ver = '0.1 pub';

Function FindCow() : Boolean; Forward;

Procedure SetUpRecords;
Begin
With Cow[0] Do
Begin
CowType := 'Brown';
CowColor := 12172994;
Tolerance := 10;
UpText := 'Cow';
Finder := @FindCow;
End;

With Cow[1] Do
Begin
CowType := 'Brown, White';
CowColor := 7503759;
Tolerance := 13;
UpText := 'Cow';
Finder := @FindCow;
End;

With Cow[2] Do
Begin
CowType := 'Black, White';
CowColor := 3952728;
Tolerance := 15;
UpText := 'Cow';
Finder := @FindCow;
End;

With Cow[3] Do
Begin
CowType := 'Black';
CowColor := 5791854;
Tolerance := 11;
UpText := 'Cow';
Finder := @FindCow;
End;

with ObjectRecord do
begin
UpText := 'Cow';
MaxDist := 50;
Color := 8953263;
HueMod := 0.09;
SatMod := 1.00;
LumTol := 14;
MinR := 120; MaxR := 214;
MinG := 116; MaxG := 197;
MinB := 107; MaxB := 191;
MinX := 17.15; MaxX := 54.27;
MinY := 17.94; MaxY := 56.47;
MinZ := 17.66; MaxZ := 56.47;
end;
End;

Procedure N(Term : String);
Begin
WriteLn(Term);
If LoggedIn Then LogOut;
NextPlayer(False);
End;

function PlayersOnMap2(xx1, yy1, xx2, yy2 : integer) : integer; //FBjds!
var
playerses : TPointArray;
begin
FindColorsTolerance(playerses, 16711422, xx1, yy1, xx2, yy2, 19);
RAaSTPA(playerses, 4);
Result := getArrayLength(playerses) - 1;
end;

Procedure AntiBan;
Var I : Byte;
Begin
FindNormalRandoms;
Case Random(25) Of
0 : Begin
GameTab(1 + Random(11));
Wait(200 + Random(400));
If Random(2) = 1 Then
Begin
GameTab(1 + Random(11));
Wait(200 + Random(400));
End Else
GameTab(4 + Random(3));
End;

1, 10..20, 21..24 : SleepAndMoveMouse(1000 + Random(200));

2 : PickUpMouse;

3 : for i := 1 to (3 + Random(4)) do //From BoredHuman;
begin
MMouse(Random(MSX2), Random(MSY2), 0, 0);
if IsUpText('opti') then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
ChooseOption('Examine');
end;
FindNormalRandoms;
end;

4 : If PlayersOnMap2(MMX1, MMY1, MMX2, MMY2) >= 3 Then
Case Random(9) Of
0 : TypeSend(AddMistakes('Soo Boring..', 20));
1 : TypeSend(AddMistakes('laddeda', 20));
2 : TypeSend(AddMistakes('hello ppz', 20));
3 : TypeSend(AddMistakes('.', 20));
4 : TypeSend(AddMistakes('More cowhides', 20));
5 : If PlayersOnMap2(MMX1, MMY1, MMX2, MMY2) >= 1 Then
TypeSend(AddMistakes('Hey!', 20));
6 : TypeSend(AddMistakes('ll', 20));
7 : TypeSend(AddMistakes('ahah!', 20));
8 : TypeSend(AddMistakes('i got loads of hides', 20));
{ 9 : Begin
If PlayersOnMap2(MMX1, MMY1, MMX2, MMY2) >- 1 Then
TypeSend(AddMistakes('How Many cowhides you got?', 20));
If (Length(GetChatBoxText(8, clChat)) =< 10) Then
TypeSend(AddMistakes('kkll', 20)));
End;
End; }

5 : If Random(2) = 1 Then
SetRun(True);
End;
End;
End;

function LinearWalkX(TheColor: Integer; Direction: Integer; Radius: Integer; Xmod, Ymod: Integer): Boolean;
var
tpa: TPointArray;
i: Integer;
begin
FindNormalRandoms;
Result := False;
if LinearWalkEx(tpa, MMCX, MMCY, TheColor, 0, Direction, Radius) then
for i := 0 to High(tpa) do
if MFNF(tpa[i].x - 10, tpa[i].y, Xmod, Ymod) then
begin
Wait(6000 + Random(1000));
FFlag(10);
Result := True;
Break;
end;
end;


Function FindGate_MM : Boolean;
Var TPA : Array Of TPoint;
P : TPoint;
Begin
FindNormalRandoms;
Players[CurrentPlayer].Loc := 'Finding Gate on Minimap';
FindColorsSpiralTolerance(MMCX, MMCY, TPA, 238, MMX1, MMY1, MMX2, MMY2, 15)
TPA := FilterDropDots(TPA);
SplitTPA(TPA, 10);
FilterPointsPie(TPA, -50.0, 100.0, 0.0, 69.0, MMCX, MMCY);
P := MiddleTPA(TPA);
GateColor := GetColor(P.x, P.y);
Result := (GateColor > 0)
If Result Then
MouseFlag(P.x, P.y + 5, 2, 2, 0);
End;

Function OpenGate_Prime : Boolean;
Begin
If FindObjCustom(x, y, ['Gate'], [4808555, 3559518, 1054232], 25) Then
MMouse(x, y, 0, 0);
Result := IsUpText('lose');
If Result Then Exit;
If IsUpText('pen') Then
Mouse(x, y, 0, 0, True);
Result := True;
End;

Function OpenGate : Boolean;
Label Cont;
Var TPA : Array Of TPoint;
ATPA : T2DPointArray;
I : Integer;
Arr : TIntegerArray;
Begin
Players[CurrentPlayer].Loc := 'Trying to Open Gate';
FindNormalRandoms;

Result := OpenGate_Prime;
If Result Then Exit;

Arr := [3425614, 3161671, 3032658];
MouseSpeed := 25;
For I := 0 To High(Arr) Do
FindColorsSpiralTolerance(MMCX, MMCY, TPA, Arr[I], MSX1, MSY1, MSX2, MSY2, 10);
If Length(TPA) > 0 Then
Begin
ATPA := TPAtoATPAEx(TPA, 3, 5);
SortATPAFromFirstPoint(ATPA, Point(MSCX, MSCY));
For I := 0 To High(ATPA) Do
If MiddleTPAEx(ATPA[I], x, y) Then
Begin
MMouse(x, y, 0, 0);
Wait(190 + Random(10));
If IsUpText('pen') Then
Begin
MouseFlag(x, y, 0, 0, 0);
GoTo Cont;
End Else
Begin
If IsUpText('lose') Then GoTo Cont;
If Not IsUpText('lose') Or Not IsUpText('pen') Then
Result := False
Else
Begin
Cont :
Result := True;
MouseSpeed := 15;
Exit;
End;
End;
End;
End;
End;

Procedure WeStuck;
Var TPA : Array Of TPoint;
Begin
FindColorsTolerance(TPA, 1523801, MSX1, MSY1, MSX2, MSY2, 2);
If Length(TPA) > 200 Then
MouseFlag(MMCX - 50, MMCY, 10, 10, 0);

FindColorsTolerance(TPA, 5988193, MSX1, MSY1, MSX2, MSY2, 2);
If Length(TPA) > 400 Then
MouseFlag(MMCX, MMCY + 30, 10, 10, 0);

FindNormalRandoms;
End;

Function FilterFights(Var x, y : Integer) : Boolean;
Var
xx, yy : Integer;
Begin
If IsFightAt(xx, yy) Then
GetMousePos(x, y);
Result := X > 0;
End;


Function FindCow_Prime() : Boolean;
Label Lab0l;
Begin
MouseSpeed := 30;
Lab0l :

Mr := FindObjRecordEx(x, y, ObjectRecord, MSX1, MSY1, MSX2, MSY2, True, True);
Result := IsUpText('ilk');

If Result Then Begin Result := False; Exit; End;
Result := Mr;

If Not Result Then Begin Result := False; Exit End Else
Wait(300 + Random(200));

If IsFightAt(x - 5, y + 8) Then Begin Result := False; Exit End Else

If Not IsUpText('ow') Then GoTo Lab0l Else
Try
GetMousePos(x, y);
Except WriteLn('Could not get a DIB handle :( in FindCow_Prime!');

Finally end;
End;

Function InFight2 : Boolean; //Modded by me
Label Beginning;
Var G, R, TPA, TPA2, TPA1 : TPointArray;
Arr : TIntegerArray;
Box : TBox;
I : Integer;

Begin
Beginning :
Result := InFight;
Begin
If InFight Then Exit;

FindColorsTolerance(TPA1, 198716, MSCX - 65, MSCY - 65, MSCX + 65, MSCY + 65, 0);
FindColorsTolerance(TPA2, 10496, MSCX - 65, MSCY - 65, MSCX + 65, MSCY + 65, 0);

TPA := CombineTPA(TPA1, TPA2);
If High(TPA) = -1 Then
Exit
Else Begin
Result := True ;
Inc(I);
If I > 40 Then Exit;
End;
GoTo Beginning;
{ FindColorsTolerance(TPA2, 198716, MSCX - 70, MSCY - 70, MSCX + 70, MSCY + 70,0);
If High(Length(TPA) + Length(TPA2) - 2) > 0 Then
Begin
Box := GetTPABounds(CombineTPA(TPA, TPA2))
Arr := GetColorsBox(Box.x1, Box.y1, Box.x2, Box.y2, True);
End;
For I := 0 To High(Arr) Do
FindColorsTolerance(G, Arr[I], MSCX - 70, MSCY - 70, MSCX + 70, MSCY + 70, 0);
If High(Length(G) + Length(R) - 2) > 0 Then
Begin
G := RemovePointsInBox(G, IntToBox(233, 134, 282, 172));
R := RemovePointsInBox(R, IntToBox(233, 134, 282, 172));
End;
Result := (High(CombineTPA(G, R)) > 0); }
End;
End;

Function FindCow : Boolean;
Var TPA : Array Of TPoint;
I : Integer;
ATPA : T2DPointArray;
T : Boolean;
Begin
Players[CurrentPlayer].Loc := 'Finding Cow';
MouseSpeed := 19;
WeStuck;

If FindCow_Prime Then
Begin
Result := True;
MR := True;
MouseSpeed := 15;
Exit;
End;

For I := 0 To High(Cow) Do
Begin
FindColorsSpiralTolerance(MMCX, MMCY, TPA, Cow[I].CowColor, MSX1, MSY1, MSX2, MSY2, 15);
If High(TPA) > -1 Then
T := True;

//WriteLn(Length(TPA));
If T = True Then
Begin
WriteLn('Finding '+Cow[I].CowType+' Cow');
Break;
End;
End;
SortATPAFromFirstPoint(ATPA, Point(MSCX, MSCY));
Result := InFight2;
If Result Then Exit;
If Length(TPA) > 0 Then
Begin
ATPA := TPAtoATPAEx(TPA, 0008, 08);
For I := 0 To High(ATPA) Do
If MiddleTPAEx(ATPA[I], x, y) Then
Begin
If FilterFights(x, y) Then
RemovePointsInBox(ATPA[I], IntToBox(x - 50, y - 50, x + 50, y + 50));

Result := InFight2;
If Result Then Exit;

//DebugTPA(ATPA[I], '');
//TerminateScript;
MMouse(x, y, 0, 0);

Wait(200 + Random(10));
If IsUpText('ilk') Then
Begin
InvertATPA(ATPA);
If Random(4) = 1 Then
Begin
WriteLn('TPA Finding mucking up becuase of Milk Cow');
WriteLn('Randomly Relocating');
MouseFlag(MMCX + 7, MMCY + 10, 20, 20, 0);
Result := False;
Break;
End;
MR := False;
End Else
//For I := 0 To High(Cow) Do
If IsUpText('Cow') Then
Begin
GetMousePos(x, y);
Result := True;
MR := True;
MouseSpeed := 15;
Exit;
End;
End;
MouseSpeed := 15;
End;
Result := False;
MR := False;
End;

Procedure WalkToCows;
Label gg;
Var F : Integer;
Begin
Players[CurrentPlayer].Loc := 'Walking To Cows';
GoTo GG;
GG :
If Not LinearWalkX(FindWaterColor, 20, 60, 0, 0) Then
If Not LinearWalkX(FindWaterColor, 25, 65, -2, 3) Then
N('Lost Walk [1] in WalkToCows')
Else
FFlag(0);

If Not LinearWalk(FindFallyRoadColor, 0, 69, 0, 0) Then
If Not LinearWalk(FindFallyRoadColor, 5, 66, 3, 4) Then
N('Lost Walk [2] in WalkToCows')
Else
FFlag(0);

If FindRoadColor = 0 Then
MouseFlag(MMCX, MMCY - 50, 5, 5, 0);
If Not LinearWalk(FindRoadColor, 0, 62, 0, 0) Then
If Not LinearWalk(FindRoadColor, -20, 52, 0, 0) Then
N('Lost Walk [3] in WalkToCows')
Else
FFlag(0);
Begin
If Not FindSymbolIn(x, y, 'tree', 538, 22, 643, 162) Then
Begin
If MFF(569, 93, 10, 10) Then
Wait(800 + Random(801));
If Not FlagPresent Then
N('Lost FailSafe [1] in WalkToCows')
End Else
MouseFlag(x - 10, y, 0, 0, 5);
If Not IsMoving(1000) Then
N('Lost Symbol [1] in WalkToCows - Failsafe[1]')
Else
Wait(1);
End;

FindNormalRandoms;

If Not FindGate_MM Then N('Could not find Gate in FindGate_MM') Else
Begin
If OpenGate Then
Begin
MouseFlag(MMCX, MMCY - RandomRange(15, 45), 5, 5, 0)
WriteLn('We Are at The Cow Area');
End Else
For F := 0 To High(Cow) Do
If Not Cow[F].Finder() Then
N('Could not find Gate in FindGate_MM');

Exit;
End;
Wait(1);
End;


function PixelShift(x1, y1, x2, y2, step, t: integer): integer; //Marpis
var
bmp, bmp2, x, y: integer;
begin
bmp := BitmapFromString((x2 -x1), (y2 - y1), '');
bmp2 := BitmapFromString((x2 -x1), (y2 - y1), '');
SafeCopyCanvas(GetClientCanvas, GetBitmapCanvas(bmp), x1, y1, x2, y2, 0, 0, (x2 - x1), (y2 - y1));
wait(t);
SafeCopyCanvas(GetClientCanvas, GetBitmapCanvas(bmp2), x1, y1, x2, y2, 0, 0, (x2 - x1), (y2 - y1));
for x := 1 to ((x2 - x1)/step) do
for y := 1 to ((y2 - y1)/step) do
if FastGetPixel(bmp2, x * step, y * step) <> FastGetPixel(bmp, x * step, y * step) then
Inc(result);
FreeBitmap(bmp);
FreeBitmap(bmp2);
end;

function m_IsMoving: boolean; //Marpis
begin
result := PixelShift(MMX1, MMY1, MMX2, MMY2, 5, 200) > 100;
end;


Function PickUpHide : Boolean;
Var TPA : TPointArray;
P : TPoint;
Begin
Players[CurrentPlayer].Loc := 'Picking Up Hides';
X := MMCX;
Y := MMCY;
Result := FindObjTPA(x, y, 12171971, 10, 2, 10, 10, 40, ['ake']);
If Result Then
Begin
Mouse(x, y, 0, 0, False);
Result := ChooseOption('whide');
Wait(2000 + Random(1000));
While m_IsMoving Do Wait(200 + Random(200));

Exit;
End;

FindColorsTolerance(TPA, 12171971, MSCX - 50, MSCY - 50, MSCX + 50, MSCY + 50, 8);
If Length(TPA) = 0 Then FindColorsSpiralTolerance(MSCX, MSCY, TPA, 12171971, MSCX - 150, MSCY - 150, MSCX + 150, MSCY + 150, 11);
If Length(TPA) > 0 Then
Begin
SplitTPAEx(TPA, 10, 10);
P := MiddleTPA(TPA);
MMouse(P.x, P.y, 0, 0);
Wait(200 + Random(200));
If IsUpText('ake') Then
Mouse(P.x, P.y, 0, 0, False);
Result := ChooseOption('whide');
Wait(2000 + Random(1500));
End;
FindNormalRandoms;
End;

Procedure GetCowHides;
Label Lol, Lolx, Loly;
Var TPA : TPointArray;
IMark, I : Integer;
Begin
Players[CurrentPlayer].Loc := 'Killing Cows';
Repeat
FindNormalRandoms;
Lol :
For I := 0 To High(Cow) Do
Begin
If Not Cow[I].Finder() Then Break;
Begin
Case Random(3) Of
0, 2 : Mouse(x, y, 0, 0, True);
1 : Begin
Mouse(x, y, 0, 0, False);
Wait(200 + Random(400));
ChooseOption('tack');
End;
End;
Break;
End;
End;
Wait(1800 + Random(800));
MouseSpeed := 17;
While m_IsMoving Do Wait(1300 + Random(800));

If Not MR Then
For I := 0 To High(Cow) Do
Begin
If Cow[I].Finder() Then
Begin
Mouse(x, y, 1, 1, True)
Wait(100 + Random(300));
Break;
End Else
Break;
End;

If Not MR Then GoTo Loly;

I := 0;
While Not InFight2 or (I >= 30) = False Do
Begin
Wait(100 + Random(90));
Inc(I);
End;

If InFight2 Then
GoTo Lolx
Else
GoTo Loly;

If Not MR Then
Begin
Begin
Loly :
If FindObj(x, y, 'acks', 1143694, 15) Then
MouseFlag(MMCX - 20, MMCY + 17, 5, 5, 0)
Else
If FindColorsTolerance(TPA, 62965, MMX1, MMY1, MMX2, MMY2, 3) Then
Begin
TPA := RemovePointsInBox(TPA, IntToBox(665, 8, 709, 166));
For I := 0 to High(TPA) Do
If PointInBox(TPA[I], IntToBox(MMCX - (I*5), MMCY - (I*5), MMCX + (I*5), MMCY + (I*5))) Then
Begin
MouseFlag(TPA[I].x, TPA[I].y, 3, 3, 0);
FindNormalRandoms;
Break;
End;
End;
End;
GoTo Lol;
End;

Lolx :
Begin
MarkTime(IMark);
If InvFull Then Exit;
Repeat
Wait(500 + Random(300));
AntiBan;
Until(Not (InFight2)) xOr (TimeFromMark(IMark) > 10000);
If PickUpHide Then Inc(Hides);
End;
XpGained := Round(XpGained + 4.375);

If InvFull Then Exit;
Until(InvFull) xOr (Not(LoggedIn));
If Not LoggedIn Then N('Not Logged In..');
End;

Function FindBankers() : Boolean;
Var TPA : TPointArray;
ATPA : T2DPointArray;
TB : TBoxArray;
II : Integer;

Begin
Players[CurrentPlayer].Loc := 'Finding Bankers on Minimap';
FindNormalRandoms;
Begin
FindColorsTolerance(TPA, 65536, MMX1, MMY1, MMX2, MMY2, 1);
ATPA := TPAToATPA(TPA, 20);
If High(ATPA) = -1 Then Exit Else
SetArrayLength(TB, High(ATPA));
For II := 0 To High(TB) Do
Begin
TB[II] := GetTPABounds(ATPA[II]);

If CountColorTolerance(124132, TB[II].x1, TB[II].y1, TB[II].x2, TB[II].y2, 34) >= 20 Then
MouseBox(TB[II].x1, TB[II].y1, TB[II].x2, TB[II].y2, 1)
Else
Continue;
End;
Result := FlagPresent;
If Result Then
Begin
WriteLn('Found Bankers on MiniMap!');
FFlag(0);
Exit;
End Else
If FindSymbol(x, y, 'bank') Then
Begin
WriteLn('Trying Failsafe [1]');
Mouse(x, y, 0, 0, True)
Result := True;//m_IsMoving;
FFlag(0);
End Else
N('Could not enter bank in FindBankers');
End;
End;

Function OpenFallyBank : Boolean;
Var TPA : TPointArray;
P : TPoint;
I : Integer;
ATPA : T2DPointArray;
Begin
Players[CurrentPlayer].Loc := 'Opening Falador Bank';
FindColorsSpiralTolerance(MMCX, MMCY, TPA, 2701894, 1, 1, 518, 224, 15);
Begin
SplitTPAEx(TPA, 4, 5); //Ultra Filteration
RAaSTPA(TPA, 40);
ATPA := TPAtoATPA(TPA, 20);
End;

If Length(ATPA) > 0 Then
For I := 3 To High(ATPA) Do //Skip the few points for faster finding
Begin
P := MiddleTPA(ATPA[I]);

MMouse(P.x, P.y, 0, 0);

Wait(100 + Random(100));

If IsUpText('ooth') Then
Begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
Wait(80 + Random(80));
If ChooseOption('uickly') Then
Wait(RandomRange(2001, 4001));

Result := BankScreen Or PinScreen;
If Result Then Break;
End Else

Continue;
End;
If Result Then WriteLn('BankScreen!');
End;


Procedure Bank;
Label Ben, Start;
Var TPA, TPA2 : TPointArray;
ATPA : Array Of Array Of TPoint;
Box : TBox;
Begin
GoTo Start;
Start :
Players[CurrentPlayer].Loc := 'Bank';
FindNormalRandoms;
Ben :
FindColorsTolerance(TPA, 238, MMCX - 80, MMCY, 731, 165, 15);
Begin
//SortCircleWise(TPA, MMCX, MMCY, 10, False, False);
TPA := FilterDropDots(TPA);
FilterPointsPie(TPA, -90.7, 90.2, 10.0, 75.1, MMCX, MMCY);
ATPA := TPAToATPAEx(TPA, 3, 1);
{}InvertATPA(ATPA);{} //TPA's Bloody Awesome!
If Length(ATPA) > 0 Then
If MiddleTPAEx(ATPA[0], x, y) Then
MouseFlag(x - 3, y - 5, 5, 2, 2);

FindSymbols(TPA2, 'tree')
If Not Length(TPA2) = 2 Then
Begin
Mouse(560, 92, 10, 10, True);
FFlag(0);
GoTo Ben;
End;
End;

If Not OpenGate Then N('Couldnt Open Gate in Bank');
If Not FindSymbolIn(x, y, 'tree', 627, 1, 714, 169) Then
N('Lost Walk [1] in Bank')
Else
Begin
Mouse(x, y - 10, 2, 2, True);
Wait(5000 + Random(3000));
FFlag(0);
End;
FindNormalRandoms;
Begin
If FindColorsTolerance(TPA, FindFallyRoadColor, MMX1, MMY1, MMX2, MMY2, 0) Then
Begin
RAaSTPA(TPA, 90); //Points Clashed, so I went for higher density
Box := GetTPABounds(TPA);
MouseBox(Box.x1 + (7 + Random(3)), Box.y1 + (7 - Random(3)), Box.x2 - 2, Box.y2 - 3, 1);
End Else
If Not LinearWalk(FindFallyRoadColor, 130, 70, -2, 3) Then
N('Lost Walk [2] in Bank')
Else
FFlag(0);

Begin
If Not CountColor(FindWaterColor, MMX1, MMY1, MMX2, MMY2) > 10 Then
N('Lost in Bank')
Else
Begin
If Not LinearWalk(FindFallyRoadColor, 160, 70, 0, 0) Then
If Not LinearWalk(FindWaterColor, 165, 72, 0, 0) Then
N('Lost Walk [3] in Bank')
Else
FFlag(0);

If Not LinearWalk(FindFallyRoadColor, 180, 73, 0, 0) Then
If Not LinearWalk(FindFallyRoadColor, 176, 72, 0, 0) Then
N('Lost Walk [4] in Bank')
Else
FFlag(0);

If Not LinearWalk(FindFallyRoadColor, 180, 53, 0, 0) Then
If Not LinearWalk(FindFallyRoadColor, 176, 50, 0, 0) Then
N('Lost Walk [5] in Bank')
Else
Begin
Wait(3000 + Random(4000));
FFlag(0);
End;
FindNormalRandoms;

If Not FindBankers Then
N('Lost In Finding, in FindBankers')
Else
If OpenFallyBank Then
Begin
If PinScreen Then
InPin(Players[CurrentPlayer].Pin);
Wait(500 + Random(500));
If BankScreen Then
DepositAll();
If CloseBank Then
Begin
Inc(Banked);
Inc(Players[CurrentPlayer].Integers[77]);
End;
End;
End;
End;
FindNormalRandoms;
End;
End;

Procedure ProgressReport(Loc : String);
Var I, Space, Xpl : Integer;
Begin
Xpl := Trunc((3600000 / GetTimeRunning) + 1);
SRLRandomsReport;

If Length(TimeRunning) > 30 Then
Space := 60
Else
Space := 50;

Begin
WriteLn('');
WriteLn(Padr('(|'+Replicate('>', Space - 2), Space) + '|)');
WriteLn(Padr('(| Cow Killer + Hide Banker ', Space) + '|)');
WriteLn(Padr('(| Version '+Ver+' ', Space) + '|)');
WriteLn(Padr('(| By NaumanAkhlaQ ', Space) + '|)');
WriteLn(Padr('(| Used '+IntToStr(CurrentPlayer)+' Out Of '+IntToStr(HowManyPlayers)+' !', Space) + '|)');
WriteLn(Padr('(|'+Replicate('-', Space - 2), Space) + '|)');
WriteLn(Padr('(| ~> Worked For : '+TimeRunning+'.', Space) + '|)');
WriteLn(Padr('(| -> Location = '+Loc+'.', Space) + '|)');
WriteLn(Padr('(|'+Replicate('>', Space - 2), Space) + '|)');
WriteLn(Padr('(| > Hides Collected - '+IntToStr(Hides)+'.', Space) + '|)');
WriteLn(Padr('(| > Banked - '+IntToStr(Banked)+'.', Space) + '|)');
WriteLn(Padr('(| > XpGained - '+FloatToStr(XpGained)+'.', Space) + '|)');
WriteLn(Padr('(| > Hides Per Hour (HPH) - '+FloatToStr(Xpl * Hides)+'.', Space) + '|)');
WriteLn(Padr('(|'+Replicate('<', Space - 2), Space) + '|)');
WriteLn(Padr('(|Written On '+TheTime+' '+TheDate(3)+' !', Space) + '|)');
WriteLn(Padr('(|'+Replicate('<', Space - 2), Space) + '|)');
WriteLn(Padr('(| Player Information :', Space) + '|)');
For I := 0 To High(Players) Do
Begin
WriteLn('+++++++++++++');
WriteLn(' Player['+IntToStr(I)+']');
WriteLn('[-} '+ Players[I].Name +' /\ Collected '+IntToStr(Players[I].integers[88])+' Hides! /\ Banked ' +IntToStr(Players[I].integers[77])+' Loads!');
WriteLn('[-} Gained '+IntToStr(XpGained)+' Fighting Xp! /\ '+ Players[I].Name +#39 +'s Active Is '+BoolToStr(Players[I].Active)+' !');
If Players[CurrentPlayer].Loc =
'' Then
WriteLn('[-} '+Players[I].Name +#39+'s Location is ''Not Yet Used'' !')
Else
WriteLn('[-} '+Players[I].Name +#39+'s Location is '+Players[I].Loc+' !');
WriteLn('+++++++++++++');
End;
End;
End;

Procedure CheckRun;
Var Energy : Byte;
S : String;
Begin
Players[CurrentPlayer].Loc := 'Checking Run Status';
Try
If Random(2) = 1 Then Begin
If Low1 In Options Then Energy := 20 + Random(10);
End Else
If Medium In Options Then Energy := 40 + Random(10);
Except
WriteLn('Error In TInt, RandOff');
Finally
If GetMMLevels('run', S) >= Energy Then
SetRun(True);
End;
End;

Procedure ScriptTerminate;
Begin
ProgressReport(Players[CurrentPlayer].Loc);
End;

Procedure Checks;
Var S : String;
Begin
If Random(2) = 1 Then CheckRun;
Status(Players[CurrentPlayer].Loc);
If IsFKeyDown(2) Then ProgressReport(Players[CurrentPlayer].Loc);
If IsFKeyDown(5) Then
Begin
GetApplication.BringToFront;
S := ReadLn('What Do you want to say?');
GetApplication.Minimize;
Mouse(111, 462, 100, 5, True);
TypeSend(AddMistakes(S, 30));
End;
If IsFKeyDown(4) Then
Begin
While InFight2 Do Wait(300 + Random(900));
NextPlayer(False);
End;
End;

Function Setup : Variant;
Begin
Options := [Low1, Medium];
ActivateClient;
SymbolAccuracy := 0.45;
SetUpRecords;
SRL_Procs[srl_OnRandomCall] := @Checks;
{-------------------------------}
{$IFDEF SMART}
WriteLn('SMART IS LOADING -');
SmartSetupEx(WorldNumber, False, True, False);
While (Not (SmartActive)) Do
Wait(200 + Random(800));

WriteLn('Loaded');
SetTargetDc(SMARTGetDC);
{$ENDIF}
{-------------------------------}

Wait((900 xOr 90) + Random(200));
If Not LoggedIn Then LoginPlayer;
SetRun(True);
Result := 50 Xor 60;
End;

Var BK : Integer;
BackGround : TImage;
FrmDesign : TForm;
X2, Y2 : Integer;
StartPos, StartMousePos : TPoint;
AreMoving : boolean;
Memo1 : TMemo;
Button2 : TButton;
Button3 : TButton;
Button4 : TButton;
Button5 : TButton;
CB : TCheckBox;

//Const Ver = '0.1';

//Get Pos = Image Moving Functions Aided by mastaRaymond :)
Procedure GetPos(Sender1: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

Begin
GetMousePos(X2, Y2);
StartPos := Point(frmDesign.left,frmDesign.top);
StartMousePos := Point(x2,y2);
Aremoving := True;
End;

Procedure CheckVersion;
Var S : String;
Var T : Integer;
Begin
Memo1.Lines.Add('');
MarkTime(T);
Memo1.Lines.Add('<<<< Version Checker Activated! >>>>');
Try
S := GetPage('http://cowkiller.freehostia.com/New%20Text%20Document%20(2).txt');
Except
end;
If S = Ver Then
Memo1.Lines.Add('Your version is up to date :)')
Else
Begin
Memo1.Lines.Add('Your version is NOT up to date :(');
Memo1.Lines.Add('Your Version Is '+Ver+', The Newest Version Is '+S);
End;
End;


Procedure DrawCow;
Begin
Memo1.Lines.Add('');
Memo1.Lines.Add('Thank-you for using this script :)');
Wait(800);
End;

Procedure Click(SenderSS : TObject);
Var F : Integer;
Begin
Case SenderSS Of
Button2 : Begin
DrawCow;
For F := 240 DownTo 0 Do
Begin
MakeWindowTransparent(FrmDesign.Handle, F);
Wait(2);
End;
StartScript := True;
FrmDesign.ModalResult := mrOk;
End;

Button3 : Begin
Memo1.Lines.Add('');
Memo1.Lines.Add('<<<< Player Form Activated! >>>>');
SRLPlayerForm(True, ['Use percision running'], ['Loads To Bank?'], [], []);
End;

Button4 : Try CheckVersion Except Memo1.Lines.Add('< Could Not CheckVersion - Connection Error! >') end;

CB : Begin
If Not CB.Checked Then
Begin
Memo1.ReadOnly := False
Memo1.Color := 10666964;
End Else
Begin
Memo1.ReadOnly := True;
Memo1.Color := 4479587;
End;
End;

//Button5 :
End;
End;

Procedure GetPosX(Sender2: TObject; Shift: TShiftState; X, Y: Integer);

Begin
if AreMoving then
begin
GetMousePos(X2, Y2);
FrmDesign.Left := StartPos.x + (x2-StartMousePos.x);
FrmDesign.Top := StartPos.y + (y2-StartMousePos.y);
end;
{ BackGround.Left := Fx[2];
BackGround.Top := Fy[2];}
End;

Procedure GetPosY(Sender3: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

Begin
GetMousePos(X2,y2);
FrmDesign.Left := StartPos.x + (x2-StartMousePos.x);
FrmDesign.Top := StartPos.y + (y2-StartMousePos.y);
AreMoving := False;
{ BackGround.Left := Fx[2];
BackGround.Top := Fy[2];}
End;


Procedure IsClose(Sender4: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Begin
GetMousePos(X2, Y2);
End;


Procedure Close(Sender5: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Begin
FrmDesign.Close;
WriteLn('User called = Form End [0.01]');
StartScript := False;
End;


Procedure Form;
Var BK2 : TImage;
Begin
ClearDebug;
frmDesign := CreateForm;
frmDesign.Left := 250;
frmDesign.Top := 195;
frmDesign.Width := 462;
frmDesign.BorderIcons := [];
frmDesign.BorderStyle := bsNone;
frmDesign.Height := 399;
frmDesign.Caption := ' NAQ'#39's - Cow Killer + Hide Banker Xtreme!';
frmDesign.Color := clBtnFace;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'Arial';
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
frmDesign.Position := poScreenCenter;

CB := TCheckBox.Create(frmDesign);
CB.Parent := frmDesign;
CB.Left := 22;
CB.Top := 378;
CB.Caption := 'Read Only?';
CB.Width := 150;
CB.Height := 15;
CB.TabOrder := 18;
CB.OnClick := @Click;

Background := TImage.Create(frmDesign);
Background.Parent := frmDesign;
Background.SetBounds(0, 0, 462, 399);
BackGround.OnMouseDown := @GetPos;
BackGround.OnMouseMove := @GetPosX;
BackGround.OnMouseUp := @GetPosY;
Try
BK := LoadBitmap(ScriptPath+'my back(1).bmp');
Except end;
SafeCopyCanvas(GetBitmapCanvas(BK), Background.Canvas, 0, 0, 462, 399, 0, 0, 462, 399);
FreeBitmap(BK);

BK2 := TImage.Create(frmDesign);
BK2.Parent := frmDesign;
BK2.SetBounds(429, 6, 28, 27);
BK2.OnMouseDown := @IsClose;
BK2.OnMouseUp := @Close;
SafeDrawBitmap(W, BK2.Canvas, 0, 0);
FreeBitmap(W);

Memo1 := TMemo.Create(frmDesign);
Memo1.Parent := frmDesign;
Memo1.Left := 22;
Memo1.Top := 144;
Memo1.Width := 300;
Memo1.Color := 10666964;
Memo1.WordWrap := True;
Memo1.Height := 233;
Memo1.ScrollBars := ssBoth;
Memo1.Lines.Add('Welcome to Fally Cow Hider Xtreme - Setup Form');
Memo1.Lines.Add('Please Select an Operation to Perform!!!');
Memo1.Lines.Add('');
Memo1.Lines.Add('Current Version you are using is '+Ver);
Memo1.Lines.Add(Replicate('>', 40));
Memo1.TabOrder := 8;
Memo1.ReadOnly := True;
Memo1.Enabled := True;

Button2 := TButton.Create(frmDesign);
Button2.Parent := frmDesign;
Button2.Left := 340;
Button2.ShowHint := True;
Button2.Hint := 'Press This To Start The Script * '+UpperCase('Make Sure you Have Filled In Your Player Information First :) *');
Button2.Top := 296;
Button2.Width := 105;
Button2.Font.Name := 'Comic Sans MS';
Button2.Font.Size := -17;
Button2.Height := 43;
Button2.Caption := 'Start Script';
Button2.TabOrder := 0;
Button2.OnClick := @Click;

Button3 := TButton.Create(frmDesign);
Button3.Parent := frmDesign;
Button3.Left := 340;
Button3.ShowHint := True;
Button3.Hint := 'Setup all your player details here :)';
Button3.Top := 144;
Button3.Width := 105;
Button3.Height := 33;
Button3.Caption := 'Setup Players';
Button3.TabOrder := 10;
Button3.OnClick := @Click;

Button4 := TButton.Create(frmDesign);
Button4.Parent := frmDesign;
Button4.Left := 340;
Button4.ShowHint := True;
Button4.Hint := 'This will connect to my webiste for updates (Lags for approx. 3 seconds)';
Button4.Top := 192;
Button4.Width := 105;
Button4.Height := 33;
Button4.Caption := 'Check for Updates';
Button4.TabOrder := 11;
Button4.OnClick := @Click;

Button5 := TButton.Create(frmDesign);
Button5.Parent := frmDesign;
Button5.Left := 340;
Button5.ShowHint := True;
Button5.Hint := 'Will connect to my site to get the latest progress report';
Button5.Top := 240;
Button5.Width := 105;
Button5.Height := 33;
Button5.Caption := 'Get Latest Proggie';
Button5.TabOrder := 12;
Button5.OnClick := @Click;

frmDesign.ShowModal;
End;

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

procedure ShowFormModal;
begin
ClearDebug;
end;

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

Procedure FormShow;
Begin
SafeInitForm;
SafeShowFormModal;
End;

Procedure DoSig;
Begin
ChangeReportWidth(260);
WriteLn(' ______ ______ ');
Wait(50);
WriteLn('| ___ \ / _____) ');
Wait(50);
WriteLn('| | | | ____ _ _ ____ ____ ____ _____ | / ___ _ _ _ ');
Wait(50);
WriteLn('| | | |/ _ | | | | \ / _ | _ \(___ ) | | / _ \| | | | ');
Wait(50);
WriteLn('| | | ( ( | | |_| | | | ( ( | | | | |/ __/ | \____| |_| | | | | ');
Wait(50);
WriteLn('|_| |_|\_||_|\____|_|_|_|\_||_|_| |_(_____) \______)___/ \____| ');
Wait(50);
WriteLn(' ');
Wait(500);
WriteLn(' _ _ _ _ _ _ ');
Wait(50);
WriteLn('| | / |_) | | | | ');
Wait(50);
WriteLn('| | / / _| | | ____ ____ ____ ____ _ | | ');
Wait(50);
WriteLn('| |< < | | | |/ _ )/ ___) / _ | _ \ / || | ');
Wait(50);
WriteLn('| | \ \| | | ( (/ /| | ( ( | | | | ( (_| | ');
Wait(50);
WriteLn('|_| \_)_|_|_|\____)_| \_||_|_| |_|\____| ');
Wait(50);
WriteLn(' ');
Wait(500);
WriteLn(' _ _ _ _ _ _ ');
Wait(50);
WriteLn('| | | (_) | | \ \ / / ');
Wait(50);
WriteLn('| |__ | |_ _ | | ____ ____ __\ \/ / |_ ____ ____ ____ ____ ');
Wait(50);
WriteLn('| __)| | |/ || |/ _ )/ ___) (___) (| _) / ___) _ ) \ / _ )');
Wait(50);
WriteLn('| | | | ( (_| ( (/ /| | / /\ \ |__| | ( (/ /| | | ( (/ / ');
Wait(50);
WriteLn('|_| |_|_|\____|\____)_| /_/ \_\___)_| \____)_|_|_|\____)');
Wait(900);
WriteLn('');
End;


Procedure MainLoop;
Begin
FormShow;
SRLPlayerForm(False, [], ['Loads To Bank?'], [], []);
Begin
FreeForm(FrmDesign);
ClearDebug;
If StartScript = False Then TerminateScript Else
Wait(1);

If Setup * 1 > 0 Then WriteLn('[Setup] Status - Completed!');
{$IFDEF SMART}
SetTargetDC(SMARTGetDC);
{$ENDIF}
Wait(1);
Repeat
Repeat
SetAngle(True);
MakeCompass('S');
WalkToCows;
GetCowHides;
Bank;
ProgressReport(Players[CurrentPlayer].Loc);
Until(Banked >= Players[CurrentPlayer].Integers[0]) xOr (Not (LoggedIn));

If Not LoggedIn Then NextPlayer(False) Else
Begin
LogOut;
NextPlayer(True);
End;
ProgressReport(Players[CurrentPlayer].Loc);
Until(AllPlayersInactive);

If AllPlayersInactive Then ProgressReport(Players[CurrentPlayer].Loc);
End;
End;

Begin
SetupSRL;
DoSig;
W := BitmapFromString(28, 27, 'beNqt1HtQkukewPFXQUFAEJAw75f' +
'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' +
'THd/X/MnwDv/nCv');

MainLoop;
WriteLn('Thanks for using - Please Post your proggie :-)!');

Wait(1);
{---}
End.

I have tried but I get this error on SMART always. This happens when trying to find a record.

Thanks in Advance :)

mixster

2009-06-17 22:31:52

I used to get the error when creating a lot of bitmaps (in the thousands) without freeing. As the error location seems random, it doesn't reveal if it was a bitmap creation causing it. If you don't use them and have debugged it, then informing of which specific bit it is would be helpful as blindly fixing problems is for blind people.

Naum

2009-06-18 00:36:15

From: mixster
I used to get the error when creating a lot of bitmaps (in the thousands) without freeing. As the error location seems random, it doesn't reveal if it was a bitmap creation causing it. If you don't use them and have debugged it, then informing of which specific bit it is would be helpful as blindly fixing problems is for blind people.


Okay, I get it at AllObjsRecord it happens whilst using SMART at that specific line.
Furthermore it is a SMART prob because I can run it on RuneScape without anything happening.

What more info do you want?

mixster

2009-06-18 01:01:09

Does the problem always occur on first run through or after multiple loops?
If after multiple loops, have you left it running on a normal RS client long enough to ensure that the error isn't just sped up by Smart?

Is the computer you are running it on easily able to cope with running Smart or is it an older machine? If it's the latter, try on a faster & more modern computer to see if it's due to running low on space or being fail.

Have you tried encasing in a try..except..end and seeing if the problem repeats itself multiple times, is just a one off or is an every loop problem?

Naum

2009-06-18 10:31:20

Does the problem always occur on first run through or after multiple loops?
Yes

Is the computer you are running it on easily able to cope with running Smart or is it an older machine?
It can run SMART

Have you tried encasing in a try..except..end and seeing if the problem repeats itself multiple times, is just a one off or is an every loop problem?
I have tried a try..except but that didn't help. So I assume its with the record finding procedures within SRL. Moreover, I used to recieve these exact same errors before (when I was using records). :)