SRL Archive - Archive

rkroxpunk - SRL Member Application Form


rkroxpunk

2007-03-26 11:13:47

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

What is the meaning to life?


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


Programming Knowledge
None

Other Communitys
Sythe.org

How Long have You Played Runescape
Four years on and off

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

Well I first came here so i could cheat in Runescape and make lots of money. since my arrival here i have found the community:
-Friendly
-Very Helpful
Thus I decided to stay and not just leech. Since then I have been studying other people's scripts and looking at the way things worked and studying many Tutorials. Prior to coming here i had no experience in this area at all.

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

//////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
// THE NOOBIEST //
// POWERMINER //
// BY RKROXPUNK //
// //
////////////////////////////////////////////////////
///////////////////////////////////////////////////

//First I'd like to thank everyone at SRL. I had a million and one questions and they were all answered
//special thanks to Pentti and Boreas they gave me a lot of help in here.

program PowerMiner;
{.include SRL/SRL.scar}
{.include srl\srl\skill\Mining.scar}
{.include SRL\SRL\Misc\Trade.scar}

////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// LOGIN AND SETUP //
/////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
var
Loads: Integer;
Loads2: Integer;
PickEquip: Boolean;
OreMined: Integer;
OreMined2: Integer;
OreDTM: integer;
GasAvoided: Integer;
GasAvoided2: Integer;

const
VersionNumber = '2'; //Leave this
Loadz = 1; //How Many Loads.
NumberOfUsers = 3; //How Many Players Are You Using.
UseAntiBan = True; //AntiBan will be used if set to true.
AntiBanAmount = 3; //0 is lots of antiban, 1 less, 2 even more less, etc.
OreeColor = 4022407; //Put the colour of the ore you want to mine here
WaitTime = 7000; //How long before it clicks again
RunDirec = 'N'; //Direction you want to run in if find smoking rock


procedure DeclarePlayers;

begin
HowManyPlayers := 5; // Set Number of Players here.
NumberOfPlayers(HowManyPlayers); // Sets the Players Array Length;
CurrentPlayer := 0;
EquipPick := Players[CurrentPlayer].Boolean1;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Loc := 'Loc1';
Players[0].Skill := 'Mining';
Players[0].Boolean1 := False; // Is your pick equipped. true = yes, false = no
Players[0].Active := True;

Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Loc := 'Loc1';
Players[1].Skill := 'Mining';
Players[1].Boolean1 := False; // Is your pick equipped. true = yes, false = no
Players[1].Active := True;

Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := '';
Players[2].Loc := 'Loc1';
Players[2].Skill := 'Mining';
Players[2].Boolean1 := False; // Is your pick equipped. true = yes, false = no
Players[2].Active := True;

Players[3].Name := '';
Players[3].Pass := '';
Players[3].Nick := '';
Players[3].Loc := 'Loc1';
Players[3].Skill := 'Mining';
Players[3].Boolean1 := True; // Is your pick equipped. true = yes, false = no
Players[3].Active := True;

Players[4].Name := '';
Players[4].Pass := '';
Players[4].Nick := '';
Players[4].Loc := 'Loc1';
Players[4].Skill := 'Mining';
Players[4].Boolean1 := True; // Is your pick equipped. true = yes, false = no
Players[4].Active := True;

writeln(inttostr(HowManyPlayers) + ' Players');
end;

////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// PROGGY! //
/////////////////////////////////////////////////////////
////////////////////////////////////////////////////////


procedure Report;
begin
Writeln('[]----------THE NOOBIEST PROGGY!----------[]');
Writeln('[]------------------By RK-----------------[]');
writeln('RRRRRRRRRRRRRRRRR KKKKKKKKK KKKKKKK')
wait(500)
writeln('R::::::::::::::::R K:::::::K K:::::K')
wait(500)
writeln('R::::::RRRRRR:::::R K:::::::K K:::::K')
wait(500)
writeln('RR:::::R R:::::RK:::::::K K::::::K')
wait(500)
writeln(' R::::R R:::::RKK::::::K K:::::KKK ')
wait(500)
writeln(' R::::R R:::::R K:::::K K:::::K')
wait(500)
writeln(' R::::RRRRRR:::::R K::::::K:::::K')
wait(500)
writeln(' R:::::::::::::RR K:::::::::::K')
wait(500)
writeln(' R::::RRRRRR:::::R K:::::::::::K')
wait(500)
writeln(' R::::R R:::::R K::::::K:::::K')
wait(500)
writeln(' R::::R R:::::R K:::::K K:::::K')
wait(500)
writeln(' R::::R R:::::RKK::::::K K:::::KKK')
wait(500)
writeln('RR:::::R R:::::RK:::::::K K::::::K')
wait(500)
writeln('R::::::R R:::::RK:::::::K K:::::K')
wait(500)
writeln('R::::::R R:::::RK:::::::K K:::::K')
wait(500)
writeln('RRRRRRRR RRRRRRRKKKKKKKKK KKKKKKK')
Writeln(' Worked For : ' + ScriptTime2(2))
Writeln(' Mined :' + IntToStr (Loads2) + ' Loads');
WriteLn(' Ores Mined/Dropped : '+IntToStr(OreMined2));
WriteLn(' Gasses Avoided : '+IntToStr(GasAvoided2));
Writeln('[]------------------By RK-----------------[]');
Writeln('[]----------THE NOOBIEST PROGGY!----------[]');
end;

////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// RANDOMS AND ANTIBAN //
// CREDITS: YAKMAN AND WT-FAKAWI //
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////

procedure AntiRandoms;
begin
FindTalk;
SRLRandomsReport;
FindNormalRandoms;
if (FindFight = true) then
begin
RunAwayDirection(RunDirec);
Wait(10000 + random(2000));
RunBack;
end;
end;

function FindFastRandoms: Boolean; // By WT-Fakawi.

var
i: Integer;

begin
for I := 1 to 11 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;

8: if RC then
Result := True;

9: if FindFight then
begin
Result := True;
RunTo(RunDirec, True);
end;

10: if FindTalk then
Result := True;

11: if HandleTrade then
Result := True;
end;
Wait(1);
end;
end;

procedure FindGasses;
begin
if FindGas(x, y) then
begin
RunAwayDirection(RunDirec);
Wait(10000 + random(2000));
RunBack;
GasAvoided:= GasAvoided+1;
end;
end;

procedure MouseAntiBan; //From Yakman.
begin
if not(LoggedIn)then Exit;
case Random(6) of
0 : IdleTime(1000 + Random(350),500,1.0);
1 : IdleTime(1000 + Random(350),1000,1.0);
2 : IdleTime(1000 + Random(350),750,0.5);
3 : SleepAndMoveMouse(2500 + Random(2500));
4 : SleepAndMoveMouse(1500 + Random(1500));
5 : SleepAndMoveMouse(500 + Random(500));
end
end;

procedure MyAntiBan;//From Yakman
var
DItem, DBanMe, AntiBanRatio: Integer;
begin
if not(LoggedIn)then Exit;
AntiBanRatio := 25 + (25 * AntiBanAmount);
DBanMe := Random(AntiBanRatio);
case DBanMe of
0 : MMouse(Random(MSX2), Random(MSY2),0,0);
1 : RandomRClickEvery(2 + Random(13));
2 : HoverSkill('mining', False);
3 : HoverSkill('smithing', False);
4 : RotateEvery(20+random(10));
5 : LeaveScreenEvery(5+random(5));
6 : HoverEvery(15+random(5),'random');
7 : HoverEvery(15+random(5),players[currentplayer].skill);
8 : MouseAntiBan;
9 : begin
DItem:=1+random(14);
if(ExistsItem(DItem))then
DragItem(DItem,15+random(10));
end
10 : begin
GameTab(1+random(12));
wait(1500+random(500));
GameTab(4);
end;
end;
end;
////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// MINEING AND DROPPING //
// CREDITS: BOREAS AND JUKKA //
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////


function FindOre: Boolean;
begin
if FindObj(x, y, 'Mine', OreeColor, 5) then
begin
Result := True;
Status('Found Ore =D');
end else
Status('Did not find Ore =(');
wait(5 + random(5));
end;

function MouseAndClick: Boolean;
begin
repeat
if (FindOre) then
begin
MMouse(x, y, 0, 0);
Result := True;
Wait(20 + random(150));
Mouse(x, y, 0, 0, true);
wait(500);
OreMined := OreMined + 1
Break;
end;
until (false)
end;

procedure UntilMined(Time: integer); //JuKKa helped here thanks
var timer: integer;
begin
status('waiting for pick swing')
wait(500);
if FindText(x, y, 'You swing your', SmallChars, 20, 415, 152, 431) then
begin
marktime(Timer);
status('waiting for ore')
repeat
wait(1000 + random(1000))
FindFastRandoms;
FindPick;
FindGasses;
until FindText(x, y, 'anage', SmallChars, 20, 415, 152, 431) or
(timefrommark(Timer) > Time);
writeln('Finished mining')
end;
end;

function CoordsToInvSpot(gx, gy: integer): integer; //Help here from Boreas
var col, row: integer;
begin
if ((gx > 569) and (gx < 600)) then col := 1;
wait(20+random(7));
if ((gx > 611) and (gx < 642)) then col := 2;
wait(20+random(7));
if ((gx > 653) and (gx < 684)) then col := 3;
wait(20+random(7));
if ((gx > 695) and (gx < 723)) then col := 4;

if ((gy > 213) and (gy < 244)) then row := 1;
wait(20+random(7));
if ((gy > 249) and (gy < 280)) then row := 2;
wait(20+random(7));
if ((gy > 285) and (gy < 316)) then row := 3;
wait(20+random(7));
if ((gy > 322) and (gy < 352)) then row := 4;
wait(20+random(7));
if ((gy > 357) and (gy < 387)) then row := 5;
wait(20+random(7));
if ((gy > 393) and (gy < 424)) then row := 6;
wait(20+random(7));
if ((gy > 429) and (gy < 459)) then row := 7;

result := ((row - 1) * 4) + col;
end;

procedure drop; //Help here from Boreas
begin
if (invfull) then
begin
GameTab(4);
OreDTM := DTMFromString('78DA634C636060706740038C48249006A9F12' +
'3A0261F487813A12688809A1C201141847BA209A84902123104D4' +
'C4028944026AA2893007E4DE28026A828930071436A104D484128' +
'E0B0047CA0967');
repeat
if FindDTM(OreDTM, x, y, MIx1, MIY1, MIx2, MIY2) then
DropItem(coordstoinvspot(x, y));
wait(200 + random(200));
until not (FindDTM(OreDTM, x, y, MIx1, MIY1, MIx2, MIY2));
freedtm(OreDTM);
Loads := Loads + 1;
Report;
end;
end;
////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// MAIN LOOP //
// CREDITS: BOREAS AND PENTTI //
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////
begin
ClearDebug;
SetupSRL;
SetupSRLMining;
DeclarePlayers;
Activateclient;
wait(1000);
LoginPlayer;
wait(1000);
MakeCompass('N');
HighestAngle;
SetRun(true);
FindPickHeadColor;
repeat
repeat
Gametab(4);
FindOre;
MouseAndClick;
FindPick;
FindGasses;
FindFastRandoms;
UntilMined(WaitTime);
CoordsToInvSpot(x, y);
Drop;
FindPick;
FindGasses;
AntiRandoms;
MyAntiBan;
until (Loads = Loadz); //Thanks Pentti
if (Loads = Loadz) then
begin
Loads2:= Loads2+Loads;
OreMined2:=OreMined2+OreMined; //Thanks Boreas
GasAvoided2:=GasAvoided2+GasAvoided;
Report;
Logout;
Nextplayer(true);
Loads := 0
MakeCompass('N');
HighestAngle;
SetRun(true);
FindPickHeadColor;
end;
until (false);
end.

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

Secet

2007-03-26 13:35:57

So… What did you do yourself? Pasted?

JAD

2007-03-26 13:42:52

Yeah, I'm not sure if he's giving full credits because they made it, or they just helped him fix an error? please explain how much of this script you made.

YoHoJo

2007-03-26 15:02:46

Well
Lets all take a look at this:
http://www.srl-forums.com/forum/search.php?searchid=76236
5 Different threads made by you.
All asking for help with a separate part of a script.

////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// RANDOMS AND ANTIBAN //
// CREDITS: YAKMAN AND WT-FAKAWI //
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////

////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// MINEING AND DROPPING //
// CREDITS: BOREAS AND JUKKA //
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////

////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// MAIN LOOP //
// CREDITS: BOREAS AND PENTTI //
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////


Seems like the only thing you did yourself was the progress report (which is noooby, like you said yourself :p.
Im happy you have made this and got it working properly.
But now that you seem to have got some basics down (if you even understand the procedures that you didnt make yourself) try making a script my yourself. Or just highly edit it and make it ALL yours with NO credits.

Most of the procedures which you have credited seem to be quite simple to make anyways.

So now, try making something without asking for so much help with such big parts of the script.

Sorry to be so harsh. Its just the way i am.

rkroxpunk

2007-03-26 17:35:20

Ok i understand what you're saying with the whole tonnes of credit thing and will very happily start again by myself but just cos it has credits up top doesnt mean they did everything. i just thought that would be an easy way to show the credits…..oh well back to the drawing board.
EDIT: the only thing that i was really helped with was the drop procedure which i must admit I didn't do but i now understand so i can do that myself in next one and pentti helped me with change player thing….as for anti randoms i havn't found many where people make their own and there is one or two lines in the mineing section that i got off someone else. but like i said i'm happy to do the whole thing again. thanks for your feed back

YoHoJo

2007-03-26 17:49:56

=)
Thanks for taking it nicely, unlike the other stupid apllicants who flame us for our help.
We, attitude is 1/2 the battle, and i like yours.
Just make another script that works well, and youve got my yes.

rkroxpunk

2007-03-27 02:46:52

Thanks Yohojo..i'm not stupid enough to flame seeing as I could see what the consequences would be. I just want to say sorry for posting this script. while i think the majority of it is mine I should have just looked at the things given to me and done it myself. So the only things i think that need to be changed are the dropping which i barely even touched and possibly the until mined even though i did quite a bit of that. if i do all this will it be accepted and does this mean i have to wait another month?:cool: Oh well thanks and be sure to see more stuff from me soon.

EDIT: One problem i'm having is with the dropping…I'm getting rid of the co ordinates thing and making my own but with the dropping of the DTM I know exactly how it's done and if i re-made it, it would probably be/look exactly the same…is this alright or should i do something different?

YoHoJo

2007-03-27 09:28:15

MEh leave the dropping the sames.
Thats like the only way to make a dropping procedure with DTM its fine.
If you need anymore help, it just say post what you need here instead of making a new thread though.

rkroxpunk

2007-03-27 17:26:32

errr then the only thing that i'm going to change is the until mined bit which won't be much different seeing i've learned how to do it. i might make my mine procedure a bit better. But the only thing I would have to change is until mined and then technically it's all mine bar the dropping which i would have done exactly the same seeing i learnt it all. all the other credits were for little errors………oh well if you don't mind i'll just redo the until mined.
Oh also can i use Yakman's anti ban cos i have to use credits for that

EDIT: Ok I'm pretty confused atm but seeing as basically everything was mine and I just had to change a few things I did…I did not look at my previous script and the thing I changed turned out basically the same but I did it myself with my own knowledge I had gained so it is technically mine. Also I guess I have to wait another month. tell me if this is accepable and if there's anything else you want me to do. also I'm taking out my crediting style seeing as everyone thought it meant they did the whole thing and i just pasted it. So here it is!:

//////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
// THE NOOBIEST //
// POWERMINER //
// BY RKROXPUNK //
// //
////////////////////////////////////////////////////
///////////////////////////////////////////////////

//First I'd like to thank everyone at SRL. I had a million and one questions and they were all answered
//special thanks to Pentti and Boreas with help with a lot of errors.

program PowerMiner;
{.include SRL/SRL.scar}
{.include srl\srl\skill\Mining.scar}
{.include SRL\SRL\Misc\Trade.scar}

////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// LOGIN AND SETUP //
/////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
var
Loads: Integer;
Loads2: Integer;
PickEquip: Boolean;
OreMined: Integer;
OreMined2: Integer;
OreDTM: integer;
GasAvoided: Integer;

const
VersionNumber = '2'; //Leave this
Loadz = 1; //How Many Loads.
NumberOfUsers = 3; //How Many Players Are You Using.
UseAntiBan = True; //AntiBan will be used if set to true.
AntiBanAmount = 3; //0 is lots of antiban, 1 less, 2 even more less, etc.
OreeColor = 4022407; //Put the colour of the ore you want to mine here
WaitTime = 20000; //How long before it clicks again
RunDirec = 'N'; //Direction you want to run in if find smoking rock


procedure DeclarePlayers;

begin
HowManyPlayers := 5; // Set Number of Players here.
NumberOfPlayers(HowManyPlayers); // Sets the Players Array Length;
CurrentPlayer := 0;
EquipPick := Players[CurrentPlayer].Boolean1;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Loc := 'Loc1';
Players[0].Skill := 'Mining';
Players[0].Boolean1 := False; // Is your pick equipped. true = yes, false = no
Players[0].Active := True;

Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Loc := 'Loc1';
Players[1].Skill := 'Mining';
Players[1].Boolean1 := False; // Is your pick equipped. true = yes, false = no
Players[1].Active := True;

Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := '';
Players[2].Loc := 'Loc1';
Players[2].Skill := 'Mining';
Players[2].Boolean1 := False; // Is your pick equipped. true = yes, false = no
Players[2].Active := True;

Players[3].Name := '';
Players[3].Pass := '';
Players[3].Nick := '';
Players[3].Loc := 'Loc1';
Players[3].Skill := 'Mining';
Players[3].Boolean1 := True; // Is your pick equipped. true = yes, false = no
Players[3].Active := True;

Players[4].Name := '';
Players[4].Pass := '';
Players[4].Nick := '';
Players[4].Loc := 'Loc1';
Players[4].Skill := 'Mining';
Players[4].Boolean1 := True; // Is your pick equipped. true = yes, false = no
Players[4].Active := True;

writeln(inttostr(HowManyPlayers) + ' Players');
end;

////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// PROGGY! //
/////////////////////////////////////////////////////////
////////////////////////////////////////////////////////

procedure PlayerReport;

var
Active: string;
I: Integer;

begin
for I := 0 to HowManyPlayers - 1 do
begin
if Players[i].Active = True then Active := 'T' else Active := 'F';
WriteLn((IntToStr(I)) + ' : ' + Players[I].nick + ' = ' +
'M lvl:' + IntToStr(Players[i].Level[15]));
end;
end;

procedure Report;
begin
Writeln('[]----------THE NOOBIEST PROGGY!----------[]');
Writeln('[]------------------By RK-----------------[]');
writeln('RRRRRRRRRRRRRRRRR KKKKKKKKK KKKKKKK')
wait(500)
writeln('R::::::::::::::::R K:::::::K K:::::K')
wait(500)
writeln('R::::::RRRRRR:::::R K:::::::K K:::::K')
wait(500)
writeln('RR:::::R R:::::RK:::::::K K::::::K')
wait(500)
writeln(' R::::R R:::::RKK::::::K K:::::KKK ')
wait(500)
writeln(' R::::R R:::::R K:::::K K:::::K')
wait(500)
writeln(' R::::RRRRRR:::::R K::::::K:::::K')
wait(500)
writeln(' R:::::::::::::RR K:::::::::::K')
wait(500)
writeln(' R::::RRRRRR:::::R K:::::::::::K')
wait(500)
writeln(' R::::R R:::::R K::::::K:::::K')
wait(500)
writeln(' R::::R R:::::R K:::::K K:::::K')
wait(500)
writeln(' R::::R R:::::RKK::::::K K:::::KKK')
wait(500)
writeln('RR:::::R R:::::RK:::::::K K::::::K')
wait(500)
writeln('R::::::R R:::::RK:::::::K K:::::K')
wait(500)
writeln('R::::::R R:::::RK:::::::K K:::::K')
wait(500)
writeln('RRRRRRRR RRRRRRRKKKKKKKKK KKKKKKK')
Writeln(' Worked For : ' + ScriptTime2(2))
Writeln(' Mined :' + IntToStr(Loads2) + ' Loads');
WriteLn(' Ores Mined/Dropped : ' + IntToStr(OreMined2));

Writeln('[]------------------By RK-----------------[]');
Writeln('[]----------THE NOOBIEST PROGGY!----------[]');
end;

/////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
// //
// RANDOMS AND ANTIBAN //
// //
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////

procedure AntiRandoms;
begin
FindTalk;
SRLRandomsReport;
FindNormalRandoms;
if (FindFight = true) then
begin
RunAwayDirection(RunDirec);
Wait(10000 + random(2000));
RunBack;
end;
end;

function FindFastRandoms: Boolean; // By WT-Fakawi.

var
i: Integer;

begin
for I := 1 to 11 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;

8: if RC then
Result := True;

9: if FindFight then
begin
Result := True;
RunTo(RunDirec, True);
end;

10: if FindTalk then
Result := True;

11: if HandleTrade then
Result := True;
end;
Wait(1);
end;
end;

procedure FindGasses;
begin
if FindGas(x, y) then
begin
RunAwayDirection(RunDirec);
Wait(10000 + random(2000));
RunBack;
end;
end;

procedure MouseAntiBan; //From Yakman.
begin
if not (LoggedIn) then Exit;
case Random(6) of
0: IdleTime(1000 + Random(350), 500, 1.0);
1: IdleTime(1000 + Random(350), 1000, 1.0);
2: IdleTime(1000 + Random(350), 750, 0.5);
3: SleepAndMoveMouse(2500 + Random(2500));
4: SleepAndMoveMouse(1500 + Random(1500));
5: SleepAndMoveMouse(500 + Random(500));
end
end;

procedure MyAntiBan; //From Yakman
var
DItem, DBanMe, AntiBanRatio: Integer;
begin
if not (LoggedIn) then Exit;
AntiBanRatio := 25 + (25 * AntiBanAmount);
DBanMe := Random(AntiBanRatio);
case DBanMe of
0: MMouse(Random(MSX2), Random(MSY2), 0, 0);
1: RandomRClickEvery(2 + Random(13));
2: HoverSkill('mining', False);
3: HoverSkill('smithing', False);
4: RotateEvery(20 + random(10));
5: LeaveScreenEvery(5 + random(5));
6: HoverEvery(15 + random(5), 'random');
7: HoverEvery(15 + random(5), players[currentplayer].skill);
8: MouseAntiBan;
9: begin
DItem := 1 + random(14);
if (ExistsItem(DItem)) then
DragItem(DItem, 15 + random(10));
end
10: begin
GameTab(1 + random(12));
wait(1500 + random(500));
GameTab(4);
end;
end;
end;
/////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
// //
// MINEING AND DROPPING //
// //
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////


function FindOre: Boolean;
begin
if FindObj(x, y, 'Mine', OreeColor, 5) then
begin
Result := True;
Status('Found Ore =D');
end else
Status('Did not find Ore =(');
wait(5 + random(5));
end;

function MouseAndClick: Boolean;
begin
repeat
if (FindOre) then
begin
MMouse(x, y, 0, 0);
Result := True;
Wait(20 + random(150));
Mouse(x, y, 0, 0, true);
wait(500);
OreMined := OreMined + 1
Break;
end;
until (false)
end;

procedure UntilMined(Time: Integer);
var
timer: integer;
begin
Status('waiting for pick swing')
wait(700 + random(200));
if FindText(x, y, 'You swing your', smallchars, 18, 415, 477, 433) then
begin
marktime(Timer);
repeat
wait(700 + random(900));
FindFastRandoms;
FindPick;
FindGasses;
until FindText(x, y, 'anage', smallchars, 20, 401, 477, 433) or
(timefrommark(Timer) > Time);
end;
end;


function CoordsToInvSpot(gx, gy: integer): integer; //Help here from Boreas
var col, row: integer;
begin
if ((gx > 569) and (gx < 600)) then col := 1;
wait(20 + random(7));
if ((gx > 611) and (gx < 642)) then col := 2;
wait(20 + random(7));
if ((gx > 653) and (gx < 684)) then col := 3;
wait(20 + random(7));
if ((gx > 695) and (gx < 723)) then col := 4;

if ((gy > 213) and (gy < 244)) then row := 1;
wait(20 + random(7));
if ((gy > 249) and (gy < 280)) then row := 2;
wait(20 + random(7));
if ((gy > 285) and (gy < 316)) then row := 3;
wait(20 + random(7));
if ((gy > 322) and (gy < 352)) then row := 4;
wait(20 + random(7));
if ((gy > 357) and (gy < 387)) then row := 5;
wait(20 + random(7));
if ((gy > 393) and (gy < 424)) then row := 6;
wait(20 + random(7));
if ((gy > 429) and (gy < 459)) then row := 7;

result := ((row - 1) * 4) + col;
end;

procedure drop; //Help here from Boreas
begin
if (invfull) then
begin
GameTab(4);
OreDTM := DTMFromString('78DA634C636060706740038C48249006A9F12' +
'3A0261F487813A12688809A1C201141847BA209A84902123104D4' +
'C4028944026AA2893007E4DE28026A828930071436A104D484128' +
'E0B0047CA0967');
repeat
if FindDTM(OreDTM, x, y, MIx1, MIY1, MIx2, MIY2) then
DropItem(coordstoinvspot(x, y));
wait(200 + random(200));
until not (FindDTM(OreDTM, x, y, MIx1, MIY1, MIx2, MIY2));
freedtm(OreDTM);
Loads := Loads + 1;
Report;
end;
end;
/////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
// //
// MAIN LOOP //
// //
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////
begin
ClearDebug;
SetupSRL;
SetupSRLMining;
DeclarePlayers;
Activateclient;
wait(1000);
LoginPlayer;
wait(1000);
MakeCompass('N');
HighestAngle;
SetRun(true);
FindPickHeadColor;
repeat
repeat
Gametab(4);
FindOre;
MouseAndClick;
FindPick;
FindGasses;
FindFastRandoms;
UntilMined(WaitTime);
CoordsToInvSpot(x, y);
Drop;
FindPick;
FindGasses;
AntiRandoms;
MyAntiBan;
MouseAntiBan;
until (Loads = Loadz);
if (Loads = Loadz) then
begin
Loads2 := Loads2 + Loads;
OreMined2 := OreMined2 + OreMined;
Report;
Logout;
Nextplayer(true);
Loads := 0
MakeCompass('N');
HighestAngle;
SetRun(true);
FindPickHeadColor;
end;
until (false);
end.

rkroxpunk

2007-03-30 11:51:02

Hello can someone take a look at it please? :)