Hi!
Help me please with PowerChopper. When I run it, it gives and error: "Unknown identifier 'c0' ".
What's the problem?
Help, please.
P.S. I uploaded PowerChopper, which I trying to use.
Printable View
Hi!
Help me please with PowerChopper. When I run it, it gives and error: "Unknown identifier 'c0' ".
What's the problem?
Help, please.
P.S. I uploaded PowerChopper, which I trying to use.
Dont use this. As I can tell its outdated by the includes. Find something else thats up to date.
Sorry for the inconvience.
~jR
That's OK. No problem.
Excuse, could you tell me abou this errors:
Unknown identifier 'FindBirdsNest'
Unknown identifier 'FindEnt'
Unknown identifier 'FindHead'
Unknown identifier 'DropAllLogs'
Unknown identifier 'FindAxeHeadColor
What's wrong with this?
I'm using SSI2 version: 1.6, BoxBreaker2 V1.1, BoxBreaker v1.31, OSi v4.011, SRL v3.5. Is that OK or there is something better? Tell me please and upload, if you can.
Thanks.
That means it cant find the procedures. Those are SRL procedures and you dont have SRL.
Ill give you the download link in a second.
EDIT: Heres the link
http://www.villu-reborn.com/showthread.php?t=3410
After you install SRL correctly those errors wont appear anymore.
This is for scripting help, are you looking to edit the script, or just to get autoing?
One more error. What's it means: "Invalid number of parameters"? How to fix this one?
Help, please.
well, Mouse needs 5 parameters, the x and y coords of where it must click, the random changes in x and y and left or right click, so it would look something like this :
Mouse(X, Y, 5, 5, true);
But if you have Mouse(X, Y, 55, true);
then there are 4 parameters so the number of parameters is invalid. This is just an example, i don't know if you have a problem with Mouse or with something else.
Excuse me,
tell me please, what kind of problem this is: "Line 170: [Hint] (178:43): Variable 'NEWLINE' ' if script has only 95 lines?
And more error:
" Unknown identifier 'FindObjEx' ".
" Unknown identifier 'New Line' "
" Unknown identifier 'x' "
" Unknown identifier 'x' " if line is " if(FindColorSpiral(x,y,16711680,5,345,510,465))and (not(GetColor(20,434)=0))then "
As I said, I have SRl v350. Why this error then comes up?
Help, please.
P.S. Sorry guys, but I really need your help to lear Pascal in scar and solve errors myself in future.
Bump!
please don't double post or bump......
this is starblaster really old powerchopper written with some old include.
i doubt it works too well (because runescape got updated a lot) but i bet if someone converted to srl it would be fine
id just look for another woodcutting script written with SRL
I dont think the latest version of SSI2 is availble for downlaod anywhere. only palce to get it is from other beople i belive.
and like i said. there should be a few good powerchoppers somehwere in the free scritps form. Star just posted those scritps to be nice and let scripts tweak them a bit to work with the new rs.
here is SSI2 1.8 got it stright from starblaster.
argh uploading isnt woking so here lol:
SCAR Code:{========================================================================]
[ Stupid3ooo's Scripting and ]
[ Random Event Protection Include II ]
[ version: 1.8 ]
[========================================================================]
| This is must be put in the same folder as the script it is included |
| with. This is mainly used for my own functionality and use, but feel |
| free to use it if you want. Be sure to check for updates on this and |
| other scripts by Stupid3ooo. |
[=========================================================================]
[ *Be sure to open SSI2.txt for more options. ]
[ *For general SCAR help go to: ]
| [url]http://www.kaitnieks.com/files/SCARGUIDE/SCARGUIDE.htm[/url] ]
[ Thanks to, RS Cheating community ]
[ *PLEASE POST ANY BUGS/HELP IN THE FORUMS OR E-MAIL ]
[ [email]RSTradeMonkey@hotmail.com[/email], or [email]Stupid3ooo@gmail.com[/email] ]
[ If you like pwease donate to me :) at: ]
[ [url]http://www.stupid3ooo.co.nr[/url] ]
[=========================================================================}
const
//=//===========================Setup================================\\=\\
PermUser=''; //Sets username for all Stupid3ooo scripts.
PermPass=''; //Sets password for all Stupid3ooo scripts.
PermScarScape=false; //Sets Scarscape for all Stupid3ooo scripts.
smooth=true; //If you want human-like mouse movements.
movespeed= 30; // 1 - 30 : slow - fast
movewait= 50; //Wait in ms after the mouse has moved.
movewaitran= 50; //Random amount to wait after the mouse has moved.
clicktiming= 100; //Wait in ms after the mouse has clicked.
clicktimingran= 100; //Random amount to wait after the mouse has clicked.
TypeSendTime= 50; //Wait between each letter when typing.
TypeSendRan= 50; //Random amount to wait between each letter when typing.
r= 2; //How random the mouse clicks are 0-3 are best.
MaskName= 'Document 1 - Microsof...'; //Name you want scar to be disguised as.
CheckHpFirst= true; //If you want the script to look at the hp and see that it's been lowered before it runs away from a fight.
GasTolerance= 15; //Tolerance to find gas color.
PickUpItems= true; //If you want to pick up random items after losing a pick to try to find it.
Debug=false; //If set to true it will show messages and windows that are used for debugging purposes.
UsePivGas=false; //If you want to use piv's GasCheck(x,y); in all instances my FindGas(x,y); are used.
SymbolAccuracy= 0.5; //How accurate it must be, in %, to find symbols or icons on the minimap.
LoginAfterMod= 15; //How many minutes to wait to log back in after the script sees a mod(0 ends the script).
LogTimeOut= false; //If you want to let Runescape timeout instead of actually logging out for anit-ban.
KillScriptTime= 0; //Used in the preset AntiBan; procedure to kill the script after chosen hours, leave as 0 to not kill the script.
Screenshots= true; //If you want the script to save screenshots of random events.
SolveForester= false; //If you want the scrip to atempt to solve the forester, false if you want it to log out.
LampChoice= 'hitpoints'; //What stat you want to choose for the FindNormalRandoms procedure when solving a lamp.
// *To set your own chat phrases press ctrl+f and type in: RandomChat; then replace everything then phrases in ''.
//=\\================================================================//=\\
var
x,y,s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,logs,attaches,lamps,fights,talks,LoginTry,
lamp,PickAxe,PickAxeSteel,hc1,hc2, hc3,hc4,hc5,PickHandle,PickHead,Ore,
orecolor1,orecolor2,orecolor3,orecolor, GasColor,UpChars,ChatChars,StatChars,
CWindow,LogOutMark,RandomChatMark,RotateMark,KillScriptMark,LeaveScreenMark,
bmpLeaveTheArea,bmpFreakyForester,bmpPheasantMeat,Frog,FrogSpot,Frogs,
Foresters,Doctors,bmpNet,bmpCage,bmpRod,bmpFlyRod,bmpHarpoon,
FishingEquipmentColor,AxeHeadColor,Certers:integer;
Username,Password,SetCamera,FishingEquipmentName:string;
ST:LongInt;
ScarScape,LogsOut,Chats,Rotates:Boolean;
//============================================================================\\
//===========Taken from Library (C)2004 Alex aka PPLSUQBAWLZ==================\\
//============================================================================\\
// /////////////////////////// //
// Moves the mouse. //
// /////////////////////////// //
Procedure MMouse(mousex,mousey,ranx,rany:integer);
var randx, randy:integer;
begin
randx:=mousex+random(ranx); randy:=mousey+random(rany);
if(smooth)then MoveMouseSmoothEx(randx+1,randy, 2, 4, movespeed, 20, 10)
else MoveMouse(randx,randy);
sleep(movewait+random(movewaitran));
end;
// /////////////////////////// //
// Moves then clicks mouse. //
// /////////////////////////// //
Procedure Mouse(mousex,mousey,ranx,rany:integer; left:boolean);
var a,b,c:integer;
begin
if(smooth)then
begin
MMouse(mousex,mousey,ranx,rany);
GetMousePos(b,c);
HoldMouse(b+1,c,left);
repeat
wait(10+random(40));
a:=a+1;
until(a>4);
GetMousePos(b,c);
ReleaseMouse(b,c,left);
end;
if(not smooth)then
begin
MMouse(mousex,mousey,ranx,rany);
GetMousePos(b,c);
clickmouse(b,c,left);
end;
wait(clicktiming+random(clicktimingran));
end;
// /////////////////////////// //
// Waits while flag exists. //
// /////////////////////////// //
Procedure Flag;
var flagimage,timeout:integer;
begin
flagimage := BitmapFromString(2, 2,'FF00005D3311C656045D3311');
timeout:=0
repeat
timeout:=timeout+1;
wait(250);
until(not findbitmapin( flagimage, x, y, 570, 5, 725, 162)) or (timeout > 120);
freebitmap(flagimage);
end;
// /////////////////////////// //
// T/F depending on flag exist.//
// /////////////////////////// //
Function FlagPresent:boolean;
var flagimage:integer;
begin
flagimage := BitmapFromString(2, 2,'FF00005D3311C656045D3311');
if(findbitmapin( flagimage, x, y, 570, 5, 725, 162))then result:=true;
freebitmap(flagimage);
end;
// /////////////////////////// //
// Switches between tabs. //
// /////////////////////////// //
procedure GameTab(tabnumber:Integer);
begin
case tabnumber of
1:if(GetColor(559,179)=5531511)then Mouse(559,186,5,5,true);
2:if(GetColor(591,176)=5531511)then Mouse(585,186,5,5,true);
3:if(GetColor(618,176)=5531511)then Mouse(614,186,5,5,true);
4:if(GetColor(636,174)=5531511)then Mouse(650,186,5,5,true);
5:if(GetColor(682,174)=5531511)then Mouse(683,186,5,5,true);
6:if(GetColor(683,175)=5531511)then Mouse(711,186,5,5,true);
7:if(GetColor(734,177)=5531511)then Mouse(738,186,5,5,true);
8:if(GetColor(705,495)=5531511)then Mouse(710,480,5,5,true);
end;
end;
// /////////////////////////// //
// Sends text human-like. //
// /////////////////////////// //
Procedure TypeSend(text:string);
var LoadNumber:Integer;
begin
LoadNumber:=1;
repeat
SendKeysSilent(StrGet(Text, loadnumber));
LoadNumber:=LoadNumber+1;
Wait(TypeSendTime+random(TypeSendRan));
until(LoadNumber>Length(text));
end;
Procedure DisguiseScar(disguise:string);
var application:tapplication;
Self: TForm;
begin
Application:= GetApplication;
Application.Title:= disguise;
Self:= GetSelf;
Self.Caption:= disguise;
end;
// /////////////////////////// //
// Counts your inventory. //
// /////////////////////////// //
function InventoryCount:integer;
var used,i,e:integer;
begin
e:=0; i:=0; used:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0; e:= e + 1;
end;
if (FindColor(x,y,65536,(571+47*i),(215+36*e),(601+47*i),(245+36*e)))then used:=used+1;
i:= i + 1;
end;
result:=used;
end;
//============================================================================\\
//===========================SSI Procedures===================================\\
//============================================================================\\
procedure SetRun(run:Boolean);//From Si.scar
begin
GameTab(8);
case run of
True: if(GetColor(640,275)=5334129)then Mouse(620,265,5,5,true);
False:if(GetColor(581,250)=5334129)then Mouse(580,265,5,5,true);
end;
end;
procedure ChatsOff;//from Si.scar
var
x, y, setx, sety, i: Integer;
begin
for i:=0 to 2 do
begin
setx:= 55 + (i*135);
sety:= 490;
while(FindColor(x,y,16776960,setx-10,sety-10,setx+10,sety+10))do
Mouse(x,y,5,5,true)
while(FindColor(x,y,65280,setx-10,sety-10,setx+10,sety+10))do
Mouse(x,y,5,5,true)
while(FindColor(x,y,65535,setx-10,sety-10,setx+10,sety+10))do
Mouse(x,y,5,5,true)
end;
end;
function BankScreen:Boolean;//From Si.scar
begin
result:=IsTextAtEx(185,34,'The Bank of',30,UpChars,True,False,0,0,-1)
end;
{function LoggedIn:boolean;
var
LoggedinBMP : integer;
begin
LoggedinBMP := BitmapFromString(6, 10, 'z78DA73737573757371' +
'03930638801BAA1A43201C5583430D2E120046214F91');
if(FindBitmapSpiralTolerance(LoggedinBMP, x, y, 625, 464, 650, 490, 10))then
Result := true;
FreeBitmap(LoggedinBMP);
end; }
function LoggedIn : Boolean;
begin
if (GetColor(646, 482) = 16645886) then
Result := True;
end;
procedure Logout;
var
c:integer;
begin
if(LogTimeOut)then
begin
Wait(90000);
end
else if(LoggedIn)then
begin
Mouse(645,485,3,3,true);
Wait(100+random(100));
Mouse(635,375,4,4,true);
while(LoggedIn)and(c<10)do
begin
c:=c+1;
Wait(500+random(100));
end;
end;
end;
function Option(s:string):boolean;
begin
result:=false;
if(IsTextAt2(9,9,s,100))then
result:=true;
end;
function Option2(s:string):boolean;
var
tempx,tempy:integer;
begin
result:=false;
if(IsTextInAreaEx(0,0,515,25,tempx,tempy,s,100,UpChars,True,False,0,1,-1))then
result:=true;
end;
function GetOption:string;
begin
result:=GetTextAtEx(8,7,130,UpChars,True,False,0,1,-1,40,False,tr_AlphaNumericChars);
end;
function FindText(txt:string;font,xs,ys,xe,ye:integer):boolean;
var
s:integer;
begin
s:=CreateBitmapMaskFromText(txt,font);
if(FindBitmapMaskTolerance(s,x,y,xs,ys,xe,ye,10,85))then
result:=true;
FreeBitmap(s);
end;
function ClickText(txt:string;font,xs,ys,xe,ye:integer;left:boolean):boolean;
var
s:integer;
begin
s:=CreateBitmapMaskFromText(txt,font);
if(FindBitmapMaskTolerance(s,x,y,xs,ys,xe,ye,10,85))then
begin
Mouse(x+10,y+3,r,r,left);
Result:=true;
end;
FreeBitmap(s);
end;
function FindTextFont(txt:string;font:integer):boolean;
var s:integer;
begin
s:=CreateBitmapMaskFromText(txt,font);
if(FindBitmapMaskTolerance(s,x,y,0,0,760,500,10,85))then
result:=true;
FreeBitmap(s);
end;
function ClickTextFont(txt:string;font:integer;left:boolean):boolean;
begin
if(FindTextFont(txt,font))then
begin
Mouse(x+10,y+3,r,r,left);
result:=true;
end;
end;
function FindMSText(txt:string):boolean;//Bold(2)
begin
if(FindBitmapMaskTolerance(CreateBitmapMaskFromText(txt,UpChars),x,y,3,3,515,338,10,85))then
result:=true;
end;
function ClickMSText(txt:string;left:boolean):boolean;//Bold(2)
begin
if(FindMSText(txt))then
begin
Mouse(x+10,y+3,r,r,true);
result:=true;
end;
end;
function FindChatText(txt:string):boolean;//Chat(1)
begin
if(FindBitmapMaskTolerance(CreateBitmapMaskFromText(txt,ChatChars),x,y,9,348,479,433,10,85))then
result:=true;
end;
function NewChatMsg(txt:string):boolean;
begin
if(FindBitmapMaskTolerance(CreateBitmapMaskFromText(txt,ChatChars),x,y,17,410,495,452,10,85))then
result:=true;
end;
function GetNewChatMsg:string;
begin
result:=GetTextAtEx(21,415,0,ChatChars,False,True,0,0,-1,70,False,tr_NormalChars);
end;
function FindInventoryText(txt:string):boolean;////Small(3)
begin
if(FindBitmapMaskTolerance(CreateBitmapMaskFromText(txt,StatChars),x,y,553,206,742,465,10,85))then
result:=true;
end;
function FindMMColor(color:integer):boolean;
begin
if(FindColor(x,y,color,573,8,723,158))then
result:=true;
end;
function FindMMColorTol(color,tol:integer):boolean;
begin
if(FindColorTolerance(x,y,color,573,8,723,158,tol))then
result:=true;
end;
procedure ClickMMColor(color:integer);
begin
if(FindColor(x,y,color,573,8,723,158))then
Mouse(x,y,r,r,true);
end;
procedure ClickMMColorTol(color,tol:integer);
begin
if(FindColorTolerance(x,y,color,573,8,723,158,tol))then
Mouse(x,y,r,r,true);
end;
function FindMSColor(color:integer):boolean;
begin
if(FindColor(x,y,color,3,3,515,338))then
result:=true;
end;
function FindMSColorTol(color,tol:integer):boolean;
begin
if(FindColorTolerance(x,y,color,3,3,515,338,tol))then
result:=true;
end;
procedure ClickMSColor(color:integer;left:boolean);
begin
if(FindColor(x,y,color,3,3,515,338))then
Mouse(x,y,r,r,left);
end;
procedure ClickMSColorTol(color,tol:integer;left:boolean);
begin
if(FindColorTolerance(x,y,color,3,3,515,338,tol))then
Mouse(x,y,r,r,left);
end;
function FindMSDtm(dtm:integer):boolean;
begin
if(FindDtm(dtm,x,y,3,3,515,338))then
result:=true;
end;
function FindMMDtm(dtm:integer):boolean;
begin
if(FindDtm(dtm,x,y,573,8,723,158))then
result:=true;
end;
procedure MouseFindFlag(ax,ay,xmod,ymod:integer);
var
xx,yy:integer;
begin
if(not(FlagPresent))then
begin
xx:=ax;
yy:=ay;
repeat
xx:=xx+xmod;
yy:=yy+ymod;
Mouse(xx,yy,r,r,true);
until(FlagPresent)or(xx<570)or(xx>725)or(yy<5)or(yy>160)
end;
end;
procedure WalkAsideColorTol(Color:integer;MoveDir,HugSide:string;Tol:integer);//Useful for mapwalking along rivers and mountains
var
c,xs,xe,ys,ye,xm,ym:integer;
begin
xs:=573;
ys:=8;
xe:=723;
ye:=158;
while(c<150)do
begin
c:=c+5;
if(Lowercase(MoveDir)='n')or(Lowercase(MoveDir)='north')then
begin
ye:=ye-5;
ym:=3;
end;
if(Lowercase(MoveDir)='e')or(Lowercase(MoveDir)='east')then
begin
xs:=xs+5;
xm:=-3;
end;
if(Lowercase(MoveDir)='s')or(Lowercase(MoveDir)='south')then
begin
ys:=ys+5;
ym:=-3;
end;
if(Lowercase(MoveDir)='w')or(Lowercase(MoveDir)='west')then
begin
xe:=xe-5;
xm:=3;
end;
if(not(FindColorTolerance(x,y,color,xs,ys,xe,ye,tol)))then
begin
if(Lowercase(MoveDir)='n')or(Lowercase(MoveDir)='north')then
ye:=ye+10;
if(Lowercase(MoveDir)='e')or(Lowercase(MoveDir)='east')then
xs:=xs-10;
if(Lowercase(MoveDir)='s')or(Lowercase(MoveDir)='south')then
ys:=ys-10;
if(Lowercase(MoveDir)='w')or(Lowercase(MoveDir)='west')then
xe:=xe+10;
break;
end;
end;
c:=0;
while(c<150)do
begin
c:=c+5;
if(Lowercase(HugSide)='n')or(Lowercase(HugSide)='north')then
ye:=ye-5;
if(Lowercase(HugSide)='e')or(Lowercase(HugSide)='east')then
xs:=xs+5;
if(Lowercase(HugSide)='s')or(Lowercase(HugSide)='south')then
ys:=ys+5;
if(Lowercase(HugSide)='w')or(Lowercase(HugSide)='west')then
xe:=xe-5;
if(not(FindColorTolerance(x,y,color,xs,ys,xe,ye,tol)))then
begin
if(Lowercase(HugSide)='n')or(Lowercase(HugSide)='north')then
MouseFindFlag(xs+xm*3,ys+ym*3,xm,3);
if(Lowercase(HugSide)='e')or(Lowercase(HugSide)='east')then
MouseFindFlag(xs+xm*3,ys+ym*3,-3,ym);
if(Lowercase(HugSide)='s')or(Lowercase(HugSide)='south')then
MouseFindFlag(xs+xm*3,ys+ym*3,xm,-3);
if(Lowercase(HugSide)='w')or(Lowercase(HugSide)='west')then
MouseFindFlag(xs-xm*3,ys+ym*3,xm+3,ym);
break;
end;
end;
end;
procedure WalkAsideColor(Color:integer;MoveDir,HugSide:string);//Useful for mapwalking along rivers and mountains
begin
WalkAsideColorTol(Color,MoveDir,HugSide,0);
end;
function FindBitmapsProgressiveTol(bmp1,bmp2,bmp3,bmp4,bmp5,tolmax,step,xs,ys,xe,ye:integer):boolean;
var
c:integer;
begin
while(c<tolmax)do
begin
c:=c+step;
if(bmp1>0)then
begin
if(FindBitmapSpiralTolerance(bmp1,x,y,xs,ys,xe,ye,c))then
begin
result:=true;
break;
end;
end;
if(bmp2>0)then
begin
if(FindBitmapSpiralTolerance(bmp2,x,y,xs,ys,xe,ye,c))then
begin
result:=true;
break;
end;
end;
if(bmp3>0)then
begin
if(FindBitmapSpiralTolerance(bmp3,x,y,xs,ys,xe,ye,c))then
begin
result:=true;
break;
end;
end;
if(bmp4>0)then
begin
if(FindBitmapSpiralTolerance(bmp4,x,y,xs,ys,xe,ye,c))then
begin
result:=true;
break;
end;
end;
if(bmp5>0)then
begin
if(FindBitmapSpiralTolerance(bmp5,x,y,xs,ys,xe,ye,c))then
begin
result:=true;
break;
end;
end;
end;
end;
function GetSymbolColor(name:string):integer;//Thank you SCAR 2.0 for making this much easier, work in progress
var
Bitmap,Color,c:integer;
acc:extended;
begin
if(lowercase(name)='bank')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33B434B4343473B' +
'100421364D2D9D2C9C9D4C4CDCDD5D1CCD0C2D5DCC5D00299ED04' +
'8226C824B25E43B0998664990C213175116F32B2F9C824B2F9A4B' +
'A1997F9B842865493890F734C9301ACE46928');
Color:=6417151;
end;
if(lowercase(name)='mining spot')or(lowercase(name)='mining site')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95D03B0EC430' +
'0804D02B610C832931D9DCFF48894293C8DAD5464853F07905342' +
'91A67A46FF43BA31914AE602183A9E5686799A64E3C04BA4CFA43' +
'7E98439C770971257CB09F934B8E089F2FE43287A2F534166629A' +
'1121D03DB5BB94C0B1D9D811E2DEF66ED94BCF6BFC97753A33BF3' +
'7ABBCAEB9F0FD413672D');
Color:=4219541;
end;
if(lowercase(name)='transportation')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303534347074353' +
'4B73032219E34763173348592A62E666E66A6C8B20660330D904C' +
'86A841D6858BC454896C3EA6C9C498899FC465B291A3B193910B3' +
'124A69910715C269317CEC866229B0C00B3496273');
Color:=2650848;
end;
if(lowercase(name)='magic shop')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95D0510A80300806' +
'E02B9906B6C77F3AEF7FA4A0066DABC17A1111FD1469A74CC5C46' +
'0D6C60875CEA17288D63CE08C771D02A09BA5CBA499DC99AD3CFA' +
'EB72041B97B9D9C83F6F2ECE69C3D71F46F9EE5C979D155AFDBAA' +
'5BBFF312D915399C927AF756C82');
Color:=1714669;
end;
if(lowercase(name)='water source')or(lowercase(name)='water')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA5CF410A80300C44' +
'D12B25B6A964E9907AFF2329CC42A5448A12F874111EA9A89C830' +
'A438C6DB646B7A51BF6C27A75F3C8F659D16BE665F68F7C37B121' +
'3AF8162D2DE2FDF21999E628B3DFE4C7DF1339BB9CE601EA0F684' +
'0');
Color:=14497281;
end;
if(lowercase(name)='furnace')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA333034004247472763' +
'47130869E4686C6C64626266E46CE0E66A616666608C8B84A881A' +
'8B770B434B6809A60608880044CB6B434333072B57033323084B1' +
'07BDC934080D62485C26030023CF61C9');
Color:=222952;
end;
if(lowercase(name)='anvil')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95CF510AC0300803D02B' +
'A59DE0F2D9F6FE771A2CFB10CAC4FE04117C443434D8E4C2EA4A8' +
'7DFCE8B06FB369AF38C025E139B5C7194EA106F73B9D2991C187D' +
'3773F92F2BE6A91CBFD05CE9FC00C9DB6164');
Color:=4012591;
end;
if(lowercase(name)='rare trees')or(lowercase(name)='tree')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303400424757270' +
'B4757086960686209128390E6F84833470B20696C618E6E020262' +
'33D99C0C9238938976391269E16A69614192C96012EC6B2889C34' +
'CFC26639A0F516FE46CE80267BB9AB919B8426C413613393400AC' +
'8C5FC9');
Color:=96513;
end;
if(lowercase(name)='fishing spot')or(lowercase(name)='fish')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8DCE410E80300844D12B4D5BA' +
'9BAA404EE7F2413675343AA6EFE82D217D061682636ACCCADA779' +
'045B641F117987CDAFB84D2479D67257B28A0EFD90B9C9F9BB3FD' +
'FF02EC337F347B39977D83F37AFFEA2D76EDEA4543DE870B2922F' +
'BB6B6878');
Color:=16743189;
end;
FindDeformedBitmapToleranceIn(Bitmap,x,y,570,5,725,160,70,0,True,acc);
if(acc>SymbolAccuracy)then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,Color,x,y,x+15,y+5,c))then
result:=GetColor(x,y);
until(result>0)or(c>70);
end;
FreeBitmap(Bitmap);
end;
function FindSymbol(name:string):boolean;
begin
if(GetSymbolColor(Lowercase(name))>0)then
Result:=true;
end;
procedure FindSymbolColorIfNeeded(SymbolName:string;TerminateIfNotFound:boolean;var Color:integer);
begin
if(Color=0)then
begin
Color:=GetSymbolColor(SymbolName);
if(Color>0)then
begin
writeln(SymbolName+': '+inttostr(Color));
end else if(TerminateIfNotFound)then
begin
WriteLn('Could not find '+SymbolName+' color please restart the script and/or choose your own colors.');
TerminateScript;
end;
end;
end;
function ChooseOption(txt:string):boolean;
var
s,cancel,x1,y1,x2,y2,LeftCorner,RightCorner:integer;
begin
LeftCorner := BitmapFromString(4, 4, 'z78DA33753135313137C5' +
'411A600064715CEA914500CACE13F0');
RightCorner := BitmapFromString(4, 4, 'z78DA33753135313137' +
'C5200D30002E35F8C501C9C013F0');
s:=CreateBitmapMaskFromText(txt,UpChars);
cancel:=CreateBitmapMaskFromText('Cancel',UpChars);
if(FindBitmap(LeftCorner,x1,y1))and(FindBitmap(RightCorner,x2,y2))then
begin
if(FindBitmapMaskTolerance(s,x,y,x1,y1,x2,502,10,85))then
begin
Result:=True;
Mouse(x+10+random(5),y+3,7,3,true);
end else if(FindBitmapMaskTolerance(cancel,x,y,x1,y1,x2,502,10,85))then
Mouse(x+10+random(5),y+3,7,3,true);
end;
FreeBitmap(LeftCorner);
FreeBitmap(RightCorner);
FreeBitmap(s);
FreeBitmap(cancel);
end;
function CountItemColor(color:integer):integer;//based of PPLSUQBAWLZ's InventoryCount
var
used,i,e:integer;
begin
e:=0; i:=0; used:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0; e:= e + 1;
end;
if(FindColor(x,y,color,(570+39*i),(214+35*e),(609+39*i),(249+35*e)))then used:=used+1;
i:= i + 1;
end;
result:=used;
end;
function CountItemColorTol(color,tol:integer):integer;//based off PPLSUQBAWLZ's InventoryCount
var
used,i,e:integer;
begin
e:=0; i:=0; used:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0;
e:= e + 1;
end;
if(FindColorTolerance(x,y,color,(570+39*i),(214+35*e),(609+39*i),(249+35*e),tol))then
used:=used+1;
i:= i + 1;
end;
result:=used;
end;
function CountItemBmpTol(bmp,tol:integer):integer;//based of PPLSUQBAWLZ's InventoryCount
var
used,i,e:integer;
begin
e:=0; i:=0; used:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0;
e:= e + 1;
end;
if(FindBitmapSpiralTolerance(bmp,x,y,(570+39*i),(214+35*e),(609+39*i),(249+35*e),tol))then
used:=used+1;
if(i=4)and(e=7)then
break;
i:= i + 1;
end;
result:=used;
end;
function CountItemName(name:string):integer;//based off PPLSUQBAWLZ's InventoryCount
var
c,i,e:integer;
begin
e:=0; i:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0; e:= e + 1;
end;
if(FindColor(x,y,65536,(570+39*i),(214+35*e),(609+39*i),(249+35*e)))then
begin
MMouse(x,y,r,r);
if(Option(name))then
c:=c+1;
end;
i:= i + 1;
end;
result:=c;
end;
function FindItemColor(color:integer):boolean;
begin
GameTab(4);
if(FindColor(x,y,color,554,205,743,465))then
result:=true;
end;
function FindItemColorTol(color,tol:integer):boolean;
begin
GameTab(4);
if(FindColorTolerance(x,y,color,554,205,743,465,tol))then
result:=true;
end;
function FindItemBmpTol(bmp,tol:integer):boolean;
begin
GameTab(4);
if(FindBitmapSpiralTolerance(bmp,x,y,554,205,743,465,tol))then
result:=true;
end;
function FindItemName(name:string):boolean;//based off PPLSUQBAWLZ's InventoryCount
var
i,e:integer;
begin
e:=0;
i:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0; e:= e + 1;
end;
if(FindColor(x,y,65536,(571+47*i),(215+36*e),(601+47*i),(245+36*e)))then
begin
MMouse(x,y,r,r);
if(Option(name))then
begin
result:=true;
break;
end;
end;
i:= i + 1;
end;
end;
procedure ClickItemColor(color:integer;left:boolean);
begin
if(FindItemColor(color))then
Mouse(x,y,r,r,left);
end;
procedure ClickItemColorTol(color,tol:integer;left:boolean);
begin
if(FindItemColorTol(color,tol))then
Mouse(x,y,r,r,left);
end;
procedure ClickItemName(name:string;left:boolean);
begin
if(FindItemName(name))then
Mouse(x,y,r,r,left);
end;
procedure ClickItemBmpTol(bmp,tol:integer;left:boolean);
begin
if(FindItemBmpTol(bmp,tol))then
Mouse(x,y,r,r,left);
end;
procedure ClickAllItemsColorTolWait(option:string;color,tol,waitnum:integer);//based off PPLSUQBAWLZ's InventoryCount
var
i,e:integer;
begin
e:=0; i:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0; e:= e + 1;
end;
if(FindColorTolerance(x,y,color,(570+39*i),(214+35*e),(609+39*i),(249+35*e),tol))then
begin
if(not(option=''))then
begin
Mouse(x,y,r,r,false);
ChooseOption(option);
end
else
Mouse(x,y,r,r,true);
wait(waitnum);
end;
i:= i + 1;
end;
end;
procedure ClickAllItemsColorWait(option:string;color,waitnum:integer);//based off PPLSUQBAWLZ's InventoryCount
var
i,e:integer;
begin
e:=0; i:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0; e:= e + 1;
end;
if(FindColor(x,y,color,(570+39*i),(214+35*e),(609+39*i),(249+35*e)))then
begin
if(not(option=''))then
begin
Mouse(x,y,r,r,false);
ChooseOption(option);
end
else
Mouse(x,y,r,r,true);
wait(waitnum);
end;
i:= i + 1;
end;
end;
procedure ClickAllItemsBmpTolWait(optionx:string;bmp,tol,waitnum:integer);//based off PPLSUQBAWLZ's InventoryCount
var
i,e:integer;
begin
e:=0; i:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0; e:= e + 1;
end;
if(FindBitmapSpiralTolerance(bmp,x,y,(570+39*i),(214+35*e),(609+39*i),(249+35*e),tol))then
begin
MMouse(x,y,r,r);
if(not(optionx=''))then
begin
Mouse(x,y,r,r,false);
ChooseOption(optionx);
end
else
Mouse(x,y,r,r,true);
wait(waitnum);
end;
if(i=4)and(e=7)then break;
i:= i + 1;
end;
end;
procedure ClickAllItemsNameWait(optionx,name:string;waitnum:integer);//based off PPLSUQBAWLZ's InventoryCount
var
i,e:integer;
begin
e:=0; i:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0; e:= e + 1;
end;
if(FindColor(x,y,65536,(570+39*i),(214+35*e),(609+39*i),(249+35*e)))then
begin
MMouse(x,y,r,r);
if(Option(name))then
begin
if(not(optionx=''))then
begin
Mouse(x,y,r,r,false);
ChooseOption(optionx);
end
else
Mouse(x,y,r,r,true);
wait(waitnum);
end;
end;
i:= i + 1;
end;
end;
procedure ClickAllItemsColor(option:string;color:integer);
begin
ClickAllItemsColorWait(option,color,0);
end;
procedure ClickAllItemsName(option,name:string);
begin
ClickAllItemsNameWait(option,name,0);
end;
procedure ClickAllItemsBmpTol(option:string;bmp,tol:integer);
begin
ClickAllItemsBmpTolWait(option,bmp,tol,0);
end;
procedure ClickAllItemsColorTol(option,name:string;color,tol:integer);
begin
ClickAllItemsColorTolWait(option,color,tol,0);
end;
function FindObjRay(txt:string;xmod,ymod:integer):boolean;
var
mx,my:integer;
begin
if(not(Option(txt)))then
begin
MMouse(257,169,10,10);
GetMousePos(mx,my);
repeat
mx:=mx+xmod;
my:=my+ymod;
MoveMouseSmooth(mx,my);
wait(10+random(10));
if(Option(txt))then
begin
GetMousePos(x,y);
Result:=True;
break;
end;
until(mx<=3+xmod)or(mx>=515)or(my<=3+ymod)or(my>=338)
end;
end;
function FindObj(text:string;color,tolerance:integer):boolean;
var
a,c,i,x1,y1,x2,y2:integer;
begin
if(FindMSColorTol(color,tolerance))then
begin
x1:=245;
y1:=165;
x2:=277;
y2:=185;
repeat
a:=a+1;
if(a=1)then
c:=c+1;
if(a=3)then
c:=c+1;
for i:=1 to c do
begin
if(a=1)then
begin
x1:=x1+30;
x2:=x2+30;
end;
if(a=2)then
begin
y1:=y1-20;
y2:=y2-20;
end;
if(a=3)then
begin
x1:=x1-30;
x2:=x2-30;
end;
if(a=4)then
begin
y1:=y1+20;
y2:=y2+20;
end;
if(x1=485)and(x2=517)then
x2:=x2-2;
if(y1=325)and(y2=345)then
y2:=y2-7;
if(x2>515)then
Break;
if(FindColorTolerance(x,y,color,x1,y1,x2,y2,tolerance))then
begin
MMouse(x,y,r,r);
if(Option(text))then
begin
Result:=true;
Break;
end;
end;
end;
if(a=4)then
a:=0;
until(x2>515)or(Result=true)
end;
end;
function FindObj2(text:string;color,tolerance:integer):boolean;
var
a,c,i,x1,y1,x2,y2:integer;
begin
if(FindMSColorTol(color,tolerance))then
begin
x1:=245;
y1:=165;
x2:=277;
y2:=185;
repeat
a:=a+1;
if(a=1)then
c:=c+1;
if(a=3)then
c:=c+1;
for i:=1 to c do
begin
if(a=1)then
begin
x1:=x1+30;
x2:=x2+30;
end;
if(a=2)then
begin
y1:=y1-20;
y2:=y2-20;
end;
if(a=3)then
begin
x1:=x1-30;
x2:=x2-30;
end;
if(a=4)then
begin
y1:=y1+20;
y2:=y2+20;
end;
if(x1=485)and(x2=517)then
x2:=x2-2;
if(y1=325)and(y2=345)then
y2:=y2-7;
if(x2>515)then
Break;
if(FindColorTolerance(x,y,color,x1,y1,x2,y2,tolerance))then
begin
MMouse(x,y,r,r);
if(Option2(text))then
begin
Result:=true;
Break;
end;
end;
end;
if(a=4)then
a:=0;
until(x2>515)or(Result=true)
end;
end;
function FindObjDtm(text:string;dtm:integer):boolean;
var
a,c,i,x1,y1,x2,y2:integer;
begin
if(FindMSDtm(Dtm))then
begin
x1:=245;
y1:=165;
x2:=277;
y2:=185;
repeat
a:=a+1;
if(a=1)then
c:=c+1;
if(a=3)then
c:=c+1;
for i:=1 to c do
begin
if(a=1)then
begin
x1:=x1+30;
x2:=x2+30;
end;
if(a=2)then
begin
y1:=y1-20;
y2:=y2-20;
end;
if(a=3)then
begin
x1:=x1-30;
x2:=x2-30;
end;
if(a=4)then
begin
y1:=y1+20;
y2:=y2+20;
end;
if(x1=485)and(x2=517)then
x2:=x2-2;
if(y1=325)and(y2=345)then
y2:=y2-7;
if(x2>515)then
Break;
if(FindDtm(dtm,x,y,x1,y1,x2,y2))then
begin
MMouse(x,y,r,r);
if(Option(text))then
begin
Result:=true;
Break;
end;
end;
end;
if(a=4)then
a:=0;
until(x2>515)or(Result=true)
end;
end;
function FindObjMulti(text:string;color1,color2,color3,tolerance:integer):boolean;
var
a,c,i,x1,y1,x2,y2:integer;
begin
if(FindMSColorTol(color1,tolerance))or
(FindMSColorTol(color2,tolerance))or
(FindMSColorTol(color3,tolerance))then
begin
x1:=245;
y1:=165;
x2:=277;
y2:=185;
repeat
a:=a+1;
if(a=1)then
c:=c+1;
if(a=3)then
c:=c+1;
for i:=1 to c do
begin
if(a=1)then
begin
x1:=x1+30;
x2:=x2+30;
end;
if(a=2)then
begin
y1:=y1-20;
y2:=y2-20;
end;
if(a=3)then
begin
x1:=x1-30;
x2:=x2-30;
end;
if(a=4)then
begin
y1:=y1+20;
y2:=y2+20;
end;
if(x1=485)and(x2=517)then
x2:=x2-2;
if(y1=325)and(y2=345)then
y2:=y2-7;
if(x2>515)then
Break;
if(FindColorTolerance(x,y,color1,x1,y1,x2,y2,tolerance))or
(FindColorTolerance(x,y,color2,x1,y1,x2,y2,tolerance))or
(FindColorTolerance(x,y,color3,x1,y1,x2,y2,tolerance))then
begin
MMouse(x,y,r,r);
if(Option(text))then
begin
Result:=true;
Break;
end;
end;
end;
if(a=4)then
a:=0;
until(x2>515)or(Result=true)
end;
end;
procedure LoadStatBmps;//Odie5533's procedure from OSi
begin
s0 := BitmapFromString(5, 8,
'000000FFFFFFFFFFFFFFFFFF000000FFFFFF000000000000000000' +
'FFFFFFFFFFFF000000000000000000FFFFFFFFFFFF000000000000' +
'000000FFFFFFFFFFFF000000000000000000FFFFFFFFFFFF000000' +
'000000000000FFFFFFFFFFFF000000000000000000FFFFFF000000' +
'FFFFFFFFFFFFFFFFFF000000');
s1 := BitmapFromString(3, 8,
'000000FFFFFF000000FFFFFFFFFFFF000000000000FFFFFF000000' +
'000000FFFFFF000000000000FFFFFF000000000000FFFFFF000000' +
'000000FFFFFF000000FFFFFFFFFFFFFFFFFF');
s2 := BitmapFromString(5, 8,
'000000FFFFFFFFFFFFFFFFFF000000FFFFFF000000000000000000' +
'FFFFFF000000000000000000000000FFFFFF000000000000000000' +
'FFFFFF000000000000000000FFFFFF000000000000000000FFFFFF' +
'000000000000000000FFFFFF000000000000000000000000FFFFFF' +
'FFFFFFFFFFFFFFFFFFFFFFFF');
s3 := BitmapFromString(4, 8,
'000000FFFFFFFFFFFF000000FFFFFF000000000000FFFFFF000000' +
'000000000000FFFFFF000000FFFFFFFFFFFF000000000000000000' +
'000000FFFFFF000000000000000000FFFFFFFFFFFF000000000000' +
'FFFFFF000000FFFFFFFFFFFF000000');
s4 := BitmapFromString(4, 8,
'FFFFFF000000000000000000FFFFFF000000000000000000FFFFFF' +
'000000000000000000FFFFFF000000FFFFFF000000FFFFFF000000' +
'FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFF' +
'000000000000000000FFFFFF000000');
s5 := BitmapFromString(4, 8,
'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000FFFFFF' +
'000000000000000000FFFFFFFFFFFFFFFFFF000000000000000000' +
'000000FFFFFF000000000000000000FFFFFFFFFFFF000000000000' +
'FFFFFF000000FFFFFFFFFFFF000000');
s6 := BitmapFromString(5, 8,
'000000000000FFFFFFFFFFFF000000000000FFFFFF000000000000' +
'FFFFFFFFFFFF000000000000000000000000FFFFFF000000FFFFFF' +
'FFFFFF000000FFFFFFFFFFFF000000000000FFFFFFFFFFFF000000' +
'000000000000FFFFFFFFFFFF000000000000000000FFFFFF000000' +
'FFFFFFFFFFFFFFFFFF000000');
s7 := BitmapFromString(4, 8,
'FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000FFFFFF000000' +
'000000FFFFFF000000000000000000FFFFFF000000000000FFFFFF' +
'000000000000000000FFFFFF000000000000FFFFFF000000000000' +
'000000FFFFFF000000000000000000');
s8 := BitmapFromString(5, 8,
'000000FFFFFFFFFFFFFFFFFF000000FFFFFF000000000000000000' +
'FFFFFFFFFFFF000000000000000000FFFFFF000000FFFFFFFFFFFF' +
'FFFFFF000000FFFFFF000000000000000000FFFFFFFFFFFF000000' +
'000000000000FFFFFFFFFFFF000000000000000000FFFFFF000000' +
'FFFFFFFFFFFFFFFFFF000000');
s9 := BitmapFromString(5, 8,
'000000FFFFFFFFFFFFFFFFFF000000FFFFFF000000000000000000' +
'FFFFFFFFFFFF000000000000000000FFFFFF000000FFFFFF000000' +
'000000FFFFFF000000000000FFFFFFFFFFFFFFFFFF000000000000' +
'000000000000FFFFFF000000000000000000000000FFFFFF000000' +
'000000000000000000FFFFFF');
end;
Function GetStatFor(stat:string; bottom:integer):integer;//Odie5533's procedure from OSi
var
ox,oy,ox2,oy2,col,row:integer;
begin
if(s0=0)then
LoadStatBmps;
if(not (GetColor(592,175)=2763390))then
begin
Mouse(577,178,10,10,true);
end;
if(stat='attack')or(stat='strength')or(stat='defense')or(stat='ranged')or(stat='prayer')or(stat='magic')or(stat='rc')then
col:=1
if(stat='hp')or(stat='agility')or(stat='herb')or(stat='thieve')or(stat='craft')or(stat='fletch')then
col:=2
if(stat='mine')or(stat='smith')or(stat='fish')or(stat='cook')or(stat='fire')or(stat='wc')then
col:=3
if(stat='attack')or(stat='hp')or(stat='mine')then
row:=1
if(stat='strength')or(stat='agility')or(stat='smith')then
row:=2
if(stat='defense')or(stat='herb')or(stat='fish')then
row:=3
if(stat='range')or(stat='thieve')or(stat='cook')then
row:=4
if(stat='prayer')or(stat='craft')or(stat='fire')then
row:=5
if(stat='magic')or(stat='fletch')or(stat='wc')then
row:=6
if(stat='rc')then
row:=7
if(bottom=0)then
begin
ox:=520+(col*64);
oy:=179+(row*31);
end;
if(bottom=1)then
begin
ox:=532+(col*64);
oy:=191+(row*31);
end;
ox2:=ox+9
oy2:=oy+9
if(FindBitmapMaskTolerance(s1,x,y,ox,oy,ox2,oy2,10,240))then
Result:=10
if(FindBitmapMaskTolerance(s2,x,y,ox,oy,ox2,oy2,10,240))then
Result:=20
if(FindBitmapMaskTolerance(s3,x,y,ox,oy,ox2,oy2,10,240))then
Result:=30
if(FindBitmapMaskTolerance(s4,x,y,ox,oy,ox2,oy2,10,240))then
Result:=40
if(FindBitmapMaskTolerance(s5,x,y,ox,oy,ox2,oy2,10,240))then
Result:=50
if(FindBitmapMaskTolerance(s6,x,y,ox,oy,ox2,oy2,10,240))then
Result:=60
if(FindBitmapMaskTolerance(s7,x,y,ox,oy,ox2,oy2,10,240))then
Result:=70
if(FindBitmapMaskTolerance(s8,x,y,ox,oy,ox2,oy2,10,240))then
Result:=80
if(FindBitmapMaskTolerance(s9,x,y,ox,oy,ox2,oy2,10,240))then
Result:=90
ox:=ox+6
ox2:=ox+9
if(FindBitmapMaskTolerance(s0,x,y,ox,oy,ox2,oy2,10,240))then
Result:=Result+0
if(FindBitmapMaskTolerance(s1,x,y,ox,oy,ox2,oy2,10,240))then
Result:=Result+1
if(FindBitmapMaskTolerance(s2,x,y,ox,oy,ox2,oy2,10,240))then
Result:=Result+2
if(FindBitmapMaskTolerance(s3,x,y,ox,oy,ox2,oy2,10,240))then
Result:=Result+3
if(FindBitmapMaskTolerance(s4,x,y,ox,oy,ox2,oy2,10,240))then
Result:=Result+4
if(FindBitmapMaskTolerance(s5,x,y,ox,oy,ox2,oy2,10,240))then
Result:=Result+5
if(FindBitmapMaskTolerance(s6,x,y,ox,oy,ox2,oy2,10,240))then
Result:=Result+6
if(FindBitmapMaskTolerance(s7,x,y,ox,oy,ox2,oy2,10,240))then
Result:=Result+7
if(FindBitmapMaskTolerance(s8,x,y,ox,oy,ox2,oy2,10,240))then
Result:=Result+8
if(FindBitmapMaskTolerance(s9,x,y,ox,oy,ox2,oy2,10,240))then
Result:=Result+9
end;
Function GetHp:integer;//Odie5533's procedure from OSi
var
Hp1,Hp2:integer;
begin
Hp1:=(GetStatFor('hp',0))
Hp2:=(GetStatFor('hp',1))
if(Hp1>0)and(Hp2>0)then
Result:=round((Hp1/Hp2)*100);
end;
Function InventoryFull:boolean;
begin
if(InventoryCount>=28)then
result:=true;
end;
procedure FindTextSpiral(txt: String; dx,dy: Integer; SpiralSize: Integer; step, SpiralWait: Integer); // By OhDearUrDead, Edited By Khain
var
px, py, qx, qy: Integer;
FoundText: Boolean;
begin
FoundText:= false;
px:= dx; py:= dy; qx:= dx; qy:= dy;
x:= dx;
y:= dy;
MoveMouseSmooth(x,y);
repeat
Spiralwait:= Spiralwait+random(50);
MoveMouse(x,y)
px:= px + 20; py:= py + 20;
qx:= qx - 20; qy:= qy - 20;
repeat
getmousepos(x,y)
x:= x + step;
MoveMouseSmooth(x,y);
Wait(SpiralWait);
if(IsTextAt2(9,9,txt,100))then FoundText:= true;
Until(x >= px)or(FoundText);
if(FoundText)then Break;
repeat
getmousepos(x,y)
y:= y + step;
MoveMouseSmooth(x,y);
Wait(SpiralWait);
if(IsTextAt2(9,9,txt,100))then FoundText:= true;
Until(y >= py)or(FoundText);
if(FoundText)then Break;
repeat
getmousepos(x,y)
x:= x - step;
MoveMouseSmooth(x,y);
Wait(SpiralWait);
if(IsTextAt2(9,9,txt,100))then FoundText:= true;
Until(qx >= x)or(FoundText);
if(FoundText)then Break;
repeat
getmousepos(x,y)
y:= y - step;
MoveMouseSmooth(x,y);
Wait(SpiralWait);
if(IsTextAt2(9,9,txt,100))then FoundText:= true;
Until(qy >= y)or(FoundText);
Until(px > dx + SpiralSize)or(FoundText);
end;
procedure RoadWalkTol(RColor:integer;Dir:string;Tol:integer);
var
c:integer;
begin
Uppercase(Dir);
if(Dir='S')then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,RColor,565,160-c,725,160,Tol))then
begin
MouseFindFlag(x,y-10,0,-1);
Flag;
Break;
end;
until(c>=100)
end;
if(Dir='SE')then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,RColor,725-c,160-c,725,160,Tol))then
begin
MouseFindFlag(x,y-10,-1,-1);
Flag;
Break;end;
until(c>=100)
end;
if(Dir='SW')then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,RColor,565,160-c,565+c,160,Tol))then
begin
MouseFindFlag(x,y-10,1,-1);
Flag;
Break;
end;
until(c>=100)
end;
if(Dir='N')then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,RColor,565,5,725,5+c,Tol))then
begin
MouseFindFlag(x,y+10,0,1);
Flag;
Break;
end;
until(c>=100)
end;
if(Dir='NE')then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,RColor,725-c,5,725,5+c,Tol))then
begin
MouseFindFlag(x,y+10,-1,1);
Flag;
Break;
end;
until(c>=100)
end;
if(Dir='NW')then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,RColor,565,5,565+c,5+c,Tol))then
begin
MouseFindFlag(x,y+10,1,1);
Flag;
Break;
end;
until(c>=100)
end;
if(Dir='E')then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,RColor,725-c,5,725,160,Tol))then
begin
MouseFindFlag(x-10,y,-1,0);
Flag;
Break;
end;
until(c>=100)
end;
if(Dir='W')then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,RColor,565,5,565+c,160,Tol))then
begin
MouseFindFlag(x+10,y,1,0);
Flag;
Break;
end;
until(c>=100)
end;
end;
procedure RoadWalk(RColor:integer;Dir:string);
begin
RoadWalkTol(RColor,Dir,0);
end;
procedure SetFightMode(oFightMode:integer);
begin
if(GetColor(559,179)=5531511)then
Mouse(548,176,10,15,true);
wait(200+random(50));
if(oFightMode=1)and(not (GetColor(565,282)=2303647))then
Mouse(569,271,55,15,true);
if(oFightMode=2)and(not (GetColor(565,323)=2303647))then
Mouse(569,311,55,15,true);
if(oFightMode=3)and(not (GetColor(565,367)=2303647))then
Mouse(569,352,55,15,true);
if(oFightMode=4)and(not (GetColor(565,411)=2303647))then
Mouse(571,403,55,15,true);
GameTab(4);
end;
procedure RunAwayDirection(direction:string);
var
RunBackx,RunBacky:integer;
begin
x:=0;y:=0;
if(Uppercase(direction)='N')then y:=-50;
if(Uppercase(direction)='E')then x:=50;
if(Uppercase(direction)='S')then y:=50;
if(Uppercase(direction)='W')then x:=-50;
RunBackx:=x+648;
RunBacky:=y+83;
MouseFindFlag(x+648,y+83,1,1);
SetRun(true);
Flag;
x:=RunBackx;y:=RunBacky;
end;
procedure RunBack;
begin
MouseFindFlag((648-x)+648,(83-y)+83,1,1);
SetRun(true);
Flag;
end;
procedure Face(direction:string);
var
CAngle:extended;
begin
if(not(ScarScape))then
begin
if(uppercase(direction)='N')then
CAngle:=6.3;
if(uppercase(direction)='E')then
CAngle:=4.85;
if(uppercase(direction)='S')then
CAngle:=3.3;
if(uppercase(direction)='W')then
CAngle:=1.6;
if(not((DetectRS2MinimapCompassAngle>(CAngle-0.1))and
(DetectRS2MinimapCompassAngle<(CAngle+0.1))))or
((uppercase(direction)='N')and(DetectRS2MinimapCompassAngle<0.2))then
begin
repeat
SendArrowSilentWait(1,100+random(10));
until(DetectRS2MinimapCompassAngle>(CAngle-0.1))and
(DetectRS2MinimapCompassAngle<(CAngle+0.1))or
((uppercase(direction)='N')and(DetectRS2MinimapCompassAngle<0.2))
end;
end;
end;
procedure OpenBank;
var
c:Integer;
begin
if(FindObj('Use Bank',539728,10))then
begin
Mouse(x,y,1,1,false);
if(ChooseOption('quickly'))then
begin
Flag;
repeat
Wait(100);
c:=c+1
until(BankScreen)or(c>=50)
end;
end;
end;
procedure Deposit(slot, toslot, thetype:integer);//Fixed from PPLSUQBAWLZ's Deposit in library
var
slotnumber,col,row:integer;
begin
if(BankScreen)then
begin
slotnumber:=slot;
while(slotnumber<toslot)do
begin
if((slotnumber mod 4)=0)then col:=3
else col:=(slotnumber mod 4)-1;
row:=(slotnumber-1)/4;
if (FindColor(x,y,65536,(571+47*col),(215+36*row),(601+47*col),(245+36*row)))then
begin
if(thetype=1)then mouse(x,y,5,5,true);
if(thetype=2)then
begin
mouse(x,y,5,5,false);
if(ChooseOption('All'))then
wait(1000+random(100));
end;
end;
slotnumber:=slotnumber+1;
end;
end;
end;
procedure Withdraw(Col,Row,Amount:integer);//Based off Odie5533's procedure from OSi v4.0
var
rx,ry:integer;
begin
rx:=35+(col*47);
ry:=27+(row*38);
if(BankScreen)then
begin
if(Amount=1)then
begin
Mouse(rx,ry,r,r,true);
end
else
begin
Mouse(rx,ry,r,r,false);
if(Amount=1)or(Amount=5)or(Amount=10)or(Amount=0)then
begin
if(Amount=5)then
ChooseOption('Withdraw 5');
if(Amount=10)then
ChooseOption('Withdraw 10');
if(Amount=0)then
ChooseOption('Withdraw All');
end
else
begin
ChooseOption('Withdraw X');
wait(1000+random(100));
TypeSend(inttostr(Amount)+chr(13));
end;
end;
end;
end;
procedure FlagAtColor(color:integer);
var
c:integer;
begin
repeat
c:=c+1;
Wait(500+random(100));
if(c=120)or(c=240)or(c=360)or(c=480)and(not(FlagPresent))then
ClickMMColor(color);
until(FindColor(x,y,color,618,54,678,113))or(c>600)
Flag;
end;
procedure MarkTime(var TimeMarker:integer);
begin
TimeMarker:=GetSystemTime;
end;
function TimeFromMark(var TimeMarker:integer):integer;
begin
result:=GetSystemTime-TimeMarker;
end;
procedure ToBankers(var BankColor:integer;MouseAdjustX,MouseAdjustY:integer);//Find the specified bank color and clicks the nearest yellow dots to get closer to the bankers.
var
c,ax,ay:integer;
begin
if(FindMMColor(BankColor))then
begin
while c<30 do
begin
c:=c+5;
if(FindMMColor(BankColor))then
begin
if(FindColorSpiralTolerance(ax,ay,195836,x-c,y-c,x+c,y+c,10))then
begin
x:=ax;
y:=ay;
break;
end;
end;
end;
MouseFindFlag(x,y,MouseAdjustX,MouseAdjustY);
Flag;
wait(1000+random(100));
end;
end;
function TimeRunning:string;//modified from Phalanx's script
var
RHours,Minutes,Seconds,RMinutes,RSeconds:LongInt;
Time:string;
begin
Seconds:=(GetSystemTime-ST) div 1000;
Minutes:=Seconds div 60;
RHours:=Minutes div 60;
Time:=inttostr(Seconds)+' Seconds';
if Minutes<>0 then
begin
RSeconds:=Seconds Mod (Minutes*60);
Time:=inttostr(Minutes)+' Minutes and '+inttostr(RSeconds)+' Seconds';
end;
if RHours<>0 then
begin
RMinutes:=Minutes Mod (RHours*60);
RSeconds:=Seconds Mod (Minutes*60);
Time:=inttostr(RHours)+' Hours, '+inttostr(RMinutes)+
' Minutes and '+inttostr(RSeconds)+' Seconds';
end;
Result:=Time;
end;
procedure ItemGrab;
begin
GameTab(4);
if(FindColor(x,y,241,565,5,725,160))then
begin
Mouse(x,y,1,1,true);
Flag;
Wait(100+random(100));
FindTextSpiral('Take',258,169,50,5,10+random(10));
GetMousePos(x,y);
Mouse(x,y,0,0,true);
Wait(1000+random(100));
end;
end;
function FindOreColors(refrencecolor,tolerance1,tolerance2:integer):boolean;
var
c,a,i,ax,ay:integer;
begin
if(FindObj('Mine',refrencecolor,tolerance1))then
begin
ax:=x;
ay:=y;
repeat
a:=a+1;
if(a=1)then
c:=c+1;
if(a=3)then
c:=c+1;
for i:=1 to c do
begin
if(a=1)then
ax:=ax+1;
if(a=2)then
ay:=ay-1;
if(a=3)then
ax:=ax-1;
if(a=4)then
ay:=ay+1;
if(SimilarColors((GetColor(ax,ay)),refrencecolor,tolerance2))then
begin
if(OreColor1=0)then
begin
OreColor1:=(GetColor(ax,ay));
end else if(OreColor2=0)and(not((GetColor(ax,ay))=OreColor1))then
begin
OreColor2:=(GetColor(ax,ay));
end else if(OreColor3=0)and(not((GetColor(ax,ay))=OreColor1))and
(not((GetColor(ax,ay))=OreColor2))then
OreColor3:=(GetColor(ax,ay));
end;
end;
if(a=4)then
a:=0;
until(c>100)or(Result=true)
end;
if(orecolor1>0)and(orecolor2>0)and(orecolor3>0)then
begin
result:=true;
writeln('OreColors... '+inttostr(orecolor1)+' '+inttostr(orecolor2)+' '+inttostr(orecolor3));
end;
end;
procedure SetRandomOreColor;
Var color:integer;
begin
Color:=1+Random(3);
case Color of
1: begin OreColor:=OreColor1; end;
2: begin OreColor:=OreColor2; end;
3: begin OreColor:=OreColor3; end;
end;
end;
procedure DisplayWindow(xs,ys,xe,ye,WindowLength,WindowHeight:integer);
var
DebugCanvas,ClientCanvas:TCanvas;
begin
DisplayDebugImgWindow(WindowLength,WindowHeight);
DebugCanvas:= GetDebugCanvas;
ClientCanvas:= GetClientCanvas;
CopyCanvas(ClientCanvas,DebugCanvas,xs,ys,xe,ye,0,0,WindowLength,WindowHeight);
end;
//============================================================================\\
//============================RANDOM PROTECTION===============================\\
//============================================================================\\
//GENERAL RANDOMS
procedure CloseWindow;
begin
if(FindBitmapMaskTolerance(CWindow,x,y,400,3,515,100,0,85))then
Mouse(x+10,y+3,5,1,true);
if(FindColor(x,y,255,265,13,531,55))and(GetColor(494,334)=16777215)then
Mouse(501,317,r,r,true);
end;
procedure LoginIfNeeded;//A stupid3ooo procedure based off many others
var
WorldIsFull,c,cc:integer;
begin
WorldIsFull := BitmapFromString(78, 3, 'z78DAAD53410E83300C' +
'FB12E00CB12308E5FF4F9AD45CD2A58E1A04070BB5C60DB6ABAAB' +
'A2CDAD01E7B9743CE0F34ECD2F55520775CC78EA3D1FFD6BDDAB3' +
'6F07FC139780E180BF01B80CFDAEC7815A9BAAC35C2165E67F5AE' +
'6DF50F9B24922E6D9D15CC854C6378C93F88C0A6779E79BE67CA6' +
'86AC335D2EA64C903590F5E7DD4CA333F1B656FDAC36CA3B5FD02' +
'4EEC59E4C65EA6ED08CF35D6726328DFA2F649AB6FD07A49338F5' +
'');
if(not(LoggedIn))then
begin
Logs:=Logs+1;
ClickTextFont('Cancel',UpChars,true);
ClickTextFont('Exist',UpChars,true);
if(ClickTextFont('Username',UpChars,true))then
begin
TypeSend(Username);
Mouse(327,272,r,r,true);
TypeSend(Password);
end;
ClickTextFont('Login',UpChars,true);
repeat
c:=c+1
wait(100+random(100));
if(FindBitmap(WorldIsFull,x,y))then
begin
while(FindBitmap(WorldIsFull,x,y))or(cc<25)do
begin
cc:=cc+1;
Mouse(300,322,20,5,true);
wait(500+random(100));
end;
end;
until(LoggedIn)or(c>=600)or((FindColor(x,y,255,265,13,531,55))and(GetColor(494,334)=16777215))
c:=0;
repeat
c:=c+1;
wait(100+random(100));
until(FindBitmapMaskTolerance(CWindow,x,y,3,3,515,338,0,85))or(c>100)or
((FindColor(x,y,255,265,13,531,55))and(GetColor(494,334)=16777215))
CloseWindow;
if(not(LoggedIn))then
begin
LoginTry:=LoginTry+1;
if(IsTextInAreaEx(208,174,560,298,x,y,'updated',100,UpChars,False,True,0,1,-1))then
begin
writeln('Runescape was updated.');
TerminateScript;
end;
if(LoginTry=5)then
begin
Writeln('Connection lost, or other error.');
TerminateScript;
end;
end
else
LoginTry:=0;
end;
FreeBitmap(WorldIsFull);
end;
function FindFight:boolean;
begin
if(FindColor(x,y,65280,217,129,297,209))then
begin
if(CheckHpFirst=true)then
begin
GameTab(2);
Wait(500+random(100));
if(GetHp<100)then
begin
if(Screenshots)then
SaveScreenShot('Fight Random - Stupid3ooo - '+TimeRunning+'.bmp');
Result:=true;
Fights:=Fights+1;
end;
end
else
begin
if(Screenshots)then
SaveScreenShot('Fight Random - Stupid3ooo - '+TimeRunning+'.bmp');
Result:=true;
Fights:=Fights+1;
end;
GameTab(4);
end;
end;
function TalkToRand:boolean;
var
c:integer;
begin
repeat
c:=c+1;
if(FindColor(x,y,16711680,5,345,510,465))and(not(GetColor(20,434)=0))then
begin
Result:=true;
Mouse(x,y,50,2,true);
wait(500+random(500));
end;
if(FindColor(x,y,16777215,5,345,510,465))and(not(GetColor(20,434)=0))then
begin
Result:=true;
GetMousePos(x,y);
Mouse(x,y,50,2,true);
wait(500+random(500));
end;
until(GetColor(20,434)=0)or(c>=20)
end;
function FindTalk:boolean;
var
mx,my:integer;
begin
if(FindColor(mx,my,65535,3,3,515,338))then//Find close
begin
MMouse(mx,my+15,1,1);
repeat
if(IsTextAt2(9,9,'Talk',100))then
begin
Mouse(mx,my+15,1,1,false);
if(ChooseOption('Talk'))then
begin
if(Screenshots)then
SaveScreenShot('Talking Random - Stupid3ooo - '+TimeRunning+'.bmp');
Flag;
wait(500+random(500));
TalkToRand;
Talks:=Talks+1;
Result:=true;
Break;
end;
end;
MoveMouseSmooth(mx,my+15);
mx:=mx+5;
wait(10+random(10));
until(mx>=515);
if(mx>=515)then MoveMouseSmooth(mx+random(5),my+15);
end;
end;
function FindLamp(skill:string):boolean;
var
ac,ar,col,row:integer;
begin
GameTab(4);
if(Lowercase(skill)='strength')then begin col:=1;row:=1;end;
if(Lowercase(skill)='attack')then begin col:=1;row:=2;end;
if(Lowercase(skill)='ranged')or(Lowercase(skill)='ranging')then begin col:=1;row:=3;end;
if(Lowercase(skill)='magic')then begin col:=1;row:=4;end;
if(Lowercase(skill)='defence')then begin col:=1;row:=5;end;
if(Lowercase(skill)='hitpoints')then begin col:=1;row:=6;end;
if(Lowercase(skill)='prayer')then begin col:=1;row:=7;end;
if(Lowercase(skill)='agility')then begin col:=2;row:=1;end;
if(Lowercase(skill)='herblore')then begin col:=2;row:=2;end;
if(Lowercase(skill)='thieving')then begin col:=2;row:=3;end;
if(Lowercase(skill)='crafting')then begin col:=2;row:=4;end;
if(Lowercase(skill)='runecraft')or(Lowercase(skill)='runecrafting')then begin col:=2;row:=5;end;
if(Lowercase(skill)='slayer')then begin col:=2;row:=6;end;
if(Lowercase(skill)='farming')then begin col:=2;row:=7;end;
if(Lowercase(skill)='mining')then begin col:=3;row:=1;end;
if(Lowercase(skill)='smithing')then begin col:=3;row:=2;end;
if(Lowercase(skill)='fishing')then begin col:=3;row:=3;end;
if(Lowercase(skill)='cooking')then begin col:=3;row:=4;end;
if(Lowercase(skill)='firemaking')then begin col:=3;row:=5;end;
if(Lowercase(skill)='woodcutting')then begin col:=3;row:=6;end;
if(Lowercase(skill)='fletching')then begin col:=3;row:=7;end;
If(FindBitmapSpiralTolerance(Lamp,x,y,550,200,745,465,25))then
begin
Result:=true;
if(Screenshots)then
SaveScreenShot('Lamp Random - Stupid3ooo - '+TimeRunning+'.bmp');
ac:=116+(row*36);
ar:=124+(col*32);
Lamps:=Lamps+1;
Mouse(x,y,1,1,true);
Wait(500+random(100));
Mouse(ac,ar,12,12,true);
Wait(500+random(100))
Mouse(242,256,1,1,true);
wait(1000+random(500))
end;
end;
procedure FindMiscRandoms;
var
ax,ay:integer;
RandomChatList: array[0..40] of string;
begin
if(LoggedIn)then
begin
if(FindColor(ax,ay,786423,10,350,150,433))or
(FindColor(ax,ay,10658466,10,350,150,433))then
begin
RandomChatList[1]:= 'g2g';
RandomChatList[2]:= 'sry bye';
RandomChatList[3]:= 'dinner time';
RandomChatList[4]:= 'one sec';
RandomChatList[5]:= 'afk';
RandomChatList[6]:= 'brb';
TypeSend(RandomChatList[random(6)]+chr(13));
if(Screenshots)then
SaveScreenShot('Found a mod - Stupid3ooo - '+TimeRunning+'.bmp');
LogOut;
writeln('UHOH, A MOD!!!');
if(LoginAfterMod=0)then
begin
TerminateScript;
end else
begin
Wait(LoginAfterMod*60000);
LoginIfNeeded;
end;
end;
if(GetColor(30,418)=0)and(GetColor(72,429)=0)then
begin
if(Screenshots)then
SaveScreenShot('Oh dear you died - Stupid3ooo - '+TimeRunning+'.bmp');
LogOut;
writeln('Oh dear, you are dead!');
TerminateScript;
end;
if(FindColor(ax,ay,11503238,10,350,479,433))then
begin
if(Screenshots)then
SaveScreenShot('Mime Random - Stupid3ooo - '+TimeRunning+'.bmp');
LogOut;
writeln('Mime Found');
TerminateScript;
end;
if(FindColortolerance(ax,ay,15395562,129,34,129,34,4))and(FindColortolerance(ax,ay,15395562,378,39,378,39,4))then//by Ghost
begin
if(Screenshots)then
SaveScreenShot('Maze Random - Stupid3ooo - '+TimeRunning+'.bmp');
LogOut;
WriteLn('Found a Maze!');
TerminateScript;
end;
if(FindText('Answer',ChatChars,17,355,300,434)) then //From RSCI
begin;
WriteLn('Found a Quiz, logging out')
TerminateScript;
end;
if(FindColorTolerance(ax, ay, 4936133, 35, 355, 110, 425, 5))Then //From RSCI
begin
writeln('Found Evil bob, logging out');
TerminateScript;
end;
end;
end;
function FindForester:boolean;//A Stupid3ooo procedure
var
c:integer;
begin
if(FindBitmap(bmpFreakyForester,x,y))then
begin
if(Screenshots)then
SaveScreenShot('Freaky Forester Random - Stupid3ooo '+TimeRunning+'.bmp');
if(SolveForester)then
begin
repeat
if(FindObj('Attack',4344603,20))then
begin
Mouse(x,y,r,r,false);
ChooseOption('Attack');
Flag;
Wait(5000+random(1000));
end;
if(not(FindItemBmpTol(bmpPheasantMeat,30)))then
begin
if(FindObj('Take',3763101,25))then
begin
Mouse(x,y,r,r,false);
ChooseOption('Take');
Flag;
Wait(2000+random(500));
end;
end;
if(FindItemBmpTol(bmpPheasantMeat,30))then
begin
Mouse(x,y,r,r,true);
if(FindObj('Use Raw pheasant with Freaky',14869221,20))then
begin
Mouse(x,y,r,r,true);
Flag;
Wait(1000+random(500));
if(FindBitmap(bmpLeaveTheArea,x,y))then
begin
MouseFindFlag(690,83,-1,1);
Flag;
for c:=1 to 10 do
begin
Wait(100+random(10));
if(FindObj('Enter',12514550,20))then
begin
Mouse(x,y,r,r,false);
ChooseOption('Enter');
Wait(10000+random(1000));
if(FindBitmap(bmpFreakyForester,x,y))then
begin
writeln('Chose the wrong pheasant :(');
TerminateScript;
end else
begin
Result:=true;
Foresters:=Foresters+1;
end;
Break;
end;
end;
end;
end;
end;
until(Result=true)
end else
begin
Writeln('Found Forester, logging out');
LogOut;
TerminateScript;
end;
end;
end;
function FindFrog:boolean;//A Stupid3ooo procedure
var
tx,ty,a,c,cc,CrownColor,i,x1,y1,x2,y2:integer;
begin
if(FindBitmap(Frog,x,y))or(not(getcolor(650, 185) = 4902398))then
begin
if(Screenshots)then
SaveScreenShot('Frog Random - Stupid3ooo - '+TimeRunning+'.bmp');
if(FindMMDtm(FrogSpot))then
begin
Mouse(x,y,r,r,true);
Flag;
end;
x1:=245;
y1:=165;
x2:=277;
y2:=185;
repeat
a:=a+1;
if(a=1)then
c:=c+1;
if(a=3)then
c:=c+1;
for i:=1 to c do
begin
if(a=1)then
begin
x1:=x1+30;
x2:=x2+30;
end;
if(a=2)then
begin
y1:=y1-20;
y2:=y2-20;
end;
if(a=3)then
begin
x1:=x1-30;
x2:=x2-30;
end;
if(a=4)then
begin
y1:=y1+20;
y2:=y2+20;
end;
if(x1=485)and(x2=517)then
x2:=x2-2;
if(y1=325)and(y2=345)then
y2:=y2-7;
if(x1>515)then
Break;
if(FindColorTolerance(x,y,1077773,x1,y1,x2,y2,20))then
begin
MMouse(x,y,r,r);
if(Option('Talk'))then
begin
for cc:=1 to 20 do
begin
if(FindColorTolerance(tx,ty,3460859,x-20,y-20,x+20,y+20,cc))then
begin
CrownColor:=GetColor(tx,ty);
Break;
end;
end;
if(FindColor(tx,ty,CrownColor,x-20,y-20,x+20,y+20))and
(not(FindColoredAreaTolerance(tx,tx,2965499,x-25,y-25,x+25,y+25,4,20)))then
begin
Mouse(x,y,r,r,false);
ChooseOption('Talk');
Flag;
Wait(2000+random(1000));
TalkToRand;
Mouse(256,401,r,r,true);
Wait(5000+random(1000));
TalkToRand;
Result:=true;
Frogs:=Frogs+1;
Break;
end;
end;
end;
end;
if(a=4)then
a:=0;
until(x2>515)or(Result=true)
end;
end;
function FindDoctor:boolean;//Edited version of knightstreak's EyeTest, all credit goes to knightstreak
var
c,i,backgroundcolor : integer;
firstfinger, secondfinger, thirdfinger, fourthfinger : boolean;
begin
if(not(getcolor(650, 185) = 4902398))then
begin
backgroundcolor:=Getcolor(10,10);
repeat
c:=c+1;
Wait(10);
if(not(getcolor(143, 94) = backgroundcolor))then
firstfinger:=true;
if(not(getcolor(302,41) = backgroundcolor))then
secondfinger:=true;
if(not(getcolor(409,75) = backgroundcolor))then
thirdfinger:=true;
if(not(getcolor(415,101) = backgroundcolor))then
fourthfinger:=true;
until(c>1000)or(firstfinger)and(secondfinger)and
(thirdfinger)and(fourthfinger)
if(firstfinger = true)and(secondfinger = false)and(thirdfinger = false)and(fourthfinger = false)then
Mouse(99, 299,3,3,true);
if(firstfinger=true) and (secondfinger=true) and (thirdfinger=false) and (fourthfinger=false)then
Mouse(153,300,3,3,true);
if(firstfinger=true) and (secondfinger=false) and (thirdfinger=false) and (fourthfinger=true)then
Mouse(211, 304,3,3,true);
if(firstfinger=false) and (secondfinger=true) and (thirdfinger=true) and (fourthfinger=false)then
Mouse(265, 300,3,3,true);
if(firstfinger=false) and (secondfinger=false) and (thirdfinger=false) and (fourthfinger=true)then
Mouse(320, 306,3,3,true);
if(firstfinger=true) and (secondfinger=true) and (thirdfinger=true) and (fourthfinger=false)then
Mouse(374, 298,3,3,true);
if(firstfinger=true) and (secondfinger=true) and (thirdfinger=true) and (fourthfinger=true)then
Mouse(431,299,3,3,true);
For i := 0 to 5 do
Begin
if(getcolor(241,445) = 16711680)or(getcolor(241,445) = 16777215)then
begin
Doctors:=Doctors+1;
Result:=true;
Mouse(241,445,3,3,true);
wait(1500 + random(500));
end;
end;
end;
end;
function FindCerter:boolean;//Repeatedly talks to the Certer and it'll eventually go away, If this does not work you can count the number of background pixles and if it's greater than a certain number it's either a sword, helmet or ammy.
var
c:integer;
begin
if(FindTalk)then
begin
if(getcolor(359, 37) = 8168120)Or(getcolor(163, 167) = 1922399)Or(getcolor(89, 51) = 879691)Then //From RSCI
begin
repeat
c:=c+1;
if(FindColor(x,y,65535,555,150,643,171))then
Mouse(478,10,r,r,true);
if(FindObj('Talk',7039859,15))then
begin
Mouse(x,y,r,r,false);
ChooseOption('Talk');
TalkToRand;
Flag;
Wait(500+random(100));
if(FindColor(x,y,65535,555,150,643,171))then
Mouse(478,10,r,r,true);
end else
Break;
until(c>1000)
if(c<1000)then
begin
Certers:=Certers+1;
Result:=true;
end;
end;
end;
end;
procedure FindNormalRandoms;
begin
LoginIfNeeded;
CloseWindow;
ChatsOff;
FindLamp('hitpoints');
FindMiscRandoms;
FindTalk;
FindForester;
FindFrog;
FindCerter;
end;
//MINING
function FindPickHeadColor:boolean;
begin
GameTab(4);
if(FindBitmapSpiralTolerance(PickAxe,x,y,546,198,745,468,100))or
(FindBitmapSpiralTolerance(PickAxeSteel,x,y,546,198,745,468,100))then
Result:=True;
if(Result=false)then
begin
if(not(GetColor(681,173)=2763390))then
begin
Mouse(679,180,5,5,true);
wait(200+random(100)+random(100))
end;
if(FindBitmapSpiralTolerance(PickAxe,x,y,546,198,745,468,100))or
(FindBitmapSpiralTolerance(PickAxeSteel,x,y,546,198,745,468,100))then
Result:=True;
end;
if(Result=false)then
begin
writeln('');
writeln('ERROR! cannot find pick in screen, please put pick in inventory or your equip page and restart the script!');
writeln('');
Result:=False;
end;
if(Result=true)then
begin
hc1:=GetColor(x+6,y+3);
hc2:=GetColor(x+18,y+7);
hc3:=GetColor(x+20,y+6);
hc4:=GetColor(x+19,y+6);
hc5:=GetColor(x+16,y+5);
end;
writeln('Pick head colors... '+inttostr(hc1)+' '+inttostr(hc2)+' '+inttostr(hc3)+' '+inttostr(hc4)+' '+inttostr(hc5));
end;
function FindPick:boolean;
var
c:integer;
begin
GameTab(4);
Result:=True;
if(FindBitmapSpiralTolerance(PickHandle,x,y,550,200,745,465,30))or
(GetColor(485,414)=0)and(GetColor(227,376)=0)then
begin
Wait(2000+random(100));
Result:=False;
if(FindBitmapSpiralTolerance(Ore,x,y,559,210,735,460,25))then
begin
Mouse(x,y,5,5,false);
ChooseOption('Drop');
end;
repeat
c:=c+1;
if(FindBitmapSpiralTolerance(PickHead,x,y,550,200,745,465,50))and
(FindItemBmpTol(PickHandle,25))then
begin
Result:=true;
break;
end;
if(FindMSColor(hc1))or
(FindMSColor(hc2))or
(FindMSColor(hc3))or
(FindMSColor(hc4))or
(FindMSColor(hc5))then
begin
Mouse(x,y,1,1,true);
Flag;
wait(1000+random(100));
end
else if(PickUpItems)then
ItemGrab;
until(c>=10);
if(FindItemBmpTol(PickHead,50))and(FindItemBmpTol(PickHandle,50))then
begin
ClickItemBmpTol(PickHead,50,true);
ClickItemBmpTol(PickHandle,50,true);
Attaches := Attaches + 1;
end;
end;
end;
function FindRockBounds(var xstart,ystart,sx,sy:integer):boolean;
var
xs,ys,currenty,currentx,ax,ay,similarcount,
color,counter,dircount:integer;
found:boolean;
dir:string;
begin
ys:=338;
xs:=515;
if(FindColor(sx,sy,OreColor1,sx-40,sy-40,sx+40,sy+40))or
(FindColor(sx,sy,OreColor2,sx-40,sy-40,sx+40,sy+40))or
(FindColor(sx,sy,OreColor3,sx-40,sy-40,sx+40,sy+40))then
begin
repeat
dircount:=dircount+1;
if(dircount=1)then dir:='north east';
if(dircount=2)then dir:='north west';
if(dircount=3)then dir:='west south';
repeat
counter:=counter+1;
found:=false;
similarcount:=0;
if(dir='north east')then ax:=sx+counter;
if(dir='north east')then ay:=sy;
if(dir='north west')then ax:=sx-counter;
if(dir='north west')then ay:=sy;
if(dir='west south')then ax:=sx;
if(dir='west south')then ay:=sy+counter;
repeat
similarcount:=similarcount+1;
if(dir='north east')or(dir='north west')then ay:=ay-1;
if(dir='west south')then ax:=ax-1;
color:=GetColor(ax,ay);
if(similarcolors(OreColor1,color,10)=true)or
(similarcolors(OreColor2,color,10)=true)or
(similarcolors(OreColor3,color,10)=true)then
begin
found:=true;
similarcount:=0;
end;
until(similarcount=10)
if(found=true)then
begin
if(dir='north east')or(dir='north west')then
begin
currenty:=ay+10;
if(currenty<ys)then
ys:=currenty;
end;
if(dir='west south')then
begin
currentx:=ax+10;
if(currentx<xs)then
xs:=currentx;
end;
end;
until(counter>=40)
counter:=0;
until(dircount=3)
xstart:=xs;
ystart:=ys;
end;
if(xstart>0)and(ystart>0)then
result:=true;
end;
function GasCheck(gx,gy:integer):boolean;//Made by piv
var
clientcanvas,gascanvas1,gascanvas2:tcanvas;
x,y,count:integer;
begin
if(FindColortolerance(x,y,8296866,gx-20,gy-20,gx+20,gy+20,20))then
begin
gascanvas1:=getbitmapcanvas(bitmapfromstring(40,40,''));
gascanvas2:=getbitmapcanvas(bitmapfromstring(40,40,''));
clientcanvas:=getclientcanvas;
copycanvas(clientcanvas,gascanvas1,gx-20,gy-20,gx+20,gy+20,0,0,40,40);
wait(100);
copycanvas(clientcanvas,gascanvas2,gx-20,gy-20,gx+20,gy+20,0,0,40,40);
count:=0;
for y:=1 to 40 do
for x:=1 to 40 do
if((gascanvas1.pixels[x,y])<>(gascanvas2.pixels[x,y]))then
count:=count+1;
writeln(inttostr(trunc(((count)/1024)*100))+'% change.');
if(count>300)then //if more than 15% change
result:=true;
end;
end;
function FindGas(fx,fy:integer):boolean;//fx,fy are the coordinates of the found ore color
var
c,findx,findy,gx1,gy1,gx2,gy2:integer;
begin
if(UsePivGas)then
begin
GasCheck(fx,fy);
end
else
begin
if(Debug)then DisplayWindow(fx-30,fy-30,fx+30,fy+30,160,160);
if(FindColorTolerance(gx1,gy1,GasColor,fx-30,fy-30,fx+30,fx+30,GasTolerance))then//Find ore close
begin
if(Debug)then writeln('Found gas color in area.');
if(FindRockBounds(findx,findy,fx,fy))then
begin
if(Debug)then writeln('Found rock bounds.');
if(Debug)then DisplayWindow(findx-20,findy-20,findx+20,findy+20,160,160);
findx:=findx+20;
findy:=findy+10;
repeat
wait(1);
c:=c+1;
until(c>1000)or(FindColorTolerance(gx1,gy1,GasColor,findx-20,findy-20,findx+20,findy+20,30))
wait(100);
c:=0;
repeat
wait(1);
c:=c+1;
until(c>1000)or(FindColorTolerance(gx2,gy2,GasColor,findx-20,findy-20,findx+20,findy+20,30))
if(not(gx1=gx2))or(not(gy1=gy2))then
begin
if(Debug)then WriteLn('Gas color is moving, moving away from rock.');
if(Debug)then DisplayWindow(gx2-10,gy2-10,gx2+10,gy2+10,160,160);
MouseFindFlag(648,78,1,1);
Flag;
result:=true;
end;
end
else if(Debug)then
writeln('Gas color was not over a rock.');
end
else if(Debug)then
DisplayWindow(fx-30,fy-30,fx+30,fy+30,160,160);
end;
end;
//FISHING
function FindFishingEquipmentColor:boolean;//Net, Lobster Cage, Fishing Rod, Fly Fishing Rod, Harpoon
var c,GetX,GetY:integer;
begin
while c<200 do
begin
c:=c+10;
if(FindItemBmpTol(bmpNet,c))then
begin
GetX:=x+8;
GetY:=y+3;
FishingEquipmentName:='Small fishing';
end;
if(FindItemBmpTol(bmpCage,c))then
begin
GetX:=x+4;
GetY:=y+4;
FishingEquipmentName:='Lobster pot';
end;
if(FindItemBmpTol(bmpRod,c))then
begin
GetX:=x+13;
GetY:=y+3;
FishingEquipmentName:='Fishing rod';
end;
if(FindItemBmpTol(bmpFlyRod,c))then
begin
GetX:=x+11;
GetY:=y+5;
FishingEquipmentName:='Fly fishing rod';
end;
if(FindItemBmpTol(bmpHarpoon,c))then
begin
GetX:=x+3;
GetY:=y+4;
FishingEquipmentName:='Harpoon';
end;
if(GetX>0)and(GetY>0)then
FishingEquipmentColor:=GetColor(GetX,GetY);
if(FishingEquipmentColor>0)then
begin
Result:=true;
WriteLn('Fishing equipment color... '+inttostr(FishingEquipmentColor));
WriteLn('Fishing equipment name... '+FishingEquipmentName);
Break;
end;
end;
end;
function FindFishingEquipment:boolean;
var
c:integer;
begin
GameTab(4);
Result:=True;
if(not(FindItemColor(FishingEquipmentColor)))then
begin
Wait(2000+random(100));
Result:=False;
repeat
c:=c+1;
if(FindItemColor(FishingEquipmentColor))then
begin
Result:=true;
break;
end;
if(FindObj2(FishingEquipmentName,FishingEquipmentColor,5))then
begin
Mouse(x,y,1,1,true);
Flag;
wait(1000+random(100));
end
else if(PickUpItems)then
ItemGrab;
until(c>=10);
end;
end;
//WOODCUTTING
function FindAxeHeadColor:boolean;
var
bmpAxe:integer;
begin
bmpAxe:= BitmapFromString(15, 11, 'z78DA95935B8EC3200C45B704F6B5' +
'81CF06C2FE97541753898822CDC4D2FD0073FC0C32DFCCE1F3C55' +
'D511018183EFF552768420B39B16868A9CB1D5AAE5A623C453C66' +
'B293AB046326C9C624A52F59924433C18D5B0815E667759493AEF' +
'C07F9926ACC97EA37DBC75B27BB6EB1344584ECAF389099B245CA' +
'DA859E648B5AB800DCB94341662F88594386AE4C3FF94176A6F77' +
'6C9962E2A5418D4A9F3C5CA8AC895ABC75A6B39911F535BC8279D' +
'51066DEAA8E5EF64BF5D759EAF5DF26CF9C35CD53DE73EA822B49' +
'DB9EFF39CBE77C6B3DD9833E7037932F73F45B9314DFE98ECCE74' +
'5DB7F7481EB45D1FFD5F2B1DB76FD953CBEA');
if(FindItemBmpTol(bmpAxe,75))then
begin
Result:=true;
AxeHeadColor:=GetColor(x+9,y+4);
end else
Writeln('Could not find axe head color!');
FreeBitmap(bmpAxe);
end;
function FindAxe:boolean;
var
c,bmpAxeHead,bmpAxeHandle:integer;
begin
bmpAxeHead := BitmapFromString(12, 8, 'z78DA9591410EC3200C04BF64AF97E' +
'21C6968FFFFA42685484E29510BD21C8C19ADE5746325D225653F' +
'1A79EA218BDD3B27F5F6CB9E265AB95A0132D5A54E9DC1107BE01' +
'055BA654867B0B968399CA301D85F7B06336EFCC513F313AE6E0B' +
'562D5F3C6F436312AB60F6CF195B7E3C404DDDF6A7E73451F40CA' +
'9C6ADF52904DBBDDEEFD83FE30B09BB7676');
bmpAxeHandle := BitmapFromString(16, 27, 'z78DA9595511283200C44AFA440A2' +
'FDD45AEF7FA4524367C0B021B6336907F5256C9648296D714F474' +
'A7125CEBFA1C46BBD44B52EF7EBA7A6DF6796D87000A19345F3AF' +
'15612E0BADD321B1C9822A47B9D4D59A1FF720F9EE7CBD17B4237' +
'54FCD97FF710AF98BAA1AEC42EDD4C5777450E745E4077C47CD7C' +
'5268F91D8247992AD7A0728FDB41DF1B3746E29BE66EB27D8E34D' +
'9E519337B21EFF4EE56EEA781AB2ECD1F9ED0862C95039F43D799' +
'B1904FFAFCC9B4E5D5B5D35394C5748EAD3952DEC36F2A379519F' +
'41474D9D6BCD3535B6D4DAE2B07E7C87E53F87B3A980066CD9D37' +
'91AD393A2F0E87AF81F32494287C5ED2D175A3D6C1A14921DBCAB' +
'8E7894DE6374DD88DAE095FF399D3B072704ED14C4064FD3E1A4C' +
'6F5B998D797EEE467BB654FC57E4736EB2B8DCE2C8F805915426A' +
'2');
Result:=True;
if(FindItemBmpTol(bmpAxeHandle,50))or(NewChatMsg('need an axe'))then
begin
Result:=False;
Wait(2000+random(100));
if(FindBitmapSpiralTolerance(Ore,x,y,559,210,735,460,25))then
begin
Mouse(x,y,5,5,false);
ChooseOption('Drop');
end;
repeat
c:=c+1;
if(FindItemBmpTol(bmpAxeHead,50))and(FindItemBmpTol(bmpAxeHandle,25))then
begin
Result:=true;
Break;
end;
if(FindObj('Take',AxeHeadColor,0))then
begin
Mouse(x,y,1,1,true);
Flag;
wait(1000+random(100));
end
else if(PickUpItems)then
ItemGrab;
until(c>=10);
if(FindItemBmpTol(bmpAxeHead,50))and(FindItemBmpTol(bmpAxeHandle,50))then
begin
ClickItemBmpTol(bmpAxeHead,50,true);
ClickItemBmpTol(bmpAxeHandle,50,true);
Attaches:=Attaches+1;
end;
end;
FreeBitmap(bmpAxeHead);
FreeBitmap(bmpAxeHandle);
end;
function FindEnt(TreeColor:integer):boolean;
begin
if(not(Option('Chop')))then
FindObj('Chop',TreeColor,0);
if(Option('Chop'))then
begin
if(FindColorTolerance(x,y,383705,9,9,233,24,20))then
begin
GetMousePos(x,y);
Mouse(x,y,r,r,false);
if(FindText('Chop down',UpChars,x,y,x+100,y+50))then
begin
if(FindColor(x,y,65535,x+70,y,x+100,y+10))then
begin
ChooseOption('Walk here');
Flag;
WriteLn('Found ent! Waiting for it to go away');
Wait(25000+random(5000));
Result:=true;
end;
end else
ChooseOption('Cancel');
end;
end;
end;
//============================================================================\\
//============================ANTI BAN PROTECTION=============================\\
//============================================================================\\
procedure LogOutEvery(hours,forxmins:integer);
var
Mark:integer;
begin
if((TimeFromMark(LogOutMark)/1000)/3600>=hours)then
begin
MarkTime(LogOutMark);
MMouse(random(500),-10,r,r);
LogOut;
writeln('Logging out and comming back in about '+inttostr(forxmins)+' min(s)');
MarkTime(Mark);
repeat
MMouse(0,0,100,100);
wait(90000+random(1000));
wait(15+random(15)+random(15))
until(TimeFromMark(Mark)>=forxmins)
wait(random(30000)+random(30000));
LoginIfNeeded;
end;
end;
procedure RandomChat;
var
RandomChatList: array[0..40] of string;
begin
RandomChatList[0]:= 'hi all';
RandomChatList[1]:= 'yay';
RandomChatList[2]:= 'owned';
RandomChatList[3]:= 'kk';
RandomChatList[4]:= 'lol';
RandomChatList[5]:= 'boring';
RandomChatList[6]:= 'oh yeah';
RandomChatList[7]:= 'sigh';
RandomChatList[8]:= 'lvls?';
RandomChatList[9]:= 'how is everyone';
RandomChatList[10]:= 'im tired';
RandomChatList[11]:= 'okay';
RandomChatList[12]:= 'omg';
RandomChatList[13]:= 'be quiet';
RandomChatList[14]:= 'woot';
RandomChatList[15]:= 'hey everyone';
RandomChatList[16]:= 'heh';
RandomChatList[17]:= 'yawn';
RandomChatList[18]:= 'moo';
RandomChatList[19]:= 'excellent';
RandomChatList[20]:= 'doof';
RandomChatList[21]:= 'crazy';
RandomChatList[22]:= 'hmm';
RandomChatList[23]:= 'yawn';
RandomChatList[24]:= 'go away';
RandomChatList[25]:= 'stop it';
RandomChatList[26]:= 'thanks';
RandomChatList[27]:= 'i love you';
RandomChatList[28]:= 'noobs';
RandomChatList[29]:= 'argh';
RandomChatList[30]:= 'rofl';
RandomChatList[31]:= 'yawn';
RandomChatList[32]:= 'whats up';
RandomChatList[34]:= 'almost leveled';
RandomChatList[35]:= 'lvl';
RandomChatList[36]:= 'brb';
RandomChatList[37]:= 'owned';
RandomChatList[38]:= '...';
RandomChatList[39]:= 'levels?';
RandomChatList[40]:= 'youre cool';
TypeSend(RandomChatList[random(40)]+chr(13));
While(not(GetColor(55,488)=255))do
Mouse(55,488,r,r,true);
end;
procedure RandomChatEvery(mins:integer);
begin
if((TimeFromMark(RandomChatMark)/1000)/60>=mins)then
begin
MarkTime(RandomChatMark);
RandomChat;
end;
end;
procedure RotateEvery(mins:integer);
begin
if(not(ScarScape))then
begin
if((TimeFromMark(RotateMark)/1000)/60>=mins)then
begin
MarkTime(RotateMark);
SendArrowSilentWait(random(4),500+random(500));
SendArrowSilentWait(random(4),500+random(500));
Face(SetCamera);
SendArrowSilentWait(0,1400+random(100));
end;
end;
end;
procedure LeaveScreenEvery(mins:integer);
var
rx,ry,a:integer;
begin
if((TimeFromMark(LeaveScreenMark)/1000)/60>=mins)then
begin
MarkTime(LeaveScreenMark);
rx:=Random(763);
ry:=Random(500);
a:=Random(3);
if(a=0)then
begin
MoveMouseSmooth(0-random(10),ry);
Wait(100+Random(2000));
end;
if(a=1)then
begin
MoveMouseSmooth(763+random(10),ry);
Wait(100+Random(2000));
end;
if(a=2)then
begin
MoveMouseSmooth(rx,502+random(10));
Wait(100+Random(2000));
end;
if(a=3)then
begin
MoveMouseSmooth(rx,0-random(10));
Wait(100+Random(2000));
end;
MMouse(3,3,515,338);
end;
end;
procedure KillScript(hours:integer);
begin
if((TimeFromMark(KillScriptMark)/1000)/3600>=hours)then
begin
writeln('Stopping script at '+inttostr(hours)+' hours');
MMouse(random(500),-10,r,r);
TerminateScript;
end;
end;
procedure AntiBan;
begin
if(LogsOut)then
LogOutEvery(2+random(2),5+random(5));
if(Chats)then
RandomChatEvery(10+random(5));
if(Rotates)then
RotateEvery(20+random(10));
LeaveScreenEvery(5+random(5));
if(KillScriptTime>0)then
KillScript(KillScriptTime);
end;
//============================================================================\\
//================================Load SSI====================================\\
//============================================================================\\
procedure LoadSSIBmps;
begin
Ore := BitmapFromString(8, 11,
'564D42564D42564D42564D42564D42564D42000001000001564D42' +
'564D42564D42544A3B544A3B0000013D312254442F564D42564D42' +
'564D42564D420000012D2518443827584731564D42544A3B544A3B' +
'564D42000001201B124034257A6346564D42544A3B4D4438564D42' +
'000001483B297D6547806748564D42564D42544A3B564D42000001' +
'7D6547806748000001564D42564D42544A3B544A3B544A3B000001' +
'000001302020000001000001000001000001000001544A3B302020' +
'3020202D2518382D1E403425483B2951412D000001544A3B544A3B' +
'5847315C4A345E4D366552395E4D360000013020200000015C4A34' +
'5E4D3665523968543B655239000001302020000001');
Lamp := BitmapFromString(6, 6,
'81800E79780E84830E00000100000100000179780E75740E000001' +
'000001C3C118B5B3156E6D0E525209000001302020000001000001' +
'696809484709000001302020544A3B302020000001000001302020' +
'302020544A3B564D42302020302020302020544A3B544A3B564D42' +
'');
PickHandle := BitmapFromString(15, 27,
'564D41595145564D41544A3C544A3C595145564D41564D41564D41' +
'564D41595145000001000001544A3C4F4538544A3C595145564D41' +
'544A3C544A3C544A3C5951455951455951455951450000012F2000' +
'362400000001544A3C564D41544A3C544A3C564D41564D41564D41' +
'5951455951455951450000012F20002F2000362400000001302020' +
'564D41544A3C544A3C595145564D41595145564D41595145595145' +
'0000012F2000362400362400000001302020564D41564D41564D41' +
'564D41564D41544A3C544A3C544A3C0000012F20002F2000362400' +
'362400000001302020544A3C544A3C544A3C544A3C544A3C544A3C' +
'544A3C544A3C0000012F2000362400362400362400000001302020' +
'544A3C564D41564D41564D41544A3C564D41564D410000012F2000' +
'2F2000362400362400000001302020302020564D41564D41564D41' +
'595145564D41564D41564D410000012F2000362400362400000001' +
'302020302020544A3C544A3C544A3C544A3C595145544A3C544A3C' +
'0000012F2000362400362400362400000001302020564D41564D41' +
'544A3C544A3C544A3C564D41544A3C4F45380000012F2000362400' +
'362400000001302020302020564D41564D41544A3C544A3C595145' +
'595145564D410000012F2000362400362400362400000001302020' +
'564D41564D41544A3C544A3C564D41564D41595145595145000001' +
'2F20002F20002F2000000001302020302020564D41564D41544A3C' +
'564D41564D41544A3C564D410000012F20002F20002F2000362400' +
'000001302020564D41544A3C544A3C544A3C595145544A3C544A3C' +
'564D410000012F20002F20002F2000000001302020302020544A3C' +
'544A3C564D41564D41595145544A3C544A3C0000012F20002F2000' +
'2F2000000001302020302020595145544A3C564D41595145595145' +
'595145564D41564D410000012F20002F20002F2000000001302020' +
'595145595145564D41564D41595145595145595145595145000001' +
'2F20002F20002F2000000001302020302020595145595145595145' +
'595145564D41564D41564D41564D410000012F20002F20002F2000' +
'000001302020564D41595145595145595145595145564D41564D41' +
'544A3C0000012F20002F20002F2000000001302020302020564D41' +
'595145595145544A3C544A3C564D41595145564D410000012F2000' +
'2F20002F2000000001302020544A3C564D41595145595145544A3C' +
'544A3C564D41564D41564D410000012F20002F2000000001302020' +
'302020544A3C564D41595145595145564D41544A3C544A3C4F4538' +
'000001271B002F20002F2000000001302020595145544A3C564D41' +
'595145595145595145544A3C544A3C544A3C0000011D1500271B00' +
'000001302020302020595145544A3C564D41595145595145595145' +
'564D41564D41564D410000011D15001D1500000001302020595145' +
'544A3C544A3C564D41595145595145595145595145595145544A3C' +
'0000011D15001D1500000001302020564D41595145595145595145' +
'595145564D41595145595145564D41544A3C564D41000001000001' +
'302020302020595145595145595145595145544A3C564D41595145' +
'544A3C544A3C4F4538564D41595145302020302020564D41595145' +
'564D41564D41564D41544A3C544A3C564D41544A3C544A3C544A3C' +
'');
PickHead := BitmapFromString(6, 5,
'2E1F002E1F00352400000001483E33483E331D1400261A002E1F00' +
'352400000001483E331D14001D1400261A002E1F00000001302020' +
'000001000001000001000001302020302020302020302020302020' +
'302020302020483E33');
PickAxe := BitmapFromString(30, 14,
'564D42564D42544A3B4D4438544A3B564D42564D42544A3B4D4438' +
'544A3B544A3B544A3B544A3B544A3B000001000001000001000001' +
'544A3B564D42564D42564D42564D42564D42564D42544A3B544A3B' +
'564D42544A3B564D42564D42544A3B544A3B4D4438564D42564D42' +
'544A3B544A3B564D42564D42544A3B4D44384D44380000012F2000' +
'2F20003625003D2900000001564D42564D42564D42564D42564D42' +
'564D42564D42544A3B564D42544A3B564D42544A3B4D4438544A3B' +
'564D42564D42000001000001000001000001000001000001000001' +
'000001000001392D1B44341E4D3B22544127000001302020564D42' +
'544A3B564D42564D42564D42564D42564D42544A3B544A3B564D42' +
'4D44384D4438564D42000001000001392D1B342918342918342918' +
'34291834291834291834291834291834291840311E44341E4D3B22' +
'000001302020544A3B544A3B564D42564D42564D42564D42564D42' +
'544A3B544A3B564D42544A3B000001000001392D1B392D1B392D1B' +
'3429183429183429183429183429183429183429183429181E1500' +
'271B005441274D3B22000001000001564D42544A3B564D42564D42' +
'564D42564D42564D42564D42544A3B564D42000001392D1B392D1B' +
'392D1B392D1B392D1B342918342918342918342918342918342918' +
'3429181E1500271B002F2000513E254D3B2248382044341E000001' +
'000001544A3B544A3B564D42564D42564D42544A3B544A3B564D42' +
'544A3B000001000001000001000001000001000001000001000001' +
'0000010000010000010000011E15002F20002F20004D3B224D3B22' +
'48382044341E40311E44341E000001000001564D42564D42564D42' +
'544A3B544A3B564D42544A3B4D4438302020302020302020302020' +
'3020203020203020203020203020200000011E1500271B002F2000' +
'2F20004D3B224D3B2248382044341E40311E392D1B40311E44341E' +
'000001000001564D42564D42544A3B564D42544A3B544A3B4D4438' +
'544A3B544A3B544A3B544A3B544A3B4D4438544A3B544A3B000001' +
'1E15002F20002F20002F200000000100000100000144341E40311E' +
'392D1B342918392D1B40311E44341E000001564D42544A3B564D42' +
'564D42564D42564D42544A3B544A3B564D42564D42564D42544A3B' +
'564D420000011E1500271B002F20002F2000000001302020302020' +
'302020000001000001000001392D1B2F2515342918392D1B000001' +
'302020564D42564D42564D42564D42544A3B544A3B564D42564D42' +
'564D424D44384D4438564D420000011E15002F20002F2000000001' +
'302020302020544A3B544A3B544A3B302020302020000001000001' +
'0000012F2515392D1B000001544A3B564D42564D42564D42544A3B' +
'544A3B544A3B564D42564D42544A3B544A3B0000011E15002F2000' +
'2F20002F2000000001302020544A3B544A3B544A3B564D42564D42' +
'544A3B544A3B30202030202000000100000140311E000001564D42' +
'544A3B544A3B564D42564D42544A3B544A3B544A3B564D42564D42' +
'0000011E15002F20002F2000000001302020302020544A3B544A3B' +
'564D42564D42564D42544A3B4D4438544A3B564D42564D42302020' +
'000001302020302020544A3B544A3B544A3B4D4438544A3B544A3B' +
'544A3B544A3B0000011E15002F20002F20002F2000000001302020' +
'4D44384D4438544A3B544A3B564D42564D42564D42544A3B544A3B' +
'544A3B544A3B544A3B564D42302020544A3B');
PickAxeSteel := BitmapFromString(30, 14,
'564D42564D42544A3B4D4438544A3B564D42564D42544A3B4D4438' +
'544A3B544A3B544A3B544A3B544A3B000001000001000001000001' +
'544A3B564D42564D42564D42564D42564D42564D42544A3B544A3B' +
'564D42544A3B564D42564D42544A3B544A3B4D4438564D42564D42' +
'544A3B544A3B564D42564D42544A3B4D44384D44380000012D1E00' +
'2D1E003423003A2700000001564D42564D42564D42564D42564D42' +
'564D42564D42544A3B564D42544A3B564D42544A3B4D4438544A3B' +
'564D42564D42000001000001000001000001000001000001000001' +
'0000010000015C5656686060756D6C827878000001302020564D42' +
'544A3B564D42564D42564D42564D42564D42544A3B544A3B564D42' +
'4D44384D4438564D42000001000001595353595353595353595353' +
'595353595353595353595353595353575151615A596A6262756D6C' +
'000001302020544A3B544A3B564D42564D42564D42564D42564D42' +
'544A3B544A3B564D42544A3B0000010000015C5656595353575151' +
'5751515751515751515751515751515751515751515751511C1400' +
'251900827878756D6C000001000001564D42544A3B564D42564D42' +
'564D42564D42564D42564D42544A3B564D42000001615A595F5858' +
'5C5656595353575151575151544E4E544E4E544E4E544E4E544E4E' +
'544E4E1C14002519002D1E007D7474756D6C6E67676A6262000001' +
'000001544A3B544A3B564D42564D42564D42544A3B544A3B564D42' +
'544A3B000001000001000001000001000001000001000001000001' +
'0000010000010000010000011C14002D1E002D1E00797070756D6C' +
'6E67676A6262635D5C6A6262000001000001564D42564D42564D42' +
'544A3B544A3B564D42544A3B4D4438302020302020302020302020' +
'3020203020203020203020203020200000011C14002519002D1E00' +
'2D1E007B7272756D6C6E67676A6262635D5C5F5858635D5C686060' +
'000001000001564D42564D42544A3B564D42544A3B544A3B4D4438' +
'544A3B544A3B544A3B544A3B544A3B4D4438544A3B544A3B000001' +
'1C14002D1E002D1E002D1E00000001000001000001686060635D5C' +
'5F58585751515C5656615A59665E5E000001564D42544A3B564D42' +
'564D42564D42564D42544A3B544A3B564D42564D42564D42544A3B' +
'564D420000011C14002519002D1E002D1E00000001302020302020' +
'302020000001000001000001595353524B4B544E4E595353000001' +
'302020564D42564D42564D42564D42544A3B544A3B564D42564D42' +
'564D424D44384D4438564D420000011C14002D1E002D1E00000001' +
'302020302020544A3B544A3B544A3B302020302020000001000001' +
'0000014D47465F5858000001544A3B564D42564D42564D42544A3B' +
'544A3B544A3B564D42564D42544A3B544A3B0000011C14002D1E00' +
'2D1E002D1E00000001302020544A3B544A3B544A3B564D42564D42' +
'544A3B544A3B302020302020000001000001665E5E000001564D42' +
'544A3B544A3B564D42564D42544A3B544A3B544A3B564D42564D42' +
'0000011C14002D1E002D1E00000001302020302020544A3B544A3B' +
'564D42564D42564D42544A3B4D4438544A3B564D42564D42302020' +
'000001302020302020544A3B544A3B544A3B4D4438544A3B544A3B' +
'544A3B544A3B0000011C14002D1E002D1E002D1E00000001302020' +
'4D44384D4438544A3B544A3B564D42564D42564D42544A3B544A3B' +
'544A3B544A3B544A3B564D42302020544A3B');
FrogSpot := DTMFromString('78DA63AC606260B06100030E2006F2184AF36' +
'2C07C4620FE0F048CDD405167881A56A8B8555D3A033F940D565B' +
'0254A349404D12508D037E35000D030BB3');
Frog := BitmapFromString(30, 2, 'z78DA73727274B534B23000012' +
'74747270B47E249645DB84C808A836D4126C91447321317498C9B' +
'5154426CC160633119C355982EC4A51E00B445523B');
bmpFreakyForester := BitmapFromString(106, 2, 'z78DAA552410AC0' +
'3008FBD23618B8A3C2FEFFA531BA4346D406DA8394D8468DB1ED3' +
'DE11EE67A34F885F7B8FCB47DC4817F59C07B36442A3C41C2EFEB' +
'E0F8CBB63C2BB1EF61D215E3BADAF437C9221BEC455295AA24B57' +
'846A57FE2A9365EB1252FD163E4C0C48DC456EAAC7812676FA75B' +
'F21E5499F00B0E54F6B8C2D96BD8EBD0D7D555AD781E9D382154');
bmpLeaveTheArea := BitmapFromString(89, 2, 'z78DA3330000127474' +
'7270B4708690011717274B534422631C5514490F5229946919944' +
'881343E2D74B65B7417C8DC926DA765C61881C92C4A8C1296EE96' +
'86A610821718910E3779CA18AE46B5CA6511EF294A4075AA70A02' +
'E9019324C29DE4C5387E35C4EB820000EEBEF642');
bmpPheasantMeat := BitmapFromString(14, 7, 'z78DA7D915B8EC6200' +
'885B7A4DC79ACD5EE7F497FA7C74968E6A2093127F0014799221C' +
'2A72F090E7DDBE4EB7C3C428C4A71F88D0B9D17D11A1B8DA65678' +
'CD0E8502A67D34484C45399469C7A31B96AA3519935DFD9A68DEC' +
'91E12FCE3DCA9B13A98BDB5F34E83624C9BDD9B074F76E4B4F5ED' +
'4EC9271EBA72ACD4D331DFFD04826E5EEDED468A17BB0262DE454' +
'0EF49FB4CAC40C9B862A102AB3D090593D79F9838D3021AA2EEB2' +
'CBFCCF970B0FB76E3F1163F654D3AD166C2BDE25292F137B3EEF5' +
'01384D7A16');
bmpNet := BitmapFromString(30, 5, 'z78DA7592510E83300C43AF1492' +
'14FA3B98B8FF9116EAA6B8A06D9A153985BC782DEE1FDBCB4BFDE' +
'B6E55AECF52AA57F3F8559354173BD0450D7F95223E9CF415DD2D' +
'CF37474C4CE1475D75E7B799EBA17D3A949DB2069DB2F249669BF' +
'95FBE5CCED5F53C13540AEDB350DFB4B90B6F84F7C45754B10B74' +
'6246B644CB73911BFBC89369793B4CEC5420EC6CA3BB4171066C7' +
'0A6549BDF34999BC339A36E84F5996A72A27B6F947BA14617247D' +
'6E102F27F3608B8733320CAD8ABBB70561BF873AFD9BF1BCA8FCB' +
'B0337A1F9942439BC2368D7BA8A9FCF7BAE0773F63B8F9C1B27F2' +
'ECF5204F5A70B2FE00E57BB5C0');
bmpCage := BitmapFromString(10, 27, 'z78DA95945B8EC3200C45B704' +
'F8957E0219F6BFA4B1B05B9949130D8D743EF0A9E3D657A4A49F9' +
'C6E488C2716276285164F0AE59A92F3CC63E56DCFD9E7EA0316F8' +
'B0956325E6D2DE3D17F3D15F2865A463D78FDCF01BC01F3E76BEF' +
'A9480DFDCF59D04AF1D736185BEEF2FDCF5078C0F77FD49D6D5EE' +
'FB91BB3E1F481F763CD2B99C18AF66F48D8D413DCB464342922A5' +
'9320F6C5ABDE38BB33E271393A7E244CD8730FFE8A99DDBDE050B' +
'16E902FA84AA14AE5CEDBB04D8B10B72D76906EB949EBD304FAC5' +
'A1FEBEF2787241EE678F6E23CE6CCAA99D6DF27998ED13718E789' +
'CEFC15E6D83FE03DE784B6BB388F3B560DD960A6413EADF7B42D8' +
'777B963D5FF6423CCF365E3CFD908F3C46CC49B73C9CC33674220' +
'157D8CD77BF82E575F6EFEC9E76E7E33CFEA2F16B15827');
bmpRod := BitmapFromString(17, 7, 'z78DA75924192C5200844AF8440' +
'8359263ADEFF489FAFC914D664A08AC553BB0B10A65D19B3D237C' +
'A7FD5AA822A488C6AE63E30A8C769DFB9351075BDA4C6ABA40F47' +
'C15D835675BD148A5B1F7250958B97D6ABDAE63BF97653D1D156C' +
'589AFB4688B9C2E5AA44953E7F1DAC580844B89D3DBFD2F79B8D5' +
'C8C34A24E3C259B4446417A912B1B9088C7ACCB03DEE558CA92FB' +
'E881013D38BCBEAA8C1629AD9A570E79EF54D3466A82EFA3BABC9' +
'33C92EFEE3B10E673B235347B78BCA90B175E1385EBB983CEBAF9' +
'AB7EFCD2572791962EA6B479BFE85F6FCA86DE3936792F53F03E2' +
'9337');
bmpFlyRod := BitmapFromString(18, 9, 'z78DA8D934B8EC4300844AF4' +
'44C81EDA53FE3FB1F699810B570BB5B1A47F202121E55104C808B' +
'008DBB282652BCE9EF5C3969D3868CF48A2C59347509D394854CC' +
'5E3675649AA548F7B4D1CC4481142458DD52205575A446736C699' +
'923D8F0AA7DCF746C972C9957A6AA979BCB0269A99458D453C764' +
'5311B291BEBD0E2DA853130B63AD91C99CAA6B3C46ACFB7370599' +
'B1671FDF4E8A8AF92D8285C585ED3CD92EC32805D37CEB5CDE667' +
'4F710956E8A0EC774AAA8481308F8872BD78DE2B30E8A36BDF73B' +
'FFF20D3AB4BB6FA676F1B25C412EAAB03ABE5743E8D38C9C12957' +
'ED884836834B6BEBBC992D8F3574AE8E19BA238A993F8505C916F' +
'C23DA333EB9D780FE77F1477DB23BF361FC994');
bmpHarpoon := BitmapFromString(10, 10, 'z78DA8D514B8EC53008BB5' +
'208189C65D2B4F73FD2CB3CBA48D51969585851843F804D3325DC' +
'A6D51DCB4FC91BFFD3134768280F56D67CFB7075DD15E20C04586' +
'215355A3422467476CAFA353F7CE080C3DD307124574B2D69FB74' +
'BC59D5BBF7252B103DB5694387C1BC62A0DFEE665DC7CD3A69B43' +
'B61737101ECB2EB31EF57E1E1751144AB0C865F4E67F6D8588077' +
'CE7C677F333692DD5D245365DABD3331B7B4EB706DA24C40AF42E' +
'912126FEE7D9DEF8C893B6B9F42A5CE3A7FE1EE0A7DDD98EF6C7F' +
'A5DDB91FF2B77B29');
end;
procedure PrepClient;
begin
LoginIfNeeded;
ChatsOff;
if(not(ScarScape))then
begin
Face(SetCamera);
SendArrowSilentWait(0,1400+random(100));
end;
end;
procedure SetupSSI;
begin
Username:=PermUser;
Password:=PermPass;
ScarScape:=PermScarScape;
LoadChars('');
DisguiseScar(MaskName);
UpChars:= LoadChars2(AppPath + 'CharsRS22\');
ChatChars:= LoadChars2(AppPath + 'CharsChat2\');
StatChars:= LoadChars2(AppPath + 'CharsChat2\fontsmall\');
CWindow := BitmapFromString(66, 8, 'z78DA33304000372460' +
'800170890F1420C63DB473333D4D264664342E06CACCE11117D4F' +
'2C5E08C0BFC251BA61A4ACCA145BE20C66DD4F205EDFC4EAD928D' +
'76BA06BF083DE382F8D432506963A04488610FCE5C408C69F87D3' +
'454E28276651D754B636A95F994E76E5AD49E002F369293');
MarkTime(LogOutMark);
MarkTime(RandomChatMark);
MarkTime(RotateMark);
MarkTime(KillScriptMark);
MarkTime(LeaveScreenMark);
GasColor:=8100004;//Reference color of gas.
LoadSSIBmps;
ST:=GetSystemTime;
SetMouseMode(false);
if(SetCamera='')then
SetCamera:='N';
end;
yohojo8,
thank you VERY much!
Maybe all problems with downloaded scripts cunfused by Includes. I hope SSI2 is the last thing, which has to be updated.
listen, you are trying to use a powerchopper that is old and doesnt work, if you want, i will send you a very good powerchopper with no bugs by PM.