Tim0suprem0
2007-08-12 01:30:38
<!– BEGIN TEMPLATE: formanswers –>
tim0suprem0 - SRL Member Application Form
tim0suprem0
What is the meaning to life? 42
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
None
Other Communitys
Sometimes I peek at Tainted Ones :)
How Long have You Played Runescape
4.5 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I'm 16 years old, I live in milwaukee and play a lot of soccer when I'm not on the computer. I stumbled upon scar like most others, with lots of Google searches like 'free RS bot' haha etc. etc. and eventually found my way to kaitniek where I merely observed, I didn't even leech really. My join date at SRL is much earlier than when I actually started participating, I just signed up to get free scripts, and found myself reading the other posts more often than stealing scripts. I found no real need to cheat though, I still enjoyed the game, and I found that I couldn't keep focused when trying to learn scar, I was very busy with soccer and school at the time. Once the summer came though I started to stay up late at night, and it was really the tutorials by JAD that singlehandedly got me to start scripting. I stayed around the forums, learned what I could, stayed out of Here's way, and tried to be as not nooby and as friendly as possible. Finally I wrote my own script and it was OK, so I released it to Free section, but since Firemaking rarely receives any activity I didn't get much feedback. But here I am now, and if I say so myself, I think this is a pretty killer script. I hope you guys like it haha now that you've heard my entire life story as well (sorry for the extra long paragraph :p).
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
tim0suprem0 - SRL Member Application Form
tim0suprem0
What is the meaning to life? 42
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
None
Other Communitys
Sometimes I peek at Tainted Ones :)
How Long have You Played Runescape
4.5 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I'm 16 years old, I live in milwaukee and play a lot of soccer when I'm not on the computer. I stumbled upon scar like most others, with lots of Google searches like 'free RS bot' haha etc. etc. and eventually found my way to kaitniek where I merely observed, I didn't even leech really. My join date at SRL is much earlier than when I actually started participating, I just signed up to get free scripts, and found myself reading the other posts more often than stealing scripts. I found no real need to cheat though, I still enjoyed the game, and I found that I couldn't keep focused when trying to learn scar, I was very busy with soccer and school at the time. Once the summer came though I started to stay up late at night, and it was really the tutorials by JAD that singlehandedly got me to start scripting. I stayed around the forums, learned what I could, stayed out of Here's way, and tried to be as not nooby and as friendly as possible. Finally I wrote my own script and it was OK, so I released it to Free section, but since Firemaking rarely receives any activity I didn't get much feedback. But here I am now, and if I say so myself, I think this is a pretty killer script. I hope you guys like it haha now that you've heard my entire life story as well (sorry for the extra long paragraph :p).
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{=========================================================================]
[ Tim0's Buy'N'Light ]
[ ]
[ NAME : Tim0's Buy'N'Light ]
[ VERSION : 1.1 ]
[ WRITER : Tim0Suprem0 ]
[ CATEGORY : Firemaking ]
[ DESCRIPTION : Buys logs from Varrock General Store and burns ]
[ them in the city center ]
[ ]
[=========================================================================]
[ SETUP ]
[=========================================================================]
[ 1. USE Runescape with Low Detail, Very Bright. ]
[ 2. Set your Screen to 32 bit TRUE color. ]
[ 3. Pick which type of logs to burn and how many loads to do. ]
[ 4. Start in West Varrock Bank in the first bank slot with your tinderbox]
[ in the first inventory space and your money in the second ]
[ 5. Start script Logged Out / Logged in ]
[=========================================================================]
[ Credits to : ]
[ Lorax/Sumilion --> For Description Block ]
[ JAD --> JADSymbol Procedure, his amazing tutorials ]
[ SANTACLAUSE --> Is insanely cool. I owe it to him for proofreading]
[ my script and helping me out a bunch! ]
[ WT-Fakawi --> For lots of ideas in this script ]
[ Tarajunky --> For the ChangePlayers case ]
[ Masquerader --> For his original RunDesktopProgram and all his ]
[ text procedures(that inspired my world switcher) ]
[=========================================================================}
program BuyNLight;
{.include SRL\SRL.scar}
{.include SRL\SRL\Misc\amount.scar}
{.include SRL\SRL\Extended\xBitMap.scar}
{.include SRL\SRL\Extended\xInventory.scar}
{.include SRL\SRL\Skill\BuySell.scar}
var Fountain,TotalLoads,TotalBurned,iX,iY,C,D,E,F,I,J,Loads,Burned,{TreeDTM}TreeBMP,Bankers,WillowLog,OakLog,NormalLog,Log:integer;
//-----------------------------SETUP-------------------------------\\
const
WhichLog = ;{1 for Normal(usually aren't many normal logs),2 for Oak,3 for Willow}
LoadsToBurn = ;{Loads of logs to burn per player}
SwitchLogs = ;{True if you want to switch log types if there are none in store ONLY IF USE WORLDSWITCH IS FALSE}
UseWorldSwitch = ;{True if yes to switch worlds if no logs in store, False if not(if it doesnt work for you }
WorldName='US Central';{enter the name of the area of worlds to switch to(i.e. US East}
{^^ DO what shows up near the top of your list of worlds}
//--------------------------PLAYER SETUP----------------------------\\
procedure DeclarePlayers;
begin
HowManyPlayers := 6;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := 'UserName';
Players[0].Pass := 'Password';
Players[0].Nick := '3-4 letters of UserName';
Players[0].Active := True;
Players[0].Loc := 'at Bank';
Players[1].Name := 'UserName';
Players[1].Pass := 'Password';
Players[1].Nick := '3-4 letters of UserName';
Players[1].Active := True;
Players[1].Loc := 'at Bank';
Players[2].Name := 'UserName';
Players[2].Pass := 'Password';
Players[2].Nick := '3-4 letters of UserName';
Players[2].Active := True;
Players[2].Loc := 'at Bank';
Players[3].Name := 'UserName';
Players[3].Pass := 'Password';
Players[3].Nick := '3-4 letters of UserName';
Players[3].Active := True;
Players[3].Loc := 'at Bank';
Players[4].Name := 'UserName';
Players[4].Pass := 'Password';
Players[4].Nick := '3-4 letters of UserName';
Players[4].Active := True;
Players[4].Loc := 'at Bank';
Players[5].Name := 'UserName';
Players[5].Pass := 'Password';
Players[5].Nick := '3-4 letters of UserName';
Players[5].Active := True;
Players[5].Loc := 'at Bank';
end;
//---------------------------------------------------------------------------\\
procedure ReturnToBank; forward;
procedure LookForRandoms; forward;
procedure Changeplayers; forward;
procedure WorldSwitch;//By me Tim0Suprem0, with the original code by masquerader
var
WorldSelect,WorldText,Width,Height,Mask:integer;
begin
WorldSelect:= BitmapFromString2(False, 'aF69FB78DA6D8F410EC5200844' +
'AF8432637569B5DEFF481FD4FCB46959BC1018061011296A10D0D' +
'1A23357633C9B33C3487ACE918CC925C27638B3CF2ABDD4BA7745' +
'AF1430942951358F19EC68AA4970593D135A38D0553120B16ECDB' +
'02E36A77EBC8205B690D9B92B336702E34541886DD72B8A8675C9' +
'DDC17CAF581E6E9CB300FEBCF97FDCD0716A5CFE3C5135BC35EBF' +
'7F5CB63AA7C3BEF2F96E7ED8B87A6D9AEF8DEC80387CA0F97A');
FindWindowTitlePart('the massive online adventure',false);
ActivateClient;
if FindBitmap(WorldSelect,x,y) then
Mouse(x+20,y,0,0,true);
Wait(100);
KeyDown(13);
KeyUp(13);
Wait(3000);
FindWindowTitlePart('the massive online adventure',false);
ActivateClient;
WorldText:=LoadCharsFromFont2('Arial',10,False,False,False,False);
Mask:=CreateBitmapMaskFromText(WorldName,WorldText)
GetClientDimensions(Width,Height);
if(FindBitmapMaskTolerance(Mask,x,y,0,0,Width,Height,0,10))then
begin
WriteLn('Found');
GetBitmapSize(Mask,Width,Height)
Mouse((x+Width div 2)-260,y+10+(random(5)*23),0,0,True);
end;
FreeBitmap(WorldSelect);
end;
procedure BuyCoords2(x, y, Amount: Integer); // By RSN, modified by Tim0Suprem0 because I'm nitpicky and Clickoption doesnt always work
var
ix, iy: Integer;
ToBuy: array[1..3] of Integer;
Done: array[1..3] of Integer;
begin
ix := x;
iy := y;
ToBuy[1] := Amount div 10;
ToBuy[2] := (Amount mod 10) div 5;
ToBuy[3] := (Amount mod 10) mod 5;
while (done[1] < tobuy[1]) do
begin
Mouse(ix, iy, 3, 3, False);
Wait(450);
if (ChooseOption(x,y,'Buy 10')) then//ChooseOption instead of clickoption
Done[1] := done[1] + 1
else
Exit;
Wait(300);
end;
while (done[2] < tobuy[2]) do
begin
Mouse(ix, iy, 3, 3, False);
Wait(450);
if (ChooseOption(x,y,'Buy 5')) then
Done[2] := done[2] + 1
else
Exit;
Wait(300);
end;
while (done[3] < tobuy[3]) do
begin
Mouse(ix, iy, 3, 3, False);
Wait(450);
if (ChooseOption(x,y,'Buy 1')) then
Done[3] := done[3] + 1
else
Exit;
Wait(300);
end;
end;
function FindDeformedMM(var iX, iY: Integer; BMP: integer): Boolean; //By Nielsie95, thank you!!
var ref, acc: extended; Tol, Times, XT, YT: integer;
begin
Ref := 0.9;
Tol := 20;
for Times := 1 to 50 do
begin
FindDeformedBitmapToleranceIn(BMP, XT, YT, 620, 46, 745, 161, tol, 2, True, acc);// instead of MMX1,MMY1,etc had to specify parameters so didnt click wrong tree
if (Acc >= Ref) then
begin
iX := XT;
iY := YT;
Result := True;
Exit;
end;
if Times mod 5 = 0 then
begin
Ref := Ref - 0.05;
Tol := Tol + 5;
end;
Wait(20 + Random(20));
end;
end;
function JadSymbol(WhatSymbol: String; Click, Switch: Boolean): Boolean;// By JAD, Thank you too!
var I: Integer;
begin
for I := 1 to 25 do
begin
if(FindSymbol(x,y,(WhatSymbol)))then
begin
if(Click)then
Mouse(x,y,2,2,true);
Flag;//little extra
Result := True;
Exit;
end;
wait(750+random(500));
end;
Writeln('Could NOT find symbol.');
Result := False;
if(Switch)then
LogOut;
end;
Procedure FillMem;
begin
{TreeDTM:= DTMFromString('78DA6394676660606564400672DEFC0C22401' +
'A24FA1F0818A5806A78216A44B0A801014639A01A31FC6A00A7F7' +
'065A');}
TreeBMP:= BitmapFromString2(False, 'a438E078DA658F410EC' +
'4200C03BF943A248563A8E8FF9FD418560869398C1C6307212217' +
'5CF20CD2AD92FA24ADFAE64543BC049DC18CF5417AEC0C6AA1B6D' +
'97DE736B07577FA77E3E0DD36B16E4349B0E56F239BEE8CCCFDC0' +
'B0280F6231274883A1E70B4BFFB188227F76E89F335BA736D7907' +
'1EA0F866')
Fountain:= DTMFromString('78DA63E46664608861400109ADFD0C22401A2' +
'8C3F01F08189381AC685435B10D5D703520000031ED082B');
{Fountain:= DTMFromString('78DA634C636460D8C1800212DB2630880069A' +
'00CC37F20607406B2D251D524B4F4C1D5800000618F08DC');}
NormalLog := DTMFromString('78DA63CC66626078CD8002D6F707307001694' +
'620FE0F048C854035EF19D000231209A493816A9E1350930E54F3' +
'08BF1A004F300AF1');
OakLog := DTMFromString('78DA63F4606260D06364400615B1960C5C401' +
'A24FA1F08182D816AF451D54064612490F602AA3123A0261CA846' +
'97809A60A01A75FC6A00F546078E');
WillowLog := DTMFromString('78DA63FCCAC8C0600BC448C0DF4D8A4104488' +
'344FF0301E31F20CB02550D44164602E9EF4096330135CF099B03' +
'00C2900992');
Bankers:=DTMFromString('78DA639CCEC4C010C48002FEFC61629004D28' +
'C40FC1F0818416ABC30D53040D580E919407E2C03560053030004' +
'C00AD5');
end;
//-----------------------------WALKING PROCEDURES----------------------------//
Procedure FindTheTree;
begin
if FindDeformedMM(iX, iY ,TreeBMP) then
begin
Mouse(iX-24,iY+35,2,2,true);
end else
begin
ReturnToBank;
Changeplayers;
end;
end;
Procedure ToShop2;
begin
if FindSymbol(iX,iY,'anvil') then
begin
RadialRoadWalk(FindVarrockRoadColor, 70, 100, 25, 0,0);
Flag;
RadialRoadWalk(FindVarrockRoadColor, 85, 110, 25, 0, 0);
Flag;
end;
begin
if (JADSymbol('water',true,false)) then
begin
Wait(1);
end else
begin
RadialRoadWalk(FindVarrockRoadColor, 85, 110, 40, 0, 0);
Flag;
end;
end;
FindTheTree;
Wait(3000+random(1000));
Flag;
MakeCompass('E');
end;
Procedure ToShop;
begin
if (JADSymbol('water',true,false)) then
begin
Wait(10);
end else
begin
RadialRoadWalk(FindVarrockRoadColor, 110, 130, 70, 0, 0);
Flag;
end;
FindTheTree;
Wait(3000+random(1000));
Flag;
MakeCompass('E');
end;
procedure WalkToShop;
begin
RadialRoadWalk(FindVarrockRoadColor,175,190,64,0,0);
Flag;
RadialRoadWalk(FindVarrockRoadColor, 72, 107, 60, 0,0);
Flag;
ToShop;
end;
Procedure FindTheTreeAgain;
begin
if FindDeformedMM(iX, iY ,TreeBMP) then
begin
Mouse(iX-5,iY,1,1,true);
Flag;
end;
end;
Procedure FindTheFountain;
begin
if FindColorTolerance(iX,iY,9471585,MSX1,MSY1,MSX2,MSY2,20) then
begin
Mouse(iX+20,iY,2,2,true);
Flag;
end;
end;
procedure GoToCenter;
begin
MakeCompass('W');
if FindDTM(Fountain,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Mouse(x+(10+random(30))+I,y+5,2,2,true);
end;
end;
//-------------------------BUYING PROCEDURES/FUNCTIONS---------------------//
procedure BuyLogs;
begin
case Whichlog of
1: Log:= NormalLog;
2: Log:= OakLog;
3: Log:= WillowLog
end;
begin
if FindDTM(Log,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
if InChatMulti('don','oug','oin') then
begin
Writeln('You''re out of money');
MakeCompass('N');
ReturnToBank;
Changeplayers;
end else
begin
BuyCoords2(x,y,(28-InvCount));
Exit;
end;
end else
Writeln('No Logs at store');
if Switchlogs then
begin
case Whichlog of
1: Log:= OakLog;
2: Log:= WillowLog;
3: Log:= OakLog;
end;
end;
if UseWorldSwitch then
begin
WorldSwitch;
Wait(5000);
repeat
Wait(200)
until(not(Findcolor(x,y,1118604,0,0,1000,700)));
LoginPlayer;
HighestAngle;
end else
begin
MakeCompass('N');
ReturnToBank;
Changeplayers;
end;
end;
end;
function FindStorekeep: boolean;
begin
repeat
C:= C+1;
if FindObjMultiText(x,y,'sho','kee','per',868731,15) then
begin
Mouse(x,y,2,2,False);
Wait(100);
ClickOption('ade',1);
Wait(1000);
if Shopscreen then
begin
Result:=true;
Break;
end;
end else
begin
if FindObjMultiText(x,y,'sho','ssi','tan',3244939,15) then
begin
Mouse(x,y,2,2,False);
Wait(100);
ClickOption('ade',1);
Wait(3000);
if Shopscreen then
begin
Result:=true;
Break;
end;
end;
end;
until ((C>15) or (Shopscreen));
if (ShopScreen) then
begin
Result:=True;
Wait(1000);
BuyLogs;
Mouse(486,40,3,3,true);
MakeCompass('N');
end else
begin
Result:= False;
Players[CurrentPlayer].Loc := 'Lost';
end;
end;
//----------------------LIGHTING PROCEDURES/FUNCTIONS---------------------//
Procedure LightTheLogs;
begin
SetChat('friends',1);
Wait(1000);
repeat
if FindDTM(Log,x,y,560,210,734,459) then
begin
Mouse(x+random(3), y-random(3), 3, 3, True);
Wait(250);
Mouse(586, 228, 3, 3, True);
Wait(1500);
Burned:=Burned+1;
repeat
if (not (Loggedin)) then
begin
Break;
end else
ClickToContinue;
Wait(250);
until InChatMulti('ire','atc','urn');
end;
until ((Not (FindDTM(Log,x,y,560,210,734,459))) or InChatMulti('can', 'lig', 'here'));
Loads:=Loads+1;
LookForRandoms;
MakeCompass('N');
SetChat('on',1);
if (Loads > (LoadsToBurn+random(3)-1)) then
begin
ReturntoBank;
Changeplayers;
Exit;
end else
ToShop2;
end;
//----------------RETURNING TO BANK PROCEDURES/FUNCTIONS------------------//
Function FindBankers:Boolean;
begin
if DTMRotated(Bankers,iX,iY,MMX1,MMY1,MMX2,MMY2) then
begin
Mouse(iX-20,iY+10,2,2,true);
Flag;
Result:=True
end else
begin
Result:=False;
end;
end;
procedure Bank;//Thanks WT-Fakawi, used his banking procedure to make this one
begin
begin
MakeCompass('E');
LowestAngle;
MarkTime(Mark);
repeat
OpenBankGlass('vwb',False,False);
until(BankScreen or (TimeFromMark(Mark)>60000));
end;
if(BankScreen)then
begin
Wait(1000 + Random(1000));
CloseBank;
LookForRandoms;
Players[CurrentPlayer].Loc := 'at Bank';
end;
end;
function ClickBankColor:boolean;
begin
if FindColorTolerance(iX,iY,6085375,MMX1,MMY1,MMX2,MMY2,20) then
begin
Result:=True;
Mouse(iX,iY,2,2,true);
Flag;
end else
begin
Result:=False;
end
end;
procedure GoToWestBank;
begin
repeat
D:= D+1;
begin
if FindSymbol(iX,iY,'quest') then
begin
Mouse(iX,iY-15,2,2,true);
Flag;
RadialRoadWalk(FindVarrockRoadColor, 245, 300, 35, 0, 0);
Flag;
RadialRoadWalk(FindVarrockRoadColor, 245, 300, 35, 0, 0);
Flag;
if (FindBankers) then
begin
Bank;
Exit;
end;
end;
end;
wait(500);
until D> 10;
RadialRoadWalk(FindVarrockRoadColor, 245, 300, 35, 0, 0);
Flag;
RadialRoadWalk(FindVarrockRoadColor, 245, 300, 35, 0, 0);
Flag;
if ((FindBankers) or (JADSymbol('bank',true,false)) or (ClickbankColor)) then
begin
Bank;
end else
Players[CurrentPlayer].Loc := 'Lost';
end;
procedure ReturnToBank;
begin
Players[CurrentPlayer].Loc := 'Lost';
if FindSymbol(iX,iY,'anvil') then
begin
Mouse(iX,iY,2,2,true);
FindBankers;
Bank;
ChangePlayers;
end;
if JADSymbol('water',true,false) then
begin
GoToWestBank;
Exit;
end;
begin
if FindColorTolerance(iX,iY,15681825,MMX1,MMY1,MMX2,MMY2,20) then
begin
Mouse(iX,iY,2,2,true);
Flag;
GoToWestBank;
Exit;
end;
end;
end;
//---------------------ANTIRANDOMS-----------------------------------//
procedure LookforRandoms;
begin
FindNormalRandoms;
FindTalk;
end;
//-------------------------SCRIPT SETUP--------------------------------//
Procedure SetupScript;
begin
SetupSRL;
ActivateClient;
DeclarePlayers;
FillMem;
end;
Procedure ReSet;
begin
if (not(LoggedIn)) then
LoginPlayer;
HighestAngle;
MakeCompass('N');
SetChat('friends',2);
SetChat('off',3);
SetRun(True);
FixChat;
Gametab(4);
Loads:=0;
Burned:=0;
C:=0;
D:=0;
E:=0;
F:=0;
J:=0;
end;
procedure ChangePlayers;//Credit To Tarajunky, got this idea from LAME
begin
TotalLoads:=TotalLoads+Loads;
TotalBurned:=TotalBurned+Burned;
ClearReport;
SRLRandomsReport;
Writeln('[]-----------Tim0''s BuyNLight----------------[]');
Writeln('Worked For : ' + ScriptTime2(2))
Writeln('Loads Done : '+ IntToStr(TotalLoads));
Writeln('Logs Burned : '+ IntToStr(TotalBurned));
Writeln(Players[CurrentPlayer].Name + ' is ' + Players[CurrentPlayer].Loc);
Writeln('[]--------------------------------------------[]');
case Players[CurrentPlayer].Loc of
'at Bank': begin
NextPlayer(True);
Exit;
end;
'No Gametab': begin
NextPlayer(False);
Exit;
end;
'InBlack' : begin
NextPlayer(False);
Exit;
end;
'Lost': begin
NextPlayer(False);
Exit;
end;
end;
end;
//----------------------------MAIN LOOP--------------------------------//
begin
SetupScript;
repeat
Reset;
LookForRandoms;
WalkToShop;
repeat
if (Findstorekeep) then
begin
FindTheTreeAgain;
FindTheFountain;
GoToCenter;
LightTheLogs;
end else
begin
MakeCompass('N');
ReturnToBank;
Changeplayers;
Break;
end;
until (Loads > (LoadsToBurn+random(3)-1));
ReturnToBank;
ChangePlayers;
until (False);
end.
——————————————————
<!– END TEMPLATE: formanswers –>