SRL Archive - Archive

NewToAutoing - SRL Member Application Form


NewToAutoing

2007-06-03 04:37:05

<!– BEGIN TEMPLATE: formanswers –>
NewToAutoing - SRL Member Application Form
NewToAutoing

What is the meaning to life?


Where you Referred to SRL? If yes, by whom?
no


Programming Knowledge
Nope, not really

Other Communitys
Well i went to moparisthebest to look at a tutorial

How Long have You Played Runescape
Since the rubber chicken (I don't really keep count)

Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.

Well i came to autoing because i got extremely bored of RuneScape while going for 99 fletching (I think i came here at 94 or so) and just wanted to make cash and then transfer it to my main in hopes that i could have some more fun if i had excess cash. I found iBot first and then eventually found my way here. I guess i started learning how to script simply because i'd have to become a member to get to the good scripts, but i ended up enjoying it more than i thought and now i don't really care so much about getting access to better scripts. I haven't been on RuneScape (at least, on my main) in about a month now. Technically i'm out of school already because i have to stay at home and take antibiotics, even though there's two weeks of school left, so i have plenty of time to spend scripting and learning.

As for this script, it's a RimmingtonAutoMiner that i started as a powerminer, but i think it works pretty good now and i felt like it was time to apply. It banks at Falador East Bank and can mine tin, copper, iron and gold. I was hoping to get a form implemented before i applied but i got too frustrated with it so decided oh well. I'm planning on going back to it later though. I've tested the iron part more than anything else though, so i dunno how great the rest works. For the sample i'll put this script (which i posted in the mining section of free scripts) but i'll take out some pointless stuff - mainly excessive instructions and things like that.

Oh and..i kinda have a question. How come when i preview it the first part is "What is the meaning to life?" yet i don't see that part here at all? O_o..

——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted


program RimmingtonAutoMinerV0_94;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/Mining.scar}
{.include SRL/SRL/extended/xAutoTalk.scar}
{.include SRL/SRL/extended/xAntiBan.scar}
{.include SRL/SRL/extended/xInventory.scar}

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~Introduction~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

{DESCRIPTION:
This script will mine copper, tin, iron, or gold (depending on
which you select) at the Rimmington mine. It will walk to Falador
East Bank, and store all the ores/other random junk you acquire whilst
mining. It will then walk back to the mine and repeat the cycle.}

{INSTRUCTIONS:
You can start the script at either Falador East Bank or the Rimmington
mine. You must have a pickaxe equipped or in your inventory (obviously).
You only need to set up lines 55,85, and 110-156. Explanations
are at each of the sections you must fill out.}

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~Variables and Constants~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

var
{~~~~~~~~~~~~~~~~~~~~Regular Script Variables~~~~~~~~~~~~~~~~~~~~~~~~}
OreDTM,GemDTM,TokenDTM,MMBankers,MMIronRocks,MMTinRocks,MMCopperRocks,
MMGoldRocks,RockColor1,RockColor2,RockColor3,MMRockColor,TheOtherColor,
TheColor,TimesBanked,OresMined,GemsMined,TokensObtained,WaitTime,Tries,
Searches,ScrewUps,RoadScrewUps,BankAttempts1,BankAttempts2,OtherBankAttempts1,
OtherBankAttempts2,MMBankersDTM,SplitSearches: Integer;
DidRandomHappen,BankersFound,BankFound: Boolean;
{~~~~~~~~~~~~~~~~~~~~~~~Dynamic DTM Variables~~~~~~~~~~~~~~~~~~~~~~~~}
CopperDTMSubPoints: array[0..4] of TDTMPointDef;
TinDTMSubPoints: array[0..3] of TDTMPointDef;
IronDTMSubPoints: array[0..3] of TDTMPointDef;
GoldDTMSubPoints: array[0..3] of TDTMPointDef;
BankDTMSubPoints: array[0..5] of TDTMPointDef;
RoadDTMSubPoints: array[0..2] of TDTMPointDef;
FallyGateDTMSubPoints: array[0..3] of TDTMPointDef;
CopperCGMainPoint,TinCGMainPoint,IronCGMainPoint,GoldCGMainPoint,
RoadCGMainPoint,FallyGateCGMainPoint,BankCGMainPoint: TDTMPointDef;
CopperRockTDTM,TinRockTDTM,IronRockTDTM,GoldRockTDTM,
RoadTDTM,FallyGateTDTM,BankSplitTDTM: TDTM;
CopperRockDTM,TInRockDTM,IronRockDTM,GoldRockDTM,
RoadSplitDTM,FallyGateDTM,BankSplitDTM: Integer;
WhichAngle: Extended;

const
{~~~~~~~~~~~~~~~~~~~~~Regular Script Constants~~~~~~~~~~~~~~~~~~~~~~~}
AmountOfOres = 0; //Amount of ores the script should end at
RunDirec = 'N'; //North,South,East,West. No need to change.
Version = 'V0.94';
{~~~~~~~~~~~~~~~~~~~~~~Dynamic DTM Constants~~~~~~~~~~~~~~~~~~~~~~~~~}
Tolerance = 1;
AreaSize = 1;
AreaShape = 0;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~Rockcolors, no need to change~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

CopperColor1 = 6724073;
CopperColor2 = 7577834;
CopperColor3 = 5146327;
TinColor1 = 10658478;
TinColor2 = 10921649;
TinColor3 = 8750479;
IronColor1 = 2898528;
IronColor2 = 2240332;
IronColor3 = 1778233;
GoldColor1 = 1952504;
GoldColor2 = 2015209;
GoldColor3 = 1817317;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~Set up players below~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
procedure DeclarePlayers;
begin
HowManyPlayers := 6; //Number of PLAYERS. Active or not.
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; //Player to start on.

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{
Options for .Loc are:
"Rimmington" meaning the Rimmington Mine
and
"Falador" meaning Falador East Bank
Options for .String1 are "tin" "copper" "iron" and "gold"
For .Integer1 put in the amount of ores you want that individual
account to mine before switching to the next account.
The following is an example of how to fill out the form.
Do NOT edit this form, as it will have no effect on the script.
Players[0].Name := 'screenname';
Players[0].Pass := 'password';
Players[0].Nick := 'eenn';
Players[0].Loc := 'rimmington';
Players[0].String1 := 'iron';
Players[0].Integer1 := 100
Players[0].Active := True;
}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

Players[0].Name := 'NewToAutoings'; //Screenname
Players[0].Pass := 'RimmingtonAutoMiner'; //Password
Players[0].Nick := 'V0.94'; //Nickname
Players[0].Loc := '~~~'; //Current Location
Players[0].String1 := '~~~'; //Rock to mine
Players[0].Integer1 := 0; //Amount of loads to mine(for this account)
Players[0].Active := True; //Are you using this account?

Players[1].Name := 'NewToAutoings';
Players[1].Pass := 'RimmingtonAutoMiner';
Players[1].Nick := 'V0.94';
Players[1].Loc := '~~~';
Players[1].String1 := '~~~';
Players[1].Integer1 := 0;
Players[1].Active := False; //Set to True to use this player

Players[2].Name := 'UserName';
Players[2].Pass := 'Password';
Players[2].Nick := '3-4 letters of UserName';
Players[2].Loc := '~~~';
Players[2].String1 := '~~~';
Players[2].Integer1 := 0;
Players[2].Active := False; //Set to True to use this player

Players[3].Name := 'UserName';
Players[3].Pass := 'Password';
Players[3].Nick := '3-4 letters of UserName';
Players[3].Loc := '~~~';
Players[3].String1 := '~~~';
Players[3].Integer1 := 0;
Players[3].Active := False; //Set to True to use this player

Players[4].Name := 'UserName';
Players[4].Pass := 'Password';
Players[4].Nick := '3-4 letters of UserName';
Players[4].Loc := '~~~';
Players[4].String1 := '~~~';
Players[4].Integer1 := 0;
Players[4].Active := False; //Set to True to use this player

Players[5].Name := 'UserName';
Players[5].Pass := 'Password';
Players[5].Nick := '3-4 letters of UserName';
Players[5].Loc := '~~~';
Players[5].String1 := '~~~';
Players[5].Integer1 := 0;
Players[5].Active := False; //Set this to True to use this player

NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~Don't touch any of the below unless you know what you're doing~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~DYNAMIC DTMS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

procedure CheckRockColor;
begin
TheColor := FindRoadColor;
if (MMRockColor = 4675162) then
begin
MMRockColor := 6051154
end;
if ((MMRockColor = TheColor) or
(MMRockColor = 6910053) or
(MMRockColor = 5004895) or
(MMRockColor = 4741724) or
(MMRockColor = 6643553) or
(MMRockColor = 6709088) or
(MMRockColor = 4345939) or
(MMRockColor = 4675162))then
begin
repeat
MMRockColor := FindRockColor;
Wait(2000+random(1000));
ScrewUps := ScrewUps + 1;
Status('FindRockColor screwed up ' + IntToStr(ScrewUps) + ' time(s).');
until ((not(MMRockColor = TheColor)) and
(not(MMRockColor = 6910053)) and
(not(MMRockColor = 5004895)) and
(not(MMRockColor = 4741724)) and
(not(MMRockColor = 6643553)) and
(not(MMRockColor = 6709088)) and
(not(MMRockColor = 4345939)) and
(not(MMRockColor = 4675162))) or
(ScrewUps = 5) or
(ScrewUps = 10) or
(ScrewUps = 15) or
(ScrewUps = 20)
if (ScrewUps >= 20) then
begin
Status('FindRockColor is screwed up.');
Writeln('FindRockColor is screwed up. Account is lost.');
LogOut;
NextPlayer(False);
ScrewUps := 0;
end;
if (ScrewUps < 20) and
(not(ScrewUps = 15)) and
(not(ScrewUps = 10)) and
(not(ScrewUps = 5)) then
begin
Status('Corrected rock color');
ScrewUps := 0;
end;
end;
end;

function IsRockColorCorrect: Boolean;
begin
Result := False;
TheColor := FindRoadColor;
if ((MMRockColor = TheColor) or
(MMRockColor = 6910053) or
(MMRockColor = 5004895) or
(MMRockColor = 4741724) or
(MMRockColor = 6643553) or
(MMRockColor = 6709088) or
(MMRockColor = 4938846) or
(MMRockColor = 4345939) or
(MMRockColor = 5135458)) then
begin
repeat
MMRockColor := FindRockColor;
Wait(2000+random(1000));
ScrewUps := ScrewUps + 1;
Status('FindRockColor screwed up ' + IntToStr(ScrewUps) + ' time(s).');
until ((not(MMRockColor = TheColor)) and
(not(MMRockColor = 6910053)) and
(not(MMRockColor = 5004895)) and
(not(MMRockColor = 4741724)) and
(not(MMRockColor = 6643553)) and
(not(MMRockColor = 6709088)) and
(not(MMRockColor = 4938846)) and
(not(MMRockColor = 4345939)) and
(not(MMRockColor = 5135458))) or
(ScrewUps = 5) or
(ScrewUps = 10) or
(ScrewUps = 15) or
(ScrewUps = 20)
if (ScrewUps >= 20) then
begin
Status('FindRockColor is screwed up.');
Writeln('FindRockColor is screwed up. Account is lost.');
LogOut;
NextPlayer(False);
ScrewUps := 0;
Exit;
end;
if (ScrewUps < 20) and
(not(ScrewUps = 15)) and
(not(ScrewUps = 10)) and
(not(ScrewUps = 5)) then
begin
Result := True;
Status('Corrected rock color');
ScrewUps := 0;
end;
end;
end;

procedure SetCopperRockDTM;
begin
CopperCGMainPoint.x:=49;
CopperCGMainPoint.y:=15;
CopperCGMainPoint.areasize:=1;
CopperCGMainPoint.areashape:=0;
CopperCGMainPoint.color:=0;
CopperCGMainPoint.tolerance:=255;

CopperDTMSubPoints[0].x:=37;
CopperDTMSubPoints[0].y:=13;
CopperDTMSubPoints[0].areasize:=AreaSize;
CopperDTMSubPoints[0].areashape:=AreaShape;
CopperDTMSubPoints[0].color:=MMRockColor;
CopperDTMSubPoints[0].tolerance:=Tolerance;

CopperDTMSubPoints[1].x:=11;
CopperDTMSubPoints[1].y:=36;
CopperDTMSubPoints[1].areasize:=AreaSize;
CopperDTMSubPoints[1].areashape:=AreaShape;
CopperDTMSubPoints[1].color:=MMRockColor;
CopperDTMSubPoints[1].tolerance:=Tolerance;

CopperDTMSubPoints[2].x:=22;
CopperDTMSubPoints[2].y:=55;
CopperDTMSubPoints[2].areasize:=AreaSize;
CopperDTMSubPoints[2].areashape:=AreaShape;
CopperDTMSubPoints[2].color:=MMRockColor;
CopperDTMSubPoints[2].tolerance:=Tolerance;

CopperDTMSubPoints[3].x:=12;
CopperDTMSubPoints[3].y:=44;
CopperDTMSubPoints[3].areasize:=AreaSize;
CopperDTMSubPoints[3].areashape:=AreaShape;
CopperDTMSubPoints[3].color:=MMRockColor;
CopperDTMSubPoints[3].tolerance:=Tolerance;

CopperDTMSubPoints[4].x:=7;
CopperDTMSubPoints[4].y:=48;
CopperDTMSubPoints[4].areasize:=AreaSize;
CopperDTMSubPoints[4].areashape:=AreaShape;
CopperDTMSubPoints[4].color:=MMRockColor;
CopperDTMSubPoints[4].tolerance:=Tolerance;

CopperRockTDTM.MainPoint := CopperCGMainPoint;
CopperRockTDTM.SubPoints := CopperDTMSubPoints;
CopperRockDTM := AddDTM(CopperRockTDTM);
end;

procedure SetTinRockDTM;
begin
TinCGMainPoint.x:=24;
TinCGMainPoint.y:=8;
TinCGMainPoint.areasize:=1;
TinCGMainPoint.areashape:=0;
TinCGMainPoint.color:=0;
TinCGMainPoint.tolerance:=255;

TinDTMSubPoints[0].x:=17;
TinDTMSubPoints[0].y:=6;
TinDTMSubPoints[0].areasize:=AreaSize;
TinDTMSubPoints[0].areashape:=AreaShape;
TinDTMSubPoints[0].color:=MMRockColor;
TinDTMSubPoints[0].tolerance:=Tolerance;

TinDTMSubPoints[1].x:=26;
TinDTMSubPoints[1].y:=14;
TinDTMSubPoints[1].areasize:=AreaSize;
TinDTMSubPoints[1].areashape:=AreaShape;
TinDTMSubPoints[1].color:=MMRockColor;
TinDTMSubPoints[1].tolerance:=Tolerance;

TinDTMSubPoints[2].x:=11;
TinDTMSubPoints[2].y:=18;
TinDTMSubPoints[2].areasize:=AreaSize;
TinDTMSubPoints[2].areashape:=AreaShape;
TinDTMSubPoints[2].color:=MMRockColor;
TinDTMSubPoints[2].tolerance:=Tolerance;

TinDTMSubPoints[3].x:=7;
TinDTMSubPoints[3].y:=24;
TinDTMSubPoints[3].areasize:=AreaSize;
TinDTMSubPoints[3].areashape:=AreaShape;
TinDTMSubPoints[3].color:=MMRockColor;
TinDTMSubPoints[3].tolerance:=Tolerance;

TinRockTDTM.MainPoint := TinCGMainPoint;
TinRockTDTM.SubPoints := TinDTMSubPoints;
TinRockDTM := AddDTM(TinRockTDTM);
end;

procedure SetIronRockDTM;
begin
IronCGMainPoint.x:=5;
IronCGMainPoint.y:=11;
IronCGMainPoint.areasize:=1;
IronCGMainPoint.areashape:=0;
IronCGMainPoint.color:=0;
IronCGMainPoint.tolerance:=255;

IronDTMSubPoints[0].x:=7;
IronDTMSubPoints[0].y:=19;
IronDTMSubPoints[0].areasize:=AreaSize;
IronDTMSubPoints[0].areashape:=AreaShape;
IronDTMSubPoints[0].color:=MMRockColor;
IronDTMSubPoints[0].tolerance:=Tolerance;

IronDTMSubPoints[1].x:=12;
IronDTMSubPoints[1].y:=14;
IronDTMSubPoints[1].areasize:=AreaSize;
IronDTMSubPoints[1].areashape:=AreaShape;
IronDTMSubPoints[1].color:=MMRockColor;
IronDTMSubPoints[1].tolerance:=Tolerance;

IronDTMSubPoints[2].x:=12;
IronDTMSubPoints[2].y:=6;
IronDTMSubPoints[2].areasize:=AreaSize;
IronDTMSubPoints[2].areashape:=AreaShape;
IronDTMSubPoints[2].color:=MMRockColor;
IronDTMSubPoints[2].tolerance:=Tolerance;

IronDTMSubPoints[3].x:=20;
IronDTMSubPoints[3].y:=25;
IronDTMSubPoints[3].areasize:=AreaSize;
IronDTMSubPoints[3].areashape:=AreaShape;
IronDTMSubPoints[3].color:=MMRockColor;
IronDTMSubPoints[3].tolerance:=Tolerance;

IronRockTDTM.MainPoint := IronCGMainPoint;
IronRockTDTM.SubPoints := IronDTMSubPoints;
IronRockDTM := AddDTM(IronRockTDTM);
end;

procedure SetGoldRockDTM;
begin
GoldCGMainPoint.x:=15;
GoldCGMainPoint.y:=6;
GoldCGMainPoint.areasize:=1;
GoldCGMainPoint.areashape:=0;
GoldCGMainPoint.color:=0;
GoldCGMainPoint.tolerance:=255;

GoldDTMSubPoints[0].x:=16;
GoldDTMSubPoints[0].y:=12;
GoldDTMSubPoints[0].areasize:=AreaSize;
GoldDTMSubPoints[0].areashape:=AreaShape;
GoldDTMSubPoints[0].color:=MMRockColor;
GoldDTMSubPoints[0].tolerance:=Tolerance;

GoldDTMSubPoints[1].x:=8;
GoldDTMSubPoints[1].y:=6;
GoldDTMSubPoints[1].areasize:=AreaSize;
GoldDTMSubPoints[1].areashape:=AreaShape;
GoldDTMSubPoints[1].color:=MMRockColor;
GoldDTMSubPoints[1].tolerance:=Tolerance;

GoldDTMSubPoints[2].x:=32;
GoldDTMSubPoints[2].y:=13;
GoldDTMSubPoints[2].areasize:=AreaSize;
GoldDTMSubPoints[2].areashape:=AreaShape;
GoldDTMSubPoints[2].color:=MMRockColor;
GoldDTMSubPoints[2].tolerance:=Tolerance;

GoldDTMSubPoints[3].x:=36;
GoldDTMSubPoints[3].y:=8;
GoldDTMSubPoints[3].areasize:=AreaSize;
GoldDTMSubPoints[3].areashape:=AreaShape;
GoldDTMSubPoints[3].color:=MMRockColor;
GoldDTMSubPoints[3].tolerance:=Tolerance;

GoldRockTDTM.MainPoint := GoldCGMainPoint;
GoldRockTDTM.SubPoints := GoldDTMSubPoints;
GoldRockDTM := AddDTM(GoldRockTDTM);
end;

procedure SetRoadSplitDTM;
begin
RoadCGMainPoint.x:=648;
RoadCGMainPoint.y:=83;
RoadCGMainPoint.areasize:=1;
RoadCGMainPoint.areashape:=0;
RoadCGMainPoint.color:=0;
RoadCGMainPoint.tolerance:=255;

RoadDTMSubPoints[0].x:=615;
RoadDTMSubPoints[0].y:=59;
RoadDTMSubPoints[0].areasize:=AreaSize;
RoadDTMSubPoints[0].areashape:=AreaShape;
RoadDTMSubPoints[0].color:=TheColor;
RoadDTMSubPoints[0].tolerance:=Tolerance;

RoadDTMSubPoints[1].x:=672;
RoadDTMSubPoints[1].y:=75;
RoadDTMSubPoints[1].areasize:=AreaSize;
RoadDTMSubPoints[1].areashape:=AreaShape;
RoadDTMSubPoints[1].color:=TheColor;
RoadDTMSubPoints[1].tolerance:=Tolerance;

RoadDTMSubPoints[2].x:=632;
RoadDTMSubPoints[2].y:=105;
RoadDTMSubPoints[2].areasize:=AreaSize;
RoadDTMSubPoints[2].areashape:=AreaShape;
RoadDTMSubPoints[2].color:=TheColor;
RoadDTMSubPoints[2].tolerance:=Tolerance;

RoadTDTM.MainPoint := RoadCGMainPoint;
RoadTDTM.SubPoints := RoadDTMSubPoints;
RoadSplitDTM := AddDTM(RoadTDTM);
end;

procedure SetFallyGateDTM;
begin
FallyGateCGMainPoint.x:=97;
FallyGateCGMainPoint.y:=84;
FallyGateCGMainPoint.areasize:=1;
FallyGateCGMainPoint.areashape:=0;
FallyGateCGMainPoint.color:=0;
FallyGateCGMainPoint.tolerance:=255;

FallyGateDTMSubPoints[0].x:=91;
FallyGateDTMSubPoints[0].y:=52;
FallyGateDTMSubPoints[0].areasize:=AreaSize;
FallyGateDTMSubPoints[0].areashape:=AreaShape;
FallyGateDTMSubPoints[0].color:=TheOtherColor;
FallyGateDTMSubPoints[0].tolerance:=Tolerance;

FallyGateDTMSubPoints[1].x:=63;
FallyGateDTMSubPoints[1].y:=68;
FallyGateDTMSubPoints[1].areasize:=AreaSize;
FallyGateDTMSubPoints[1].areashape:=AreaShape;
FallyGateDTMSubPoints[1].color:=TheOtherColor;
FallyGateDTMSubPoints[1].tolerance:=Tolerance;

FallyGateDTMSubPoints[2].x:=93;
FallyGateDTMSubPoints[2].y:=119;
FallyGateDTMSubPoints[2].areasize:=AreaSize;
FallyGateDTMSubPoints[2].areashape:=AreaShape;
FallyGateDTMSubPoints[2].color:=TheColor;
FallyGateDTMSubPoints[2].tolerance:=Tolerance;

FallyGateDTMSubPoints[3].x:=98;
FallyGateDTMSubPoints[3].y:=114;
FallyGateDTMSubPoints[3].areasize:=AreaSize;
FallyGateDTMSubPoints[3].areashape:=AreaShape;
FallyGateDTMSubPoints[3].color:=TheColor;
FallyGateDTMSubPoints[3].tolerance:=Tolerance;

FallyGateTDTM.MainPoint := FallyGateCGMainPoint;
FallyGateTDTM.SubPoints := FallyGateDTMSubPoints;
FallyGateDTM := AddDTM(FallyGateTDTM);
end;

procedure SetBankSplitDTM;
begin
BankCGMainPoint.x:=106;
BankCGMainPoint.y:=72;
BankCGMainPoint.areasize:=1;
BankCGMainPoint.areashape:=0;
BankCGMainPoint.color:=0;
BankCGMainPoint.tolerance:=255;

BankDTMSubPoints[0].x:=135;
BankDTMSubPoints[0].y:=70;
BankDTMSubPoints[0].areasize:=AreaSize;
BankDTMSubPoints[0].areashape:=AreaShape;
BankDTMSubPoints[0].color:=TheOtherColor;
BankDTMSubPoints[0].tolerance:=Tolerance;

BankDTMSubPoints[1].x:=78;
BankDTMSubPoints[1].y:=70;
BankDTMSubPoints[1].areasize:=AreaSize;
BankDTMSubPoints[1].areashape:=AreaShape;
BankDTMSubPoints[1].color:=TheOtherColor;
BankDTMSubPoints[1].tolerance:=Tolerance;

BankDTMSubPoints[2].x:=100;
BankDTMSubPoints[2].y:=104;
BankDTMSubPoints[2].areasize:=AreaSize;
BankDTMSubPoints[2].areashape:=AreaShape;
BankDTMSubPoints[2].color:=TheOtherColor;
BankDTMSubPoints[2].tolerance:=Tolerance;

BankDTMSubPoints[3].x:=135;
BankDTMSubPoints[3].y:=77;
BankDTMSubPoints[3].areasize:=AreaSize;
BankDTMSubPoints[3].areashape:=AreaShape;
BankDTMSubPoints[3].color:=TheOtherColor;
BankDTMSubPoints[3].tolerance:=Tolerance;

BankDTMSubPoints[4].x:=107;
BankDTMSubPoints[4].y:=90;
BankDTMSubPoints[4].areasize:=AreaSize;
BankDTMSubPoints[4].areashape:=AreaShape;
BankDTMSubPoints[4].color:=TheOtherColor;
BankDTMSubPoints[4].tolerance:=Tolerance;

BankSplitTDTM.MainPoint := BankCGMainPoint;
BankSplitTDTM.SubPoints := BankDTMSubPoints;
BankSplitDTM := AddDTM(BankSplitTDTM);
end;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~ DTMS + BMPS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

procedure LoadImages;
begin
MMBankers := BitmapFromString(13, 5, 'z78DA9D90390EC' +
'0300804BFB44E64C96E39F6FF4F32C129A899628A015120267B2F' +
'49D3E9E3FD0C9756B700F8BB52F1707202BDAE414C6F4FBB79BB2' +
'7E3BADEEFF5FA87BAD9EB07B50E59D7');

OreDTM := DTMFromString('78DA6394646060106740011EBA0A0CFF81342' +
'310FF0702464E204392010D302291405A0448A81050A30424E408' +
'A89101125C04D4A8030901026A0408AB010092B906EC');
GemDTM := DTMFromString('78DA63146560601066400102A2AD0CFF81342' +
'310FF07024611204396010D302291405A8A0835DC98766155C34B' +
'408D2090E024A0461E4888E35703008B7806D0');
TokenDTM := DTMFromString('78DA6394646060106540017CF98E0C2780342' +
'310FF07024605208385010D302291405A84083572404289087308' +
'A95107122204D47012560300776806CF');
{~~~~~~~~~~~~~~~~~~~Used for aligning to correct rocks~~~~~~~~~~~~~~~~~~~}
MMIronRocks := BitmapFromString(13, 18, 'z78DAADD3410E' +
'80200C04C02F11B0D8B310FEFF240FD5A4A66959D44B0F4026E96' +
'6E15273EA0CCCD24BDB1215CAC4326BAFAD0E3D19D6B4F34E4384' +
'BF347DBE0F1AB3EDE48D4DCC3AB1A6DF6853CBD7ED41FD9EB1E04' +
'D313D0D77EC76AB1AD2345CC31B823B5F34AF0FB6695792921E90' +
'8F3DB7F96B2DDE4537CDEB86CCD5BFE37523D6264EB8A9F713277' +
'D7634FB131FF9C0DA09574E3BBF');
MMTinRocks := BitmapFromString(12, 12, 'z78DAA5914B0A' +
'C0300844AF64EA27EDB29FDCFF4A2D9885614810BA1964302F3AD' +
'6220FB59AD1536EB6A31869F1BA9A96CF774D10F41262424EF713' +
'1CEF8C9CE954E94990E3DA7B7E73BABF4C75CD893DD6E4A226CAF' +
'BC69867F491197376CE2C49CC61B85150FC6BD83A2ABC8D3A9B27' +
'4F881CCC67B8669A8334AFF39C170615BAEE');
MMCopperRocks := BitmapFromString(20, 12, 'z78DAADD14D0E' +
'84200C05E02B81FD4197E3E8FDAFA449593CD3A96960362FA4907' +
'E409B4A2D671BCB0F7F49B7AA45AAADFD19DBC56C13A2EC5CA878' +
'B7D7DDADE675EB8C2EF667A175217FAB7FB92862FFE81F1E3934C' +
'7C88DFE212FF2CE9B1C2A4A8DFDFDA3FE58C7DDBEAE7CDCFD5D92' +
'10B19868999F239EB13AEEDA3A7251F42FF52EE6430FFABF8B19D' +
'7EBBD9E1633EEFBAB33138C526FF9D77C7B06739C11D1451D1377' +
'51B7CA98687901D15836BD');
MMGoldRocks := BitmapFromString(16, 11, 'z78DAB5934B0E' +
'80200C05AF24E947BAD478FF336984454D29790BD9CC02DA29790' +
'DAA5C8BE94B3ED9E45251DA79C0C2F2547ABADE8C24442CCDEC99' +
'4E019C91907981FF733EEDCD5E9225839891AD453F62F65B43F26' +
'CF5912BF2C43795E5F9AF7F603EB86ED6193DFE76CAF8777AAAB0' +
'019F92996F107CE1A2');
MMBankersDTM := DTMFromString('78DA6394616060906740017FFE30816946289' +
'F518108351284D50000636206A6');
end;

procedure FreeImages;
begin
FreeBitmap(MMBankers);
FreeDTM(OreDTM);
FreeDTM(GemDTM);
FreeDTM(TokenDTM);
FreeBitmap(MMIronRocks);
FreeBitmap(MMCopperRocks);
FreeBitmap(MMTinRocks);
FreeBitmap(MMGoldRocks);
end;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~PROGRESS REPORT~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

procedure ProgressReport;
begin
ClearDebug;
Writeln('<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>');
Writeln('Banked: ' + IntToStr(TimesBanked) + ' times.');
Writeln('Mined: ' + IntToStr(OresMined) + ' ' + Players[CurrentPlayer].String1 + ' ores.');
Writeln('Obtained: ' + IntToStr(GemsMined) + ' gems.');
Writeln('Has been running for: ' + ScriptTime2(2));
Writeln('Thank you for using NewToAutoings RimmingtonAutoMiner' + Version);
Writeln('<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>');
end;

procedure FinalProgressReport;
begin
ClearDebug;
Writeln('<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>');
Writeln('Banked: ' + IntToStr(TimesBanked) + ' times.')
Writeln('Mined: ' + IntToStr(OresMined) + ' ' + Players[CurrentPlayer].String1 + ' ores.');
Writeln('Obtained: ' + IntToStr(GemsMined) + ' gems.');
Writeln('Ran for: ' + ScriptTime2(2));
Writeln('Thank you for using NewToAutoings RimmingtonAutoMiner' + Version);
Writeln('<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>');
end;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ANTIRANDOM~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

function FindFastRandoms: Boolean; //By WT-Fakawi.
var
i: Integer;
begin
for i := 1 to 8 do
begin
case I of
1: if FindDead then
Result := True;
2: if FindMod then
Result := True;
3: if FindMime then
Result := True;
4: if FindMaze then
Result := True;
5: if FindQuiz then
Result := True;
6: if FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
7: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
8: RC;
end;
wait(1);
end;
if (Result = true) then
DidRandomHappen := true;
end;

procedure AntiRandom;
begin
FindPick;
FindTalk;
FindNormalRandoms;
FindFastRandoms;
FindLamp('mining');
if (FindFight = true) then
begin
RunAwayDirection(RunDirec);
Wait(10000 + random(2000));
RunBack;
end;
end;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ANTIBAN~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

procedure AntiBans;
begin
case Random(6) of
0: PickUpMouseEvery(5+random(5));
1: LeaveScreenEvery(5+random(5));
2: HoverEvery(20+random(10),'mining')
3: RandomRClickEvery(5+random(5));
4: begin
RotateEvery(5+random(5));
MakeCompass('N');
end;
5: begin
case random(3) of
0: TypeSend('So bored..');
1: TypeSend('*yawn*');
2: TypeSend('Mining lvls?');
end;
end;
end;
end;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~SETTING ROCK COLOR~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

procedure SelectRock;
begin
Case Lowercase(Players[CurrentPlayer].String1) of
'copper':
begin
RockColor1 := CopperColor1;
RockColor2 := CopperColor2;
RockColor3 := CopperColor3;
end;
'tin':
begin
RockColor1 := TinColor1;
RockColor2 := TinColor2;
RockColor3 := TinColor3;
end;
'iron':
begin
RockColor1 := IronColor1;
RockColor2 := IronColor2;
RockColor3 := IronColor3;
end;
'gold':
begin
RockColor1 := GoldColor1;
RockColor2 := GoldColor2;
RockColor3 := GoldColor3;
end;
end;
end;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~SETTING WAIT TIME~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

procedure AdjustWaitTime;
begin
Case Lowercase(Players[CurrentPlayer].String1) of
'copper': WaitTime := 2000;
'tin' : WaitTime := 2000;
'iron' : WaitTime := 900;
'gold' : WaitTime := 5000;
end;
end;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~MINING THE ROCK~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

procedure MineRock;
begin
SetRun(True);
repeat
Status('Looking for rock..');
if ((FindObj3(x,y,'ine',RockColor1,10)) or
(FindObj3(x,y,'ine',RockColor2,10)) or
(FindObj3(x,y,'ine',RockColor3,10))) then
begin
Status('Found rock!');
MMouse (x,y,2,2);
FindGas(x,y)
Wait(200+random(100));
Mouse(x,y,2,2,true);
FindGas(x,y)
AntiRandom;
Status('Waiting for ore');
Wait(500+random(500));
AntiRandom;
if not FindBlackChatMessage('no ore') or
not FindBlackChatMessage('currently available') then
begin
ClickToContinue;
if not FindBlackChatMessage('ongratulation') or
not FindBlackChatMessage('just advanced') then
begin
if not FindBlackChatMessage('manage') or
not FindBlackChatMessage('mine some') then
begin
Status('Did not get ore (?)');
repeat
AntiRandom;
Wait(WaitTime+random(500));
Tries := Tries + 1;
ClickToContinue;
Status('Searched for confirmation ' + IntToStr(Tries) + ' time(s).');
until FindBlackChatMessage('manage') or
FindBlackChatMessage('mine some') or
(Tries = 5)
if (Tries = 5) then
begin
Status('Did not find confirmation. Did not get ore.');
Tries := 0;
end else
begin
Status('Got the ore!');
Tries := 0;
end;
end else
begin
Status('Got the ore!');
Tries := 0;
end;
end;
end;
end;
until(InvFull = True);
end;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ALIGNING~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

procedure AlignToCenter;
begin
FFlag(0);
Searches := 0;
Mouse(x,y,2,2,true);
FFlag(0);
Status('Looking for Mining Symbol');
if FindSymbol(x,y,'mining spot') then
begin
Status('Found Mining Symbol.');
Mouse(x,y,2,2,true);
Status('Clicked Mining Symbol.');
FFlag(0);
end else
begin
Status('Did not find mining symbol. Trying again.');
repeat
Wait(1000+random(500));
Searches := Searches + 1;
until (FindSymbol(x,y,'mining spot')) or (Searches = 5)
if (Searches = 5) then
begin
Status('Did not find mining symbol.');
Writeln('Did not find mining symbol. Account is lost.');
LogOut;
NextPlayer(False);
Exit;
end else
begin
Status('Found mining symbol on minimap!');
Mouse(x,y,2,2,true);
FFlag(0);
end;
end;
end;

procedure AlignToCopperRocks;
begin
Searches := 0;
MMRockColor := FindRockColor;
CheckRockColor;
SetCopperRockDTM;
Status('Looking for copper rocks on minimap..');
if FindDTMRotated(CopperRockDTM,x,y,MMX1,MMY1,MMX2,MMY2,-Pi/2,Pi/2,0.1,WhichAngle) then
begin
Mouse(x,y,2,2,true);
Status('Found copper rocks on minimap.');
FFlag(0);
end else
begin
Status('Did not find copper rocks on minimap on first try. Trying again.');
repeat
repeat
Wait(1000+random(500));
Searches := Searches + 1;
Status('Searched for copper rocks ' + IntToStr(Searches) + ' time(s).');
until(IsRockColorCorrect = True)
SetCopperRockDTM;
until (FindDTMRotated(CopperRockDTM,x,y,MMX1,MMY1,MMX2,MMY2,-Pi/2,Pi/2,0.1,WhichAngle)) or
(Searches >= 5)
if (Searches >= 5) then
begin
Status('Tried five times. Attempting FindDeformed. Expect lag..');
if (FindDeformed(x,y,MMCopperRocks,MMX1,MMY1,MMX2,MMY2)) then
begin
Status('Found copper rocks on minimap!');
Mouse(x,y,2,2,true);
FFlag(0);
end else
begin
Status('Did not find copper rocks on minimap.');
Writeln('Did not find copper rocks on minimap. Account is lost.');
LogOut;
NextPlayer(False);
end;
end else
begin
Status('Found copper rocks on minimap!');
Mouse(x,y,2,2,true);
FFlag(0);
end;
end;
FreeDTM(CopperRockDTM);
end;

procedure AlignToTinRocks;
begin
Searches := 0;
MMRockColor := FindRockColor;
CheckRockColor;
SetTinRockDTM;
Status('Looking for tin rocks on minimap..');
if (FindDTMRotated(TinRockDTM,x,y,MMX1,MMY1,MMX2,MMY2,-Pi/2,Pi/2,0.1,WhichAngle)) then
begin
Mouse(x,y,2,2,true);
Status('Found tin rocks on minimap.');
FFlag(0);
end else
begin
Status('Did not find tin rocks on minimap on first try. Trying again.');
repeat
repeat
Wait(1000+random(500));
Searches := Searches + 1;
Status('Searched for tin rocks ' + IntToStr(Searches) + ' time(s).');
until(IsRockColorCorrect = True)
SetTinRockDTM;
until (FindDTMRotated(TinRockDTM,x,y,MMX1,MMY1,MMX2,MMY2,-Pi/2,Pi/2,0.1,WhichAngle)) or
(Searches >= 5)
if (Searches >= 5) then
begin
Status('Tried five times. Attempting FindDeformed. Expect lag..');
if (FindDeformed(x,y,MMTinRocks,MMX1,MMY1,MMX2,MMY2)) then
begin
Status('Found tin rocks on minimap!');
Mouse(x,y,2,2,true);
FFlag(0);
end else
begin
Status('Did not find tin rocks on minimap.');
Writeln('Did not find tin rocks on minimap. Account is lost.');
LogOut;
NextPlayer(False);
end;
end else
begin
Status('Found tin rocks on minimap!');
Mouse(x,y,2,2,true);
FFlag(0);
end;
end;
FreeDTM(TinRockDTM);
end;

procedure AlignToIronRocks;
begin
Searches := 0;
MMRockColor := FindRockColor;
CheckRockColor;
SetIronRockDTM;
Status('Looking for iron rocks on minimap..');
if (FindDTMRotated(IronRockDTM,x,y,MMX1,MMY1,MMX2,MMY2,-Pi/2,Pi/2,0.1,WhichAngle)) then
begin
Mouse(x,y,2,2,true);
Status('Found iron rocks on minimap.');
FFlag(0);
end else
begin
Status('Did not find iron rocks on minimap on first try. Trying again.');
repeat
repeat
Wait(1000+random(500));
Searches := Searches + 1;
Status('Searched for iron rocks ' + IntToStr(Searches) + ' time(s).');
until (Searches >= 5) or
(IsRockColorCorrect = True)
SetIronRockDTM;
until (Searches >= 5) or
(FindDTMRotated(IronRockDTM,x,y,MMX1,MMY1,MMX2,MMY2,-Pi/2,Pi/2,0.1,WhichAngle))
if (Searches >= 5) then
begin
Status('Tried five times. Attempting FindDeformed. Expect lag..');
if (FindDeformed(x,y,MMIronRocks,MMX1,MMY1,MMX2,MMY2)) then
begin
Status('Found iron rocks on minimap!');
Mouse(x,y,2,2,true);
FFlag(0);
end else
begin
Status('Did not find iron rocks on minimap.');
Writeln('Did not find iron rocks on minimap. Account is lost.');
LogOut;
NextPlayer(False);
end;
end else
begin
Status('Found iron rocks on minimap!');
Mouse(x,y,2,2,true);
FFlag(0);
end;
end;
FreeDTM(IronRockDTM);
end;

procedure AlignToGoldRocks;
begin
Searches := 0;
MMRockColor := FindRockColor;
CheckRockColor;
SetGoldRockDTM;
Status('Looking for gold rocks on minimap..');
if (FindDTMRotated(GoldRockDTM,x,y,MMX1,MMY1,MMX2,MMY2,-Pi/2,Pi/2,0.1,WhichAngle)) then
begin
Mouse(x,y,2,2,true);
Status('Found gold rocks on minimap.');
FFlag(0);
end else
begin
Status('Did not find gold rocks on minimap on first try. Trying again.');
repeat
repeat
Wait(1000+random(500));
Searches := Searches + 1;
Status('Searched for gold rocks ' + IntToStr(Searches) + ' time(s).');
until(IsRockColorCorrect = True)
SetGoldRockDTM;
until (FindDTMRotated(GoldRockDTM,x,y,MMX1,MMY1,MMX2,MMY2,-Pi/2,Pi/2,0.1,WhichAngle)) or
(Searches >= 5)
if (Searches >= 5) then
begin
Status('Tried five times. Attempting FindDeformed. Expect lag..');
if (FindDeformed(x,y,MMGoldRocks,MMX1,MMY1,MMX2,MMY2)) then
begin
Status('Found gold rocks on minimap!');
Mouse(x,y,2,2,true);
FFlag(0);
end else
begin
Status('Did not find gold rocks on minimap.');
Writeln('Did not find gold rocks on minimap. Account is lost.');
LogOut;
NextPlayer(False);
end;
end else
begin
Status('Found gold rocks on minimap!');
Mouse(x,y,2,2,true);
FFlag(0);
end;
end;
FreeDTM(GoldRockDTM);
end;

procedure AlignToRocks;
begin
case Lowercase(Players[CurrentPlayer].String1) of
'copper': AlignToCopperRocks;
'tin' : AlignToTinRocks;
'iron' : AlignToIronRocks;
'gold' : AlignToGoldRocks;
end;
end;

procedure AlignToRock;
begin
TheColor := FindRoadColor;
if (not(Lowercase(Players[CurrentPlayer].String1) = 'iron')) then
begin
AlignToCenter;
AlignToIronRocks;
end;
end;

procedure Alignment;
begin
TheColor := FindRoadColor;
Searches := 0;
if (not(Lowercase(Players[CurrentPlayer].String1) = 'iron')) then
begin
AlignToCenter;
Searches := 0;
AlignToRocks;
end;
end;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~WALKING TO THE BANK~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

procedure CheckColor;
begin
if(Not(FindMMColor(x,y,TheColor)))then
begin
TheColor := FindRoadColor;
end;
end;

procedure CheckFallyColor;
begin
if(Not(FindMMColor(x,y,TheOtherColor)))then
begin
TheOtherColor:=FindFallyRoadColor;
end;
if (TheOtherColor = 6453628) or
(TheOtherColor = 4939360) then
begin
repeat
TheOtherColor := FindFallyRoadColor;
RoadScrewUps := RoadScrewUps + 1;
Status('FindFallyRoadColor screwed up ' + IntToStr(RoadScrewUps) + ' time(s).');
until (not(TheOtherColor = 6453628)) or
(not(TheOtherColor = 4939360)) or
(RoadScrewUps = 3) or
(RoadScrewUps = 6)
if (RoadScrewUps >= 6) then
begin
Status('FindFallyRoadColor is screwed up.');
Writeln('FindFallyRoadColor is screwed up. Account is lost.');
LogOut;
NextPlayer(False);
RoadScrewUps := 0;
end;
if (RoadScrewUps < 6) and
(not(RoadScrewUps = 3)) then
begin
Status('Corrected FallyRoadColor');
RoadScrewUps := 0;
end;
end;
end;

procedure WaitAndCheck;
begin
FFlag(4);
CheckColor;
end;

procedure WaitAndCheckFally;
begin
FFlag(4);
CheckFallyColor;
end;

procedure SearchForBankers;
begin
BankersFound := False;
if (FindDTMRotated(MMBankersDTM,x,y,MMX1,MMY1,MMX2,MMY2,-Pi/2,Pi/2,0.1,WhichAngle)) then
begin
BankersFound := True;
end;
if (BankersFound = False) then
begin
if (FindDeformed(x,y,MMBankers,MMX1,MMY1,MMX2,MMY2)) then
begin
BankersFound := True;
end;
end;
end;

procedure SearchForBank;
begin
ActivateClient;
BankFound := False;
Status('Attempting to find the booth..');
if (OpenBank3) then
begin
if (BankScreen = True) then
begin
Status('Opened bank.');
BankAttempts1 := 0;
BankAttempts2 := 0;
OtherBankAttempts1 := 0;
OtherBankAttempts2 := 0;
BankFound := True;
end;
end;
if (BankFound = False) then
begin
Status('Attempting FindBank...');
if (FindBank('feb')) then
begin
BankFound := True;
end;
end;
if (BankFound = False) then
begin
Status('Searching for bank symbol..');
if (FindSymbol(x,y,'bank')) then
begin
Mouse(x,y,2,2,true);
FFlag(0);
Mouse(MMCX+5,MMCY+5,2,2,true);
FFlag(0);
if (OpenBank3) then
begin
if (BankScreen = True) then
begin
Status('Opened bank.');
BankAttempts1 := 0;
BankAttempts2 := 0;
OtherBankAttempts1 := 0;
OtherBankAttempts2 := 0;
BankFound := True;
end;
end;
end;
end;
end;

function FindTheBank: Boolean;
begin
FFlag(0);
Result := False;
Status('Searching for bank..');
SearchForBank;
if (BankFound = False) then
begin
repeat
Wait(2000+random(500));
BankAttempts1 := BankAttempts1 + 1;
Status('Searched for bank symbol ' + IntToStr(BankAttempts1) + ' time(s).');
SearchForBank;
until (BankFound = True) or
(BankAttempts1 >= 3)
if (BankAttempts1 >= 3) then
begin
Status('Did not find bank symbol, searching for bankers..');
BankAttempts2 := BankAttempts2 + 1;
begin
repeat
Wait(2000+random(2000));
OtherBankAttempts1 := OtherBankAttempts1 + 1;
Status('Searched for bankers ' + IntToStr(OtherBankAttempts1) + ' time(s).');
SearchForBankers;
until(BankersFound = True) or
(OtherBankAttempts1 >= 2)
if (OtherBankAttempts1 >= 2) then
begin
OtherBankAttempts2 := OtherBankAttempts2 + 1;
end else
begin
if (BankersFound = True) then
begin
Mouse(x,y-10,2,2,true)
FFlag(0);
Status('Found bank!');
if (OpenBank3) then
begin
Status('Opened bank.');
Result := True;
BankAttempts1 := 0;
BankAttempts2 := 0;
OtherBankAttempts1 := 0;
OtherBankAttempts2 := 0;
end else
begin
Status('Did not find booth.');
Writeln('Did not find booth. Player is lost.');
LogOut;
NextPlayer(False);
Result := False;
BankAttempts1 := 0;
BankAttempts2 := 0;
OtherBankAttempts1 := 0;
OtherBankAttempts2 := 0;
Exit;
end;
end;
end;
if (OtherBankAttempts2 = 2) then
begin
Status('Could not find bank.');
Writeln('Could not find bank. Player is lost.');
LogOut;
NextPlayer(False);
BankAttempts1 := 0;
BankAttempts2 := 0;
OtherBankAttempts1 := 0;
OtherBankAttempts2 := 0;
Result := False;
Exit;
end;
end;
end else
begin
Status('Found bank and opened.');
Result := True;
BankAttempts1 := 0;
BankAttempts2 := 0;
OtherBankAttempts1 := 0;
OtherBankAttempts2 := 0;
end;
if (BankAttempts2 = 3) then
begin
Status('Could not find bank.');
Writeln('Could not find bank. Player is lost.');
LogOut;
NextPlayer(False);
BankAttempts1 := 0;
BankAttempts2 := 0;
OtherBankAttempts1 := 0;
OtherBankAttempts2 := 0;
Result := False;
Exit;
end;
end else
begin
if (BankScreen = True) then
begin
Status('Found bank and opened.');
BankAttempts1 := 0;
BankAttempts2 := 0;
OtherBankAttempts1 := 0;
OtherBankAttempts2 := 0;
Result := True;
end;
end;
end;

procedure LeavingMineToFirstSplit;
begin
Status('Leaving the mine..');
TheColor := FindRoadColor;
RadialRoadWalk(TheColor,380,270,60,2,2);
WaitAndCheck;
SetRoadSplitDTM;
repeat
RadialRoadWalk(TheColor,330,450,45,2,2);
WaitAndCheck;
SetRoadSplitDTM;
until (FindDTMRotated(RoadSplitDTM,x,y,MMX1,MMY1,MMX2,MMY2,-Pi/2,Pi/2,0.1,WhichAngle))
Mouse(x,y,2,2,true);
WaitAndCheck;
Status('Reached first split!');
FreeDTM(RoadSplitDTM);
end;

procedure WalkingFirstSplitToFally;
begin
Status('Walking to Fally..');
repeat
RadialRoadWalk(TheColor,340,460,60,2,2);
WaitAndCheck;
until (FindFallyRoadColor<>0)
TheOtherColor := FindFallyRoadColor;
repeat
RadialRoadWalk(TheColor,340,460,60,2,2);
WaitAndCheck;
SetFallyGateDTM;
until (FindDTMRotated(FallyGateDTM,x,y,MMX1,MMY1,MMX2,MMY2,-Pi/2,Pi/2,0.1,WhichAngle))
Mouse(x,y,2,2,true);
WaitAndCheckFally;
Status('Reached Fally!');
FreeDTM(FallyGateDTM);
end;

procedure WalkToBankAndOpen;
begin
SetBankSplitDTM;
Status('Walking to bank..');
repeat
RadialRoadWalk(TheOtherColor,320,410,40,2,2);
WaitAndCheckFally;
SetBankSplitDTM;
SplitSearches := SplitSearches + 1;
until(FindDTM(BankSplitDTM,x,y,MMX1,MMY1,MMX2,MMY2)) or
(SplitSearches >= 7)
if (SplitSearches < 7) then
begin
Mouse(x,y,2,2,true);
FFlag(0);
Status('Reached split near bank.');
Wait(1000+random(1000));
Mouse(MMCX+(30+random(5)),MMCY+(30+random(5)),0,0,true);
FFlag(0);
SplitSearches := 0;
end;
repeat
Wait(2000+random(500));
until(FindTheBank = True)
Status('Found and opened bank.');
SplitSearches := 0;
FreeDTM(BankSplitDTM);
end;

procedure WalkToTheBank;
begin
SetRun(False);
AlignToRock;
LeavingMineToFirstSplit;
WalkingFirstSplitToFally;
WalkToBankAndOpen;
end;

procedure WalkToBank;
begin
if (InvFull = True) then
begin
PerfectNorth;
WalkToTheBank;
end;
end;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~BANKING~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

procedure BankOres;
begin
if (FindDTM(OreDTM,x,y,MIX1,MIY1,MIX2,MIY2)) then
repeat
FindDTM(OreDTM,x,y,MIX1,MIY1,MIX2,MIY2)
MMouse(x,y,10,10)
Mouse(x,y,5,5,false);
Wait(100+random(100));
ChooseOptionEx('ll')
Wait(600+random(600));
until(not(FindDTM(OreDTM,x,y,MIX1,MIY1,MIX2,MIY2)))
end;

procedure BankGems;
begin
if (FindDTM(GemDTM,x,y,MIX1,MIY1,MIX2,MIY2)) then
repeat
FindDTM(GemDTM,x,y,MIX1,MIY1,MIX2,MIY2)
MMouse(x,y,10,10)
Mouse(x,y,5,5,false);
Wait(100+random(100));
ChooseOptionEx('ll')
Wait(600+random(600));
until(not(FindDTM(GemDTM,x,y,MIX1,MIY1,MIX2,MIY2)))
end;

procedure BankTokens;
begin
if (FindDTM(TokenDTM,x,y,MIX1,MIY1,MIX2,MIY2)) then
repeat
FindDTM(TokenDTM,x,y,MIX1,MIY1,MIX2,MIY2)
MMouse(x,y,10,10)
Mouse(x,y,5,5,false);
Wait(100+random(100));
ChooseOptionEx('ll')
Wait(600+random(600));
until(not(FindDTM(TokenDTM,x,y,MIX1,MIY1,MIX2,MIY2)))
end;

procedure Count;
begin
OresMined := OresMined + CountItemDTM(OreDTM);
GemsMined := GemsMined + CountItemDTM(GemDTM);
TokensObtained := TokensObtained + CountItemDTM(TokenDTM);
end;

procedure BankStuff;
begin
HighestAngle;
if (BankScreen = True) then
begin
Status('Banking..')
BankOres;
BankGems;
BankTokens;
TimesBanked := TimesBanked + 1;
CloseBank;
ProgressReport;
end else
begin
Status('Error. Did not open bank.');
Writeln('Error. Did not open bank. Player is lost.');
LogOut;
NextPlayer(False);
end;
end;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~WALKING TO THE MINE~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

procedure CheckMMRockColor;
begin
if(Not(FindMMColor(x,y,MMRockColor)))then
begin
MMRockColor := FindRockColor;
CheckRockColor;
end;
end;

procedure LeavingFally;
begin
Status('Leaving the bank..');
TheOtherColor:=FindFallyRoadColor;
RadialRoadWalk(TheOtherColor,240,285,45,2,2);
WaitAndCheckFally;
Status('Leaving Fally...');
repeat
RadialRoadWalk(TheOtherColor,200,150,55,2,2);
WaitAndCheckFally;
until (FindRoadColor<>0)
TheColor := FindRoadColor;
repeat
RadialRoadWalk(TheOtherColor,200,150,55,2,2);
WaitAndCheckFally;
SetFallyGateDTM;
until (FindDTMRotated(FallyGateDTM,x,y,MMX1,MMY1,MMX2,MMY2,-Pi/2,Pi/2,0.1,WhichAngle))
Mouse(x,y,2,2,true);
FFlag(0);
Status('Left Fally');
FreeDTM(FallyGateDTM);
end;

procedure GoingToMine;
begin
TheColor := FindRoadColor;
Status('Walking to the mine..');
repeat
RadialRoadWalk(TheColor,150,270,55,2,2);
WaitAndCheck;
until (FindRockColor<>0)
MMRockColor := FindRockColor;
repeat
RadialRoadWalk(TheColor,150,270,55,2,2);
WaitAndCheck;
CheckMMRockColor;
SetIronRockDTM;
until (FindDTMRotated(IronRockDTM,x,y,MMX1,MMY1,MMX2,MMY2,-Pi/2,Pi/2,0.1,WhichAngle))
Mouse(x,y,2,2,true);
FFlag(0);
FreeDTM(IronRockDTM);
end;

procedure WalkToTheMine;
begin
LeavingFally;
GoingToMine;
end;

procedure WalkToMine;
begin
SetRun(True);
PerfectNorth;
WalkToTheMine;
end;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~PLAYER SETUP~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

procedure SetUpPlayer;
begin
ActivateClient;
Status('Setting up compass..');
HighestAngle;
PerfectNorth;
Status('Setting chat and trade..');
SetChat('hide',1);
SetChat('off',2);
SetChat('off',3);
Status('Setting run mode..');
SetRun(True);
end;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~SCRIPT SETUP~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

procedure Variables;
begin
BankAttempts1 := 0;
BankAttempts2 := 0;
OtherBankAttempts1 := 0;
OtherBankAttempts2 := 0;
TimesBanked := 0;
OresMined := 0;
GemsMined := 0;
TokensObtained := 0;
end;

procedure SetUpScript;
begin
SetUpSRL;
SetupSRLMining;
DeclarePlayers;
Variables;
LoadImages;
end;

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~MAIN LOOP~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

begin
SetUpScript;
ActivateClient;
repeat
if (not(LoggedIn)) then
begin
NextPlayer(True);
end;
SelectRock;
AdjustWaitTime;
SetUpPlayer;
FindPickHeadColor;
repeat
if(not(LoggedIn))then
Break;
AntiBans;
if ((Lowercase(Players[CurrentPlayer].Loc)) = 'falador') then
begin
WalkToMine;
Players[CurrentPlayer].loc := 'rimmington';
if (LoggedIn = false) then
begin
NextPlayer(false);
end
end;
Alignment;
MineRock;
Count;
WalkToBank;
if (LoggedIn = false) then
begin
NextPlayer(false);
end
BankStuff;
Players[CurrentPlayer].loc := 'falador';
until(TimesBanked = Players[CurrentPlayer].Integer1);
Logout;
until(AmountOfOres = OresMined);
FreeImages;
FinalProgressReport;
end.

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~CREDITS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

{By: NewToAutoing
Thanks to: All the great tutorials that helped me learn how to script,
if i named them all the list would be far too long, and i don't really
remember all of them either. And obviously, to WT-Fawaki for the
FindFastRandoms procedure, as stated at it. Also to Pentti and
Smartzkid for helping me out when i got stuck.}

——————————————————
<!– END TEMPLATE: formanswers –>

~alex~

2007-06-03 05:39:07

If this is yours I vote yes, waiting on a copy buster.

Pentti

2007-06-03 07:29:18

The script looks very cool!
I'm going to vote yes!

GoF

2007-06-03 09:00:46

I really doubt that's yours.. Waiting for YoHoJo

Pentti

2007-06-03 09:07:43

From: GoF
I really doubt that's yours.. Waiting for YoHoJo

Hmmh…. http://www.villavu.com/forum/showthread.php?t=10484?t=11748

neG

2007-06-03 09:32:00

Im 100% sure its yours.
Ive seen you helping out alot of people in the help forum.
And your defiantly dedicated to learning.
Good work man, this is VERY impressive.
Yes from me.

rkroxpunk

2007-06-03 10:13:39

yay you finally applied and don't mind GoF he just can't believe a non member is better than him :p

GoF

2007-06-03 10:51:05

I just don't browse script sections anymore, at all. Or rarely like 1 time per week. Also, I haven't released anything for months, so how do you know how good I am :p Planning to release like 5 scripts in a week once I get time to finish them :)

Oh, and as that's yours, yes :D

Only thing I didn't like is that you used quite repetitive(sp) procedures and functions like:

BankOres, BankGems, BankTokens, the same procedure with just different DTM.. Pretty much same thing with the aligning procedures and there's also 300 lines of setting DTM's but it's a nice script and deserves a yes :)

rkroxpunk

2007-06-03 11:43:46

From: GoF
I just don't browse script sections anymore, at all. Or rarely like 1 time per week. Also, I haven't released anything for months, so how do you know how good I am :p Planning to release like 5 scripts in a week once I get time to finish them :)

Oh, and as that's yours, yes :D

Only thing I didn't like is that you used quite repetitive(sp) procedures and functions like:

BankOres, BankGems, BankTokens, the same procedure with just different DTM.. Pretty much same thing with the aligning procedures and there's also 300 lines of setting DTM's but it's a nice script and deserves a yes :)


heh i was just jking with ya man and yes it most definately deserves a yes. First app I've seen that uses DDTM's

belgin fish

2007-06-03 12:39:03

Looks like you know most of the basics its a yes from me :D

n3ss3s

2007-06-03 15:50:11

Well, I think you dont have to wait for YoHoJo because if you vote yes and YoHoJo comes and says busted,
the app is still failed. Yes from me, I hope its urs. Its actually quite a good script.

JAD

2007-06-03 15:55:11

I REALLY think this is copied.. Trying to bust, but I don't have the skillz YoHoJo has.. :p

I don't think he should be let in until YoHoJo approves definitely. He learned VERY fast if this is all his, but I still doubt it is.



Edit: hmmm…


if (Result = true) then
DidRandomHappen := true;

My idea used in my scripts in the FindFastRandoms to break out of a loop I had… Hmm. I can't seem to find anything though!

NewToAutoing

2007-06-03 18:17:47

I guarentee you this is mine :( but if you want to wait to be sure i understand. If it helps at all i have all the previous verisions i made going all the way back to when it was just a powerminer..Some of which i'm not sure i even released (because i would skip certain ones when i updated it twice in one day) And i just had plenty of time on my hands and i'm a fast learner. Also yeah i know some of the parts are longer than necessary, i never really went back to see if i could improve them at all after i had learned more and those parts are some of the older sections that i made (like the banking part) Thank you to everyone who believes me and i kind of understand why some of you don't.

Also..if i wasn't supposed to post then i'm sorry but i didn't see anything saying i shouldn't

Edit: Jad, while i don't remember looking at any of your scripts to guide me i do remember looking at a tutorial or two by you. Perhaps i got it from there? If so, sorry i must've forgotten to credit you :redface:

Edit2: Yes, i got it from your taking apart a script tutorial, but i only copy pasted that part as i thought it was part of the FindFastRandoms procedure. I see now it was something you added in, and i apologize. Also, i don't think i even use it in my script to do anything O_o

JAD

2007-06-03 19:31:37

From: NewToAutoing
I guarentee you this is mine :( but if you want to wait to be sure i understand. If it helps at all i have all the previous verisions i made going all the way back to when it was just a powerminer..Some of which i'm not sure i even released (because i would skip certain ones when i updated it twice in one day) And i just had plenty of time on my hands and i'm a fast learner. Also yeah i know some of the parts are longer than necessary, i never really went back to see if i could improve them at all after i had learned more and those parts are some of the older sections that i made (like the banking part) Thank you to everyone who believes me and i kind of understand why some of you don't.

Also..if i wasn't supposed to post then i'm sorry but i didn't see anything saying i shouldn't

Edit: Jad, while i don't remember looking at any of your scripts to guide me i do remember looking at a tutorial or two by you. Perhaps i got it from there? If so, sorry i must've forgotten to credit you :redface:

Edit2: Yes, i got it from your taking apart a script tutorial, but i only copy pasted that part as i thought it was part of the FindFastRandoms procedure. I see now it was something you added in, and i apologize. Also, i don't think i even use it in my script to do anything O_o


No No No, that's ok. Np, your allowed to use that. That randoms procedure wasn't even mine… :p I just pointed it out because I saw it, that's all.

And you may not have copied this, we have gotten a LOT of copied apps lately though so I'm just being cautious.

NewToAutoing

2007-06-03 19:44:14

Glad that's clear up, and yeah i kind of thought that would be the reason. Dunno why somebody would try to copy for an app with such good copybusters though lol. Also, i just wrote up a quick change to the bank part (I made it very quickly though so i dunno if it's good. I wanna test it another time or two then i'll edit it and put it here. Threw in a little bit of randomness to the order in which items were banked while i was at it.

Actually it seems like i'm unable to log in to test it O_o Getting a "Unable to connect. Login server offline." I'll just put it here now.

procedure RandomBanking;
begin
case Random(3) of
0: WhichDTM := OreDTM;
1: WhichDTM := GemDTM;
2: WhichDTM := TokenDTM;
end;
end;

procedure BankStuff;
begin
if (BankScreen = True) then
begin
if (FindDTM(OreDTM,x,y,MIX1,MIY1,MIX2,MIY2)) or
(FindDTM(GemDTM,x,y,MIX1,MIY1,MIX2,MIY2)) or
(FindDTM(TokenDTM,x,y,MIX1,MIY1,MIX2,MIY2))then
begin
repeat
RandomBanking;
if (FindDTM(WhichDTM,x,y,MIX1,MIY1,MIX2,MIY2)) then
begin
Mouse(x,y,5,5,false);
Wait(100+random(100));
ChooseOptionEx('ll')
Wait(600+random(600));
end;
until(not(FindDTM(OreDTM,x,y,MIX1,MIY1,MIX2,MIY2))) and
(not(FindDTM(GemDTM,x,y,MIX1,MIY1,MIX2,MIY2))) and
(not(FindDTM(TokenDTM,x,y,MIX1,MIY1,MIX2,MIY2)))
end;
TimesBanked := TimesBanked + 1;
CloseBank;
ProgressReport;
end else
begin
Status('Error. Did not open bank.');
Writeln('Error. Did not open bank. Player is lost.');
LogOut;
NextPlayer(False);
end;
end;

I'll go back and look at the aligning procedures and see what i can do to those since i have nothing else to do right now except wait :p

Rune Hacker

2007-06-03 20:46:29

I vote yes, extremely long script, im used to apps wit hvery short scripts, but this is amazing compared to them. Where did you learn to make subpoints though and wha tare they for???? I also would love to see someone test it and see how long it can go heh.

Bobarkinator

2007-06-03 21:47:12

Subpoints are part of dynamic DTM's. Go here :http://www.villavu.com/forum/showthread.php?t=10615?t=11886&highlight=Paths

Fakawi is trying to do some stuff with them.

NewToAutoing

2007-06-03 22:03:00

I learned about it from Fakawi's tutorial in the advanced section of tutorial island, i'll post the link in a sec.

Edit: Here it is: http://www.villavu.com/forum/showthread.php?t=10008

rkroxpunk

2007-06-04 00:53:54

From: JAD
I REALLY think this is copied.. Trying to bust, but I don't have the skillz YoHoJo has.. :p

I don't think he should be let in until YoHoJo approves definitely. He learned VERY fast if this is all his, but I still doubt it is.



Edit: hmmm…


if (Result = true) then
DidRandomHappen := true;

My idea used in my scripts in the FindFastRandoms to break out of a loop I had… Hmm. I can't seem to find anything though!


I can tell you this is not copied :D…..firstly it's been in free scripts section for a while so someone would have noticed it most likely by now if it was copied.
Secondly there isn't another Rim miner that uses SRL out so where could he copy it from. Thirdly it's relatively new as it uses DDTM's and they were only available since Divi.

Plus I've had conversations and seen this guy talking about it stuff and he know's what he's on about.

Some people just pick things up really quickly and apparently he's one of them.

Besides i've seen better scripts than this from people who have been here for less time then he has. Just use some common sense. There's being cautious and then there's being too cautious……

WT-Fakawi

2007-06-04 08:35:43

Accepted. Welcome.