SRL Archive - Help and Support

Runtime error


Sp0rky

2007-10-24 16:10:39

Can someone tell me why this gives a runtime error? /Confirm it does for them too?

Latest srl and scar.


program Sp0rkehString;
{.include SRL/SRL.scar}

var
x,y,YewLongU,BowString,EnterNumber,YewLong,BowString2,StrungYew : Integer;
pin : string;
BowsToString,BowsStrung : Integer;

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

Players[0].Name := ''; // Username here.
Players[0].Pass := ''; // Your password here.
Players[0].Nick := ''; // 3-4 Letters of your name.
Pin := '';
Players[0].Active := True;
BowsToString := ;

NickNameBMP:= CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
End;

procedure LoadBitmaps;
begin
YewLongU := BitmapFromString2(False, 'aA440F78DAB5956D8EC52' +
'00845B784DFF053ADEE7F49233A93D8F4D5A7B59326370D453845' +
'1400801C8B40C022FA48450DDAA216255B24DBADE0770B9ABFFA6' +
'AF7EC23B15A0C4730B9AEE28F6012F17B30455D726C01F67126B3' +
'6ACE628F6AF7ECA331D5ECA84983D227459594E2A0204C3402880' +
'85DE5291605B23CCDE757AF11F6B58BDFF23AB20152C400029BE5' +
'C4B04372B7F612BFE5A5B2414246EB8F8F241B7F3AE5D3916074B' +
'E9080A74D92F1AA6B9DAF24E81CA410BC16667977663C870C3D89' +
'F5E56C50309497485E62E8499A0649714072CDF5AC62E3DDC9EE1' +
'89CDFB1CE77CE55AD3A94ECF7E50BC3F65D71C7D093784BE24197' +
'BECA80C669481FAAF1D29D39DF1B5E61FEEB8D17AA31FCF793F63' +
'76A445AEACFD50A4C30B4F9D293FC3BC3DD7CB1A827ABB1D1875F' +
'18EA8CEB495E6018E61D932CDC1B331558BD3FEB9CED496E19362' +
'A3F3F535A1DA64ECA5DE73F62683ACEFE03D0E');
BowString := BitmapFromString2(False, 'a869F678DAAD94EB0EC3' +
'2008855F090595FEECF5FD1F6905B78486B9E9D636392595F8712' +
'815004208705EEB710A4EEBA939445116259E254E2C8AB29A965D' +
'62208967C989AC71D2D523CBAABC06D24749B273D98BAC324ABC4' +
'87E9994724C1293EEB9490EEE5A49269A08F09B32EE8837680FEB' +
'5EA2AAB409C23F3A4A642A9CE67F74945BF3430AF1BC555B5E4AC' +
'84C5BD516B7878E10A1425EF9F58D555B95E576D1336E189FEAE6' +
'C7522E93A3F9BE1B9EEE6BB870FB27D6D469EBF774CBB2DFE8E9A' +
'2EE3348AC6ABBFDB9B797BE798FF62B3B8AF7D86235DD798F0D62' +
'6B6207DC7510FBFF8B0177AEFE9E8EF59C066FDCFD74E6D8C96CE' +
'9C55DE30478002B4');
EnterNumber := BitmapFromString2(False, 'a1367478DAD596D16EC' +
'3200C457F891060F01860FDFF4F2A986A7530264E52691B0F57E8' +
'C671AD8343AD945AD6A8CA7AE4226B72459D3255AD2F6A3D386B2' +
'A6A0CF8AE3AF6016A5317A3BD79FB10E3744D6F822DFA65BEAB46' +
'C813C109F5B1D5E02770D65A89F3BA8B8910A3B72DFB64379DD7A' +
'4B725BBB2F72F67AF26E4ACD312D26EDFDEC2DAFCB9B60C5855CC' +
'21BE94C673FE1DC5D5C25EA135889CD74089B5B730BD3D43ECD73' +
'DAD4AAE9461699EE0CA3E05FB616E536519CA4F04D3C33AEAC99E' +
'2D267C8DE19E67A5D74836FD2F0C912A66755DFA434F0996A4F24' +
'13CE2C96593F8927A249107DF3BBD13381FF5218DEF22FB18AE1E' +
'740FDC613567722DCFE93E043E0727C83124EF9E6078CD674EED0' +
'379A6DFE9E0E69FF75B281AFE1C43BEE6E10DF36B0C9B4F1972DF' +
'DD1D8667FBE72C43AE662ECF3586E8FFE2F05B1ED729618867A1E' +
'9BDC1DD3992AA4EDCB784C920B384339D0CE9B403DD7830ED8C9E' +
'BE67483EE6ED0B6686814FE7F6791EF9FC2CFF75EE29A71C6DE61' +
'FEAE074E60CCF4EEFD7E6D5F9090A323C01242');
YewLong := BitmapFromString2(False, 'aEB05F78DA8D925B0E0321' +
'0845B784CACB4F1FD3FD2FA9A2CD848E35E9CF0D4138C25500804' +
'B86400943B05F434979286BB44C548B83C50C68A7C5E2A833A666' +
'FA9AF59606BAB2C59586CA2413588DD0CB148DCFDDF211A796626' +
'D109622A596D20FD57425C28C70AB3BCD203D40E11C027ADA5FCC' +
'19AF4A6156E89E5673B99947CED40411A603F7BD1A2540F753AD9' +
'ACFBDBB2EDADC6ED5B350065DF37C110E3E7C71B6BD6ACAEDB18B' +
'AFF70E6F04CAE3E5348BE26392D3EB1C386B9226A507F94C72EAD' +
'A3CF1CE2C4F1A96FAE0F0E6C946F09CB1D278A47A157E707C176F' +
'13EE1C161C0EBBDFF206886');
BowString2 := BitmapFromString2(False, 'a496D078DAB590410E0' +
'3210C03BF948043E0082DFBFF272DCE5EB6957A6845390C966339' +
'0211D154649D49E6F6582C9AC84AA2766AAB64E6D4C6A41650776' +
'6D2A09F6A381699836D8543415C6E07399DD39AA907F3DE62D7D1' +
'A811CD4F66B2A5201BD4818194FB455334E8DDF99657C3A71E5B8' +
'FCE131305F2E6FBABF3DB168937EDE5BDB9AA9BF95EDEFB15BAD6' +
'EEE5BFFFE7049EB');
StrungYew := BitmapFromString2(False, 'a7B5E578DAA5924B0EC3' +
'300844AF04C106BCF4AFF73F52C1712BAA34DD34481334A0674C0' +
'2008808F6F48749D26ACA595DA9BB32BB4232CDF5F09E313DD7E5' +
'AB3B87AE6AF6FEFC58BEDBD643A6D2BC2AC52DE9D93539818778C' +
'F2C9EB7E54F77089B29FA38FEE6CED962E9E9A49280762ECC0AA3' +
'4B1D28AF2A4DD2D4D241F5B76EFE64B188FC502D2003A1A7DA5EF' +
'C0C8969FCC50FF36B114168B3F27B7EB5F9F3D6C8BC38917FE604' +
'8745AC2A4B82D14A454CF1F40FF2D559675DF9BB9AA913EDAAE40' +
'2DAA8F4373F72F8E6AC3BFE79C7C03FB5815DE01BFF86FC3161E4' +
'2FDF7AC631F77EECD741B86EEFCBE62FDFE58E1F3713C94F483');
end;

procedure FreeBitmaps;
begin
FreeBitmap(BowString);
FreeBitmap(BowString2);
FreeBitmap(EnterNumber);
FreeBitmap(YewLongU);
FreeBitmap(YewLong);
FreeBitmap(StrungYew);
Status('Bitmaps Free');
end;

Function FoundEnterNumber : Boolean;
begin
LoadBitmaps;
if FindBitmapToleranceIn(EnterNumber, x, y, 196, 385, 313, 412, 4) then
Result := True;
FreeBitmaps;
end;

Function FindYewLongU : Boolean;
begin
FixBank;
LoadBitmaps;
if FindBitmapToleranceIn(YewLongU, x, y, 4, 4, 515, 335, 10) then
begin
Result := True;
wait(500+random(200));
begin
Mouse(x,y,1,1,False);
wait(200+random(100));
ChooseOption('ithdraw X');
repeat wait(300+random(200)) until FoundEnterNumber;
wait(500+random(200));
TypeSend('14');
wait(500+random(100));
end;
end else
Writeln('Didnt find yew long bow');
FreeBitmaps;
end;

Function FindBowString : Boolean;
begin
FixBank;
LoadBitmaps;
if FindBitmapToleranceIn(BowString, x, y, 4, 4, 515, 335, 10) then
begin
Result := True;
wait(500+random(200));
begin
Mouse(x,y,1,1,False);
wait(200+random(100));
ChooseOption('ithdraw All');
wait(500+random(100));
end;
end else
Writeln('Didnt find bow strings');
FreeBitmaps;
end;

procedure AntiBan; //Hy71194's because im laze-E
var
a, b: Integer;
begin
if(not LoggedIn)then exit;
b := Random(20);
case b of
0: MMouse(random(MSX2),random(MSY2),0,0);
1: HoverSkill('fletching',false);
2: HoverSkill('random',false);
5: PickupMouse;
6: MouseSpeed := 9 + Random(3);
7: MouseSpeed := 9 + Random(3);
8: MMouse(random(MSX2),random(MSY2),0,0);
9: Wait(1+Random(100));
10: begin
GameTab(1+random(12));
for a := 0 to 6 do
begin
Wait(300 + Random(200));
end;
GameTab(4);
end;
end;
end;


Procedure ClickYewInInvent;
begin
LoadBitmaps;
if FindBitmapToleranceIn(YewLong, x, y,555, 211, 727, 344, 10) then
begin
Mouse(x,y,1,1,True);
if FindBitmapToleranceIn(BowString2, x, y, 551, 316, 725, 457, 10) then
begin
Mouse(x,y,1,1,True);
x := 220 +random(80);
y := 395 + random(50);
wait(1000+random(700));
Mouse(x,y,1,1,False);
wait(500+random(200));
ChooseOption('ake All');
end;
FreeBitmaps;
end;
end;

Function FindFastRandoms: Boolean; // By WT-Fakawi.

Var
i: Integer;

Begin
For I := 1 To 10 Do
Begin
Case I Of
1: If FindDead Then
Result := True;

2: If FindMod Then
Result := True;

3: If FindMime Then
Result := True;

4: If FindMaze Then
Result := True;

5: If FindQuiz Then
Result := True;

6: If FindDemon Then
Result := True;

7: Begin
If NoGameTab Then
Begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
End;
End;

8 : If RC Then
Result := True;

9 : If FindFight Then
Begin
Result := True;
Mouse(625+random(10),35+random(10),1,1,True);
Flag;
End;

10: If FindTalk Then
Result := True;

End;
Wait(1);
End;
End;


function FindUnSolvableRandom: boolean;
var
c: integer;
begin
if not LoggedIn then exit;
for c:= 0 to 6 do
begin
case c of
0: if FindDead then
begin
result:= true;
Players[CurrentPlayer].Active := False;
Players[CurrentPlayer].Loc:= 'Dead';
LogOut;
end;
1: if FindMime then
begin
result:= true;
Players[CurrentPlayer].Active := False;
Players[CurrentPlayer].Rand:= 'Mime';
LogOut;
end;
2: if FindMaze then
begin
result:= true;
Players[CurrentPlayer].Active := False;
Players[CurrentPlayer].Rand:= 'Maze';
LogOut;
end;
3: FindTalk;//if FindScapeRune then <-----
//begin <-----
// result:= true; <----- No ScapeRune Finding?
// Players[CurrentPlayer].Rand:= 'ScapeRune';<-----
//end; <-----
4: if InBlack then
begin
result:= true;
Players[CurrentPlayer].Active := False;
Players[CurrentPlayer].Loc:= 'InBlack';
LogOut;
end;
5: if NoGametab then
begin
result:= true;
Players[CurrentPlayer].Active := False;
Players[CurrentPlayer].Loc:= 'No Gametab';
LogOut;
end;
6: FindTalk;//Optional. Some Talking are unsolvable.
end;
if result then exit;
end;
end;

Procedure Randoms;
begin
FindUnSolvableRandom;
FindNormalRandoms;
end;

Function ClickToContinue2 : Boolean;
begin
if SimilarColors(GetColor(107, 377),922990,4) then
Result := True;
end;

Procedure WaitforFinish;
begin
LoadBitmaps;
repeat
begin
Randoms;
FindFastRandoms;
wait(500+random(100))
if ClickToContinue2 then
begin
ClickToContinue;
ClickYewInInvent;
end
end
until
FindBitmapToleranceIn(StrungYew, x, y, 603, 319, 640, 351, 10);
FreeBitmaps;
end;

Function OpenMyBank: Boolean;
var
c,f : integer;
begin
if (FindObjCustom(x, y, ['Use', 'ank'], [2575190, 8228760], 4)) then
begin
Mouse(x, y, 8, 8, False);
if (ChooseOption('quickly')) then
begin
FFlag(0);
repeat
Wait(100);
Inc(c);
until (BankScreen) or (c >= 10);
if(PinScreen) then
repeat
Wait(500);
Writeln('Doing PinScreen');
InPin(Pin);
Inc(f);
until (BankScreen)
Result := BankScreen;
Writeln('Found BankScreen.');
wait(2000 + random (200));
end;
end;
end;

Procedure Prog;
begin
Writeln('\ / _ (~_|_ _. _ _ _ _ ');
Writeln(' | (/_VV _) | | || |(_|(/_| ');
Writeln('By Sp0rk-eh _| ');
wait(500+random(200));
ClearDebug;
Writeln('--------------------');
Writeln('|By Sp0rk-eh');
Writeln('|Current Player: '+Players[0].Name);
Writeln('|Bows Strung : '+IntToStr(BowsStrung));
Writeln('|Exp Gained : '+IntToStr(75*BowsStrung));
Writeln('|TimeRunning : ' + TimeRunning);
Writeln('--------------------');
end;

begin
SetupSRL;
ActivateClient;
wait(1000);
DeclarePlayers;
ClearDebug;
Writeln('\ / _ (~_|_ _. _ _ _ _ ');
Writeln(' | (/_VV _) | | || |(_|(/_| ');
Writeln('By Sp0rk-eh _| ');
wait(500+random(200));
LoginPlayer;
repeat
if (not (BankScreen)) then OpenMyBank;
FindYewLongU;
FindBowString;
CloseBank;
FindFastRandoms;
Randoms;
ClickYewInInvent;
Randoms;
FindFastRandoms;
AntiBan;
FindFastRandoms;
WaitforFinish;
Randoms;
FindFastRandoms;
OpenMyBank;
DepositAll;
BowsStrung := BowsStrung + 14;
Prog;
until BowsStrung >= BowsToString;
end.

Very simple right now btw…

MasterKill

2007-10-24 16:13:52

Line 20: [Error] (14715:26): Syntax error in script

you should get that one out first (easy one)



after that:
\ / _     (~_|_ _. _  _  _  _ 
| (/_VV _) | | || |(_|(/_|
By Sp0rk-eh _|
Didnt find yew long bow
Didnt find bow strings
Successfully executed

when does the error pop up?

btw, no runetime error

Sp0rky

2007-10-24 16:21:13

After it clicks to string to yews, it starts stringing and bam, runtime. I think it's to do with the randoms. My tester got a runtime error aswell.

Santa_Clause

2007-10-25 05:06:34

Try/Except should fix all of those.

R0b0t1

2007-10-25 12:34:54

But whats the purpose if it always happens?


I might be missing something…

HyperSecret

2007-10-25 13:48:26

im just gonna throw something out there…i didnt test it or run it, but could it possibly be happening b/c your freeing a bitmap that is not load so it doesnt need to be freed…has happend to me before w/ bitmaps…

The Claw

2007-10-26 04:12:01

^ Ya possibly. Or, you are freeing a bitmap which isnt loaded, which would mean that it frees the bitmap that was loaded last. And if that was the yew bow bitmap, when you try to search for it, you woudl get runtime errors

ShowerThoughts

2007-10-26 05:15:57

i can't help you but, why such big bitmaps?

HyperSecret

2007-10-26 10:35:20

bitmaps are usually pretty big hermpie…dtms are much smaller in length of coding….