SRL Archive - Archive

J_Pizzle - SRL Member Application


JPHamlett

2009-05-20 04:55:44

How Long have You Played Runescape?
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.

Blumblebee

2009-05-20 05:10:52

first
if Players[currentplayer].Booleans[0] = false then
can be
if not Players[CurrentPlayer].Booleans[0] then
nothing big but it looks nicer ;)

Secondly, Failsafes! Your walking does not include any failsafes at all. RadialWalk & RadialRoadWalk were made booleans for a reason. so instead of:
 RadialRoadWalk(roadcolor, 0, 90, 70, 1, 1);
FFlag(10);
wait(2000 + random(300));
RadialRoadWalk(roadcolor, 90,360, 65, 1, 1);
You can add failsafes like:
if not RadialWalk(parameters) then
if not RadialWalk(slightlyDifferentParameters) then
begin
WriteLn('Lost');
NextPlayer(False);
end;
so on and so forth, I hope you get the idea.

Next,
until (FindSymbol(x, y, 'mining site'))
What if someones standing on the mining symbol? Then the script continually walks and walks. You should add a ddtm, or FindColorsSpiralTolerance, or something of that sort to also check for the mine.

I like your Bank entering, you have a few useless begin..end brackets but thats not a big deal (it should look like this)
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
radialRoadWalk(roadcolor, 170, 360, 50, 1, 1);
end;

Your standards in your main execution are very sloppy as well.

Your procedure "woodutting" looks as though it was made with Scar Assistant, something I would advise not to use for an application, as it doesnt show your true skill as a scripter.

And Learn to use Case Statements, There is lots of wasted coding here.
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;
This could easily be:
case Lowercase(Players[CurrentPlayer].Strings[0]) of
begin
'copper':
begin
orecolors[0]:= 9737632;
orecolors[1]:= 9737632;
orecolors[2]:= 10263976;
orecolors[3]:= 9737632;
end;
'gold':
begin
etc;
end;
'iron':
begin
etc;
end;
'tin':
begin
etc;
end;
end;

Also, looking at the same function, what if someone writes "Copper" instead of "copper"? Remember to use Lowercase() when looking at user defined strings.

You have alot of potential, and I wish you the best of luck, but its a no from me. Keep working though, you've come a long way in a short amount of time :)

Dynamite

2009-05-20 05:12:09

Ok 1 thing at the mo ( 2:15 in morning )
You have no failsafes for walking :(

EDIT: just read Blumble's post, its a no from me. Sorry
You are on the right path though, keep it up

T~M

senrath

2009-05-20 05:24:15

Sorry, but it's a no from me. In addition to what Blumblebee has said about failsafes and such, the mining script you posted doesn't even compile. The errors are small (a misplaced semicolon and two remnants from what appears to be an autoresponder that was removed or never added), but they're still there.

Dynamite

2009-05-20 05:25:35

From: senrath
Sorry, but it's a no from me. In addition to what Blumblebee has said about failsafes and such, the mining script you posted doesn't even compile. The errors are small (a misplaced semicolon and two remnants from what appears to be an autoresponder that was removed or never added), but they're still there.


Yeh sorry, to add to that, it kind of shows lazyness? you should spend a lot of time to fix up the little details before you apply :)

And also presentation:

varrock miner and banker
[code]

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}

doesnt look the nicest does it?

My new slogan:
Attention to detail, and the Detail will get attention ;)
T~M

marpis

2009-05-20 22:29:06

EDIT:


Can i change my vote to YES?

He has edited and even added scripts since i last viewed this application, and improved alot!
Now i can say he deserves to get in! :)

Dervish

2009-05-20 22:50:10

No compile = No admission.

Rich

2009-05-20 23:00:08

May I ask, why on Earth have you got two DeclarePlayers procedures?

senrath

2009-05-20 23:02:17

From: R1ch
May I ask, why on Earth have you got two DeclarePlayers procedures?


It's two scripts.

JPHamlett

2009-05-21 06:56:53

well thnx for all of your input i currently have bumblebee helping me become better at scripting so ya i hope to apply soon with these saem3 script but more failsafes and such

Sir R. M8gic1an

2009-05-21 14:40:46

fixed the tags. didn't look in detail, but it looked good to me.

~RM

Pure1993

2009-05-21 17:38:00

You are from Minnesota? Cool, where? I used to live there for a while, bevore moving back to Germany. :D

Anyway, I like your script, and you seem to have talent and you have invested a lot of time and effort into the making of it. If you shouldn't get in, then good luck next time, but for me, I hope you get in this time. YES from me. :)

JPHamlett

2009-05-23 06:55:38

From: Pure1993
You are from Minnesota? Cool, where? I used to live there for a while, bevore moving back to Germany. :D

Anyway, I like your script, and you seem to have talent and you have invested a lot of time and effort into the making of it. If you shouldn't get in, then good luck next time, but for me, I hope you get in this time. YES from me. :)

i live in the Minneapolis area

Sir R. M8gic1an

2009-05-23 11:25:00

The Man, lazyness? He did three scripts. 3!!!

I voted yes, because i know that once you are in you will keep on learning an improving, as it is more than obvious you enjoy scripting. However, there are similarities between your scripts. One is a power miner, another is a miner and banker and finally you have a miner / wcer. I still think it's a hell lotta scripting.

However, there are quite some important things to change. For example, you should only call NextPlayer() in the mainloop. Otherwise the new player will get stuck in the old player's loop.

Also, i just wanted to point this out:

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;

you could use a case there, and also, you need begins and ends, otherwise it will only read the first statement.

~RM

Home

2009-05-23 16:55:55

This might sound stupid but i kinda see my self in you :D So yes.. and yes because you made 3 scripts, and yes because i know that you are going to be better and you are trying to learn :)

~Home

XcanadamanX

2009-05-28 06:27:04

remember to free dtms and bitmaps! (only in the first one) everything else has been said already:p good job

Naike

2009-05-28 13:07:34

Yes.

You're motivated to learn and got potential.
Note: Look at this guys thread starts, Almost everything in Scripting help.

Richard

2009-05-28 13:36:44

Yes, you seem to know the basics.

Just a couple of things:

1.)
 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));

You make the roadcolor its own variable, you can in fact just replace that with FindVarrockRoadColor and save yourself a line and a variable.

I also noticed that you later on just have a line that is FindVarrockRoadColor, this line will do nothing except print what the varrock road color is, you need to assign a variable to it for it to work, or just place it inside the RadialWalk function.

2.) This can be shortened into a while do loops:
repeat
wait(100);
until(SmartGetColor(253, 233)<>1118604);

Call it like this:
While not(SmartGetColor(253, 233)<>1118604) do
Wait(100);

3.) Standards in your main loop is rather odd, this is what I'd make it look like:

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.


Other than that (and probably more things) this is a very good app, first person I've seen with 3 scripts in an app in a while.

Good work.

Naum

2009-05-28 16:34:11

Looking good ;)

1) A small problem with:


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;

In this part you need an Begin, End; statement:

    if DTMRotated(Bankers, x, y, MMX1, MMY1, MMX2, MMY2) then
Mouse(X-2,Y+5, 0, 0, True);
Flag;

should be:

    if DTMRotated(Bankers, x, y, MMX1, MMY1, MMX2, MMY2) then
Begin
Mouse(X-2,Y+5, 0, 0, True);
Flag;
End;
The previous example would have called flag regardless of the outcome (not fatal i know, but something to learn). Also no Begin and End; is needed after the If Not statement :)


2) Uggh, PowerSkiller - cases, a case is one less that the number you define it to ;). So you did Case Random(9) Of ; it will not pick '9' as you did in 6..9:

3)The procedure:

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;

can be shortened to:

procedure antibanz;
Var Keys : Array [0..1] Of Byte;
I : Int64;
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
Keys := [VK_RIGHT, VK_LEFT];
I := Random(2);
case I of
0: begin
KeyDown(Keys[I]);
Wait(500+Random(2000));
KeyUp(Keys[I]);
end;
1: begin
I := Random(2);
case I of
0: begin
KeyDown(Keys[I]);
Wait(500+Random(2000));
KeyUp(Keys[I]);
end;
end;
end;
end;
end;
end;
end;

3) Once again you can use some Cases in your PowerSkills script :).

4)[ERROR ALERT]
Players[CurrentPlayer].strings[0]:='iron';//what ore?? in your mining script
should be:
Players[0].strings[0]:='iron';//what ore??

;)


5)Once again in powerminer

Until not FindDTM(OreDTM,x,y,MIX1,MIY1,MIX2,MIY2) or (drops=29);

Your 'drops' failsafe will not work, as it will not drop it 29 time

instead maybe it should be:

Until not FindDTM(OreDTM,x,y,MIX1,MIY1,MIX2,MIY2) or (Drops Mod 28 = 0);


6) your code could be cleaned up and shortened a lot, but hey we aren't all perfect.
(and I bet within 1 hr of writing this someone will say 'this is wrong') :p


You get a yes.

XcanadamanX

2009-05-28 16:40:34

From: Richard

1.)
 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));

You make the roadcolor its own variable, you can in fact just replace that with FindVarrockRoadColor and save yourself a line and a variable.


that slows down a script a lot since it is always looking for a new roadcolor. an if not findcolor(….) then roadcolor := findvarrockroadcolor works best for me. roadcolor is a global so you are not saving a variable anyway.

Dynamite

2009-05-28 17:16:12

From: N1ke!

Note: Look at this guys thread starts, Almost everything in Scripting help.

Is that good though?

T~M

Tniffoc

2009-05-28 17:20:03

From: The Man
Is that good though?

T~M


Wait a minute.. I thought you were leaving?

Dynamite

2009-05-28 17:21:15

No read the thread again.
[BackOnTopic]

T~M

Richard

2009-05-28 17:23:28

From: XcanadamanX
that slows down a script a lot since it is always looking for a new roadcolor. an if not findcolor(….) then roadcolor := findvarrockroadcolor works best for me. roadcolor is a global so you are not saving a variable anyway.


If I remember rightly, the colour changes as you walk along? Sorry if I'm wrong.

Naum

2009-05-28 17:36:08

Richard = The Colour of the Road doesn't change until you next login (afaik).

Gu3st...

2009-05-28 17:47:15

YES
I see alot of potentional and effort in your scripts ;)
Good job.

JPHamlett

2009-05-29 00:47:19

From: The Man
Is that good though?

T~M


i dont see how that could be bad that means im willing to ask for help when i need it and everytime i post there i usually ask for them to explain what they did so i can fix the error next time i get it and i always try and figure out my mistake before posting there

Raskolnikov

2009-05-29 02:21:25

Yes, your scripts seem fine and you have a great attitude.

Dynamite

2009-05-29 02:26:25

yeh, but things like how do you do a dtm, you sjould look in the tut island for.
I have voted no, but good luck.

T~M

JPHamlett

2009-05-29 02:30:45

From: The Man
yeh, but things like how do you do a dtm, you sjould look in the tut island for.
I have voted no, but good luck.

T~M


i use dtms in every script that i applied with and i also use bitmaps in one of them i only dont really get the ddtms which i am reading up on

JAD

2009-05-29 02:49:50

From: The Man
Is that good though?

T~M


Asking for help or asking for something to be explained is never a bad thing.


I really like your attitude and your willingness to learn. You seem like you have been trying very hard at scripting, and you've done a very good job with your script, so I say yes.

Dynamite

2009-05-29 02:56:01

i never said it was bad, but maybe… meh forget it lol.
you definately have the right attitude and willingness to learn ;)

T~M

mormonman

2009-05-29 02:56:32

Yes, obviously you worked hard, and I have seen you improve greatly since your first powerminer. I love that you want to fix a script, because they promotes learning… be sure to choose a script that was made by the best, because it will teach you even more. Also, I just want to go against certain idiots that think they know scripting, but have much more to learn(as do I)

Dynamite

2009-05-29 03:21:40

Were you referring to me mormonman?!
Go on irc if you were!!

T~M

XcanadamanX

2009-05-29 06:09:13

From: Richard
If I remember rightly, the colour changes as you walk along? Sorry if I'm wrong.


it changes every time it loads…but not everytime you move. thats why i said to do a
if not findcolor(roadcolor...) then roadcolor:=findvarrokroadcolor

Tickyy

2009-05-31 23:20:43

Well, Let's see…

First, Your standards are Awful, that's a big point imo, as a srl member you really should know how to make your standards :).

Second :


// Your mining Procedure:
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);


// Benjaa's Mining Procedure..
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);

Can you see any difference between them, No?

————————-


LampSkill := 'mining';
FindNormalRandoms;

Ehhh… yeah that's the old mode, here's the new one:


If FindNormalRandoms then UseRewardBox;

Also, the antiban looks to be the same like the one from my script… (EDIT: you've credited only one of them, but anyways).

Anyways, this time its a NO from me, sorry… Good luck next time.

Also, i call for a Re-Look on these scripts, IMO, he just copied too much.

XcanadamanX

2009-06-01 01:03:56

From: Tickyy


LampSkill := 'mining';
FindNormalRandoms;

Ehhh… yeah that's the old mode, here's the new one:


If FindNormalRandoms then UseRewardBox;


just so you know FNR uses UseRewardBox in it. so doing if FNR the UseRewardBox would do the UseReward box twice.

Torrent of Flame

2009-06-01 01:34:43

Tickky, fuck standards at SRL Member level. Seriousley. It doesnt affect how good at scripting you are and being an SRL Member is about how well you can utilize SRL.


EDIT:
From: Tickyy
Well, Let's see…

First, Your standards are Awful, that's a big point imo, as a srl member you really should know how to make your standards :).

Second :


// Your mining Procedure:
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);


// Benjaa's Mining Procedure..
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);

Can you see any difference between them, No?


Maybe it was a tutorial? Or he looked through the script for referance? I looked through/copied little bits of many scripts when I first started, and It would look like that if he had done it himself, so why does it matter? Its not liek he copied a TPA and tried to pass it off as his own.

Stop nit-picking, please.

ian.

2009-06-01 08:51:27

I agree with ToF. And J_Pizzle is a nice guy :] I like him. He asked a lot of questions before applying so he obviously wanted the script to work, and he seems to be a good learner. I say yes.

(By the way, his standards aren't too bad. I easily read them without being in pain :p)

Hobbit

2009-06-14 22:08:16

In!

Welcome, Sorry for the delay.