SRL Archive - OSR Help

Need Progress Report Help


HardRockers

2011-12-29 22:04:36

Hey I have my Progress report basically written, I just keep getting errors that when I fix one, it causes another. Anyway I can get a little advice?

Here is what I have: (Posted whole script because of Global Var's yada yada

This is what the Debug box says:

[Hint] (69:10): Variable 'Result' never used at line 68
[Error] (133:34): Internal error (20) at line 132
Compiling failed.

program HardRockinYanilleMiner;
{$DEFINE SMART}
{$i SRL\SRL.scar}
{$i sps/sps.simba}
{$i SRL\SRL\Misc\Stats.simba}


Var
Count, StartTime: Integer;
Exp: Extended;


Const
SRLStats_Username = '';
SRLStats_Password = '';
NumbOfPlayers= 1;
StartPlayer= 0;
BreakEvery= 120;
BreakFor= 5;
Version= '1.0'; //NO TOUCHY!


Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True;
Players[0].Pin := '';
end;
end;

procedure StatsGuise(wat:String);
Begin
Status(wat);
Disguise(wat);
End;

Procedure StartScript;
Begin
SetUpSRL;
MouseSpeed := 15;
ActivateClient;
DeclarePlayers;
If (Not LoggedIn) then
LoginPlayer;
SetAngle(True);
MakeCompass('n');
End;
procedure AntiBan;
begin
case random(2000) of
0..50: HoverSkill('mining',false);
51..80: PickupMouse;
81..100: RandomMovement;
101..220: BoredHuman;
221..240: ExamineInv;
241..260: RandomRClick;
end;
end;


Function MineOre:Boolean;
Var
x,y, PlusOne, MineCounter: Integer;
Begin
If Not(LoggedIn) Then Exit;
PlusOne:= InvCount +1;
x:= MSCX;
y:= MSCY;

If FindObjCustom(x, y, ['Mine','Rocks','e R'], [2832738, 2502212, 2701150,2371667], 5) Then
Begin
WriteLn('There is ore here.');
GetMousePos(x, y);
Case Random(2) of
0: Mouse(x, y, 5, 5, True);
1: Begin
Mouse(x, y, 5, 5, False)
WaitOption('Mine', 500);
end;
end;
IncEx(Count, 1);
Flag;
Repeat
FindNormalRandoms;
MarkTime(MineCounter);
AntiBan;
wait(100);
If InvCount= PlusOne Then
WriteLn('You got ore');
Until (InvCount= PlusOne) OR (TimeFromMark(MineCounter) > 5000);
end;
end;

procedure DropOre;
Var
x,y, OreDTM, I: Integer;
SlotBox:TBox;
OrePattern:TIntegerArray;


begin
If Not(LoggedIn) Then Exit;
FindNormalRandoms;
OreDTM := DTMFromString('mAAEAAHiclcshCoBQEITh2RfkoQaj8Z3C+19C0KBBxWARRJPFHzRYd+CbsMuUkpYgjZix4cCOFRMGdGjRw0w62V2fGxm3iAoFcsjeX5NqOjj4Yk7/PKz8EF8=');
OrePattern:= [1,5,9,13,17,21,25,2,6,10,14,18,22,26,3,7,11,15,19,23,27,4,8,12,16,20,24,28];

For I:=0 To 27 Do
Begin
SlotBOx:=InvBox(OrePattern[I]);
if FindDTM(OreDTM, x, y, SlotBox.X1, SlotBox.Y1, SlotBox.X2, SlotBox. Y2) Then
Begin
MouseItem(OrePattern[I],False);
ChooseOption('Dro');
end;

end;
end;

procedure ProgressReport;
Var
ExpRate, OreRate, Sec:Integer;
begin
Exp := 35;
Sec:= (1+((Getsystemtime-StartTime)/1000));
OreRate= ((3600*(Count))/(Sec));
ExpRate:=(3600*(Count * Exp))/(Sec);
ClearDebug;
WriteLn('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
WriteLn('~~~~~~~~~~~~~ HardRockin Iron Miner ~~~~~~~~~~~~~~');
WriteLn('Time Running: '+ TimeRunning);
WriteLn('Mining EXP: '+ FloatToStr(Count * Exp) + ' ');
WriteLn('Iron Ore Mined : ' + ToStr(Count)+ ' ');
WriteLn('Ore Mined Each Hour : ' + ToStr(OreRate)+ ' ');
WriteLn('Mining EXP/HR : ' + ToStr(ExpRate)+ ' ');
WriteLn('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
WriteLn('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
FindNormalRandoms;
end;


begin
StartScript;
repeat;
MineOre;
If InvFull Then
DropOre;
Until (false);
end.

Jhangir

2011-12-30 13:04:57

Should be OreRate:=

You forgot the colon…

sahibjs

2011-12-30 13:07:00

Don't you need to write in your main loop?

HardRockers

2011-12-30 15:27:59

ok the only thing wrong with mine now is the XP/hr… It is like it compounds everytime it gives a report.


procedure ProgressReport;

begin
Sec := (1+((Getsystemtime-StartTime)/1000));
Exp := 35;
ClearDebug;
WriteLn('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
WriteLn('~~~~~~~~~~~~~ HardRockin Iron Miner ~~~~~~~~~~~~~~');
WriteLn('Time Running: '+ TimeRunning);
WriteLn('Mining EXP: '+ FloatToStr(Count * Exp) + ' ');
WriteLn('Iron Ore Mined : ' + ToStr(Count)+ ' ');
WriteLn('Mining EXP/HR : ' + ToStr(((3600 * (Count * Exp)) / (Sec)))+ ' ');
WriteLn('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
WriteLn('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
FindNormalRandoms;
end;