JPHamlett
2009-05-20 04:55:44
2 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
I know some HTML, very basic delphi , and pascel thanks to scar
Are you a member of any other communities?
I'm a member of Ultimate_guitar, Intramission (my band if it counts), freddy1990, and rs-hacking
Tell us about yourself…
From: J_Pizzle
Hi, I'm John but my friends call me JP. I was born and raised in Minnesota. I enjoy playing guitar and hang out with friends, I stumbled across scar while being bored with Runescape looking for a new thing to do and i found this.
Please show us one (or multiple) of your scripts.
varrock miner and banker
setup
1 fill in delcare palyers
2 drag crosshairs over runescape window
3 start in the varrock east mine hit play
post proggies or else i wont be adding any more mines to this project of mine}
{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
{.include srl/srl/skill/mining.scar}
var
g, x, y, mines,loads,ores,i: Integer;
const
minetime =5000;//average time it takes to mine ore
pin=0000;//bank pin number
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
procedure DeclarePlayers;//add more if needed
begin
HowManyPlayers := 3;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True; // Use this account?
Players[0].Integers[1]:= 1000; // How many Loads
Players[0].Booleans[0] := false;//pick weilded????
Players[0].BoxRewards := ['XP', 'ostume', 'mote', 'Gem', 'ithril', 'oal'];
Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Active := True; // Use this account?
Players[1].Integers[1] := 1000; // How many Loads
Players[1].Booleans[0] := false;//pick weilded????
Players[1].BoxRewards := ['XP', 'ostume', 'mote', 'Gem', 'ithril', 'oal'];
Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := '';
Players[2].Active := True; // Use this account?
Players[2].Integers[1] := 1000; // How many Loads
Players[2].Booleans[0] := false;//pick weilded????
Players[2].BoxRewards := ['XP', 'ostume', 'mote', 'Gem', 'ithril', 'oal'];
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
procedure DontBanMeBro;
begin
If(not LoggedIn)then Exit;
Case Random(9) of
0: MMouse(Random(MSX2),Random(MSY2),0,0);
1: PickupMouse;
2: SleepAndMoveMouse(400+Random(1500));
3: if Random(2) = 1 then MMouse(1, 338, 515, 165);
4: if Random(2) = 1 then MMouse(515, 1, 250, 503);
5: RandomMovement;
6..9:
begin
case Random(3) of
0: begin
KeyDown(VK_RIGHT);
Wait(500+Random(2000));
KeyUp(VK_RIGHT);
end;
1: begin
KeyDown(VK_Left);
Wait(500+Random(2000));
KeyUp(VK_Left);
end;
2: begin
case Random(2) of
0: begin
KeyDown(VK_RIGHT);
Wait(500+Random(1400));
KeyUp(VK_RIGHT);
end;
1: begin
KeyDown(VK_Left);
Wait(500+Random(1400));
KeyUp(VK_Left);
end;
end;
end;
end;
end;
end;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
procedure findrandoms;
begin
LampSkill := 'mining';
FindNormalRandoms;
solvesrlrandoms:=true;
end;
procedure Minethestuff;
var inv,m,items,invset:integer;
begin
if Players[currentplayer].Booleans[0] = false then
items:=1
else;
items:=0;
disguise('mining')
repeat
mines:=0;
If Not LoggedIn then
begin
NextPlayer(Players[CurrentPlayer].Active);
minethestuff;
end;
findrandoms;
if FindObjRock(x, y, Varrock_iron)then
begin
Case (Random(3)) of
0,2 : begin
Mouse(x, y, 2, 2, False);
Wait(Random(100));
ChooseOption('Mine');//otherwise it may Examine
end;
1 : Mouse(x, y, 2, 2, True);
end;
if not FindObjRock(x, y, varrock_iron)then
begin
KeyDown(VK_RIGHT);
Wait(500+Random(1400));
KeyUp(VK_RIGHT);
end;
Marktime(m);
invset:=invcount;
repeat
inv:=invcount;
wait (10);
findrandoms;
until ((invset < Inv) or (TimeFromMark(m) > 15000));
Inc(mines);
DontBanMeBro;
autorespond;
end;
until(invfull)or(mines = 30)
end;
procedure ToBank;
var
x, y,roadcolor: Integer;
begin
SetRun(True)
disguise('to the bank')
If Not LoggedIn then
begin
NextPlayer(Players[CurrentPlayer].Active);
minethestuff;
end;
roadcolor:=FindVarrockRoadColor;
RadialRoadWalk(roadcolor, 25, 50, 70, 1, 1);
FFlag(10);
wait(2000 + random(300));
RadialRoadWalk(roadcolor, 45, 15, 65, 1, 1);
fflag(10);
wait(2000 + random(300));
RadialRoadWalk(roadcolor, 45, 10, 65, 1, 1);
fflag(10);
wait(2000 + random(300));
repeat
If Not LoggedIn then
begin
NextPlayer(Players[CurrentPlayer].Active);
minethestuff;
end;
RadialRoadWalk(roadcolor,180, 380, 65, 1, 1);
fflag(10);
wait(2000 + random(300));
until (FindSymbol(x, y, 'bank')) or FindSymbol(x,y, 'training dummy');
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
procedure ToMine;
var
x, y,roadcolor: Integer;
begin
roadcolor:=FindVarrockRoadColor;
makecompass('n')
SetRun(True)
disguise('to the mine')
If Not LoggedIn then
begin
NextPlayer(Players[CurrentPlayer].Active);
minethestuff;
end;
FindVarrockRoadColor;
RadialRoadWalk(roadcolor, 0, 90, 70, 1, 1);
FFlag(10);
wait(2000 + random(300));
RadialRoadWalk(roadcolor, 90,360, 65, 1, 1);
fflag(10);
wait(2000 + random(300));
repeat
If Not LoggedIn then
begin
Exit;
end;
RadialRoadWalk(roadcolor, 90, 360, 65, 1, 1);
fflag(10);
wait(2000 + random(300));
until (FindSymbol(x, y, 'mining site'))
end;
procedure intomine;
var minebmp:integer;
begin
If Not LoggedIn then
begin
NextPlayer(Players[CurrentPlayer].Active);
minethestuff;
end;
disguise('get in to mine')
makecompass('n');
if (FindSymbol(x, y, 'mining site')) then
begin
Mouse(x, y, 5, 5, True);
Writeln('Found the mining symbol');
fflag(10)
end else
if not (FindSymbol(x, y, 'mining site')) then
begin
disguise('couldnt find the mining symbol trying bitmap')
mineBmp := BitmapFromString(23, 17, 'beNqVk90KgkAUhJ8h6KKoriSS' +
'gjAIgiCjC0NI0CBI6KaH6BF68EYmx+P6E8Eg1p7zndnZNRhn0bzQy' +
'SiqdIsXUp751NOfvY8r6J5toHPwH+QwGlzXw9fWIwQCwYFwtQdCgo' +
'WQIwimcBVPMmUbAgQE/KMaoQRRAdW0jVUV8J0b0XZsO3pbPedJEQg' +
'rUfBIlxaShF5zivWMnxgECDkUIJYDiEaoywKZDyEUCQ7kspswBLZb' +
'27WjL5XHPmUhamcgeJftLoiGMjHYcDLhM91PWwmEOOEDAj92Czo+L' +
'FFZWBHsbXHurfxrmyJ8IaWsbZm3x23VBeHdbtr+F0KO4/wnBCEXOR' +
'tIf28XpPZ5hnXIB46QCkg=');
FindBitmap(mineBmp,x,y);
Mouse(x,y,5,5,true);
end;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
procedure Setup;
begin
disguise('set up')
ClearDebug;
SMARTSetupEx(2, False, True, False);
Wait(5000);
SetTargetDC(SmartGetDC);
repeat
wait(100);
until(SmartGetColor(253, 233)<>1118604);
SetupSRL
SetupMining;
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
procedure getinbank;
var Bankers,x,y,roadcolor: Integer;
begin
roadcolor:=findvarrockroadcolor;
If Not LoggedIn then
begin
NextPlayer(Players[CurrentPlayer].Active);
minethestuff;
end;
disguise('in to the bank')
Bankers := DTMFromString('78DA636C666660B065640001560608D8B0A69' +
'76119508811CA67AC06AA7187F098A1627FFE3031483220A96901CAB' +
'81150D3039471C1AF060092960C0C');
if DTMRotated(Bankers, x, y, MMX1, MMY1, MMX2, MMY2) then
Mouse(X-2,Y+5, 0, 0, True);
Flag;
if not DTMRotated(Bankers, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
radialRoadWalk(roadcolor, 170, 360, 50, 1, 1);
end;
end;
procedure gembanking;
var gemdtm: integer;
begin
If Not LoggedIn then
begin
NextPlayer(Players[CurrentPlayer].Active);
minethestuff;
end;
repeat;
GemDTM := DTMFromString('78DA8DD2510E82300C06E06E814C144C500E0' +
'3461F603199E869B83127C17F3324F3616BFBB026DB97656BAB46' +
'4D6414C5715E2EB422FBDD0DA15E30EADFFC4EF71579862918F38' +
'6A904C630E603734A9BC2670BD3A54DE9F324307DFE5FC10C304D' +
'DA1CF67B8E02A31933E47B11CC4347D54A182B30BE3E1BE58D13B' +
'C87998D60EE3057C6DC605A410D6BC68CF9BE7782F909E629308E' +
'375FE5310F20');
if not findDTM(GemDTM,x,y,MIX1,MIY1,MIX2,MIY2) then Exit;
if findDTM(GemDTM,x,y,MIX1,MIY1,MIX2,MIY2) then
Begin
Mouse(x,y,2,2,False);
wait(random(200));
ChooseOption('Drop');
wait(500 + random(100))
end;
Until not FindDTM(GemDTM,x,y,MIX1,MIY1,MIX2,MIY2);
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
function Banking: Boolean;
begin
If Not LoggedIn then
begin
NextPlayer(Players[CurrentPlayer].Active);
minethestuff;
end;
MakeCompass('N')
Wait (300 + random(160));
OpenBankQuiet('veb');
if (PinScreen) then
InPin('Pin');
If Players[currentplayer].Booleans[0] = true Then
begin
Deposit(1, 28, True)
end;
If Players[currentplayer].Booleans[0] = false Then
begin
Deposit(2, 28, True);
Mouse(RandomRange(483, 495), RandomRange(29, 41), 0, 0, True);
End;
Gembanking;
Wait(150 + random (278));
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
procedure proggy;
var mininglvl,exp:integer;
begin
cleardebug
mininglvl:= getskillinfo('mining',false);
exp:= XPtillnextlevel('mining');
WriteLn(' _____ ______')
WriteLn(' | || \')
WriteLn(' | || |')
WriteLn(' | || ___/')
WriteLn(' /_____/ |__| ')
writeLn('____________________________________________')
writeln('Script has been running for ' +TimeRunning);
WriteLn('Player '+ Players[CurrentPlayer].Nick);
WriteLn('current mining lvl ' + IntToStr(mininglvl));
WriteLn('Exp To Next Lvl ' + inttostr(exp));
WriteLn('loads done '+ IntToStr(loads));
WriteLn('amount of ores ' + IntToStr(ores));
writeln('responds made ' + inttostr(talks));
writeLn('plz post the proggie here [url]http://www.villavu.com/forum/showthread.php?p=549684#post549684');[/url]
end;
{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{------------------------------------------------------------------------------}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}
begin
ores:=0
loads:=0
setup;
activateclient;
DeclarePlayers;
GraphicsSet := true;
LoginPlayer;
disguise('logging in')
repeat
repeat
gettimerunning;
proggy
minethestuff;
findrandoms;
makecompass('n');
tobank;
findrandoms;
getinbank;
findrandoms
banking;
findrandoms;
tomine;
intomine;
inc(loads)
if Players[CurrentPlayer].Booleans[0] = false then
ores:= ores + 27;
if Players[CurrentPlayer].Booleans[0] = true then
ores:= ores + 28;
Inc(g);
until (g= (Players[CurrentPlayer].Integers[1])) or (not LoggedIn);
NextPlayer(false);
until(AllPlayersInactive);
end.
Power skiller
{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
var
x, y, loads :integer;
procedure DeclarePlayers;
begin
HowManyPlayers := 1; // If you add more players , make sure you set this correct, ;)
NumberOfPlayers(HowManyPlayers);
Players[0].Name := ''; //Your username
Players[0].Pass := ''; //Your password
Players[0].Nick := ''; //Nickname from you username
Players[0].Active := True; //Active->True or False.
Players[0].Integers[0] := 99; //Loads to do.
Players[0].Strings[1] := 'mining'; //what skill do u want to do mining, wcing , or prayer
Players[0].strings[2] := 'iron' //what tree or ore or bone do u want to power skill
Players[0].strings[3] := '0000' // pin number
Players[0].BoxRewards := ['Xp', 'ostume', 'gem', 'mote', 'ithril', 'oal'];//What do u want out of randomns
players[0].loc :='start'//no touchy
{Players[1].Name := ''; //Your username
Players[1].Pass := ''; //Your password
Players[1].Nick := ''; //Nickname from you username
Players[1].Active := True; //Active->True or False.
Players[1].Integers[0] := 99; //Loads to do.
Players[1].Strings[1] := 'mining'; //what skill do u want to do mining, wcing , or prayer
Players[1].strings[2] := 'iron' //what tree or ore or bone do u want to power skill
Players[1].strings[3] := '0000' // pin number
Players[1].BoxRewards := ['Xp', 'ostume', 'gem', 'mote', 'ithril', 'oal'];//What do u want out of randomns
players[1].loc :='start'//no touchy
Players[2].Name := ''; //Your username
Players[2].Pass := ''; //Your password
Players[2].Nick := ''; //Nickname from you username
Players[2].Active := True; //Active->True or False.
Players[2].Integers[0] := 99; //Loads to do.
Players[2].Strings[1] := 'mining'; //what skill do u want to do mining, wcing , or prayer
Players[2].strings[2] := 'iron' //what tree or ore or bone do u want to power skill
Players[2].strings[3] := '0000' // pin number
Players[2].BoxRewards := ['Xp', 'ostume', 'gem', 'mote', 'ithril', 'oal'];//What do u want out of randomns
players[2].loc :='start'//no touchy
Players[3].Name := ''; //Your username
Players[3].Pass := ''; //Your password
Players[3].Nick := ''; //Nickname from you username
Players[3].Active := True; //Active->True or False.
Players[3].Integers[0] := 99; //Loads to do.
Players[3].Strings[1] := 'mining'; //what skill do u want to do mining, wcing , or prayer
Players[3].strings[2] := 'iron' //what tree or ore or bone do u want to power skill
Players[3].strings[3] := '0000' // pin number
Players[3].BoxRewards := ['Xp', 'ostume', 'gem', 'mote', 'ithril', 'oal'];//What do u want out of randomns
players[3].loc :='start'//no touchy
{ woodcutting
tree = normal oak =oak willow= willow yew = yew
mining
all the normal ore name must be spelled perfectly
}
end;
procedure proggy;
forward;
procedure antibanz;
begin
If(not LoggedIn)then Exit;
Case Random(9) of
0: MMouse(Random(MSX2),Random(MSY2),0,0);
1: PickupMouse;
2: SleepAndMoveMouse(400+Random(1500));
3: if Random(2) = 1 then MMouse(1, 338, 515, 165);
4: if Random(2) = 1 then MMouse(515, 1, 250, 503);
5: RandomMovement;
6..9:
begin
case Random(3) of
0: begin
KeyDown(VK_RIGHT);
Wait(500+Random(2000));
KeyUp(VK_RIGHT);
end;
1: begin
KeyDown(VK_Left);
Wait(500+Random(2000));
KeyUp(VK_Left);
end;
2: begin
case Random(2) of
0: begin
KeyDown(VK_RIGHT);
Wait(500+Random(1400));
KeyUp(VK_RIGHT);
end;
1: begin
KeyDown(VK_Left);
Wait(500+Random(1400));
KeyUp(VK_Left);
end;
end;
end;
end;
end;
end;
end;
procedure findrandoms;
begin
LampSkill := 'mining';
FindNormalRandoms;
if not LoggedIn then
players[currentplayer].loc := 'failed at random srry';
proggy;
end;
procedure woodcutting;
var
x, y, H, m, cts, i, maincolor: integer;
TreeUptext: string;
WillowPoints, TreePoints, TPA: TPointArray;
ATPA: T2DPointArray;
begin
if not LoggedIn then exit;
case lowercase(players[currentplayer].strings[3]) of
'willow': TreeUptext := 'illo';
'oak': TreeUptext := 'Oak';
'tree': TreeUptext := 'ree';
end;
if (players[currentplayer].strings[2] = 'oak') then
maincolor := 3173729;
if (players[currentplayer].strings[2] = 'willow') then
maincolor := 2570803;
if (players[currentplayer].strings[2] = 'tree') then
maincolor := 863784;
repeat
if not LoggedIn then exit;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.2, 0.2);
FindColorsTolerance(WillowPoints, maincolor, MSX1, MSY1, MSX2, MSY2, 5);
FindColorsTolerance(TreePoints, 1988172, MSX1, MSY1, MSX2, MSY2, 5);
TPA := CombineTPA(WillowPoints, TreePoints);
if (Length(TPA) = 0) then Exit;
ATPA := SplitTPAEx(TPA, 9, 9);
SortATPAFrom(ATPA, Point(MSCX, MSCY));
H := High(ATPA) - 1;
for I := 0 to H do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 3, 3);
Wait(100 + Random(200));
if IsUpText(TreeUptext) then
begin
marktime(m)
Mouse(x, y, 3, 3, True);
ismoving(10);
wait(15000 + random(400));
findrandoms;
antibanz;
end;
AntiBanz;
FindRandoms;
if not (LoggedIn) then
begin
NextPlayer(False);
LoginPlayer;
end;
end;
until invfull or FindChatBoxText('full to', 8, 0)
end;
procedure logdropping;
var
logdtm:integer;
begin
repeat
if not LoggedIn then exit;
logDTM := DTMFromString('78DA63CC66626078C28002EA12AD181E02694' +
'620FE0F048C1940357718D000231209A48B806A6E1250530654F3' +
'88809A6AA09A6704D45400D5BC21A0A618A8E62D0135E940351F0' +
'9A84924C29C58A09AA7B8D570C0CCB94F404D32FE7006A90100DC' +
'FE160C');
If FindDTM(logDTM,x,y,MIX1,MIY1,MIX2,MIY2) then
Begin
Mouse(x,y,2,2,False);
wait(random(200));
ChooseOption('Drop');
wait(500 + random(100))
findrandoms;
end;
Until not FindDTM(logDTM,x,y,MIX1,MIY1,MIX2,MIY2);
freedtm(logdtm);
end;
procedure mineores;
var
x, y, H, m, cts, i, maincolor, basecolor, inv, invset: integer;
TreeUptext: string;
MainPoints, BasePoints, TPA: TPointArray;
ATPA: T2DPointArray;
begin
disguise('mining')
if not LoggedIn then exit;
if (players[currentplayer].strings[2] = 'Tin') then
maincolor := 10197927;
basecolor := 3421240;
if (players[currentplayer].strings[2] = 'copper') then
maincolor := 3430801;
basecolor := 602956;
if (players[currentplayer].strings[2] = 'iron') then
maincolor := 2503507;
Basecolor := 3161957;
repeat
if not LoggedIn then exit;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.2, 0.2);
FindColorsTolerance(MainPoints, maincolor, MSX1, MSY1, MSX2, MSY2, 5);
FindColorsTolerance(BasePoints, Basecolor, MSX1, MSY1, MSX2, MSY2, 5);
TPA := CombineTPA(MainPoints, BasePoints);
if (Length(TPA) = 0) then Exit;
ATPA := SplitTPAEx(TPA, 9, 9);
SortATPAFrom(ATPA, Point(MSCX, MSCY));
H := High(ATPA) - 1;
for I := 0 to H do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 3, 3);
Wait(100 + Random(200));
if IsUpText('Mine') then
begin
Marktime(m);
Mouse(x, y, 1, 1, True);
invset:=invcount;
repeat
inv:=invcount;
wait (100);
findrandoms;
until ((invset < Inv) or (TimeFromMark(m) > 15000) or FindChatBoxText('availa', 8, 0));
AntiBanz;
FindRandoms;
end;
end;
until invfull
end;
procedure OreDropping;
var OreDTM:integer;
begin
if not LoggedIn then exit;
OreDTM := DTMFromString('78DA637463626078C28002FC0C54181E02694' +
'620FE0F048CEE40353718D000231209A403816AEE1350E30D54F3' +
'86801A7BA09A4F04D49800D53C26C29CEBF8D5000045B70DB0');
repeat
if not LoggedIn then exit;
Disguise('dropping ores');
If FindDTM(OreDTM,x,y,MIX1,MIY1,MIX2,MIY2) then
Begin
Mouse(x,y,2,2,False);
wait(random(200));
ChooseOption('Drop');
wait(500 + random(100))
findrandoms;
end;
Until not FindDTM(OreDTM,x,y,MIX1,MIY1,MIX2,MIY2);
inc(loads);
freedtm(oredtm);
end;
procedure proggy;
begin
cleardebug;
SrlRandomsReport;
WriteLn(' _____ ______')
WriteLn(' | || \ ')
WriteLn(' | || | ')
WriteLn(' | || ___/ ')
WriteLn(' /_____/ |__| Power Skiller')
WriteLn('_________________________________________________')
WriteLn(' Ran for ' + timerunning )
WriteLn(' Skill trained ' + Players[CurrentPlayer].Strings[1] )
WriteLn(' Loads done ' + inttostr(loads));
WriteLn(' Your player is currently at ' + players[currentplayer].loc)
WriteLn(' Thank You For Using JP Power skiller')
WriteLn(' For your other player reports scroll up in debug box')
WriteLn('_________________________________________________')
end;
{procedure axecheck;
var
pickdtm, axedtm: integer;
begin
pickDTM := DTMFromString('78DA6334616260B8CD8006189148206D0E54F' +
'391801A2FA09A0704D4B802D55C23A0C60AA8E6060135B6403577' +
'08A8B101AA798C5F0D00537C07EA');
axeDTM := DTMFromString('78DA6374676260B8C58002BC9272191E02694' +
'620FE0F048C5E40353718D000231209A47D816AEE1150E30954F3' +
'90801A67A09ABB04D4B812A10664CE7522CC21E42F0F22D478135' +
'603007320117C');
Gametab(4)
If Not FindDTM(pickDTM,x,y,MIX1,MIY1,MIX2,MIY2)then
If not FindDTM(axeDTM,x,y,MIX1,MIY1,MIX2,MIY2) then
Gametab(5);
If Not FindDTM(pickDTM,x,y,MIX1,MIY1,MIX2,MIY2)then
If not FindDTM(axeDTM,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
players[currentplayer].loc := ' no axe try agian with axe';
proggy;
logout;
end;
freedtm(pickdtm);
freedtm(axedtm);
end;
//wont work for w/e reason ill work on it }
begin
SmartSetupEx(49, false, true, false);
while not SmartActive do wait(100);
SetTargetDC(SmartGetDC);
setupsrl;
activateclient;
GraphicsSet := true;
declareplayers;
Login_SetAudio(1, 1, 1, NoChange);
loginplayer;
loads:=0;
cleardebug;
repeat
repeat
disguise('player setup');
GetTimeRunning;
proggy;
// axecheck;
if Players[CurrentPlayer].strings[1] = 'woodcutting' then
players[currentplayer].loc := 'trees';
woodcutting;
if Players[CurrentPlayer].strings[1] = 'woodcutting' then
logdropping;
if Players[CurrentPlayer].strings[1] = 'mining' then
players[currentplayer].loc := 'mines';
mineores;
if Players[CurrentPlayer].strings[1] = 'mining' then
oredropping;
inc(loads);
until(loads = Players[CurrentPlayer].Integers[0]) or not (loggedin)
NextPlayer(false);
loginplayer;
until(AllPlayersInactive);
end.
power miner
{So here my first script it runs pretty well
only bugs so far is thta sumtimes it clicks sumwhere else and doesnt drop allt he ore
(ong thts not to bad)
ty tickyy i looked on to your miner for proggy help and antibans and more
____________________setup__________________________
1. set up declareplayers
2. set ore type in line 38
3. setup player by rock you want to mine
3. save
4. run
5. post proggies and any bugs
btw it posts proggies all the way though so only post them t the end and takes 5-10 minute breaks every 50 loads
and enjoy :0
______________________________________________________}
program SimplePowerMiner;
{.Include SRL\SRL\Misc\SMART.SCAR}
{.include SRL\SRL.scar}
{agenda
0. fix DTMs
3. anti randoms
4. multi ores???
5. release it}
var
u,l,j,x,y,g,i,y,z,f,oredtm,gemdtm: Integer;
const
NumOfPlayers = 1;
StartPlayer = 0;
procedure DeclarePlayers;//add more if needed
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True; // Use this account??
Players[0].Integers[1]:= 150; // How many Loads??
Players[0].Booleans[0]:= false//drop gems??
Players[0].Booleans[1]:= true//pick equiped??
Players[CurrentPlayer].strings[0]:='iron';//what ore??
Players[0].BoxRewards := ['Xp', 'ostume', 'gem', 'mote', 'ithril', 'oal'];
Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Active := True; // Use this account??
Players[1].Integers[1]:= 150; // How many Loads??
Players[1].Booleans[0]:= false//drop gems??
Players[1].Booleans[1]:= true//pick equiped??
Players[1].strings[0]:='iron';//what ore??
Players[1].BoxRewards := ['Xp', 'ostume', 'gem', 'mote', 'ithril', 'oal'];
Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := '';
Players[2].Active := True; // Use this account??
Players[2].Integers[1]:= 150; // How many Loads??
Players[2].Booleans[0]:= false//drop gems??
Players[2].Booleans[1]:= true//pick equiped??
Players[2].strings[0]:='iron';//what ore??
Players[2].BoxRewards := ['Xp', 'ostume', 'gem', 'mote', 'ithril', 'oal'];
end;
procedure AntiBanz;
begin
If(not LoggedIn)then Exit;
Case Random(12) of
0: MMouse(Random(MSX2),Random(MSY2),0,0);
1: HoverSkill('random',false);
2: PickupMouse;
3: GameTab(1+Random(12));
4: SleepAndMoveMouse(400+Random(1500));
5: if Random(2) = 1 then MMouse(1, 338, 515, 165);
6: if Random(2) = 1 then MMouse(515, 1, 250, 503);
7: RandomMovement;
8..11:
begin
case Random(3) of
0: begin
KeyDown(VK_RIGHT);
Wait(500+Random(2000));
KeyUp(VK_RIGHT);
end;
1: begin
KeyDown(VK_Left);
Wait(500+Random(2000));
KeyUp(VK_Left);
end;
2: begin
case Random(2) of
0: begin
KeyDown(VK_RIGHT);
Wait(500+Random(1400));
KeyUp(VK_RIGHT);
end;
1: begin
KeyDown(VK_Left);
Wait(500+Random(1400));
KeyUp(VK_Left);
z:=z + 1;
end;
end;
end;
end;
end;
end;
end;
procedure loaddtms;
begin
OreDTM := DTMFromString('78DA637463626078C28002FC0C54181E02694' +
'620FE0F048CEE40353718D000231209A403816AEE1350E30D54F3' +
'86801A7BA09A4F04D49800D53C26C29CEBF8D5000045B70DB0');
GemDTM := DTMFromString('78DA8DD2510E82300C06E06E814C144C500E0' +
'3461F603199E869B83127C17F3324F3616BFBB026DB97656BAB46' +
'4D6414C5715E2EB422FBDD0DA15E30EADFFC4EF71579862918F38' +
'6A904C630E603734A9BC2670BD3A54DE9F324307DFE5FC10C304D' +
'DA1CF67B8E02A31933E47B11CC4347D54A182B30BE3E1BE58D13B' +
'C87998D60EE3057C6DC605A410D6BC68CF9BE7782F909E629308E' +
'375FE5310F20');
end;
procedure findrandoms;
begin
LampSkill := 'mining';
FindNormalRandoms;
solvesrlrandoms:=true;
wait(100)
end;
procedure Setup;
begin
disguise('TY for using jps powerminer')
ClearDebug;
SMARTSetupEx(149, False, True, False);
Wait(5000);
SetTargetDC(SmartGetDC);
repeat
wait(100);
until(SmartGetColor(253, 233)<>1118604);
SetupSRL
end;
procedure SkillCheck;
begin
If Not LoggedIn then
begin
NextPlayer(Players[CurrentPlayer].Active);
skillcheck;
end;
disguise('checking stats')
HoverSkill('mining',false);
wait(500+(300));
findrandoms;
end;
Function MineTheOre : Boolean;
var
i, x,y,m,mines,dist,h,amount,inv,invset: integer;
orecolors: array [0..3] of integer;
OreNames: array [0..2] of String;
begin
if Players[CurrentPlayer].strings[0]='tin'then begin
orecolors[0]:= 9737632;
orecolors[1]:= 9737632;
orecolors[2]:= 10263976;
orecolors[3]:= 9737632;
End Else
if Players[CurrentPlayer].strings[0]='gold'then begin
orecolors[0] := 1815517;
orecolors[1] := 939132;
orecolors[2] := 4313339;
orecolors[3] := 1748951;
End Else
if Players[CurrentPlayer].strings[0]='iron'then begin
orecolors[0]:= 1712696;
orecolors[1]:= 1844541;
orecolors[2]:= 937587;
orecolors[3]:= 2239819;
End Else
if Players[CurrentPlayer].strings[0]='copper' then begin
orecolors[0]:= 5344484;
orecolors[1]:= 4948948;
orecolors[2]:= 4025005;
orecolors[3]:= 4420796;
End;
mines := 0;
MouseSpeed := 13;
repeat
if (not LoggedIn) then Exit;
for i := 0 to 3 do
if FindObjTPA(x, y, orecolors[i], 10, 2, 15, 25, 10, ['Mine', 'ine']) then
begin
FindObjTPA(x, y, orecolors[i], 10, 2, 15, 25, 10, ['Mine', 'ine'])
Wait(100 + Random(300));
begin
Mouse(x, y, 4, 4, True);
Marktime(m);
invset:=invcount;
repeat
inv:=invcount;
wait (100);
findrandoms;
until ((invset < Inv) or (TimeFromMark(m) > 15000));
inc(mines);
end;
end;
AntiBanz;
FindRandoms;
if not (LoggedIn) then
begin
NextPlayer(False);
LoginPlayer;
end;
inc(mines)
AntiBanz;
FindRandoms;
if not (LoggedIn) then
begin
NextPlayer(False);
LoginPlayer;
end;
until invfull or (mines > 35);
End;
procedure OreDropping;
var OreDTM,drops:integer;
begin
drops:=0;
If Not LoggedIn then
begin
NextPlayer(Players[CurrentPlayer].Active);
skillcheck;
end;
repeat
If Not LoggedIn then
begin
NextPlayer(Players[CurrentPlayer].Active);
skillcheck;
end;
Disguise('dropping ores');
If FindDTM(OreDTM,x,y,MIX1,MIY1,MIX2,MIY2) then
Begin
Mouse(x,y,2,2,False);
wait(random(200));
ChooseOption('Drop');
wait(500 + random(100))
findrandoms;
Inc(drops);
end;
Until not FindDTM(OreDTM,x,y,MIX1,MIY1,MIX2,MIY2) or (drops=29);
end;
procedure GemDroping;
var GemDrops,GemDTM:integer;
begin
If Not LoggedIn then
begin
NextPlayer(Players[CurrentPlayer].Active);
skillcheck;
end;
GemDrops:=0;
repeat
Disguise('dropping gems');
if findDTM(GemDTM,x,y,MIX1,MIY1,MIX2,MIY2) then
Begin
Mouse(x,y,2,2,False);
wait(random(200));
ChooseOption('Drop');
wait(500 + random(100))
findrandoms;
GemDrops:= GemDrops + 1;
Inc(f);
end;
Until not FindDTM(GemDTM,x,y,MIX1,MIY1,MIX2,MIY2) or (gemdrops = 5);//dont think your gonna get more than 1 a tie but just incase
end;
procedure Proggy;
begin
WriteLn(' _____ ______')
WriteLn(' | || \')
WriteLn(' | || |')
WriteLn(' | || ___/')
WriteLn(' /_____/ |__| ')
writeLn('____________________________________________')
writeln('Script has been running for ' +TimeRunning);
WriteLn('Player '+ Players[CurrentPlayer].Nick);
WriteLn('loads done '+ IntToStr(g));
WriteLn('ores mined ' +inttostr(g *27)) ;
WriteLn('gems dropped ' + IntToStr(f));
writeLn('plz post the proggie here [url]http://www.villavu.com/forum/showthread.php?p=542565#post542565[/url]');
end;
procedure Freeeverything;
var oreDTM,GemDTM,ClayBMP:integer;
begin
FreeDTM(OreDTM);
FreeDTM(GemDTM);
FreeBitmap(ClayBMP);
end;
begin
g:= 0;
l:=0;
u:=0;
j:=0;
f:=0;
Setup;
DeclarePlayers;
GraphicsSet := true;
LoginPlayer;
loaddtms;
repeat
repeat
findrandoms;
GetTimeRunning;
{ClearDebug;}
Proggy;
if g = 25 + random(25) then
break;
SkillCheck;
findrandoms;
MineTheore;
findrandoms;
OreDropping;
findrandoms;
if Players[CurrentPlayer].Booleans[0]=true then
Gemdroping;
findrandoms;
Inc(g);
until (g= (Players[CurrentPlayer].Integers[1])) or (not LoggedIn);
NextPlayer(Players[CurrentPlayer].Active);
until(AllPlayersInactive);
Freeeverything;
end.