{=========================================================================] [ Stupid3ooo's GuildMiner ] [ version: 4.0 ] [=========================================================================] | Description: | | A macro that mines a full load of coal in the miner's guild, | | and if chosen, mithril, then banks it in the east Falador bank. | | | Instructions: | | 1.Set the Runescape brightness to V-bright, and your computer's | | resolution to 32bit resolution. | | 2.Need SCAR version 2.0.3. | | 3.Start script in the Falador eastern bank. | | 4.Start with a pickaxe in your fist inventory slot or equiped. | | 5.Recomended to have extra pickaxes in your first bank slot. | | 6.Click and drag the crosshair over the Runescape client. | Then press the green arrow. | | 7.You may set your own colors lines 35-45 (optional). | [=========================================================================] [ *Be sure to open SSI2.txt for more options. ] [ *For general SCAR help go to: ] | http://www.kaitnieks.com/files/SCARGUIDE/SCARGUIDE.htm ] [ Thanks to, RS Cheating community ] [ *PLEASE POST ANY BUGS/HELP IN THE FORUMS OR E-MAIL ] [ RSTradeMonkey@hotmail.com, or Stupid3ooo@gmail.com ] [ If you like pwease donate to me :) at: ] [ http://www.stupid3ooo.co.nr ] [=========================================================================} program StupidGuildMiner; {.include SSI2.txt} {.include BoxBreaker.txt} const //=//===============Colors(Leave as 0 to let script find)==============\=\\ RockColor1= 0;//Colors of Coal rocks in main screen RockColor2= 0; RockColor3= 0; MithColor1= 0;//Colors of Mith rocks in main screen MithColor2= 0; MithColor3= 0; MMLadderColor= 0;//Color of the ladder in the minimap.(SS:2873) MMPickColor= 0;//Pick symbol color (SS:207695) MMOreColor= 0;//Mini map ore color (SS:4010803) MMStatueColor= 0;//Mini map statue color (SS:8355977) MMBankColor= 0;//Bank symbol color (SS:3060683) //=\\=================================================================//=\\ //=\\ Under the varibles you may disable the forms and setup options. //=\\ //=\\=================================================================//=\\ var MapPickColor,MapOreColor,StatueColor,BankColor,LadderColor,Report,Report2, TotalOres,Banks,Mark,IAmLostCount,OreCol1,OreCol2,OreCol3,MaxWait:integer; NoPick,NoRocks,StartScript,Look4Gas,MineMith,EquipPick,UseForm:boolean; frmDesign,frmMore:TForm; labPassword,labUsername,labMaxWait,labMaxWait2:TLabel; edtUsername,edtPassword,edtMaxWait:TEdit; bMoreOptions,bStart,bSave,bDonate:TButton; cbLook4Gas,cbLogsOut,cbChats,cbEquipPick,cbMineMith,cbRotates, cbScarScape:TCheckBox; procedure Setup; begin //=\\============================Setup================================//=\\ UseForm:= true;//If you wish to use the form. Username:= Username;//Username. Password:= Password;//Password. ScarScape:= ScarScape;//Set to true if you are using ScarScape. LogsOut:= true;//If you want to log out every so often for antiban. Chats:= true;//If you want to randomly chat for anti-ban. Look4Gas:= true;//Set to false if you are having trouble with it constantly finding gas. Rotates:= true;//If you want to randomly rotate the screen for anti-ban. MaxWait:= 10;//Maximum time in seconds to wait while mining a rock. MineMith:= false;//If you want to mine mith, set mith colors above. EquipPick:= false;//If you can/want to equip your pick. //=\\=================================================================//=\\ end; //DO NO TOUCH BELOW procedure ProgressReport; var RHours,Minutes,Seconds,RMinutes,RSeconds,avtime:LongInt; Time:String; begin if(GetSystemTime-report2 > report*60000)then begin Seconds:=(GetSystemTime-ST) div 1000; Minutes:=Seconds div 60; RHours:=Minutes div 60; Time:=IntToStr(Seconds)+' Seconds'; avtime:=Seconds/banks; 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; begin WriteLn(' '); WriteLn('<=================Progress Report================>'); WriteLn('Worked for '+Time); WriteLn('Banked '+IntToStr(banks)+' loads[s].'); WriteLn('Banked '+IntToStr(TotalOres)+' ore[s].'); WriteLn('Gained '+floattostr(50*TotalOres)+'xp.'); WriteLn('Currently Averaging about '+IntToStr(3600/avtime*(TotalOres/banks))+ ' ores and '+floattostr(3600/avtime*(50*(TotalOres/banks)))+' xp an hour.'); WriteLn('Random Event Report:'); if(fights>0)then WriteLn(' Fought '+IntToStr(fights)+' time[s].'); if(talks>0)then WriteLn(' Talked to '+IntToStr(talks)+' Random event[s].'); if(lamps>0)then WriteLn(' Used lamps '+IntToStr(lamps)+' time[s].'); if(boxes>0)then WriteLn(' Solved '+IntToStr(boxes)+' box[es].'); if(logs>0)then WriteLn(' Logged in '+IntToStr(logs)+' time[s].'); if(foresters>0)then WriteLn(' Solved '+IntToStr(foresters)+' forester[s].'); if(frogs>0)then WriteLn(' Solved '+IntToStr(foresters)+' frog[s].'); if(doctors>0)then WriteLn(' Solved '+IntToStr(doctors)+' doctor[s].'); if(certers>0)then Writeln(' Solved '+IntToStr(certers)+' certer[s].'); WriteLn('<================================================>'); Report2:=GetSystemTime; end; end; end; //===========================Color Finding procedures=========================\\ procedure SetColors; begin StatueColor:=MMStatueColor; BankColor:=MMBankColor; LadderColor:=MMLadderColor; MapOreColor:=MMOreColor; MapPickColor:=MMPickColor; OreColor1:=RockColor1; OreColor2:=RockColor2; OreColor3:=RockColor3; end; function FindStatueColor:integer; var c,a,b:integer; begin while c<65 do begin c:=c+5; if(FindColorSpiralTolerance(a,b,256,570,50,725,162,1))then begin if(FindColorSpiralTolerance(x,y,9868961,a,b-5,a+20,b+5,c))then begin Result:=GetColor(x,y); Break; end; end; end; end; function FindLadderColor:integer; var c,a,Color,TrueCount:integer; begin while c<50 do begin c:=c+5; if(FindColorSpiralTolerance(x,y,256,570,50,725,162,1))then begin if(TrueCount=0)or(TrueCount=1)then a:=1; if(TrueCount=2)or(TrueCount=3)then a:=-1; repeat if(TrueCount=0)or(TrueCount=2)then x:=x+a; if(TrueCount=1)or(TrueCount=3)then y:=y+a; if(TrueCount=0)and((SimilarColors(865635,GetColor(x,y),c)=true)or (SimilarColors(6475,GetColor(x,y),c)=true))then begin TrueCount:=TrueCount+1; Color:=GetColor(x,y); Break; end; if(TrueCount>0)and(GetColor(x,y)=Color)then begin TrueCount:=TrueCount+1; Break; end; until(y<5)or(x<570)or(x>725)or(y>160) end; if(TrueCount>=3)then begin Result:=Color; Break; end; end; end; function FindMapOreColor:integer; var MapOre,MapOre2:integer; begin MapOre := BitmapFromString(3, 3, '3D2C345948546D5D624A39416D5D626D5D625948546D5D626D5D62' + ''); MapOre2 := BitmapFromString(3, 3, '061115222D35364243131E22364243364243222D35364243364243' + ''); if(FindBitmapsProgressiveTol(MapOre,MapOre2,0,0,0,65,5,587,41,705,118))then Result:=GetColor(x+1,y+1); Freebitmap(MapOre); Freebitmap(MapOre2); end; procedure CouldNotFindColors; begin WriteLn('ERROR, script could not find colors, please run the script again' +' or set your own colors.'); TerminateScript; end; procedure FindBottomColorsIfNeeded; var c:integer; begin if((MapOreColor=0)or(MapPickColor=0))then begin WriteLn('Finding bottom colors please Wait...'); MouseFindFlag(700,90,0,1); Flag; while(MapOreColor=0)or(MapPickColor=0)do begin c:=c+1; if(MapOreColor=0)then MapOreColor:=FindMapOreColor;; if(MapPickColor=0)then MapPickColor:=GetSymbolColor('mining spot');; if(c>20)then CouldNotFindColors; Wait(500+Random(100)); end; c:=0; repeat if(FindMMColor(MapPickColor))then begin Mouse(x-20,y-20,40,40,true); Flag; Wait(1500+Random(500)); if(FindOreColors(2702910,5,15))then Break; end; if(c>20)then CouldNotFindColors; until(false) WriteLn('MapPickColor:'+IntToStr(MapPickColor)+ ' MapOreColor:'+IntToStr(MapOreColor)); end; end; procedure FindTopColorsIfNeeded; var c:integer; begin if((StatueColor=0)or(BankColor=0)or(LadderColor=0))then begin WriteLn('Finding top colors please Wait...'); while(StatueColor=0)or(BankColor=0)or(LadderColor=0)do begin c:=c+1; if(StatueColor=0)then StatueColor:=FindStatueColor; if(BankColor=0)then BankColor:=GetSymbolColor('bank'); if(LadderColor=0)then LadderColor:=FindLadderColor; if(c>20)then CouldNotFindColors; Wait(Random(50)+500); end; WriteLn('StatueColor:'+IntToStr(StatueColor)+ ' BankColor:'+IntToStr(BankColor)+ ' LadderColor:'+IntToStr(LadderColor)); end; end; //========================Map Walking procedures==============================\\ function Underground:boolean; begin if((FindColoredAreaTolerance(x,y,256,570,5,725,162,50,1)))then begin Result:=true; end; end; procedure ToCenter; begin if(FindColorSpiral(x,y,MapPickColor,570,63,725,160))then begin Mouse(x-20,y-20,40,40,true); Flag; Wait(1000+Random(100)); end else begin RoadWalk(MapOreColor,'S'); if(FindColorSpiral(x,y,MapPickColor,570,63,725,160))then begin Mouse(x-20,y-20,40,40,true); Flag; Wait(1000+Random(100)); end; end; end; procedure ClimbLadder; var c,cc:integer; Under:boolean; begin for c:=1 to 10 do begin if(not(Underground))then FindObj('Climb',0,1); if(Underground)then FindObj('Climb',7212,21); if(Option('Climb'))then begin Mouse(x,y,r,r,false); if(UnderGround)then Under:=true; if(ChooseOption('Climb'))then begin repeat cc:=cc+1; if(under)and(not(UnderGround))then Break; if(under=false)and(UnderGround)then Break; Wait(Random(50)+1000); until(cc>50) Break; end; end; end; end; procedure BankToGuild; begin if(not(UnderGround))then begin MouseFindFlag(690,110,1,-1); Flag; FindTopColorsIfNeeded; FindMMColor(StatueColor); Mouse(x-5,y+10,r,r,true); Flag; Wait(500+Random(500)); ClimbLadder; end; end; procedure GuildToBank; var c:integer; begin if(UnderGround)then begin ToCenter; repeat c:=c+1 RoadWalk(MapOreColor,'W'); until(FindMMColor(LadderColor))or(c>50) ClickMMColor(LadderColor); Flag; Wait(500+Random(500)); ClimbLadder; MouseFindFlag(670,45,1,-1); Wait(2000+Random(1000)); Flag; FindTopColorsIfNeeded; ToBankers(BankColor,0,-5); end; end; //==========================Random Event procedures===========================\\ procedure RunAway; begin if(UnderGround)then begin RoadWalk(MapOreColor,'W'); ClickMMColor(LadderColor); Flag; RoadWalk(MapOreColor,'E'); end else begin SetRun(true); Mouse(648,35,5,5,true); Flag; Wait(5000+Random(2000)); Mouse(648,135,5,5,true); Flag; end; end; procedure TerminateIfLost; begin if(LoggedIn)then begin if(not(FindMMColor(BankColor)))and(not(FindMMColor(MapOreColor)))and (not(FindMMColor(MapPickColor)))and(not(FindMMColor(StatueColor)))then begin IAmLostCount:=IAmLostCount+1; if(IAmLostCount>10)then begin WriteLn('Lost!!!'); TerminateScript; end; end else IAmLostCount:=0; end; end; procedure FindRandoms; begin FindNormalRandoms; AntiBan; if(FindFight)then RunAway; FindDoctor; FindBox; if(UnderGround)then begin if(not(FindPick))then NoPick:=true; if(FindColorSpiral(x,y,OreColor,210,130,300,220))then begin if(Look4Gas)then begin if(FindGas(x,y))then ToCenter; end; end; end; end; //=========================Main Screen procedures=============================\\ procedure Bank; begin if(not(Underground))and(FindColor(x,y,BankColor,608,43,688,123))then begin FindBox; TotalOres:=TotalOres+(CountItemBmpTol(Ore,50)); if(NoPick=true)and(EquipPick=true)then begin GameTab(5); Mouse(593,303,r,r,true); Wait(Random(50)+1000); GameTab(4); end; OpenBank; if(BankScreen)then begin if(NoPick=true)then begin ClickAllItemsColorWait('All',65536,1000+Random(100)); Withdraw(1,1,1); end else begin if(EquipPick=false)then Deposit(2,28,2); if(EquipPick=true)then ClickAllItemsColorWait('All',65536,1000+Random(100)); end; CloseWindow; if(NoPick=true)and(EquipPick=true)then begin FindPickHeadColor; ClickItemColor(hc1,true); end; Banks:=Banks+1; ProgressReport; NoPick:=false; end; end; end; procedure SetMithColors; begin if(MineMith=true)then begin if(FindMSColor(MithColor1))or(FindMSColor(MithColor2))or (FindMSColor(MithColor3))then begin OreCol1:=OreColor1; OreCol2:=OreColor2; OreCol3:=OreColor3; OreColor1:=MithColor1; OreColor2:=MithColor2; OreColor3:=MithColor1; end; end; end; procedure UnsetMithColors; begin if(MineMith=true)and(OreCol1>0)then begin OreColor1:=OreCol1; OreColor2:=OreCol2; OreColor3:=OreCol3; end; end; procedure Mine; var SysTime:integer; begin SetMithColors; SetRandomOreColor; if(FindObj('Mine',OreColor,5))then begin if(not(FindGas(x,y)))then begin Mouse(x,y,r,r,true); if(FlagPresent)then begin Flag; Wait(500+Random(500)); end; MarkTime(SysTime); repeat if(not(FindColorSpiral(x,y,OreColor,210,130,300,220)))then Break; FindRandoms; Wait(500+Random(500)); until(not(GetColor(109,430)=0)and(not(GetColor(195,426)=0)))or (TimeFromMark(SysTime)>=MaxWait*1000) end; end else NoRocks:=true; UnsetMithColors; end; //===========================================Form=============================\\ procedure ShowFormModal; begin frmDesign.ShowModal; end; procedure ShowMoreModal; begin frmMore.ShowModal; end; procedure SafeShowForm; var v: TVariantArray; begin setarraylength(V, 0); ThreadSafeCall('InitForm', v); setarraylength(V, 0); ThreadSafeCall('ShowFormModal', v); end; procedure SafeMore; var v: TVariantArray; begin setarraylength(V, 0); ThreadSafeCall('InitMore', v); end; procedure Start(sender: TObject); begin frmDesign.Caption:= frmDesign.Caption + '.'; frmDesign.ModalResult:= mrOk; StartScript:=true; end; procedure More(sender: TObject); var v: TVariantArray; begin SafeMore; setarraylength(V, 0); ThreadSafeCall('ShowMoreModal', v); end; procedure SaveOptions; begin Look4Gas:=cbLook4Gas.State; LogsOut:=cbLogsOut.State; Chats:=cbChats.State; MaxWait:=strtoint(edtMaxWait.Text); MineMith:=cbMineMith.State; EquipPick:=cbEquipPick.State; ScarScape:=cbScarScape.State; Username:= edtUsername.Text; Password:= edtPassword.Text; if(Username='')or(Password='')then begin Username:='No Username'; Password:='No Password'; end; end; procedure Save(sender: TObject); begin frmMore.Caption:= frmMore.Caption + '.'; frmMore.ModalResult:= mrOk; SaveOptions; end; procedure Donate(sender: TObject); begin OpenWebPage('http://www.stupid3ooo.co.nr'); end; procedure InitForm; begin frmDesign := CreateForm; frmDesign.Left := 359; frmDesign.Top := 225; frmDesign.Width := 258; frmDesign.Height := 169; frmDesign.Caption := 'StupidGuildMiner'; frmDesign.Color := clWhite; frmDesign.Font.Color := clWindowText; frmDesign.Font.Height := -11; frmDesign.Font.Name := 'MS Sans Serif'; frmDesign.Font.Style := []; frmDesign.Visible := False; frmDesign.PixelsPerInch := 96; labPassword := TLabel.Create(frmDesign); labPassword.Parent := frmDesign; labPassword.Left := 96; labPassword.Top := 44; labPassword.Width := 46; labPassword.Height := 13; labPassword.Caption := 'Password'; labUsername := TLabel.Create(frmDesign); labUsername.Parent := frmDesign; labUsername.Left := 96; labUsername.Top := 6; labUsername.Width := 48; labUsername.Height := 13; labUsername.Caption := 'Username'; edtUsername := TEdit.Create(frmDesign); edtUsername.Parent := frmDesign; edtUsername.Left := 64; edtUsername.Top := 20; edtUsername.Width := 121; edtUsername.Height := 21; edtUsername.TabOrder := 1; edtUsername.Text := Username; edtPassword := TEdit.Create(frmDesign); edtPassword.Parent := frmDesign; edtPassword.Left := 64; edtPassword.Top := 58; edtPassword.Width := 121; edtPassword.Height := 21; edtPassword.PasswordChar := '*'; edtPassword.Text := Password; bMoreOptions := TButton.Create(frmDesign); bMoreOptions.Parent := frmDesign; bMoreOptions.Left := 178; bMoreOptions.Top := 116; bMoreOptions.Width := 70; bMoreOptions.Height := 17; bMoreOptions.Caption := 'More Options'; bMoreOptions.OnClick:= @More; cbScarScape := TCheckBox.Create(frmMore); cbScarScape.Parent := frmDesign; cbScarScape.Left := 88; cbScarScape.Top := 116; cbScarScape.Width := 80; cbScarScape.Height := 17; cbScarScape.Hint := 'Check if you are using ScarScape.'; cbScarScape.ShowHint := True; cbScarScape.Caption := 'ScarScape?'; if(ScarScape)then begin cbScarScape.Checked := True; cbScarScape.State := cbChecked; end; bStart := TButton.Create(frmDesign); bStart.Parent := frmDesign; bStart.Left := 87; bStart.Top := 86; bStart.Width := 75; bStart.Height := 25; bStart.Caption := 'Start'; bStart.TabOrder := 5; bStart.OnClick:= @Start; bDonate := TButton.Create(frmDesign); bDonate.Parent := frmDesign; bDonate.Left := 1; bDonate.Top := 109; bDonate.Width := 75; bDonate.Height := 25; bDonate.Caption := 'Donate Plz'; bDonate.TabOrder := 13; bDonate.OnClick:= @Donate; end; procedure InitMore; begin frmMore := CreateForm; frmMore.Left := 288; frmMore.Top := 161; frmMore.Width := 294; frmMore.Height := 148; frmMore.Caption := 'More Options'; frmMore.Color := clWhite; frmMore.Font.Color := clWindowText; frmMore.Font.Height := -11; frmMore.Font.Name := 'MS Sans Serif'; frmMore.Font.Style := []; frmMore.Visible := False; frmMore.PixelsPerInch := 96; labMaxWait := TLabel.Create(frmMore); labMaxWait.Parent := frmMore; labMaxWait.Left := 5; labMaxWait.Top := 7; labMaxWait.Width := 196; labMaxWait.Height := 13; labMaxWait.Caption := 'Maximum time to wait while mining a rock:'; labMaxWait2 := TLabel.Create(frmMore); labMaxWait2.Parent := frmMore; labMaxWait2.Left := 243; labMaxWait2.Top := 10; labMaxWait2.Width := 40; labMaxWait2.Height := 13; labMaxWait2.Caption := 'seconds'; cbLook4Gas := TCheckBox.Create(frmMore); cbLook4Gas.Parent := frmMore; cbLook4Gas.Left := 5; cbLook4Gas.Top := 56; cbLook4Gas.Width := 86; cbLook4Gas.Height := 13; cbLook4Gas.Hint := 'Uncheck if you have trouble with the script stopping for gas too' + ' often.'; cbLook4Gas.Caption := 'Look for gas?'; cbLook4Gas.ParentShowHint := False; cbLook4Gas.ShowHint := True; cbLook4Gas.TabOrder := 8; if(Look4Gas)then begin cbLook4Gas.Checked := True; cbLook4Gas.State := cbChecked; end; edtMaxWait := TEdit.Create(frmMore); edtMaxWait.Parent := frmMore; edtMaxWait.Left := 204; edtMaxWait.Top := 5; edtMaxWait.Width := 38; edtMaxWait.Height := 21; edtMaxWait.MaxLength := 3; edtMaxWait.TabOrder := 9; edtMaxWait.Text := inttostr(MaxWait); cbLogsOut := TCheckBox.Create(frmMore); cbLogsOut.Parent := frmMore; cbLogsOut.Left := 5; cbLogsOut.Top := 22; cbLogsOut.Width := 66; cbLogsOut.Height := 17; cbLogsOut.Hint := 'If you want to log out about every 3 hours for anti-ban.'; cbLogsOut.Caption := 'Logs out?'; cbLogsOut.ParentShowHint := False; cbLogsOut.ShowHint := True; cbLogsOut.TabOrder := 10; if(LogsOut)then begin cbLogsOut.Checked := True; cbLogsOut.State := cbChecked; end; cbChats := TCheckBox.Create(frmMore); cbChats.Parent := frmMore; cbChats.Left := 5; cbChats.Top := 38; cbChats.Width := 54; cbChats.Height := 17; cbChats.Hint := 'If you want to chat random prashes every so often for anti-ban.'; cbChats.Caption := 'Chats?'; cbChats.ParentShowHint := False; cbChats.ShowHint := True; cbChats.TabOrder := 11; if(Chats)then begin cbChats.Checked := True; cbChats.State := cbChecked; end; cbRotates := TCheckBox.Create(frmMore); cbRotates.Parent := frmMore; cbRotates.Left := 78; cbRotates.Top := 22; cbRotates.Width := 97; cbRotates.Height := 17; cbRotates.Hint := 'If you want to randomly rotate the camera every so often for ant' + 'i-ban.'; cbRotates.ShowHint := True; cbRotates.Caption := 'Rotates?'; cbRotates.TabOrder := 15; if(Rotates)then begin cbRotates.Checked := True; cbRotates.State := cbChecked; end; cbMineMith := TCheckBox.Create(frmMore); cbMineMith.Parent := frmMore; cbMineMith.Left := 5; cbMineMith.Top := 70; cbMineMith.Width := 202; cbMineMith.Height := 17; cbMineMith.Hint := 'If minning mith along with coal (need to set mith colors in script).'; cbMineMith.HelpContext := -1; cbMineMith.Caption := 'Mine mith? (must set colors lines 38-40)'; cbMineMith.ParentShowHint := False; cbMineMith.ShowHint := True; cbMineMith.TabOrder := 13; if(MineMith)then begin cbMineMith.Checked := True; cbMineMith.State := cbChecked; end; cbEquipPick := TCheckBox.Create(frmMore); cbEquipPick.Parent := frmMore; cbEquipPick.Left := 5; cbEquipPick.Top := 87; cbEquipPick.Width := 97; cbEquipPick.Height := 17; cbEquipPick.Caption := 'Equip pick?'; cbEquipPick.Hint :='Check if you are able and want to equip your pick.'; cbEquipPick.ShowHint := True; cbEquipPick.TabOrder := 14; if(EquipPick)then begin cbEquipPick.Checked := True; cbEquipPick.State := cbChecked; end; bSave := TButton.Create(frmMore); bSave.Parent := frmMore; bSave.Left := 227; bSave.Top := 97; bSave.Width := 57; bSave.Height := 15; bSave.Caption := 'Save'; bSave.TabOrder := 12; bSave.OnClick:= @Save; end; procedure StartForm; begin if(UseForm)then begin SafeMore; SafeShowForm; if(StartScript=false)then TerminateScript; SaveOptions; ActivateClient; Wait(1000+random(500)); end; end; //======================================Main Line=============================\\ begin SetupSSI; Setup; StartForm; SetColors; PrepClient; if(FindPickHeadColor)then begin repeat FindRandoms; SetRun(true); BankToGuild; if(Underground)then begin FindBottomColorsIfNeeded; if(not(FindMMColor(LadderColor)))then RoadWalk(MapOreColor,'E'); MarkTime(Mark); repeat FindRandoms; Mine; if(NoRocks=true)then begin ToCenter; NoRocks:=false; end; until(InventoryFull)or(NoPick=true)or(TimeFromMark(Mark)>1800000) end; SetRun(false); GuildToBank; TerminateIfLost; Bank; until(false) end; end.