Characters constantly miss the mine and end up by the members gate in bottom right hand corner. Perhaps you could make a procdure that searchs for a DTM right there and if it is found make your character to go north and find mine again.
Characters constantly miss the mine and end up by the members gate in bottom right hand corner. Perhaps you could make a procdure that searchs for a DTM right there and if it is found make your character to go north and find mine again.
it keeps going to members gate i also noticed it searches to early for the mine before the mine is even on the mini-map perhaps better walking dtms or something
mine keeps saying,
- From bank to mine.
Mine spotted by symbol.
Succesfully entered the mine by the symbol.
- From bank to mine.
- Mine full load.
(!) We got lost but found the mine DDTM =D
(!) We got lost but found the mine DDTM =D
(!) We got lost but found the mine DDTM =D
about 100,000 times lol, my guy stands a tiny bit south of the three iron rocks and then just moves up a space north then a space south over and over
hmm people try the older version until its updated
I tried using the older one, I got like 8 iron ores I think then it just started making me walk near the rocks from one spot back to a different one everty like 5 seconds, I'll just wait for an update or something, then I'll try again.
same results mk old version does same thing
doesnt work for me, walks past the mine every time
btw i have scar 3.15 and rev 16
scar closed after the pop up box that said "please start all players at the varrock east mine, start" after i pressed start it just closed
i got it setup for one player, and rev 15
can someone please help i really want to try this script it looks great
Does anyone have fix for mine finding prob?
Well before the RS update this script worked very smoothly for me. Forgot to save proggy, sorry
Once SRL updates I'll get another asap.
SRL's F.A.Q. (Error fixes) | How to Convert SRL-5 Scripts to SRL-6 | Draynor Chop N' Bank (RS3)| AIO Superheater (RS3)
T - E - A - MTogether Everyone Achieves More
this is great script update it soon plz...i will post more proggys
![]()
Ok, great script however, I have problems with it... It goes to the mine Flawlessly (= but it kept on saying that it couldnt find any of the rocks. Then, it walked back to the bank. banked without opening up the bank windo and then when it went to walk back to the mine.. it went haywire and clicked like everywhere.
-Any suggestions on why it wont work for me?
Line 106: [Hint] (13313:1): Variable 'WARN' never used in script C:\Program Files\SCAR 3.15\Scripts\Varrock_East_Mine_And_Banker_By_Maste rKill_V13_BETA.scar
File access error
SRL Compiled in 15 msec
Then it dissappears but nothing happends
uh-oh... Ok guys, I got it to mine the full load but it dosent bank. it walks to the bank.. and dosent bank anything? Whats going on?
Although many people think that this autominer is not functional, it was working for me this morning. Thing is I hear that there is a problem with the AutoColour.scar... but that's not the problem. You may or may not be able to help, but almost ALL of my SMART scripts that I am trying to run aren't working right now, why? I don't know. Every time I try and run a SMART script, it just closes, and I have to end it using the task manager... Same thing happens to this script, although it was working this morning, and now its not anymore
Two more things, why when it loads smart does it go to an unassigned applet, and also why can't we load member worlds with the script?I have an army of 4 that are members and I wanted them to go into the member world...
EDIT: Problem Fixed and the miner is working without any problems![]()
Version 2 Of Sig, made my own vectors, used my own character and everything.
http://img248.imageshack.us/img248/7...goodsigxp7.png
The Shilo Fisher has been halted temporarily. Sorry guys... Too much school work at the moment.![]()
![]()
![]()
i tryed to fix the mine finding... for me it works hope for you guys too:P
SCAR Code:Program NewIronMinerByMasterKill;
{.include SRL/SRL/Misc/Smart.scar}
{.include srl/srl.scar}
{.include srl/srl/skill/mining.scar}
var
World, HowManyResponds: Integer;
TheQuestion, TheRespond: array of array of String;
{/----------------------------------------------------------------------------//
Welcome to the varrock east mine and banker!
This script is created by MasterKill from SRL-Forums
SCAR : 3.15
SRL REV : 15
SCRIPT VERSION : 13.0
DO NOT COPY THIS SCRIPT AND CLAIM IT AS YOUR OWN.
If you want to use some procedures, it's ok, but CREDIT MASTERKILL.
//----------------------------------------------------------------------------//
Start your players in the varrock east bank. Some stuff this script is including:
* Fast Auto Responder
* Perfect Bank And Mine Finding
* Anti Randoms, Anti Ban
* Awesome Reports
* Very Fast
* TPoint Array Object Finding (for bank, iron and mine).
* Pick Related:
- Get New Pick From Bank When No Pick
- Bank Pickaxe If Broken
- Attamps to find the pickhead if it flies of
//----------------------------------------------------------------------------//
Start your players in the Varrock east bank with a pickaxe in first slot OR
wielded. Make sure the mining level is > 14. Be smart and add some responds
in the responds setup. plz setup the script:
//----------------------------------------------------------------------------/}
{Script Setup!}
//----------------------------------------------------------------------------//
Procedure SetupPlayers;
begin
HowManyPlayers := 2; // NO MAX <-- SETUP CORRECT
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; // Start Player? <-- SETUP CORRECT
World := 51; // What world to macro in? be smart and chage this!
SRLid := ''; // to run this script you need an srl ID and PASS
SRLPassword := ''; // plz get those at "www.stats.srl-forums.com" and hit register
Players[0].Name := ''; // UserName
Players[0].Pass := ''; // Password
Players[0].Nick := ''; // 3/4 String of Name (example: if accname is 'macroman' then set .nick at 'acro')
Players[0].Active := True; // Use this account? True / False
Players[0].integers[0] := 3; // loads before: logout / nextplayer
Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Active := False;
Players[1].integers[0] := 3;
MouseSpeed := 12; // Mouse speed
end;
Procedure SetupResponds; // ADD RESPONDS FOR BETTER ANTI BAN !
begin
HowManyResponds := 3; {<-- SETUP CORRECT !!}
SetArrayLength(TheQuestion, HowManyResponds); SetArrayLength(TheRespond, HowManyResponds);
TheQuestion[0] := ['mining', 'mine'];
TheRespond[0] := [IntToStr(Players[CurrentPlayer].Integers[1])]; // your players mining level
TheQuestion[1] := ['respond'];
TheRespond[1] := ['what to say?', 'i dont have anything to say', 'no im bussy'];
TheQuestion[2] := [Players[CurrentPlayer].nick]; // your players nickname
TheRespond[2] := ['no', 'get lost', 'im bussy', 'go away', 'just let me mine okeey?'];
end;
//----------------------------------------------------------------------------//
{End Script Setup!}
//----------------------------------------------------------------------------//
//----------------------------------------------------------------------------//
{Script Code! don't touch all below}
//----------------------------------------------------------------------------//
var
x, y, I, Load, RockWaitTime, Responds, bankers, IronMined, IronOre: Integer;
PickaxeStick, BrokenPickaxe, PickaxeD, Banked, ScriptRunTime, warn: Integer;
Wielded: Boolean;
SafeReportFileName: String;
PickaxeDTM: Array [1..6] Of Integer;
Procedure SetupDTM;
begin
Bankers := DTMFromString('78DA633CC3CCC070890105FCFFFF9FE13F906' +
'684B0FF331E02AAB905916383AAF9F38789810BAA060418AF01D5' +
'DC26A0E614617300197B14BA');
IronOre := DTMFromString('78DA6314616060106640038C482490660712A' +
'204D408000945026AE481840C0135AA40828F801A2920C141400D' +
'C85FECF8D50000ACCF0135');
PickaxeStick := DTMFromString('78DA6314666060906140038C4824901601124' +
'204D44801095E026A40F2CA04D408000929026A048184220135E2' +
'404214BF1A00B23A014A');
BrokenPickaxe := DTMFromString('78DA6334676660A8656440058C4824907603A' +
'A2926A0C61BA8A688801A3BA09A4C026A8C806A728950D34A408D' +
'13504D3E7E3500C8FC050A');
PickaxeDTM[1] := DTMFromString('78DA639CC0CCC0708B91011530229140BA13A' + //rune//
'8E60301350B816AEE1350330DA8E60A01350B30CD71894A611041' +
'52030015D70885');
PickaxeDTM[2] := DTMFromString('78DA63DCC5CCC0708B91011530C2C9FF40C0B' + //addy//
'819A8E6036E3560FA3450CD7D026A0E00D55C21A0E614A6394E41' +
'4E0CBC486A00B2A90D20');
PickaxeDTM[3] := DTMFromString('78DA637CC2CCC0708B91011530229140FA2E5' + //mith//
'0CD07026ABE02D5DC27A0E61550CD15026ABE609AE3E010C72082' +
'A40600C3490A05');
PickaxeDTM[4] := DTMFromString('78DA63E4636160B8C5C8800A18914820CD0E5' + //steel//
'4F381801A79A09AFB04D48800D55C21A0460ED39C8A8202061124' +
'35000D5E0656');
PickaxeDTM[5] := DTMFromString('78DA639CC0CCC0F08F91011530229140BA13A' + //iron//
'8468409BF9A854035CC04D44C03AAF941C0AE0598E604F9FA3288' +
'20A901004D1D0626');
PickaxeDTM[6] := DTMFromString('78DA63DCC5CCC0F08F910115302291407A335' + //bronz//
'08D08137E35A7816A9809A8390054F383805DA730CDF1B5516110' +
'41520300A15606B9');
PickaxeD := DTMFromString('78DA6314606060E06540038C4824909605125' +
'C04D470020976026A40662810502302245808A801B9590CBF1A00' +
'612000CF');
end;
// srl function, edited the WriteLn out
function FindVarrockRoadColor2: Integer;
var
GC, a, l, TestColor, Red, Green, Blue : integer;
var
P:array of Tpoint;
begin
GC := 7304312;
Flag;
FindColorsSpiralTolerance(x, y, P, GC, MMX1, MMY1, MMX2, MMY2, 60);
l:=GetArrayLength(P);
for a:= 0 to l-1 do
begin
TestColor := GetColor(P[a].x, P[a].y);
red := (TestColor mod 256);
green := ((TestColor / 256) mod 256);
blue := ((TestColor / 256) / 256);
if Red - Blue <= 12 then if Red - Blue >= 8 then
if Red - Green <= 6 then if Red - Green >= -1 then
if Green - Blue <= 10 then if Green - Blue >= 4 then
if GetColor(P[a].x + 5, P[a].y + 5) = TestColor then
if GetColor(P[a].x + 3, P[a].y + 3) = TestColor then
if GetColor(P[a].x, P[a].y + 5) = TestColor then
if GetColor(P[a].x + 5, P[a].y) = TestColor then
if GetColor(P[a].x, P[a].y + 3) = TestColor then
if GetColor(P[a].x + 3, P[a].y) = TestColor then
if GetColor(P[a].x + 5, P[a].y + 3) = TestColor then
if GetColor(P[a].x + 3, P[a].y + 5) = TestColor then
begin
Result := TestColor;
Exit;
end;
end;
WriteLn('Could not find Varrock Road Color!');
Result := 0;
end;
// srl function, edited the WriteLn out
function FindStoneColor2: Integer;
var
GC, a, l, TestColor: integer;
var
P:array of Tpoint;
begin
GC := 2176863;
Flag;
FindColorsSpiralTolerance(MMCX, MMCY, P, GC, MMX1,MMY1,MMX2,MMY2, 60);
l:=GetArrayLength(P);
for a:= 0 to l-1 do
begin
TestColor := GetColor(P[a].x,P[a].y);
if (GetColor(P[a].x-1,P[a].y)=TestColor-461068) then
begin
Result := TestColor;
Exit;
end;
end;
//WriteLn('Could not find Stone Color!');
Result := 0;
end;
Function TheResponder: boolean;
var
I, II, Rand: Integer;
Text, Name: String;
begin
If Not GetLastChatText(Text) Then Exit;
For I := 0 To HowManyResponds - 1 Do
begin
For II := 0 To High(TheQuestion[I]) Do
begin
If (Pos(TheQuestion[I][II], Text) <> 0) then
begin
Name := GetBlackChatMessage;
If (Pos(Players[CurrentPlayer].nick, Name) <> 0) then break;
WriteLn('Respond:');
WriteLn('/ ' + Name + ' ' + Text);
Rand := Random(High(TheRespond[I]));
TypeSend(TheRespond[I][Rand]);
WriteLn('/ ' + Players[CurrentPlayer].Name + ': ' + TheRespond[I][Rand]);
Responds := Responds + 1;
ReportVars[2] := ReportVars[2] + 1;
Result := True;
exit;
end;
end;
end;
end;
Procedure Randoms;
begin
FindNormalRandoms;
if FindFight then
begin
MakeCompass('n');
mouse(630, 154, 5, 5, True);
fflag(0);
SleepAndMoveMouse(15000+random(5000));
Mouse(630, 15, 5, 5, True);
SleepAndMoveMouse(2000 + random(2000));
fflag(0);
end;
end;
Function NumberOfActive(WriteLin: boolean): Integer;
var
R: Integer;
begin
Result := 0;
for R := 0 To HowManyPlayers - 1 do
if (Players[R].active = True) then
Result := Result + 1;
If (Result = 0) Then WriteLn('No More Players Active.')
Else WriteLn('Still ' + IntToStr(Result) + ' players of the ' + IntToStr(howManyPlayers) + ' players are active.');
end;
Procedure WieldPickaxe;
var
rx, ry: Integer;
begin
Wielded := False;
If (Players[CurrentPlayer].Integers[4] < 1) Then
Players[CurrentPlayer].Integers[4] := GetSkillInfo('attack', False);
Gametab(4);
Wait(500 + random(500));
if FindDTM(PickaxeD, rx, ry, 525, 182, 745, 473) then
begin
case Players[CurrentPlayer].strings[0] of
'Rune': begin
If (Players[CurrentPlayer].Integers[4] > 39) then
begin
Mouse(rx, ry, 0, 0, True);
Wielded := True;
end;
end;
'Addy': begin
If (Players[CurrentPlayer].Integers[4] > 29) then
begin
Mouse(rx, ry, 0, 0, True);
Wielded := True;
end;
end;
'Mith': begin
If (Players[CurrentPlayer].Integers[4] > 19) then
begin
Mouse(rx, ry, 0, 0, True);
Wielded := True;
end;
end;
'Steel': begin
If (Players[CurrentPlayer].Integers[4] > 4) then
begin
Mouse(rx, ry, 0, 0, True);
Wielded := True;
end;
end;
'Iron': begin
Mouse(rx, ry, 0, 0, True);
Wielded := True;
end;
'Bronz': begin
Mouse(rx, ry, 0, 0, True);
Wielded := True;
end;
end;
If Wielded Then
WriteLn('Your strong enough to wield your pickaxe... Wielded.');
end;
end;
Function MasterRoadWalk(TheColor, StartRadial, EndRadial, Radius, Xmod, Ymod: Integer; FailWait: Boolean): Boolean; // BETA
Var
ResultTPA: TPointArray;
Begin
If RadialWalkEx(ResultTPA, MMCX, MMCY, TheColor, 0, StartRadial, EndRadial, Radius) Then
Begin
Mouse(ResultTPA[0].x, ResultTPA[0].y, Xmod, Ymod, True);
If FailWait Then
Begin
Wait(4000);
FFlag(20);
End Else
Begin
SleepAndMoveMouse(Random(2000));
Wait(2000 + Random(2000));
End;
Result := True;
End;
End;
Function GetPickAxe: Integer;
Var
MK: Integer;
Begin
Result := 0;
For MK := 1 To 6 Do
Begin
If FindDTM(PickaxeDTM[MK], x, y, 532, 183, 751, 485) Then
Begin
Result := MK;
Exit;
End;
End;
End;
Function SetupPick(PickaxeNumber: Integer): Boolean;
Begin
Case PickaxeNumber Of
0: Exit;
1: Begin
RockWaitTime := 4000;
Players[CurrentPlayer].Strings[0] := 'Rune';
End;
2: Begin
RockWaitTime := 5000;
Players[CurrentPlayer].Strings[0] := 'Addy';
End;
3: Begin
RockWaitTime := 6000;
Players[CurrentPlayer].Strings[0] := 'Mith';
End;
4: Begin
RockWaitTime := 7000;
Players[CurrentPlayer].Strings[0] := 'Steel';
End;
5: Begin
RockWaitTime := 8000;
Players[CurrentPlayer].Strings[0] := 'Iron';
End;
6: Begin
RockWaitTime := 8000;
Players[CurrentPlayer].Strings[0] := 'Bronz';
End;
End;
Result := True;
WriteLn(Players[CurrentPlayer].Strings[0] + ' pickaxe found in your iventory.');
End;
Procedure WhatPickaxeDoWeHave;
Begin
If Not LoggedIn Then Exit;
WriteLn('Checking your Pickaxe...');
GameTab(4);
If Not SetupPick(GetPickaxe) Then
Begin
GameTab(5);
If Not SetupPick(GetPickaxe) Then
Begin
WriteLn('You do not have a pickaxe! Plz get a pickaxe to mine iron.');
Players[CurrentPlayer].Loc := 'No Pickaxe!';
LogOut;
End Else Wielded := True;
End Else WieldPickaxe;
End;
Function GetInMine: boolean;
Var
RockCoords: Array Of TPoint;
CheckCol: Integer;
Begin
WriteLn('prolly found the mine, try entering now...');
FFlag(0);
CheckCol := FindStoneColor2;
If (CheckCol = 0) Then
Begin
WriteLn('lol not found the mine anymore :s but i wil try again');
If FindColorTolerance (x, y, 2176863, MMX1, MMY1, MMX2, MMY2, 1) Then
Begin
MiddleTPAEx(RockCoords, X, Y);
Mouse(x, y, 0, 0, True);
FFlag(0);
WriteLn('succesfully enterd the mine.');
Result := True;
Exit;
end;
WriteLn('i really could not find it sorry:P');
Exit;
End;
FindColorsSpiralTolerance(x, y, RockCoords, 2176863, MMX1, MMY1, MMX2, MMY2, 1);
MiddleTPAEx(RockCoords, X, Y);
Mouse(x, y, 0, 0, True);
FFlag(0);
WriteLn('succesfully enterd the mine.');
Result := True;
End;
Procedure ToThaMine;
Var
RicksRoadWalk: Integer;
begin
MakeCompass('N');
If Not LoggedIn Then Exit;
Players[CurrentPlayer].Loc := 'Moving To The Mine';
WriteLn('');
WriteLn('[To The Mine]');
WriteLn('');
WriteLn('Walking to the mine...');
MasterRoadWalk(FindVarrockRoadColor2, 133, 20, 65, 3, 3, True);
RadialRoadWalk(FindVarrockRoadColor2, 133, 60, 65, 3, 3);
Repeat
RicksRoadWalk := RicksRoadWalk + 1;
If Not LoggedIn Then
Begin
WriteLn('player logged out while walking to the bank...');
Players[CurrentPlayer].Loc := 'Logged Out To Mine';
exit;
End;
If Not RadialRoadWalk(FindVarrockRoadColor2, 127, 228, 55, 1, 1) Then Break;
If (RicksRoadWalk > 2) Then
If FindColorTolerance (x, y, FindStoneColor2, MMX1, MMY1, MMX2, MMY2, 1) Then
If GetInMine Then Exit;
Until(RicksRoadWalk > 20)
WriteLn('We did not found the mine, logging out player.');
Players[CurrentPlayer].Loc := 'Not Found Mine';
LogOut;
end;
Function FindTheBank: Boolean;
Begin
If Not LoggedIn Then Exit;
FFlag(0);
If FindDTM(bankers, x, y, MMX1, MMY1, MMX2, MMY2) Then
Begin
WriteLn('We have found the bankers DTM, entering bank...');
Mouse(x, y, 2, 2, True);
Result := True;
Wait(3000);
FFlag(0);
WriteLn('Welcome in the Varrock east bank.');
End;
End;
Procedure ToThaBank;
var
RRoadWalk: Integer;
begin
If Not LoggedIn Then Exit;
Players[CurrentPlayer].Loc := 'Moving To The Bank';
WriteLn('');
WriteLn('[To The Bank]');
WriteLn('');
RadialRoadWalk(FindVarrockRoadColor2, 5, 50, 70, 1, 1);
Randoms;
RadialRoadWalk(FindVarrockRoadColor2, 337, 385, 65, 1, 1);
Randoms;
repeat
If Not LoggedIn then
begin
WriteLn('Player logged out while walking to the bank.');
Players[CurrentPlayer].Loc := 'Logged Out To Bank';
Exit;
end;
RadialRoadWalk(FindVarrockRoadColor2, 240, 380, 65, 1, 1);
Randoms;
RRoadWalk := RRoadWalk + 1;
If (RRoadWalk > 2) Then
If FindDTM(bankers, x, y, 547, 6, 703, 163) Then
If FindTheBank Then Exit;
until (RRoadWalk > 20)
WriteLn('Omg, can not find the bank! logging out...');
Players[CurrentPlayer].Loc := 'Not Found The Bank';
LogOut;
end;
{Function FindIron(var xr, yr: Integer): boolean;
var
TolSpeed, mx, my, NumberOfLenght, MK: Integer;
IronCoords, RockCoords: Array Of TPoint;
DaPoint: TPoint;
begin
TolSpeed := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
FindColorsSpiralTolerance(mx, my, IronCoords, 2832993, MSX1, MSY1, MSX2, MSY2, 6);
NumberOfLenght := High(IronCoords);
For MK := 0 To NumberOfLenght Do
begin
DaPoint := IronCoords[MK];
FindColorsTolerance(RockCoords, 2832734, DaPoint.X - 15, DaPoint.Y - 15, DaPoint.X + 15, DaPoint.Y + 15, 20);
MiddleTPAEx(RockCoords, X, Y);
FindColorsTolerance(RockCoords, 1394003, X - 15, Y - 15, X + 15, Y + 15, 25);
If(GetArrayLength(RockCoords)-1 > 5)Then
Begin
MiddleTPAEx(RockCoords, Xr, Yr);
MMouse(xr, yr, 0, 0);
If (GetColor(43, 9) = 14344978) Then
If not GasFound(mx, my) Then
Begin
Result := True;
Break;
End;
End;
End;
ColorToleranceSpeed(TolSpeed);
End;}
Function FindIron(var xr, yr: Integer): Boolean;
Var
RealIron, IronRock: Array Of TPoint;
CurPoint: TPoint;
TolSpeed, MK, xx, yy: Integer;
Begin
TolSpeed := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
FindColorsSpiralTolerance(x, y, RealIron, 2832989, MSX1, MSY1, MSX2, MSY2, 6);
For MK := 0 To High(RealIron) Do
Begin
CurPoint := RealIron[MK];
FindColorsTolerance(IronRock, 1659234, CurPoint.X - 15, CurPoint.Y - 15, CurPoint.X + 15, CurPoint.Y + 15, 20);
If (High(IronRock) > 15) Then
Begin
MiddleTPAEx(IronRock, xx, yy);
MMouse(xx, yy, 0, 0);
If FindColorTolerance(x, y, 2832989, xx - 15, yy - 15, xx + 15, yy + 15, 6) Then
Begin
Wait(100 + Random(100));
If (Pos('ine', rs_getuptext) <> 0) Then
Begin
xr := xx; yr := yy;
Result := True;
Exit;
End;
End;
End;
End;
ColorToleranceSpeed(TolSpeed);
End;
Function CheckPickaxe: Boolean;
begin
If Wielded Then
GameTab(5) Else GameTab(4);
If FindDTM(PickaxeStick, x, y, 532, 183, 751, 485) Then
Begin
WriteLn('Noes! your pickhead flyd off!');
Wielding := Wielded;
If Not FindPick Then
Begin
Result := True;
WriteLn('We lost your pickaxe head... moving back to bank...');
GameTab(5);
Mouse(584, 302, 10, 10, True);
Wielded := False;
Exit;
End;
End;
If FindDTM(BrokenPickaxe, x, y, 532, 183, 751, 485) Then
Begin
Result := True;
WriteLn('Sorry, but ' + Players[CurrentPlayer].Nick + ' broke your pickaxe, not MasterKills foult ;)');
WriteLn('Moving back to the bank...');
GameTab(5);
Mouse(584, 302, 10, 10, True);
Wielded := False;
Exit;
End;
If Not FindDTM(PickaxeD, x, y, 532, 183, 751, 485) Then
Begin
Result := True;
WriteLn('We cant find your pickaxe at all! Back to bank...');
Wielded := False;
End;
End;
Procedure MineThaLoad;
Var
NotF, errF, RWTime: Integer;
BlackText: String;
begin
If Not LoggedIn Then Exit;
Players[CurrentPlayer].Loc := 'Mining Full Load';
WriteLn('');
WriteLn('[MineThaLoad]');
WriteLn('');
FindPickHeadColor;
SetRun(true);
WriteLn('Run activated.');
WriteLn('Starting mining...');
Repeat
If Not LoggedIn Then Exit;
If FindIron(x, y) Then
begin
Mouse(x, y, 0, 0, True);
MarkTime(RWTime);
NotF := 0;
TheResponder;
Wait(1500);
If FlagPresent Then Wait(1000);
Repeat
BlackText := GetBlackChatMessage;
if (getcolor(486, 384) = 0) then
if FindNpcChatText('ickaxe', Nothing) then
If CheckPickaxe Then Exit;
If GasFound(x, y) then
begin
Mouse(633, 83, 8, 8, True);
Wait(25000);
end;
Randoms;
If (Pos('anage', BlackText) <> 0) or (Pos('vailable', BlackText) <> 0) then break;
SleepAndMoveMouse(200 + random(1000));
Until(TimeFromMark(RWTime) > RockWaitTime)
end else
begin
Wait(300);
Randoms;
NotF := NotF + 1;
If (NotF > 14) Then
Begin
errF := errF + 1;
If (errF > 4) Then
Begin
WriteLn('huh the script can not find any iron, while were in the mine...');
Exit;
End;
WriteLn('Not found any iron, try to find the mine again...');
If Not GetInMine Then
Begin
WriteLn('O dear, we got lost while mining... How wierd is that?');
Players[CurrentPlayer].Loc := 'Lost While Mining';
LogOut;
Exit;
End;
WriteLn('Resume mining...');
NotF := 0;
End;
End;
Until InvFull
WriteLn('... until where full.');
End;
var
frmDesign : TForm;
Label1 : TLabel;
Label2 : TLabel;
StartButton : TButton;
OkiClick: Boolean;
Upzor, onezor, twozor, buttumtext: string;
procedure StartClick(sender: TObject);
begin
frmDesign.ModalResult:= mrOk;
OkiClick := True;
end;
procedure InitForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 300;
frmDesign.Top := 300;
frmDesign.Width := 500;
frmDesign.Height := 100;
frmDesign.Caption := upzor;
frmDesign.Color := clBlack;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := upzor;
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
Label2 := TLabel.Create(frmDesign);
Label2.Font.Color := clWhite
Label2.Parent := frmDesign;
Label2.Left := 5;
Label2.Top := 5;
Label2.Width := 46;
Label2.Height := 13;
Label2.Font.Size := 10;
Label2.Caption := onezor;
Label1 := TLabel.Create(frmDesign);
Label1.Font.Color := clWhite
Label1.Parent := frmDesign;
Label1.Left := 5;
Label1.Top := 25;
Label1.Width := 46;
Label1.Height := 13;
Label1.Font.Size := 10;
Label1.Caption := twozor;
StartButton := TButton.Create(frmDesign);
StartButton.Parent := frmDesign;
StartButton.OnClick := @StartClick;
StartButton.Left := 5;
StartButton.Top := 45;
StartButton.Width := 80;
StartButton.Height := 20;
StartButton.Caption := buttumtext;
StartButton.TabOrder := 10;
end;
procedure SafeInitForm;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
end;
procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;
procedure SafeShowFormModal;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;
Procedure ErrorForm(Uptextt, msgone, msgtwo, buttontext: String; Terminate: Boolean);
begin
upzor := uptextt;
onezor := msgone;
twozor := msgtwo;
OkiClick := False;
buttumtext := buttontext;
repeat
SafeInitForm;
SafeShowFormModal;
If OkiClick Then Break;
PlaySound('C:\WINDOWS\Media\Windows XP Shutdown.wav');
Wait(1000);
Until OkiClick
If Terminate then
begin
WriteLn('');
Terminatescript;
end;
end;
Function CurrentStatus: String;
var
MK, PlayerCount: Integer;
begin
for MK := 0 To HowManyPlayers - 1 do
if (Players[MK].active = True) then
PlayerCount := PlayerCount + 1;
IF (PlayerCount = 0) then
Result := 'Script succesfully ended. All players False.' else
Result := 'there still where ' + IntToStr(PlayerCount) + ' of the ' + IntToStr(HowManyPlayers) + ' players active.';
end;
Procedure SafeReport;
var
SaveFileCreate: TStringList;
MK: Integer;
begin
SaveFileCreate := TStringList.Create;
SaveFileCreate.Add('Varrock east mine and banker version 13.0');
SaveFileCreate.Add(' created by MasterKill');
SaveFileCreate.Add('');
SaveFileCreate.Add('Last status found in script:');
SaveFileCreate.Add(' ' + CurrentStatus);
SaveFileCreate.Add('');
SaveFileCreate.Add('Script Report:');
SaveFileCreate.Add(' Iron Mined : ' + IntToStr(IronMined));
SaveFileCreate.Add(' Times Banked : ' + IntToStr(Banked));
SaveFileCreate.Add(' Responds Made : ' + IntToStr(Responds));
SaveFileCreate.Add('');
SaveFileCreate.Add('Player Report:');
For MK := 0 To HowManyPlayers - 1 Do
begin
SaveFileCreate.Add(' ' + Players[MK].Name);
SaveFileCreate.Add(' Iron Mined : ' + IntToStr(Players[MK].integers[2]));
SaveFileCreate.Add(' Location : ' + Players[MK].Loc);
SaveFileCreate.Add(' Mining level : ' + IntToStr(Players[MK].integers[1]));
end;
If Not SaveToFile(SaveFileCreate, SafeReportFileName) Then
WriteLn('Could not save your report.');
end;
Procedure WhileReport;
Var
MK: Integer;
begin
WriteLn('');
WriteLn('[Time Running: ' + TimeRunning + ']');
WriteLn('[Iron Mined: ' + IntToStr(IronMined) + ']');
WriteLn('[Times Banked: ' + IntToStr(Banks) + ']');
WriteLn('[Respond[s] made: ' + IntToStr(Responds) + ']');
WriteLn('[Mining ' + FloatToStr(IronMined div TimeFromMark(ScriptRunTime) * 3600000.0) + ' Iron a hour]');
For MK := 0 To HowManyPlayers - 1 Do
WriteLn(Players[MK].Name + ' = [' + IntToSTr(players[MK].integers[2]) + ' Iron Mined] [active? ' + BoolToStr(Players[MK].Active) + '] [Location: ' + Players[MK].Loc + ']');
SrlRandomsReport;
SafeReport;
WriteLn('Progress report saved to: ' + SafeReportFileName);
end;
Function FindThaBankTPA: boolean;
Var
BankCoords, BoothCoords: Array Of TPoint;
MK, mx, my, TolSpeed, NumberOfLenght: Integer;
DaPoint: TPoint;
begin
TolSpeed := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
FindColorsSpiralTolerance(mx, my, BankCoords, 1593183, MSX1, MSY1, MSX2, MSY2, 6);
NumberOfLenght := High(BankCoords);
For MK := 1 To NumberOfLenght Do
begin
DaPoint := BankCoords[MK];
FindColorsTolerance(BoothCoords, 1593183, DaPoint.X - 15, DaPoint.Y - 15, DaPoint.X + 15, DaPoint.Y + 15, 11);
If(GetArrayLength(BoothCoords)-1 > 30)Then
Begin
MiddleTPAEx(BoothCoords, x, y);
Mouse(x, y, 0, 0, False);
Wait(100 + Random(50));
If ChooseOption('uick') Then
Begin
Result := True;
Break;
End Else WriteLn('No bank booth here.');
End;
End;
ColorToleranceSpeed(TolSpeed);
End;
Function PickaxeFound: Boolean;
Begin
If Wielded Then Result := True Else
Result := FindDTM(PickaxeD, x, y, MIX1, MIY1, MIX2, MIY2);
End;
Function GetNewPickFromBank: Boolean;
Begin
If (Players[CurrentPlayer].Integers[1] > 40) then
begin
if FindDTM(PickaxeDTM[1], x, y, msx1, msy1, msx2, msy2) then
begin
Result := True;
Mouse(x, y, 0, 0, True);
Exit;
end;
end;
If (Players[CurrentPlayer].Integers[1] > 30) then
begin
if FindDTM(PickaxeDTM[2], x, y, msx1, msy1, msx2, msy2) then
begin
Result := True;
Mouse(x, y, 0, 0, True);
Exit;
end;
end;
If (Players[CurrentPlayer].Integers[1] > 20) then
begin
if FindDTM(PickaxeDTM[3], x, y, msx1, msy1, msx2, msy2) then
begin
Result := True;
Mouse(x, y, 0, 0, True);
Exit;
end;
end;
If (Players[CurrentPlayer].Integers[1] > 5) then
begin
if FindDTM(PickaxeDTM[4], x, y, msx1, msy1, msx2, msy2) then
begin
Result := True;
Mouse(x, y, 0, 0, True);
Exit;
end;
end;
if FindDTM(PickaxeDTM[5], x, y, msx1, msy1, msx2, msy2) then
begin
Result := True;
Mouse(x, y, 0, 0, True);
Exit;
end;
if FindDTM(PickaxeDTM[6], x, y, msx1, msy1, msx2, msy2) then
begin
Result := True;
Mouse(x, y, 0, 0, True);
Exit;
end;
End;
Procedure SetupPlayer;
begin
If Not LoggedIn Then Exit;
WriteLn('');
WriteLn('[' + Players[CurrentPlayer].name + ' setup]');
WriteLn('');
SetAngle(True);
MakeCompass('N');
GameTab(2);
Players[CurrentPlayer].integers[1] := GetSkillInfo('mining', False);
WriteLn('Players mining level is ' + IntToStr(Players[CurrentPlayer].integers[1]));
If (Players[CurrentPlayer].Integers[3] < 1) Then
Players[CurrentPlayer].integers[3] := GetCombatLevel;
WriteLn('Players combat level is ' + IntToStr(Players[CurrentPlayer].Integers[3]));
WhatPickaxeDoWeHave;
SetupResponds;
end;
Procedure BankThaLoad;
Var
IronLoad, NotF: integer;
begin
If Not LoggedIn Then Exit;
WriteLn('');
WriteLn('[Bank The Load]');
WriteLn('');
Players[CurrentPlayer].Loc := 'In The Bank';
IronLoad := CountItemsDtm('inv', IronOre);
Repeat
If Not LoggedIn Then
begin
WriteLn('Player logged out while banking?!');
Players[CurrentPlayer].Loc := 'Logged Out While Banking';
Exit;
end;
If FindThaBankTPA Then
begin
WriteLn('Opening the bank...');
FFlag(0);
players[CurrentPlayer].integers[2] := players[CurrentPlayer].integers[2] + IronLoad;
IronMined := IronMined + IronLoad;
WriteLn('Mined ' + IntToStr(IronLoad) + ' Iron, wich makes the grand total ' + IntToStr(IronMined) + '.');
ReportVars[0] := ReportVars[0] + 1;
ReportVars[1] := ReportVars[1] + IronLoad;
Wait(1000 + Random(1000));
If FindDTM(BrokenPickaxe, x, y, MIX1, MIY1, MIX2, MIY2)
Or FindDTM(pickaxestick, x, y, MIX1, MIY1, MIX2, MIY2)
Or Not PickaxeFound then
Begin
WriteLn('Your pickaxe is dead, looking for a new one...');
Deposit(1, 28, True);
If GetNewPickFromBank Then
Begin
WriteLn('We got a new pickaxe from your bank, lukky bastard.');
Mouse(485, 41, 5, 5, True);
WhatPickaxeDoWeHave;
End Else
Begin
WriteLn('This player has runned out of pickaxes... WHEHE!');
Players[CurrentPlayer].Loc := 'Out Of PickAxes';
Mouse(485, 41, 5, 5, True);
LogOut;
Exit;
End;
End Else
Begin
WriteLn('Banking all stuff except for your pickaxe.');
If Wielded Then Deposit(1, 28, True) else Deposit(2, 28, True);
Mouse(485, 41, 5, 5, True);
End;
SetAngle(true);
Banked := Banked + 1;
WriteLn('banking succesfully completed.');
Wait(100 + Random(50));
MakeCompass('N');
Exit;
end else
begin
FFlag(0);
If FindDTM(bankers, x, y, 547, 6, 703, 163) Then
Begin
Mouse(x, y, 0, 0, True);
SleepAndMoveMouse(500 + Random(1000));
FFlag(0);
End Else
Begin
NotF := NotF + 1;
SleepAndMoveMouse(2000 + Random(1000));
If (NotF > 1) Then
Begin
WriteLn('We can not find the bank anymore. Player logout...');
Players[CurrentPlayer].Loc := 'Lost Around Bank';
LogOut;
Exit;
End;
End;
end;
Until False
end;
Function GetSafeReportFilePath: String;
Var
Hour, Mins, Sec, MSec, Year, Month, Day: Word;
M: String;
Begin
DecodeDate(Date, Year, Month, Day);
DecodeTime(Now, Hour, Mins, Sec, MSec);
case Month of
1: M := 'Jan-';
2: M := 'Feb-';
3: M := 'Mar-';
4: M := 'Apr-';
5: M := 'May-';
6: M := 'Jun-';
7: M := 'Jul-';
8: M := 'Aug-';
9: M := 'Sep-';
10: M := 'Oct-';
11: M := 'Nov-';
12: M := 'Dec-';
end;
Result := AppPath + 'MasterKill_Progress_Reports\IronMiner__' + IntToStr(Day) + '-' + M + IntToStr(Year) + '__' + Padz(IntToStr(Hour), 2) + '-' + Padz(IntToStr(Mins), 2) + '-' + Padz(IntToStr(Sec), 2) + '.txt';
End;
procedure StartUp;
begin
ClearDeBug;
WriteLn('MasterKill prezents: ');
WriteLn(' ___ __ ');
WriteLn('| |_______ ____ ____ _____ |__| ____ _____ _______ ©');
WriteLn('| |\_ __ \ / \ / \ / \ | | / \ / __ \\_ __ \ ');
WriteLn('| | | | \/( () )| | \ | \| || | \\ ___/ | | \/ ');
WriteLn('|___| |__| \____/ |___| / |__|_| /|__||___| / \___ \ |__| ');
WriteLn(' \/ \/ \/ \/ ');
WriteLn(' and banker! V13');
Status('MasterKill productions! ©');
disguise('MasterKill ©');
Wait(3000);
SafeReportFileName := GetSafeReportFilePath;
for I := 0 to getarraylength(players)-1 do
begin
If (Players[I].Active = True) then
Players[I].Loc := 'In The Bank' else
Players[I].Loc := 'Not In Use';
SetArrayLength(Players[I].integers, 5);
SetArrayLength(Players[I].Strings, 1);
end;
end;
procedure HyperMainLoop;
begin
Repeat
ToThaMine;
MineThaLoad;
ToThaBank;
BankThaLoad;
WhileReport;
Load := Load + 1;
Until (Not LoggedIn) Or (Load - 1 > Players[CurrentPlayer].Integers[0])
end;
Procedure LogInFalseTrue;
begin
If Not LoggedIn then Players[CurrentPlayer].active := False;
If (NumberOfActive(False) = 0) then exit;
WriteLn('');
WriteLn('[Player Done]');
WriteLn('');
NextPlayer(LoggedIn);
Load := 0;
SetupPlayer;
end;
begin
//Setup
SetupSRL;
If Not (SRLVersionNumber = 15) Then ErrorForm('CAN NOT RUN', 'to run this script you need scar 3.15 and srl reversion 15', 'plz run the script again when you go those', 'OK =(', True);
SetupDTM;
SetupPlayers;
//Startup, make ready
ScriptID := '275';
ErrorForm('Varrock East Miner V13 - By MasterKill', 'Welcome to MasterKills Varrock east mine and banker V13.0', 'Start all your players in the Varrock east bank', 'START', False);
WriteLn('Plz allways allow popups'); If (SRLID = '') or (SRLPASSWORD = '') Then ErrorForm('[RUNETIME ERROR]', 'You need a srl ID and Pass to run this script! (line 51 and 52)', 'Plz get one at [url]www.stats.srl-forums.com[/url] and hit register.', 'ok =(', True);
SrlRandomsReport;
StartUp;
WriteLn('Loading RuneScape.SMART ...');
SmartSetupEx(world, False, True);
SetTargetDC(SmartGetDC);
while not(SmartReady) do Wait(100);
ReplaceDebugLine(8, 'Loading RuneScape ...');
Wait(10000);
//Script play
LoginPlayer;
MarkTime(ScriptRunTime);
SetupPlayer;
Repeat
HyperMainLoop;
LogInFalseTrue;
Until(NumberOfActive(False) = 0)
ClearDeBug;
WhileReport;
WriteLn('');
ErrorForm('Script Ended', 'Thank for using MasterKills Iron miner!', 'Reset your players and run it again :p', 'Done', False);
end.
question to the maker of this script: may i help you with this script?
or just put some extra things in it such as:
start at mining and bank
and try to help him getting less lost
srry for my bad english:P
This Script is really starting to piss me off... to like absolutely no end. Heres the thing, everything works now, except on the trip to the mine it enters it but cant find the iron rocks. Every single time I try it this happens. I have to manully (sp) put my char there and let it go. I would like to be able to have this script work properly.. I need Suggestions! Im pulling my hair out here!
it does enter the mine, so you can see the rocks?
does scar also say s"succesfully enterd the mine"?
i took my pass out thx for the tip, now you have to get it out of the quote:P
Thanks for the account![]()
In the kingdom of the blind, the one-eyed man is king
please give back my account
You wanna NOT QUOTE HIS USERNAME AND HIS PASSWORD in there?....
Morons such as infested999 just love free accounts... Now someone nice such as Nielskool has lost an account because he was trying to be nice... Oh and just to send a nice warning towards infested999, if you don't return the account to Nielskool, you will be reported and receive a ban![]()
Version 2 Of Sig, made my own vectors, used my own character and everything.
http://img248.imageshack.us/img248/7...goodsigxp7.png
The Shilo Fisher has been halted temporarily. Sorry guys... Too much school work at the moment.![]()
![]()
![]()
There are currently 1 users browsing this thread. (0 members and 1 guests)