{.Script Info:
# ScriptName = Squig 4.06
# Author = Squigglyo
# Description = Include Created by Squigglyo
# Version = 4.06
# Date = 26 / 09 / 05
# Comments = Created To handle random events
also does alot Of other things.
Check the manual out. Any questions
pm me, me user is Squigglyo at www.kaitnieks.com/scr
/Script Info}
{= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ]
Squig
Version 4.06
by Squigglyo
[= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ]
Huge thanks To Benland100 who has contributed his password saver And
FindTextArcSpiral among other things
Special Thanks:
poppa68 = > Huge help getting bitmaps And broken picks And axes For V2
Odie5583 = > Some Of my original procedures are based loosly on
his in Osi
Akumara = > My box solver is based loosly on his BoxBreaker2 just
reprogrammed
piv = > Contributed his gas finder
pups = > Contributed his maze detector
Stupid3ooo = > Allowed me To use his Frog Solver
Zup = > Helped update MouseC
KnightStreak = > Allowed me to use his Dr. Ford Solver
VG_Kobra = > Got me pictures of the Evil Bob random event
jiakhang = > Helped fix up the GasFinding procedures
Driger1592 = > Updated SetChat for me among other various things.
Goldec = > Looked thru Squig for me
People who suggested things And got them put into Squig.
JayJay = > Bank/Drop Item Color
SilentWolf = > Faster FindObject Procedure
Qwerty = > Easy Map Walking, Random Talker, Faster DropAll
Monkie = > Drop Item by Name
The Saint = > FindObjectIn
Abyssal = > WorkedFor, ClearDebug
Moparisthebest = > DepositAll2
Theino = > MapFlaggingH
Freddy1990 = > MouseR, MouseBox, DragFromTo
Smitty = > MapCompass('R');
Version 2 Testers:
BrokenSkateboard
Version 3 Testers:
Sdouble
Philodespotos = >Special thanks To Phil, he has helped test alot
Mysteryman
Milk
JayJay
Seifer225
Quilto33
Hemnet
Abyssal
Deadlydragon
Version 4 Testers/ProofReaders:
Idiota
MoparistheBest
Bebemycat2
Pwnd
xxKanexx
Abyssal = > Returning Tester, Yay for Abyssal
Driger1592
[= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = }
{Squig should only be downloaded on Kaitnieks' forum Or using Scar}
{No other site has my permission To have it on their site}
{But since i cannot patrol the internet, If you Do download
Squig from somewhere Else, by careful.}
{To learn how To use it, use the guide that is found
here http://www.kaitnieks.com/scr/showthread.php?p=31137#post31137}
{You are not allowed To edit And/Or change this in
any way. You are not allowed To take any piece(s)
from/out Of Squig, all parts must be left in And the
only way To use it's procedures is To include Squig
in your script(s). All procedures And/Or functions
in Squig were created by Squigglyo. All items in
this script are Copyrighted To Squigglyo. This
script may not be sold, traded, exchanged,
And / Or distributed unless you have been
given direct written consent To Do so by me And me only.}
{= = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Versions
Version 1.0, First Release
Version 1.1, Bank Opener
Version 2.0, Alot Of new procedures, including a Box opener
Also updated alot Of things including Global variables
And a Lamp Decider.
Version 2.1, Added a ScreenShot Taker, And all random events
will be screenshotted And placed in the script folder.
Version 2.2, Updated the Coding, Updated MouseC, Added ClickHuman
Added BuyItemColor And SellItemColor
Version 2.2.1, Updated some things
Version 2.2.2, Updated the Find Text random event finder Procedure
And the login Procedure.
Version 2.3, Updated all text finding procedures And the MapFlagging Procedure
Version 2.4, Updated the Mapflagging Procedure again
Version 2.4.1, Updated all procedures that look For text.
Version 2.4.2, Updated the random event talked a little bit.
Version 3.0, Fixed the random event talker, added all the other random events
i missed, updated the sendkeyshuman2 Procedure, added the GetStat
Procedure, added the randomtalk Procedure, added a disease,
poison And fight checker, updated the fightfound Procedure,
slotfilled Function added, itemcount Function added, fullbag
Function added, dropitemcolor Procedure added, bankitemcolor
Procedure added, Death checker, Axefound added, pickfound added,
findgas added, findnets added, mapcolor Function added, mapwalk
Procedure added, dropitemname added, emote Procedure updated.
FindObjectIn Added, DragItem Added And alot Of other things
updated.
Version 3.1, Fixed a little bug in FindObject where it didnt wait long enough
To check the text. Fixed a little bug in the FindFight Procedure,
fixed a bug where the dropitem Procedure would drink beer,
And, fixed a bug in the FullBag Function.
Version 3.2, Added documentation, Updated some stuff, Added Dist,
FlagPresent Added, GetHp Added, DropItem2 Added, MapFlaggingR
Added, FlagPresent Added, MapCompass Added, ClickText Added
Version 3.3, Updated procedures that use Istextat2 To IsTextAtEx,
Added MapFlaggingH, Added MapFlaggingHR, Added WorkedFor,
Added DepositAll2, Added FindGasArea, Added ClearDebug,
Updated the RandomTalk Procedure To include 2 things about
Farming.
Version 4.0, IsTextUp Updated, MouseC Updated, WorkedFor Fixed, OpenBag Updated,
OpenCombat Updated, OpenQuests Updated, OpenStats Updated,
OpenEquip Updated, OpenPrayer Updated, OpenMagic Updated,
OpenFriends Updated, OpenIgnore Updated, Logout Updated,
OpenOptions Updated, OpenControls Updated, OpenMusic Updated,
SetChat Updated, LogIn Updated, IsTextAt3 Added, IsTextIn3 Added,
KillScript Added, LogOutFor Added, FindDtmIn Added, IDHerbs Added,
UseItemWith Added, Enchant Added, LowAlch Added, HighAlch Added,
FletchAll Added, ThieveNPC Added, WaitR Added, FindColorM Added,
Smelt Added, CannonBalls Added, UseSpecial Added, Smith Added,
FindFish Added, FindTree Added, EntFound Altered, FindRange Added,
IsTextInString Added, RandomLogout Added, DropAllRow Added,
DropAllCol Added, DepositAllRow Added, DepositAllCol, MineRock Added,
OpenChest Added, FindTextArcSpiral Added, PassSaver Added, Enter Added,
CheckSkill Added, BankTop Added, BankBottom Added, Updated all bitmaps
LampPresent Added, BoxPresent Added, FindBob Added, FindForester Added,
SolveFord Added, FindQuiz Added, SolveFrog Added, FindCerters Added, IsBank Added
Version 4.01, Updated the MineRock procedure to handle the new rocks out at the time.
Version 4.02, Fixed a small big in DropItem
Version 4.03, Small update in GetStat, and bug fix in IsBank
Version 4.04, Fixed a small problem with the MineRock and FindObjectIn procedures
Added 'R' to Mapcompass
Version 4.05, Fixed FletchAll
Version 4.06, Updated FindObject and FindObjectIn, fixed all procedures that used Dtms
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = }
Var
//Variables used for character sets and times
chrChatChars, chrCharsNormal, GSquigTime, gSquigTime2 : Integer;
//Variables left unchanged For functionality For older scripts
YellowTextTotal, AttacksTotal, TotalBoxes, FordTotal, TotalFrogs : Integer;
TotalLamps, TotalEnts, AxeTotal, PickTotal, PlantTotal, GasTotal : Integer;
BankID : Integer;
User, Pass, Direction, LampSkill : String;
randomtalked, fightfound, tradeb, screenshots, checkford, CheckForester : Boolean;
checktext, checkfights, checkboxes, checklamps, checkmods, CheckCerters : Boolean;
checkplant, checkmime, checkmaze, runback, checkquiz, CheckFrog : Boolean;
CheckBob : Boolean;
//Variables For the pass saver
AccessCode, CName, CPass: String;
User2, Pass2: Array Of String;
UID: Integer;
V: TVariantArray;
Main: TForm;
Label1: TLabel;
Names: TComboBox;
Button1, Button2, ButtonDelete: TButton;
Const
{S1, S2, S3 And S4 are the size Of the actual game, Starting at the top right
And finishing in the bottom left before they reach the inventory Or chat}
S1 = 5;
S2 = 5;
S3 = 515;
S4 = 340;
{M1, M2, M3 And M4 are the minimap}
M1 = 565;
M2 = 5;
M3 = 725;
M4 = 160;
{I1, I2, I3 And I4 are the inventory}
I1 = 560;
I2 = 210;
I3 = 740;
I4 = 460;
{C1, C2, C3 And C4 are the chat log}
c1 = 1;
c2 = 340;
c3 = 495;
c4 = 455;
{GameCenterA And GameCenterB are the middle Of the game}
GameCenterA = 257;
GameCenterB = 168;
{MapCenterA And MapCenterB are the middle Of the minimap}
MapCenterA = 647;
MapCenterB = 83;
gSquigMessage = 'Squig 4.06 - Created by Squigglyo';
{^^^^^^^^^^^^^^^^^ CLEARDEBUG ^^^^^^^^^^^^^^^^^^}
{This will clear the area where text appears in scar}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^}
Procedure ClearDebug;
Var
i : Integer;
Begin
i:= 0;
Repeat
writeln('');
i:= i + 1;
Until(i= 15);
End;
{^^^^^^^^^^^^^^^^^ FLAGPRESENT ^^^^^^^^^^^^^^^^}
{Returns true If the flag is in the minimap And false If it isnt}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^}
Function FlagPresent : Boolean;
Var
a, b, runescapeflag, runescapeflag2 : Integer;
Begin
result:= false;
runescapeflag := BitmapFromstring(7, 7,
'000000000000000000000000000000000000FF00000000000 00000' +
'000000000000000000FF0000FF00000000000000000000000 00000' +
'FF0000FF0000FF0000000000000000000000FF0000FF0000F F0000' +
'FF0000000000000000FF0000FF0000FF0000FF0000FF00000 00000' +
'FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000F F0000' +
'FF0000FF0000FF0000FF0000');
runescapeflag2 := BitmapFromstring(2, 4,
'C656045D3311C656045D3311C656045D3311C656045D3311' );
If(findbitmapin(runescapeflag, a, b, 555, 5, 735, 160))
Or(findbitmapin(runescapeflag2, a, b, 555, 5, 735, 160))Then
Begin
wait(50);
If(findbitmapin(runescapeflag, a, b, 555, 5, 735, 160))
Or(findbitmapin(runescapeflag2, a, b, 555, 5, 735, 160))Then
result:=true;
End;
FreeBitmap(runescapeflag);
FreeBitmap(runescapeflag2);
End;
{^^^^^^^^^^^^^^^^^ MAPFLAGGING ^^^^^^^^^^^^^^^^^}
{Waits Until the Runescape Flag is not in the minimap}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^}
Procedure MapFlagging;
Var
color1, color2, color3, x1 : Integer;
Begin
x1:= 0;
If(flagpresent=false)Then
exit;
Repeat
wait(100);
x1:= x1 + 1;
If(FlagPresent=False)Then
wait(1000);
If(FlagPresent=False)Then
Begin
color1:= getcolor(70, 185);
color2:= getcolor(436, 68);
color3:= getcolor(45, 52);
wait(500);
If(getcolor(45, 52) = color3)Or(getcolor(70, 185) = color1)
Or(getcolor(436, 68) = color2)Then
If(flagPresent=False)Then
break;
End;
Until(x1= 150);
End;
{^^^^^^^^^^^^^^^^^ MAPCOMPASS ^^^^^^^^^^^^^^^^^}
{Moves the minimap compass To the desired Direction (N, E, S, W)}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^}
Procedure MapCompass(Compass : String);
Var
a : Extended;
Begin
Compass:= Uppercase(Compass);
If(Compass = 'R')Or(Compass = 'RANDOM')Then
begin
SendArrowSilentWait(3, random(5500) + 500);
exit;
End;
End;
begin
End.
Function IsTextAt3(x, y : Integer; S : String; Tolerance : Integer) : Boolean;
Begin
result:= IsTextAtEx(x, y, S, Tolerance, ChrCharsNormal, True, False, 0, 1, -1);
If(result=False)Then
result:= IsTextAtEx(x - 2, y - 2, S, Tolerance, ChrCharsNormal, True, False, 0, 1, -1);
If(Result=false)Then
result:= IsTextAtEx(x, y - 2, S, Tolerance, ChrCharsNormal, True, False, 0, 1, -1);
If(Result=False)Then
result:= IsTextAtEx(x - 2, y, S, Tolerance, ChrCharsNormal, True, False, 0, 1, -1);
End;
{^^^^^^^^^^^^^^^^^ CHECKCHATMSG ^^^^^^^^^^^^^^^}
{Checks the last sentence in the chat box and returns true if it
matchets the one its looking for}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^}
Function CheckChatMsg(Text: String) : Boolean;
Begin
Result:= IsTextAtEx(20, 415, Text, 40, ChrChatChars, False, True, 0, 1, 0);
End;
{^^^^^^^^^^^^^^^^^ ISTEXTIN3 ^^^^^^^^^^^^^^^^^^}
{Works just like IsTextInArea but is more acurate,
and uses IsTextinAreaEx}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^}
Function IsTextIn3(x1, y1, x2, y2 : Integer; Var x, y : integer; S : String) : Boolean;
Begin
result:= IsTextInAreaEx(x1 , y1, x2, y2, x, y, S, 100, ChrCharsNormal, True, True, 0, 1, -1);
End;
{^^^^^^^^^^^^^^^^^ ISTEXTUP ^^^^^^^^^^^^^^^^^^^}
{Returns true If the text is found at 9, 9}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^}
Function IsTextUp(text : String) : Boolean;
Begin
If(IsTextAt3(9, 9, text, 100))Then
result:= true
Else
result:= false;
End;
{^^^^^^^^^^^^^^^^^ CLICKHUMAN ^^^^^^^^^^^^^^^^^}
{Clicks the mouse like a human would}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^}
Procedure ClickHuman(x, y : Integer; left : Boolean);
Begin
holdmouse(x, y, left);
wait(random(20) + 15);
releasemouse(x, y, left);
End;
{^^^^^^^^^^^^^^^^^^ DIST ^^^^^^^^^^^^^^^^^}
{Returns the amount Of pixels between a1, b1 And a2, b2}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^}
Function Dist(a1, b1, a2, b2 : Integer) : Integer;
Var
aa, bb : Extended;
Begin
If(a1>a2)Then
aa:= (a1 - a2) * (a1 - a2)
Else
aa:= (a2 - a1) * (a2 - a1);
If(b1>b2)Then
bb:= (b1 - b2) * (b1 - b2)
Else
bb:= (b2 - b1) * (b2 - b1);
result:= trunc(Sqrt(aa + bb)) + 1;
End;
{^^^^^^^^^^^^^^^^^ MOUSEC ^^^^^^^^^^^^^^^^^}
{Moves the mouse To the location given by x And y
Left clicks If click is 1, right clicks If its 2, 0 For no click.}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^}
Procedure MouseC(x, y, click : Integer);
// New MouseC with the help of Zup
Var
a, b : Integer;
step : Extended;
Begin
step:= 5;
GetMousePos(a, b);
Repeat
If(Dist(a, b, x, y)<100)Then
Begin
If(not(Dist(a, b, x, y)= 1))Then
step:= step - (10 / Dist(a, b, x, y));
End;
If(step<1)Then
step:= 1;
a:= a + Round((x - a) / step);
b:= b + Round((y - b) / step);
MoveMouseSmoothEx(a, b, 1, 6, 15, 20, 20);
wait(9 + random(4));
Until(Dist(a, b, x, y)= 1);
wait(random(19) + 7);
Case click Of
1 : Clickhuman(a, b, true);
2 : Clickhuman(a, b, false);
End;
End;
{^^^^^^^^^^^^^^^^^ MOUSER ^^^^^^^^^^^^^^^^^}
{Moves the mouse To the location given by x + random(x2)
And y + random(y2). Left clicks If click is 1,
right clicks If its 2, 0 For no click.}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^}
Procedure MouseR(x, y, xx, yy, click : Integer);
Begin
MouseC(x + random(xx), y + random(yy), click);
End;
{^^^^^^^^^^^^^^^^^ MOUSEBOX ^^^^^^^^^^^^^^^}
{Moves the mouse inside the location given by x1, y1, x2, y2
Left clicks If click is 1, right clicks If its 2, 0 For no click.}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^}
Procedure MouseBox(x1, y1, x2, y2, click : Integer);
Var
xx, yy : Integer;
Begin
if(x1 < x2)then
xx:= x1 + random(x2 - x1)
else
xx:= x1 - random(x1 - x2);
if(y1 < y2)then
yy:= y1 + random(y2 - y1)
else
yy:= y1 - random(y1 - y2);
MouseC(xx, yy, click);
End;
{^^^^^^^^^^^^^^^^^ CLICKTEXT ^^^^^^^^^^^^^^^^^^}
{Looks For text inside the given area And If found, clicks on it}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^}
Function ClickText(text : String; x1, y1, x2, y2 : Integer; left : Boolean) : Boolean;
Var
a, b : Integer;
Begin
result:= false;
If(IsTextIn3(x1, y1, x2, y2, a, b, Text))Then
Begin
If(left= true)Then
MouseC(a + random(3), b + random(2) + 4, 1)
Else
MouseC(a + random(3), b + random(2) + 4, 2);
result:= true;
End;
End;
{^^^^^^^^^^^^^^^^^ TIMERUNNINGMILI ^^^^^^^^^^^^^^^^^}
{Returns the number Of miliseconds the script has been running}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Function TimeRunningMili : Integer;
Begin
result:= GetSystemtime - GSquigTime;
End;
{^^^^^^^^^^^^^^^^^ TIMERUNNINGSEC ^^^^^^^^^^^^^^^^^}
{Returns the number Of seconds the script has been running}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^}
Function TimeRunningSec : Integer;
Begin
result:= (GetSystemtime - GSquigTime) / 1000;
End;
{^^^^^^^^^^^^^^^^^ TIMERUNNINGMIN ^^^^^^^^^^^^^^^^^}
{Returns the number Of minits the script has been running}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^}
Function TimeRunningMin : Integer;
Begin
result:= ((GetSystemtime - GSquigTime) / 1000) / 60;
End;
{^^^^^^^^^^^^^^^^^ TIMERUNNINGHOUR ^^^^^^^^^^^^^^^^^}
{Returns the number Of hours the script has been running}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Function TimeRunningHour : Integer;
Begin
result:= (((GetSystemTime - GSquigTime) / 1000) / 60) / 60;
End;
{^^^^^^^^^^^^^^^^^ WORKEDFOR ^^^^^^^^^^^^^^^^^^^}
{Returns the amount Of time the script has been running For}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^}
Function WorkedFor : String;
Var
int1, int2, int3 : Integer;
str1, str2, str3 : String;
Begin
int1:= TimeRunningHour;
int2:= TimeRunningMin;
int3:= TimeRunningSec;
While(int2>59)Do
int2:= int2 - 60;
While(int3>59)Do
int3:= int3 - 60;
If(int1<10)Then
str1:= '0' + inttostr(int1 )
Else
str1:= inttostr(int1);
If(int2<10)Then
str2:= '0' + inttostr(int2)
Else
str2:= inttostr(int2);
If(int3<10)Then
str3:= '0' + inttostr(int3)
Else
str3:= inttostr(int3);
result:= ('Worked For: ' + str1 + ':' + str2 + ':' + str3);
End;
{^^^^^^^^^^^^^^^^^ SELLITEMCOLOR ^^^^^^^^^^^^^^^^^^^}
{Sells an item that has the color in it defined by ItemColor,
Sells the amount defined by Ammount (1, 5, 10 Or 0 For all),
And the item name needs To match the variable defined as Name}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure SellItemColor(ItemColor, Ammount : Integer; name : String);
Var
a, b, x1, y1, x2, y2, txt1, col : Integer;
Begin
x1:= 570;
y1:= 210;
x2:= 610;
y2:= 245;
col:= 1;
If(findcolor(a, b, ItemColor, 555, 200, 735, 465))Then
Repeat
txt1:= 40;
If(findcolor(a, b, ItemColor, x1, y1, x2, y2))Then
Begin
MouseC(a + random(3), b + random(3), 0);
While(IsTextAt3(9, 9, 'Value', 100))Do
Begin
txt1:= txt1 + 1;
If(istextat3(txt1, 7, name, 100))
Or(txt1= 130)Then
break;
End;
If(txt1<>130)Then
Begin
MouseC(a, b, 2);
wait(random(300) + 600);
If(ammount= 1)Then
ClickText('1', I1, I2, I3, I4, true);
If(ammount= 5)Then
ClickText('5', I1, I2, I3, I4, true);
If(ammount<>1)And(ammount<>5)Then
ClickText('10', I1, I2, I3, I4, true);
Exit;
End;
End;
If(col= 1)Or(col= 3)Or(col= 7)Or(col= 4)Or(col= 5)Then
Begin
y1:= y1 + 35;
y2:= y2 + 35;
End
Else If(col= 6)Then
Begin
y1:= y1 + 45;
y2:= y2 + 45;
End
Else If(col= 2)Then
Begin
y1:= y1 + 40;
y2:= y2 + 40;
End;
col:= col + 1;
wait(random(100) + 50);
If(col= 8)Then
Begin
x1:= x1 + 40;
x2:= x2 + 40;
y1:= 210;
y2:= 245;
col:= 1;
End;
wait(random(100) + 100);
Until(x1>720);
End;
{^^^^^^^^^^^^^^^^^ BUYITEMCOLOR ^^^^^^^^^^^^^^^^^^^^}
{Buys an item that has the color in it defined by ItemColor,
Buys the amount defined by Ammount (1, 5, 10 Or 0 For all),
And the item name needs To match the variable defined as Name}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure BuyItemColor(ItemColor, ammount : Integer; name : String);
Var
a, b, x1, y1, x2, y2, txt1 : Integer;
Begin
x1:= 75;
y1:= 60;
x2:= 110;
y2:= 100;
If(findcolor(a, b, ItemColor, 75, 60, 475, 290))Then
Repeat
txt1:= 40
If(findcolor(a, b, ItemColor, x1, y1, x2, y2))Then
Begin
MouseC(a + random(3), b + random(3), 0);
While(istextat3(9, 9, 'Value', 100))Do
Begin
txt1:= txt1 + 1;
If(istextat3(txt1, 9, name, 100))
Or(txt1= 130)Then
break;
End;
If(txt1<>130)Then
Begin
MouseC(a, b, 2);
wait(random(300) + 600);
If(ammount= 1)Then
ClickText('1', I1, I2, I3, I4, true);
If(ammount= 5)Then
ClickText('5', I1, I2, I3, I4, true);
If(ammount<>1)And(ammount<>5)Then
ClickText('10', I1, I2, I3, I4, true);
Exit;
End;
End;
x1:= x1 + 50;
x2:= x2 + 50;
wait(random(100) + 50);
If(x1>445)Then
Begin
x1:= 75;
x2:= 110;
y1:= y1 + 55;
y2:= y2 + 55;
End;
Until(y1>290)
End;
{^^^^^^^^^^^^^^^^^ LAMPPRESENT ^^^^^^^^^^^^^^^^^}
{Returns true if you have a lamp in your bag}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^}
function LampPresent : Boolean;
Var
bmpTheLamp, a, b : Integer;
begin
bmpTheLamp := BitmapFromstring(29, 8,
'0000000000000000000000000000000000000000000000000 00000' +
'000000000000000000000000000000939212A7A5160000000 00000' +
'0000000000000000000000000000000000000000000000000 00000' +
'000000000000000000000000000000D4D21C0000000000000 00000' +
'000000000000000000000000000000000000B9B716C0BF19B 3B116' +
'A7A5169D9C129392120000000000000000000000000000000 00000' +
'000000000000000000000000000000000000D1CF19C0BF19C 0BF19' +
'C0BF19C0BF19000000000000000000000000000000BBB916B 3B116' +
'B0AE16ACAB169D9C129392128D8B1276750E0000000000000 00000' +
'000000000000000000000000000000000000000000D1CF19C 0BF19' +
'B0AE16B6B416BEBC19C6C519C6C519D1CF19CCCA19C9C719C 6C519' +
'C6C519C0BF19BBB916B6B416ACAB16A4A2129A98129392128 6840E' +
'7A790E6B6A095D5C09A7A5160000000000000000000000000 00000' +
'000000000000000000000000000000CCCA19CCCA19CECC19C 6C519' +
'C3C219C0BF19BEBC19BBB916B9B716B6B416B3B116A9A816A 4A212' +
'9D9C12979612908F1282810E9A9812B0AE1689880E0000000 00000' +
'000000000000000000000000000000000000000000000000D 4D21C' +
'CECC19CCCA19C0BF19BEBC19BBB916B6B416B3B116B0AE16A 9A816' +
'A4A212A19F129A981289880E86840E8D8B129392129D9C12B 9B716' +
'6665090000000000000000000000000000000000000000000 00000' +
'000000000000000000CCCA19CCCA19BBB916B9B716B6B416B 3B116' +
'B0AE16A9A816A4A2129D9C1297961282810E7A790E86840E0 00000' +
'000000000000C3C219A9A8160000000000000000000000000 00000' +
'000000000000000000000000000000CCCA19CCCA19C0BF19B 9B716' +
'B3B116B0AE16ACAB16A7A516A19F129A98128D8B127A790E7 6750E' +
'000000000000C3C219B6B416A7A516000000000000');
If(FindBitmaptolerancein(bmpTheLamp, a, b, 560, 215, 730, 455, 20))Or
FindBitmaptolerancein(bmpTheLamp, a, b, 95, 65, 440, 255, 20)Then
Result:= true;
FreeBitmap(bmpTheLamp);
end;
{^^^^^^^^^^^^^^^^^ TAKESCREENSHOT ^^^^^^^^^^^^^^^^^^}
{Takes a screenshot Of the runescape client And saves it in the script
folder, the name Of the file is defined in the reason variable And
the number variable}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure TakeScreenShot(reason:String; number:Integer);
Begin
If(screenshots= true)Then
Begin
SaveScreenshot(apppath + 'scripts\' + reason + inttostr(number) + '.bmp');
writeln('Screenshot taken: ' + reason + ' #' + inttostr(number));
End;
End;
{^^^^^^^^^^^^^^^^^ OPENEQUIP ^^^^^^^^^^^^^^^^^^^^^^^}
{Opens the Equipment tab}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure OpenEquip;
Begin
If(getcolor(680, 173) = 5531511)Then
MouseC(random(10) + 675, random(10) + 175, 1);
End;
{^^^^^^^^^^^^^^^^^ TAKEOFFSWORD ^^^^^^^^^^^^^^^^^^^}
{Opens the equipment tab If needed And unequips your weapon}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure TakeOffSword;
Begin
OpenEquip;
wait(random(300) + 300);
MouseC(random(10) + 580, random(10) + 300, 1);
End;
{^^^^^^^^^^^^^^^^^ TAKEOFFHELM ^^^^^^^^^^^^^^^^^^^^}
{Opens the equipment tab If needed And unequips your helmet}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure TakeOffHelm;
Begin
OpenEquip;
wait(random(300) + 300);
MouseC(random(10) + 640, random(10) + 215, 1);
End;
{^^^^^^^^^^^^^^^^^ TAKEOFFCAPE ^^^^^^^^^^^^^^^^^^^^}
{Opens the equipment tab If needed And unequips your cape}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure TakeOffCape;
Begin
OpenEquip;
wait(random(300) + 300);
MouseC(random(10) + 595, random(10) + 255, 1);
End;
{^^^^^^^^^^^^^^^^^ TAKEOFFNECKLACE ^^^^^^^^^^^^^^^^}
{Opens the equipment tab If needed And unequips your necklace}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure TakeOffNecklace;
Begin
OpenEquip;
wait(random(300) + 300);
MouseC(random(10) + 640, random(10) + 255, 1);
End;
{^^^^^^^^^^^^^^^^^ TAKEOFFARROWS ^^^^^^^^^^^^^^^^^^^}
{Opens the equipment tab If needed And unequips your arrows}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure TakeOffArrows;
Begin
OpenEquip;
wait(random(300) + 300);
MouseC(random(10) + 680, random(10) + 255, 1);
End;
{^^^^^^^^^^^^^^^^^ TAKEOFFBODY ^^^^^^^^^^^^^^^^^^^}
{Opens the equipment tab If needed And unequips your body armor}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure TakeOffBody;
Begin
OpenEquip;
wait(random(300) + 300);
MouseC(random(10) + 650, random(10) + 300, 1);
End;
{^^^^^^^^^^^^^^^^^ TAKEOFFSHIELD ^^^^^^^^^^^^^^^^^^^}
{Opens the equipment tab If needed And unequips your shield}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure TakeOffShield;
Begin
OpenEquip;
wait(random(300) + 300);
MouseC(random(10) + 695, random(10) + 300, 1);
End;
{^^^^^^^^^^^^^^^^^ TAKEOFFLEGS ^^^^^^^^^^^^^^^^^^^}
{Opens the equipment tab If needed And unequips your leg armor}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure TakeOffLegs;
Begin
OpenEquip;
wait(random(300) + 300);
MouseC(random(10) + 635, random(10) + 335, 1);
End;
{^^^^^^^^^^^^^^^^^ TAKEOFFGLOVES ^^^^^^^^^^^^^^^^^^^}
{Opens the equipment tab If needed And unequips your gloves}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure TakeOffGloves;
Begin
OpenEquip;
wait(random(300) + 300);
MouseC(random(10) + 580, random(10) + 375, 1);
End;
{^^^^^^^^^^^^^^^^^ TAKEOFFBOOTS ^^^^^^^^^^^^^^^^^^^}
{Opens the equipment tab If needed And unequips your boots}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure TakeOffBoots;
Begin
OpenEquip;
wait(random(300) + 300);
MouseC(random(10) + 640, random(10) + 375, 1);
End;
{^^^^^^^^^^^^^^^^^ TAKEOFFRING ^^^^^^^^^^^^^^^^^^^}
{Opens the equipment tab If needed And unequips your ring}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure TakeOffRing;
Begin
OpenEquip;
wait(random(300) + 300);
MouseC(random(10) + 695, random(10) + 375, 1);
End;
{^^^^^^^^^^^^^^^^^ WEARINGRING ^^^^^^^^^^^^^^^^^^^^}
{Opens the equipment tab If needed And returns true If your wearing
a ring And false If your not}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Function WearingRing : Boolean;
Begin
OpenEquip;
wait(random(300) + 300);
If(getcolor(705, 384)<>2304814)Then
Result:= true
Else
result:= false;
End;
{^^^^^^^^^^^^^^^^^ SENDKEYSHUMAN ^^^^^^^^^^^^^^^^^^}
{Types in whatever is in the variable text at the speed a human does}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure SendKeysHuman(text:String);
Var
a1 : Integer;
Begin
a1:= 1;
Repeat
wait(random(220) + 15);
sendkeys(copy(text, a1, 1));
a1:= a1 + 1;
Until a1 > length(text);
End;
{^^^^^^^^^^^^^^^^^ SENDKEYSHUMAN2 ^^^^^^^^^^^^^^^^^}
{Types whatever is in the vaariable text at the speed a human does
And also has the chance To make human-like mistakes}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure SendKeysHuman2(text:String);
Var
a1, a2, a3 : Integer;
char1, char2 : String;
mistake : Boolean;
Begin
a1:= 1;
a3:= random(4) + 1
mistake:= false;
Repeat
a2:= random(50);
If(a2<>5)Or(mistake= true)Then
Begin
wait(random(220) + 15);
sendkeys(copy(text, a1, 1));
End
Else
Begin
mistake:= true;
char1:= (copy(text, a1, 1));
char1:= Lowercase(char1);
char2:= char1;
a2:= random(2);
If(a2= 0)Then
Case char1 Of
'`' : char2:= '`';
'1' : char2:= '`';
'2' : char2:= '1';
'3' : char2:= '2';
'4' : char2:= '3';
'5' : char2:= '4';
'6' : char2:= '5';
'7' : char2:= '6';
'8' : char2:= '7';
'9' : char2:= '8';
'0' : char2:= '9';
'-' : char2:= '0';
'=' : char2:= '-';
'~' : char2:= '~';
'!' : char2:= '~';
'@' : char2:= '!';
'#' : char2:= '@';
'$' : char2:= '#';
'%' : char2:= '$';
'^' : char2:= '%';
'&' : char2:= '^';
'*' : char2:= '&';
'(' : char2:= '*';
')' : char2:= '(';
'_' : char2:= ')';
'+' : char2:= '_';
'q' : char2:= 'q';
'w' : char2:= 'q';
'e' : char2:= 'w';
'r' : char2:= 'e';
't' : char2:= 'r';
'y' : char2:= 't';
'u' : char2:= 'y';
'i' : char2:= 'u';
'o' : char2:= 'i';
'p' : char2:= 'o';
'[' : char2:= 'p';
'{' : char2:= 'P';
']' : char2:= '[';
'}' : char2:= '{';
'\' : char2:= ']';
'|' : char2:= '}';
'a' : char2:= 'a';
's' : char2:= 'a';
'd' : char2:= 's';
'f' : char2:= 'd';
'g' : char2:= 'f';
'h' : char2:= 'g';
'j' : char2:= 'h';
'k' : char2:= 'j';
'l' : char2:= 'k';
';' : char2:= 'l';
':' : char2:= 'L';
chr(39) : char2:= ';';
'"' : char2:= ':';
'z' : char2:= 'z';
'x' : char2:= 'z';
'c' : char2:= 'x';
'v' : char2:= 'c';
'b' : char2:= 'v';
'n' : char2:= 'b';
'm' : char2:= 'n';
',' : char2:= 'm';
'<' : char2:= 'M';
'.' : char2:= ',';
'>' : char2:= '<';
' / ' : char2:= '.';
'?' : char2:= '>';
End;
If(a2= 1)Then
Case char1 Of
'`' : char2:= '1';
'1' : char2:= '2';
'2' : char2:= '3';
'3' : char2:= '4';
'4' : char2:= '5';
'5' : char2:= '6';
'6' : char2:= '7';
'7' : char2:= '8';
'8' : char2:= '9';
'9' : char2:= '0';
'0' : char2:= '-';
'-' : char2:= '=';
'=' : char2:= '=';
'~' : char2:= '!';
'!' : char2:= '@';
'@' : char2:= '#';
'#' : char2:= '$';
'$' : char2:= '%';
'%' : char2:= '^';
'^' : char2:= '&';
'&' : char2:= '*';
'*' : char2:= '(';
'(' : char2:= ')';
')' : char2:= '_';
'_' : char2:= '+';
'+' : char2:= '+';
'q' : char2:= 'w';
'w' : char2:= 'e';
'e' : char2:= 'r';
'r' : char2:= 't';
't' : char2:= 'y';
'y' : char2:= 'u';
'u' : char2:= 'i';
'i' : char2:= 'o';
'o' : char2:= 'p';
'p' : char2:= '[';
'[' : char2:= ']';
'{' : char2:= '}';
']' : char2:= '\';
'}' : char2:= '|';
'\' : char2:= '\';
'|' : char2:= '|';
'a' : char2:= 's';
's' : char2:= 'd';
'd' : char2:= 'f';
'f' : char2:= 'g';
'g' : char2:= 'h';
'h' : char2:= 'j';
'j' : char2:= 'k';
'k' : char2:= 'l';
'l' : char2:= ';';
';' : char2:= chr(39);
':' : char2:= '"';
chr(39) : char2:= chr(39);
'"' : char2:= '"';
'z' : char2:= 'x';
'x' : char2:= 'c';
'c' : char2:= 'v';
'v' : char2:= 'b';
'b' : char2:= 'n';
'n' : char2:= 'm';
'm' : char2:= ',';
', ' : char2:= '.';
'<' : char2:= '>';
'.' : char2:= '/';
'>' : char2:= '?';
'/' : char2:= '/';
'?' : char2:= '?';
End;
sendkeys(char2);
End;
a1:= a1 + 1;
Until a1 > length(text);
End;
{^^^^^^^^^^^^^^^^^ RANDOM1 ^^^^^^^^^^^^^^^^^^^^^^^^}
{Used in the random talking Procedure}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Function Random1 : String;
Var
a : Integer;
Begin
a:= random(4) + 1;
Case a Of
1 : result:= 'man,';
2 : result:= 'jeez,';
3 : result:= 'woo,';
4 : result:= 'cmon,';
End;
End;
{^^^^^^^^^^^^^^^^^ RANDOMARMOR ^^^^^^^^^^^^^^^^^^^^}
{Used in the random talking Procedure, returns a random piece Of
armor Or a weapon}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Function RandomArmor : String;
Var
a : Integer;
Begin
a:= random(77) + 1;
Case a Of
1 : result:= 'bronze armor';
2 : result:= 'iron armor';
3 : result:= 'steel armor';
4 : result:= 'mithril armor';
5 : result:= 'adamite armor';
6 : result:= 'adam armor';
7 : result:= 'adamantite armor';
8 : result:= 'rune armor';
9 : result:= 'dragon armor';
10 : result:= 'drag armor';
11 : result:= 'barrow armor';
12 : result:= 'green dragon';
13 : result:= 'green drag';
14 : result:= 'green ranger';
15 : result:= 'blue dragon';
16 : result:= 'blue drag';
17 : result:= 'blue ranger';
18 : result:= 'red dragon';
19 : result:= 'red drag';
20 : result:= 'red ranger';
21 : result:= 'black dragon';
22 : result:= 'black drag';
23 : result:= 'black ranger';
24 : result:= 'splitbark armor';
25 : result:= 'trimmed armor';
26 : result:= 'god armor';
27 : result:= 'guthix armor';
28 : result:= 'sara armor';
29 : result:= 'saradomin armor';
30 : result:= 'zammy armor';
31 : result:= 'zamarok armor';
32 : result:= 'black trimmed armor';
33 : result:= 'adam trimmed armor';
34 : result:= 'rune trimmed armor';
35 : result:= 'gold trimmed armor';
36 : result:= 'mystic robes';
37 : result:= 'ahrim armor';
38 : result:= 'dharok armor';
39 : result:= 'guthan armor';
40 : result:= 'karil armor';
41 : result:= 'torag armor';
42 : result:= 'verac armor';
43 : result:= 'bronze weapons';
44 : result:= 'iron weapons';
45 : result:= 'steel weapons';
46 : result:= 'mithril weapons';
47 : result:= 'mith weapons';
48 : result:= 'adam weapons';
49 : result:= 'adamantite weapons';
50 : result:= 'rune weapons';
51 : result:= 'dragon weapons';
52 : result:= 'crystal shields';
53 : result:= 'crystal bows';
54 : result:= 'longbows';
55 : result:= 'shortbows';
56 : result:= 'oak longbows';
57 : result:= 'oak shortbows';
58 : result:= 'willow shortbows';
59 : result:= 'willow longbows';
60 : result:= 'maple longbows';
61 : result:= 'maple shortbows';
62 : result:= 'yew longbows';
63 : result:= 'yew shortbows';
64 : result:= 'magic longbows';
65 : result:= 'magic shortbows';
66 : result:= 'staffs';
67 : result:= 'battlestaffs';
68 : result:= 'mystic staffs';
69 : result:= 'cannons';
70 : result:= 'ahrims staff';
71 : result:= 'dharoks greataxe';
72 : result:= 'guthans warspear';
73 : result:= 'crossbows';
74 : result:= 'karils crossbows';
75 : result:= 'torags hammers';
76 : result:= 'veracs flail';
77 : result:= 'gilded armor';
End;
End;
{^^^^^^^^^^^^^^^^^ RANDOMRARE ^^^^^^^^^^^^^^^^^^^^^}
{Used in the random talking Procedure, returns a random rare item}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Function RandomRare : String;
Var
a : Integer;
Begin
a:= random(56) + 1;
Case a Of
1 : result:= 'pumpkins';
2 : result:= 'christmas crackers';
3 : result:= 'crackers';
4 : result:= 'phats';
5 : result:= 'party hats';
6 : result:= 'red phats';
7 : result:= 'red partyhats';
8 : result:= 'yellow phats';
9 : result:= 'yellow partyhats';
10 : result:= 'white phats';
11 : result:= 'white partyhats';
12 : result:= 'green phats';
13 : result:= 'green partyhats';
14 : result:= 'blue phats';
15 : result:= 'blue partyhats';
16 : result:= 'purple partyhats';
17 : result:= 'purple phats';
18 : result:= 'easter eggs';
19 : result:= 'red masks';
20 : result:= 'blue masks';
21 : result:= 'green masks';
22 : result:= 'santa hats';
23 : result:= 'santas';
24 : result:= 'dragon spears';
25 : result:= 'dragon meduim helmets';
26 : result:= 'dragon meds';
27 : result:= 'dragon helms';
28 : result:= 'dragon shields';
29 : result:= 'dragon squares';
30 : result:= 'dragon chains';
31 : result:= 'dragon chainbodys';
32 : result:= 'dragon legs';
33 : result:= 'dragon platelegs';
34 : result:= 'white berets';
35 : result:= 'blue berets';
36 : result:= 'black berets';
37 : result:= 'highwayman masks';
38 : result:= 'red headbands';
39 : result:= 'black headbands';
40 : result:= 'brown headbands';
41 : result:= 'dragon items';
42 : result:= 'masks';
43 : result:= 'berets';
44 : result:= 'headbands';
45 : result:= 'cavaliers';
46 : result:= 'brown cavaliers';
47 : result:= 'black cavaliers';
48 : result:= 'tan cavaliers';
49 : result:= 'pirate hats';
50 : result:= 'robins';
51 : result:= 'robin hood hats';
52 : result:= 'mage boots';
53 : result:= 'ranger boots';
54 : result:= 'disk Of returnings';
55 : result:= 'disks';
56 : result:= 'half wines';
57 : result:= 'magic seeds';
End;
End;
{^^^^^^^^^^^^^^^^^ RANDOMSKILL ^^^^^^^^^^^^^^^^^^^^}
{Used in the random talking Procedure, returns a random skill
along with some other words that work create a sentence}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Function RandomSkill : String;
Var
a, b : Integer;
Begin
b:= random(35) + 1;
Case b Of
1 : result:= 'attack';
2 : result:= 'strength';
3 : result:= 'defense';
4 : result:= 'range';
5 : result:= 'prayer';
6 : result:= 'magic';
7 : result:= 'runecrafting';
8 : result:= 'hitpoint';
9 : result:= 'agility';
10 : result:= 'herblore';
11 : result:= 'thieving';
12 : result:= 'crafting';
13 : result:= 'fletching';
14 : result:= 'slayer';
15 : result:= 'mining';
16 : result:= 'smithing';
17 : result:= 'fishing';
18 : result:= 'cooking';
19 : result:= 'firemaking';
20 : result:= 'woodcutting';
21 : result:= 'atk';
22 : result:= 'str';
23 : result:= 'def';
24 : result:= 'mage';
25 : result:= 'rc';
26 : result:= 'hp';
27 : result:= 'herb';
28 : result:= 'thiev';
29 : result:= 'craft';
30 : result:= 'fletch';
31 : result:= 'smith';
32 : result:= 'fish';
33 : result:= 'cook';
34 : result:= 'fire';
35 : result:= 'wc';
36 : result:= 'farming';
End;
Case b Of
5, 8, 9, 26 : a:= random(2) + 1;
Else
a:= random(3) + 1;
End;
Case a Of
1 : result:= result + ' levels?';
2 : result:= result + ' lvs?';
3 : result:= random1 + ' ' + result;
End;
If(a= 3)Then
Begin
a:= random(7) + 1;
Case a Of
1 : result:= result + ' is boring!';
2 : result:= result + ' is the best';
3 : result:= result + ' is my favourite skill';
4 : result:= result + ' takes ages To train';
5 : result:= result + ' makes me so much money';
6 : result:= result + ' needs an update';
7 : result:= result + ' is too easy';
End;
End;
End;
{^^^^^^^^^^^^^^^^^ RANDOMMONSTER ^^^^^^^^^^^^^^^^^^}
{Used in the random talking Procedure, returns a random monster}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Function RandomMonster : String;
Var
a : Integer;
Begin
a:= random(30) + 1;
Case a Of
1 : result:= 'chickens';
2 : result:= 'green dragons';
3 : result:= 'blue dragons';
4 : result:= 'red dragons';
5 : result:= 'black dragons';
6 : result:= 'king black dragons';
7 : result:= 'kalphites';
8 : result:= 'kalphite queens';
9 : result:= 'demons';
10 : result:= 'dragons';
11 : result:= 'metal dragons';
12 : result:= 'bronze dragons';
13 : result:= 'iron dragons';
14 : result:= 'steel dragons';
15 : result:= 'black demons';
16 : result:= 'greater demons';
17 : result:= 'lesser demons';
18 : result:= 'golems';
19 : result:= 'tree spirits';
20 : result:= 'shades';
21 : result:= 'moss giants';
22 : result:= 'giants';
23 : result:= 'hill giants';
24 : result:= 'wolfs';
25 : result:= 'baby dragons';
26 : result:= 'spiders';
27 : result:= 'rats';
28 : result:= 'zombies';
29 : result:= 'goblins';
30 : result:= 'scorpions';
End;
End;
{^^^^^^^^^^^^^^^^^ RANDOMTALK ^^^^^^^^^^^^^^^^^^^^^}
{Returns a random sentence}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Function RandomTalk: String;
Var
a, b : Integer;
Begin
b:= random(5) + 1;
If(b= 1)Then
result:= randomskill;
If(b= 2)Then
Begin
a:= random(10) + 1;
Case a Of
1 : result:= 'I love ' + randomarmor;
2 : result:= 'I hate ' + randomarmor;
3 : result:= randomarmor + ' are so cool';
4 : result:= randomarmor + ' are stupid';
5 : result:= 'I have tons Of ' + randomarmor;
6 : result:= 'I think ' + randomarmor + ' look the best';
7 : result:= 'I think ' + randomarmor + ' look the worst';
8 : result:= randomarmor + ' costs too much';
9 : result:= randomarmor + ' is too cheap';
10 : result:= 'I can afford tons Of ' + randomarmor;
End;
End;
If(b= 3)Then
Begin
a:= random(10) + 1;
Case a Of
1 : result:= 'I love ' + randomrare;
2 : result:= 'I hate ' + randomrare;
3 : result:= randomrare + ' look the coolest';
4 : result:= randomrare + ' look the worst';
5 : result:= randomrare + ' are hard To find';
6 : result:= randomrare + ' are way too expensive';
7 : result:= randomrare + ' are too cheap';
8 : result:= 'I wonder how much ' + randomrare + ' alch For';
9 : result:= 'I wonder how many ' + randomrare + ' there are';
10 : result:= 'i wish i had tons Of ' + randomrare;
End;
End;
If(b= 4)Then
Begin
a:= random(8) + 1;
Case a Of
1 : result:= randommonster + ' look cool';
2 : result:= randommonster + ' look weak';
3 : result:= randommonster + ' are easy';
4 : result:= randommonster + ' are a good way To make money';
5 : result:= randommonster + ' should be harder';
6 : result:= randommonster + ' need To be easier';
7 : result:= randommonster + ' are the best To train on';
8 : result:= randommonster + ' are the worst To train on';
End;
End;
If(b= 5)Then
Begin
a:= random(6) + 1;
Case a Of
1 : result:= '';
2 : result:= '';
3 : result:= '=)';
4 : result:= '=(';
5 : result:= '';
6 : result:= ';(';
End;
End;
End;
{^^^^^^^^^^^^^^^^^ WAITR ^^^^^^^^^^^^^^^^^^^^^^^^^^}
{This Procedure will wait a random number Of miliseconds seconds}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure WaitR(number, RandomNumber : Integer);
Begin
wait(number + random(RandomNumber) + 1);
End;
{^^^^^^^^^^^^^^^^^ SETCHAT ^^^^^^^^^^^^^^^^^^^^^^^^}
{If applicable, turns off the Public chat, private chat And trade options}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure SetChat;
Var
x, y : integer;
Begin
If(GetColor(46, 488)<>255)then
Begin
repeat
MouseC(random(15)+20, random(10)+480, 1);
WaitR(150,100);
until(FindColor(x,y,255,45,487,47,489))
end;
If(GetColor(175, 486)<>255)then
Begin
repeat
MouseC(random(15)+150, random(10)+480, 1);
WaitR(150,100);
until(FindColor(x,y,255,174,485,176,487))
end;
If(GetColor(315, 488)<>255)then
Begin
repeat
MouseC(random(15)+290, random(10)+480, 1);
WaitR(150,100);
until(FindColor(x,y,255,314,487,316,489))
end;
End;
{^^^^^^^^^^^^^^^^^ LOGOUT ^^^^^^^^^^^^^^^^^^^^^^^^^}
{Logs your character out}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure LogOut;
Begin
If(getcolor( 632, 483) = 4543586)Then
MouseC(random(10) + 635, random(10) + 475, 1);
wait(random(300) + 500);
MouseC(random(30) + 600, random(5) + 370, 1);
End;
{^^^^^^^^^^^^^^^^^ OPENBAG ^^^^^^^^^^^^^^^^^^^^^^^^}
{Opens your inventory}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure OpenBag;
Begin
If(getcolor(634, 174) = 5531511)Then
MouseC(random(10) + 635, random(10) + 175, 1);
End;
{^^^^^^^^^^^^^^^^^ OPENCONTROLS ^^^^^^^^^^^^^^^^^^^}
{Opens the controls panel}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure OpenControls;
Begin
If(getcolor(704, 483) = 4543586)Then
MouseC(random(10) + 700, random(10) + 470, 1);
End;
{^^^^^^^^^^^^^^^^^ SETRUNON ^^^^^^^^^^^^^^^^^^^^^^^}
{Turns run on}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure SetRunOn;
Begin
OpenControls;
MouseC(random(10) + 615, random(10) + 275, 1);
wait(random(200) + 200);
End;
{^^^^^^^^^^^^^^^^^ SETRUNOFF ^^^^^^^^^^^^^^^^^^^^^^}
{Turns run off}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure SetRunOff;
Begin
OpenControls;
MouseC(random(10) + 565, random(10) + 275, 1);
wait(random(100) + 250);
End;
{^^^^^^^^^^^^^^^^^ TALKTORAND ^^^^^^^^^^^^^^^^^^^^^}
{Handles Talking To a random event}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure TalkToRand;
Var
c : Integer;
Begin
Repeat
wait(1);
c:= c + 1;
If(c=2750)Then
exit;
Until(getcolor(234, 441)= 16711680);
YellowTextTotal:= YellowTextTotal + 1;
TakeScreenShot('Talked To Random', YellowTextTotal);
Status('Talking To Random Event');
Repeat
If(getcolor(232, 443)= 16711680)Then
Begin
MouseC(253 + random(20), 442 + random(3), 1);
wait(2000 + random(1000));
randomtalked:= true;
End;
wait(1);
c:= c + 1;
If(c= 5000)Then
exit;
Until(GetColor(240, 434)= 0);
End;
{^^^^^^^^^^^^^^^^^ DISEASED ^^^^^^^^^^^^^^^^^^^^^^^}
{Returns true If your character is diseased And false is it isnt}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Function Diseased : Boolean;
Var
a, b : Integer;
Begin
result:= false;
wait(1);
If(findcolorspiral(a, b, 1226748, 215, 115, 330, 185))Then
result:= true;
End;
{^^^^^^^^^^^^^^^^^ POISONED ^^^^^^^^^^^^^^^^^^^^^^^}
{Returns true If your character is poisoned And false is it isnt}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Function Poisoned : Boolean;
Var
a, b : Integer;
Begin
result:= false;
wait(1);
If(findcolorspiral(a, b, 49152, 215, 115, 330, 185))Then
result:= true;
End;
{^^^^^^^^^^^^^^^^^ INFIGHT ^^^^^^^^^^^^^^^^^^^^^^^^}
{Returns true If your character is in a fight And false is it isnt}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Function InFight : Boolean;
Var
a, b : Integer;
Begin
result:= false;
wait(1);
If(findcolorspiral(a, b, 16728128, 215, 115, 330, 185))
Or(findcolorspiral(a, b, 192, 215, 115, 330, 185))Then
If(Poisoned= false)And(diseased= false)Then
result:= true;
End;
{^^^^^^^^^^^^^^^^^ FINDFIGHT ^^^^^^^^^^^^^^^^^^^^^^}
{Checks To see If you are in a fight, And If so you will run away}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure FindFight;
Var
leaveloop, placecheck, a, b, d, c : Integer;
Begin
d:= 0;
c:= 0;
If(Findcolorspiral(a, b, 65280, 215, 115, 330, 185))Then
wait(1000);
If(FindColorSpiral(a, b, 65280, 215, 115, 330, 185))Then
Begin
Repeat
If(c= 100)Then
Begin
wait(1);
c:= 0;
End;
c:= c + 1;
d:= d + 1;
If(diseased= true)Or(Poisoned= true)Then
exit;
Until(d= 4000)Or(InFight= true);
AttacksTotal:= AttacksTotal + 1;
TakeScreenShot('Fight Found', AttacksTotal);
SetRunon;
wait(random(10) + 50);
a:= 0;
Case Direction Of
'NE','' :
Repeat
a:= a + 3;
MouseC(random(5) + 680 - a, random(5) + 35 + a, 1);
wait(random(200) + 300);
Until(flagpresent=true);
'N' :
Repeat
a:= a + 3;
MouseC(random(5) + 640, random(5) + 20 + a, 1);
wait(random(200) + 300);
Until(flagpresent=true);
'NW' :
Repeat
a:= a + 3;
MouseC(random(5) + 620 + a, random(5) + 25 + a, 1);
wait(random(200) + 300);
Until(flagpresent=true);
'W' :
Repeat
a:= a + 3;
MouseC(random(5) + 600 + a, random(5) + 85, 1);
wait(random(200) + 300);
Until(flagpresent=true);
'SW' :
Repeat
a:= a + 3;
MouseC(random(5) + 620 + a, random(5) + 130 - a, 1);
wait(random(200) + 300);
Until(flagpresent=true);
'S' :
Repeat
a:= a + 3;
MouseC(random(5) + 645, random(5) + 145 - a, 1);
wait(random(200) + 300);
Until(flagpresent=true);
'SE' :
Repeat
a:= a + 3;
MouseC(random(5) + 688 - a, random(5) + 124 - a, 1);
wait(random(200) + 300);
Until(flagpresent=true);
'E' :
Repeat
a:= a + 3;
MouseC(random(5) + 703 - a, random(5) + 74, 1);
wait(random(200) + 300);
Until(flagpresent=true);
End;
wait(100);
MapFlagging;
wait(random(1000) + 1000);
If(RunBack=true)Then
Case Direction Of
'NE' :
Repeat
a:= a + 3;
MouseC(random(5) + 620 + a, random(5) + 130 - a, 1);
wait(random(200) + 300);
Until(FlagPresent);
'E' :
Repeat
a:= a + 3;
MouseC(random(5) + 600 + a, random(5) + 85, 1);
wait(random(200) + 300);
Until(FlagPresent);
'SE' :
Repeat
a:= a + 3;
MouseC(random(5) + 620 + a, random(5) + 25 + a, 1);
wait(random(200) + 300);
Until(FlagPresent);
'S' :
Repeat
a:= a + 3;
MouseC(random(5) + 640, random(5) + 20 + a, 1);
wait(random(200) + 300);
Until(FlagPresent);
'SW' :
Repeat
a:= a + 3;
MouseC(random(5) + 680 - a, random(5) + 35 + a, 1);
wait(random(200) + 300);
Until(FlagPresent);
'W' :
Repeat
a:= a + 3;
MouseC(random(5) + 703 - a, random(5) + 74, 1);
wait(random(200) + 300);
Until(FlagPresent);
'NW' :
Repeat
a:= a + 3;
MouseC(random(5) + 688 - a, random(5) + 124 - a, 1);
wait(random(200) + 300);
Until(FlagPresent);
'N' :
Repeat
a:= a + 3;
MouseC(random(5) + 645, random(5) + 145 - a, 1);
wait(random(200) + 300);
Until(FlagPresent);
End;
SetRunOff;
wait(random(200)+300);
OpenBag;
leaveloop:= 0;
fightfound:= true;
Repeat
placecheck:= getcolor(27, 36);
wait(100);
If(getcolor(27, 36) = placecheck)Then
Leaveloop:= 1;
Until(Leaveloop= 1);
End;
End;
{^^^^^^^^^^^^^^^^^ FINDTEXT ^^^^^^^^^^^^^^^^^^^^^^^}
{Checks For Yellow text, And If some are found it will look For a random
event To talk too}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure FindText;
Var
counter, a, b, a1, b1, c, d : Integer;
Begin
counter:= 0
If(findcolor(a, b, 65535, 10, 20, 515, 338))
Or(Istextat3(185, 36, 'The Bank', 100))Then
wait(200)
If(findcolor(a, b, 65535, 10, 20, 515, 338))
And(Istextat3(185, 36, 'The Bank', 100)= false)Then
Begin
Repeat
counter:= counter + 2 + random(1);
MoveMouseSmoothEx(a + counter, b + 15 + random(3), 1, 6, 15, 20, 20);
wait(1)
If(istextat3(9, 9, 'Talk', 100))Then
Begin
getmousepos(a1, b1);
MouseC(a1, b1, 2);
Repeat
wait(random(100) + 200);
Until(findcolor(a, b, 0, a1 - 30, b1 - 30, a1 + 30, b1 + 30));
If(IsTextIn3(S1, S2, S3, S4, c, d, 'Talk'))Then
Begin
MouseC(c + random(10), d + random(3), 1);
MapFlagging;
TalkToRand;
exit;
End;
End;
Until(counter>= 150);
End;
End;
{^^^^^^^^^^^^^^^^^ LOGGEDIN ^^^^^^^^^^^^^^^^^^^^^^^}
{Returns true If you are logged in And false If your not}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Function LoggedIn:Boolean;
Begin
result:= true;
If(getcolor(249, 99)= 2071708)And
(getcolor(637,50)=4872025)And
(getcolor(547,383)=4212289)And
(getcolor(356,47)=6115406)And
(IsTextUp('Walk')=false)Then
result:= false;
End;
{^^^^^^^^^^^^^^^^^ CHECKINTRO ^^^^^^^^^^^^^^^^^^^^^}
{Checks For the intro screen And closes it If it finds it}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure CheckIntro;
Begin
If(Getcolor(595, 25) <> 8239317)Then
exit;
MouseBox(435, 307, 590, 360, 1);
repeat
wait(random(300) + 500);
until(getcolor(648, 83) = 16777215);
End;
{^^^^^^^^^^^^^^^^^ KILLSCRIPT ^^^^^^^^^^^^^^^^^^^^^}
{This Procedure will enter a continues loop, making the script which
is running stop}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure KillScript;
Begin
Repeat
Status('Script Killed, please restart');
wait(500);
Status('Script Killed, please restart.');
wait(500);
Status('Script Killed, please restart..');
wait(500);
Status('Script Killed, please restart...');
wait(500);
Until(false);
End;
{^^^^^^^^^^^^^^^^^ LOGIN ^^^^^^^^^^^^^^^^^^^^^^^}
{Logs your character in If your logged out}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure LogIn;
var
x : integer;
Begin
If(loggedin= false)Then
Begin
if(Istextat3(309, 241, 'Welcome',100))then
begin
MouseC(random(5) + 465, random(5) + 275, 1);
wait(random(500) + 1000);
end;
MouseC(random(20) + 370, random(3) + 251, 1);
wait(random(100) + 100);
sendkeyshuman(User);
wait(random(30)+120);
sendkeyshuman(chr(13));
wait(random(100) + 100);
sendkeyshuman(Pass);
MouseC(random(10) + 255, random(20) + 305, 1);
Repeat
wait(100);
x:= x + 1;
if(x = 100)Then
begin
writeln('Error logging in');
KillScript;
end;
Until(getcolor(602, 20)= 8041938);
End;
wait(random(300) + 500);
CheckIntro;
End;
{^^^^^^^^^^^^^^^^^ LOGOUTFOR ^^^^^^^^^^^^^^^^^^^^^^}
{This procedure will log you out for the amount of minits given}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure LogOutFor(Minutes : Integer);
Var
x : integer;
Begin
Logout;
Minutes:= Minutes + random(Minutes / 10);
writeln('Logging out for ' + inttostr(Minutes) + ' minuets');
Minutes:= (Minutes * 60) * 1000;
repeat
x:= x + random(300) + 1000;
wait(x);
until(x > Minutes);
writeln('Logging back in');
Login;
End;
{^^^^^^^^^^^^^^^^^ CHECKFORMODS ^^^^^^^^^^^^^^^^^^^}
{Looks For a mod Or admin And If it finds one, you will get logged out}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Procedure CheckForMods;
Var
a, b, bmpModCrown, bmpStaffCrown : Integer;
Begin
bmpModcrown := BitmapFromstring(13, 11,
'9797970000000000000000000000000000009797970000000 00000' +
'000000000000000000979797E0E0E09797970000000000000 00000' +
'E0E0E0A2A2A2979797000000000000000000E0E0E0979797E 0E0E0' +
'979797000000000000000000E0E0E0A2A2A29797970000000 00000' +
'000000E0E0E0979797E0E0E0A2A2A2979797000000E0E0E0A 2A2A2' +
'A2A2A2A2A2A2979797000000E0E0E0A2A2A2979797E0E0E0A 2A2A2' +
'979797000000E0E0E0A2A2A2A2A2A2A2A2A2979797000000E 0E0E0' +
'A2A2A2979797000000E0E0E0A2A2A2A2A2A2A2A2A2A2A2A2A 2A2A2' +
'A2A2A2A2A2A2A2A2A2A2A2A2979797000000000000E0E0E0A 2A2A2' +
'A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A29 79797' +
'000000000000000000E0E0E0sA2A2A2000000000000A2A2A2 000000' +
'000000A2A2A2979797000000000000000000000000E0E0E0A 2A2A2' +
'000000A2A2A2000000A2A2A2000000A2A2A29797970000000 00000' +
'000000000000E0E0E0A2A2A2000000A2A2A2000000A2A2A20 00000' +
'A2A2A29797970000000000000000000000009797979797979 79797' +
'979797979797979797979797979797979797000000000000' );
bmpStaffcrown := BitmapFromstring(13, 11,
'D69E21000000000000000000000000000000D69E210000000 00000' +
'000000000000000000D69E21FFFF84D69E210000000000000 00000' +
'FFFF84F7FF08D69E21000000000000000000FFFF84D69E21F FFF84' +
'D69E21000000000000000000FFFF84F7FF08D69E210000000 00000' +
'000000FFFF84D69E21FFFF84F7FF08D69E21000000FFFF84F 7FF08' +
'F7FF08F7FF08D69E21000000FFFF84F7FF08D69E21FFFF84F 7FF08' +
'D69E21000000FFFF84F7FF08F7FF08F7FF08D69E21000000F FFF84' +
'F7FF08D69E21000000FFFF84F7FF08F7FF08F7FF08F7FF08F 7FF08' +
'F7FF08F7FF08F7FF08F7FF08D69E21000000000000FFFF84F 7FF08' +
'F7FF08F7FF08F7FF08F7FF08F7FF08F7FF08F7FF08F7FF08D 69E21' +
'000000000000000000FFFF84F7FF08000000000000F7FF080 00000' +
'000000F7FF08D69E21000000000000000000000000FFFF84F 7FF08' +
'000000F7FF08000000F7FF08000000F7FF08D69E210000000 00000' +
'000000000000FFFF84F7FF08000000F7FF08000000F7FF080 00000' +
'F7FF08D69E21000000000000000000000000D69E21D69E21D 69E21' +
'D69E21D69E21D69E21D69E21D69E21D69E21000000000000' );
If (findbitmaptolerancein(bmpStaffcrown, a, b, 1, 345, 110, 430, 50))
Or(findbitmaptolerancein(bmpModcrown, a, b, 1, 345, 110, 430, 50))Then
Begin
TakeScreenShot('Staff Found', 1);
writeln('Staff / Mod Found, logged out And will log in later');
a:= 0;
LogOutFor(15);
End;
FreeBitmap(bmpStaffCrown);
FreeBitmap(bmpModCrown);
End;
{^^^^^^^^^^^^^^^^^ GETQUESTION ^^^^^^^^^^^^^^^^^^^^}
{Used with the box breaker}
{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}
Function GetQuestion : Integer;
Begin
result:= 0 ;
If(istextat3(194, 260, 'Which shape is Y', 100))Then
result:= 1; // Color Yellow
If(istextat3(200, 260, 'Which shape is B', 100))Then
resul
i need help geting this to thive transfer text above into a include .txt file and down lode the file below. i need help geting this to thiv![]()


';
';
';
Reply With Quote
, and its non srl, you should modify it to srl
tags . And eurostylz its outdated thread why did you bother digging it out?









