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.
Very simple right now btw…
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…