digital_mike_is_god
08-09-2007, 08:31 AM
I'm trying to use this script note im new to this program and new to this site sorry for spell errors its been a long night anyways if someone could tell me what it is or if you want ill post the script and some one can help me get it up and running.:duh:
thank you in advanced,:D
Here is the script im trying to use[Please help me out here tell me what to setup the best way to set this up i know it has instructions but i don't really get what it means i follow what it says but it wont work]
program Powerminer;
{.include SRL\SRL.scar}
{.include SRL\SRL\Skill\Mining.scar}
{.include SRL\SRL\Misc\Trade.scar}
Const
StartPlayer = 0; // The Number of the player that has to start.
NumberOfUsers = 6; // How many players you are using.
YourSRLStatsID = ''; // Must be a string!
YourSRLStatsPass = ''; // Must be a string!
TheMinCount = 4; // MinCount 4 for normal (old rocks), 1 for Rimmington (new) rocks
OreTol = 9; // Anything between 4 - 19. (4 to 9) with normal rocks
// 9 - 14 on new rocks.
SecondsToWait = 5; // Number Of Seconds You want to wait.
Loads = 4; // Number Of Loads.
RunDir = 'S'; // RunDirection, choose it wisely.
MinutesPerLoad = 5; // Max amount of minutes to take before dropping.
AutoColor = True; // True for autocolor, recommend for better preformance.
WizzyDebug = False; // WizzyDebug.
Const
VersionNumber = '3.09';
{--------------------------------------------------------
Procedure DeclarePlayers;
--------------------------------------------------------}
Procedure DeclarePlayers;
Begin
HowManyPlayers := NumberOfUsers;
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := StartPlayer;
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active:=True;
Players[0].String1 := 'Iron'; // Primairy Ore Color
Players[0].String2 := 'Iron'; // Secondairy Ore Color wont be mined as much as 1.
Players[0].String3 := 'Iron'; // Third Ore Color, won't be mined as much as 1 and 2.
Players[0].Boolean1 := True; // Is The Pick Equipped?
Players[0].Boolean2 := True; // False for brightness Check Once.
Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Active:=True;
Players[1].String1 := 'Iron'; // Primairy Ore Color
Players[1].String2 := 'Iron'; // Secondairy Ore Color wont be mined as much as 1.
Players[1].String3 := 'Iron'; // Third Ore Color, won't be mined as much as 1 and 2.
Players[1].Boolean1 := True; // Is The Pick Equipped?
Players[1].Boolean2 := True; // False for brightness Check Once.
Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Active:=True;
Players[2].String1 := 'Iron'; // Primairy Ore Color
Players[2].String2 := 'Iron'; // Secondairy Ore Color wont be mined as much as 1.
Players[2].String3 := 'Iron'; // Third Ore Color, won't be mined as much as 1 and 2.
Players[2].Boolean1 := True; // Is The Pick Equipped?
Players[2].Boolean2 := True; // False for brightness Check Once.
Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Active:=True;
Players[3].String1 := 'Iron'; // Primairy Ore Color
Players[3].String2 := 'Iron'; // Secondairy Ore Color wont be mined as much as 1.
Players[3].String3 := 'Iron'; // Third Ore Color, won't be mined as much as 1 and 2.
Players[3].Boolean1 := True; // Is The Pick Equipped?
Players[3].Boolean2 := True; // False for brightness Check Once.
Players[4].Name :='';
Players[4].Pass :='';
Players[4].Nick :='';
Players[4].Active:=True;
Players[4].String1 := 'Iron'; // Primairy Ore Color
Players[4].String2 := 'Iron'; // Secondairy Ore Color wont be mined as much as 1.
Players[4].String3 := 'Iron'; // Third Ore Color, won't be mined as much as 1 and 2.
Players[4].Boolean1 := True; // Is The Pick Equipped?
Players[4].Boolean2 := True; // False for brightness Check Once.
Players[5].Name :='';
Players[5].Pass :='';
Players[5].Nick :='';
Players[5].Active:=True;
Players[5].String1 := 'Iron'; // Primairy Ore Color
Players[5].String2 := 'Iron'; // Secondairy Ore Color wont be mined as much as 1.
Players[5].String3 := 'Iron'; // Third Ore Color, won't be mined as much as 1 and 2.
Players[5].Boolean1 := True; // Is The Pick Equipped?
Players[5].Boolean2 := True; // False for brightness Check Once.
Writeln( IntToStr ( HowManyPlayers ) + ' Players' );
End;
// ----------------------------------------------------------------- //
Const
CopperColor = 4286610;
TinColor = 9277080;
ClayColor = 4553880;
IronColor = 2370383;
SilverColor = 12434885;
CoalColor = 2834753;
GoldColor = 1881051;
MithrilColor = 7359564;
AdamantColor = 6322272;
RuniteColor = 8681306;
{ Don't change below if you consider yourself a beginner.}
Var
MinCount : Byte;
Clay, Ores, OreMask, MyMark, OreCounter, Gasses, DroppedOreColor: Integer;
ScriptStartTime1, ScriptStartTime2,
FindNorMalRandomsTime, FindFastRandomsTime: LongInt;
NormalRandomsTime, FastRandomsTime, FindTalkTime: LongInt;
//----------------------------------------------------------------------------//
//-- Checks and sets Auto Retaliate. True = On, False = Off --//
//----------------------------------------------------------------------------//
procedure Retaliate(AutoRet:Boolean); // WT-Fakawi.
begin
GameTab(1);
if AutoRet then
begin
If not FindColor(x,y,1777020,624, 385, 719,396) then
begin
Mouse(666,381,8,8, True);
end;
end;
if not AutoRet then
begin
If FindColor(x,y,1777020,624, 385, 719,396) then
begin
Mouse(666,381,8,8, True);
end;
end;
end;
{--------------------------------------------------------
Function Explode(S: String): Array Of String;
--------------------------------------------------------}
Function Explode(S: String): Array Of String;
Var
Counter, Start, ResultCounter, B: LongInt;
EndOfWord : Boolean;
Begin
S := Trim(S);
Insert(Chr(13), S, 0);
Repeat
Counter := Counter +1;
If EndOfWord Then Counter := Counter -1;
EndOfWord := False;
If StrGet(S, Counter) = Chr(13) Then
Begin
Start := Counter;
Repeat
Counter := Counter + 1;
If Counter > Length(S) Then
Begin
Break;
End;
Until StrGet(S, Counter) = Chr(13);
ResultCounter := ResultCounter +1;
SetArrayLength(Result, ResultCounter + 1);
Result[ResultCounter] := Trim(Copy(S, Start, Counter - Start));
B := Pos(Chr(13), Result[ResultCounter])
If B > 0 Then
Delete(Result[ResultCounter], B, 1);
B := Pos(Chr(10), Result[ResultCounter])
If B > 0 Then
Delete(Result[ResultCounter], B, 1);
WriteLn(Result[ResultCounter]);
EndOfWord := True;
End;
Until Counter > Length(S)-1;
End;
{--------------------------------------------------------
Function GetLatestNews: String;
--------------------------------------------------------}
Function GetLatestNews: Array Of String;
Var
S : String;
Begin
// S := GetPage('http://www.villavu.com/wizzups%20scripts/powerminer/news.txt');
S := GetPage('http://82.92.130.193/wizzups%20scripts/powerminer/news.txt');
Result := Explode(S);
WriteLn('');
End;
{--------------------------------------------------------
Function GetLatestVersionNumber: Extended;
Checks if you have the latest version.
--------------------------------------------------------}
Function GetLatestVersionNumber: String;
Begin
// Result := GetPage('http://www.villavu.com/wizzups%20scripts/powerminer/version.txt');
Result := GetPage('http://82.92.130.193/wizzups%20scripts/powerminer/version.txt');
If Result <> VersionNumber Then
Begin
WriteLn('You currently do not have the latest version.');
WriteLn('http://www.villu-reborn.com/showthread.php?t=1517');
WriteLn('For the latest version');
End
Else
Begin
WriteLn('You have the latest version.');
WriteLn('Please post all your progress reports here : ');
WriteLn('http://www.villu-reborn.com/showthread.php?t=1517');
End;
End;
{--------------------------------------------------------
Function HighestBrightNess: Boolean;
--------------------------------------------------------}
Function HighestBrightNess: Boolean;
Begin
GameTab(11);
Wait(400);
If GetColor(712, 226) <> 16777215 Then
Begin
Mouse(712, 226, 2, 2, True);
Result := True;
Wait(200);
End;
End;
{--------------------------------------------------------
Procedure SetOreColor;
--------------------------------------------------------}
Procedure SetOreColor;
Begin
Case LowerCase(Players[CurrentPlayer].String1) Of
'copper' : OreColor1:=CopperColor;
'tin' : OreColor1:=TinColor;
'clay' : OreColor1:=ClayColor;
'iron' : OreColor1:=IronColor;
'silver' : OreColor1:=SilverColor;
'coal' : OreColor1:=CoalColor;
'gold' : OreColor1:=GoldColor;
'mithril' : OreColor1:=MithrilColor;
'adamant' : OreColor1:=AdamantColor;
'runite' : OreColor1:=RuniteColor;
End;
Case Lowercase(Players[CurrentPlayer].String2) Of
'copper' : OreColor2:=CopperColor;
'tin' : OreColor2:=TinColor;
'clay' : OreColor2:=ClayColor;
'iron' : OreColor2:=IronColor;
'silver' : OreColor2:=SilverColor;
'coal' : OreColor2:=CoalColor;
'gold' : OreColor2:=GoldColor;
'mithril' : OreColor2:=MithrilColor;
'adamant' : OreColor2:=AdamantColor;
'runite' : OreColor2:=RuniteColor;
End;
Case LowerCase(Players[CurrentPlayer].String3) Of
'copper' : OreColor3:=CopperColor;
'tin' : OreColor3:=TinColor;
'clay' : OreColor3:=ClayColor;
'iron' : OreColor3:=IronColor;
'silver' : OreColor3:=SilverColor;
'coal' : OreColor3:=CoalColor;
'gold' : OreColor3:=GoldColor;
'mithril' : OreColor3:=MithrilColor;
'adamant' : OreColor3:=AdamantColor;
'runite' : OreColor3:=RuniteColor;
End;
End;
Function GetDroppedOreColor: Integer;
Var
DroppedOreColorBMP: Integer;
iX, iY: Integer;
Begin
If CountItemBmpMaskTol(OreMask, 20, 25) = 0 Then Exit;
DroppedOreColorBMP := BitmapFromString(3, 4, '866C4C866C4C8' +
'06849866C4C896E4D866C4C896E4D8B70508B7050896E4D8B 7050' +
'8D7251');
If FindBitmapToleranceIn(DroppedOreColorBMP, iX, iY, 560, 205, 725, 460, 9) Then
Begin
Result := GetColor(iX, iY + 2);
If WizzyDebug Then WriteLn('DroppedOreColor = ' + IntToStr(Result));
End
Else
Begin
WriteLn('DroppedOreColor not found');
WriteLn('Logout and try again.');
LogOut;
TerminateScript;
End;
FreeBitmap(DroppedOreColorBMP);
End;
{--------------------------------------------------------
Function GetUpTextBlue:String;
--------------------------------------------------------}
Function GetUpTextBlue:String;
Begin
Result := Trim(GetTextAtEx(7, 7, 140, upchars, true,
true, 0, 2, 14277634, 50, True, tr_AllChars));
End;
{--------------------------------------------------------
Function IsUpTextBlue(Text: String): Boolean;
--------------------------------------------------------}
Function IsUpTextBlue(Text: String): Boolean;
Begin
Result := (Pos(Text, GetUpTextBlue) <> 0)
End;
{--------------------------------------------------------
Function DroppedOre(iX, iY: Integer): Boolean;
--------------------------------------------------------}
Function DroppedOre(iX, iY: Integer): Boolean;
Begin
Result := FindColor(iX, iY, DroppedOreColor, iX - 10, iY - 10, iX + 10, iY + 10)
If Result And WizzyDebug Then WriteLn('DroppedOre')
Else If WizzyDebug Then WriteLn('No Dropped ore');
End;
{--------------------------------------------------------
Procedure AutoGetRockColors;
--------------------------------------------------------}
Procedure AutoGetRockColors;
Var
ATPoint : TPoint;
Begin
WriteLn('AutoColor:');
If FindObjOre(ATPoint.X, ATPoint.Y, 'ocks', OreColor1, 14, MinCount) Then
OreColor1 := GetColor(ATPoint.X, ATPoint.Y);
If FindObjOre(ATPoint.X, ATPoint.Y, 'ocks', OreColor2, 14, MinCount) Then
OreColor2 := GetColor(ATPoint.X, ATPoint.Y);
If FindObjOre(ATPoint.X, ATPoint.Y, 'ocks', OreColor3, 14, MinCount) Then
OreColor3 := GetColor(ATPoint.X, ATPoint.Y);
WriteLn(Players[CurrentPlayer].String1+' Color = '+IntToStr(OreColor1));
WriteLn(Players[CurrentPlayer].String2+' Color = '+IntToStr(OreColor2));
WriteLn(Players[CurrentPlayer].String3+' Color = '+IntToStr(OreColor3));
End;
{--------------------------------------------------------
Function ItemSelected: Boolean;
Checks if an item is selected.
--------------------------------------------------------}
Function ItemSelected: Boolean;
Var
ItemSPoint: TPoint;
Begin
If FindColor(ItemSPoint.X, ItemSPoint.Y, 16777215, MIX1, MIY1, MIX2, MIY2) Then
Begin
Result := True;
GameTab(2);
GameTab(4);
End;
End;
{--------------------------------------------------------
Function FindFastRandoms: Boolean; // By WT-Fakawi.
FindFastRandoms is a quicker version of FindNormalRandoms.
It does not include ALL the Anti-Randoms though.
--------------------------------------------------------}
Function FindFastRandoms: Boolean; // By WT-Fakawi.
Var
i: Integer;
Begin
For I := 1 To 11 Do
Begin
Case I Of
1: If FindDead Then
Result := True;
2: If FindMod Then
Result := True;
3: If FindMime Then
Result := True;
4: If FindMaze Then
Result := True;
5: If FindQuiz Then
Result := True;
6: If FindDemon Then
Result := True;
7: Begin
If NoGameTab Then
Begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
End;
End;
8 : If RC Then
Result := True;
9 : If FindFight Then
Begin
Result := True;
RunTo(RunDir, True);
End;
10: If FindTalk Then
Result := True;
11: If HandleTrade Then
Result := True;
End;
Wait(1);
End;
End;
{--------------------------------------------------------
Procedure FTWaitAll(Time:Integer); // By WT-Fakawi.
Anti-Random and Wait Procedure.
--------------------------------------------------------}
Procedure FTWaitAll(Time:Integer); // By WT-Fakawi.
var t: integer;
begin
For T:=1 to Time do
begin
Wait(5); // Adepted.
FindTalk;
RC;
HandleTrade;
end;
FindFastRandoms;
MarkTime(FindNormalRandomsTime);
if FindNormalRandomsTime-ScriptStartTime1 >(10000+Random(5000)) Then
begin
FindNormalRandoms;
MarkTime(ScriptStartTime1);
end;
MarkTime(FindFastRandomsTime);
if FindFastRandomsTime-ScriptStartTime2 >(1500+Random(1500)) Then
begin
FindFastRandoms;
MarkTime(ScriptStartTime2);
end;
end;
Function FindNormalRandomsTimeEx: Boolean;
Var
TempTime, Time1, Time2: LongInt;
Begin
TempTime := GetSystemTime;
If TempTime - NormalRandomsTime > 6000 Then
Begin
NormalRandomsTime := GetSystemTime;
Time1 := GetSystemTime;
Result := FindNormalRandoms;
Time2 := GetSystemTime;
Status('Calling FNRandoms; Took '+IntToStr(Time2-Time1)+'.');
Exit;
End;
If TempTime - FastRandomsTime > 2000 Then
Begin
FastRandomsTime := GetSystemTime;
Time1 := GetSystemTime;
Result := FindFastRandoms;
Time2 := GetSystemTime;
Status('Calling FFRandoms; Took '+IntToStr(Time2-Time1)+'.');
Exit;
End;
If TempTime - FindTalkTime > 500 Then
Begin
FindTalkTime := GetSystemTime;
Time1 := GetSystemTime;
Result := FindTalk;
Time2 := GetSystemTime;
Status('Calling FT; Took '+IntToStr(Time2-Time1)+'.');
Exit;
End;
End;
{--------------------------------------------------------
Procedure BitMaps;
--------------------------------------------------------}
Procedure BitMaps;
Begin
Clay := BitmapFromString(4, 4, '86714C89734D8B7650907A52978' +
'1569781569A8357957E55A1895CA38B5D9F875B9C8559AC92 62A8' +
'8F60A58D5FA1895C');
OreMask := BitmapFromString(11, 11, 'z78DA73730301033070436' +
'2238B60024C35B84CC0A5923C13F0BB937813F0EB22DE04CC 5022' +
'CF04CADD404CC890EA0BFCE2F85D4E4C6A212FF470998FCC0 600F' +
'B599CC1');
End;
{--------------------------------------------------------
Function FindOre(MaxTol:Integer):Boolean;
One of my core mining procedures,
this is needed for Mining
different ores and following gas.
--------------------------------------------------------}
Procedure ChangeOreColor;
Begin
If Random(4) = 3 Then OreCounter := 1;
If OreCounter > 3 Then OreCounter := 1;
Case OreCounter Of
1: OreColor:= OreColor1;
2: OreColor:= OreColor2;
3: OreColor:= OreColor3;
End;
If WizzyDebug Then WriteLn('OreCounter = '+IntToStr(OreCounter));
End;
{--------------------------------------------------------
Function GetChatMessage: String;
--------------------------------------------------------}
Function GetChatMessage: String;
Begin
Result := Trim(GetTextAtEx(20, 415, 0, SmallChars, False,
False, 0, 1, 0, 80, False, tr_AllChars));
End;
{--------------------------------------------------------
Function YouSwing: Boolean;
--------------------------------------------------------}
Function YouSwing: Boolean;
Begin
Result := (Pos('swing', GetChatMessage) <> 0)
End;
{--------------------------------------------------------
Function Youmanage: Boolean;
--------------------------------------------------------}
Function Youmanage: Boolean;
Begin
Result := (Pos('anage', GetChatMessage) <> 0)
End;
{--------------------------------------------------------
Function YouManage: Boolean;
--------------------------------------------------------}
Function PowerMine: Boolean;
Var
MMark, Dx, Dy, YMMark: Integer;
Begin
ChangeOreColor;
If (Not FindObjOre2(Dx, Dy, 'ocks', OreColor, OreTol, MinCount)) Then
Begin
OreCounter := OreCounter + 1;
FTWaitAll(1);
Exit;
End;
Status('MyMine;');
Result := True;
GetMousePos(Dx, Dy);
If FindGas(Dx, Dy - 20) Then
Begin
FTWait(40);
Gasses := Gasses + +1;
ReportVars[5] := ReportVars[5] + 1;
WriteLn('Gas Found.');
Exit;
End;
Mouse(Dx, Dy, 0, 0, True);
MarkTime(MMark);
MarkTime(YMMark);
Repeat
If Not FindColorSpiralTolerance(Dx, Dy, OreColor, Dx - 30, Dy - 30, Dx + 30, Dy + 30, 9) Then
Begin
Status('No More FindColor.');
Exit;
End;
FindNormalRandomsTimeEx;
Wait(50);
If TimeFromMark(YMMark) > 3500 Then
Begin
If YouManage Then Exit;
If FindGas(Dx, Dy - 20) Then
Begin
Mouse(646, 82, 3, 3, True);
ReportVars[5] := ReportVars[5] + 1;
Gasses := Gasses + +1;
FTWait(40);
FindPick;
End;
If FindFight Then
Begin
MakeCompass('N');
RunTo(RunDir, True);
MakeCompass('N');
End;
Wait(50);
End;
Until TimeFromMark(MMark) > (3500 + (SecondsToWait * 1000));
End;
{--------------------------------------------------------
Procedure DropAllOres;
--------------------------------------------------------}
Procedure DropAllOres;
Begin
Players[CurrentPlayer].Integer2 := Players[CurrentPlayer].Integer2+
CountItemBmpMaskTol(OreMask, 20, 25);
Players[CurrentPlayer].Integer2 := Players[CurrentPlayer].Integer2+
CountItemBmpTol(Clay, 10);
ReportVars[0] := ReportVars[0] + 1;
Banks := Banks + 1;
Players[CurrentPlayer].Banked := Players[CurrentPlayer].Banked + 1;
ReportVars[1] := ReportVars[1] + CountItemBmpMaskTol(OreMask, 20, 25);
ReportVars[1] := ReportVars[1] + CountItemBmpTol(Clay, 10);;
Ores := Ores + CountItemBmpMaskTol(OreMask, 20, 25);
Ores := Ores + CountItemBmpTol(Clay, 10);
ClickAllItemsBmpMaskTolWait('rop', OreMask, 20, 25, 30+Random(30));
ClickAllItemsBmpTolWait('rop', Clay, 10, 30+Random(30));
DwarfItem;
ClickAllItemsBmpMaskTolWait('rop', OreMask, 20, 25, 30+Random(30));
ClickAllItemsBmpTolWait('rop', Clay, 10, 30+Random(30));
End;
{--------------------------------------------------------
Procedure PlayerReport;
--------------------------------------------------------}
Procedure PlayerReport;
Var
Active: String;
I:Integer;
Begin
For I := 0 to HowManyPlayers - 1 Do
Begin
If Players[i].Active=True Then Active := 'T' Else Active := 'F';
WriteLn( (IntToStr(I))+' : '+Players[I].nick+ ' = '+
Active+'; Mined: '+IntToStr(Players[I].Integer2)+' Ores; M lvl:'+IntToStr(Players[i].Level[15]));
End;
End;
{--------------------------------------------------------
Procedure PowerMinerReport;
--------------------------------------------------------}
Procedure PowerMinerReport;
Begin
ClearDebug;
WriteLn('----------------------------------------------')
WriteLn('')
WriteLn('Powerminer created by Wizzup?.')
WriteLn('Version: '+VersionNumber+'.')
WriteLn('')
WriteLn('Ores Mined and Dropped : '+IntToStr(Ores));
If Gasses > 0 Then WriteLn('Number of avoided gasses: '+IntToStr(Gasses))
Writeln('Worked for '+ TimeRunning);
WriteLn('')
WriteLn('----------------------------------------------')
WriteLn('')
PlayerReport;
SRLRandomsReport;
WriteLn('')
WriteLn('----------------------------------------------')
End;
{--------------------------------------------------------
Procedure DoChats;
--------------------------------------------------------}
Procedure DoChats;
Begin
SetChat('On', 1);
SetChat('On', 1);
SetChat('Friends', 2);
SetChat('Friends', 2);
SetChat('On', 3);
SetChat('On', 3);
End;
{--------------------------------------------------------
Procedure DoChats;
--------------------------------------------------------}
Procedure ClearVars;
Var
I : Integer;
Begin
For I := 1 To 19 Do
ReportVars[I] := 0;
End;
{--------------------------------------------------------
MainLoop
--------------------------------------------------------}
Procedure SetupScript;
Begin
SetupSRL;
ScriptID := '45';
SetupSRLMining;
SetUpSRLReport;
ClearVars;
// GetLatestNews;
// GetLatestVersionNumber;
SRLID := YourSRLSTATSID;
SRLPassword:= YOURSRLSTATSPASS;
ReportVars[2] := 1;
BitMaps;
TradeSameTrader := True;
MinCount := TheMinCount;
DeclarePlayers;
CurrentPlayer := StartPlayer;
LoginPlayer;
BenMouse := True;
MouseSpeed := 10;
If Not Players[CurrentPlayer].Boolean2 Then
Begin
HighestBrightness;
Players[CurrentPlayer].Boolean2 := True;
SetRun(True);
End;
SetOreColor;
If AutoColor Then AutoGetRockColors;
EquipPick := Players[CurrentPlayer].Boolean1;
FindPickHeadColor;
Players[CurrentPlayer].Level[15] := GetSkillLevel('mining');
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
End;
{--------------------------------------------------------
MainLoop
--------------------------------------------------------}
begin
ClearDebug;
ActivateClient;
SetupScript;
MakeCompass('N');
DoChats;
SetRun(True);
NormalRandomsTime := GetSystemTime;
FastRandomsTime := GetSystemTime;
FindTalkTime := GetSystemTime;
Repeat
if Players[CurrentPlayer].Boolean3 = False then
begin
Retaliate(False);
Players[CurrentPlayer].Boolean3:=True;
end;
MarkTime(MyMark);
Repeat
PowerMine;
If DroppedOreColor = 0 Then
DroppedOreColor := GetDroppedOreColor;
FindNormalRandomsTimeEx;
Wait(1);
If NoPick Then Break;
Until (( InventoryCount = 28 )
Or (TimeFromMark( MyMark ) > 1000 * 60 * MinutesPerLoad))
If LoggedIn Then
Begin
DropAllOres;
ItemSelected;
End;
PowerMinerReport;
If NoPick Then
Begin
LogOut;
Wait(5000);
End;
If ( LoggedIn And (Players[CurrentPlayer].Banked mod Loads = 0 )) Then
Begin
Begin
SetChat('Off', 1);
Repeat
FTWaitAll(1);
If(TimeFromMark(MyMark) > 240000) Then
Begin
Logout;
Break;
End;
Until(Not(LoggedIn));
End;
NextPlayer(True);
If Not Players[CurrentPlayer].Boolean2 Then
Begin
HighestBrightness;
Players[CurrentPlayer].Boolean2 := True;
End;
MakeCompass('N');
SetOreColor;
Players[CurrentPlayer].Level[15] :=GetSkillLevel('mining');
EquipPick := Players[CurrentPlayer].Boolean1;
FindPickHeadColor;
DoChats;
SetRun(True);
If AutoColor Then AutoGetRockColors;
PowerMinerReport;
End;
If Not LoggedIn Then
Begin
NextPlayer(False);
If Not Players[CurrentPlayer].Boolean2 Then
Begin
HighestBrightness;
Players[CurrentPlayer].Boolean2 := True;
End;
MakeCompass('N');
NoPick:=False;
SetOreColor;
Players[CurrentPlayer].Level[15] :=GetSkillLevel('mining');
EquipPick := Players[CurrentPlayer].Boolean1;
FindPickHeadColor;
DoChats;
If AutoColor Then AutoGetRockColors;
SetRun(True);
PowerMinerReport;
End;
Until(False);
end.
P.S I know how to put the cross hairs on the client window of Runescape:spot:
Oh also im willing to learn so if you can teach me all you guys know that would be nice im not using this for cheating btw im just testing out with this script once i figure it out then im going to use scar for other stuff then cheating.
thank you in advanced,:D
Here is the script im trying to use[Please help me out here tell me what to setup the best way to set this up i know it has instructions but i don't really get what it means i follow what it says but it wont work]
program Powerminer;
{.include SRL\SRL.scar}
{.include SRL\SRL\Skill\Mining.scar}
{.include SRL\SRL\Misc\Trade.scar}
Const
StartPlayer = 0; // The Number of the player that has to start.
NumberOfUsers = 6; // How many players you are using.
YourSRLStatsID = ''; // Must be a string!
YourSRLStatsPass = ''; // Must be a string!
TheMinCount = 4; // MinCount 4 for normal (old rocks), 1 for Rimmington (new) rocks
OreTol = 9; // Anything between 4 - 19. (4 to 9) with normal rocks
// 9 - 14 on new rocks.
SecondsToWait = 5; // Number Of Seconds You want to wait.
Loads = 4; // Number Of Loads.
RunDir = 'S'; // RunDirection, choose it wisely.
MinutesPerLoad = 5; // Max amount of minutes to take before dropping.
AutoColor = True; // True for autocolor, recommend for better preformance.
WizzyDebug = False; // WizzyDebug.
Const
VersionNumber = '3.09';
{--------------------------------------------------------
Procedure DeclarePlayers;
--------------------------------------------------------}
Procedure DeclarePlayers;
Begin
HowManyPlayers := NumberOfUsers;
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := StartPlayer;
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active:=True;
Players[0].String1 := 'Iron'; // Primairy Ore Color
Players[0].String2 := 'Iron'; // Secondairy Ore Color wont be mined as much as 1.
Players[0].String3 := 'Iron'; // Third Ore Color, won't be mined as much as 1 and 2.
Players[0].Boolean1 := True; // Is The Pick Equipped?
Players[0].Boolean2 := True; // False for brightness Check Once.
Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Active:=True;
Players[1].String1 := 'Iron'; // Primairy Ore Color
Players[1].String2 := 'Iron'; // Secondairy Ore Color wont be mined as much as 1.
Players[1].String3 := 'Iron'; // Third Ore Color, won't be mined as much as 1 and 2.
Players[1].Boolean1 := True; // Is The Pick Equipped?
Players[1].Boolean2 := True; // False for brightness Check Once.
Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Active:=True;
Players[2].String1 := 'Iron'; // Primairy Ore Color
Players[2].String2 := 'Iron'; // Secondairy Ore Color wont be mined as much as 1.
Players[2].String3 := 'Iron'; // Third Ore Color, won't be mined as much as 1 and 2.
Players[2].Boolean1 := True; // Is The Pick Equipped?
Players[2].Boolean2 := True; // False for brightness Check Once.
Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Active:=True;
Players[3].String1 := 'Iron'; // Primairy Ore Color
Players[3].String2 := 'Iron'; // Secondairy Ore Color wont be mined as much as 1.
Players[3].String3 := 'Iron'; // Third Ore Color, won't be mined as much as 1 and 2.
Players[3].Boolean1 := True; // Is The Pick Equipped?
Players[3].Boolean2 := True; // False for brightness Check Once.
Players[4].Name :='';
Players[4].Pass :='';
Players[4].Nick :='';
Players[4].Active:=True;
Players[4].String1 := 'Iron'; // Primairy Ore Color
Players[4].String2 := 'Iron'; // Secondairy Ore Color wont be mined as much as 1.
Players[4].String3 := 'Iron'; // Third Ore Color, won't be mined as much as 1 and 2.
Players[4].Boolean1 := True; // Is The Pick Equipped?
Players[4].Boolean2 := True; // False for brightness Check Once.
Players[5].Name :='';
Players[5].Pass :='';
Players[5].Nick :='';
Players[5].Active:=True;
Players[5].String1 := 'Iron'; // Primairy Ore Color
Players[5].String2 := 'Iron'; // Secondairy Ore Color wont be mined as much as 1.
Players[5].String3 := 'Iron'; // Third Ore Color, won't be mined as much as 1 and 2.
Players[5].Boolean1 := True; // Is The Pick Equipped?
Players[5].Boolean2 := True; // False for brightness Check Once.
Writeln( IntToStr ( HowManyPlayers ) + ' Players' );
End;
// ----------------------------------------------------------------- //
Const
CopperColor = 4286610;
TinColor = 9277080;
ClayColor = 4553880;
IronColor = 2370383;
SilverColor = 12434885;
CoalColor = 2834753;
GoldColor = 1881051;
MithrilColor = 7359564;
AdamantColor = 6322272;
RuniteColor = 8681306;
{ Don't change below if you consider yourself a beginner.}
Var
MinCount : Byte;
Clay, Ores, OreMask, MyMark, OreCounter, Gasses, DroppedOreColor: Integer;
ScriptStartTime1, ScriptStartTime2,
FindNorMalRandomsTime, FindFastRandomsTime: LongInt;
NormalRandomsTime, FastRandomsTime, FindTalkTime: LongInt;
//----------------------------------------------------------------------------//
//-- Checks and sets Auto Retaliate. True = On, False = Off --//
//----------------------------------------------------------------------------//
procedure Retaliate(AutoRet:Boolean); // WT-Fakawi.
begin
GameTab(1);
if AutoRet then
begin
If not FindColor(x,y,1777020,624, 385, 719,396) then
begin
Mouse(666,381,8,8, True);
end;
end;
if not AutoRet then
begin
If FindColor(x,y,1777020,624, 385, 719,396) then
begin
Mouse(666,381,8,8, True);
end;
end;
end;
{--------------------------------------------------------
Function Explode(S: String): Array Of String;
--------------------------------------------------------}
Function Explode(S: String): Array Of String;
Var
Counter, Start, ResultCounter, B: LongInt;
EndOfWord : Boolean;
Begin
S := Trim(S);
Insert(Chr(13), S, 0);
Repeat
Counter := Counter +1;
If EndOfWord Then Counter := Counter -1;
EndOfWord := False;
If StrGet(S, Counter) = Chr(13) Then
Begin
Start := Counter;
Repeat
Counter := Counter + 1;
If Counter > Length(S) Then
Begin
Break;
End;
Until StrGet(S, Counter) = Chr(13);
ResultCounter := ResultCounter +1;
SetArrayLength(Result, ResultCounter + 1);
Result[ResultCounter] := Trim(Copy(S, Start, Counter - Start));
B := Pos(Chr(13), Result[ResultCounter])
If B > 0 Then
Delete(Result[ResultCounter], B, 1);
B := Pos(Chr(10), Result[ResultCounter])
If B > 0 Then
Delete(Result[ResultCounter], B, 1);
WriteLn(Result[ResultCounter]);
EndOfWord := True;
End;
Until Counter > Length(S)-1;
End;
{--------------------------------------------------------
Function GetLatestNews: String;
--------------------------------------------------------}
Function GetLatestNews: Array Of String;
Var
S : String;
Begin
// S := GetPage('http://www.villavu.com/wizzups%20scripts/powerminer/news.txt');
S := GetPage('http://82.92.130.193/wizzups%20scripts/powerminer/news.txt');
Result := Explode(S);
WriteLn('');
End;
{--------------------------------------------------------
Function GetLatestVersionNumber: Extended;
Checks if you have the latest version.
--------------------------------------------------------}
Function GetLatestVersionNumber: String;
Begin
// Result := GetPage('http://www.villavu.com/wizzups%20scripts/powerminer/version.txt');
Result := GetPage('http://82.92.130.193/wizzups%20scripts/powerminer/version.txt');
If Result <> VersionNumber Then
Begin
WriteLn('You currently do not have the latest version.');
WriteLn('http://www.villu-reborn.com/showthread.php?t=1517');
WriteLn('For the latest version');
End
Else
Begin
WriteLn('You have the latest version.');
WriteLn('Please post all your progress reports here : ');
WriteLn('http://www.villu-reborn.com/showthread.php?t=1517');
End;
End;
{--------------------------------------------------------
Function HighestBrightNess: Boolean;
--------------------------------------------------------}
Function HighestBrightNess: Boolean;
Begin
GameTab(11);
Wait(400);
If GetColor(712, 226) <> 16777215 Then
Begin
Mouse(712, 226, 2, 2, True);
Result := True;
Wait(200);
End;
End;
{--------------------------------------------------------
Procedure SetOreColor;
--------------------------------------------------------}
Procedure SetOreColor;
Begin
Case LowerCase(Players[CurrentPlayer].String1) Of
'copper' : OreColor1:=CopperColor;
'tin' : OreColor1:=TinColor;
'clay' : OreColor1:=ClayColor;
'iron' : OreColor1:=IronColor;
'silver' : OreColor1:=SilverColor;
'coal' : OreColor1:=CoalColor;
'gold' : OreColor1:=GoldColor;
'mithril' : OreColor1:=MithrilColor;
'adamant' : OreColor1:=AdamantColor;
'runite' : OreColor1:=RuniteColor;
End;
Case Lowercase(Players[CurrentPlayer].String2) Of
'copper' : OreColor2:=CopperColor;
'tin' : OreColor2:=TinColor;
'clay' : OreColor2:=ClayColor;
'iron' : OreColor2:=IronColor;
'silver' : OreColor2:=SilverColor;
'coal' : OreColor2:=CoalColor;
'gold' : OreColor2:=GoldColor;
'mithril' : OreColor2:=MithrilColor;
'adamant' : OreColor2:=AdamantColor;
'runite' : OreColor2:=RuniteColor;
End;
Case LowerCase(Players[CurrentPlayer].String3) Of
'copper' : OreColor3:=CopperColor;
'tin' : OreColor3:=TinColor;
'clay' : OreColor3:=ClayColor;
'iron' : OreColor3:=IronColor;
'silver' : OreColor3:=SilverColor;
'coal' : OreColor3:=CoalColor;
'gold' : OreColor3:=GoldColor;
'mithril' : OreColor3:=MithrilColor;
'adamant' : OreColor3:=AdamantColor;
'runite' : OreColor3:=RuniteColor;
End;
End;
Function GetDroppedOreColor: Integer;
Var
DroppedOreColorBMP: Integer;
iX, iY: Integer;
Begin
If CountItemBmpMaskTol(OreMask, 20, 25) = 0 Then Exit;
DroppedOreColorBMP := BitmapFromString(3, 4, '866C4C866C4C8' +
'06849866C4C896E4D866C4C896E4D8B70508B7050896E4D8B 7050' +
'8D7251');
If FindBitmapToleranceIn(DroppedOreColorBMP, iX, iY, 560, 205, 725, 460, 9) Then
Begin
Result := GetColor(iX, iY + 2);
If WizzyDebug Then WriteLn('DroppedOreColor = ' + IntToStr(Result));
End
Else
Begin
WriteLn('DroppedOreColor not found');
WriteLn('Logout and try again.');
LogOut;
TerminateScript;
End;
FreeBitmap(DroppedOreColorBMP);
End;
{--------------------------------------------------------
Function GetUpTextBlue:String;
--------------------------------------------------------}
Function GetUpTextBlue:String;
Begin
Result := Trim(GetTextAtEx(7, 7, 140, upchars, true,
true, 0, 2, 14277634, 50, True, tr_AllChars));
End;
{--------------------------------------------------------
Function IsUpTextBlue(Text: String): Boolean;
--------------------------------------------------------}
Function IsUpTextBlue(Text: String): Boolean;
Begin
Result := (Pos(Text, GetUpTextBlue) <> 0)
End;
{--------------------------------------------------------
Function DroppedOre(iX, iY: Integer): Boolean;
--------------------------------------------------------}
Function DroppedOre(iX, iY: Integer): Boolean;
Begin
Result := FindColor(iX, iY, DroppedOreColor, iX - 10, iY - 10, iX + 10, iY + 10)
If Result And WizzyDebug Then WriteLn('DroppedOre')
Else If WizzyDebug Then WriteLn('No Dropped ore');
End;
{--------------------------------------------------------
Procedure AutoGetRockColors;
--------------------------------------------------------}
Procedure AutoGetRockColors;
Var
ATPoint : TPoint;
Begin
WriteLn('AutoColor:');
If FindObjOre(ATPoint.X, ATPoint.Y, 'ocks', OreColor1, 14, MinCount) Then
OreColor1 := GetColor(ATPoint.X, ATPoint.Y);
If FindObjOre(ATPoint.X, ATPoint.Y, 'ocks', OreColor2, 14, MinCount) Then
OreColor2 := GetColor(ATPoint.X, ATPoint.Y);
If FindObjOre(ATPoint.X, ATPoint.Y, 'ocks', OreColor3, 14, MinCount) Then
OreColor3 := GetColor(ATPoint.X, ATPoint.Y);
WriteLn(Players[CurrentPlayer].String1+' Color = '+IntToStr(OreColor1));
WriteLn(Players[CurrentPlayer].String2+' Color = '+IntToStr(OreColor2));
WriteLn(Players[CurrentPlayer].String3+' Color = '+IntToStr(OreColor3));
End;
{--------------------------------------------------------
Function ItemSelected: Boolean;
Checks if an item is selected.
--------------------------------------------------------}
Function ItemSelected: Boolean;
Var
ItemSPoint: TPoint;
Begin
If FindColor(ItemSPoint.X, ItemSPoint.Y, 16777215, MIX1, MIY1, MIX2, MIY2) Then
Begin
Result := True;
GameTab(2);
GameTab(4);
End;
End;
{--------------------------------------------------------
Function FindFastRandoms: Boolean; // By WT-Fakawi.
FindFastRandoms is a quicker version of FindNormalRandoms.
It does not include ALL the Anti-Randoms though.
--------------------------------------------------------}
Function FindFastRandoms: Boolean; // By WT-Fakawi.
Var
i: Integer;
Begin
For I := 1 To 11 Do
Begin
Case I Of
1: If FindDead Then
Result := True;
2: If FindMod Then
Result := True;
3: If FindMime Then
Result := True;
4: If FindMaze Then
Result := True;
5: If FindQuiz Then
Result := True;
6: If FindDemon Then
Result := True;
7: Begin
If NoGameTab Then
Begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
End;
End;
8 : If RC Then
Result := True;
9 : If FindFight Then
Begin
Result := True;
RunTo(RunDir, True);
End;
10: If FindTalk Then
Result := True;
11: If HandleTrade Then
Result := True;
End;
Wait(1);
End;
End;
{--------------------------------------------------------
Procedure FTWaitAll(Time:Integer); // By WT-Fakawi.
Anti-Random and Wait Procedure.
--------------------------------------------------------}
Procedure FTWaitAll(Time:Integer); // By WT-Fakawi.
var t: integer;
begin
For T:=1 to Time do
begin
Wait(5); // Adepted.
FindTalk;
RC;
HandleTrade;
end;
FindFastRandoms;
MarkTime(FindNormalRandomsTime);
if FindNormalRandomsTime-ScriptStartTime1 >(10000+Random(5000)) Then
begin
FindNormalRandoms;
MarkTime(ScriptStartTime1);
end;
MarkTime(FindFastRandomsTime);
if FindFastRandomsTime-ScriptStartTime2 >(1500+Random(1500)) Then
begin
FindFastRandoms;
MarkTime(ScriptStartTime2);
end;
end;
Function FindNormalRandomsTimeEx: Boolean;
Var
TempTime, Time1, Time2: LongInt;
Begin
TempTime := GetSystemTime;
If TempTime - NormalRandomsTime > 6000 Then
Begin
NormalRandomsTime := GetSystemTime;
Time1 := GetSystemTime;
Result := FindNormalRandoms;
Time2 := GetSystemTime;
Status('Calling FNRandoms; Took '+IntToStr(Time2-Time1)+'.');
Exit;
End;
If TempTime - FastRandomsTime > 2000 Then
Begin
FastRandomsTime := GetSystemTime;
Time1 := GetSystemTime;
Result := FindFastRandoms;
Time2 := GetSystemTime;
Status('Calling FFRandoms; Took '+IntToStr(Time2-Time1)+'.');
Exit;
End;
If TempTime - FindTalkTime > 500 Then
Begin
FindTalkTime := GetSystemTime;
Time1 := GetSystemTime;
Result := FindTalk;
Time2 := GetSystemTime;
Status('Calling FT; Took '+IntToStr(Time2-Time1)+'.');
Exit;
End;
End;
{--------------------------------------------------------
Procedure BitMaps;
--------------------------------------------------------}
Procedure BitMaps;
Begin
Clay := BitmapFromString(4, 4, '86714C89734D8B7650907A52978' +
'1569781569A8357957E55A1895CA38B5D9F875B9C8559AC92 62A8' +
'8F60A58D5FA1895C');
OreMask := BitmapFromString(11, 11, 'z78DA73730301033070436' +
'2238B60024C35B84CC0A5923C13F0BB937813F0EB22DE04CC 5022' +
'CF04CADD404CC890EA0BFCE2F85D4E4C6A212FF470998FCC0 600F' +
'B599CC1');
End;
{--------------------------------------------------------
Function FindOre(MaxTol:Integer):Boolean;
One of my core mining procedures,
this is needed for Mining
different ores and following gas.
--------------------------------------------------------}
Procedure ChangeOreColor;
Begin
If Random(4) = 3 Then OreCounter := 1;
If OreCounter > 3 Then OreCounter := 1;
Case OreCounter Of
1: OreColor:= OreColor1;
2: OreColor:= OreColor2;
3: OreColor:= OreColor3;
End;
If WizzyDebug Then WriteLn('OreCounter = '+IntToStr(OreCounter));
End;
{--------------------------------------------------------
Function GetChatMessage: String;
--------------------------------------------------------}
Function GetChatMessage: String;
Begin
Result := Trim(GetTextAtEx(20, 415, 0, SmallChars, False,
False, 0, 1, 0, 80, False, tr_AllChars));
End;
{--------------------------------------------------------
Function YouSwing: Boolean;
--------------------------------------------------------}
Function YouSwing: Boolean;
Begin
Result := (Pos('swing', GetChatMessage) <> 0)
End;
{--------------------------------------------------------
Function Youmanage: Boolean;
--------------------------------------------------------}
Function Youmanage: Boolean;
Begin
Result := (Pos('anage', GetChatMessage) <> 0)
End;
{--------------------------------------------------------
Function YouManage: Boolean;
--------------------------------------------------------}
Function PowerMine: Boolean;
Var
MMark, Dx, Dy, YMMark: Integer;
Begin
ChangeOreColor;
If (Not FindObjOre2(Dx, Dy, 'ocks', OreColor, OreTol, MinCount)) Then
Begin
OreCounter := OreCounter + 1;
FTWaitAll(1);
Exit;
End;
Status('MyMine;');
Result := True;
GetMousePos(Dx, Dy);
If FindGas(Dx, Dy - 20) Then
Begin
FTWait(40);
Gasses := Gasses + +1;
ReportVars[5] := ReportVars[5] + 1;
WriteLn('Gas Found.');
Exit;
End;
Mouse(Dx, Dy, 0, 0, True);
MarkTime(MMark);
MarkTime(YMMark);
Repeat
If Not FindColorSpiralTolerance(Dx, Dy, OreColor, Dx - 30, Dy - 30, Dx + 30, Dy + 30, 9) Then
Begin
Status('No More FindColor.');
Exit;
End;
FindNormalRandomsTimeEx;
Wait(50);
If TimeFromMark(YMMark) > 3500 Then
Begin
If YouManage Then Exit;
If FindGas(Dx, Dy - 20) Then
Begin
Mouse(646, 82, 3, 3, True);
ReportVars[5] := ReportVars[5] + 1;
Gasses := Gasses + +1;
FTWait(40);
FindPick;
End;
If FindFight Then
Begin
MakeCompass('N');
RunTo(RunDir, True);
MakeCompass('N');
End;
Wait(50);
End;
Until TimeFromMark(MMark) > (3500 + (SecondsToWait * 1000));
End;
{--------------------------------------------------------
Procedure DropAllOres;
--------------------------------------------------------}
Procedure DropAllOres;
Begin
Players[CurrentPlayer].Integer2 := Players[CurrentPlayer].Integer2+
CountItemBmpMaskTol(OreMask, 20, 25);
Players[CurrentPlayer].Integer2 := Players[CurrentPlayer].Integer2+
CountItemBmpTol(Clay, 10);
ReportVars[0] := ReportVars[0] + 1;
Banks := Banks + 1;
Players[CurrentPlayer].Banked := Players[CurrentPlayer].Banked + 1;
ReportVars[1] := ReportVars[1] + CountItemBmpMaskTol(OreMask, 20, 25);
ReportVars[1] := ReportVars[1] + CountItemBmpTol(Clay, 10);;
Ores := Ores + CountItemBmpMaskTol(OreMask, 20, 25);
Ores := Ores + CountItemBmpTol(Clay, 10);
ClickAllItemsBmpMaskTolWait('rop', OreMask, 20, 25, 30+Random(30));
ClickAllItemsBmpTolWait('rop', Clay, 10, 30+Random(30));
DwarfItem;
ClickAllItemsBmpMaskTolWait('rop', OreMask, 20, 25, 30+Random(30));
ClickAllItemsBmpTolWait('rop', Clay, 10, 30+Random(30));
End;
{--------------------------------------------------------
Procedure PlayerReport;
--------------------------------------------------------}
Procedure PlayerReport;
Var
Active: String;
I:Integer;
Begin
For I := 0 to HowManyPlayers - 1 Do
Begin
If Players[i].Active=True Then Active := 'T' Else Active := 'F';
WriteLn( (IntToStr(I))+' : '+Players[I].nick+ ' = '+
Active+'; Mined: '+IntToStr(Players[I].Integer2)+' Ores; M lvl:'+IntToStr(Players[i].Level[15]));
End;
End;
{--------------------------------------------------------
Procedure PowerMinerReport;
--------------------------------------------------------}
Procedure PowerMinerReport;
Begin
ClearDebug;
WriteLn('----------------------------------------------')
WriteLn('')
WriteLn('Powerminer created by Wizzup?.')
WriteLn('Version: '+VersionNumber+'.')
WriteLn('')
WriteLn('Ores Mined and Dropped : '+IntToStr(Ores));
If Gasses > 0 Then WriteLn('Number of avoided gasses: '+IntToStr(Gasses))
Writeln('Worked for '+ TimeRunning);
WriteLn('')
WriteLn('----------------------------------------------')
WriteLn('')
PlayerReport;
SRLRandomsReport;
WriteLn('')
WriteLn('----------------------------------------------')
End;
{--------------------------------------------------------
Procedure DoChats;
--------------------------------------------------------}
Procedure DoChats;
Begin
SetChat('On', 1);
SetChat('On', 1);
SetChat('Friends', 2);
SetChat('Friends', 2);
SetChat('On', 3);
SetChat('On', 3);
End;
{--------------------------------------------------------
Procedure DoChats;
--------------------------------------------------------}
Procedure ClearVars;
Var
I : Integer;
Begin
For I := 1 To 19 Do
ReportVars[I] := 0;
End;
{--------------------------------------------------------
MainLoop
--------------------------------------------------------}
Procedure SetupScript;
Begin
SetupSRL;
ScriptID := '45';
SetupSRLMining;
SetUpSRLReport;
ClearVars;
// GetLatestNews;
// GetLatestVersionNumber;
SRLID := YourSRLSTATSID;
SRLPassword:= YOURSRLSTATSPASS;
ReportVars[2] := 1;
BitMaps;
TradeSameTrader := True;
MinCount := TheMinCount;
DeclarePlayers;
CurrentPlayer := StartPlayer;
LoginPlayer;
BenMouse := True;
MouseSpeed := 10;
If Not Players[CurrentPlayer].Boolean2 Then
Begin
HighestBrightness;
Players[CurrentPlayer].Boolean2 := True;
SetRun(True);
End;
SetOreColor;
If AutoColor Then AutoGetRockColors;
EquipPick := Players[CurrentPlayer].Boolean1;
FindPickHeadColor;
Players[CurrentPlayer].Level[15] := GetSkillLevel('mining');
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
End;
{--------------------------------------------------------
MainLoop
--------------------------------------------------------}
begin
ClearDebug;
ActivateClient;
SetupScript;
MakeCompass('N');
DoChats;
SetRun(True);
NormalRandomsTime := GetSystemTime;
FastRandomsTime := GetSystemTime;
FindTalkTime := GetSystemTime;
Repeat
if Players[CurrentPlayer].Boolean3 = False then
begin
Retaliate(False);
Players[CurrentPlayer].Boolean3:=True;
end;
MarkTime(MyMark);
Repeat
PowerMine;
If DroppedOreColor = 0 Then
DroppedOreColor := GetDroppedOreColor;
FindNormalRandomsTimeEx;
Wait(1);
If NoPick Then Break;
Until (( InventoryCount = 28 )
Or (TimeFromMark( MyMark ) > 1000 * 60 * MinutesPerLoad))
If LoggedIn Then
Begin
DropAllOres;
ItemSelected;
End;
PowerMinerReport;
If NoPick Then
Begin
LogOut;
Wait(5000);
End;
If ( LoggedIn And (Players[CurrentPlayer].Banked mod Loads = 0 )) Then
Begin
Begin
SetChat('Off', 1);
Repeat
FTWaitAll(1);
If(TimeFromMark(MyMark) > 240000) Then
Begin
Logout;
Break;
End;
Until(Not(LoggedIn));
End;
NextPlayer(True);
If Not Players[CurrentPlayer].Boolean2 Then
Begin
HighestBrightness;
Players[CurrentPlayer].Boolean2 := True;
End;
MakeCompass('N');
SetOreColor;
Players[CurrentPlayer].Level[15] :=GetSkillLevel('mining');
EquipPick := Players[CurrentPlayer].Boolean1;
FindPickHeadColor;
DoChats;
SetRun(True);
If AutoColor Then AutoGetRockColors;
PowerMinerReport;
End;
If Not LoggedIn Then
Begin
NextPlayer(False);
If Not Players[CurrentPlayer].Boolean2 Then
Begin
HighestBrightness;
Players[CurrentPlayer].Boolean2 := True;
End;
MakeCompass('N');
NoPick:=False;
SetOreColor;
Players[CurrentPlayer].Level[15] :=GetSkillLevel('mining');
EquipPick := Players[CurrentPlayer].Boolean1;
FindPickHeadColor;
DoChats;
If AutoColor Then AutoGetRockColors;
SetRun(True);
PowerMinerReport;
End;
Until(False);
end.
P.S I know how to put the cross hairs on the client window of Runescape:spot:
Oh also im willing to learn so if you can teach me all you guys know that would be nice im not using this for cheating btw im just testing out with this script once i figure it out then im going to use scar for other stuff then cheating.