SRL Archive - Archive

bugger0001 - SRL Member Application


bugger0001

2009-06-02 20:11:21

How Long have You Played Runescape?
4 Year(s)


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?



What is your general programming knowledge?
I know Pascal, Perl, C, C++, Basic, PHP, Java, JS, Delphi and so on, but I can PHP, C++, JS and a little Pascal


Are you a member of any other communities?
Nope


Tell us about yourself…
From: bugger0001
Um, I'm a 19 yo student/musician/chess player/chees lover :p
Currently I'm studying Informatics(math) and playing '60s dance music in a band that has a different name on every gig :D



Please show us one (or multiple) of your scripts.
{It's my first script, but as quite a few people here told me I should apply with it,
I thought I'd just give it a go and see, what the majority of SRL Members
think about it :p}
program RimmBugger;
{.include SRL/SRL/Misc/Smart.scar}
{.include SRL/SRL.scar}
{.include SRL/SRL/Skill/Mining.scar}

var
BankDTM, RimRCDTM, FalRCDTM, MineDTM, MineDTM2, PickDTM, OreDTM :Integer;
Loads, PlayerLoads, OresGot, Ores :Integer;
ExpGot, Exp: Extended;
x, y, I :Integer;
PickWielded :Boolean;

procedure DeclarePlayers;
begin
HowManyPlayers := 2;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := 'username';
Players[0].Pass := 'password';
Players[0].Nick := 'sern';
Players[0].Pin := ''; //Keep empty if u don't have one ;)
Players[0].Active := True;
Players[0].BoxRewards := ['']; //Keep empty if you don't know what it's for ;)
Players[0].Strings[0] := 'iron'; //Must be 'copper' or 'iron', always lowercase ;)
Players[0].Integers[0] := 10; //How many loads you want this player to do?

Players[1].Name := 'username';
Players[1].Pass := 'password';
Players[1].Nick := 'sern';
Players[1].Pin := ''; //Keep empty if u don't have one ;)
Players[1].Active := True;
Players[1].BoxRewards := ['']; //Keep empty if you don't know what it's for ;)
Players[1].Strings[0] := 'iron'; //Must be 'copper' or 'iron', always lowercase ;)
Players[1].Integers[0] := 10; //How many loads you want this player to do?
end;

procedure LoadStaticDTMs;
begin
BankDTM := DTMFromString('78DA6394606060506640017FFE30311801694' +
'620FE0F048C32F8D58000A30A116A0408AB010068360DA9');

PickDTM := DTMFromString('78DA63EC606660C860644006864A6C0C72401' +
'A24FA1F0818DB806AA251D540646124906E05AA8927A06632504D' +
'1201354D4035A504D44C216C1700EE350A31');
OreDTM := DTMFromString('78DA6314666060106140038C4824905605120' +
'204D480CC6127A006242F4B408D10905022A04611484813502306' +
'242409A81127EC2F00E3380179');
end;

procedure FreeStaticDTMs;
begin
FreeDTM(BankDTM);
FreeDTM(PickDTM);
FreeDTM(OreDTM);
end;

procedure SetRRDTM(RoadColor, RockColor: integer);
var
RRDMP: TDTMPointDef; //mainpoint
RRDSP: Array[0..4] of TDTMPointDef; //subpoint
RRDTM: TDTM; //type
begin
if (RoadColor = 0) or (RockColor = 0) then
begin
writeln('Autocolor failed, so did the DTM');
exit;
end;
RRDMP.x := 26;
RRDMP.y := 22;
RRDMP.areasize := 1;
RRDMP.areashape := 0;
RRDMP.color := RoadColor;
RRDMP.tolerance := 10;
RRDSP[0].x := 7;
RRDSP[0].y := 13;
RRDSP[0].areasize := 1;
RRDSP[0].areashape:= 0;
RRDSP[0].color := RoadColor;
RRDSP[0].tolerance:= 10;
RRDSP[1].x := 56;
RRDSP[1].y := 18;
RRDSP[1].areasize := 1;
RRDSP[1].areashape:= 0;
RRDSP[1].color := RoadColor;
RRDSP[1].tolerance:= 10;
RRDSP[2].x := 1;
RRDSP[2].y := 40;
RRDSP[2].areasize := 1;
RRDSP[2].areashape:= 0;
RRDSP[2].color := RoadColor;
RRDSP[2].tolerance:= 10;
RRDSP[3].x := 14;
RRDSP[3].y := 1;
RRDSP[3].areasize := 1;
RRDSP[3].areashape:= 0;
RRDSP[3].color := RockColor;
RRDSP[3].tolerance:= 10;
RRDSP[4].x := 22;
RRDSP[4].y := 2;
RRDSP[4].areasize := 1;
RRDSP[4].areashape:= 0;
RRDSP[4].color := 543523;
RRDSP[4].tolerance:= 50;

RRDTM.MainPoint := RRDMP;
RRDTM.SubPoints := RRDSP;
RimRCDTM := AddDTM(RRDTM);
end;

function SetFRDTM(RoadColor, RockColor: integer) :boolean;
var
FRDMP: TDTMPointDef; //mainpoint
FRDSP: Array[0..3] of TDTMPointDef; //subpoint
FRDTM: TDTM; //type
begin
if (RoadColor = 0) or (RockColor = 0) then
begin
Writeln('Autocolor failed, so did the DTM');
Result := False;
exit;
end;
FRDMP.x := 37;
FRDMP.y := 57;
FRDMP.areasize := 1;
FRDMP.areashape := 0;
FRDMP.color := RoadColor;
FRDMP.tolerance := 10;
FRDSP[0].x := 1;
FRDSP[0].y := 55;
FRDSP[0].areasize := 1;
FRDSP[0].areashape:= 0;
FRDSP[0].color := RoadColor;
FRDSP[0].tolerance:= 10;
FRDSP[1].x := 67;
FRDSP[1].y := 76;
FRDSP[1].areasize := 1;
FRDSP[1].areashape:= 0;
FRDSP[1].color := RoadColor;
FRDSP[1].tolerance:= 10;
FRDSP[2].x := 34;
FRDSP[2].y := 33;
FRDSP[2].areasize := 1;
FRDSP[2].areashape:= 0;
FRDSP[2].color := RoadColor;
FRDSP[2].tolerance:= 10;
FRDSP[3].x := 32;
FRDSP[3].y := 1;
FRDSP[3].areasize := 1;
FRDSP[3].areashape:= 0;
FRDSP[3].color := RockColor;
FRDSP[3].tolerance:= 10;

FRDTM.MainPoint := FRDMP;
FRDTM.SubPoints := FRDSP;
FalRCDTM := AddDTM(FRDTM);
Result := True;
end;

function SetRMDTM(RockColor, StoneColor: integer): boolean;
var
RMDMP: TDTMPointDef; //mainpoint
RMDSP: Array[0..3] of TDTMPointDef; //subpoint
RMDTM: TDTM; //type
begin
if (RockColor = 0) or (StoneColor = 0) then
begin
Writeln('Autocolor failed, so did the DTM');
Result := False
Exit;
end;
RMDMP.x := 16;
RMDMP.y := 7;
RMDMP.areasize := 1;
RMDMP.areashape := 0;
RMDMP.color := RockColor;
RMDMP.tolerance := 5;
RMDSP[0].x := 32;
RMDSP[0].y := 1;
RMDSP[0].areasize := 1;
RMDSP[0].areashape:= 0;
RMDSP[0].color := StoneColor;
RMDSP[0].tolerance:= 5;
RMDSP[1].x := 23;
RMDSP[1].y := 13;
RMDSP[1].areasize := 1;
RMDSP[1].areashape:= 0;
RMDSP[1].color := StoneColor;
RMDSP[1].tolerance:= 5;
RMDSP[2].x := 1;
RMDSP[2].y := 11;
RMDSP[2].areasize := 1;
RMDSP[2].areashape:= 0;
RMDSP[2].color := StoneColor;
RMDSP[2].tolerance:= 5;
RMDSP[3].x := 4;
RMDSP[3].y := 15;
RMDSP[3].areasize := 1;
RMDSP[3].areashape:= 0;
RMDSP[3].color := StoneColor;
RMDSP[3].tolerance:= 5;
RMDTM.MainPoint := RMDMP;
RMDTM.SubPoints := RMDSP;
MineDTM := AddDTM(RMDTM);
Result := True;
end;

procedure SetRMDTM2(RockColor, StoneColor: integer);
var
RMDMP2: TDTMPointDef; //mainpoint
RMDSP2: Array[0..3] of TDTMPointDef; //subpoint
RMDTM2: TDTM; //type
begin
if (RockColor = 0) or (StoneColor = 0) then
begin
Writeln('Autocolor failed, so did the DTM');
Exit;
end;
RMDMP2.x := 5;
RMDMP2.y := 23;
RMDMP2.areasize := 1;
RMDMP2.areashape := 0;
RMDMP2.color := RockColor;
RMDMP2.tolerance := 5;
RMDSP2[0].x := 5;
RMDSP2[0].y := 15;
RMDSP2[0].areasize := 1;
RMDSP2[0].areashape:= 0;
RMDSP2[0].color := RockColor;
RMDSP2[0].tolerance:= 5;
RMDSP2[1].x := 1;
RMDSP2[1].y := 28;
RMDSP2[1].areasize := 1;
RMDSP2[1].areashape:= 0;
RMDSP2[1].color := RockColor;
RMDSP2[1].tolerance:= 5;
RMDSP2[2].x := 14;
RMDSP2[2].y := 34;
RMDSP2[2].areasize := 1;
RMDSP2[2].areashape:= 0;
RMDSP2[2].color := RockColor;
RMDSP2[2].tolerance:= 5;
RMDSP2[3].x := 16;
RMDSP2[3].y := 1;
RMDSP2[3].areasize := 1;
RMDSP2[3].areashape:= 0;
RMDSP2[3].color := StoneColor;
RMDSP2[3].tolerance:= 5;
RMDTM2.MainPoint := RMDMP2;
RMDTM2.SubPoints := RMDSP2;
MineDTM2 := AddDTM(RMDTM2);
end;

procedure Walking;
begin
If not LoggedIn then Exit;
FFlag(10);
Wait(1500+Random(1000));
end;

procedure AntiBan;
begin
if not LoggedIn then Exit;
case (Random(200)) of
1, 165 : RandomRClick;
44, 125 : BoredHuman;
84, 85 : PickupMouse;
124, 45 : GameTab(1+Random(14));
164, 2 : begin
HoverSkill('Mining', False);
Wait(100 + Random(100));
GameTab(4);
end;
end;
end;

function FindRandoms: Boolean;
begin
if not LoggedIn then Exit;
Result := FindNormalRandoms;
if (FindFight) then
begin
RunAway('s', True, 1, 6000+Random(4000));
Result := True;
end;
end;

function PickWhere: integer;
begin
GameTab(4);
If not FindDTM(PickDTM, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Wait(1000+Random(1000));
GameTab(5);
If not FindDTM(PickDTM, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Writeln('Did not find pick');
Result := 0;
LogOut;
Exit;
end;
Writeln('Pick wielded');
Result := 1;
Exit;
end;
Writeln('Pick in Inv');
Result := 2;
end;

function CountOre: Integer;
begin
if not LoggedIn then exit;
Result := CountItemsIn('inv', 'dtm', OreDTM, []);
end;

procedure DoTheMine;
var
Index, Time: Integer;
begin
if not LoggedIn then Exit;
if FindRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Exit;
end;
If (Players[CurrentPlayer].Strings[0] = 'iron') then Index := 3;
If (Players[CurrentPlayer].Strings[0] = 'copper') then Index := 1;
I := 0;
If not FindObjRock(x, y, Index) and not FindRandoms then
begin
MarkTime(Time);
repeat
Wait(250+Random(250));
if FindRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Exit;
end;
until FindObjRock(x, y, Index) or (GetSystemTime > (Time+RandomRange(60000, 120000)));
end;
If not FindObjRock(x, y, Index) then
begin
Writeln('Did not find any rocks');
LogOut;
Players[CurrentPlayer].Active := False;
Exit;
end;
MMouse(x, y, 2, 2);
if IsUpText('ine') then
begin
GetMousePos(x, y);
if FindRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Exit;
end;
Mouse(x, y, 0, 0, True);
Wait(500+Random(500));
if IsMoving(50) then
repeat
Wait(500+Random(500));
until not IsMoving(50);
MarkTime(Time);
repeat
if FindRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Exit;
end;
AntiBan;
Wait(750+Random(250));
until FindBlackChatMessage('anage') or
FindBlackChatMessage('urren') or
FindNPCChatText('ongratulations', Nothing) or
(GetSystemTime > (Time + RandomRange(7000,8000)));
end;
end;

procedure ToBank;
var
sx, sy: Integer;
begin
I := 0;
if not LoggedIn then Exit;
if FindRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Exit;
end;
MakeCompass('n');
Wait(500+Random(500));
SetRun(False);
Wait(200+Random(300));
If (Players[CurrentPlayer].Strings[0] = 'iron') then
begin
SetRMDTM(FindRockColor, FindStoneColor);
If not DTMRotated(MineDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Writeln('Did not find MineDTM, trying blindclick');
Mouse(MMCX+23, MMCY-15, 4, 4, True);
if (FindRoadColor = 0) then
begin
Writeln('Blindclick failed, switching player');
LogOut;
FreeDTM(MineDTM);
Players[CurrentPlayer].Active := False;
Exit;
end;
end;
FindRandoms;
Mouse(x, y, 3, 3, True);
FreeDTM(MineDTM);
Walking;
Wait(200+Random(300));
end;
RadialRoadWalk(FindRoadColor, 340, 400, 70, 3, 3);
Walking;
SetRRDTM(FindRoadColor, FindRockColor);
if not DTMRotated(RimRCDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
Repeat
if FindNormalRandoms then
if not LoggedIn then
begin
FreeDTM(RimRCDTM);
Players[CurrentPlayer].Active := False;
Exit;
end;
RadialRoadWalk(FindRoadColor, 340, 400, RandomRange(30, 50), 3, -2);
I := I+1;
Walking;
Until DTMRotated(RimRCDTM, x, y, MMX1, MMY1, MMX2, MMY2) or (I >= 4);
FreeDTM(RimRCDTM);
If (I >= 4) then
begin
Writeln('Did not find RimRoadCross');
LogOut;
Players[CurrentPlayer].Active := False;
Exit;
end;
Writeln('RimRoadCross at ' + IntToStr(x) + ',' + IntToStr(y) + '.');
if FindNormalRandoms then
begin
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Exit;
end;
end;
Mouse(x, y-8, 5, 3, True);
Walking
SetFRDTM(FindRoadColor, FindRockColor);
I := 0;
Repeat
if FindNormalRandoms then
if not LoggedIn then
begin
FreeDTM(FalRCDTM);
Players[CurrentPlayer].Active := False;
Exit;
end;
RadialRoadWalk(FindRoadColor, 60, 105, 70, 3, 3);
I := I+1;
Walking;
Until DTMRotated(FalRCDTM, x, y, MMX1, MMY1, MMX2, MMY2) or (I >= 5);
FreeDTM(FalRCDTM);
If (I >= 5) then
begin
Writeln('Did not find FalRoadCross');
LogOut;
Players[CurrentPlayer].Active := False;
Exit;
end;
Writeln('FalRoadCross at' + IntToStr(x) + ',' + IntToStr(y) + '.');
if FindNormalRandoms then
if not LoggedIn then Exit;
Mouse(x-6, y-8, 3, 3, True);
Walking;
I := 0;
Repeat
if FindNormalRandoms then
if not LoggedIn then Exit;
RadialRoadWalk(FindRoadColor, 345, 375, 70, 3, 3);
I := I+1;
Walking;
Until (FindFallyRoadColor <> 0) or (I >= 5);
If (I >= 5) then
begin
Writeln('Did not find Fally');
LogOut;
Players[CurrentPlayer].Active := False;
Exit;
end;
if FindNormalRandoms then
if not LoggedIn then Exit;
RadialRoadWalk(FindFallyRoadColor, 355, 390, 70, 3, 3);
I := 0;
Walking;
if not RadialRoadWalk(FindFallyRoadColor, 345, 375, RandomRange(40,60), 0, 0) then
if not RadialRoadWalk(FindFallyRoadColor, 345, 385, RandomRange(40,60), 0, 0) then
begin
Writeln('Did not find bank');
LogOut;
FreeDTM(BankDTM);
Players[CurrentPlayer].Active := False;
Exit;
end;
Walking;
Repeat
if FindRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Exit;
end;
if not RadialRoadWalk(FindFallyRoadColor, 345, 375, RandomRange(40,60), 3, 3) then
if not RadialRoadWalk(FindFallyRoadColor, 345, 385, RandomRange(40,60), 3, 3) then
begin
Writeln('Did not find bank');
LogOut;
Players[CurrentPlayer].Active := False;
Exit;
end;
I := I+1
Walking;
Until DTMRotated(BankDTM, x, y, MMX1, MMY1, MMX2, MMY2) or
FindSymbol(sx, sy, 'bank') or (I >= 5);
If I >=5 then
begin
Writeln('Did not find bank');
LogOut;
Players[CurrentPlayer].Active := False;
Exit;
end;
If not DTMRotated(BankDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
if FindRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Exit;
end;
Mouse(sx, sy, 2, 2, True);
Walking;
Writeln('Found bank using symbol');
end else
begin
if FindRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Exit;
end;
Mouse(x-3, y-8, 10, 2, True);
Walking;
Writeln('Found bank using DTM');
end;
end;

procedure InBank;
begin
if not LoggedIn then Exit;
if FindRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Exit;
end;
if not OpenBank('feb', False, False) then
if not OpenBankFast('feb') then
begin
Writeln('Could not open bank1');
LogOut;
Players[CurrentPlayer].Active := False;
Exit;;
end;
if not PinScreen and not BankScreen then
begin
Writeln('Could not open bank2');
LogOut;
Players[CurrentPlayer].Active := False;
Exit;;
end;
repeat
if PinScreen then
begin
Writeln('Found pinscreen, entering pin .');
Wait(500 + Random(200));
InPin(Players[CurrentPlayer].Pin);
end;
until BankScreen or not LoggedIn;
if not BankScreen then
begin
Writeln('Could not open bank3');
LogOut;
Players[CurrentPlayer].Active := False;
Exit;
end;
FixBank;
OresGot := CountOre
Case Players[CurrentPlayer].Strings[0] of
'iron' : begin ExpGot := (OresGot * 35); end;
'copper': begin ExpGot := (OresGot * 35 / 2); end;
end;

If Players[CurrentPlayer].Strings[0] = 'Iron' then Exp := CountOre*35;

If PickWielded then Deposit(1, 28, True);
If not PickWielded then Deposit(2, 28, True);
case Random(3) of
2: CloseBank;
end;
end;

procedure ToMine;
begin
if not LoggedIn then Exit;
if FindRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Exit;
end;
I := 0;
SetRun(True);
RadialRoadWalk(FindFallyRoadColor, 200, 230, 65, 0, 0);
Walking;
Repeat
RadialRoadWalk(FindFallyRoadColor, 165, 195, 65, 0, 0);
I := I+1;
Walking;
Until (FindRoadColor <> 0) or (I >= 3);
if I >= 3 then
begin
Writeln('Did not get out of Fally');
LogOut;
Players[CurrentPlayer].Active := False;
Exit;
end;
I := 0;
RadialRoadWalk(FindRoadColor, 160, 210, 70, 3, 3);
Walking;
If not SetFRDTM(FindRoadColor, FindRockColor) then
begin
Writeln('FallyRoadCrossDTM failed');
LogOut;
Players[CurrentPlayer].Active := False;
Exit;
end;
Repeat
if FindNormalRandoms then
if not LoggedIn then
begin
FreeDTM(FalRCDTM);
Players[CurrentPlayer].Active := False;
Exit;
end;
RadialRoadWalk(FindRoadColor, 160, 210, RandomRange(40, 60), 3, 3);
I := I+1;
Walking;
Until DTMRotated(FalRCDTM, x, y, MMX1, MMY1, MMX2, MMY2) or (I >= 4);
FreeDTM(FalRCDTM);
If (I >= 4) then
begin
Writeln('Did not find FalRoadCross');
LogOut;
Players[CurrentPlayer].Active := False;
Exit;
end;
Writeln('FalRoadCross at' + IntToStr(x) + ',' + IntToStr(y) + '.');
if FindNormalRandoms then
if not LoggedIn then Exit;
Mouse(x-6, y-6, 3, 3, True);
Walking;
I := 0;
SetRRDTM(FindRoadColor, FindRockColor);
Repeat
if FindNormalRandoms then
if not LoggedIn then
begin
FreeDTM(RimRCDTM);
Players[CurrentPlayer].Active := False;
Exit;
end;
RadialRoadWalk(FindRoadColor, 220, 300, 70, 3, 3);
I := I+1;
Walking;
Until DTMRotated(RimRCDTM, x, y, MMX1, MMY1, MMX2, MMY2) or (I >= 4);
FreeDTM(RimRCDTM);
If (I >= 4) then
begin
Writeln('Did not find RimRoadCross');
LogOut;
Players[CurrentPlayer].Active := False;
Exit;
end;
Writeln('RimRoadCross at' + IntToStr(x) + ',' + IntToStr(y) + '.');
if FindNormalRandoms then
if not LoggedIn then Exit;
Mouse(x-6, y, 3, 3, True);
Walking;
RadialRoadWalk(FindRoadColor, 180, 230, 70, 2, 2);
I := 0;
Walking;
if not SetRMDTM(FindRockColor, FindStoneColor) then
Repeat
if FindNormalRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Exit;
end;
RadialRoadWalk(FindRoadColor, 180, 270, RandomRange(30,40), 0, 0);
I := I+1;
Walking;
Until SetRMDTM(FindRockColor, FindStoneColor) or (I >=4);
If I >= 4 then
begin
Writeln('Did not find RimMine');
LogOut
FreeDTM(MineDTM);
Players[CurrentPlayer].Active := False;
Exit;
end;
I := 0;
If not DTMRotated(MineDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
Repeat
if FindNormalRandoms then
if not LoggedIn then
begin
FreeDTM(MineDTM);
Players[CurrentPlayer].Active := False;
Exit;
end;
RadialRoadWalk(FindRoadColor, 180, 270, RandomRange(30,40), 0, 0);
I := I+1;
Walking;
Until DTMRotated(MineDTM, x, y, MMX1, MMY1, MMX2, MMY2) or (I >= 2);
if I >= 2 then
begin
Writeln('Did not find RimMine');
LogOut
FreeDTM(MineDTM);
Players[CurrentPlayer].Active := False;
Exit;
end;
if FindNormalRandoms then
if not LoggedIn then
begin
FreeDTM(MineDTM);
Exit;
end;
FreeDTM(MineDTM);
Mouse(x, y+2, 2, 2, True);
Walking;
If (Players[CurrentPlayer].Strings[0] = 'iron') then
begin
SetRMDTM2(FindRockColor, FindStoneColor);
If not DTMRotated(MineDTM2, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Writeln('Did not find Iron DTM, trying blindclick');
FreeDTM(MineDTM2);
Mouse(MMCX-26, MMCY+12, 3, 3, True);
Walking;
Wait(200+Random(300));
if not FindColorTolerance(x, y, 2898783, MSX1, MSY1, MSX2, MSY2, 5) then
if not FindColorTolerance(x, y, 2898783, MSX1, MSY1, MSX2, MSY2, 20) and
not FindRandoms then
begin
Writeln('Blindclick failed, switching player');
LogOut;
Players[CurrentPlayer].Active := False;
Exit;
end;
Exit;
end;
Mouse(x, y, 3, 3, True);
Walking;
Wait(200+Random(300));
end;
end;

procedure LoadsCheck;
begin
Loads := Loads+1;
PlayerLoads := PlayerLoads+1;
Writeln('Current Plyer done ' + IntToStr(PlayerLoads) + 'loads');
If (PlayerLoads >= Players[CurrentPlayer].Integers[0]) then
begin
Writeln('Loads done! Switching players');
Wait(250);
LogOut;
Players[CurrentPlayer].Active := False;
Exit;
end;
end;

procedure Proggy;
var
IronMined, CopperMined: Extended;
begin
SRLRandomsReport;
Ores := Ores + OresGot;
Exp := Exp + ExpGot;
IronMined := (2 * Exp - 35 * Ores)/35;
CopperMined := Ores - IronMined;
Writeln('');
Writeln('|//////}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{\\\\\\|');
Writeln('|/////{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}\\\\\|');
Writeln('|//// RimmBugger BETA v1.5 \\\\|');
Writeln('|/// by bugger0001 \\\|');
Writeln('|// \\|');
Writeln('|/ \|');
if(HowManyPlayers > 1)then
Writeln(' Multiplayer, using '+IntToStr(HowManyPlayers)+' players.')
else
Writeln(' Single Player.');
Writeln(' Worked For '+ TimeRunning);
Writeln(' Loads Done ' + IntToStr(Loads));
Writeln(' Mined ' + IntToStr(Ores) + ' ores total');
if IronMined > 0 then
Writeln(' ' + FloatToStr(IronMined) + ' iron ores');
if CopperMined > 0 then
Writeln(' ' + FloatToStr(CopperMined) + ' copper ores');
Writeln(' Gained ' + FloatToStr(Exp) + 'xp total');
for I := 0 to High(Players) do
Writeln(' Player['+IntToStr(i)+'] Active: '+BoolToStr(Players[i].Active));
Writeln('| Remember to post proggys, bugs, etc on |');
Writeln('| SRL Forums! |');
Writeln('|__________________________________________|');
end;

Procedure MainLoop;
begin
if not (Players[CurrentPlayer].Strings[0] = 'iron') and
not (Players[CurrentPlayer].Strings[0] = 'copper') then
begin
Writeln('Please set what to mine correctly. Switching players');
LogOut;
Exit;
end;
repeat
if not LoggedIn then Exit;
if FindRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Exit;
end;
SetAngle(true);
MakeCompass('n');
Wait(200+Random(400));
If InvFull then InBank;
ToMine;
While not InvFull do
begin
if not LoggedIn then break;
DoTheMine;
end;
if FindRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Exit;
end;
ToBank; // Put '{' before ToBank and '}' after ToMine
AntiBan; // and remove them from DropAll; for
InBank; // powermining ;)
LoadsCheck;
Proggy;
{DropAll;}
Wait(RandomRange(500, 1000));
until not LoggedIn;
end;

begin
SmartSetupEx(1, False, True, False);
SetTargetDC(SmartGetDC);
SetupSRL;
Loads := 0;
LoadRockRecords;
LoadStaticDTMs;
DeclarePlayers;
LoginPlayer;
repeat
PlayerLoads := 0;
If (PickWhere <> 0) then
if not (PickWhere = 1) then
begin
PickWielded := False;
end else
begin
PickWielded := True;
end;
MainLoop;
if (PlayersActive <>0) then NextPlayer(False);
until AllPlayersInactive;
FreeStaticDTMs;
Writeln('Thanks for using!')
end.

Tickyy

2009-06-02 20:51:13

Yes from me, everything looks good, you have a bit of everything… the only thing i don't like is your Progress Report.

Read some tutorials about Padr.

ShowerThoughts

2009-06-02 21:09:35

Use the Players array to store info for the progress report and create the progress report by looping though it ;).

Yes.

Quickmarch

2009-06-02 21:16:36

This:


procedure SetRRDTM(RoadColor, RockColor: integer);
var
RRDMP: TDTMPointDef; //mainpoint
RRDSP: Array[0..4] of TDTMPointDef; //subpoint
RRDTM: TDTM; //type
begin
if (RoadColor = 0) or (RockColor = 0) then
begin
writeln('Autocolor failed, so did the DTM');
exit;
end;
RRDMP.x := 26;
RRDMP.y := 22;
RRDMP.areasize := 1;
RRDMP.areashape := 0;
RRDMP.color := RoadColor;
RRDMP.tolerance := 10;
RRDSP[0].x := 7;
RRDSP[0].y := 13;
RRDSP[0].areasize := 1;
RRDSP[0].areashape:= 0;
RRDSP[0].color := RoadColor;
RRDSP[0].tolerance:= 10;
RRDSP[1].x := 56;
RRDSP[1].y := 18;
RRDSP[1].areasize := 1;
RRDSP[1].areashape:= 0;
RRDSP[1].color := RoadColor;
RRDSP[1].tolerance:= 10;
RRDSP[2].x := 1;
RRDSP[2].y := 40;
RRDSP[2].areasize := 1;
RRDSP[2].areashape:= 0;
RRDSP[2].color := RoadColor;
RRDSP[2].tolerance:= 10;
RRDSP[3].x := 14;
RRDSP[3].y := 1;
RRDSP[3].areasize := 1;
RRDSP[3].areashape:= 0;
RRDSP[3].color := RockColor;
RRDSP[3].tolerance:= 10;
RRDSP[4].x := 22;
RRDSP[4].y := 2;
RRDSP[4].areasize := 1;
RRDSP[4].areashape:= 0;
RRDSP[4].color := 543523;
RRDSP[4].tolerance:= 50;

RRDTM.MainPoint := RRDMP;
RRDTM.SubPoints := RRDSP;
RimRCDTM := AddDTM(RRDTM);
end;

function SetFRDTM(RoadColor, RockColor: integer) :boolean;
var
FRDMP: TDTMPointDef; //mainpoint
FRDSP: Array[0..3] of TDTMPointDef; //subpoint
FRDTM: TDTM; //type
begin
if (RoadColor = 0) or (RockColor = 0) then
begin
Writeln('Autocolor failed, so did the DTM');
Result := False;
exit;
end;
FRDMP.x := 37;
FRDMP.y := 57;
FRDMP.areasize := 1;
FRDMP.areashape := 0;
FRDMP.color := RoadColor;
FRDMP.tolerance := 10;
FRDSP[0].x := 1;
FRDSP[0].y := 55;
FRDSP[0].areasize := 1;
FRDSP[0].areashape:= 0;
FRDSP[0].color := RoadColor;
FRDSP[0].tolerance:= 10;
FRDSP[1].x := 67;
FRDSP[1].y := 76;
FRDSP[1].areasize := 1;
FRDSP[1].areashape:= 0;
FRDSP[1].color := RoadColor;
FRDSP[1].tolerance:= 10;
FRDSP[2].x := 34;
FRDSP[2].y := 33;
FRDSP[2].areasize := 1;
FRDSP[2].areashape:= 0;
FRDSP[2].color := RoadColor;
FRDSP[2].tolerance:= 10;
FRDSP[3].x := 32;
FRDSP[3].y := 1;
FRDSP[3].areasize := 1;
FRDSP[3].areashape:= 0;
FRDSP[3].color := RockColor;
FRDSP[3].tolerance:= 10;

FRDTM.MainPoint := FRDMP;
FRDTM.SubPoints := FRDSP;
FalRCDTM := AddDTM(FRDTM);
Result := True;
end;

function SetRMDTM(RockColor, StoneColor: integer): boolean;
var
RMDMP: TDTMPointDef; //mainpoint
RMDSP: Array[0..3] of TDTMPointDef; //subpoint
RMDTM: TDTM; //type
begin
if (RockColor = 0) or (StoneColor = 0) then
begin
Writeln('Autocolor failed, so did the DTM');
Result := False
Exit;
end;
RMDMP.x := 16;
RMDMP.y := 7;
RMDMP.areasize := 1;
RMDMP.areashape := 0;
RMDMP.color := RockColor;
RMDMP.tolerance := 5;
RMDSP[0].x := 32;
RMDSP[0].y := 1;
RMDSP[0].areasize := 1;
RMDSP[0].areashape:= 0;
RMDSP[0].color := StoneColor;
RMDSP[0].tolerance:= 5;
RMDSP[1].x := 23;
RMDSP[1].y := 13;
RMDSP[1].areasize := 1;
RMDSP[1].areashape:= 0;
RMDSP[1].color := StoneColor;
RMDSP[1].tolerance:= 5;
RMDSP[2].x := 1;
RMDSP[2].y := 11;
RMDSP[2].areasize := 1;
RMDSP[2].areashape:= 0;
RMDSP[2].color := StoneColor;
RMDSP[2].tolerance:= 5;
RMDSP[3].x := 4;
RMDSP[3].y := 15;
RMDSP[3].areasize := 1;
RMDSP[3].areashape:= 0;
RMDSP[3].color := StoneColor;
RMDSP[3].tolerance:= 5;
RMDTM.MainPoint := RMDMP;
RMDTM.SubPoints := RMDSP;
MineDTM := AddDTM(RMDTM);
Result := True;
end;

procedure SetRMDTM2(RockColor, StoneColor: integer);
var
RMDMP2: TDTMPointDef; //mainpoint
RMDSP2: Array[0..3] of TDTMPointDef; //subpoint
RMDTM2: TDTM; //type
begin
if (RockColor = 0) or (StoneColor = 0) then
begin
Writeln('Autocolor failed, so did the DTM');
Exit;
end;
RMDMP2.x := 5;
RMDMP2.y := 23;
RMDMP2.areasize := 1;
RMDMP2.areashape := 0;
RMDMP2.color := RockColor;
RMDMP2.tolerance := 5;
RMDSP2[0].x := 5;
RMDSP2[0].y := 15;
RMDSP2[0].areasize := 1;
RMDSP2[0].areashape:= 0;
RMDSP2[0].color := RockColor;
RMDSP2[0].tolerance:= 5;
RMDSP2[1].x := 1;
RMDSP2[1].y := 28;
RMDSP2[1].areasize := 1;
RMDSP2[1].areashape:= 0;
RMDSP2[1].color := RockColor;
RMDSP2[1].tolerance:= 5;
RMDSP2[2].x := 14;
RMDSP2[2].y := 34;
RMDSP2[2].areasize := 1;
RMDSP2[2].areashape:= 0;
RMDSP2[2].color := RockColor;
RMDSP2[2].tolerance:= 5;
RMDSP2[3].x := 16;
RMDSP2[3].y := 1;
RMDSP2[3].areasize := 1;
RMDSP2[3].areashape:= 0;
RMDSP2[3].color := StoneColor;
RMDSP2[3].tolerance:= 5;
RMDTM2.MainPoint := RMDMP2;
RMDTM2.SubPoints := RMDSP2;
MineDTM2 := AddDTM(RMDTM2);
end;

Read up on case's dude:


function LoadDDTM(DTM: String; RoadColor, RockColor: integer): Integer;
var
RRDMP: TDTMPointDef; //mainpoint
RRDSP: Array of TDTMPointDef; //subpoint
RRDTM: TDTM; //type

begin
if (RockColor = 0) or (StoneColor = 0) then
begin
Writeln('Autocolor failed, so did the DTM');
Result := False
Exit;
end;
case Lowercase(DTM) of
'rock 1':
begin
SetArrayLength(RRDSP, 5);
RRDMP.x := 26;
RRDMP.y := 22;
RRDMP.areasize := 1;
RRDMP.areashape := 0;
RRDMP.color := RoadColor;
RRDMP.tolerance := 10;
RRDSP[0].x := 7;
RRDSP[0].y := 13;
RRDSP[0].areasize := 1;
RRDSP[0].areashape:= 0;
RRDSP[0].color := RoadColor;
RRDSP[0].tolerance:= 10;
RRDSP[1].x := 56;
RRDSP[1].y := 18;
RRDSP[1].areasize := 1;
RRDSP[1].areashape:= 0;
RRDSP[1].color := RoadColor;
RRDSP[1].tolerance:= 10;
RRDSP[2].x := 1;
RRDSP[2].y := 40;
RRDSP[2].areasize := 1;
RRDSP[2].areashape:= 0;
RRDSP[2].color := RoadColor;
RRDSP[2].tolerance:= 10;
RRDSP[3].x := 14;
RRDSP[3].y := 1;
RRDSP[3].areasize := 1;
RRDSP[3].areashape:= 0;
RRDSP[3].color := RockColor;
RRDSP[3].tolerance:= 10;
RRDSP[4].x := 22;
RRDSP[4].y := 2;
RRDSP[4].areasize := 1;
RRDSP[4].areashape:= 0;
RRDSP[4].color := 543523;
RRDSP[4].tolerance:= 50;
RRDTM.MainPoint := RRDMP;
RRDTM.SubPoints := RRDSP;
Result := AddDTM(RRDTM);
end;
'rock 2':
begin
SetArrayLength(RRDSP, 4);
FRDMP.x := 37;
FRDMP.y := 57;
FRDMP.areasize := 1;
FRDMP.areashape := 0;
FRDMP.color := RoadColor;
FRDMP.tolerance := 10;
FRDSP[0].x := 1;
FRDSP[0].y := 55;
FRDSP[0].areasize := 1;
FRDSP[0].areashape:= 0;
FRDSP[0].color := RoadColor;
FRDSP[0].tolerance:= 10;
FRDSP[1].x := 67;
FRDSP[1].y := 76;
FRDSP[1].areasize := 1;
FRDSP[1].areashape:= 0;
FRDSP[1].color := RoadColor;
FRDSP[1].tolerance:= 10;
FRDSP[2].x := 34;
FRDSP[2].y := 33;
FRDSP[2].areasize := 1;
FRDSP[2].areashape:= 0;
FRDSP[2].color := RoadColor;
FRDSP[2].tolerance:= 10;
FRDSP[3].x := 32;
FRDSP[3].y := 1;
FRDSP[3].areasize := 1;
FRDSP[3].areashape:= 0;
FRDSP[3].color := RockColor;
FRDSP[3].tolerance:= 10;

FRDTM.MainPoint := FRDMP;
FRDTM.SubPoints := FRDSP;
Result := AddDTM(FRDTM);
end;
'rock 3':
begin
SetArrayLength(RRDSP, 4);
RMDMP.x := 16;
RMDMP.y := 7;
RMDMP.areasize := 1;
RMDMP.areashape := 0;
RMDMP.color := RockColor;
RMDMP.tolerance := 5;
RMDSP[0].x := 32;
RMDSP[0].y := 1;
RMDSP[0].areasize := 1;
RMDSP[0].areashape:= 0;
RMDSP[0].color := StoneColor;
RMDSP[0].tolerance:= 5;
RMDSP[1].x := 23;
RMDSP[1].y := 13;
RMDSP[1].areasize := 1;
RMDSP[1].areashape:= 0;
RMDSP[1].color := StoneColor;
RMDSP[1].tolerance:= 5;
RMDSP[2].x := 1;
RMDSP[2].y := 11;
RMDSP[2].areasize := 1;
RMDSP[2].areashape:= 0;
RMDSP[2].color := StoneColor;
RMDSP[2].tolerance:= 5;
RMDSP[3].x := 4;
RMDSP[3].y := 15;
RMDSP[3].areasize := 1;
RMDSP[3].areashape:= 0;
RMDSP[3].color := StoneColor;
RMDSP[3].tolerance:= 5;
RMDTM.MainPoint := RMDMP;
RMDTM.SubPoints := RMDSP;
Result := AddDTM(RMDTM);
end;
'rock 4':
begin
SetArrayLength(RRDSP, 4);
RMDMP2.x := 5;
RMDMP2.y := 23;
RMDMP2.areasize := 1;
RMDMP2.areashape := 0;
RMDMP2.color := RockColor;
RMDMP2.tolerance := 5;
RMDSP2[0].x := 5;
RMDSP2[0].y := 15;
RMDSP2[0].areasize := 1;
RMDSP2[0].areashape:= 0;
RMDSP2[0].color := RockColor;
RMDSP2[0].tolerance:= 5;
RMDSP2[1].x := 1;
RMDSP2[1].y := 28;
RMDSP2[1].areasize := 1;
RMDSP2[1].areashape:= 0;
RMDSP2[1].color := RockColor;
RMDSP2[1].tolerance:= 5;
RMDSP2[2].x := 14;
RMDSP2[2].y := 34;
RMDSP2[2].areasize := 1;
RMDSP2[2].areashape:= 0;
RMDSP2[2].color := RockColor;
RMDSP2[2].tolerance:= 5;
RMDSP2[3].x := 16;
RMDSP2[3].y := 1;
RMDSP2[3].areasize := 1;
RMDSP2[3].areashape:= 0;
RMDSP2[3].color := StoneColor;
RMDSP2[3].tolerance:= 5;
RMDTM2.MainPoint := RMDMP2;
RMDTM2.SubPoints := RMDSP2;
Result := AddDTM(RMDTM2);
end;
end;
end;

Edit: Yes from me. :)

marpis

2009-06-02 21:31:09

YES

as quickmarch already told u, combine the DDTM functions into one.
also fix the thing i told u on your mining procedure! :)

no-one can say no to this one, the best apply in a long time!

Floor66

2009-06-02 22:09:35

Finally another good app :)
YES from me, of course there's little changes and tweaks that can be done, but you show a good understanding of SCAR/SRL.

Metagen

2009-06-02 22:12:51

Excellent script. Don't listen to those people who insist cases are godsend, fuck cases… they really just arn't. Did you make this for that competition?

your proggy looks fine to me, but maybe not people who's eyes are hurt by left justified text… grow some balls people.


Don't highlight above if you have your feelings hurt easily (or ur a mean admin).

Torrent of Flame

2009-06-02 22:58:01

Metagen, cases are more efficient, reduce the code and look nice. They ARE better to use.

  if not LoggedIn then Exit;
if FindRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Exit;
end;

I don't understand why you use this for a failsafe.. If your not logged in then you exit, but then you check for randoms, but how can you find Randoms if your not logged in?

  if not LoggedIn then Exit;
begin
Players[CurrentPlayer].Active := False;
Exit;
end;

Surely that would be better?



    ToBank;                         //  Put '{' before ToBank and '}' after ToMine
AntiBan; // and remove them from DropAll; for
InBank; // powermining ;)
LoadsCheck;
Proggy;
{DropAll;}

Why not include a new boolean whether or not to Powermine or to bank? Surely it would be easier for the user?


Yes

NCDS

2009-06-02 23:18:37

You obviously know what your doing and the more you do it the better you will get.

I would suggest though that you:

1: Look through other people's script's and see how they do thing's. You can really pick up on some things by doing that.

2: Look through tutorial island quick and if you see something you don't know much about or have questions about then read them.

3: take advantage of the IRC. Great people there who are willing to help.

bugger0001

2009-06-02 23:20:57

Wow, never thought it would be good enough to apply :p

Combining the DDTM procedures/functions shouldn't be too hard if i'd use cases and arrays. I didn't bother combining them as I'm not too much into arrays yet(hope that revealed is not going to result in 90% saying NO :D).


if not LoggedIn then Exit;
if FindRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Exit;
end;
I wasn't sure if FindNormalRandoms would log out and exit the procedures/functions I wrote or only log out the char if an unsolvable random occurs :p

noidea

2009-06-02 23:39:02

Very nice.
What instrument? You sound like a trumpet player.

Naike

2009-06-02 23:46:45

Yes.

Afaik a proggie is a proggie, so don't complain about the looks ;P

Metagen

2009-06-02 23:48:10

@Torrent I want to see evidence that a case statement is more efficient (not that i really care im just in pissy mode)
@Nike <3

Torrent of Flame

2009-06-02 23:51:28

From: Metagen
@Torrent I want to see evidence that a case statement is more efficient (not that i really care im just in pissy mode)
@Nike <3


Eh, I can't provide evidence, but fine. It is easier for the person to keep track of the different DTM's. Its just overall more easy. They arent really a requirement, but they do look alot nicer (y)

bugger0001

2009-06-02 23:55:38

From: noidea
Very nice.
What instrument? You sound like a trumpet player.


Lol
I play the guitar, but can handle everything else too if needed :D

Dervish

2009-06-03 00:05:31

Misclicked No :(.

bugger0001

2009-06-03 00:12:16

Misclicked what where and how much?

senrath

2009-06-03 00:13:03

From: bugger0001
Misclicked what where and how much?


I think he's saying that he accidentally voted "No", not that your script messed up.

Home

2009-06-03 00:16:59

From: Metagen
Excellent script. Don't listen to those people who insist cases are godsend, fuck cases… they really just arn't. Did you make this for that competition?

your proggy looks fine to me, but maybe not people who's eyes are hurt by left justified text… grow some balls people.


Don't highlight above if you have your feelings hurt easily (or ur a mean admin).


Yes from me and +1 I agree with you man, of course things that people said about cases and stuff but like Padr… ( I don't use it ) Because i don't like it :)


~Home

bugger0001

2009-06-03 00:17:53

Oh…silly me…Ofcourse my script wouldn't misclick :P

Metagen

2009-06-03 00:27:33

i was just reading through your code… i quite like this


Repeat
if FindNormalRandoms then
if not LoggedIn then Exit;
RadialRoadWalk(FindRoadColor, 345, 375, 70, 3, 3);
I := I+1;
Walking;
Until (FindFallyRoadColor <> 0) or (I >= 5);

Until (FindFallyRoadColor <> 0)

bugger0001

2009-06-03 00:29:27

Well, tbh I don't…calling FindFallyRoadColor so often made it lag a bit :P
EDIT: But then again, the FFlag(NOT 0) and a wait after it kind of compensated the lag :P

Torrent of Flame

2009-06-03 00:31:09

Seriousley, I've never seen an app be accepted so quickly. For real, you could be SRL Member by tommorow.

bugger0001

2009-06-03 00:35:49

W00t? I thought the whole process takes like 2 weeks or so :S

Torrent of Flame

2009-06-03 00:39:25

From: bugger0001
W00t? I thought the whole process takes like 2 weeks or so :S


With 16-1 in about about 3 hours, I shant imagine it will take 2 weeks.

Quickmarch

2009-06-03 00:56:08

From: Torrent of Flame
With 16-1 in about about 3 hours, I shant imagine it will take 2 weeks.


About six hours: http://www.villavu.com/forum/showthread.php?t=45424 :rolleyes:

Tickyy

2009-06-03 01:08:11

From: Dr D. Dervish
Misclicked No :(.


you always can ask a mod for a little change.

Gu3st...

2009-06-03 01:08:47

Yeah, this script is awesome bugger0001, this will get you members status! :)
This is a great piece of work.

unless you copyed it from someone else (not saying that you were!! I do not belive you did copy it from someone else but people tend to do that nowadays) :(

bugger0001

2009-06-03 01:27:57

I didn't copy it, but as I've been modifying lots of old scripts there can be some similarities in the concepts but no copying. All written by myself :p

Dynamite

2009-06-03 02:06:50

From: Torrent of Flame
With 16-1 in about about 3 hours, I shant imagine it will take 2 weeks.


i got accepted in like 8 hours :)
everyone else in here is lot better scripter than me probs and i am on my phone so i am looking at others posts of problems and well.. a proggys look isnt going to stop me voting no.

yes.

T~M

Tniffoc

2009-06-03 07:53:02

Nice job. Yes from me.

Gu3st...

2009-06-03 09:50:31

From: bugger0001
I didn't copy it, but as I've been modifying lots of old scripts there can be some similarities in the concepts but no copying. All written by myself :p

Awesome :D
And this is your first script? Wow… That is impressive… :eek:

Kave

2009-06-03 09:55:30

Very nice first script, yes from me.

P1nky

2009-06-03 15:23:39

You got my vote.
GJ , looks like you know the key of scripting and can improve alot more.

You understand how to use DTM's/RRW/Finding Obj/ …ect.

So good job. YES

Nava2

2009-06-04 01:31:49

Yup, im impressed.

Check out using some custom types to shorten your code. :)

Maybe look into shortening your walking, or having the script switch to power mining using just a boolean var per player..

:)

bugger0001

2009-06-04 15:30:11

I'm not sure if the walking could be shortened as there are lots of misclicking possibilities…

And the powermining…It's just something I had in it when I first started writing this script(I started off with the mining procedure and then expanded the walking), it's not ment to be a part of the script as I don't fancy powermining :p

Nava2

2009-06-04 19:07:32

From: bugger0001
I'm not sure if the walking could be shortened as there are lots of misclicking possibilities…

And the powermining…It's just something I had in it when I first started writing this script(I started off with the mining procedure and then expanded the walking), it's not ment to be a part of the script as I don't fancy powermining :p


Uhm, you could use a record array for shortening the walking. Its not a big deal haha.

And, some people would rather power mine.. you MAY want to add that.

bugger0001

2009-06-04 22:13:15

Ok, I guess I DO have to go through arrays sooner than I thought :p

Tniffoc

2009-06-06 06:01:13

I you're looking into types like Nava said, check out the link in my signature.

ian.

2009-06-06 06:40:14

Congratulations :] Yes from me. My reasons are posted already ;]

Can't wait to see what else you can do :D

bugger0001

2009-06-06 16:40:46

Thanks!
From: 99_
Can't wait to see what else you can do :D

Well, a few days ago I made a Fally smelter to get my army's smithing up. I'm not sure if I'm going to release this as it's nothing special :p

Hobbit

2009-06-09 09:32:36

28 yes
2 no

IN!

Welcome!