tim46
2007-05-30 19:34:06
<!– BEGIN TEMPLATE: formanswers –>
tim46 - SRL Member Application Form
tim46
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
JavaScript, PHP, HTML, SQL, some Python, and Delphi/SCAR
Other Communitys
Mopar,Sythe
How Long have You Played Runescape
About 3 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Hello,
My name is Tim. I started scripting maybe a month ago, and was just a dumb little leacher, who was hoping to make some quick money. Then, I learnt how fun scripting actually was. I loved to do it, I made procedures, functions, little scripts, all of that. Then I found SRL and started loving to script even more. Even though I made this acount a couple of days ago, I still looked at the forums and looked through the SRL procedures/functions so that I could learn all of them.
Well, anyways, this is probably getting a bit to long and boring, and I know that this is going to sound like the typical application but, I do want to improve and learn my knowledge of scripting. :P I hope I get accepted.
The script that I will post is a F2P rune buyer. It will buy any runes in either Betty's Magic Emporium or Aubury's Rune Shop. It has serveral anti-ban procedures, and multiplayer compatability. I've tested it over-night many times, and during the day when I am at school, and it worked perfectly(and earned me a good profit to). I designed it so that it could run 24/7, but I was never able to test it that long as I need to use the computer alot for my homework. I hope that this is up to your standards :)
All of the script is mine except the Aubury finding procedure
Finding Aubury procedure taken from Wizzup. Thanks a ton, you saved me alot of work.
All credit to him for the amazing procedure, mine wasn't very good lol.Only found Aubury
when nobody was in the store.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
tim46 - SRL Member Application Form
tim46
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
JavaScript, PHP, HTML, SQL, some Python, and Delphi/SCAR
Other Communitys
Mopar,Sythe
How Long have You Played Runescape
About 3 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Hello,
My name is Tim. I started scripting maybe a month ago, and was just a dumb little leacher, who was hoping to make some quick money. Then, I learnt how fun scripting actually was. I loved to do it, I made procedures, functions, little scripts, all of that. Then I found SRL and started loving to script even more. Even though I made this acount a couple of days ago, I still looked at the forums and looked through the SRL procedures/functions so that I could learn all of them.
Well, anyways, this is probably getting a bit to long and boring, and I know that this is going to sound like the typical application but, I do want to improve and learn my knowledge of scripting. :P I hope I get accepted.
The script that I will post is a F2P rune buyer. It will buy any runes in either Betty's Magic Emporium or Aubury's Rune Shop. It has serveral anti-ban procedures, and multiplayer compatability. I've tested it over-night many times, and during the day when I am at school, and it worked perfectly(and earned me a good profit to). I designed it so that it could run 24/7, but I was never able to test it that long as I need to use the computer alot for my homework. I hope that this is up to your standards :)
All of the script is mine except the Aubury finding procedure
Finding Aubury procedure taken from Wizzup. Thanks a ton, you saved me alot of work.
All credit to him for the amazing procedure, mine wasn't very good lol.Only found Aubury
when nobody was in the store.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{ f2pRuneBuyer - To be used with SRL
Written by Tim46
How to use: Start logged out in Betty's Magic Emporium or Aubury's Rune Shop.
The script will do all the rest(hopefully).
You can also start logged in, and already in the shop window.
!!Don't forget to bring money!!
Finding Aubury procedure taken from Wizzup! Thanks a ton, you saved me alot of work.
All credit to him for the amazing procedure, mine wasn't very good lol.Only found Aubury
when nobody was in the store.
}
program F2PRuneBuyer;
{.include SRL/SRL.scar}
{.include SRL/SRL/Misc/Amount.scar}
const
Fires = 'False'; // Set to True to buy runes
Waters = 'False';
Airs = 'False';
Earths = 'False';
Minds = 'False';
Bodies = 'False';
Chaoss = 'True';
Deathss = 'false';
PlayerTime = 300; //The time that you want each player to be logged in for(in minutes).
BuyTime = 300; // The time that you want the script to work for(in minutes). Put 99999999
// if you want for it to work till money runs out(will change it later).
Place= 'Betty'; //Betty for Betty's Magic Emporium, Aubury for Aubury's Rune Shop
BettyColor = 5769305; //Bettys torso color. Pre-picked, but you can change it if you want.
BettyColor2 = 11059157; //Bettys arm color. Pre-picked, but you can change it if you want.
procedure DeclarePlayers;
begin
HowManyPlayers := 3; //Number of players
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:= 1;
Players[0].Name :='name1';
Players[0].Pass :='pass1';
Players[0].Nick :='nick1';
Players[0].Active:=True;
Players[1].Name :='name2';
Players[1].Pass :='pass2';
Players[1].Nick :='nick2';
Players[1].Active:=True;
Players[2].Name :='name3';
Players[2].Pass :='pass3';
Players[2].Nick :='nick3';
Players[2].Active:=False;
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
var
Scriptime, LogInTime, ChaosR, WaterR, FireR, BodyR,
DeathR, EarthR, AirR, MindR, ChaosRR, WaterRR, FireRR, BodyRR,
DeathRR, EarthRR, AirRR, MindRR :Integer;
procedure NoRandoms;
begin
if(InBlack)then
begin
Logout;
WriteLn('InBlack. Logging out.')
end;
SRLRandomsReport;
FindNormalRandoms;
FindLamp(LampSkill);
end;
Function FindAuburyText: Boolean;
var
ExitCond, NoMoreYellow: Boolean;
AuburyText,Yint, Xmin, diff, difflast, Xmax, XmidRec, Xmid: Integer;
RawMenuText: string;
begin
NoRandoms;
AuburyText := CreateBitmapMaskFromText('isthine', upchars);
x := 0;
y := 0;
Xmid := 0;
Xmin := 0;
Xmax := 0;
NoMoreYellow := False;
if (FindColor(x, y, 65535, 10, 25, 511, 334)) and (not (FindColor(x, y, 65280, 220, 130, 290, 165))) then
begin
Result := False;
if (not (FindBitmapMaskTolerance(AuburyText, x, y, 0, 0, 516, 338, 0, 40)))
then
Exit;
if (FindColorSpiral(x, y, 65535, x - 10, y - 10, x + 10, y + 10)) then
begin
Wait(10);
if (GetColor(x, y) = 65535) then
begin
WriteLn('Spotted Aubury text.');
Wait(10);
NoMoreYellow := False;
Yint := 0;
repeat
Yint := Yint + 1;
y := y + Yint;
x := 0;
repeat
ExitCond := False;
x := x + 1;
Xmin := x;
if (GetColor(x, y) = 65535) then
ExitCond := True;
if (x > 500) then
begin
x := 0;
ExitCond := True;
NoMoreYellow := True;
end;
until (ExitCond);
ExitCond := False;
x := 520;
while (NoMoreYellow = False) and (ExitCond = False) do
begin
x := x - 1;
Xmax := x;
if (GetColor(x, y) = 65535) then
ExitCond := True;
end;
diff := (Xmax - Xmin);
if (diff > difflast) and (diff > 25) then
begin
NoRandoms;
XmidRec := ((diff / 2) + Xmin);
end;
difflast := diff;
until (NoMoreYellow)
x := XmidRec;
MMouse(x, y + 6, 3, 0);
Wait(100);
if IsUpTextMulti('Talk', 'lk-to', 'to') Then
begin
GetMousePos(x, y);
Mouse(x, y + 6, 0, 0, False);
if (ChooseOptionGetMenuText(RawMenuText, x, y, 'Trade')) then
begin
NoRandoms;
WriteLn('Found Aubury. Here comes the money.');
FFlag(1);
Wait(1000 + Random(500))
Result := True;
Exit;
end;
end;
end;
end;
end;
end;
Function SpotAubury: Boolean;
Var
iX, iY, C: Integer;
Begin
NoRandoms;
Repeat
CloseWindow;
Wait(50);
If FindAuburyText Then
Begin
Result := True;
Break;
End;
iX := MSCX;
iY := MSCY;
If FindColorSpiralTolerance(iX, iY, 2998011, MSX1, MSY1, MSX2, MSY2, 4)
Or FindColorSpiralTolerance(iX, iY, 1888494, MSX1, MSY1, MSX2, MSY2, 4) Then
Begin
MMouse(iX, iY, 0, 0);
Wait(10);
If IsupTextMulti('Talk','bury','alk-to') Then
Begin
Mouse(iX, iY, 0, 0, False);
Result := ChooseOption(iX, iY, 'Trade');
If Result Then Exit;
End;
End;
C := C + 1;
Until C > 5;
Wait(500);
NoRandoms;
If Not LoggedIn Then Exit;
End;
procedure FindBetty;
var BettyTime : integer;
begin
MarkTime(BettyTime)
repeat
begin
wait(200 + random(500));
if (findobj3(x,y,'Bett',BettyColor,4)) or (findobj3(x,y,'Bett',BettyColor2,4)) then
begin
Mouse(x,y,5,5,False);
chooseoption(x,y,'Tra');
wait(2000 + random(600));
end;
end;
until(ShopScreen) or (TimeFromMark(BettyTime) > 2*60000);
if (TimeFromMark(BettyTime) > 2*60000) then
begin
Logout;
Writeln('Could not find Betty. Please make sure you are near her.');
TerminateScript;
end;
end;
procedure Water;
begin
if (Waters='True') then
begin
wait(200 + random(100));
If(((RuneAmount('shop','water')) > 0))then
repeat
wait(200 + random(100));
Mouse(143,84,5,5,false)
wait(200 + random(100));
Case Random(3) of
0: ChooseOption(x,y,'uy 10');
1: ChooseOption(x,y,'uy 1');
2: ChooseOption(x,y,'uy 5');
end;
Case Random(4) of
0: wait(500 + random(200));
1: PickUpMouse;
2: wait(500 + random(200));
3: wait(500 + random(200));
end;
until(((RuneAmount('shop','water')) = 0));
end;
end;
procedure Fire;
begin
if (Fires='True') then
begin
wait(200 + random(100));
If(((RuneAmount('shop','fire')) > 0))then
repeat
wait(200 + random(100));
Mouse(93,86,5,5,false);
wait(200 + random(100));
Case Random(3) of
0: ChooseOption(x,y,'uy 10');
1: ChooseOption(x,y,'uy 1');
2: ChooseOption(x,y,'uy 5');
end;
Case Random(4) of
0: wait(500 + random(200));
1: PickUpMouse;
2: wait(500 + random(200));
3: wait(500 + random(200));
end;
until(((RuneAmount('shop','fire')) = 0));
end;
end;
procedure Air;
begin
if (Airs='True') then
begin
wait(200 + random(100));
If(((RuneAmount('shop','air')) > 0))then
repeat
wait(200 + random(100));
Mouse (186,85,5,5,false)
wait(200 + random(100));
Case Random(3) of
0: ChooseOption(x,y,'uy 10');
1: ChooseOption(x,y,'uy 1');
2: ChooseOption(x,y,'uy 5');
end;
Case Random(4) of
0: wait(500 + random(200));
1: PickUpMouse;
2: wait(500 + random(200));
3: wait(500 + random(200));
end;
until(((RuneAmount('shop','air')) = 0));
end;
end;
procedure Mind;
begin
if (Minds='True') then
begin
wait(200 + random(100));
If(((RuneAmount('shop','mind')) > 0))then
repeat
wait(200 + random(100));
Mouse(281,86,5,5,false)
wait(200 + random(100));
Case Random(3) of
0: ChooseOption(x,y,'uy 10');
1: ChooseOption(x,y,'uy 1');
2: ChooseOption(x,y,'uy 5');
end;
Case Random(4) of
0: wait(500 + random(200));
1: PickUpMouse;
2: wait(500 + random(200));
3: wait(500 + random(200));
end;
until(((RuneAmount('shop','mind')) = 0));
end;
end;
procedure Earth;
begin
if (Earths='True') then
begin
wait(200 + random(100));
If(((RuneAmount('shop','earth')) > 0))then
repeat
wait(200 + random(100));
Mouse(236,84,5,5,false)
wait(200 + random(100));
Case Random(3) of
0: ChooseOption(x,y,'uy 10');
1: ChooseOption(x,y,'uy 1');
2: ChooseOption(x,y,'uy 5');
end;
Case Random(4) of
0: wait(500 + random(200));
1: PickUpMouse;
2: wait(500 + random(200));
3: wait(500 + random(200));
end;
until(((RuneAmount('shop','earth')) = 0));
end;
end;
procedure Death;
begin
if (Deathss='True') then
begin
wait(200 + random(100));
If(((RuneAmount('shop','death')) > 0))then
repeat
wait(200 + random(100));
Mouse(422,86,5,5,false)
wait(200 + random(100));
Case Random(3) of
0: ChooseOption(x,y,'uy 10');
1: ChooseOption(x,y,'uy 1');
2: ChooseOption(x,y,'uy 5');
end;
Case Random(4) of
0: wait(500 + random(200));
1: PickUpMouse;
2: wait(500 + random(200));
3: wait(500 + random(200));
end;
until(((RuneAmount('shop','death')) = 0));
end;
end;
procedure Body;
begin
if (Bodies='True') then
begin
wait(200 + random(100));
If(((RuneAmount('shop','body')) > 0))then
repeat
wait(200 + random(100));
Mouse(329,85,5,5,false)
wait(200 + random(100));
Case Random(3) of
0: ChooseOption(x,y,'uy 10');
1: ChooseOption(x,y,'uy 1');
2: ChooseOption(x,y,'uy 5');
end;
Case Random(4) of
0: wait(500 + random(200));
1: PickUpMouse;
2: wait(500 + random(200));
3: wait(500 + random(200));
end;
until(((RuneAmount('shop','body')) = 0));
end;
end;
procedure Chaos;
begin
if (Chaoss='True') then
begin
wait(200 + random(100));
If(((RuneAmount('shop','chaos')) > 0))then
repeat
wait(200 + random(100));
Mouse (374,85,5,5,false);
wait(200 + random(100));
Case Random(3) of
0: ChooseOption(x,y,'uy 10');
1: ChooseOption(x,y,'uy 1');
2: ChooseOption(x,y,'uy 5');
end;
Case Random(4) of
0: wait(500 + random(200));
1: PickUpMouse;
2: wait(500 + random(200));
3: wait(500 + random(200));
end;
until(((RuneAmount('shop','chaos')) = 0));
end;
end;
procedure AmountOfRunes;
begin
WaterRR:= RuneAmount('inv','water');
AirRR:= RuneAmount('inv','air');
ChaosRR:= RuneAmount('inv','chaos');
DeathRR:= RuneAmount('inv','death');
FireRR:= RuneAmount('inv','fire');
EarthRR:= RuneAmount('inv','earth');
BodyRR:= RuneAmount('inv','body');
MindRR:= RuneAmount('inv','mind');
end;
procedure AmountOfRunes2;
begin
WaterR:= RuneAmount('inv','water') - WaterRR;
AirR:= RuneAmount('inv','air') - AirRR;
ChaosR:= RuneAmount('inv','chaos') - ChaosRR;
DeathR:= RuneAmount('inv','death') - DeathRR;
FireR:= RuneAmount('inv','fire') - FireRR;
EarthR:= RuneAmount('inv','earth') - EarthRR;
BodyR:= RuneAmount('inv','body') - BodyRR;
MindR:= RuneAmount('inv','mind') - MindRR;
end;
procedure Report;
begin
Writeln('[[======================================');
Writeln('[[=== f2pRuneBuyer - written by Tim46');
Writeln('[[=== Version 1.0');
Writeln('[[======================================');
Writeln('[[=== Worked For : ' + ScriptTime2(2));
Writeln('[[======================================');
Writeln('[[=== Bought approximately:');
Writeln('[[===' + IntToStr(WaterR) + ' waters, ' + IntToStr(AirR) + ' airs, ' + IntToStr(ChaosR) + ' chaos, ' + IntToStr(DeathR) + ' deaths-----]]');
Writeln('[[===' + IntToStr(FireR) + ' fires, ' + IntToStr(EarthR) + ' earths, ' + IntToStr(BodyR) + ' bodies, and ' + IntToStr(MindR) + ' minds.----]]');
Writeln('[[======================================');
end;
procedure CloseWindow2;
begin
wait(500 + random(700));
Mouse(487,41,3,3,true);
end;
begin
SetUpSRL;
ClearDebug;
MarkTime(Scriptime);
ActivateClient;
wait(500);
DeclarePlayers;
LoginPlayer;
wait(1000);
HighestAngle;
MakeCompass('N');
AmountOfRunes;
repeat
NoRandoms;
if (Place='Aubury')then
begin
FindAuburyText;
SpotAubury;
wait(1000 + random(1000));
end;
if (Place='Betty')then
begin
FindBetty;
end;
MarkTime(LogInTime);
Writeln('Player time logged.');
wait(1000 + random(1000));
repeat
Death;
Chaos;
Water;
Fire;
Air;
Earth;
Mind;
Body;
if (TimeFromMark(LogInTime) > (PlayerTime*60000)) or (InChat('enough coin')) then
begin
if (Players[CurrentPlayer].Active) then
CloseWindow2;
LogOut;
WriteLn('Player time is up, on to the next player.');
end
until(TimeFromMark(LogInTime) > (PlayerTime*60000)) or (InChat('enough coin'));
NextPlayer(True);
HighestAngle;
MakeCompass('N');
AmountOfRunes2;
wait(2000 + random(500));
Report;
until(TimeFromMark(Scriptime) > (BuyTime*60000));
if (TimeFromMark(Scriptime) > (BuyTime*60000)) then
begin
WriteLn('BuyTime reached. Ending script.');
CloseWindow2;
LogOut;
Report;
TerminateScript;
end
end.
——————————————————
<!– END TEMPLATE: formanswers –>