Oh, okay.
From a quick gander through the script's sauce code, I _think_ the variable used in determining which type of rock to mine is
EmptySpot. No idea what that means or what it refers to, but from the writeLn()'s, I conclude that when EmptySpot >= 2, the script will go mine coal.
Relevant code:
Simba Code:
SkipUp:
If (Spot=1) Then
If FindGoldDTM Then //low or high spot
Begin
If Debug Then
Writeln('Found Gold, EmptySpot back to 0');
EmptySpot:=0;
Mining;
BreakHandler(BreakIn,BreakFor,Bir,Bfr);
If (Not TabBackpack.IsFull) And (Spot=1) Then
GoTo SkipDown;
End Else
Begin
BreakHandler(BreakIn,BreakFor,Bir,Bfr);
EmptySpot := EmptySpot + 1;
If Debug Then
Writeln('Did not find gold, emptyspot is: '+ToStr(EmptySpot));
SkipDown:
If RunPercent < 50 Then
Begin
If Debug Then
Writeln('Run energy low, resting');
Setrest;
Repeat
Timeout.Reset;
Timeout.Start;
Timeout2.Reset;
Timeout2.Start;
If Runaways Then
Exit;
CheckStuff;
If Not IsLoggedIn Then
Exit;
setrest;
wait(100);
Until RunPercent > 90;
Minimap.ToggleRun(True);
If Debug Then
Writeln('Run energy restored');
GoTo SkipUp;
End;
CheckStuff;
If EmptySpot >= 2 Then
Begin
If Debug Then
Writeln('EmptySpot too high, going to look for coal');
So the solution to your problem would be to a) remove all lines in the script which forcibly reset
EmptySpot to below 2 and b) add a line in the mainloop which will keep
EmptySpot above 2. Therefore, everytime the script checks the value of
EmptySpot, it will always find it at a suitable value to mine coal.