SRL Archive - Archive

rkroxpunk - SRL Member Application Form


rkroxpunk

2007-04-21 22:46:12

<!– 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 what so ever

Other Communitys
err UBP? lol

How Long have You Played Runescape
about 4 years

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

Hmm well. I've been here a while doing my best to understand the whole scripting thing. I enjoy scripting very much but sometimes can't find the inspiration to write something. Everything I know I learnt from here. This IMHO is the only place where there's actually organised scripts and good TUT's. I am open to suggestions of my script and would like to no what needs improveing etc. I don't mind if you vote no but could you please tell me why. :D thx

-RK

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

This is my Varrock East Miner. TuT and all.

//////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
// V.E.M //
// RK STYLE //
// BY RKROXPUNK //
// //
////////////////////////////////////////////////////
///////////////////////////////////////////////////
//HERE IS A NICE BIG FAT TUTORIAL ON HOW TO USE THIS SCRIPT!
//Well first off we scroll down a little tiny bit until we find the word in bold "const"
//Now go down to loadz and set how many loads you want each player to do by replacing the number only.
//For example. If you put 3 it will (hopefully) mine and bank 3 loads. an example of how the line should looks is "Loadz = 3;" without the ""
//Below Loadz is the word "UseAntiBan" now leave this on true. this will mean it will do random mouse movements and xp checks etc.
//Below that we have "AntiBanAmount" the number determins how often it does the AntiBan. 1 will do it a lot and 5 won't do it much at all. a good number is 3.
//Next we have WaitTime. This is used as a backup. say you set it to 7000. if it doesn't find Manage in the chatbox after 7000 milliseconds AKA 7 seconds....
//.....It will click on the rock again.
//Then we have RunDirec. this simply means the Direction ur character will run when it is in a fight. N = North S = South E = East and W = West. Make sure....
//.....You have the ' ' around ur letter or else it won't work. if your letter isn't pink then you did it wrong.
//Now the next thing we got is SetChatz. If you set this to true it will put public chat on Hide. this will mean it will find the text 'Manage' in the chatbox....
//...Quicker and will click on the next ore faster but it won't respond to someone asking what ur mining lvl is etc. Use this if you're in a busy world. Setting it to False......
//.....will leave ur chat settings the same as it is when it logs in.
//Then we have another const heading in bold. under this we have different ores and their colours. If this is the first time you've run the script or first time in a few.....
//Days then you should set them again manually. you can do this by finding the ore and then click on thing that looks like an eyedropper at the top of scar.....
//Your screen should freeze and now move the mouse to the rock and click on it. Now in the rectangle box at the bottom of the screen (debug Box) you should see......
//Something like this Color Picked: 15720334 at (412, 35) (your numbers will be different) ignore the 2 numbers in brackets and copy the big long number.......
//Now go to the 2nd const heading and find the ore that you picked the colour of. e.g. if you clicked on an iron ore after u clicked on the eye dropper you would......
//Go down to IronColor = and replace the big long number with the one you just copied in the bottom of SCAR.
//Scroll down a little bit until you find this heading "procedure DeclarePlayers;"now below the begin you should see HowManyPlayers := with a number next to it......
//....Replace that number with how many players you are using .
//If you are using 2 players then find the things that look like this Players[0] and your highest number inside the [] should be 1. So there should be 2 Player Setup.....
//....Bits. One should look like Players[0] and the other should look like Players[1]. If there is another one left over that is higher than 1 then delete that whole player setup...
// for example if you found Players[2 (or higher than 2)] you should delete them.
//On the Contrary if your HowManyPlayers was 4 for example and you only found 3 player setups all you would simply have to do is copy a player setup and paste it. then change......
//....The Players[0] number in the one you just pasted to [3]. How to setup your players has been made Clear enough below.
//So once you have done all that drag the crosshair at the top of SCAR onto the Runescape gamescreen and a Box should shrink onto the Runescape game window. then hit play.....
//Your script should now be running. If you need any more help PM me at srl-forums.com my name is rkroxpunk with ur problem and I will be happy to help
//Don't forget you can't put this script anywhere else without my permission and post all progress reports and tell me what it does wrong
//-RK
//If you have problems like it won't mine it just sits there then redo the ore color


//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.

//////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
// V.E.M //
// RK STYLE //
// BY RKROXPUNK //
// //
////////////////////////////////////////////////////
///////////////////////////////////////////////////
//HERE IS A NICE BIG FAT TUTORIAL ON HOW TO USE THIS SCRIPT!
//Well first off we scroll down a little tiny bit until we find the word in bold "const"
//Now go down to loadz and set how many loads you want each player to do by replacing the number only.
//For example. If you put 3 it will (hopefully) mine and bank 3 loads. an example of how the line should looks is "Loadz = 3;" without the ""
//Below Loadz is the word "UseAntiBan" now leave this on true. this will mean it will do random mouse movements and xp checks etc.
//Below that we have "AntiBanAmount" the number determins how often it does the AntiBan. 1 will do it a lot and 5 won't do it much at all. a good number is 3.
//Next we have WaitTime. This is used as a backup. say you set it to 7000. if it doesn't find Manage in the chatbox after 7000 milliseconds AKA 7 seconds....
//.....It will click on the rock again.
//Then we have RunDirec. this simply means the Direction ur character will run when it is in a fight. N = North S = South E = East and W = West. Make sure....
//.....You have the ' ' around ur letter or else it won't work. if your letter isn't pink then you did it wrong.
//Now the next thing we got is SetChatz. If you set this to true it will put public chat on Hide. this will mean it will find the text 'Manage' in the chatbox....
//...Quicker and will click on the next ore faster but it won't respond to someone asking what ur mining lvl is etc. Use this if you're in a busy world. Setting it to False......
//.....will leave ur chat settings the same as it is when it logs in.
//Then we have another const heading in bold. under this we have different ores and their colours. If this is the first time you've run the script or first time in a few.....
//Days then you should set them again manually. you can do this by finding the ore and then click on thing that looks like an eyedropper at the top of scar.....
//Your screen should freeze and now move the mouse to the rock and click on it. Now in the rectangle box at the bottom of the screen (debug Box) you should see......
//Something like this Color Picked: 15720334 at (412, 35) (your numbers will be different) ignore the 2 numbers in brackets and copy the big long number.......
//Now go to the 2nd const heading and find the ore that you picked the colour of. e.g. if you clicked on an iron ore after u clicked on the eye dropper you would......
//Go down to IronColor = and replace the big long number with the one you just copied in the bottom of SCAR.
//Scroll down a little bit until you find this heading "procedure DeclarePlayers;"now below the begin you should see HowManyPlayers := with a number next to it......
//....Replace that number with how many players you are using .
//If you are using 2 players then find the things that look like this Players[0] and your highest number inside the [] should be 1. So there should be 2 Player Setup.....
//....Bits. One should look like Players[0] and the other should look like Players[1]. If there is another one left over that is higher than 1 then delete that whole player setup...
// for example if you found Players[2 (or higher than 2)] you should delete them.
//On the Contrary if your HowManyPlayers was 4 for example and you only found 3 player setups all you would simply have to do is copy a player setup and paste it. then change......
//....The Players[0] number in the one you just pasted to [3]. How to setup your players has been made Clear enough below.
//So once you have done all that drag the crosshair at the top of SCAR onto the Runescape gamescreen and a Box should shrink onto the Runescape game window. then hit play.....
//Your script should now be running. If you need any more help PM me at srl-forums.com my name is rkroxpunk with ur problem and I will be happy to help
//Don't forget you can't put this script anywhere else without my permission and post all progress reports and tell me what it does wrong
//-RK
//If you have problems like it won't mine it just sits there then redo the ore color


//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 VEMRKSTYLE;
{.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;
OreDTM: integer;
GasAvoided: Integer;
Stuff: Integer;
Talked: Integer;
MineMax: Integer;
Ax, Ay: Integer;
RockBMP: Integer;
GemDTM: Integer;

const
VersionNumber = '2'; //Leave this
Loadz = 6; //How Many Loads.
UseAntiBan = True; //AntiBan will be used if set to true.
AntiBanAmount = 3; //0 is lots of antiban, 1 less, 2 even more less, etc.
WaitTime = 20000; //How long before it clicks again
RunDirec = 'N'; //Direction you want to run in if find smoking rock
SetChatz = False; //If set to True it will put pub chat on Hide. This will mean it will know if it's mined the ore better(continued next line)
//but it won't respond if someone asks mineing lvl etc. I suggest set this to true if you're in a crowded world with lots of talking.

//If the mouse does nothing when it gets up to Mining set these manually
const
CopperColor = 3758718;
TinColor = 8092548;
ClayColor = 4553880;
IronColor = 2305614;
SilverColor = 12434885;
CoalColor = 2834753;
GoldColor = 1881051;
MithrilColor = 7359564;
AdamantColor = 6322272;
RuniteColor = 0;

//Names of Ores you can use in String1:
//copper
//tin
//clay
//iron
//silver
//coal
//gold
//mithril
//adamant
//runite

procedure DeclarePlayers;

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

Players[0].Name := ''; //Username
Players[0].Pass := ''; //Password
Players[0].Nick := ''; //3 letters of your user name. e.g. udhskjs could be hsk or kjs. If the letter is the first letter of a word or after a space make it capital.
Players[0].String1 := 'Tin'; //What ore you want to mine. there is a list of names above. starting from about line 44
Players[0].Loc := 'Loc1';
Players[0].Skill := 'Mining'; //What skill you want the genie to give you xp on if you get a lamp
Players[0].Boolean1 := False; // Is your pick equipped. true = yes, false = no
Players[0].Active := True;

Players[1].Name := ''; //Username
Players[1].Pass := ''; //Password
Players[1].Nick := ''; //3 letters of your user name. e.g. udhskjs could be hsk or kjs. If the letter is the first letter of a word or after a space make it capital.
Players[1].String1 := 'Tin'; //What ore you want to mine. there is a list of names above. starting from about line 44
Players[1].Loc := 'Loc1';
Players[1].Skill := 'Mining'; //What skill you want the genie to give you xp on if you get a lamp
Players[1].Boolean1 := False; // Is your pick equipped. true = yes, false = no
Players[1].Active := True;

Players[2].Name := ''; //Username
Players[2].Pass := ''; //Password
Players[2].Nick := ''; //3 letters of your user name. e.g. udhskjs could be hsk or kjs. If the letter is the first letter of a word or after a space make it capital.
Players[2].String1 := 'Copper'; //What ore you want to mine. there is a list of names above. starting from about line 44
Players[2].Loc := 'Loc1';
Players[2].Skill := 'Mining'; //What skill you want the genie to give you xp on if you get a lamp
Players[2].Boolean1 := False; // Is your pick equipped. true = yes, false = no
Players[2].Active := True;

Players[3].Name := ''; //Username
Players[3].Pass := ''; //Password
Players[3].Nick := ''; //3 letters of your user name. e.g. udhskjs could be hsk or kjs. If the letter is the first letter of a word or after a space make it capital.
Players[3].String1 := 'Copper'; //What ore you want to mine. there is a list of names above. starting from about line 44
Players[3].Loc := 'Loc1';
Players[3].Skill := 'Mining'; //What skill you want the genie to give you xp on if you get a lamp
Players[3].Boolean1 := False; // Is your pick equipped. true = yes, false = no
Players[3].Active := True;

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

////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// SIG! //
/////////////////////////////////////////////////////////
////////////////////////////////////////////////////////

procedure Sig;
begin
Writeln('[]----------M-I-N-I-N-G P-O-W-E-R!----------[]');
Writeln('[]------------------BY----------------------[]');
Writeln('[]------------------RK----------------------[]');
Writeln(' ___ ___ ');
Writeln(' / /\ /__/| ');
Writeln(' / /::\ | |:| ');
Writeln(' / /:/\:\ | |:| ');
Writeln(' / /:/~/:/ __| |:| ');
Writeln(' /__/:/ /:/___ /__/\_|:|____ ');
Writeln(' \ \:\/:::::/ \ \:\/:::::/ ');
Writeln(' \ \::/~~~~ \ \::/~~~~ ');
Writeln(' \ \:\ \ \:\ ');
Writeln(' \ \:\ \ \:\ ');
Writeln(' \__\/ \__\/ ');
Writeln('[]----------M-I-N-I-N-G P-O-W-E-R!----------[]');
Writeln('[]------------------BY----------------------[]');
Writeln('[]------------------RK----------------------[]');
end;

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

procedure Report;
begin
ClearDebug;
Writeln('[]----------THE NOOBIEST PROGGY!----------[]');
Writeln('[]------------------By RK-----------------[]');
Writeln(' Worked For : ' + ScriptTime2(2))
Writeln(' Mined:' + IntToStr(Loads2) + ' Loads');
WriteLn(' Ores Mined: ' + IntToStr(OreMined));
WriteLn(' Gasses Avoided : ' + IntToStr(GasAvoided));
WriteLn(' Talked : ' + IntToStr(talked));
Writeln('[]------------------By RK-----------------[]');
Writeln('[]----------THE NOOBIEST PROGGY!----------[]');
end;

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

procedure AntiRandoms;
begin
FindTalk;
SolveFrog;
DetectFrogCave;
if DetectFrogCave then
Logout;
ActivateClient;
NextPlayer(False);
LoginPlayer;
Loads := 0
Exit;
LoadSWBitMaps;
SolveSandWich;
ReleaseSandWich;
begin
if (not (LoggedIn)) then Exit;
RC;
if (not (UseBoxSolver)) then
if FindNewBox and
not (GambleNewBox) then
begin
Players[CurrentPlayer].loc := 'NewBox';
Logout;
Exit;
end;
if InBlack then
begin
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
Wait(1);
if NoGameTab then
begin
Players[CurrentPlayer].loc := 'GameTab';
Logout;
Exit;
end;
FindNormalRandoms;
Wait(1);
end;
if (FindFight = true) then
begin
RunAwayDirection(RunDirec);
Wait(10000 + random(2000));
RunBack;
end;
SRLRandomsReport;
end;

function FindFastRandoms: Boolean; //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;
8: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
8: RC;
end;
wait(1);
end;
end;

procedure HandleGas; //thx Sumillion
var
TempMouseSpeed, GasTime: Integer;
begin
Writeln('Gas found!');
TempMouseSpeed := MouseSpeed;
MouseSpeed := 5;
Mouse(MMCX, MMCY, 5, 5, true);
MarkTime(GasTime);
MouseSpeed := TempMouseSpeed;
while (TimeFromMark(GasTime) < 35000) do
if (Random(20) > 15) then
IdleTime(500, 500, 0.4)
else
Wait(1000);
MarkTime(MineMax);
GasAvoided := GasAvoided + 1;
ReportVars[3] := ReportVars[3] + 1;
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;

procedure Reply;
begin
if (InChat('ning lv')) or
(inChat('ning lev')) or
(InChat('ine lv')) or
(InChat('ine lev')) or
(InChat('M lv')) or
(InChat('M lev')) then
begin
TypeSend(IntToStr(GetSkillLevel('mining')))
Talked := Talked + 1;
end;
if (InChat('elt lv') or
InChat('elt lev') or
InChat('lting lv') or
InChat('lting lev')) then
begin
TypeSend(IntToStr(GetSkillLevel('Smelting')))
Talked := Talked + 1;
end;
end;

/////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
// //
// BMP+DTM //
// //
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////

procedure LoadBMPDTM;
begin
RockBMP := BitmapFromString(3, 2, '3A48413A48413A4841243229' +
'243229243229');

OreDTM := DTMFromString('78DA634C636060706740038C48249006A9F12' +
'3A0261F487813A12688809A1C201141847BA209A84902123104D4' +
'C4028944026AA2893007E4DE28026A828930071436A104D484128' +
'E0B0047CA0967');

GemDTM := DTMFromString('78DA63BCCFC4C0B0989101190889CD03D3305' +
'1C6CB40358B50D5C064E16AEE02D5CC20A0E60150CD5A026A9E01' +
'D52C20A0E63950CD72026AAE02D5AC24A006E4AFB904D43C26EC6' +
'60067070E87');
end;

/////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
// //
// BANK FINDING //
// //
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////

procedure FindDummy;
begin
if not (LoggedIn) then Exit;
if findsymbol(x, y, 'Training Dummy') then
begin
mouse(x, y, 5, 5, true);
fflag(0);
if FindSymbol(x, y, 'Bank') then
Mouse(x, y, 5, 5, true)
FFlag(0);
Exit;
if (not findsymbol(x, y, 'Bank')) then
Logout;
Exit;
end else ;
if (not findsymbol(x, y, 'Training Dummy')) then
begin
if not (FindMMColor(x, y, RoadColor)) then RoadColor := FindRoadColor;
RadialRoadWalk(RoadColor, 405, 336, 20, 0, 0);
end;
if FindSymbol(x, y, 'bank') then
Mouse(x, y, 5, 5, true)
FFlag(0);
Exit;
if (not findsymbol(x, y, 'bank')) then
begin
if findsymbol(x, y, 'Training Dummy') then
Mouse(x, y, 5, 5, true)
fflag(0);
if (not findsymbol(x, y, 'Training Dummy')) then
Logout;
Exit;
if FindSymbol(x, y, 'bank') then
begin
Mouse(x, y, 5, 5, true)
FFlag(0);
Exit;
end else
if (not findsymbol(x, y, 'bank')) then
Logout;
Exit;
end;
end;

function SymbolFinder(var gx, gy: integer; symbol: string): boolean;
var bankfindtries, logouttries: integer;
begin
if not (LoggedIn) then Exit;
if (FindSymbol(gx, gy, symbol)) then result := true;
Mouse(gx, gy, 0, 0, true)
FFlag(0);
logouttries := 0;
Exit;
if not (FindSymbol(gx, gy, symbol)) then
begin
repeat
bankfindtries := 0;
repeat
if (not (FindSymbol(gx, gy, symbol))) then
begin
KeyDown(VK_Left)
Wait(100 + Random(50));
KeyUp(VK_Left)
bankfindtries := bankfindtries + 1;
wait(10);
end;
until ((FindSymbol(gx, gy, symbol)) or (bankfindtries > 10));
if bankfindtries > 10 then
begin
logout;
wait(1000 + random(1000));
loginplayer;
logouttries := logouttries + 1;
repeat
wait(10);
until (loggedin);
mouse(519 + random(31), 214 + random(40), 0, 0, true);
end;
FindSymbol(gx, gy, symbol);
if (logouttries > 3) then
begin
FindDummy;
Exit;
end;
until (FindSymbol(gx, gy, symbol));
if (FindSymbol(gx, gy, symbol)) then result := true;
Mouse(gx, gy, 0, 0, true)
FFlag(0);
Exit;
end;
end;



/////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
// //
// WALKING //
// //
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////

procedure BankToMine;
var TempMouse: integer;
begin
activateclient;
wait(1000 + random(300));
if not (LoggedIn) then Exit;
TempMouse := MouseSpeed
mousespeed := 7 + random(3)
makecompass('N');
HighestAngle;
wait(500 + random(750))
Setrun(false);
gametab(4);
MouseSpeed := TempMouse;
AntiRandoms;
FindFastRandoms;
Roadcolor := FindRoadColor;
wait(500 + random(200));
if not (FindMMColor(x, y, RoadColor)) then RoadColor := FindRoadColor;
Roadcolor := FindRoadColor;
if not (FindMMColor(x, y, RoadColor)) then RoadColor := FindRoadColor;
RadialRoadWalk(RoadColor, 39, 72, 70, 0, 0);
fflag(0);
if not (FindMMColor(x, y, RoadColor)) then RoadColor := FindRoadColor;
RadialRoadWalk(RoadColor, 78, 100, 66, 0, 0);
fflag(0);
if not (FindMMColor(x, y, RoadColor)) then RoadColor := FindRoadColor;
RadialRoadWalk(RoadColor, 168, 131, 62, 0, 0);
if not (FindMMColor(x, y, RoadColor)) then RoadColor := FindRoadColor;
RadialRoadWalk(RoadColor, 195, 145, 58, 0, 0);
if not (FindMMColor(x, y, RoadColor)) then RoadColor := FindRoadColor;
RadialRoadWalk(RoadColor, 191, 157, 62, 0, 0);
if not (FindMMColor(x, y, RoadColor)) then RoadColor := FindRoadColor;
RadialRoadWalk(RoadColor, 189, 153, 58, 0, 0);
if not (FindMMColor(x, y, RoadColor)) then RoadColor := FindRoadColor;
RadialRoadWalk(RoadColor, 188, 139, 60, 0, 0);
if not (FindMMColor(x, y, RoadColor)) then RoadColor := FindRoadColor;
RadialRoadWalk(RoadColor, 195, 148, 60, 0, 0);
if FindBitmapSpiralTolerance(RockBMP, x, y, 595, 76, 640, 111, 30) then
begin
Mouse(x, y, 0, 0, true)
FFlag(0)
SetRun(true)
Exit;
end;
if (not FindBitmapSpiralTolerance(RockBMP, x, y, 595, 76, 640, 111, 30)) then
begin
RadialRoadWalk(RoadColor, 196, 130, 40, 0, 0);
if FindBitmapSpiralTolerance(RockBMP, x, y, 595, 76, 640, 111, 30) then
begin
Mouse(x, y, 0, 0, true)
FFlag(0)
SetRun(true)
Exit;
end;
if (not FindBitmapSpiralTolerance(RockBMP, x, y, 595, 76, 640, 111, 30)) then
begin
RadialRoadWalk(RoadColor, 196, 130, 40, 0, 0);
if FindBitmapSpiralTolerance(RockBMP, x, y, 595, 76, 640, 111, 30) then
begin
Mouse(x, y, 0, 0, true)
FFlag(0)
SetRun(true)
Gametab(4)
AntiRandoms;
FindFastRandoms;
Exit;
if (not FindBitmapSpiralTolerance(RockBMP, x, y, 595, 76, 640, 111, 30)) then
begin
Logout;
Exit;
end;
end;
end;
end;
end;

procedure MineToBank;
begin
if not (LoggedIn) then Exit;
if (invfull) then
activateclient;
wait(3000 + random(300));
makecompass('N');
HighestAngle;
Setrun(false);
gametab(4);
Roadcolor := FindRoadColor;
wait(500 + random(200));
if not (FindMMColor(x, y, RoadColor)) then RoadColor := FindRoadColor;
RadialRoadWalk(RoadColor, 64, 76, 67, 0, 0);
wait(3000);
RadialRoadWalk(RoadColor, 337, 377, 58, 0, 0);
RadialRoadWalk(RoadColor, 337, 377, 58, 0, 0);
if (findsymbol(x, y, 'Quest')) then
begin
RadialRoadWalk(RoadColor, 332, 370, 51, 0, 0);
RadialRoadWalk(RoadColor, 336, 366, 50, 0, 0);
RadialRoadWalk(RoadColor, 321, 346, 30, 0, 0);
MakeCompass('W')
RadialRoadWalk(RoadColor, 405, 336, 58, 0, 0);
RadialRoadWalk(RoadColor, 405, 336, 35, 0, 0);
Exit;
end;
if (not findsymbol(x, y, 'Quest')) then
begin
RadialRoadWalk(RoadColor, 337, 377, 37, 0, 0);
Flag;
if (findsymbol(x, y, 'Quest')) then
begin
RadialRoadWalk(RoadColor, 332, 370, 51, 0, 0);
RadialRoadWalk(RoadColor, 336, 366, 50, 0, 0);
RadialRoadWalk(RoadColor, 321, 346, 30, 0, 0);
MakeCompass('W')
RadialRoadWalk(RoadColor, 405, 336, 58, 0, 0);
RadialRoadWalk(RoadColor, 405, 336, 35, 0, 0);
Exit;
end;
end;
if (not findsymbol(x, y, 'Quest')) then
begin
RadialRoadWalk(RoadColor, 337, 377, 37, 0, 0);
Flag;
if (findsymbol(x, y, 'Quest')) then
begin
RadialRoadWalk(RoadColor, 332, 370, 51, 0, 0);
RadialRoadWalk(RoadColor, 336, 366, 50, 0, 0);
RadialRoadWalk(RoadColor, 321, 346, 30, 0, 0);
MakeCompass('W')
RadialRoadWalk(RoadColor, 405, 336, 58, 0, 0);
RadialRoadWalk(RoadColor, 405, 336, 35, 0, 0);
Exit;
end;
end;
if (not findsymbol(x, y, 'Quest')) then
Logout;
if not (LoggedIn) then Exit;
end;

///////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
// BANKING //
// NOTE: //
//EasyBank is from Wizzup? and yes I understand it fully //
//////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////

function EasyBank: Boolean; //wizzup?'s
begin
if not (LoggedIn) then Exit;
Makecompass('N')
LowestAngle;
AntiRandoms;
FindFastRandoms;
OpenBankGlass('veb', False, False);
FFlag(0);
Wait(1000);
if BankScreen then
begin
Result := True;
Exit;
end;
if OpenBankQuiet('veb') then Result := True;
end;

procedure BankOres;
var
TempMouse: integer;
begin
if not (LoggedIn) then Exit;
if FindDTM(OreDTM, x, y, MIx1, MIY1, MIx2, MIY2) then
begin
repeat
TempMouse := MouseSpeed;
mousespeed := 5 + random(3)
mouse(x, y, 0, 0, False)
ChooseOption(x, y, 'Store All');
FFlag(5);
wait(500 + random(250));
until not (FindDTM(OreDTM, x, y, MIx1, MIY1, MIx2, MIY2));
if not ChooseOption(x, y, 'Store All') then
Logout;
Exit;
if (not FindDTM(OreDTM, x, y, MIx1, MIY1, MIx2, MIY2)) then
Loads := Loads + 1;
Loads2 := Loads2 + 1;
if FindDTM(GemDTM, x, y, MIx1, MIY1, MIx2, MIY2) then
begin
repeat
mouse(x, y, 0, 0, False)
ChooseOption(x, y, 'Store All');
FFlag(5);
wait(500 + random(250));
until not (FindDTM(GemDTM, x, y, MIx1, MIY1, MIx2, MIY2));
MouseSpeed := TempMouse
Report;
FreeDTM(OreDTM);
FreeDTM(GemDTM);
end;
end;
end;
/////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
// //
// MINEING AND DROPPING(FOR POWERMINER) //
// //
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////

procedure SetOreColor;
begin
case LowerCase(Players[CurrentPlayer].String1) of
'copper': OreColor1 := CopperColor;
'tin': OreColor1 := TinColor;
'clay': OreColor1 := ClayColor;
'iron': OreColor1 := IronColor;
'silver': OreColor1 := SilverColor;
'coal': OreColor1 := CoalColor;
'gold': OreColor1 := GoldColor;
'mithril': OreColor1 := MithrilColor;
'adamant': OreColor1 := AdamantColor;
'runite': OreColor1 := RuniteColor;
end;
end;

function Mine: Boolean;
begin
if not (LoggedIn) then Exit;
HighestAngle;
MakeCompass('N')
repeat
if not (LoggedIn) then Exit;
wait(5 + random(5));
if FindObj(x, y, 'Mine', OreColor1, 1) then
begin
wait(5 + random(5));
Mouse(x, y, 0, 0, true);
OreMined := OreMined + 1;
wait(300);
Stuff := Stuff + 1
Break;
end;
until (false)
end;

procedure UntilMined(Time: Integer);
var
timer: integer;
begin
if not (LoggedIn) then Exit;
Status('waiting for pick swing')
FindFastRandoms;
AntiRandoms;
Reply;
wait(700 + random(200));
if FindText(x, y, 'wing you', smallchars, 18, 415, 477, 433) then
begin
marktime(Timer);
repeat
if not (LoggedIn) then Exit;
wait(700 + random(900));
FindFastRandoms;
AntiRandoms;
FindPick;
if (GasCheck(Ax, Ay)) then
HandleGas;
Reply;
until FindText(x, y, 'anage', smallchars, 20, 401, 477, 433) or
(timefrommark(Timer) > WaitTime);
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;
wait(20 + random(7));
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 not (LoggedIn) then Exit;
if (invfull) then
begin
GameTab(4);
repeat
if FindDTM(OreDTM, x, y, MIx1, MIY1, MIx2, MIY2) then
DropItem(coordstoinvspot(x, y));
FindFastRandoms;
AntiRandoms;
Reply;
wait(200 + random(200));
until not (FindDTM(OreDTM, x, y, MIx1, MIY1, MIx2, MIY2));
freedtm(OreDTM);
Loads := Loads + 1;
Loads2 := Loads2 + 1;
Report;
end;
end;
/////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
// //
// Chats //
// //
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////

procedure SetChats;
var
TempMouse: integer;
begin
if not (LoggedIn) then Exit;
TempMouse := MouseSpeed
MouseSpeed := 7 + random(3)
if SetChatz = True then
SetChat('hide', 1);
SetChat('friends', 2);
SetChat('on', 3);
MouseSpeed := TempMouse;
if SetChatz = False then
Exit;
end;

/////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
// //
// If Not Logged In Failsafe //
// //
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////

procedure IfNotLogged;
begin
if not (LoggedIn) then
Nextplayer(false);
Loads := 0
MakeCompass('N');
HighestAngle;
FindPickHeadColor;
SetChats;
end;
/////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
// //
// MAIN LOOP //
// //
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////
begin
ClearDebug;
SetupSRL;
SetupSRLMining;
DeclarePlayers;
Sig;
wait(3000)
Activateclient;
wait(1000);
LoginPlayer;
wait(1000);
FindPickHeadColor;
SetChats;
repeat
repeat
IfNotLogged;
LoadBMPDTM;
SetOreColor;
Gametab(4);
BankToMine;
FreeBitmap(RockBMP)
wait(2000 + random(1500))
repeat
Mine;
FindPick;
if (GasCheck(Ax, Ay)) then
HandleGas;
FindFastRandoms;
Reply;
UntilMined(WaitTime);
if (Stuff >= 5 + random(7)) then
begin
MyAntiBan;
MouseAntiBan;
Reply;
Stuff := 0;
Report;
end;
until (InvFull)
if (InvFull) then
begin
MineToBank;
wait(500 + random(300))
SymbolFinder(x, y, 'Bank')
wait(5500 + random(2000));
EasyBank;
Wait(10 + random(500))
BankOres;
Wait(10 + random(500))
CloseBank;
HighestAngle;
end;
until (Loads = Loadz);
if (Loads = Loadz) then
begin
Logout;
Nextplayer(true);
Loads := 0
MakeCompass('N');
HighestAngle;
FindPickHeadColor;
SetChats;
end;
until (false);
end.


Here is the best proggy I've got so far. Havn't had much testing tho. Also the ores Mined is wrong :D


[]———-THE NOOBIEST PROGGY!———-[]
[]——————By RK—————–[]
Worked For : 54 Minutes, and 26 Seconds
Mined:7 Loads
Ores Mined: 209
Gasses Avoided : 0
Talked : 0
[]——————By RK—————–[]
[]———-THE NOOBIEST PROGGY!———-[]

ATTENTION: I editted the walking so it's like how Rune Hacker wanted it and I must admit I think it's probly better :D

Oh also another side note. This is also going to be a powerminer or VEM so I've got all the powermining stuff in there atm

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

Rune Hacker

2007-04-21 22:55:17

If you made those procedures yourself, then its a definete yes. Im going to look into it.

rkroxpunk

2007-04-21 23:03:31

err everything except the symbolfinder. the dummy thing's mine the one for bank is Boreas' with a lil bit of editting by me. I should probly put that in oops

YoHoJo

2007-04-21 23:21:08

Meh like most newer powerminer, you took a lot of stuff from older ones and stuff.
But the walking looks ok to me, and i can tell you made some thing yourself.
Overall i can tell you worked pretty hard and will get better.

Id just add some more failsafes in walking, and check for the orename before clicking rock, not just the 'Mine' text.
So just beef up miming procedure, and add logouts if walking jacks up, but yeah good job.

rkroxpunk

2007-04-21 23:24:54

From: YoHoJo
Meh like most newer powerminer, you took a lot of stuff from older ones and stuff.
But the walking looks ok to me, and i can tell you made some thing yourself.
Overall i can tell you worked pretty hard and will get better.

Id just add some more failsafes in walking, and check for the orename before clicking rock, not just the 'Mine' text.
So just beef up miming procedure, and add logouts if walking jacks up, but yeah good job.


thx Yohojo. But what stuff did i take? the only thing that comes to mind is that untilmined thing. I looked at JuKka's and once I understood it I closed it and made my own one. And I wasn't sure if i needed to add if not loggedin then exit after all the walking

Rune Hacker

2007-04-21 23:28:00

I found this:
  repeat
RadialRoadWalk(RoadColor, 337, 377, 58, 0, 0);
flag;
until (findsymbol(x, y, 'Quest'))
This doesnt make any sense to me be because you tell it to do that radialwalk until it finds the quest symbol, but if it never finds it, it will run forever and if it does find it, it will just do other radialwalks so can you please tell me why thats in thier? Why not just tell it to do the other radial walks without this because this just increases the chances of getting lost.

rkroxpunk

2007-04-22 00:00:16

Because I originally had it how you said to do it but when it walks out of the mine, the first walk can end up in many different places. so often It would do it but by the time it got to turning the Compass west and doing the last bit of walking to the bank it would be in too many different places and couldn't find the road. Also this has not screwed up for me once. It has always found it. I used to also have "or Findsymbol(x,y,Clothes Shop) but I found it would stop too short sometimes. The only thing I think that I should change is FFlag(0) I think I should have one of them and then begin the repeat until without the FFlag(0) If any of that makes sense

Rune Hacker

2007-04-22 00:07:47

Well, it only looks for the symbol, it doesnt click it so it can still be off very far. I might be wrong, but it can still be very far off because you never tell it to click the symbol. This doesnt help in it being more reliable really, does it, since it can still be ver yfar away from the symbol?

rkroxpunk

2007-04-22 00:32:33

Oh i getcha. Well actually it always finds the symbol at some point. and the different spots it can find it at aren't far away from each other enough to screw up the script. Trust me it's hard to explain but it works :D could you possibly vote? lol

Rune Hacker

2007-04-22 01:35:22

Im going to vote no, sorry, but here are still some things I dont like:

Only about 50-60% of it was by you
Could use many more failsafes
A lot of the procedures were from other people
The mining procedure is too simple
I dont ge twhy theres a dropping procedure if this is a banking script

But i still do like that you had radialwalk and findsymbol stuff, i just wish more of the script was by you. You probably will still get in though, but this is just why I am voting no.

rkroxpunk

2007-04-22 02:15:48

From: Rune Hacker
Im going to vote no, sorry, but here are still some things I dont like:

Only about 50-60% of it was by you
Could use many more failsafes
A lot of the procedures were from many people
The mining procedure is too simple
I dont ge twhy theres a dropping procedure if this is a banking script

But i still do like that you had radialwalk and findsymbol stuff, i just wish more of the script was by you. You probably will still get in though, but this is just why I am voting no.


Ok but err what procedures weren't made by me apart from the SymbolFinder and of course the antirandoms/ban,I am confused. as for failsafes I guess I will add a few more in but there's really not that much more I can do. And what more can I add to my mine procedure all it has to do is find the ore and click it….Not trying to flame u or anything just would like to no

~alex~

2007-04-22 08:20:46

Doesn't look half bad. Its a yes from me.

rkroxpunk

2007-04-22 08:54:36

Thx Alex :D and Rune Hacker I editted the walking and did it how u suggested with the quest symbol thing and I must admit it's better so thx :D I also added a few more failsafes. I don't know what else you want me to do?! but meh if I think it needs changing I will change it. thx for ur suggestions

Rune Hacker

2007-04-22 12:37:26

Its ok, your still probably going to become a member since your 4-1. Good job, and thanks for improving that stuff.

Johura

2007-04-22 21:37:40

I vote yes. Even tho someone asked me to vote them. :D

Abyssal

2007-04-22 21:55:18

Very nice script overall, but as previously stated you took a lot from other miners and stuff, which is fine, but try and make your own stuff too :D

~Abyssal

rkroxpunk

2007-04-22 22:05:08

thx and I asked you to vote I didn't say vote yes….but can sum1 tell me what I need to make more original….thx :D

WT-Fakawi

2007-04-23 09:52:42

In.