kitchenrange
2009-01-05 10:34:56
<!– BEGIN TEMPLATE: formanswers –>
kitchenrange - SRL Member Application Form
kitchenrange
I updated the script a lot, if you haven't voted check it out please.
New Feature
-Grabs the best pick you can use if you dont have it in inventory or equipped.
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
only SCAR and SRL
Other Communitys
couple but not really anymore…
How Long have You Played Runescape
many years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
The time has come for me to apply again… This will be my second time.
After using the guild miner to apply, I couldnt look at it again for awhile so I wrote a completely new script using what Id learned and more.
I really want to see how the members put their scripts together so I can learn alot more and continue scripting. Thanks for your time and vote.
Creds go to Nava2 for the AutoResponder sry man.
Before voting please take the time to run the script and see how you like it. It runs very smoothly for me.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
Maybe I should clear up the autoresponder questions… I dont remember where I found the instructions to make one, but all you have to do is add more question and response lines. That responder is a very very generic responder that i did in like 2 seconds. The first versions of this script had masterkills responder in there, and I definitely credited him. His responder wasnt working at the time, so I replaced with that very generic one. I havent tried to copy anyones work at all.
——————————————————
<!– END TEMPLATE: formanswers –>
kitchenrange - SRL Member Application Form
kitchenrange
I updated the script a lot, if you haven't voted check it out please.
New Feature
-Grabs the best pick you can use if you dont have it in inventory or equipped.
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
only SCAR and SRL
Other Communitys
couple but not really anymore…
How Long have You Played Runescape
many years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
The time has come for me to apply again… This will be my second time.
After using the guild miner to apply, I couldnt look at it again for awhile so I wrote a completely new script using what Id learned and more.
I really want to see how the members put their scripts together so I can learn alot more and continue scripting. Thanks for your time and vote.
Creds go to Nava2 for the AutoResponder sry man.
Before voting please take the time to run the script and see how you like it. It runs very smoothly for me.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{.Script Info:
# ScriptName = Kitchen's Varrock East Miner/Banker
# Author = Kitchenrange
# Description = Mines and banks iron/copper ore in Varrock East Mine.
# Version = 1
# Date = December 7, 2008
/Script Info}
{First and foremost I wanna thank Mixster and Method for puttin up with
me in the chat room and basically helping me get started. Id also like to
thank Blumblebee for editing my MainLoop. Thanks to Iron_Man_FTW for fixing
multiplayer. TootToot22 for general help.}
program KitchenVarrockMinerv1;
{.Include SRL\SRL\Misc\SMART.SCAR}
{.include SRL\SRL.scar}
{.include SRL\SRL\skill\mining.scar}
var
LoadsDone, TotalLoads, OresMined, RockToMine: integer;
MiningLevel: integer;
RockToMineWord, pick, PickShort: string;
PickEquip, PickChecked : boolean;
Const
MaxLoads = 2; // Set to loads per player before switching.
YourSRLID = '6458';
YourSRLPass = 'UycXmBTzKd';
Procedure AntiRandoms;
var
x2, y2 : integer;
begin
if Not(loggedIn) then Exit;
if FindGas(x2,y2) then
begin
RunTo('W', True);
RunAway ('E', True, 2, (2000+random(2000)));
end;
FindNormalRandoms;
if (FindFight) then
begin
MakeCompass('E');
RunTo('E', True);
end;
end;
Procedure DeclarePlayers;
begin
HowManyPlayers := 5;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 4;
Players[0].Name := '';// Your UserName
Players[0].Pass := '';// Your PassWord
Players[0].Nick := 'arre';// Your Nick (3-4 letters from your username)
Players[0].Active := True;// Use this player ??}
Players[0].integers[0] := 25;// Mining Level to start mining Iron
Players[0].integers[1] := 35; // Current Mining Level (Used to Auto Respond).
Players[1].Name := '';// Your UserName
Players[1].Pass := '';// Your PassWord
Players[1].Nick := 'ure';// Your Nick (3-4 letters from your username)
Players[1].Active := True;// Use this player ??
Players[1].integers[0] := 25;// Mining Level to start mining Iron
Players[1].integers[1] := 63; // Current Mining Level (Used to Auto Respond).
Players[2].Name := '';// Your UserName
Players[2].Pass := '';// Your PassWord
Players[2].Nick := 'alty';// Your Nick (3-4 letters from your username)
Players[2].Active := True;// Use this player ??}
Players[2].integers[0] := 25;// Mining Level to start mining Iron
Players[2].integers[1] := 48; // Current Mining Level (Used to Auto Respond).
Players[3].Name := '';// Your UserName
Players[3].Pass := '';// Your PassWord
Players[3].Nick := 'itch';// Your Nick (3-4 letters from your username)
Players[3].Active := True;// Use this player ??}
Players[3].integers[0] := 25;// Mining Level to start mining Iron
Players[3].integers[1] := 62; // Current Mining Level (Used to Auto Respond).
Players[4].Name := '';// Your UserName
Players[4].Pass := '';// Your PassWord
Players[4].Nick := 'oyou';// Your Nick (3-4 letters from your username)
Players[4].Active := True;// Use this player ??}
Players[4].integers[0] := 25;// Mining Level to start mining Iron
Players[4].integers[1] := 51; // Current Mining Level (Used to Auto Respond).
end;
function FindBronzePick(var fx, fy: Integer): Boolean;
var
arP, arAP: TPointArray;
arC, arUC: TIntegerArray;
ararP: T2DPointArray;
tmpCTS, i, j, arL, arL2: Integer;
P: TPoint;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
if BankScreen then
begin
if Not(FindColorsTolerance(arP, 2572628, MsX1, MsY1, MsX2, MsY2, 14)) then
begin
Writeln('Failed to find the color, no object found.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
end else
begin
if not(FindColorsTolerance(arP, 2572628, MiX1, MiY1, MiX2, MiY2, 14)) then
begin
Writeln('Failed to find the color, no object found.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
end;
arC := GetColors(arP);
arUC := arC;
ClearSameIntegers(arUC);
arL := High(arUC);
arL2 := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 9.46) and (H <= 9.65) and (S >= 37.02) and (S <= 37.84) and (L >= 21.16) and (L <= 26.88) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 4.56) and (X <= 7.39) and (Y >= 4.48) and (Y <= 7.21) and (Z >= 2.12) and (Z <= 3.30) then
begin
for j := 0 to arL2 do
begin
if (arUC[i] = arC[j]) then
begin
SetLength(arAP, Length(arAP) + 1);
arAP[High(arAP)] := arP[j];
end;
end;
end;
end;
end;
SortTPAFrom(arAP, Point(MSCX, MSCY));
ararP := SplitTPAEx(arAP, 10, 10);
arL := High(ararP);
for i := 0 to arL do
begin
if (Length(ararP[i]) < 10) then Continue;
P := MiddleTPA(ararP[i]);
MMouse(P.x, P.y, 5, 5);
Wait(100 + Random(100));
if (IsUpText(PickShort)) then
begin;
Result := True;
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
begin
Writeln('FindObject could not find object.');
Exit;
end;
GetMousePos(fx, fy);
end;
function FindIronPick(var fx, fy: Integer): Boolean;
var
arP, arAP: TPointArray;
arC, arUC: TIntegerArray;
ararP: T2DPointArray;
tmpCTS, i, j, arL, arL2: Integer;
P: TPoint;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
if BankScreen then
begin
if Not(FindColorsTolerance(arP, 4671308, MsX1, MsY1, MsX2, MsY2, 20)) then
begin
Writeln('Failed to find the color, no object found.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
end else
begin
if not(FindColorsTolerance(arP, 4671308, MiX1, MiY1, MiX2, MiY2, 20)) then
begin
Writeln('Failed to find the color, no object found.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
end;
arC := GetColors(arP);
arUC := arC;
ClearSameIntegers(arUC);
arL := High(arUC);
arL2 := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 0.00) and (H <= 2.80) and (S >= 3.55) and (S <= 4.02) and (L >= 24.49) and (L <= 32.96) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 4.59) and (X <= 8.38) and (Y >= 4.66) and (Y <= 8.53) and (Z >= 4.91) and (Z <= 9.00) then
begin
for j := 0 to arL2 do
begin
if (arUC[i] = arC[j]) then
begin
SetLength(arAP, Length(arAP) + 1);
arAP[High(arAP)] := arP[j];
end;
end;
end;
end;
end;
SortTPAFrom(arAP, Point(MSCX, MSCY));
ararP := SplitTPAEx(arAP, 10, 10);
arL := High(ararP);
for i := 0 to arL do
begin
if (Length(ararP[i]) < 10) then Continue;
P := MiddleTPA(ararP[i]);
MMouse(P.x, P.y, 5, 5);
Wait(100 + Random(100));
if (IsUpText(PickShort)) then
begin;
Result := True;
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
begin
Writeln('FindObject could not find object.');
Exit;
end;
GetMousePos(fx, fy);
end;
function FindSteelPick(var fx, fy: Integer): Boolean;
var
arP, arAP: TPointArray;
arC, arUC: TIntegerArray;
ararP: T2DPointArray;
tmpCTS, i, j, arL, arL2: Integer;
P: TPoint;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
if BankScreen then
begin
if Not(FindColorsTolerance(arP, 7763584, MsX1, MsY1, MsX2, MsY2, 63)) then
begin
Writeln('Failed to find the color, no object found.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
end else
begin
if not(FindColorsTolerance(arP, 7763584, MiX1, MiY1, MiX2, MiY2, 63)) then
begin
Writeln('Failed to find the color, no object found.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
end;
arC := GetColors(arP);
arUC := arC;
ClearSameIntegers(arUC);
arL := High(arUC);
arL2 := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 0.00) and (H <= 1.69) and (S >= 3.81) and (S <= 6.27) and (L >= 33.90) and (L <= 62.37) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 8.85) and (X <= 32.68) and (Y >= 8.96) and (Y <= 33.10) and (Z >= 9.43) and (Z <= 34.81) then
begin
for j := 0 to arL2 do
begin
if (arUC[i] = arC[j]) then
begin
SetLength(arAP, Length(arAP) + 1);
arAP[High(arAP)] := arP[j];
end;
end;
end;
end;
end;
SortTPAFrom(arAP, Point(MSCX, MSCY));
ararP := SplitTPAEx(arAP, 10, 10);
arL := High(ararP);
for i := 0 to arL do
begin
if (Length(ararP[i]) < 10) then Continue;
P := MiddleTPA(ararP[i]);
MMouse(P.x, P.y, 5, 5);
Wait(100 + Random(100));
if (IsUpText(PickShort)) then
begin;
Result := True;
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
begin
Writeln('FindObject could not find object.');
Exit;
end;
GetMousePos(fx, fy);
end;
function FindMithPick(var fx, fy: Integer): Boolean;
var
arP, arAP: TPointArray;
arC, arUC: TIntegerArray;
ararP: T2DPointArray;
tmpCTS, i, j, arL, arL2: Integer;
P: TPoint;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
if BankScreen then
begin
if Not(FindColorsTolerance(arP, 6373953, MsX1, MsY1, MsX2, MsY2, 28)) then
begin
Writeln('Failed to find the color, no object found.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
end else
begin
if not(FindColorsTolerance(arP, 6373953, MiX1, MiY1, MiX2, MiY2, 28)) then
begin
Writeln('Failed to find the color, no object found.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
end;
arC := GetColors(arP);
arUC := arC;
ClearSameIntegers(arUC);
arL := High(arUC);
arL2 := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 66.05) and (H <= 66.69) and (S >= 19.16) and (S <= 20.02) and (L >= 25.27) and (L <= 38.06) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 3.96) and (X <= 9.11) and (Y >= 3.70) and (Y <= 8.49) and (Z >= 7.51) and (Z <= 17.69) then
begin
for j := 0 to arL2 do
begin
if (arUC[i] = arC[j]) then
begin
SetLength(arAP, Length(arAP) + 1);
arAP[High(arAP)] := arP[j];
end;
end;
end;
end;
end;
SortTPAFrom(arAP, Point(MSCX, MSCY));
ararP := SplitTPAEx(arAP, 10, 10);
arL := High(ararP);
for i := 0 to arL do
begin
if (Length(ararP[i]) < 10) then Continue;
P := MiddleTPA(ararP[i]);
MMouse(P.x, P.y, 5, 5);
Wait(100 + Random(100));
if (IsUpText(PickShort)) then
begin;
Result := True;
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
begin
Writeln('FindObject could not find object.');
Exit;
end;
GetMousePos(fx, fy);
end;
function FindAddyPick(var fx, fy: Integer): Boolean;
var
arP, arAP: TPointArray;
arC, arUC: TIntegerArray;
ararP: T2DPointArray;
tmpCTS, i, j, arL, arL2: Integer;
P: TPoint;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
if BankScreen then
begin
if Not(FindColorsTolerance(arP, 4544068, MsX1, MsY1, MsX2, MsY2, 20)) then
begin
Writeln('Failed to find the color, no object found.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
end else
begin
if not(FindColorsTolerance(arP, 4544068, MIX1, MiY1, MiX2, MiY2, 20)) then
begin
Writeln('Failed to find the color, no object found.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
end;
arC := GetColors(arP);
arUC := arC;
ClearSameIntegers(arUC);
arL := High(arUC);
arL2 := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 33.31) and (H <= 34.15) and (S >= 11.43) and (S <= 11.88) and (L >= 25.67) and (L <= 34.73) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 4.87) and (X <= 9.03) and (Y >= 5.95) and (Y <= 11.13) and (Z >= 4.88) and (Z <= 9.08) then
begin
for j := 0 to arL2 do
begin
if (arUC[i] = arC[j]) then
begin
SetLength(arAP, Length(arAP) + 1);
arAP[High(arAP)] := arP[j];
end;
end;
end;
end;
end;
SortTPAFrom(arAP, Point(MSCX, MSCY));
ararP := SplitTPAEx(arAP, 10, 10);
arL := High(ararP);
for i := 0 to arL do
begin
if (Length(ararP[i]) < 10) then Continue;
P := MiddleTPA(ararP[i]);
MMouse(P.x, P.y, 5, 5);
Wait(100 + Random(100));
if (IsUpText(PickShort)) then
begin;
Result := True;
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
begin
Writeln('FindObject could not find object.');
Exit;
end;
GetMousePos(fx, fy);
end;
function FindRunePick(var fx, fy: Integer): Boolean;
var
arP, arAP: TPointArray;
arC, arUC: TIntegerArray;
ararP: T2DPointArray;
tmpCTS, i, j, arL, arL2: Integer;
P: TPoint;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
if BankScreen then
begin
if Not(FindColorsTolerance(arP, 6510915, MsX1, MsY1, MsX2, MsY2, 48)) then
begin
Writeln('Failed to find the color, no object found.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
end else
begin
if not(FindColorsTolerance(arP, 6510915, MIX1, MIY1, MIX2, MIY2, 43)) then
begin
Writeln('Failed to find the color, no object found.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
end;
arC := GetColors(arP);
arUC := arC;
ClearSameIntegers(arUC);
arL := High(arUC);
arL2 := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 54.82) and (H <= 55.23) and (S >= 19.10) and (S <= 20.02) and (L >= 23.31) and (L <= 41.59) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 4.17) and (X <= 13.61) and (Y >= 4.73) and (Y <= 15.52) and (Z >= 6.64) and (Z <= 22.37) then
begin
for j := 0 to arL2 do
begin
if (arUC[i] = arC[j]) then
begin
SetLength(arAP, Length(arAP) + 1);
arAP[High(arAP)] := arP[j];
end;
end;
end;
end;
end;
SortTPAFrom(arAP, Point(MSCX, MSCY));
ararP := SplitTPAEx(arAP, 10, 10);
arL := High(ararP);
for i := 0 to arL do
begin
if (Length(ararP[i]) < 10) then Continue;
P := MiddleTPA(ararP[i]);
MMouse(P.x, P.y, 5, 5);
Wait(100 + Random(100));
if (IsUpText(PickShort)) then
begin;
Result := True;
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
begin
Writeln('FindObject could not find object.');
Exit;
end;
GetMousePos(fx, fy);
end;
Procedure PickCheck;
var
x, y : integer;
begin
GameTab(4);
if PickShort = 'ronze' then
begin
if FindIronPick(x, y) then
begin
PickEquip := True;
WriteLn('Bronze Pick in inventory');
end else
if FindBronzePick(x, y) then
begin
PickEquip := True;
WriteLn('Iron Pick in inventory');
end;
end;
if PickShort = 'teel' then
begin
if FindSteelPick(x, y) then
begin
PickEquip := True;
WriteLn('Steel Pick in Inventory');
end else
begin
PickEquip := False;
WriteLn('Switching Picks to Steel');
end;
end;
if PickShort = 'ithril' then
begin
if FindMithPick(x, y) then
begin
PickEquip := True;
WriteLn('Mithril pick in Inventory');
end else
begin
PickEquip := False;
WriteLn('Switctching to Mithril Pick');
end;
end;
if PickShort = 'damant' then
begin
if FindAddyPick(x, y) then
begin
PickEquip := True;
WriteLn('Addy pick in Inventory');
end else
begin
PickEquip := False;
WriteLn('Switching to Addy Pick');
end;
end;
if PickShort = 'une' then
begin
if FindRunePick(x, y) then
begin
PickEquip := True;
WriteLn('Rune pick in inventory');
end else
begin
PickEquip := False;
WriteLn('Switching to Rune Pick');
end;
end;
if PickEquip = False then /////////// Switches to Equip Screen
begin
GameTab(5);
if PickShort = 'ronze' then
begin
if FindIronPick(x, y) then
begin
PickEquip := True;
WriteLn('Bronze Pick Equipped');
end else
if FindBronzePick(x, y) then
begin
PickEquip := True;
WriteLn('Iron Pick Equipped');
end;
end;
end;
if PickShort = 'teel' then
begin
if FindSteelPick(x, y) then
begin
PickEquip := True;
WriteLn('Steel Pick Equipped');
end else
begin
PickEquip := False;
WriteLn('Switching Picks to Steel');
end;
end;
if PickShort = 'ithril' then
begin
if FindMithPick(x, y) then
begin
PickEquip := True;
WriteLn('Mithril Equipped');
end else
begin
PickEquip := False;
WriteLn('Switctching to Mithril Pick');
end;
end;
if PickShort = 'damant' then
begin
if FindAddyPick(x, y) then
begin
PickEquip := True;
WriteLn('Addy pick Equipped');
end else
begin
PickEquip := False;
WriteLn('Switching to Addy Pick');
end;
end;
if PickShort = 'une' then
begin
if FindRunePick(x, y) then
begin
PickEquip := True;
WriteLn('Rune pick Equipped');
end else
begin
PickEquip := False;
WriteLn('Switching to Rune Pick');
end;
end;
end;
Procedure SetPick;
begin
case GetSkillLevel('mining') of
1..5 : begin
Pick := 'Bronze pickaxe';
PickShort := 'ronze';
end;
6..20 : begin
Pick := 'Steel pickaxe';
PickShort := 'teel';
end;
21..30: begin
Pick := 'Mithril pickaxe';
PickShort := 'ithril';
end;
31..40: begin
Pick := 'Adamant pickaxe';
PickShort := 'damant';
end;
41..99: begin
Pick := 'Rune pickaxe';
PickShort := 'une';
end;
end;
end;
procedure SetupAutoResponder;
var
HowManyQuestions, RespPerPlayer, MinChatTime, MaxChatTime : integer;
UseSmartRespond : Boolean;
begin
UseRespond := True;
RespondTime := 1; // Time to wait before any response is made. (Minutes)
RandomErrorChance := 0; // Add Random Typos to text? 0 is NO Errors, the lower the number the more errors.
UseSmartRespond := True;
RespPerPlayer := 8; // Number of responders per individual player. 0 is infinite.
MinChatTime := 2; // Amount of time to wait between talking to individual players. (Minutes)
MaxChatTime := 15; // Amount of time to wait before dropping a player due to them not talking. (Minutes)
HowManyQuestions := 2;
SetArrayLength(QnR, HowManyQuestions);
QnR[0][0] := ['level', 'lvl', 'ining lvl', 'your min'];
QnR[0][1] := ['my level is ' + 'Players[CurrentPlayer].Integers[1]', 'Players[CurrentPlayer].Integers[1]'];
QnR[1][0] := ['hi', 'hey', 'sup', 'hello'];
QnR[1][1] := ['hello', 'sup', 'chillin'];
SetupSmartRespond(UseSmartRespond, RespPerPlayer, MinChatTime, MaxChatTime);
end;
procedure AntiBan;// Simplest Antiban by Method Prob will update
begin
Respond;
if Not(loggedIn) then Exit;
case random(130) of
0: RandomRClick;
1: BoredHuman;
2: HoverSkill('Mining', False);
3: GameTab(random(6) + 1);
4: RandomMovement;
5: PickUpMouse;
end;
end;
Procedure RetrievePick;
var
x, y : integer;
begin
If PickEquip = False then
begin
If Pick = 'Bronze pickaxe' then
begin
SearchBank('Iron Pick');
wait(500);
if FindIronPick(x, y) then
begin
Deposit(1, 2, False);
SearchBank('Iron pick');
wait(200);
if FindIronPick(x, y) then
begin
Mouse(x, y, 2, 2, True);
end;
end else
begin
SearchBank(Pick);
wait(500);
if FindBronzePick(x, y) then
begin
Deposit(1, 2, False);
SearchBank(Pick);
if FindBronzePick(x, y) then
begin
Mouse(x, y, 2, 2, True);
end;
end else
begin
WriteLn('No Usable Pick, Switching Players');
NextPlayer(False);
end;
end;
end;
If Pick = 'Steel pickaxe' then
begin
SearchBank(Pick);
wait(500);
if FindSteelPick(x, y) then
begin
Deposit(1, 2, False);
SearchBank(Pick);
if FindSteelPick(x, y) then
begin
Mouse(x, y, 2, 2, True);
end;
end;
end;
If Pick = 'Mithril pickaxe' then
begin
SearchBank(Pick);
wait(random(500));
if FindMithPick(x, y) then
begin
Deposit(1, 2, False);
SearchBank(Pick);
wait(random(200));
if FindMithPick(x, y) then
begin
Mouse(x, y, 2, 2, True);
end;
end;
end;
If Pick = 'Adamant pickaxe' then
begin
SearchBank(Pick);
wait(500);
if FindAddyPick(x, y) then
begin
Deposit(1, 2, False);
SearchBank(Pick);
wait(random(300));
if FindAddyPick(x, y) then
begin
Mouse(x, y, 2, 2, True);
end;
end;
end;
If Pick = 'Rune pickaxe' then
begin
SearchBank(Pick);
wait(500);
if FindRunePick(x, y) then
begin
Deposit(1, 2, False);
SearchBank('rune pick');
wait(random(300));
if FindRunePick(x, y) then
begin
Mouse(x, y, 2, 2, True);
end;
end;
end;
end;
end;
function FindIron(x, y: Integer): Boolean;
var
CTS, I, x2, y2, time, flagtime: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
begin
if Not(loggedIn) then Exit;
if FindBlackChatMessage('You swing') then wait(800 + random(300));
wait(500+random(200));
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.01, 30.5);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 2964577, MSX1, MSY1, MSX2, MSY2, 10);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 15, 15);
For I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 2, 2);
If(IsUpTextMultiCustom(['ine', 'ock'])) then
begin
Result := True;
getmousepos(x2,y2);
Mouse(x2, y2, 2, 2, True);
marktime(time);
AntiRandoms;
marktime(flagtime);
repeat
FFlag(0);
until(TimeFromMark(FlagTime) > 2000);
repeat
Antiban;
wait(500 + random(1200));
AntiRandoms;
until(FindBlackChatMessage('You manage') or FindBlackChatMessage('There is no') or (TimeFromMark(time) >= 3000+random(2000)));
Break;
end;
end;
end;
function FindCopper(x, y: Integer): Boolean;
var
CTS, I, x2, y2, time, flagtime: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
begin
if Not(loggedIn) then Exit;
if FindBlackChatMessage('You swing') then wait(800 + random(300));
wait(500+random(200));
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.01, 30.5);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4879520, MSX1, MSY1, MSX2, MSY2, 10);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 15, 15);
For I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 2, 2);
If(IsUpTextMultiCustom(['ine', 'ock'])) then
begin
Result := True;
getmousepos(x2,y2);
Mouse(x2, y2, 2, 2, True);
marktime(time);
marktime(flagtime);
repeat
FFlag(0);
until(TimeFromMark(FlagTime) > 2000);
repeat
Antiban;
wait(500 + random(1200));
AntiRandoms;
until(FindBlackChatMessage('You manage') or FindBlackChatMessage('There is no') or (TimeFromMark(time) >= 6000+random(2000)));
Break;
end;
end;
end;
Procedure WalkToMine;
var
x,y : integer;
begin
if Not(loggedIn) then
Exit;
Disguise('Walking To Mine');
SetRun(True);
MakeCompass('n');
RadialWalk(FindVarrockRoadColor, 25, 55, 70, 2, 2)
Fflag(0);
RadialWalk(FindVarrockRoadColor, 85, 120, 65, 2, 2)
Fflag(0);
RadialWalk(FindVarrockRoadColor, 200, 90, 63, 2, 2)
Fflag(3);
RadialWalk(FindVarrockRoadColor, 200, 90, 63, 2, 2)
Fflag(0);
RadialWalk(FindVarrockRoadColor, 200, 90, 65, 2, 2)
Fflag(0);
if RockToMine = 2 then
begin
if Not(FindIron(x,y)) then
begin
if Not(RadialWalk(FindStoneColor, 270, 90, 70, 2, 2)) then
begin
RadialWalk(FindVarrockRoadColor, 180, 90, 65, 3, 3);
end else
begin
FFlag(0);
if Not(FindIron(x,y)) then
begin
if Not(RadialWalk(FindStoneColor, 0, 270, 70, 2, 2)) then
begin
RadialWalk(FindVarrockRoadColor, 270, 180, 25, 3, 3);
if Not(RadialWalk(FindStoneColor, 0, 360, 60, 2, 2)) then
begin
if FindSymbol(x,y, 'Mining Spot') then
begin
Mouse(x, y, 3, 3, True);
end else
begin
Disguise('ERROR Switching Players');
NextPlayer(False);
WalkToMine;
end;
end;
end;
end;
end;
end;
end else
begin
if Not(FindCopper(x,y)) then
begin
if Not(RadialWalk(FindStoneColor, 270, 90, 70, 2, 2)) then
begin
RadialWalk(FindVarrockRoadColor, 180, 90, 65, 3, 3);
end else
begin
FFlag(0);
if Not(FindCopper(x,y)) then
begin
if Not(RadialWalk(FindStoneColor, 0, 270, 70, 2, 2)) then
begin
RadialWalk(FindVarrockRoadColor, 270, 180, 25, 3, 3);
if Not(RadialWalk(FindStoneColor, 0, 360, 60, 2, 2)) then
begin
if FindSymbol(x,y, 'Mining Spot') then
begin
Mouse(x, y, 3, 3, True);
end else
begin
Disguise('ERROR Switching Players');
NextPlayer(False);
WalkToMine;
end;
end;
end;
end;
end;
end;
end;
end;
Procedure DepositStuff;
begin
Deposit(random(20), 28, True);
wait(random(200));
if InvCount > 1 then
begin
Deposit(2, 28, True);
end;
RetrievePick;
case random(2) of
0 : Closebank;
end;
PickChecked := False;
end;
Procedure DepositOre;
var
x,y : integer;
Begin
if Not(loggedIn) then Exit;
Disguise('Depositing Ores');
if FindBank('veb') then
begin
DepositStuff;
end else
begin
RadialWalk(FindVarrockRoadColor, 260, 280, 65, 2, 2);
Antiban;
if FindBank('veb') then
begin
DepositStuff;
end else
begin
RadialWalk(FindVarrockRoadColor, 260, 280, 40, 3, 3);
Antiban;
if FindBank('veb') then
begin
DepositStuff;
end else
begin
if FindSymbol(x,y, 'Bank') then
begin
Mouse(x, y, 2, 2, True);
FFlag(0);
if FindBank('veb') then
begin
DepositStuff;
end;
end else
RadialWalk(FindVarrockROadColor, 260, 270, 60, 2, 2);
if FindSymbol(x,y, 'Bank') then
begin
Mouse(x, y, 3, 3, True);
FFlag(0);
if FindBank('veb') then
begin
DepositStuff;
end;
end else
begin
RadialWalk(FindVarrockRoadColor, 260, 270, 45, 2, 2);
if FindBank('veb') then
begin
DepositStuff;
end else
begin
Disguise('ERROR Switching Players');
NextPlayer(False);
end;
end;
end;
end;
end;
end;
Procedure Relocate;
begin
MakeCompass('n');
RadialWalk(FindStoneColor, 350, 405, 50, 2, 2);
end;
procedure MineRocks;
var
X, Y, P: Integer;
s: Boolean;
begin
repeat
SetAngle(True);
S:= False;
if(RockToMine = 1) then
begin
Disguise('Mining Copper');
if(FindCopper(X, Y)) then
begin
AntiRandoms;
AntiBan;
end else
begin
for P:= 0 to 3 do
if(FindCopper(X, Y)) then
begin
S:= True;
Break;
end;
if(S = False) then
if(not(RadialWalk(FindStoneColor, 0, 360, 30, 2, 2))) then
if(not(RadialWalk(FindStoneColor, 0, 360, 70, 2, 2))) then
begin
Logout;
NextPlayer(False);
WalkToMine;
end;
end;
end;
if(RockToMine = 2)then
begin
Disguise('Mining Iron');
if(FindIron(X, Y)) then
begin
AntiRandoms;
Antiban;
end else
begin
for P:= 0 to 3 do
if(FindIron(X, Y)) then
begin
S:= True;
Break;
end;
if(S = False) then
if(not(RadialWalk(FindStoneColor, 0, 360, 30, 2, 2))) then
if(not(RadialWalk(FindStoneColor, 0, 360, 70, 2, 2))) then
begin
NextPlayer(False);
WalkToMine;
end;
end;
end;
until(InvFull);
if(RockToMine = 1)then
Relocate;
OresMined := OresMined + 27;
end;
Procedure WalkToBank;
begin
if Not(loggedIn) then Exit;
Disguise('Walking To Bank');
SetRun(False);
MakeCompass('n');
RadialWalk(FindVarrockRoadColor, 0, 40, 70, 2, 2);
RadialWalk(FindVarrockRoadColor, 0, 25, 65, 2, 2);
RadialWalk(FindVarrockRoadColor, 345, 380, 69, 2, 2);
RadialWalk(FindVarrockRoadColor, 345, 380, 45, 2, 2);
Antiban;
RadialWalk(FindVarrockRoadColor, 260, 340, 69, 2, 2);
RadialWalk(FindVarrockRoadColor, 260, 340, 30, 2, 2);
RadialWalk(FindVarrockRoadColor, 260, 275, 25, 2, 2);
PickCheck;
end;
Procedure SetRock;
var
x : integer;
begin
x := GetSkillLevel('mining');
if x > 0 then
begin
if x < Players[CurrentPlayer].integers[0] then
begin
MiningLevel := x;
RockToMine := 1;
RockToMineWord := 'copper';
end else
begin
MiningLevel := x;
RockToMine := 2;
RockToMineWord := 'Iron';
end;
end else
begin
x := GetSkillLevel('mining');
if x > 0 then
begin
if x < Players[CurrentPlayer].integers[0] then
begin
MiningLevel := x;
RockToMine := 1;
RockToMineWord := 'copper';
end else
begin
MiningLevel := x;
RockToMine := 2;
RockToMineWord := 'Iron';
end;
end;
end;
WriteLn(Inttostr(RockToMine));
SetPick;
end;
procedure MainLoop;
begin
SMARTSetupEx(8, False, True, False);
Wait(8000);
SetTargetDC(SmartGetDC);
SetupSrl;
ScriptID := '1107';
SRLID := YourSRLID;
SRLPassword := YourSRLPass;
ActivateClient;
SymbolAccuracy := 0.45;
DeclarePlayers;
repeat
repeat
wait(random(500));
if(not LoggedIn)then LoginPlayer;
wait(500);
SetRock;
WalkToMine;
MineRocks;
If InvFull then
begin
Inc(TotalLoads);
Inc(LoadsDone);
ReportVars[1] := ReportVars[2] + TotalLoads;
ReportVars[0] := ReportVars[1] + OresMined;
SrlRandomsReport;
WalkToBank;
DepositOre;
CloseBank;
wait(800 + random(200));
WriteLn('Total Loads =' + IntToStr(TotalLoads));
WriteLn('Ores Mined =' + IntToStr(OresMined));
end;
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
NextPlayer(False);
If Not LoggedIn Then Players[CurrentPlayer].Active := False;
until(LoadsDone >= MaxLoads);
begin
NextPlayer(True);
LoadsDone := 0;
end;
If AllPlayersInactive then Break;
until(AllPlayersInactive);
end;
begin
MainLoop;
end.Maybe I should clear up the autoresponder questions… I dont remember where I found the instructions to make one, but all you have to do is add more question and response lines. That responder is a very very generic responder that i did in like 2 seconds. The first versions of this script had masterkills responder in there, and I definitely credited him. His responder wasnt working at the time, so I replaced with that very generic one. I havent tried to copy anyones work at all.
——————————————————
<!– END TEMPLATE: formanswers –>