tv239
2007-06-19 08:04:21
<!– BEGIN TEMPLATE: formanswers –>
tv239 - SRL Member Application Form
tv239
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Nope
Other Communitys
Nope
How Long have You Played Runescape
1 and a half years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Well, i have only just learnt to scipt, and its awsome. I dont have much experince in this area and i would like to study good scipts
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
tv239 - SRL Member Application Form
tv239
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Nope
Other Communitys
Nope
How Long have You Played Runescape
1 and a half years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Well, i have only just learnt to scipt, and its awsome. I dont have much experince in this area and i would like to study good scipts
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{.Script Info:
# ScriptName = Tv239's Essence Miner
# Author = Tv239 [johnhillary@hotmail.co.uk]
# Description = Mines full load of essences and the banks them.
# Version = 2.2 (For SRL version 3.6)
/Script Info}
{Start at Varrock East bank. SetUp Players, and GO!}
program EssenceMiner;
{.include srl/srl.scar}
{.include srl/srl/extended/xmapwalk.scar}
{.include srl/srl/skill/mining.scar}
var mined,banked,MiningWaitTime:integer;
MagicShop,transportation:integer;
RockColor,CloseBank01,TP,MS:integer;
LoggingOutMark,LogsO:Integer;
TotEss,TotalEss:integer;
PlayerTrip:Integer;
Trip,TotRun:integer;
Teleported:Boolean;
OutEss:Boolean;
TotRunStr:string;
Location:String;
TotEssStr:string;
What:string;
RCol:string;
StatReg : TForm;
RegLabel : TLabel;
RegYes : TButton;
RegLater : TButton;
RegNo : TButton;const
{______________________________________}
{////////////////////\\\\\\\\\\\\\\\\\\}
{///-------Answering-Set-Up----------\\}
{////////////////////\\\\\\\\\\\\\\\\\\}
Answer1='bank'; //Text for answer of BankRuns
Answer2='esse'; //Text for answer of Mined essences
Answer3='logs'; //Text for answer of Logs out
Answer4='loca'; //Text for answer of location
Answer5='goin'; //Text for answer of happening
Answer6='hello';
Answer7='tote'; //Text for answer of total essences
Answer8='totb'; //Text for answer of total banks
Answer9='help'; //sends to you all commands what is used for answering
OtherPlayer='';//If Other player who to answer (Remember real font size in rs!)
{______________________________________}
{////////////////////\\\\\\\\\\\\\\\\\\}
{///--------------SET-UP-------------\\}
{////////////////////\\\\\\\\\\\\\\\\\\}
BankRuns= {//Make} 50 {Bank runs} {\\} ;
EveryXMinutes= {//Log out every} 15 {minutes} {\\} ;
ForXMinutes= {//Stay logged out for} 3 {minutes} {\\} ;
PlayersToUse= {//I'm using} 3 {Player(s)} {\\} ;
StartPlayer= {//I start with player number} 0 {\\} ;
{////////////////////\\\\\\\\\\\\\\\\\\}
procedure declareplayers;
begin
NumberOfPlayers(PlayersToUse);
CurrentPlayer:=StartPlayer;
{______________________________________}
{////////////////////\\\\\\\\\\\\\\\\\\}
{///----------PLAYER-SET-UP----------\\}
{////////////////////\\\\\\\\\\\\\\\\\\}
Players[0].Name:= {//Player 1 Name =}'Name 1' {\\} ;
Players[0].Pass:= {//Player 1 Password =}'Pass 1' {\\} ;
Players[0].Nick:= {//Player 1 Nickname =}'Nick 1' //(Remember real font size, first letter with big font) ;
Players[0].Active:= {//Player 1 Active =}True {\\} ;
Players[0].Integer1:={//Player 1 Trips =}5 {\\} ;
Players[0].String1:= {//Player 1 Bank pin =}'' {\\} ;
{--------------------------------------}
Players[1].Name:= {//Player 2 Name =}'Name 2' {\\} ;
Players[1].Pass:= {//Player 2 Password =}'Pass 2' {\\} ;
Players[1].Nick:= {//Player 2 Nickname =}'Nick 2' {\\} ;
Players[1].Active:= {//Player 2 Active =}True {\\} ;
Players[1].Integer1:={//Player 2 Trips =}5 {\\} ;
Players[1].String1:= {//Player 2 Bank pin =}'' {\\}
{------------------------------------\\}
Players[2].Name:= {//Player 3 Name =}'Name 3' {\\} ;
Players[2].Pass:= {//Player 3 Password =}'Pass 3' {\\} ;
Players[2].Nick:= {//Player 3 Nickname =}'Nick 3' {\\} ;
Players[2].Active:= {//Player 3 Active =}True {\\} ;
Players[2].Integer1:={//Player 3 Trips =}5 {\\} ;
Players[2].String1:= {//Player 3 Bank pin =}'' {\\} ;
{////////////////////\\\\\\\\\\\\\\\\\\}
{______________________________________}
{\\\\\\\\\\\\\\\\\\\\//////////////////}
{\\--------End Of All SetUps---------//}
{\\\\\\\\\\\\\\\\\\\\//////////////////}
end;
function GoingOn(What:string):boolean;
begin
clearreport;
writeln(What+' ('+TheTime+')')
status(What+' ('+TheTime+')')
What:=What
end;
procedure GI(item: String);
begin
ClickToContinue;
if(invCount<=5)then
begin
wait(1000)
exit;
end;
if(invcount>22)then
begin
TypeSend('Almost inventory full of '+item)
exit;
end
else
begin
TypeSend('Yeah only some more '+item);
exit
end;
case random(7) of
0: TypeSend('now I got '+inttostr(InvCount)+ ' ' + item);
1: TypeSend('Yeah now '+inttostr(InvCount)+' '+item);
2: TypeSend('Woo! I have '+inttostr(InvCount)+' '+item);
3: TypeSend('I got '+inttostr(InvCount)+' '+item+' '+' now');
4: TypeSend('Must get '+inttostr(28-InvCount)+' more'+Item);
5:TypeSend(inttostr(28-InvCount)+' '+item+' to go.');
6: TypeSend('Still must get '+inttostr(28-InvCount)+' more '+item);
end;
wait(100 + random(50));
end;
function Answer(FromCommand,WithCommand,ToPlayer:string):boolean;
var a:string;
NameBmp:integer;
begin
wait(20)
a:=Lowercase(Trim(GetTextAtEx(84, 415, 45, SmallChars, False, False, 0, 2, 128, 40, True, tr_NormalChars)))
if(pos(a,FromCommand)<>0)
then begin
writeln('Found a command: '+FromCommand)
GameTab(8)
NameBmp:=CreateBitMapMaskFromText(ToPlayer,SmallChars)
if(findbitmapin(NameBmp,x,y,490,185,750,483))
then begin
writeln('Answered to '+ToPlayer)
Mouse(x+5,y+3,1,1,true)
wait(500)
Mouse(330,455,5,5,true)
TypeSend(WithCommand)
writeln('With command: '+withcommand)
end;
end;
wait(10+random(50))
end;
procedure TalkToAcc;
var FindAcc:Boolean;
AccName:String;
M:Integer;
begin
Writeln('Finding random account to talk to')
M:=MouseSpeed;
MouseSpeed:=4
FindAcc:=False
if(FindObj(x,y,'evel',2510975,11)) then
FindAcc:=True
else
if(FindObj(x,y,'evel',8474379,11)) then
FindAcc:=True
else
if(FindObj(x,y,'evel',4077094,11)) then
FindAcc:=True
else
if(FindObj(x,y,'evel',4544837,11)) then
FindAcc:=True
else
if(FindObj(x,y,'evel',1085071,11)) then
FindAcc:=True
else
if(FindObj(x,y,'evel',8747097,11)) then
FindAcc:=True;
if(FindAcc=True) then
writeln('Found account:')
else
writeln('Didnt find any accounts.')
if(FindAcc=False) then
exit;
Else
begin
ClickToContinue;
AccName:=GetTextAtEx(77, 7, 100, UpChars, True, True, 0, 2, 14606047, 12, False, tr_AllChars)
if(not(AccName=''))then
writeln('Account name is: '+AccName)
if(AccName='')
then
Exit;
else
Case Random(10) of
0: TypeSend('How are you '+AccName)
1: TypeSend('Whats up '+AccName)
2: TypeSend('Nice armor '+AccName)
3: TypeSend(AccName+'Nice level')
4: TypeSend('You are cool '+AccName)
5: TypeSend('How are you doing '+AccName)
6: TypeSend('Hello '+AccName)
7: TypeSend('Hi '+AccName+' '+':)')
8: TypeSend('How old are you '+AccName)
9: TypeSend('Where are you from '+AccName)
end;
MouseSpeed:=M;
end;
end;
procedure SetAtScriptBrightness;
begin
GameTab(11)
wait(500+random(200))
if(not(getcolor(680,230)=9584920))
then begin
goingon('Setting right brightness for script')
Mouse(680,230,1,1,true)
wait(500)
end;
end;
procedure Answers;
begin
if(otherplayer='')
then
exit;
Answer(Answer1,'I have mined '+inttostr(mined)+' essences now.',OtherPlayer)
//Text for answer of BankRuns
Answer(Answer2,'I have banked '+inttostr(banked)+' times now.',OtherPlayer)
//Text for answer of Mined essences
Answer(Answer3,inttostr(LogsO)+' times logged out.',OtherPlayer)
//Text for answer of Logs out
Answer(Answer4,'Im in the'+Location,OtherPlayer)
//Text for answer of Location
Answer(Answer5,'Im doing now: '+What,OtherPlayer)
//Text for answer of happening
Answer(Answer6,'Hi! :)',OtherPlayer)
Answer(Answer7,'Total essences mined: '+TotEssStr,OtherPlayer)
//Text for answer of total essences mined
Answer(Answer8,'Total times banked: '+TotrunStr,OtherPlayer)
//Text for answer of total bank times
answer(Answer9,'Used commands are: '+Answer1+','+Answer2+','+Answer3+','+Answer4+','+Answer5+','+Answer6+','+Answer7+','+Answer8+','+Answer9,OtherPlayer)
//Text for answer of used commands
end;
{LogOutEvery2 based From SRL, made it to log out for every X MINUTES}
procedure LogOutEvery2(Minutes, ForXMins: integer);
var LogsO:integer;
begin
if ((TimeFromMark(LogOutMark) / 1000) / 60 >= Minutes) then
begin
MarkTime(Loggingoutmark);
LogOut;
goingon('Logged out, coming back soon')
LogsO:=LogsO+1
goingon('Logged out for ' + inttoStr(forxmins) + 'min(s)')
goingon('Logging out and coming back in about ' + IntToStr(forxmins) + ' min(s)');
repeat
Mmouse(5, 5,1,1)
Wait(30000 + Random(1000));
Wait(15 + Random(15) + Random(15))
until (TimeFromMark(Loggingoutmark) >= forxmins);
Wait(Random(10000) + Random(5000));
LoginPlayer;
Wait(Random(5000) + Random(2500));
end;
end;
procedure TalkingToMeTXT;
begin
Case Random(10)+1 of
1: TypeSend('Right...'+chr(13))
2: TypeSend('What?'+chr(13))
3: TypeSend('Sorry, i dont understand.'+chr(13))
4: TypeSend('What do yuo want?'+chr(13))
5: TypeSend('I have no time'+chr(13))
6: TypeSend('I dont like you'+chr(13))
7: TypeSend('You are getting my nervous'+chr(13))
8: TypeSend('is it possible to be quit for 2 minutes?'+chr(13))
9: TypeSend('yes? I am.'+chr(13))
10: TypeSend('No, you again.'+chr(13))
End;
end;
procedure TalkingToMe;
var CUAM:integer;
tmpx,tmpy:integer;
begin
if (FindColor(tmpx, tmpy, 65535, 10, 25, 511, 334)) then
begin
If(not(FindBitmapMaskTolerance(NickNameBmp, x, y, 0, 24, 517, 338, 0, 40))) then begin
wait(random(10))
Exit; end;
If(FindBitmapMaskTolerance(NickNameBmp, x, y, 0, 24, 517, 338, 0, 40)) then
begin
TalkingToMeTxt;
CUAM:=CUAM+1
Writeln('Your Name has spotted on the screen '+
'and you answered.')
if(CUAM>3) then begin
TypeSend('Nice to talk, but now gtg. See you! :)')
LogOut;
Wait(20000+random(15000))
LogInPlayer;
wait(2000)
CUAM:=0
end;
end;
wait(500)
end;
wait(1)
end;
procedure SayLevel(Skill:string);
var LVLBmp,Lvl:integer;
tmpx,tmpy:integer;
begin
if (FindColor(tmpx, tmpy, 65535, 10, 25, 511, 334)) then
begin
LvlBmp:=createbitmapmaskfromtext(skill,upchars)
If(FindBitmapMaskTolerance(LvlBmp, x, y, 0, 0, 516, 338, 0, 40))then
begin
Lvl:=GetSkillLevel(Skill)
TypeSend('My '+Skill+' Level is '+inttostr(Lvl)+chr(13))
goingon('Someone asked your '+Skill+' level. You answered.')
end;
end;
wait(1)
end;
function InShop:boolean;
begin
if(findsymbol(x,y,'magic shop')=true)or(FindSymbol(x,y,'anvil')=true)
then begin
GoingOn('In shop')
Location:='In Shop'+inttostr(ScriptTime(2))
result:=true;
end;
end;
function AtEss:boolean;
begin
if(findsymbol(x,y,'transportation')=true)and
not(findsymbol(x,y,'anvil'))
then begin
Goingon('At essences')
Location:='At essences '+inttostr(ScriptTime(2))
result:=true;
end;
end;
procedure NotFindEss;
begin
goingon('Couldnt find object, rotating screen and trying again')
case random(9) of
0:
begin
KeyDown(VK_Left)
wait(750)
KEyUp(VK_Left)
end;
1:
begin
KeyDown(VK_Right)
wait(750)
KEyUp(VK_Right)
end;
2:
begin
KeyDown(VK_Up)
wait(750)
KEyUp(VK_Up)
end;
3:
begin
KeyDown(VK_Down)
wait(750)
KEyUp(VK_Down)
end;
4:
begin
HighestAngle;
end;
5:
begin
MakeCompass('N')
end;
6:
begin
MakeCompass('E')
end;
7:
begin
MakeCompass('S')
end;
8:
begin
MakeCompass('W')
end;
end;
end;
Function GetBankSymbolColor:LongInt;
var BankBitMap,Color,C:Integer;
acc:Extended;
begin
BankBitMap := BitmapFromString(7, 5, 'z78DA3330000143030363' +
'43635CA401921A08DBD9D8D1D8D40899C4AFC6CDD2C5C4D415531' +
'7A61A4CD2C2D4CCD4D014590D4404998D4C0200CC4A2C81');
Color:=6417151
FindDeformedBitmapToleranceIn(BankBitmap,x,y,570,5,725,160,70,0,True,acc);
if(acc>SymbolAccuracy)then
begin
repeat
c:=c+5;
if (FindColorTolerance(x,y,6417151,x,y,x+15,y+5,c)) then
begin
Result:=GetColor(x,y);
end;
until(Result>0)or(c>70);
end;
FreeBitmap(BankBitMap);
end;
procedure checkbankcolor;
var c : integer;
begin
BankColor:=0
c:=0
repeat
BankColor:=GetBankSymbolColor
c:= c+1;
wait(150+random(100))
writeln('Taken '+inttostr(c)+'/20 tries to find bank')
if(BankColor=0)
then begin
KeyDown(VK_Left)
wait(180)
KEyUp(VK_Left)
wait(50)
end;
until(BankColor>0)or(c>19)
if(c>19)then
begin
c:=0
GoingOn('Cant find bank symbol');
Goingon('Logging out and coming back')
LogOut;
wait(5000+random(2000))
LogInPlayer;
wait(500+random(300))
checkbankcolor;
SetRun(True)
end;
C:=0
MMouse(x+random(1),y+random(1),2,2)
getmousepos(x,y)
writeln('Bank color: '+inttostr(BankColor))
end;
procedure OpenBank3B;
var
x, y, fs, fs2,Find: Integer;
begin
if not BankScreen then
begin
repeat
if(Find>5)
then
begin
Find:=0
NotFindEss;
CheckBankColor;
Mouse(x+3+random(2)-random(2),y+4+random(2)-random(2),2,2,true)
wait(200)
flag;
OpenBank3B;
end;
Find:=Find+1
if (FindObj(x, y,'Use Bank',5270395,10)) then
Mouse(x+random(2)-random(2), y+random(2)-
random(2),4,4, False)
else
if (FindObj(x,y,'Use Bank', 1588818,10)) then
Mouse(x+random(2)-random(2), y+random(2)-random(2),4,4, False)
else
if (FindObj(x,y,'Use Bank', 6783890,10)) then
Mouse(x+random(2)-random(2), y+random(2)-random(2),4,4,False);
Wait(250+random(100));
if (ClickOption('quickly', 1)) then
begin
Flag;
repeat
Wait(100+random(100));
fs := fs + 1;
until(BankScreen)or(PinScreen)or(fs >= 50);
InPin(Players[CurrentPlayer].String1)
end;
fs2 := fs2 + 1;
if(fs2>2)
then begin
NotFindEss;
fs2:=0
checkbankcolor;
wait(150+random(100))
getmousepos(x,y)
Mouse(x+3,y+6,2,2,true)
OpenBank3B;
end;
until (BankScreen)or(PinScreen)or(fs2 > 2);
MakeCompass('N')
HighestAngle;
InPin(Players[CurrentPlayer].String1)
exit;
end;
end;
procedure Walkingways;
begin
case random(2) of
0: begin mouse(681+random(4)-random(4),102+random(4)-random(4),0,0,true)
SetRun(true)
MMouse(681,102,2,2)
wait(200)
flag;
mouse(626+random(4)-random(4),118+random(4)-random(4),0,0,true)
wait(200)
flag;
end;
1: begin mouse(612+random(4)-random(4),99+random(4)-random(4),0,0,true)
SetRun(true)
MMouse(681,102,2,2)
wait(400)
flag;
mouse(647+random(4)-random(4),123+random(4)-random(4),2,2,true)
wait(300)
flag;
end;
end;
end;
procedure walkToAubury;
begin
Goingon('Walking to magic shop')
Walkingways;
end;
procedure Toshop;
begin
if(not(LoggedIn))
then begin
GoingOn('Not logged in, script terminated.')
DisguiseScar('Terminated')
terminateScript;
end;
Goingon('Finding shop')
MS:=0
TP:=0
MagicShop:=0
Transportation:=0
repeat
MagicShop:=GetSymbolColor(x,y,'magic shop')
wait(150+random(100))
MS:=MS +1
writeln('Taken '+inttostr(MS)+'/6 tries to find magic shop symbol')
if(MagicShop=0)
then begin
KeyDown(VK_Left)
wait(600)
KEyUp(VK_Left)
end;
until(MS=6)or (MagicShop>0)
MS:=0
if(MagicShop>0)then begin
Mouse(x+7+random(2)-
random(4),y+6,2,2,true)
Goingon('Found magic shop')
Flag;
end;
if(MagicShop=0) then begin
writeln(' ')
repeat
Transportation:=GetSymbolColor(x,y,'transportation')
wait(150+random(100))
TP:=TP +1
writeln('Taken '+inttostr(TP)+'/6 tries to find transportation symbol')
if(Transportation=0)
then begin
KeyDown(VK_Left)
wait(600)
KEyUp(VK_Left)
end;
until(TP=6)or(Transportation>0)
if(MagicShop=0)and(Transportation=0)
then begin
Logout;
wait(5000+random(2000))
Loginplayer;
wait(500+random(400))
ToShop;
SetRun(True)
end;
TP:=0
writeln('')
Goingon('Found magic shop')
Mouse(x+5+random(2)-random(2),y+8,2,2,true)
end;
wait(200+random(100))
flag;
wait(1000)
MS:=0
TP:=0
MakeCompass('N')
MagicShop:=0
Transportation:=0
end;
procedure ToRocks;
begin
if(Teleported=True)
then begin
Teleported:=True;
Exit;
end;
Teleported:=False
Goingon('Finding Aubury')
mousespeed:=6
if(FindObj(x,y,'Aubu',11579834,50))then
begin
wait(50)
Mouse(x,y,2,2,false)
if(not(ClickOption('Tele',1)))then begin
wait(100)
Clickoption('Cancel',1)
wait(100)
if(Teleported=True)
then begin
Exit;
end;
notfindess;
if((InShop)=false)
then begin
exit;
end;
ToRocks;
end;
mousespeed:=7
ClickOption('Tele',1)
wait(200)
if(inchat('reach'))
then begin
ToRocks;
end;
Teleported:=True;
flag;
FindNormalRandoms;
wait(5500+random(2000))
makecompass('n')
end;
end;
procedure Roomways;
begin
case random(4) of
0: begin
repeat
goingon('Walking to S-W room')
mouse(625+random(10)-random(10),100+random(10)-random(10),6,6,true)
wait(3000)
flag;
until(findsymbol(x,y,'arrow'))
Mouse(x+10,y,2,2,true)
wait(200)
flag;
Location:='S-W room'+inttostr(ScriptTime(2))
end;
1: begin
goingon('Walking to N-W room')
repeat
mouse(667+random(10)-random(10),60+random(10)-random(10),6,6,true)
wait(3000)
flag;
until(findsymbol(x,y,'arrow'))
Mouse(x-20,y+12,2,2,true)
wait(200)
flag;
Location:='N-W room'+inttostr(ScriptTime(2))
end;
2: begin
Goingon('Walking to S-E room')
repeat
mouse(670+random(10)-random(10),110+random(10)-random(10),6,6,true)
wait(3000)
flag;
until(findsymbol(x,y,'arrow'))
Mouse(x-15,y,2,2,true)
wait(200)
flag;
Location:='S-E room'+inttostr(ScriptTime(2))
end;
3: begin
Goingon('Walking to N-E room')
repeat
mouse(624+random(10)-random(10),60+random(10)-random(10),6,6,true)
wait(3000)
flag;
until(findsymbol(x,y,'arrow'))
Mouse(x+20,y+5,2,2,true)
wait(200)
flag;
Location:='N-E room'+inttostr(ScriptTime(2))
end;
end;
end;
function MiddleRoom:Boolean;
begin
if((AtEss)=false)
then begin
result:=true;
writeln('You are in middle room')
roomways;
end;
end;
procedure WhatRoom;
begin
if(FindSymbol(x,y,'Anvil'))then
begin
TelePorted:=False;
ToShop;
ToRocks;
WhatRoom;
end;
goingon('What room is this?')
if(FindSymbol(x,y,'arrow'))
then begin
goingon('This is not middle room')
exit;
end;
if(not(FindSymbol(x,y,'arrow')))
then begin
MiddleRoom;
end;
end;
procedure Randoms;
begin
findnormalrandoms;
wait(20)
solvepinball;
wait(20)
SayLevel('Mining')
wait(20)
antiban;
GhostSpeak('Mining')
RandomChatEvery(4)
HoverEvery(6+random(2),'Mining')
FindLamp('Mining')
wait(10)
answers;
wait(10)
SayLevel('Magic')
wait(10)
FindPick;
if(findfight)then begin
goingon('Fight found, running away...')
RunAwayDirection('N')
wait(10000)
runback;
end;
if(findnewbox)then
SolveBox;
SRLRandomsReport;
clicktocontinue;
end;
procedure whilemining;
begin
if(InvFull)then
Exit;
Randoms;
wait(20)
if(InvFull)then
Exit;
TalkingToMe;
wait(30)
end;
procedure GetRockColor;
begin
writeln('')
if((AtEss)=false)
then begin
ToRocks;
WhatRoom;
end;
Goingon('Getting new rock color')
if(Rcol='')
then begin
Rcol:='8487563'
end;
RCol:=LoadSetting('Pentti','RColor')
if(Rcol='')
then begin
Rcol:='8487563'
end;
Goingon('Old rock color: '+Rcol)
if(Rcol='')
then begin
Rcol:='8487563'
end;
RockColor:=strtoint(Rcol)
if(RockColor=0)then begin
RockColor:=8487563
end;
if(FindObj(x,y,'Esse',RockColor,60))
then begin
getmousepos(x,y)
MMouse(x,y,0,0)
if(not(isuptext('Esse')))
then begin
notfindess;
GetRockColor;
exit;
end;
if(isuptext('Esse'))
then begin
getmousepos(x,y)
RockColor:=getcolor(x,y)
if(RockColor=65535)or(RockColor=0)
or(RockColor<6000000)
then begin
notfindess;
GetRockColor;
exit;
end;
end;
end;
makeCompass('n')
writeln('Got new rock color: '+inttostr(RockColor))
writeln('')
SaveSetting('Pentti','RColor',inttostr(Rockcolor))
end;
procedure MineClick;
begin
case random(2) of
0: begin
MMouse(x,y,1,1)
if(not(isuptext('Esse')))
then begin
MineClick;
end;
if(IsUpText('Esse'))
then begin
mouse(x+random(1)-random(1),y+random(1)-random(1),0,0,true)
flag;
wait(200)
end;
end;
1: begin
mouse(x+random(1)-random(1),y+random(1)-random(1),0,0,false)
wait(200)
if(not(clickoption('ine',1)))
then begin
MMouse(10,10,1,1)
wait(200)
MineClick;
end;
Clickoption('ine',1)
wait(200)
flag;
end;
end;
end;
procedure Mine;
begin
TalkToAcc;
HighestAngle;
if(FindObj(x,y,'Esse',rockcolor,20))
then begin
wait(200)
getmousepos(x,y)
MineClick;
wait(1000)
Goingon('Mining')
MarkTime(MiningWaitTime)
repeat
wait(1000)
whilemining;
until((TimeFrommark(MiningWaitTime)/1000)>20)or(invfull)
or(not(loggedin))
GI('Essences')
end;
end;
procedure BackShop;
begin
if(FindSymbol(x,y,'Anvil'))then
Exit;
if(OutEss=True)then
exit;
OutEss:=False;
Goingon('Going back to magic shop')
SetRun(true)
repeat
wait(200)
FindSymbol(x,y,'arrow')
until(FindSymbol(x,y,'arrow'))
mouse(x+4+random(2)-random(2),y+7+random(2)-random(2),2,2,true)
wait(300)
flag;
wait(200)
FindObj(x,y,'orta',10010307,7)
wait(200)
mouse(x,y,0,0,false)
wait(500)
if(not(Clickoption('Use',1)))then begin
OutEss:=False;
BackShop;
end;
if(ClickOption('Use',1))then
begin
wait(3500)
flag;
wait(3000+random(1500))
OutEss:=True;
end;
wait(3000+random(1500))
end;
procedure BankWays;
begin
if(TotEssStr='')
then begin
TotEssStr:='1'
end;
TotEssStr:=LoadSetting('Pentti','TotalEssences')
if(TotEssStr='')
then begin
TotEssStr:='1'
end;
Mined:=Mined +28
ReportVars[1] := 28;
TotalEss:=strtoint(TotEssStr)
if(TotalEss=0)
then begin
TotalEss:=1
end;
case random(2) of
0:begin
mouse(662+random(2)-random(2),39+random(2)-random(2),2,2,true)
wait(1500)
Flag;
wait(1500)
flag;
checkbankcolor;
wait(10)
Mouse(x+3,y+6,2,2,true)
wait(500)
flag;
end;
1:begin
mouse(610+random(2)-random(2),50+random(2)-random(2),2,2,true)
wait(500)
Flag;
wait(100)
mouse(653+random(2)-random(2),55+random(2)-random(2),2,2,true)
wait(500)
flag;
checkbankcolor;
wait(200)
Mouse(x+3,y+6,2,2,true)
wait(500)
flag;
end;
end;
end;
procedure ToBank;
begin
Goingon('Walking to bank')
MakeCompass('N')
bankways;
end;
procedure BankEss;
begin
MakeCompass('S')
openbank3B;
wait(50+random(50))
fixbank;
fixbank;
wait(50+random(50))
Goingon('banking all rune essences')
deposit(2,28,2);
deposit(2,28,2);
if(TotRunStr='')
then begin
TotRunStr:='1'
end;
TotRunStr:=LoadSetting('Pentti','TotalRuns')
if(TotRunStr='')
then begin
TotRunStr:='1'
end;
TotRun:=strtoint(TotRunStr)
if(TotRun=0)
then begin
TotRun:=1
end;
TotRun:=TotRun+1
SaveSetting('Pentti','TotalRuns',inttostr(TotRun))
banked:=banked+1
ReportVars[0] := 1;
wait(1050+random(50))
repeat
findbitmap(CloseBank01,x,y)
wait(1000)
movemousesmoothex(x+5+random(3),y+5+random(3),25,50,10,10,15)
wait(500)
mouse(x+7,y+7,4,4,true)
wait(200)
until(not(findbitmap(CloseBank01,x,y)))
wait(1000)
Makecompass('N')
wait(500+random(50))
end;
Function RegisterCheck:String;
begin
Result:=LoadSetting('Pentti','Reg')
end;
procedure SafeRegForm;
var
v: TVariantArray;
begin
if(RegisterCheck='0')then
Exit;
setarraylength(V, 0);
ThreadSafeCall('SRLReg', v);
end;
procedure ShowRegFormModal;
begin
StatReg.ShowModal;
end;
procedure SafeShowRegFormModal;
var
v: TVariantArray;
begin
if(RegisterCheck='0')then
exit;
setarraylength(V, 0);
ThreadSafeCall('ShowRegFormModal', v);
end;
procedure Reg(Sender : TObject);
begin
OpenWebPage('http://stats.srl-forums.com/')
end;
procedure Later(Sender : TObject);
begin
Writeln('You decided to register later.')
wait(1000)
StatReg.modalresult:=MROk
end;
procedure NoThanks(Sender : TObject);
begin
Writeln('WHY NOT? This form doesn'#39't show to you anymore.')
wait(2000)
SaveSetting('Pentti','Reg','0')
StatReg.ModalResult:=MROk;
end;
procedure SRLReg;
begin
StatReg := CreateForm;
StatReg.Left := 250;
StatReg.Top := 114;
StatReg.Width := 716;
StatReg.Height := 160;
StatReg.Hint := 'Want to register to SRL stats?';
StatReg.Caption := 'SRL_STATRS_REGISTRATION';
StatReg.Color := clHighlight;
StatReg.Font.Color := clWindowText;
StatReg.Font.Height := -14;
StatReg.Font.Name := 'MS Sans Serif';
StatReg.Font.Style := [];
StatReg.ShowHint := True;
StatReg.Visible := False;
StatReg.PixelsPerInch := 120;
RegLabel := TLabel.Create(StatReg);
RegLabel.Parent := StatReg;
RegLabel.Left := 17;
RegLabel.Top := 11;
RegLabel.Width := 652;
RegLabel.Height := 27;
RegLabel.Caption :=
'You are not yet SRL stats user. Do you want to register? (I Reco' +
'mmend)';
RegLabel.Font.Color := clWindowText;
RegLabel.Font.Height := -20;
RegLabel.Font.Name := 'Palatino Linotype';
RegLabel.Font.Style := [fsBold];
RegLabel.ParentFont := False;
RegYes := TButton.Create(StatReg);
RegYes.Parent := StatReg;
RegYes.Left := 49;
RegYes.Top := 60;
RegYes.Width := 135;
RegYes.Height := 40;
RegYes.Hint := 'Yes! I want to!';
RegYes.Caption := 'Yes!';
RegYes.Font.Color := clWindowText;
RegYes.Font.Height := -17;
RegYes.Font.Name := 'Georgia';
RegYes.Font.Style := [fsBold, fsItalic];
RegYes.ParentFont := False;
RegYes.TabOrder := 8;
RegYes.OnClick:= @Reg;
RegLater := TButton.Create(StatReg);
RegLater.Parent := StatReg;
RegLater.Left := 254;
RegLater.Top := 60;
RegLater.Width := 135;
RegLater.Height := 40;
RegLater.Hint := 'Remind me later.';
RegLater.Caption := 'Remind later.';
RegLater.Font.Color := clWindowText;
RegLater.Font.Height := -17;
RegLater.Font.Name := 'Georgia';
RegLater.Font.Style := [fsBold, fsItalic];
RegLater.ParentFont := False;
RegLater.TabOrder := 9;
RegLater.OnClick := @Later;
RegNo := TButton.Create(StatReg);
RegNo.Parent := StatReg;
RegNo.Left := 470;
RegNo.Top := 60;
RegNo.Width := 135;
RegNo.Height := 40;
RegNo.Hint := 'No. I don'#39't want to.';
RegNo.Caption := 'No thanks!';
RegNo.Font.Color := clWindowText;
RegNo.Font.Height := -17;
RegNo.Font.Name := 'Georgia';
RegNo.Font.Style := [fsBold, fsItalic];
RegNo.ParentFont := False;
RegNo.TabOrder := 10;
RegNo.OnClick := @NoThanks;
end;
procedure Report;
begin
TotEssstr:=LoadSetting('Pentti','TotalEssences')
TotRunStr:=LoadSetting('Pentti','TotalRuns')
cleardebug;
writeln(' _____________________________________ ')
writeln('|Essence miner by: Pentti (Report->) |')
writeln('|_____________________________________|')
writeln('| '+inttostr(Banked)+' Banking runs by one script run. |')
writeln('| Mined '+inttostr(Mined)+' essences by one script run |')
writeln('| Script has worked for '+inttostr(ScriptTime(2))+' minutes. |')
writeln('| Logged out '+inttostr(LogsO)+' times |')
writeln('| Total essences mined: '+TotEssstr+' |')
writeln('| Total bank runs: '+Totrunstr+' |')
writeln('|_____________________________________|')
end;
procedure LoadBitMaps;
begin
CloseBank01 := BitmapFromString(19, 20, 'z78DAC594411283200C4' +
'5AF244908B29452EE7FA45A7F17CC88347464EAE28D03212F8824' +
'E6E8C223826E152D33B86A48BA86459D6872DB1AE33C63EDF2C51' +
'37F76879179F45132472F1239A092D946798A670661D4E4B370CD' +
'E5FD38F03C3B1A3F6AEC7B2D91B51127FB5B367B550DA3F820EE8' +
'AE7CC0D5737C3A8B1EFB5ACDDFFD14205B41BCF5EFB2A614E9440' +
'187137FBBCDAA365EDA8D1728E76E3DE6FF6966077D967BF18D18' +
'52A36B29D62EC91A3C62B973DBE613C7AEC3CF2C6440AFEC1C8AA' +
'5EA61B8532118C18C117AE2BB98D878B12A9CB78B7DCB57BF902E' +
'139DD87');
end;
const Skip=true;
begin
SetUpSRL;
SetUpSRLMining;
ScriptID:='44'
declareplayers;
if(SRLID='')or
(SRLPASSWORD='')then
begin
RegisterCheck;
SafeRegForm;
SafeShowRegFormModal;
end;
cleardebug;
clearreport;
Report;
teleported:=False;
wait(3000)
clearreport;
cleardebug;
if(Skip=False) then begin
writeln('Going to make '+inttostr(bankRuns)+' bank runs.')
writeln('Logging out after '+inttostr(EveryXMinutes)+' minutes')
writeln('For '+inttostr(ForXMinutes)+' minutes')
wait(3500)
clearreport;
cleardebug;
Writeln('Essence miner By: [Pentti]')
wait(160)
cleardebug
Writeln('Essence miner By: [ Pentti ]')
wait(190)
cleardebug;
Writeln('Essence miner By: [ Pentti ]')
wait(250)
cleardebug;
Writeln('Essence miner By: [ Pentti ]')
wait(250)
cleardebug
Writeln('Essence miner By: [ Pentti ]')
wait(190)
cleardebug;
Writeln('Essence miner By: [ Pentti ]')
wait(160)
cleardebug;
Writeln('Essence miner By: [Pentti]')
wait(1000)
end;
cleardebug;
disguisescar('Windows Messenger Live')
SymbolAccuracy:=0.8
mousespeed:= 7
Benmouse:=true
LoadBitMaps;
LoadGhostSpeakWords('Mining')
if(Players[CurrentPlayer].Name='')
then begin
writeln('You must write your PLAYERNAME to start script')
terminatescript;
end;
if(Players[CurrentPlayer].Pass='')
then begin
writeln('You must write your PASSWORD to start script')
terminatescript;
end;
if(Players[CurrentPlayer].Nick='')
then begin
writeln('You must write your NICKNAME to start script')
terminatescript;
end;
NickNameBmp:=Createbitmapmaskfromtext(Players[CurrentPlayer].Nick,Upchars)
Activateclient;
wait(1000)
if(not(loggedin))then
begin
loginplayer;
wait(2000+random(500))
end;
repeat
Trip:=trip+1
PlayerTrip:=PlayerTrip+1
FindpickHeadColor;
if(hc1=0)or(hc2=0)or(hc3=0)or(hc4=0)
then begin
writeln('You must have pickaxe to run with this')
logout;
writeln('Logged out; [No pickaxe]')
terminatescript;
end;
writeln('Starting trip number '+inttostr(trip)+'.')
MakeCompass('N')
highestangle;
SetChat('Hide',1)
setchat('friends',2)
setchat('off',3)
teleported:=False;
SetAtScriptBrightness
walkToAubury;
toshop;
TalkToAcc
ToRocks;
OutEss:=False;
if(TelePorted=False)
then begin
ToShop;
ToRocks;
end;
WhatRoom;
getrockcolor;
Repeat
Mine;
until(InvFull)
TotalEss:=TotalEss+28
SaveSetting('Pentti','TotalEssences',inttostr(TotalEss))
Goingon('Inventory full')
mousespeed:=7
makecompass('n')
highestangle;
BackShop;
Tobank;
TalkToAcc;
bankEss;
OutEss:=False;
LogOutEvery2(EveryXMinutes,ForXMinutes)
Report;
if(Players[CurrentPlayer].Integer1<=PlayerTrip)then
begin
NextPlayer(True)
NickNameBmp:=Createbitmapmaskfromtext(Players[CurrentPlayer].Nick,Upchars)
FindNormalRandoms;
wait(200)
GoingOn('Player changed')
PlayerTrip:=0
end;
until(BankRuns=Banked)or(Scripttime(2)>240)
report;
SRLRandomsReport;
terminatescript;
end.——————————————————
<!– END TEMPLATE: formanswers –>