SRL Archive - Archive

rikjess - SRL Member Application Form


Rikje

2007-07-29 14:33:05

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

What is the meaning to life?


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


Programming Knowledge
HTML

Other Communitys
Roenskeep.net.

How Long have You Played Runescape
3years.

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

Iam 15. live in the netherland. i have dyslectie (but i think you allready noticed that on my grammer…). I was borred of player runescape. Then i found this site. exactly i was here to get rs2 money. but now.. i just like it here. hanging around in the bbq pit :p. and the other subforums.
When you have a normal qeustion poeple like it to help you. Sometimes i have a realy dumb qeustion and they still help me. i realy like that.

Since a while i stared scripting. and realy like it! try to get things work and when it fail for a cople of times getting mad :p When that happend most of the time i walk a few round in my room and sit back after my pc and continue typing.

Untill now i have 2 scripts released. ''The Minotaur'' and a ''Fally smelter'' (from the scriting competition). the 3th script is not ready atm.

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

The Minotaur v1.2:

program Ranger;
{.include srl/srl.scar}
{.include SRL/SRL/Misc/Trade.scar}
{.include srl/srl/skill/Fighting.scar}

var
ArrowInvent, Arrowsearch, Loops, Killed, MinotaurColor : integer;
flyer, TheFlayer, MaxTolerance, Minotaur : integer;
Found : Boolean;

const
HowManyLoops = 200; // how many fights before player swith?
Procedure DeclarePlayers;

Begin;
HowManyPlayers := 2;
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := 0;

Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active :=True;
Players[0].integer1 := 2; // put 1 = accerite 2 = raphid 3 = longrange.

Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Active :=True;
Players[1].integer1 := 2;

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

procedure MinotaurColler;
begin;
MinotaurColor:=9082262; //set this to be sure.
end;

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;
end;

procedure Welcome;
begin
WriteLn(' || || [] ');
WriteLn(' || || ');
WriteLn(' ||---|| || Enjoy it! ');
WriteLn(' ||---|| || Script Name: The Minotaur Ranger! ');
WriteLn(' || || || // Made By: Rikjess ');
end;


procedure FindRandoms;
begin
FindFastRandoms;
FindNormalRandoms;
end;

procedure LoadDTM;

begin;
ArrowInvent := DTMFromString('78DA6314656060506140038C4824901600128' +
'604D47013A14602484813502306246488708F267E3500AEC00167' +
'');

end;

procedure Load;
begin
GameTab(10)
wait(800+random(300))
GameTab(11)
wait(800+random(300))
end;

procedure AntiBansz;
begin;
case Random(15) of

0: MakeCompass('S');

1: MakeCompass('E');

2: MakeCompass('W');

3: MakeCompass('N');

4: TypeSend('How ar you doing');

5: RandomRClick;

6: GameTab(1+random(10));

7: begin;
AlmostLogout;
GameTab(7);
end;

8: begin
GameTab(1 + Random(10));
wait(5000+random(2000));
GameTab(4);
end;

9: begin
HoverSkill('Range', false);
wait(3000+random(2000));
GameTab(4);
end;


10: begin
HoverSkill('hitpoints', false);
wait(4000+random(1000));
GameTab(4);
end;

11: if (FindColorTolerance(X, y, MinotaurColor, MSX1, MSY1, MSX2, MSY2,5)) then
begin;
Mouse(x,y,0,0,false)
ChooseOption(x, y, 'Examine');
end;

12: RandomRClick;

13: PickUpMouse;

14: TypeSend('you guys like it here?');

end;
end;

procedure EnquipArrowOnes;
begin;
FindRandoms;
GameTab(4);
if FindDTM(ArrowInvent,x, y,558, 210, 738, 446) then
begin;
Mouse( x, y, 2, 2,True);
Wait(1000+random(1000));
GameTab(5);
Wait(1000+random(300))
end;

if not GameTab(5) then GameTab(5);

if FindDTM(ArrowInvent,x,y,558,210,738,446) then
begin;
Wait(2000+(500));
WriteLn('arrows found')
end else
begin;
Wait(2000+(500));
WriteLn('arrows???')
AntiBansz;
NextPlayer(False);
end;
end;

procedure EnquipArrow;
begin;
FindRandoms;
GameTab(4);
if FindDTM(ArrowInvent,x, y,558, 210, 738, 446) then MMouse( x, y, 2, 2);
if IsUpText('ron') then
Mouse(x ,y, 1, 1, True);
Wait(1000+random(500));
FindRandoms;
DropTo(3,26);
end;


procedure ArrowColor;
begin
TheFlayer:= 0;
flyer := BitmapFromString(18, 5, 'z78DA8D904B0EC0200844AFE4' +
'6FAC2C4D6AEF7FA4A2E382C6DA14928922CE1373F3702D0F45897' +
'0924D255755713D3C2BF1987BADACFDACF034BAA049450FFF7036' +
'6A3DD9CFF537856B7B0B01219D23852F9FBAA17CB3ECD4EB2D525' +
'20F6F1DACAE94DD5FED584A90045250204868B850ADF31FCAEAFC' +
'32D160F10FA93766306E30');


MaxTolerance := 50;
TheFlayer := AutoColorThis(flyer, MaxTolerance, MIX1, MIY1, MIX2, MIY2);
FreeBitmap(Flyer);
Wait(2000+random(1000));
GameTAb(4);
end;

procedure TakeThatArrow;
begin;
GameTab(4)
Arrowsearch:= 0;
FindRandoms;
repeat
Arrowsearch:= Arrowsearch+ 1;
if FindObj(x, y, 'ron', TheFlayer, 2) then
begin;
mouse(x,y,2,2,True);
Flag;
Wait(500);
end
until(Arrowsearch = 7)
end;

procedure StartFight;
begin;
found:=False;
GameTab(4);
Wait(1000+random(500));
FindRandoms;
repeat;
begin;
FindRandoms;
if FindObj3(x, y, 'inotaur', MinotaurColor, 10) then
begin;
If IsFightAt(x, y) Then StartFight;
Found:=True;
if Random(5)=1 then
begin;
Mouse(x, y+(2), 2, 2, False);
ChooseOption(x,y,'ttack');
end else
Mouse(x, y+(2), 1, 1, true);
end;
end;
until(found = True);
FindRandoms;
AntiBansz;
Killed:=Killed+ 1;
end;

procedure GiveStats;
begin;
Writeln('[]-------------------------------------------[]');
Writeln('Worked For : ' + ScriptTime2(2))
Writeln('You Have '+ IntToStr(Killed) + ' Minotaurs Killed!');
WriteLn('Please post the proggy and the bugs you found ^^');
Writeln('[]--------------------------------------------[]');
end;

procedure FightStyle;
begin;
GameTab(1);
SetFightMode(Players[CurrentPlayer].integer1);
end;

function OutOfArrows:Boolean;
begin;
if InChat('quiver')then
begin;
WriteLn('Out of arrows');
EnquipArrow;
TakeThatArrow;
EnquipArrow;
FindRandoms;
Wait(5000);
Result:=True;
FindRandoms;
NextPlayer(false);
end;
end;

procedure FightLoopz0r;
var Fight: Integer;
begin;
FindRandoms;
if (not(loggedIn)) then Nextplayer(false);
Loops:=Loops+ 1;
StartFight;
MarkTime(Fight);
Repeat;
if FindFastRandoms then Break;
if FindNormalRandoms then Break;
if OutOfArrows then Exit;
HandleTrade;
Until(timefrommark(Fight)>7000);
TakeThatArrow;
EnquipArrow;
GiveStats;
SRLRandomsReport;
FindRandoms;
end;

procedure getscript;
begin;
DeclarePlayers;
CurrentPlayer := Currentplayer;
LoginPlayer;
MakeCompass('N');
MouseSpeed := 12;
end;

begin;
SetupSRL;
ClearDebug;
Welcome;
Wait(2000);
BenMouse:=True;
MouseSpeed := 5;
SRLRandomsReport;
Activateclient;
GetScript;
LoadDTM;
Load;
MinotaurColler;
repeat;
SRlRandomsReport;
Loops:= 0;
SetRun(true);
FindRandoms;
EnquipArrowOnes
ArrowColor;
HighestAngle;
FightStyle;
repeat;
FightLoopz0r;
until(loops = HowManyLoops);
TakeThatArrow;
repeat
Wait(1000);
until(not(LoggedIn));
NextPlayer(true);
until(false);
end.

The Fally Smelter:

{******************************************************************************}
{ Fally Smelter.
Made by: Rikjess

Can smelt any bar in fallador furnace. Start at any bank in Fallador.

Tip: start at east bank. otherways one of those lpw screen can mess up the script...

Player String1 is the bars that player need to smelt case of:
Bronze
Iron
Silver
Steel
Gold
Mithril
Adamant
Rune

Note: to much bugs atm! }
{******************************************************************************}

program Fally;
{.include srl/srl.scar}
{.include SRL/SRL/Misc/Trade.scar}
{.include SRL/SRL/Skill/Smithing.scar}

var
Loops, Trying, OreDtm, OreSmeling, TheRoadColor, D, I, FurnaceBitmap : integer;
HouseColor, Clicked, FurnaceTry, FallyRoad, FurnaceWest, FurnaceEast : integer;
MaxTolerance, HouseColorstring, DTMArea, DTMTol, TheMark : integer;
Found, Click : Boolean;
Active : string;

var FurnaceWestMP: TDTMPointDef;
var FurnaceWestSP: array[0..2] of TDTMPointDef;
var FurnaceWestDTMSkel: TDTM;
var FurnaceEastMP: TDTMPointDef;
var FurnaceEastSP: array[0..3] of TDTMPointDef;
var FurnaceEastDTMSkel: TDTM;


const
HowManyLoops = 3; //Walks to the Furnace.
ClearDeBugBox = False; //Clear the de bugbox before posting proggy? there will be writeln a lot in debugbox.
Procedure DeclarePlayers;

Begin;
HowManyPlayers := 2;
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := 0;

Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active :=True;
Players[0].Loc := 'Bank';
Players[0].String1 :='Iron'; //type of bars

Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Active :=True;
Players[1].Loc := 'Bank';
Players[1].String1 :='Iron';

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

procedure DTM;
begin;
OreDtm := DTMFromString('78DA6354616060106140038C48249006C9CB1' +
'050230B249408A8D10212D204D4E8020941026A048950C30F2424' +
'09A89100128A04D480C24716BF1A006AE7020A');

Begin
FurnaceEastMP.x:=623;
FurnaceEastMP.y:=122;
FurnaceEastMP.areasize:=1;
FurnaceEastMP.areashape:=0;
FurnaceEastMP.color:=0;
FurnaceEastMP.tolerance:=255;

FurnaceEastSP[0].x:=600;
FurnaceEastSP[0].y:=71;
FurnaceEastSP[0].areasize:=DTMArea;
FurnaceEastSP[0].areashape:=0;
FurnaceEastSP[0].color:=TheRoadColor;
FurnaceEastSP[0].tolerance:=DTMTol;

FurnaceEastSP[1].x:=615;
FurnaceEastSP[1].y:=78;
FurnaceEastSP[1].areasize:=DTMArea;
FurnaceEastSP[1].areashape:=0;
FurnaceEastSP[1].color:=TheRoadColor;
FurnaceEastSP[1].tolerance:=DTMTol;

FurnaceEastSP[2].x:=619;
FurnaceEastSP[2].y:=54;
FurnaceEastSP[2].areasize:=DTMArea;
FurnaceEastSP[2].areashape:=0;
FurnaceEastSP[2].color:=HouseColor;
FurnaceEastSP[2].tolerance:=DTMTol;

FurnaceEastSP[3].x:=614;
FurnaceEastSP[3].y:=104;
FurnaceEastSP[3].areasize:=DTMArea;
FurnaceEastSP[3].areashape:=0;
FurnaceEastSP[3].color:=HouseColor;
FurnaceEastSP[3].tolerance:=DTMTol;

FurnaceEastDTMSkel.MainPoint:=FurnaceEastMP;
FurnaceEastDTMSkel.SubPoints:=FurnaceEastSP;
FurnaceEast:=AddDTM(FurnaceEastDTMSkel);
End;

Begin
FurnaceWestMP.x:=680;
FurnaceWestMP.y:=124;
FurnaceWestMP.areasize:=1;
FurnaceWestMP.areashape:=0;
FurnaceWestMP.color:=0;
FurnaceWestMP.tolerance:=255;

FurnaceWestSP[0].x:=701;
FurnaceWestSP[0].y:=111;
FurnaceWestSP[0].areasize:=DTMArea;
FurnaceWestSP[0].areashape:=0;
FurnaceWestSP[0].color:=TheRoadColor;
FurnaceWestSP[0].tolerance:=DTMTol;

FurnaceWestSP[1].x:=670;
FurnaceWestSP[1].y:=89;
FurnaceWestSP[1].areasize:=DTMArea;
FurnaceWestSP[1].areashape:=0;
FurnaceWestSP[1].color:=TheRoadColor;
FurnaceWestSP[1].tolerance:=DTMTol;

FurnaceWestSP[2].x:=669;
FurnaceWestSP[2].y:=103;
FurnaceWestSP[2].areasize:=DTMArea;
FurnaceWestSP[2].areashape:=0;
FurnaceWestSP[2].color:=HouseColor;
FurnaceWestSP[2].tolerance:=DTMTol;

FurnaceWestDTMSkel.MainPoint:=FurnaceWestMP;
FurnaceWestDTMSkel.SubPoints:=FurnaceWestSP;
FurnaceWest:=AddDTM(FurnaceWestDTMSkel);
end;
end;

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;
end;

procedure Welcome;
begin
WriteLn(' || || [] ');
WriteLn(' || || ');
WriteLn(' ||---|| || Enjoy it! ');
WriteLn(' ||---|| || Script Name: Fally Smelter! ');
WriteLn(' || || || // Made By: Rikjess ');
end;


procedure FindRandoms;
begin
FindFastRandoms;
FindNormalRandoms;
end;

procedure Proggy;
begin;
if ClearDeBugBox then
ClearDebug;
Writeln('[]-------------------------------------------[]');
Writeln('Worked For : ' + ScriptTime2(2))
Writeln('');
WriteLn('Please post the proggy and the bugs you found ^^');
Writeln('[]--------------------------------------------[]');
begin
for I := 0 To HowManyPlayers - 1 do
begin
if Players[i].Active = True then
Active := 'True'
else
Active := 'False';
WriteLn((IntToStr(I)) + ' : ' + Players[I].Name + ' = ' +
Active + ' |Loc: ' + Players[I].Loc + ' |' + IntToStr(Players[I].Integer1)
+ ' Bars Smolten.');
end;
end;
WriteLn('[]--------------------------------------------[]');
SRLRandomsReport;
end;

procedure AntiBansz;
begin;
case Random(14) of

0: MakeCompass('S');

1: MakeCompass('E');

2: MakeCompass('W');

3: MakeCompass('N');

4: begin
HoverSkill('magic', false);
wait(1000+random(2000));
GameTab(4);
end;

5: RandomRClick;

6: GameTab(1+random(10));

7: AlmostLogout;

8: begin
GameTab(1 + Random(10));
wait(2000+random(2000));
GameTab(4);
end;

9: begin
HoverSkill('mining', false);
wait(1000+random(2000));
GameTab(4);
end;


10: begin
HoverSkill('smithing', False);
wait(1000+random(1000));
GameTab(4);
end;

11: begin;
if(FindObj(x, y, 'Furnace', 4144964, 40))then
begin;
Mouse(x,y,0,0,false);
ChooseOption(x, y, 'Examine');
end;
end;

12: HoverSkill('attack', False);

13: PickUpMouse;


end;
GameTab(4);
end;


procedure Chat; //a small chat thing. for new lvl message and stuff.
begin;
Click:= False;
if ClickToContinue then
begin;
Click:= True;
Clicked:= Clicked+ 1;
Wait(1000);
HighestAngle;
end;
if (Clicked = 3) then
begin;
WriteLn('Not high anough lvl!');
NextPLayer(false);
end;
{-----------}
if IsChatBlackTextAnyLine(+Players[currentplayer].Nick) then Exit;
if FindChatText('lvl') or FindChatText('mithing') then
begin;
case Random(3) of
0: TypeSend(IntToStr(Players[CurrentPlayer].level[16]));
1: TypeSend('smithing' +IntToStr(Players[CurrentPlayer].level[16])+' here');
2: TypeSend(IntToStr(Players[CurrentPlayer].level[16])+' here');
end;
Wait(3000);
end;

if FindChatText('ing lvl') or FindChatText('ining') then
begin;
case Random(3) of
0: TypeSend(IntToStr(Players[CurrentPlayer].level[15]));
1: TypeSend('Mining'+IntToStr(Players[CurrentPlayer].level[15])+' here ^^')
2: TypeSend(IntToStr(Players[CurrentPlayer].level[15])+'here');
end;
Wait(3000);
end;

if FindChatText('hi') or FindChatText('hello') then
begin;
case Random(3) of
0: TypeSend('eey');
1: TypeSend('hello^^');
2: TypeSend('yo');
end;
Wait(3000);
end;

if FindChatText('you just advanced') then
begin;
case Random(3) of
0: TypeSend('Yea new lvl!');
1: TypeSend('w00t lvl up ^^');
2: TypeSend('lvl up! =]');
end;
Wait(3000);
end;
end;

procedure HouseColorThing; //Auto road color and the floor colors of a house.
begin;

HouseColorString := BitmapFromString(11, 3, 'z78DA733276327' +
'4B4701AE22400B3052D82');
MaxTolerance := 50;
HouseColor := AutoColorThis(HouseColorstring, MaxTolerance, MMX1, MMY1, MMX2, MMY2);
FreeBitmap(HouseColorstring);

FallyRoad := BitmapFromString(4, 10, 'z78DAB33030773133B118' +
'3124007F403409');
MaxTolerance := 50;
TheRoadColor := AutoColorThis(FallyRoad, MaxTolerance, MMX1, MMY1, MMX2, MMY2);
FreeBitmap(FallyRoad);
end;

procedure WithOre; //Take the correct ores from the bank.
begin
LoadSmithingBitMaps;
case Players[CurrentPlayer].String1 of

'Bronze':begin;
WriteLn('Get stuff for a bronze bar');
if FindBitmapToleranceIn(TinOre,x,y,MSX1,MSY1,MSX2,MSY2,10) then
begin;
mouse(x,y,2,2,False);
PopUp('Withdraw X');
Wait(2000+random(1000));
TypeSend('14');
Wait(2000);
if FindBitmapToleranceIn(CopperOre,x,y,MSX1,MSY1,MSX2,MSY2,10) then
begin;
mouse(x,y,2,2,False);
PopUp('Withdraw X');
Wait(2000+random(1000));
TypeSend('14');
end;
end;
end;



'Iron':begin;
WriteLn('Get Stuf for a iron bar.');
if FindBitmapToleranceIn(IronOre,x,y,MSX1,MSY1,MSX2,MSY2,10) then
begin;
mouse(x,y,2,2,False);
PopUp('Withdraw All');
end;
end;

'Silver':begin;
WriteLn('Get the stuff for a silver bar.');
if FindBitmapToleranceIn(SilverOre,x,y,MSX1,MSY1,MSX2,MSY2,10) then
begin;
mouse(x,y,2,2,False);
PopUp('Withdraw All');
end;
end;

'Steel': begin;
WriteLn('Get the stuff for a silver bar.');
if FindBitmapToleranceIn(IronOre,x,y,MSX1,MSY1,MSX2,MSY2,10) then
begin;
mouse(x,y,2,2,False);
PopUp('Withdraw X');
Wait(2000+random(1000));
TypeSend('9');
Wait(2000);
if FindBitmapToleranceIn(CoalOre,x,y,MSX1,MSY1,MSX2,MSY2,10) then
begin;
mouse(x,y,2,2,False);
PopUp('Withdraw X');
Wait(2000+random(1000));
TypeSend('18');
end;
end;
end;

'Gold': begin;
WriteLn('Get the stuff for a gold bar.');
if FindBitmapToleranceIn(GoldOre,x,y,MSX1,MSY1,MSX2,MSY2,10) then
begin;
mouse(x,y,2,2,False);
PopUp('Withdraw All');
end;
end;

'Mithril': begin;
WriteLn('Get the stuff for a mithril bar.');
if FindBitmapToleranceIn(MithOre,x,y,MSX1,MSY1,MSX2,MSY2,10) then
begin;
mouse(x,y,2,2,False);
PopUp('Withdraw X');
Wait(2000+random(1000));
TypeSend('5');
Wait(2000);
if FindBitmapToleranceIn(CoalOre,x,y,MSX1,MSY1,MSX2,MSY2,10) then
begin;
mouse(x,y,2,2,False);
PopUp('Withdraw X');
Wait(2000+random(1000));
TypeSend('20');
end;
end;
end;


'Adamant': begin;
WriteLn('Get the stuff for a addy bar.');
if FindBitmapToleranceIn(AdamantOre,x,y,MSX1,MSY1,MSX2,MSY2,10) then
begin;
mouse(x,y,2,2,False);
PopUp('Withdraw X');
Wait(2000+random(1000));
TypeSend('4');
Wait(2000);
if FindBitmapToleranceIn(CoalOre,x,y,MSX1,MSY1,MSX2,MSY2,10) then
begin;
mouse(x,y,2,2,False);
PopUp('Withdraw X');
TypeSend('24');
end;
end;
end;

'Rune': begin;
WriteLn('Get the stuff for a addy bar.');
if FindBitmapToleranceIn(RuniteOre,x,y,MSX1,MSY1,MSX2,MSY2,10) then
begin;
mouse(x,y,2,2,False);
PopUp('Withdraw X');
Wait(2000+random(1000));
TypeSend('3');
Wait(2000);
if FindBitmapToleranceIn(CoalOre,x,y,MSX1,MSY1,MSX2,MSY2,10) then
begin;
mouse(x,y,2,2,False);
PopUp('Withdraw X');
TypeSend('24');
end;
end;
end;


end;
FreeSmithingBitMaps;
end;

procedure Smelt; //will start smelt and log out if Furnace not found.
begin;
furnaceBitmap := BitmapFromString(34, 7, 'z78DA333134763676' +
'36192547C9519218D2C4D8CDD86D941C2569470200C56E3CF4');

Flag;
MakeCompass('E');
Wait(1000+random(1000));
Found:= False;
FurnaceTry:= 0;
if FindBitmapToleranceIn(FurnaceBitmap,x,y,MCX1,MCY1,MCX2,MCY2,20) then MMouse(x,y,2,2);
if (IsUpTextMulti('mel', 'urn', 'ace')) then
begin;
Mouse(x, y, 2, 2, True);
end else
repeat;
FurnaceTry:= FurnaceTry +1;
if(FindObj(x, y, 'Furnace', 4144964, 40))then
begin
MMouse(x, y, 2, 2)
if (IsUpTextMulti('mel', 'urn', 'ace')) then
begin;
Found:= True;
Mouse(x, y, 2, 2, True);
end;
end;

until(Found = True) or (FurnaceTry = 2);
if FurnaceTry = 2 then
begin;
Players[CurrentPlayer].Loc:= 'No furnace'
NextPlayer(False);
WriteLn('NOT found furnace! =[ ');
end;
LoadSmithingBitMaps;
Flag;
Wait(3000);
Case Players[CurrentPlayer].String1 of

'Bronze': begin;
if FindBitmapToleranceIn(Bronzebar,x,y,MCX1,MCY1,MCX2,MCY2,10) then
begin;
Players[CurrentPlayer].Integer1 := Players[CurrentPlayer].Integer1 + 28;
mouse(x,y,2,2,False);
end;
end;

'Iron': begin;
if FindBitmapToleranceIn(Ironbar,x,y,MCX1,MCY1,MCX2,MCY2,10) then
begin;
Players[CurrentPlayer].Integer1 := Players[CurrentPlayer].Integer1 + 14;
mouse(x,y,2,2,False);
end;
end;

'Silver': begin;
if FindBitmapToleranceIn(Silverbar,x,y,MCX1,MCY1,MCX2,MCY2,10) then
Players[CurrentPlayer].Integer1 := Players[CurrentPlayer].Integer1 + 28;
begin;
mouse(x,y,2,2,False);
end;
end;

'Steel': begin;
if FindBitmapToleranceIn(Steelbar,x,y,MCX1,MCY1,MCX2,MCY2,10) then
Players[CurrentPlayer].Integer1 := Players[CurrentPlayer].Integer1 + 9;
begin;
mouse(x,y,2,2,False);
end;
end;

'Gold': begin;
if FindBitmapToleranceIn(Goldbar,x,y,MCX1,MCY1,MCX2,MCY2,10) then
begin;
Players[CurrentPlayer].Integer1 := Players[CurrentPlayer].Integer1 + 28;
mouse(x,y,2,2,False);
end;
end;

'Mithril': begin;
if FindBitmapToleranceIn(Mithrilbar,x,y,MCX1,MCY1,MCX2,MCY2,10) then
begin;
Players[CurrentPlayer].Integer1 := Players[CurrentPlayer].Integer1 + 5;
mouse(x,y,2,2,False);
end;
end;


'Adamant': begin;
if FindBitmapToleranceIn(Adamantbar,x,y,MCX1,MCY1,MCX2,MCY2,10) then
begin;
Players[CurrentPlayer].Integer1 := Players[CurrentPlayer].Integer1 + 4;
mouse(x,y,2,2,False);
end;
end;

'Rune': begin;
if FindBitmapToleranceIn(Runitebar,x,y,MCX1,MCY1,MCX2,MCY2,10) then
begin;
Players[CurrentPlayer].Integer1 := Players[CurrentPlayer].Integer1 + 3;
mouse(x,y,2,2,False);
end;
end;

end;
PopUp('X');
Wait(1000);
HitKeys(true);
FreeSmithingBitMaps;
Wait(2000+random(1000));
GameTab(4);
HighestAngle;
MarkTime(TheMark);
repeat;
begin;
FindRandoms;
Wait(3000);
Chat;
AntiBansz;
Wait(2000);
if(timefrommark(TheMark)>180000)then
begin;
WriteLn('To long @ furnace...');
Exit;
end;
if Click then
begin;
Smelt;
end;
end;
until(not(FindDTM(OreDtm,x, y,MIX1, MIY1, MIX2, MIY2)))
SetRun(True);
end;

procedure WalkBack; //Walks bank to a random bank. But this is the bad side of the script lol.
begin;
MakeCompass('N');
HouseColorthing;
Wait(3000+random(2000));
Case Random(2) of
0: begin;
WriteLn('Walk Back to the east bank');
if (not (RadialRoadWalk(TheRoadColor, 96, 75, 69, 0, 0))) then
begin;
Mouse(713,80,2,2,True);
Flag;
end;
Wait(3000); //stupit lpw screen!!!!!
if (not (RadialRoadWalk(TheRoadColor, 132, 121, 60, 0, 0))) then
begin;
Mouse(677,112,2,2,true);
Flag;
end;
Wait(1000);
if (not (RadialRoadWalk(TheRoadColor, 94, 75, 55, 0, 0))) then
begin;
Mouse(699,82,2,2,true);
Flag;
end;
Wait(2000);
if (not (RadialRoadWalk(HouseColor, 160, 200, 30, 0, 0))) then
begin;
Mouse(649,111,1,1,True);
Flag;
end;
Flag;
Players[CurrentPlayer].Loc := 'Bank';
end;

1: begin;
WriteLn('Walk Back to the West bank');
if (not (RadialRoadWalk(TheRoadColor, 312, 304, 65, 0, 0))) then
begin;
Mouse(608, 31,2,2,true);
Flag;
end;
if (not (RadialRoadWalk(TheRoadColor, 238, 227, 65, 0, 0))) then
begin;
Mouse(586,101,2,2,true);
Flag;
end;
Wait(4000);
if (not (RadialRoadWalk(HouseColor, 190, 200, 45, 0, 0))) then
begin;
Mouse(628,105,2,2,true);
Flag;
end;
Players[CurrentPlayer].Loc := 'Bank';
end;
end;
end;

procedure TakeOres;
begin;
SetRun(False);
Trying:= 0
Clicked:= 0;
repeat;
Trying:= Trying+ 1;
if(FindObj(x, y, 'Use Bank', 4481142, 30))then
begin;
Mouse(x,y,2,2,False);
PopUp('quickly');
Flag;
Wait(1000);
end;
until(BankScreen) or (Trying = 2);
if (not (BankScreen)) then
begin;
Players[CurrentPlayer].Loc := 'NoBank';
NextPlayer(false);
WriteLn('Could nog found bank');
end;
WriteLn('Found Bank');
Wait(1000+random(500));
DepositAll;
WithOre;
Wait(1000+random(500));
CloseBank;
HouseColorThing;
Wait(1000); //after update tooks to long to close bank..
GameTab(4);
if (FindDTM(OreDtm,x, y,MIX1, MIY1, MIX2, MIY2)) then //Look if ores ar in invent.
begin;
WriteLn('Got the ores lets go');
end else
begin;
WriteLn('Out of ores. Or cant found the ores');
nextPlayer(false);
Players[CurrentPlayer].Loc := 'No Ores';
end;
end;

procedure FromWest;
begin;
DTMTol:=30;
DTMArea:=1;
RadialRoadWalk(TheRoadColor, 30, 46, 35, 0, 0);
Wait(500);
if (not (RadialRoadWalk(TheRoadColor, 75, 70, 60, 0, 0))) then
begin;
Mouse(700,71,2,2,true);
Flag;
end;
Wait(500);
if (not (RadialRoadWalk(TheRoadColor, 118, 136, 35, 0, 0))) then
begin;
Mouse(663,104,1,1,true);
Flag;
end;
Begin //DDtm rulezz!
For D:=1 To 8 Do
Flag;
Wait(500);
begin
DTMTol:=DTMTol+5;
DTMArea:=DTMArea+1
if (FindDTM(FurnaceWest,x, y,647,51,750,170)) Then
begin
Mouse(x,y,1,1,True);
Players[CurrentPlayer].Loc := 'Furnace';
Exit; //otherways it will click 8 times.
end else
Writeln('DTM Not Found')
End;
end;
Players[CurrentPlayer].Loc := 'Furnace';
end;

procedure FromEast;
begin;
DTMTol:=30;
DTMArea:=1;
if (not (RadialRoadWalk(TheRoadColor, 359, 349, 45, 0, 0))) then
begin;
Mouse(645,52,2,2,true);
Flag;
end;
Wait(2000);
if (not (RadialRoadWalk(TheRoadColor, 275, 260, 60, 0, 0))) then
begin;
Mouse(601,79,2,2,true);
Flag;
end;
RadialRoadWalk(TheRoadColor, 258, 267, 45, 0, 0); //fail save.
if (not (RadialRoadWalk(TheRoadColor, 291, 320, 45, 0, 0))) then
begin;
Mouse(627,61,1,1,true);
Flag;
end;
if (not (RadialRoadWalk(TheRoadColor, 299, 315, 40, 0, 0))) then
begin;
Mouse(601,55,2,2,true);
Flag;
end;
Begin //Yea DDtm rulez!
Flag;
for D:=1 To 8 Do
Begin
DTMTol:=DTMTol+5;
DTMArea:=DTMArea+1
if (FindDTM(FurnaceEast,x, y,MMX1,MMY1,MMX2,MMY2)) Then
begin
Mouse(x,y,1,1,True);
Players[CurrentPlayer].Loc := 'Furnace';
Exit; //otherways it will click 8 times....
end else
Writeln('DTM Not Found')
end;
end;
Players[CurrentPlayer].Loc := 'Furnace';
end;

procedure WelkenBank; //give a look at with bank you ar.
begin;
if(FindSymbol(x,y,'bar')) or (findSymbol(x,y,'Hair Dresser')) then
begin;
WriteLn('At WestBank i hope..');
FromWest;
end else
begin;
WriteLn('From eat bank i Hope..');
FromEast;
end;
end;

procedure LogNext;
begin;
if Loops = HowManyLoops then
begin
SetChat('Off',1);
repeat
Wait(1000);
until(not(LoggedIn));
NextPlayer(true);
Loops:= 0;
end else
Exit;
end;

procedure StartPlayer;
begin;
Loops:=Loops+ 1;
MakeCompass('N');
HighestAngle;
SetChat('On', 1);
SetChat('Friends', 2);
SetChat('On', 3);
end;

procedure StartScript;
begin;
ClearDebug;
Welcome;
Wait(1000);
DeclarePlayers;
Proggy;
SRLRandomsReport;
Activateclient;
SetupSRL;
DeclarePlayers;
CurrentPlayer := Currentplayer;
LoginPlayer;
FindRandoms;
GameTab(2);
GameTab(4);
GetAllLevels;
Wait(1000);
end;

begin
StartScript;
repeat;
StartPlayer;
Proggy;
SRLRandomsReport;
HouseColorthing;
DTM;
If Players[CurrentPlayer].Loc = 'Bank' Then
begin;
TakeOres;
WelkenBank;
end;

If Players[CurrentPlayer].Loc = 'Furnace' Then
begin;
Smelt;
WalkBack;
end;
LogNext;
Until(false);
end.

The (not released) Lumby Swamp miner:

program SwampMiner;
{.include srl/srl.scar}
{.include srl/srl/skill/Mining.scar}
{.include srl/srl/skill/Fighting.scar}
{.include SRL/SRL/Misc/Trade.scar}

var
LoadsDone, MineRock, I, NormalOre, MithrilOre, AdamantiteOre, CoalOre, Banked: integer;
PickAxeDTM, TotalOres, CoalOres, MithrilOres, AdamantiteOres, TheRoadColor, Ax, Ay, AtMines, WaitMS, Xy, Xx : integer;
Active, RandomOreName:string;

const
//----------------//
LoadsToDo=2; //How many loads each player before switching.
//--------------//

procedure DeclarePlayers;

Begin;
HowManyPlayers := 8;
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := 5;

Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active :=True;
Players[0].Loc := 'Bank';
Players[0].string1:='1'; //NO need to this...(no commant on this string lol)

Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Active :=True;
Players[1].Loc := 'Bank';
Players[1].string1:='1';

Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='mfg';
Players[2].Active :=True;
Players[2].Loc := 'Bank';
Players[2].string1:='1';

Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Active :=True;
Players[3].Loc := 'Bank';
Players[3].string1:='1';

Players[4].Name :='';
Players[4].Pass :='';
Players[4].Nick :='';
Players[4].Active :=True;
Players[4].Loc := 'Bank';
Players[4].string1:='1';

Players[5].Name :='';
Players[5].Pass :='';
Players[5].Nick :='';
Players[5].Active :=True;
Players[5].Loc := 'Bank';
Players[5].string1:='1';

Players[6].Name :='';
Players[6].Pass :='';
Players[6].Nick :='';
Players[6].Active :=True;
Players[6].Loc := 'Bank';
Players[6].string1:='1';

Players[7].Name :='';
Players[7].Pass :='';
Players[7].Nick :='';
Players[7].Active :=True;
Players[7].Loc := 'Bank';
Players[7].string1:='1';

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

function FindFastRandoms: Boolean; //By WT-Fakawi.
var
i: Integer;
begin
for i := 1 to 9 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;

9: begin;
if (not(InFight)) then Exit;
if(GetHp<GetSkillLevel('hitpoints'))then
begin;
Setrun(true);
MakeCompass('N');
RunAwayDirection('N');
Wait(2000);
FindFastRandoms;
RunBack;
if(FindSymbol(x,y,'mining site'))then
Mouse(x,y,2,2,true);
end;
end;
end;
wait(1);
end;
end;

function LookForGas:boolean; forward;
procedure Mine; forward;
procedure Tobank; forward;
procedure StartPlayer; forward;


procedure Welcome;
begin
WriteLn(' || || [] ');
WriteLn(' || || ');
WriteLn(' ||---|| || Enjoy it! ');
WriteLn(' ||---|| || Script Name: Lumby Swamp miner! ');
WriteLn(' || || || // Made By: Rikjess ');
end;


procedure FindRandoms;
begin
FindFastRandoms;
FindNormalRandoms;
end;

{ Gives a sexy proggy :p }
procedure Proggy;
begin;
Writeln('[]-------------------------------------------[]');
WriteLn('[]======Rikjes, Lumby Swamp Miner V1.0=======[]');
Writeln('Worked For : ' + ScriptTime2(2));
WriteLn('Total Banks done: ' +IntToStr(Banked));
Writeln('Total ores minned: ' +IntToStr(TotalOres));
WriteLn('Total Coal Minned: ' +IntToStr(CoalOres));
WriteLn('Total Mith Minned: ' +IntToStr(MithrilOres));
WriteLn('Total Addy Minned: ' +IntToStr(AdamantiteOres));
WriteLn('Please post the proggy and the bugs you found ^^');
Writeln('[]--------------------------------------------[]');
WriteLn('[]============================================[]');
begin
for I := 0 To HowManyPlayers - 1 do
begin
if Players[i].Active = True then
Active := 'True'
else
Active := 'False';
WriteLn((IntToStr(I)) + ' : ' + Players[I].Name + ' = ' +
Active +' Worked: ' + IntToStr(Players[I].Worked) + ' Minutes |Loc: ' + Players[I].Loc + ' |');
end;
end;
WriteLn('[]--------------------------------------------[]');
WriteLn('[]============================================[]');
SRLRandomsReport;
end;

{ Loadds the needed BitMaps and DTMs }
procedure LoadOreStrings;
begin;

NormalOre := BitmapFromString(11, 11, 'z78DA73730301033070436' +
'2238B60024C35B84CC0A5923C13F0BB937813F0EB22DE04CC5022' +
'CF04CADD404CC890EA0BFCE2F85D4E4C6A212FF470998FCC0600F' +
'B599CC1');

MithrilOre := BitmapFromString(6, 6, 'z78DA558E311280400803BFC' +
'491005AA2A7FF7F92CE818514DB640988BC33343571211036281C' +
'761565A5450884DECE3BCE2608FF1C85327F3D3B77CF623B2B6D6' +
'7ED72728614DB3971DAD60DCEF08DC9C3276F1B61E5745A3FD495' +
'D5606A1AF100C34A2CBF');

AdamantiteOre := BitmapFromString(6, 6, 'z78DA558E410E00210803BFA' +
'4D2E27A54A3FF7FD212F0A024E53243434A36B94CA9968166110A' +
'04A002C9696C29B22CE13845E5877A9B7626A24F4FE344C7E0C23' +
'88ED3A76769C68A1D0E12B62568343865D1CA729CFB07EFC75630' +
'93DAC91F0EBE2D59');

CoalOre := BitmapFromString(6, 6, 'z78DA75CE510AC0200C03D02' +
'B25E928F3731677FF234DEC3E04B585FCE4510AF421DFBEAE5030' +
'0C063113A3C5C9B8B9AE59CAE52C1B33F268AA15DD99BF592FA46' +
'9D6F4A499FF5CCD07B0772C57');

PickAxeDTM := DTMFromString('78DA63BCC4C4C0B09391011530229140FA305' +
'0CD56026AEE01D5EC22A0E61850CD69026A4E03D5EC25A0E60211' +
'6AAE00D56CC0AF060006350AF0');

end;

{ Some simple anit-ban }
procedure AntiBansz;
begin;
case Random(12) of

1: begin;
if FindObjOre(x, y, 'Rock', 2834753, 5, 1) then;
begin;
Mouse(x, y, 2, 2, False);
ClickOption('rospect',1);
end;
end;

2: RandomRClick;

3: begin
HoverSkill('magic', false);
wait(1000+random(2000));
GameTab(4);
end;

4: RandomRClick;

5: GameTab(1+random(10));

6: AlmostLogout;

7: GameTab(1 + Random(10));

8: begin
HoverSkill('mining', false);
wait(1000+random(500));
GameTab(4);
end;


9: begin
HoverSkill('smithing', False);
wait(500+random(500));
GameTab(4);
end;


10: HoverSkill('attack', False);

11: PickUpMouse;


end;
//
end;

{Make A random Talk }
procedure RandomTalk;
begin;
If (not Random(25) = 1) then Exit;
case Random(26) of

0: TypeSend('Mining can be sooooo boring..');
1: TypeSend('i like this mine, yeaj!');
2: TypeSend('Mining rulezz');
3: TypeSend('I need money,, mining is a good way isnt?');
4: TypeSend('=p');
5: TypeSend('^^');
6: TypeSEnd('=]');
7: TypeSend(':c');
8: TypeSend('I like mining. and you?');
9: TypeSend('yeaj, i got a ore');
10:TypeSend('Metal rulezz :p');
11:TypeSend('Disturbed is a good band, what kind of music you guys like?');
12:TypeSend('Tralalla');
13:TypeSend('I have a Dream! =p');
14:TypeSend('yesterday my pickaxe broke :(');
15:TypeSend('At the drawven mines you can buy pick hé?');
16:TypeSend('Avatar the last airbender rulezz!');
17:TypeSEnd('hi');
18:TypeSend('yo');
19:TypeSend('bots ar killing this game. =['); // says the bot :p
20:TypeSend('school is boring');
21:TypeSend('Get up, come on get down with the sickness');
22:TypeSend('Jump! =p');
23:TypeSend('w00tage! i have ores ^^');
24:TypeSend('*cough* Mining is so boring *cough*');
25:TypeSend('i like those uncuts =]');
end;
end;

{ atm a small auto respowner }
procedure TalkBack;
begin;
if IsChatBlackTextAnyLine(+Players[currentplayer].Nick) then Exit;

if FindChatText('ing lvl') or FindChatText('lvl') then
begin;
case Random(3) of
0: TypeSend(IntToStr(Players[CurrentPlayer].level[15]));
1: TypeSend('Mining'+IntToStr(Players[CurrentPlayer].level[15])+' here ^^')
2: TypeSend(IntToStr(Players[CurrentPlayer].level[15])+'here');
end;
end;

if FindChatText('hi') or FindChatText('hello') then
begin;
case Random(3) of
0: TypeSend('eey');
1: TypeSend('hello^^');
2: TypeSend('hi');
end;
end;

if FindChatText('you just advanced') then
begin;
case Random(3) of
0: TypeSend('Yea new lvl!');
1: TypeSend('w00t lvl up ^^');
2: TypeSend('lvl up! =]');
end;
end;
end;

{ Looks if there is a pick axe.. }
function AxeWithMe(InInvent:string):Boolean;
Var Bx, By : integer;
begin;
case InInvent of
'1': GameTab(4);
'2': GameTAb(5);
end;
FindRandoms;
if FindDTM(PickAxeDTM, Bx, By, MIX1, MIY1, MIX2, MIY2) then Result:= True;
end;

{ Looks witch ore your char can mine, and set a ore name to mine }
procedure WhatOreCanIMine;
Var MithrilLvl, AddyLvl : boolean;
begin;
MithrilLvl:= False;
AddyLvl:= False;
if (Players[CurrentPlayer].level[15]) > 54 then MithrilLvl:= True;
if (Players[CurrentPlayer].level[15]) > 69 then AddyLvl:= True;
RandomOreName:='Coal';
WaitMS:=8000;

if MithrilLvl then
begin;
if random(10) = 1 then
begin;
RandomOreName:='Mithril'
WaitMS:=20000;
end;
end;

if AddyLvl then
begin;
if Random(10) = 1 then
begin;
RandomOrename:='Adamantite'
WaitMS:=30000;
end;
end;
end;

{ Repear the pickaxe when broke loop }
procedure RepearPick;
begin;
if FindFastRandoms then Exit;
if FindNormalRandoms then Exit;
if (AxeWithMe(Players[CurrentPlayer].string1)) then Exit;
if (not(FindPick)) then ToBank;
end;

{ Clicks on a rock }
function AtackOre(orenamed:string):boolean;
var OreCollor: integer;
begin
case Orenamed of

'Coal' : OreCollor:= 2175024;
'Mithril' : OreCollor:= 4862514;
'Adamantite': OreCollor:= 6717286;

end;
FindRandoms;
if InvFull then
begin;
Result:=True;
FindRandoms;
Exit;
end;
if (not(FindObjEx(Xx, Xy, 'ine Rock', MSX1, MSY1, MSX2, MSY2, OreCollor, 7, 5, 2, 50, True))) then Exit;
begin;
If Random(10)=1 then
begin;
Mouse(Xx, Xy, 2, 2, False);
ClickOption('ine',1);
end else
Mouse(Xx, Xy, 3, 3, True);
Result:=True;
end;
Wait(1000);
if FlagPresent then
begin;
Wait(3000+Random(2000));
FindRandoms;
Mine;
end;
LookforGas;
end;

{ Looks if you mined the ore by using the black message in the chat box }
function Oremined: boolean;
begin;
Wait(1000);
if FindBlackChatMessage('anage') or FindBlackChatMessage('vailable') then Result:= True;
end;

{ A Rotate Compass procedure }
procedure ChangeCompass;
begin;
FindRandoms;
case Random(4) of

0: MakeCompass('N');
1: MakeCompass('E');
2: MakeCompass('W');
3: MakeCompass('S');
end;
end;

{ Gas detection (i hope..) }
function LookforGas:Boolean;
var
Ax, Ay, Agas: integer;
begin;
AX:= MSCX;
AY:= MSCY;
if FindGas(Xx, Xy) then
begin;
MarkTime(Agas);
Result:=True;
MouseFindNoFlag(MMCX, MMCY + 5, 2, 2);
repeat;
FindFastRandoms;
FindNormalRandoms;
SleepAndMoveMouse(3000);
until(timefrommark(Agas)>15000)
end;
end;

{ The Mine Loop }
procedure Mine;
var NotFoundRock: integer;
begin;
if (not(loggedIn)) then Exit;
MMouse(1+random(600),1+random(400),50,50);
if random(5) = 1 then
begin;
if (not(AxeWithMe(Players[CurrentPlayer].string1))) then
begin;
RepearPick;
end;
end;
GameTab(4);
FindRandoms;
WhatOreCanIMine;
if (not(AtackOre(RandomOreName))) then ChangeCompass;
If XX and XY = 0 then
begin;
ChangeCompass;
FindRandoms;
NotFoundRock:= NotFoundRock+ 1;
if (NotFoundRock = 7) then Exit;
Mine;
end;
MMouse(1+random(600),1+random(400),50,50);
Flag;
MarkTime(MineRock);
RandomTalk;
NotFoundRock:= 0;
repeat;
if InvFull then Break;
if FindPick then RepearPick;
if LookforGas then Mine;
if FindFastRandoms then Mine;
if FindNormalRandoms then Mine;
if Random(15)=1 then ChangeCompass;
if Random(30)=1 then AntiBansz;
if HandleTrade then Mine;
if Oremined then Mine;
if(timefrommark(MineRock)>WaitMS)then Mine;
if(timefrommark(AtMines)>900000)then Break;
MMouse(1+random(700),1+random(400),100,100);
until(InvFull);
Players[CurrentPlayer].Loc := 'To Bank';
end;

{ Sets the vars Ax and Xy for the walk to the mines }
procedure SetSearchTo;
begin;
if (I = 1) or (I = 2) then
begin;
Ax:=715;
Ay:=80;
exit;
end;
Ax:=682;
Ay:=155;
end;

{ Walks To lumby swamp west mines. }
procedure WalkToSW;
var TheWater:integer;
begin;
if (not(loggedin)) then Exit;
Players[CurrentPlayer].Loc := 'To Mines.';
MakeCompass('N');
I:=0;
TheRoadColor:=FindRoadColor;
Wait(500);
RadialRoadWalk(TheRoadColor, 132, 90, 64, 0, 0);
Wait(2000);
RadialRoadWalk(TheRoadColor, 175, 143, 60, 0, 0);
RadialRoadWalk(TheRoadColor, 180, 120, 60, 0, 0);
FindRandoms;
RadialRoadWalk(TheRoadColor, 170, 120, 50, 0, 0);
begin
TheWater:= FindWaterColor;
repeat;
I:= I+ 1;
SetSearchTo;
X:= Ax;
Y:= Ay;
if(FindColorSpiral(x, y, TheWater, MMX1, MMY1, MMX2, MMY2))then
begin
Mouse(x+(6), y-(5), 3, 3, true);
FindRandoms;
FFlag(10);
end;
Until(FindSymbol(x,y,'mining site')) or (I > 30);
end;
if(FindSymbol(x,y,'mining site'))then
Mouse(x,y,2,2,true);
FFlag(1);
Players[CurrentPlayer].Loc := 'Mines';
WriteLn('Found the Mine');
if (not(FindSymbol(x,y,'mining site')))then
begin;
Players[CurrentPlayer].Loc := 'No Mines';
NextPlayer(False);
StartPlayer;
end;
end;

{ sets the vars Ax and AY for the walk back }
procedure SetSearchBack;
begin;
Ax:=649;
Ay:=3;
end;

{ Walks to the bank }
procedure ToBank;
var TheWater: integer;
begin;
if (not(loggedin)) then Exit;
Makecompass('N');
WriteLn('Walk To Bank');
begin
TheWater:= FindWaterColor;
repeat;
I:= I+ 1;
SetSearchBack;
X:= Ax;
Y:= Ay;
if(FindColorSpiral(x, y, TheWater, MMX1, MMY1, MMX2, MMY2))then
begin
Mouse(x+(4), y, 3, 3, true);
FindRandoms;
FFlag(10);
end;
If (i > 6) then TheRoadColor:=FindRoadColor;
if (FindSymbol(x,y,'bank')) then
begin;
Mouse(x, y, 1, 1, true);
Exit;
end;
Until(I > 30) or (RadialRoadWalk(TheRoadColor, 264, 276, 60, 0, 0));
RadialRoadWalk(TheRoadColor, 70, 20, 60, 0, 0);
RadialRoadWalk(TheRoadColor, 350, 275, 50, 0, 0);
RadialRoadWalk(TheRoadColor, 320, 354, 50, 0, 0);
if (not (RadialRoadWalk(TheRoadColor, 280, 300, 54, 0, 0))) then
repeat;
RadialRoadWalk(TheRoadColor, 320, 354, 10, 0, 0);
if (FindSymbol(x,y,'bank')) then
begin;
Mouse(x, y, 1, 1, true);
Exit;
end;
if (not(loggedin)) then Exit;
FindRandoms;
until(RadialRoadWalk(TheRoadColor, 280, 300, 54, 0, 0));
end;
Flag;
end;

{ A smiple bank procedure }
procedure Bank;
begin;
if (not(loggedIn)) then exit;
Flag;
FindRandoms;
OpenBankGlass('db', True, True);
if (not(bankscreen)) then FindBank('db');
Flag;
Wait(1000);
if (not(Bankscreen)) then
begin;
Players[CurrentPlayer].Loc := 'No Bank';
WriteLn('Could not found bank..');
NextPlayer(False);
StartPlayer;
end else
begin;
Players[CurrentPlayer].Loc := 'Bank';
WriteLn('Where at the bank');
end;

TotalOres := TotalOres + CountItemBmpMaskTol(NormalOre, 5, 15);
CoalOres := CoalOres + CountItemBmpTol(CoalOre, 10);
MithrilOres := MithrilOres + CountItemBmpTol(MithrilOre, 10);
AdamantiteOres := AdamantiteOres + CountItemBmpTol(AdamantiteOre, 10);
Banked := Banked + 1;

//ReportVars[0] := CountItemBmpTol(CoalOre, 10);
//ReportVars[1] := CountItemBmpTol(MitrhilOre, 10);
//ReportVars[2] := CountItemBmpTol(AdamantiteOre, 10);
//ReportVars[3] := CountItemBmpMaskTol(NormalOre, 5, 15);
Banks := Banks + 1;
case Players[currentplayer].string1 of
'1': DePosit(2,28,2);
'2': DePositAll;
end;
Wait(1000);
CloseBank;
Wait(2000);
FindRandoms;
end;

{ Looks if the pick is equiped of if he is weared }
procedure WherePickAxe;
begin;
GameTab(4);
FindRandoms;
if FindDTM(PickAxeDTM, x, y, MIX1, MIY1, MIX2, MIY2) then
begin;
Players[CurrentPlayer].string1:='1';
EquipPick := False;
FindPickHeadColor;
Exit;
end;
Wait(1000);
FindRandoms;
GameTAb(5);
if FindDTM(PickAxeDTM, x, y, MIX1, MIY1, MIX2, MIY2) then Players[CurrentPlayer].string1:='2';
EquipPick := True;
FindPickHeadColor;
end;

{ LogNext }
procedure LogNext;
begin;
SetChat('Off',1);
repeat
Wait(1000);
FindFastRandoms;
FindNormalRandoms;
until(not(LoggedIn));
LoadsDone:= 0;
NextPlayer(true);
end;

{ Gets the player ready to mine }
procedure StartPlayer;
begin;
WherePickAxe;
FindFastRandoms;
FindNormalRandoms;
if (not(AxeWithMe(Players[CurrentPlayer].string1))) then
begin;
WriteLn('Not found axe... player turned to false.');
Players[CurrentPlayer].Loc := 'No PickAxe Found.';
Nextplayer(false);
StartPlayer;
end;
GetAllLevels;
if (Players[CurrentPlayer].level[15]) < 30 then
begin;
WriteLn('Not high anouhg mining lvl to run this script...');
Players[CurrentPlayer].Loc :='To Low Mining lvl';
NextPlayer(false);
StartPlayer;
end;
WriteLn('[------------------------------]');
WriteLn(Players[CurrentPlayer].Name + ' mines:');
WriteLn('Coal');
if (Players[CurrentPlayer].level[15]) > 54 then WriteLn(' Mithril');
if (Players[CurrentPlayer].level[15]) > 69 then WriteLn(' Adamantite');
WriteLn('[------------------------------]');
LoadsDone:= LoadsDone+1;
MakeCompass('N');
HighestAngle;
FindFastRandoms;
FindNormalRandoms;
SetChat('On', 1);
SetChat('Friends', 2);
SetChat('On', 3);
end;

procedure StartScript;
begin;
SetupSRL;
SetupSRLMining;
ClearDebug;
Welcome;
Wait(500);
DeclarePlayers;
Proggy;
Wait(1000);
LoadOreStrings;
Activateclient;
BenMouse:= True;
MouseSpeed:= 12;
LoginPlayer;
FindFastRandoms;
FindNormalRandoms;
GameTab(4);
GetAllLevels;
Wait(500);
end;

{ Main loop }
begin
StartScript;
repeat;
StartPlayer;
If Players[CurrentPlayer].Loc = 'Bank' then
begin;
WalkToSW;
SetRun(True);
MarkTime(AtMines);
Mine;
end;

if Players[CurrentPlayer].Loc = 'To Bank' then
begin;
ToBank;
Bank;
end;
FindFastRandoms;
FindNormalRandoms;
Proggy;
MakeCompass('S');
MakeCompass('N');
if LoadsDone = LoadsToDo then LogNext;
if (not(loggedin)) then nextplayer(false);
Until(false);
end.

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

n3ss3s

2007-07-29 14:51:59

It is a definite yes.
You got fourth in the scripting competition and the 1,2,3 were Nielsie, Tarajunky and YoHoJo which are all devs and 2 are mods.
Very good job.

Auto accept pl0x0r?

WhiteShadow

2007-07-29 15:30:55

From: n3ss3s
It is a definite yes.
You got fourth in the scripting competition and the 1,2,3 were Nielsie, Tarajunky and YoHoJo which are all devs and 2 are mods.
Very good job.

Auto accept pl0x0r?


    * 1. Nielsie95 
* 2. Tarajunky
* 3. SKy Scripter
* 4. Rikjess
* 5. Psychor
* 6. Dan Cardin
* 7. YoHoJo
* 8. N3ss3s

Correction. "] 2 Developers. 1 mod.

Anyhow, I like how you walk around the room and sit back down. Some of us pull off the coord from our mouses and thrash it around madly. :rolleyes:

Pentti

2007-07-29 15:57:48

Guess what I voted? :D

Bobarkinator

2007-07-29 17:11:19

Very nice I will give it a yes.

nielsie95

2007-07-29 17:14:08

Finally! :D
Defenitly yes. :)

RAM

2007-07-29 17:40:29

This is what I've been talking about …"applying with some credibility under your belt"….I don't often feel the need to vote, but this is a nice application….:)

~RAM

MasterKill

2007-07-29 17:52:29

your script look very good and advanced :D
and you helped me sometimes out with a problem to!
you rule, but maybe 'procedure welcome' update? XD
all I can say is 'yes!' :D;)

~alex~

2007-07-29 17:57:04

Well even just by looking at your placing in the competition would be a yes from me. You beat some respected SRL members there!

edit: Since when did I beomce a King Black Dragon?

LordGregGreg

2007-07-29 18:33:07

You missed a semi colon…

:p Nah, I didn't even bother to check, this looks great!

It is about time that we had a really really good app, congratulations to you!

I hope you continue to keep up the good work, and welcome!

Santa_Clause

2007-07-30 05:11:39

Yes!

Starblaster100

2007-07-30 05:46:38

From: RAM_RUNE
This is what I've been talking about …"applying with some credibility under your belt"….I don't often feel the need to vote, but this is a nice application….:)

~RAM


I agree, I also don't usually vote, but i am very impressed with your scripts.
An Auto Accept for SRL Member, I think

GoF

2007-07-30 07:46:52

Yesh.

Boreas

2007-07-30 11:35:53

Congrats!