Thanks for voting/commenting, everyone !!
The Updated Guild Miner is added.. I didnt have any chances to test it yet… Last time I did, it ran about 16 hours with one account :D….
Infintry: Sure :).. I'm adding the new crafting guild miner in a second ;)..
Trilez: Okay. I'll add it soon..
ian: thank you :'D… I guess i shall read your story sometime ._.
JAD: Thanks for all those suggestions :).. This script didnt get any of my acounts banned… which is weird, cause i had it running for 24 hours + with only 1 account ;)…. Oh and one thing. I'm using the bitmaps all the time, thats why i dont free em.
Evil Chicken: Yeah, I'm always improving as i follow my path :). Thanks!.
cycrosism: *Pasting the updated miner*
J_Pizzle: Thanks, ill give my best. always!.. :)..
BobboHobbo: Thanks. also feel free to check out the updated version, its even kinda cleaned up ;)…
Nauman: wweeew caused caused a large "thank yuuu" ;)..
T~M: Thanks Man!.
Kave: Hooray =)
Dr D. Dervish: Whatever that means, but thanks for commenting/voting :'D….
Heres The Updated script:
//////////Crafting Guild Miner,,, by caused///////////////////////////
//==================================================================//
//Version 2.0, stable/////////////////////////////////////////////////
//==================================================================//
//>>>>>Requirements: //
// > Latest SRL, //
// > Reflection, //
// > Smart //
//==================================================================//
//>>>>>Setup Instructions: //
// //
// 1. Make Sure that you're having "cAntiban.scar" in your //
// "scar/includes/caused" folder. //
// 2. Setup Everything Form Line 267 to 293. //
// 3. If youre using the Autotalker, I recommend to customize it...//
// //
// 4. Place your Guy Where to Gold is, dont Forget the brown dress //
// 5. Start(Post your proggy, to help me improve the script) //
// //
//==================================================================//
//////////////////////////////////////////////////////////////////////
program GuildGoldMiner;
{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
{.include srl/srl/misc/FindXP.scar}
{.include srl/srl/skill/Magic.scar}
{.include srl/srl/reflection/reflection.scar}
{.include SRL\srl\Misc\trade.scar}
{.include caused/cAntiban.scar}
//MiscID's
var
Gold: Array [0..100] of integer;
DoorClosed: integer;
Dooropen: integer;
//Proggy Vars
Loads, OresMined, MiningLvl, Loadtime, MinOld, MinNew, TimesTalked, Lostwalked, Switched, TimesTraded : Integer;
//DTMS's
goldore : Integer;
//Screenshot vars
bild : Integer;
//AutoTalk vars
newchattr, lastchattr : String;
bblvl : integer;
time1 : integer;
time2 : integer;
time3 : integer;
Switchtime : integer;
texttest : string;
TradeMarkx : integer;
//Setup Vars
wp, at, ab: Integer;
UseAutoTalker : Boolean;
UseAntiBan : Boolean;
UseFalaTele : Boolean;
WieldPickaxe : Boolean;
HowManyLoads : Integer;
//FS Vars
MineTime : Integer;
Function Autotalker(topic : string):boolean;
var
invam : integer;
begin
If(UseAutoTalker = True) then
begin
invam := invcount;
invam := 28 - invam;
LastChatter(newchattr);
texttest := '0';
Writeln('test check:');
GetLastChatText(texttest);
WriteLn('Attempt to Autotalk on: '+texttest);
if not(texttest = '0') then
begin
if(topic = 'Howmany2go')then
begin
if(random(100) >= 90)then
begin
case Random(12) of
0: TypeSend(AddMistakes(inttostr(invam)+' noch..', 25));
1: TypeSend(AddMistakes('Noch '+inttostr(invam), 25));
2: TypeSend(AddMistakes(inttostr(invam), 25));
3: TypeSend(AddMistakes(inttostr(invam), 25));
4: TypeSend(AddMistakes('Fuer mich, Noch ' +inttostr(invam), 25));
5: TypeSend(AddMistakes('Sooo.. fast voll', 25));
6: TypeSend(AddMistakes('fast voll', 25));
7: TypeSend(AddMistakes('Nur noch '+inttostr(invam)+' , die sind fuer mich', 25));
8: TypeSend(AddMistakes('Nur noch '+inttostr(invam)+' , fuer mich', 25));
9: TypeSend(AddMistakes('Noch '+inttostr(invam)+' stehen lassen', 25));
10: TypeSend(AddMistakes('Lass fuer mich, brauch nur '+inttostr(invam), 25));
11: TypeSend(AddMistakes('Fuer mich, brauch nur '+inttostr(invam), 25));
end;
savescreenshot('CGM-Misc-'+inttostr(bild)+inttostr(Random(5000))+'.bmp');
WriteLn('We Made A Screenshot');
bild := bild +1;
Inc(TimesTalked);
end;
end;
if(topic = 'Mining')then
begin
if
(
(inchat('Bergbau lvl'))
OR(inchat('Min lvl'))
OR(inchat('Mining lvl'))
OR(inchat('mining lvl'))
OR(inchat('deine Stufe in Bergbau') )
OR(inchat('Minig lvl'))
OR(inchat('Mini lvl'))
OR(inchat('Bb lvl'))
OR(inchat('Min lv'))
OR(inchat('Min lev'))
OR(inchat('Min level'))
OR(inchat('Mining lv'))
OR(inchat('Mining lev'))
OR(inchat('Mining level ?'))
OR(inchat('Mining level?'))
OR(inchat('Minin lv'))
OR(inchat('Minin level'))
OR(inchat('lv/'))
OR(inchat('Bb Lvl'))
OR(inchat('level in Mining'))
) then
begin
if not(lastchattr = newchattr)then
begin
//QCSayLevel('mining');
if(TimeFromMark(Time1) > 180000) OR (TimesTalked = 0) then
begin
case Random(9) of
0: TypeSend(AddMistakes(inttostr(bblvl)+', lvl', 25));
1: TypeSend(AddMistakes(inttostr(bblvl)+', Deine ', 25));
2: TypeSend(AddMistakes(inttostr(bblvl)+' hier', 25));
3: TypeSend(AddMistakes('+-'+inttostr(bblvl), 25));
4: TypeSend(AddMistakes('blub', 25));
5: TypeSend(AddMistakes((inttostr(Random(9)+90)), 25));
6: TypeSend(AddMistakes(inttostr(bblvl), 25));
7: TypeSend(AddMistakes('bululub', 25));
end;
Inc(TimesTalked);
savescreenshot('CGM-Mining-'+inttostr(bild)+inttostr(Random(5000))+'.bmp');
WriteLn('We Made A Screenshot');
bild := bild +1;
end;
time1 := 0;
MarkTime(time1);
end;
end;
end;
if(inchat('T432eilen'))OR(inchat('teil432en')) then
begin
if not(lastchattr = newchattr)then
begin
//QCSayLevel('mining');
TypeSend('Nein');
end;
if( (inchat(Players[0].Nick)) OR (inchat(Players[0].Name)) ) then
begin
if not(lastchattr = newchattr)then
begin
if(TimeFromMark(Time1) > 180000) OR (TimesTalked <= 3) then
begin
case Random(7) of
0: TypeSend(AddMistakes(':)', 25));
1: TypeSend(AddMistakes('xD', 25));
2: TypeSend(AddMistakes('!', 25));
3: TypeSend(AddMistakes('lol', 25));
4: TypeSend(AddMistakes('blub', 25));
5: TypeSend(AddMistakes('hehe', 25));
6: TypeSend(AddMistakes('?', 25));
end;
time1 := 0;
MarkTime(time1);
end;
savescreenshot('CGM-Nick-'+inttostr(bild)+'.bmp');
WriteLn('We Made A Screenshot');
bild := bild +1;
end;
end;
LastChatter(lastchattr);
end;
end;
end;
end;
procedure DefineIds;
begin
// Gold DTM
goldore := BitmapFromString(5, 5, 'beNpbK9WcJbC2V3TndLE9M8V' +
'XdYv2FgsCuUcXSBxfBEJTKoQg3AsrJS+tllreIQJUeWqJ5K2N0lfX' +
'Sm3oFwXqAnKB7KsAChUjTA==');
// Gold IDS
//Avail
Gold[1] := 11183;
Gold[2] := 11184;
Gold[3] := 11185;
//Not Avail
Gold[4] := 37700;//bla
Gold[5] := 37701;
Gold[6] := 37702;
//Misc
DoorClosed := 2647;
DoorOpen := 83;
end;
procedure Setup;
begin
/////////////////////////////////////
//Main Setup/////////////////////////
/////////////////////////////////////
WieldPickaxe := False; // True = Enable, False = Disable
UseAutotalker := True; // True = Enable, False = Disable
UseAntiBan := True; // True = Enable, False = Disable
UseFalaTele := True; // Have Air Staff Equipt. Law and Water Runes in Invetory. Pickaxe in Inventory.
HowManyLoads := 0; // 0 = Unlimited
/////////////////////////////////////
//Player Setup///////////////////////
/////////////////////////////////////
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //Your Account name <<
Players[0].Pass := ''; //And Password <<
Players[0].Nick := ''; //Part of your Name <<
Players[0].Active := True; //No need to change
Players[0].Integers[0] := 10; //No need to change
Players[0].BoxRewards := ['Gem', 'XP', 'XP', 'Gem', 'ithril', 'oal']; // For the Reward box
WriteLn('Waiting for the RS Client to be ready...');
wp := 2;
If( WIeldPickaxe = True) then
wp := 1;
IF(UseFalaTele = True)then
wp := 4;
repeat
wait(1000);
until(RsReady);
If not(Loggedin) then
LoginPlayer;
WriteLn('Logged in?');
end;
Procedure MiscSetup;
begin
//Starting Switch World Timer
MarkTime(Switchtime);
//Trade Setup
TradeMarkx := 0;
//Filter Game Messages
Mouse(90,490,10,5,False);
wait(Random(100)+300);
ChooseOption('Filter');
//Mouse(145,490,5,5,True);
wait(Random(500)+1500);
end;
function invcheck():integer;
var
x,y:integer;
x1,y1:integer;
x2,y2:integer;
mwillow:integer;
begin
x1:=538;
y1:=202;
x2:=800;
y2:=800;
mwillow :=0;
while(FindBitmapToleranceIn(goldore,x,y,x1,y1,x2,y2,5))do
begin
x1 := 538;
while(x1<=x2)do
begin
if(FindBitmapToleranceIn(goldore,x,y,x1,y1,x2,y2,5))then
begin
// Found Bitmap
x1 := x+1;
mwillow := mwillow + 1;
writeln('There are'+inttostr(mwillow)+'Gold Ores found');
writeln('x1='+inttostr(x1));
wait(50);
end else
//WriteLn('Bitmap not found.');
x1 :=900;
y1 := y1+1;
end;
x1 := 0;
y1 := y+1;
end;
OresMined := mwillow + OresMined;
WriteLn('Progress Report, Ores: '+IntToStr(OresMined));
Result := mwillow;
end;
Function Walkthepath(Tilesx: TPointArray):Boolean;
var
i,x,y,fs:integer;
arl:integer;
begin
arl := (high(Tilesx));
for i:= 0 to arl do
begin
x := Tilesx[i].x;
y := Tilesx[i].y;
fs := 0;
repeat
R_FindRandoms;
FindNormalRandoms;
wait(Random(200)+300);
fs := fs+1;
WriteLn('Walk fs: '+inttostr(fs));
until((WalkToTile(Point(x,y), 1, 32)) OR (fs >= 10));
end;
if(fs >= 10)then
begin
WriteLn('We are Lost :((((( .... Starting Lostwalk');
Result := False;
end;
if(fs < 10)then
begin
WriteLn('Walked Successfully');
Result := True;
end;
end;
Function WalkThere(what: string):boolean;
Var
Tiles: TPointArray;
begin
case what of
'tobank': begin
Tiles:=[
// Point(2932, 3289), Clicked on the farm bla..
Point(2933, 3295),
Point(2935, 3299),
Point(2943, 3300),
Point(2948, 3304),
Point(2955, 3306),
Point(2964, 3305),
Point(2973, 3304),
Point(2979, 3305),
Point(2984, 3305),
Point(2989, 3307),
Point(2995, 3309),
Point(3002, 3315),
Point(3006, 3320),
Point(3006, 3327),
Point(3006, 3333),
Point(3006, 3341),
Point(3006, 3346),
Point(3006, 3351),
Point(3006, 3357),
Point(3008, 3360),
Point(3012, 3356)
];
end;
'toguild': begin
Tiles:=[
Point(3012, 3356),
Point(3008, 3360),
Point(3006, 3357),
Point(3006, 3351),
Point(3006, 3346),
Point(3006, 3341),
Point(3006, 3333),
Point(3006, 3327),
Point(3006, 3320),
Point(3002, 3315),
Point(2995, 3309),
Point(2989, 3307),
Point(2984, 3305),
Point(2979, 3305),
Point(2973, 3304),
Point(2964, 3305),
Point(2955, 3306),
Point(2948, 3304),
Point(2943, 3300),
Point(2935, 3299),
Point(2933, 3295),
Point(2932, 3289)
];
end;
'LeaveGuild': begin
Tiles:=[
Point(2934, 3281),
Point(2933, 3286)
];
end;
'FalaTeleToBank' : begin
Tiles:=[
Point(2964, 3381),
Point(2970, 3379),
Point(2977, 3378),
Point(2983, 3374),
Point(2989, 3370),
Point(2996, 3367),
Point(3003, 3363),
Point(3010, 3361),
Point(3011, 3354)]
end;
'LumbiToBank' : begin
Tiles:=[
Point(3225, 3218),
Point(3229, 3218),
Point(3232, 3218),
Point(3234, 3221),
Point(3234, 3226),
Point(3231, 3229),
Point(3228, 3233),
Point(3225, 3237),
Point(3222, 3241),
Point(3222, 3245),
Point(3220, 3249),
Point(3217, 3257),
Point(3217, 3263),
Point(3216, 3268),
Point(3215, 3273),
Point(3212, 3277),
Point(3208, 3280),
Point(3201, 3280),
Point(3195, 3280),
Point(3189, 3283),
Point(3182, 3286),
Point(3176, 3285),
Point(3171, 3286),
Point(3163, 3288),
Point(3160, 3289),
Point(3157, 3292),
Point(3150, 3294),
Point(3141, 3295),
Point(3133, 3295),
Point(3121, 3296),
Point(3111, 3296),
Point(3101, 3295),
Point(3094, 3293),
Point(3088, 3291),
Point(3082, 3289),
Point(3076, 3288),
Point(3073, 3282),
Point(3070, 3278),
Point(3062, 3277),
Point(3053, 3276),
Point(3044, 3276),
Point(3035, 3277),
Point(3025, 3277),
Point(3018, 3277),
Point(3010, 3277),
Point(3008, 3283),
Point(3005, 3290),
Point(3005, 3298),
Point(3005, 3305),
Point(3006, 3313),
Point(3006, 3318),
Point(3006, 3325),
Point(3006, 3335),
Point(3006, 3343),
Point(3006, 3352),
Point(3006, 3357),
Point(3010, 3360),
Point(3011, 3356)
]
end;
end;
IF not(WalkThePath(Tiles))then
begin
Result := False;
end else
begin
Result := True;
end;
end;
procedure Lostwalk;
begin
Lostwalked := Lostwalked+1;
WriteLn('Lostwalk Initiated!');
savescreenshot('CGM-Lostwalk-'+inttostr(bild)+inttostr(Random(5000))+'.bmp');
WriteLn('We Made A Screenshot');
bild := bild +1;
If not(Loggedin) then
LoginPlayer;
IF (UseFalaTele = True) then
begin
If (Cast('falador teleport')) then
begin
wait(3000);
MakeCompass('N');
WalkThere('FalaTeleToBank');
end else
begin
UseFalaTele := False;
end;
end;
IF (UseFalaTele = False) Then
begin
Mouse(742,185,4,4,True);
wait(1000);
Mouse(573,229,4,4,True);
wait(15000);
If(Walkthere('LumbiToBank') = False) then
TerminateScript;
end;
end;
Procedure TradeOre;
var
x,y,b: Integer;
MainTradeTime : integer;
Begin
WriteLn('CHecking TRades');
WriteLn('TradeMarkx: '+IntToStr(TimeFromMark(TradeMarkx)));
if((TimeFromMark(TradeMarkx) >= 220000) OR (TimesTraded = 0)) then
begin
Marktime(MainTradeTime);
WriteLn('We Are Trying to Trade');
if(SomeoneTrades)then
begin
WriteLn('Got a trade, Accepting!');
Marktime(TradeMarkx);
wait(Random(600)+400);
Mouse(318,492,10,5,True);
wait(Random(500)+1500);
AcceptTrade;
wait(Random(500)+1500);
end else
begin
exit;
end;
writeln('Waiting for trade Screen');
If not(Tradescreen = 1) then
begin
wait(100);
Mouse(33,494,10,2,True);
exit;
end;
wait(100);
Mouse(33,494,10,2,True);
Inc(TimesTraded);
WriteLn('Trading...');
WriteLn('Checking if Gold Ore is offered...');
repeat
WriteLn('Checking offers....');
wait(500);
untiL( (TimeFromMark(Maintradetime) >= 30000) OR (FindBitmapTolerancein(goldore,x,y,315,70,499,230,5)) )
savescreenshot('CGM-Trading-'+inttostr(bild)+inttostr(Random(5000))+'.bmp');
WriteLn('We Made A Screenshot');
bild := bild +1;
//Checking if its Gold Ore
If( FindBitmapTolerancein(goldore,x,y,315,70,499,230,5) ) then
begin
repeat
accept;
wait(500);
Until((Tradescreen = 2) OR (TimeFromMark(Maintradetime) >= 30000));
end else
begin
CloseWindow;
exit;
end;
WriteLn('accepting Trade Screen 2');
repeat
if(PlayerAccepted) then
begin
Accept;
wait(1000);
case Random(5) of
0: TypeSend(AddMistakes('ty', 25));
1: TypeSend(AddMistakes('thx', 25));
2: TypeSend(AddMistakes('hooray', 25));
3: TypeSend(AddMistakes('danke', 25));
4: TypeSend(AddMistakes('yay', 25));
end;
end;
wait(100);
until(((Tradescreen = 2) = False) OR (TimeFromMark(MainTradeTime) >= 40000))
TradeMarkx := 0;
Marktime(TradeMarkx);
wait(100);
Mouse(33,494,10,2,True);
end;
end;
procedure Mining;
var
x ,y ,i ,fs ,fs2 : integer;
p, waitp : TPoint;
twaitore, SafeTime, invam : Integer;
begin
WriteLn('Starting the Mining Procedure');
MarkTime(loadtime);
MinOld := Getxp('Mining');
bblvl := GetSkillLevel('mining');
WriteLn('Current Mining EXP: '+inttostr(MinOld));
fs := 0;
fs2 := 1;
twaitore := 0;
SetAngle(True);
MineTime := 0;
MakeCompass('S');
SetRun(True);
if not ExistsItem(28) then
Begin
MarkTime(MineTime);
while((ExistsItem(28) = False) AND (TimeFromMark(MineTime)<= 1100000) ) do
begin
wait(Random(300)+200);
i:=0;
WriteLn('Scanning for Rocks');
WriteLn('MineTime: '+IntToStr(TimeFromMark(MineTime)));
while((i<=2) AND (ExistsItem(28) = False)) do
begin
inc(i);
R_FindRandoms;
if findobjectex(p,Gold[i],10) then
begin
WriteLn('Rock Found. Mining!');
fs2 :=1;
twaitore := 0;
p := TileToMS(p, Random(1));
mouse(p.x,p.y,7,7,True);
wait(Random(300)+200);
WriteLn('Waiting for the Rock to be mined');
repeat
fs := fs+1;
R_FindRandoms;
FindNormalRandoms;
if((3 >= Random(10)) AND (UseAntiban = True))then
cAntiban('Light', True);
wait(Random(100)+50);
until((findobjectex(p,Gold[i],5) = False) OR (fs = 50) OR (ExistsItem(28)));
MarkTime(twaitore);
fs := 0;
WriteLn('Rock Mined');
invam := 28 - invcount;
if(invam <= 8)AND(invam > 0) then
Autotalker('Howmany2go');
end;
FindNormalRandoms;
Autotalker('Mining');
end;
if(5 > Random(10))then
begin
If( (TimeFromMark(twaitore)) >= (Random(3000)+2000) ) AND (fs2 = 1)then
begin
WriteLn('Waiting Position for Ore');
waitp := TileToMs(Point(2940, 3279),2);
Mouse((waitp.x-RandomRange(-10,40)),(waitp.y-RandomRange(-25,20)),2,2,True);
R_FindRandoms;
wait(Random(500)+500);
fs2 :=0;
end;
end;
TradeOre;
if((3 >= Random(100)) AND (UseAntiban = True))then
cAntiban('Medium', True);
end;
end;
WriteLn('Counting Ores');
Invcheck();
R_FindRandoms;
end;
Function OpenDoor(dir:string):Boolean;
var
p, TP : TPoint;
fs, fs2 : Integer;
begin
fs2 :=0;
if(dir = 'raus') then
begin
WriteLn('Rausgehen');
wait(2000);
TP := GetMyPos;
WriteLn('Current Pos: ('+inttostr(TP.x)+','+inttostr(TP.y)+')');
while not ((TP.y = 3289) AND (TP.x = 2933) AND (fs2 <= 15)) do
begin
if(fs2 >= 10)then
begin
MakeCompass('N');
WriteLn('Going to Door');
WalkThere('LeaveGuild');
wait(random(500)+600);
end;
fs2:=fs2+1;
//raus
TP := GetMyPos;
WriteLn('Current Pos: ('+inttostr(TP.x)+','+inttostr(TP.y)+')');
Writeln(inttostr(TP.y));
if findobjectex(p,DoorClosed,20) then
begin
WriteLN('Door Found FI');
p := TileToMS(p, Random(1));
mouse(p.x,p.y,5,5,True);
wait(3500);
if(fs2 >= 5)then
begin
mouse(p.x,p.y,5,5,False);
ChooseOption('Open');
end;
end;
wait(Random(300)+100);
end;
end;
wait(Random(500)+500);
if(dir = 'rein') then
begin
WalkToTile(Point(2933,3290), 1, 10);
MakeCompass('S');
TP := GetMyPos;
while not ((TP.y = 3288)AND(TP.x = 2933)) do
begin
TP := GetMyPos;
Writeln(inttostr(TP.y));
fs:=fs+1;
if((fs >= 5) AND (fs <=10)) then
begin
Mouse(265,229,4,4,True);
wait(Random(1000)+3400);
end;
if(fs >= 10) then
begin
MakeCompass('S');
WalkToTile(Point(2933,3290), 1, 10);
wait(Random(1000)+3400);
end;
if findobjectex(p,DoorClosed,20) then
begin
WriteLN('Door Found FO');
p := TileToMS(p, Random(1));
mouse(p.x,p.y-19,5,5,True);
wait(Random(800)+3000);
TP := GetMyPos;
end;
wait(Random(200)+100);
if(fs >= 20) then
Lostwalk;
end;
end;
MakeCompass('N');
end;
Function LeaveGuild:Boolean;
var
x,y: integer;
begin
MakeCompass('N');
WriteLn('Going to Door');
WalkThere('LeaveGuild');
wait(Random(1000)+600);
OpenDoor('raus');
result:=true;
end;
Procedure WalkToBank;
var
Walkfs : Boolean;
begin
WalkFs := True;
If (UseFalaTele = True) then
begin
If (Cast('falador teleport')) then
begin
wait(5000);
MakeCompass('N');
wait(500);
WalkThere('FalaTeleToBank');
end else
begin
UseFalaTele := False;
end;
end;
IF ((UseFalaTele = False) AND (TimeFromMark(MineTime)> 900000)) then
begin
Lostwalk;
WalkFs := False;
end;
If ((UseFalaTele = False) AND (WalkFs)) Then
begin
LeaveGuild;
wait(1000);
MakeCompass('N');
WriteLn('Starting to walk...');
If ( ((WalkThere('tobank')) = False)) then
Lostwalk;
end;
end;
procedure WalktoGuild;
begin
SetRun(True);
If(((WalkThere('toguild'))=False))then
begin
Lostwalk;
WalktoGuild;
end;
WriteLn('Attempting to stand at door');
end;
procedure EnterGuild;
begin
WriteLn('Entering the Guild');
wait(Random(600)+400);
OpenDoor('rein');
R_FindRandoms;
SetRun(True);
WalkToTile(Point(2940, 3279), 2, 2);
wait(20);
WalkToTile(Point(2940, 3279), 2, 2); //fs
wait(Random(1000)+4000);
end;
procedure Banking;
var
fs : integer;
ic : Tpoint;
ritemslot : Integer;
begin
fs := 0;
WalkToTile(Point(3012, 3356),1,4);
repeat
UseRewardBox;
WriteLn('Banking');
R_FindRandoms;
R_OpenBankBooth('FEB');
wait(5500);
inc(fs);
WriteLn('Checking for bankscreen');
until(Bankscreen OR (fs = 10));
if(fs>=10)then
begin
WriteLn('20 Attempts to open the bank failed.. We are Lost.. Starting Lostwalk');
Lostwalk;
end;
if(fs>=20)then
begin
WriteLn('Banking');
R_FindRandoms;
R_OpenBankBooth('FEB');
wait(Random(3000)+2000);
inc(fs);
WriteLn('Checking for bankscreen');
end;
if(fs <= 20) then
begin
fs:=0;
repeat
IF(UseFalaTele = False) AND (WieldPickaxe = True) then
wp := 1;
IF(UseFalaTele = False) AND (WieldPickaxe = False) then
wp := 2;
Deposit(wp,28,True);
wait(Random(600)+600);
INC(fs);
until((InvCount = (wp-1)) OR (fs >= 20))
if(fs>=20)then
begin
WriteLn('We Lost the Pickaxe. Terminating script...');
R_FindRandoms;
end;
CloseBank;
end else
begin
R_FindRandoms;
WriteLn('We Are Lost (Cast Lumbi or Fallador tele)');
end;
end;
procedure Proggy;
var
Mincalc, Tis, expsec, exphour, ltime : Integer;
begin
inc(Loads);
MinNew := Getxp('Mining');
wait(500);
ltime := TimeFromMark(Loadtime);
//Load exp gained
Mincalc := MinNew - MinOld;
Writeln('EXP gained:'+inttostr(Mincalc));
//Time in seconds.
Tis := ltime / 1000;
Writeln('Time in Seconds:'+inttostr(Tis));
//Exp per second
expsec := Mincalc / Tis;
Writeln('Exp per second:'+inttostr(expsec));
//Exp in An Hour
exphour := expsec * 60 * 60;
Writeln('Exp per hour:'+inttostr(exphour));
WriteLn('#############################');
WriteLn('#Crafting Guild Miner########');
WriteLn('#############################');
WriteLn('Runtime: '+TimeRunning);
WriteLn('Load Time: '+inttostr(ltime/1000)+' Seconds');
WriteLn('Loads Done: '+inttostr(Loads)+' of '+IntToStr(HowManyLoads));
WriteLn('Gold Ores Mined: '+inttostr(OresMined));
WriteLn('Exp per Hour: '+IntToStr(exphour));
WriteLn('Times Talked: '+IntToStr(TimesTalked));
WriteLn('Trades Handled: '+IntToStr(TimesTraded));
WriteLn('Times Lostwalked: '+IntToStr(Lostwalked));
WriteLn('Times Worlds Switched: '+IntToStr(Switched));
WriteLn('Screenshots Made: '+IntToStr(bild));
WriteLn('#############################');
WriteLn('#Setup#######################');
WriteLn('#############################');
WriteLn('Use Autotalker: '+BoolToStr(UseAutotalker));
WriteLn('Use Antiban: '+BoolToStr(UseAntiban));
WriteLn('Use Falador Teleport: '+BoolToStr(UseFalaTele));
WriteLn('Wield Pickaxe: '+BoolToStr(WieldPickaxe));
WriteLn('#############################');
If (Loads = HowManyLoads) then
begin
WriteLN('Load Limit Reached. Were Done.');
TerminateScript;
end;
//Load Done Sound
//PlaySound('item-sw.wav');
ltime := 0;
Loadtime := 0;
end;
Procedure WorldSwitcher;
begin
If(TimeFromMark(Switchtime) >= (Random(2000000)+2000000))then
begin
Logout;
wait(2000);
//WriteLn(Opening WOrld screen..)
Mouse(382,242,20,2,True);
wait(7000);
ChangeWorld(RandomWorld(False,False));
wait(2000);
SwitchTime := 0;
Marktime(Switchtime);
Inc(Switched);
end;
end;
begin
SetupSRL;
Smart_Members := False; //Members-only world?
Smart_Server := RandomWorld(False,False); //World number
Smart_Signed := False; //Signed?
Smart_SuperDetail := False; //HD
SetupReflection;
DefineIds;
Setup;
MiscSetup;
R_FindRandoms;
FindNormalRandoms;
repeat
Mining;
WalktoBank;
Banking;
WalkToGuild;
EnterGuild;
WorldSwitcher;
Proggy;
until(false);
end.
~caused