Okay, I'm new to this. I've checked out the tutorials, and to be honest. It is is very confusing... Could someone help me with Wizzups Script here? Explain what I need to do.
Yes I have new SRL installed I keep getting this error before anyone posts saying I don't have SRL.
Line 871: [Error] (6738:11): Unknown identifier 'FindColorCircleD' in script C:\Program Files\SCAR 2.03\includes\srl\srl\core\Color.scar <-- WTF does this mean?
Also this is the script I am using...
program Powerminer;
{.include SRL/SRL.scar}
{.include SRL/SRL/Skill/Mining.scar}
{.include SRL/SRL/Misc/Trade.scar}
Const
VersionNumber = '3.01';
YourSRLStatsID = 'SRLID'; // Must be a string!
YourSRLStatsPass = 'SRLPass'; // Must be a string!
OreTol = 9; // Anything between 4 - 19.
QuickLogOut = True;// If False then wait 3 minutes until jagex logs you out.
SecondsToWait = 5; // Number Of Seconds You want to wait.
Loads = 4; // Number Of Loads.
MinutesPerLoad = 5; // Max amount of minutes to take before dropping.
NumberOfUsers = 6; // How many players you are using.
StartPlayer = 0; // The Number of the player that has to start.
RunDir = 'N'; // RunDirection when you find a fight.
RunFar = True; // Better just leave this to true.
AutoColor = True; // True for autocolor, recommend for better preformance.
UseBenMouse = False; // Use Ben mouse..I don't recommend it.
TheMouseSpeed = 25; // Mousespeed.
TheMinCount = 3; // MinCount 3 for normal (old rocks), 1 for Rimmington (new) rocks
LoginFace = 'N'; // Direction to face when logging in and mining.
Speed = 5; // Between 1-10 is my advice. Higher
// is possible, but script MAY malfunction.
DropOresInDir = False; // False if you do not want to drop ores in certain dir.
RunToDiffOrePlaces = False; // Want to randomly change direction we are running to?
DirectionToDropOre = 'E'; // Doesn't matter when DropOresInDir = False.
TradeWithSameTrader = True; // Better to leave this to true.
MiningInDwarvenMine = False; // Are you mining in the dwarven mine?
{--------------------------------------------------------
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[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[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[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[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[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?
Writeln( IntToStr ( HowManyPlayers ) + ' Players' );
End;
// ----------------------------------------------------------------- //
Const
CopperColor = 4286610;
TinColor = 9277080;
ClayColor = 4553880;
IronColor = 1910851;
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, Dx, Dy, OreCounter : Integer;
ScriptStartTime1, ScriptStartTime2,
FindNorMalRandomsTime, FindFastRandomsTime: LongInt;
DirectionForOres:String;
{--------------------------------------------------------
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://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://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;
{--------------------------------------------------------
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;
{--------------------------------------------------------
Procedure AutoGetRockColors;
--------------------------------------------------------}
Procedure AutoGetRockColors;
Var
ATPoint : TPoint;
Begin
WriteLn('AutoColor:');
If FindObjOre(ATPoint.X, ATPoint.Y, 'Mine', OreColor1, 9, MinCount) Then
OreColor1 := GetColor(ATPoint.X, ATPoint.Y);
If FindObjOre(ATPoint.X, ATPoint.Y, 'Mine', OreColor2, 9, MinCount) Then
OreColor2 := GetColor(ATPoint.X, ATPoint.Y);
If FindObjOre(ATPoint.X, ATPoint.Y, 'Mine', OreColor3, 9, 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 12 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: Begin
If Not MiningInDwarvenMine Then
Begin
If InBlack Then
Begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
End;
End;
End;
9 : If RC Then
Result := True;
10 : If FindFight Then
Begin
Result := True;
RunTo(RunDir, RunFar);
End;
11: If FindTalk Then
Result := True;
12: 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(50+Random(50)); // 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;
{--------------------------------------------------------
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.
--------------------------------------------------------}
Function FindOre(MaxTol:Integer):Boolean;
Var
Tol, X, Y:Integer;
D: Extended;
Begin
If OreCounter > 3 Then OreCounter := 1;
Case OreCounter Of
1: OreColor:= OreColor1;
2: OreColor:= OreColor2;
3: OreColor:= OreColor3;
End;
x := MSCX;
y := MSCY;
If FindObjOre2(Dx, Dy, 'Mine', OreColor, Tol, MinCount) Then
Begin
OreColor := GetColor(Dx, Dy);
D := distance(x, y, Dx, Dy);
dx := dx + trunc( (Random(10) + 7) * (dx - x) / d); // By pups.
dy := dy + trunc( (Random(10) + 7) * (dy - y) / d); // By pups.
Result := True;
End;
End;
{--------------------------------------------------------
Function PowerMine:Boolean;
--------------------------------------------------------}
Function PowerMine:Boolean;
// Ideas based off pups powerminer.
Var
RockMark: Integer;
Failed: Boolean;
Begin
If Not FindOre(OreTol) Then
Begin
OreCounter := OreCounter + 1;
Exit;
End;
GetMousePos(X, Y);
If FindGas(X, Y) Then
// If FindGas(X, Y - 20) Then
Begin
FTWaitAll(200);
Exit;
End;
Mouse(X, Y, 0, 0, True);
OreCounter := 1;
OreColor := GetColor(X, Y);
MarkTime(RockMark)
Repeat
Wait(Speed);
X := Dx;
Y := Dy;
If Not FindColorSpiralTolerance(Dx, Dy, OreColor, MSX1, MSY1, MSX2, MSY2, OreTol)
Or (Distance(X, Y, Dx, Dy) > 20) Then
Begin
Failed := True;
Break;
End;
Until (TimeFromMark(RockMark) > 1500);
If GetColor(195, 426) = 0 Then Failed := False;
If Failed Then
Exit;
X := Dx;
Y := Dy;
FindPick;
Result := True;
MarkTime(RockMark);
Repeat
Wait(Speed);
// If FindGas(Dx, Dy - 20) Then
If FindGas(Dx, Dy) Then
Begin
Mouse(646, 82, 3, 3, True);
FTWaitAll(250);
End;
If Random(4) = 3 Then FindNormalRandoms;
Dx := X;
Dy := Y;
If Not FindColorSpiralTolerance(Dx, Dy, OreColor, MSX1, MSY1, MSX2, MSY2, OreTol) Then
Begin
Exit;
End;
FindPick;
If FindFight Then
Begin
MakeCompass('N');
RunTo(RunDir, True);
MakeCompass(LoginFace);
Break;
End;
Until (TimeFromMark(RockMark) > SecondsToWait * 1000) Or (Distance(X, Y, Dx, Dy) > 10);
End;
Procedure RunToDropOres(Dir: String);
Begin
MakeCompass('N');
Case UpperCase(Dir) Of
'N': MouseFlag(648, 83-63, 5, 5)
'S': MouseFlag(648, 83+63, 5, 5)
'E': MouseFlag(648+63, 83, 5, 5)
'W': MouseFlag(648-63, 83, 5, 5)
End;
FFlag(0);
FindNormalRandoms;
End;
Procedure RunBackToOres(Dir: String);
Begin
Case UpperCase(Dir) Of
'N': MouseFlag(648, 83+63, 5, 5)
'S': MouseFlag(648, 83-63, 5, 5)
'E': MouseFlag(648-63, 83, 5, 5)
'W': MouseFlag(648+63, 83, 5, 5)
End;
FFlag(0);
MakeCompass(LoginFace);
FindNormalRandoms;
End;
{--------------------------------------------------------
Procedure DropAllOres;
--------------------------------------------------------}
Procedure DropAllOres;
Begin
If RunToDiffOrePlaces Then
Begin
Case Random(4) Of
0: DirectionForOres := 'N';
1: DirectionForOres := 'E';
2: DirectionForOres := 'S';
3: DirectionForOres := 'W';
End;
If DropOresInDir Then RunToDropOres(DirectionForOres);
End;
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));
If DropOresInDir Then RunBackToOres(DirectionForOres);
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('You are using a Powerminer created by Wizzup?.')
WriteLn('Version: '+VersionNumber+'.')
WriteLn('')
WriteLn('Ores Mined and Dropped : '+IntToStr(Ores));
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 := TradeWithSameTrader;
MouseSpeed := TheMouseSpeed;
MinCount := TheMinCount;
DirectionForOres := DirectionToDropOre;
DeclarePlayers;
CurrentPlayer := StartPlayer;
LoginPlayer;
BenMouse := UseBenMouse;
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(LoginFace);
DoChats;
SetRun(True);
Repeat
MarkTime(MyMark);
Repeat
PowerMine;
If Random(8) = 7 Then FindNormalRandoms;
FindTalk;
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
If Not QuickLogOut Then
Begin
Repeat
FTWaitAll(1);
If(TimeFromMark(MyMark)>280000) Then
Begin
Logout;
Break;
End;
Until(Not(LoggedIn));
End;
If QuickLogOut Then LogOut;
NextPlayer(True);
MakeCompass(LoginFace);
SetOreColor;
Players[CurrentPlayer].Level[15] :=GetSkillLevel('mining');
EquipPick := Players[CurrentPlayer].Boolean1;
FindPickHeadColor;
DoChats;
If AutoColor Then AutoGetRockColors;
PowerMinerReport;
End;
If Not LoggedIn Then
Begin
NextPlayer(False);
MakeCompass(LoginFace);
NoPick:=False;
SetOreColor;
Players[CurrentPlayer].Level[15] :=GetSkillLevel('mining');
EquipPick := Players[CurrentPlayer].Boolean1;
FindPickHeadColor;
DoChats;
If AutoColor Then AutoGetRockColors;
PowerMinerReport;
End;
Until(False);
end.
It says it does auto-color. Anti-ban I dont care for I am just lazy. I set the 'crosshair' to my RS screen then push 'play' or whatever it is and I get that recent error I told you about... What am I doing wrong? Or what do I need to do to the script to get it to work?


Reply With Quote








