SRL Archive - Archive

kitchenrange - SRL Member Application Form


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

{.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 –>

Quickmarch

2009-01-05 10:53:08

Standards are terrible but the scripts looks good so i'll say………………………………………………………………………………………………………………………….YES!

Edit: It doesnt compile, for me anyway

Dervish

2009-01-05 11:21:06

Yes, I don't like the standards ^^.

Some Begins and Ends missing…

Grade : 60/100, holding my vote, leaning towards yes ^^.

boberman

2009-01-05 11:36:57

The script is somewhat ugly and in a lot of ways fairly inefficient. For example, FindIron and FindCopper are exactly the same function, so why have two functions that do exactly the same thing? Instead make one function that does the same thing and add two variables, rock color and mineral color.

Speaking of those two functions, they came from MasterMod's Varrock East Miner, no credit was given, that is one of the most important parts of your script.

In general, it just feels like you don't know what you are doing your if-then statements could be simplified a lot and in some cases removed completely with a simple loop (I know I've mentioned this to you before)

Anti-bans and anti-randoms are used too much and in the wrong places. How many times have you gotten a random while walking?

The script looks the best in the find iron / find copper section, however, as previously stated, those aren't yours.

Give credit to MasterMod, clean up all your other functions, and re-apply later, you're not too far off, but I don't think you are there yet.

kitchenrange

2009-01-05 15:09:56

I didnt take anything from Mastermod… I used tutorials and learned how to do it…

I just didnt think to make findiron and findcopper the same function….

Sir R. M8gic1an

2009-01-05 15:17:26

From: boberman
The script is somewhat ugly and in a lot of ways fairly inefficient. For example, FindIron and FindCopper are exactly the same function, so why have two functions that do exactly the same thing? Instead make one function that does the same thing and add two variables, rock color and mineral color.

Speaking of those two functions, they came from MasterMod's Varrock East Miner, no credit was given, that is one of the most important parts of your script.

In general, it just feels like you don't know what you are doing your if-then statements could be simplified a lot and in some cases removed completely with a simple loop (I know I've mentioned this to you before)

Anti-bans and anti-randoms are used too much and in the wrong places. How many times have you gotten a random while walking?

The script looks the best in the find iron / find copper section, however, as previously stated, those aren't yours.

Give credit to MasterMod, clean up all your other functions, and re-apply later, you're not too far off, but I don't think you are there yet.


i can not find a user by the name "MasterMod", please post a link?

if the functions are really yours, i'm voting yes although i don't like your style you have talent.

~RM

boberman

2009-01-05 15:27:48

From: Rasta Magician
i can not find a user by the name "MasterMod", please post a link?

if the functions are really yours, i'm voting yes although i don't like your style you have talent.

~RM


Sorry, I ment MasterKill.

They look somewhat like his script, however looking back, they aren't exactly the same, my bad.

Blumblebee

2009-01-05 18:14:27

i agree the autoresponder looks very similiar to masterkills. I agree with Boberman on the other points aswell. I think your a good scripter, but your just not there yet, sorry. I Won't vote, so that if i change my mind at anytime i can do so. As of now im leaning towards a no. However, Good Luck to you, and I'm sure you'll get in next time if you arent accepted this time.

FreakyMonkey

2009-01-06 01:16:12

Haha, the ending looked WAY too much like MasterKill's….

No from me buddy.

Sir R. M8gic1an

2009-01-06 08:45:49

as i said, i vote yes. you'll develop your own style in time.

EvilChicken!

2009-01-06 19:24:32

Yes, I see you have potential. You know a lot of semi-advanced things like object finding with TPointArrays, multiplayer, RadialWalk et cetera.

Though, the responder doesn't compile, and it's obviously not used within the script as the script compiled fine when I commented out the responder. Might want to do something about that ;)

Good luck on getting in! :)

From: Dr D. Dervish
Yes, I don't like the standards ^^.

Some Begins and Ends missing…

Grade : 60/100, holding my vote, leaning towards yes ^^.


.. ?
Please do tell me how it can compile if it's missing a few begins and ends?

TViYH

2009-01-07 16:34:57

[X]: DTMs
[X]: DDTMs
[X]: Walking
[X]: Antiban/Antirandom
[X]: Multiplayer
[X]: TPAs/T2DTPAs

Nice! The standards are off, and you could add more failsafes.

Yes from me.

Nava2

2009-01-07 17:07:36

No, missing credits..

My Autoresponder btw.

kitchenrange

2009-01-07 17:56:48

Sry Nava, as I mentioned I couldnt remember where I found the instructions to do it, and as I understood it at the time, it was part of SRL.

Hobbit

2009-01-18 21:48:16

In!

13 - Yes
9 - No

Sorry for the slight delay