noidea
2008-09-29 11:43:59
<!– BEGIN TEMPLATE: formanswers –>
noidea - SRL Member Application Form
noidea
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Sorry, none.
Other Communitys
RSBot. Used to be with Sythe on another username. This is really the only community I am very active on.
How Long have You Played Runescape
3 years (2?)
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I am striving to become an SRL member. I spent three months on this script and I am doing the best I can for the community. My parents are very old school, so they don't understand very much about the devise named, 'Personal Computer'. My father believes that when the mouse is not being moved by a human, the computer is being hacked by some one in India. I also plan to learn more languages in high school. I like to contribute to this community because *we* are the most hard working, populated community.
There you go ;)
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
noidea - SRL Member Application Form
noidea
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Sorry, none.
Other Communitys
RSBot. Used to be with Sythe on another username. This is really the only community I am very active on.
How Long have You Played Runescape
3 years (2?)
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I am striving to become an SRL member. I spent three months on this script and I am doing the best I can for the community. My parents are very old school, so they don't understand very much about the devise named, 'Personal Computer'. My father believes that when the mouse is not being moved by a human, the computer is being hacked by some one in India. I also plan to learn more languages in high school. I like to contribute to this community because *we* are the most hard working, populated community.
There you go ;)
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{
[]========================================================[]
[] __ ___ ___ ______ []
[] | | \ \ /--\ / / / ______| []
[] | | \ \/ \/ / / / []
[] | | \ /\ / | | []
[] | |_______ \ / \ / | | []
[] | | \/ \/ \ \______ []
[] |__________| \________| []
[] []
[] Lumbrige Willow Chopper []
[] []
[] by []
[] noidea []
[]========================================================[]
[]----------------- What It Does --------------------[]
[] []
[] This script is now MULTI-player!!!! []
[] It chops willows in Lumbridge next to the woodcut tutor[]
[] You have the option to choose one of the following []
[] []
[] 0: Chop willows then sells at general store []
[] 1: Chop willows then fletch and drop []
[] 2: Chop willows then drop []
[] 3: Chop willows then fletch and sell at general store[] []
[]========================================================[]
[]------------------- Instructions ---------------------[]
[] []
[] 1: 32 bit-color. []
[] 2: Fill in constants. []
[] 3: Fill in Declare Players. []
[] 4: Set Highest Brightness. []
[] 5: Players must also be near the tree. []
[]---------------------- End -----------------------[]
[] Made By: []
[] noidea []
[]========================================================[]
[]========================================================[]
[]--------------------- Credits ----------------------[]
[] Please note that every function in here, besides SRL []
[] ones of course, were made by me. []
[] []
[] Thank you dushii for recomending RRW for walking to []
[] the road in the ToWillows, ToStore, and DeathWalk []
[] functions. []
[] []
[] NaumanAkhlaQ, I used your tutorial on arrays. Thanks! []
[] []
[] []
[] []
[] []
[]-------------------- Thank You ---------------------[] }
program LWC;
{.include SRL/SRL/Misc/SMART.scar}
{.include SRL/SRL.scar}
{.include srl/srl/skill/magic.Scar}
var
Knife, Loadz, Log,Axe, WillowL, WillowS, Chopped, Tree, Ladder : Integer;
Antibans, Ent, Sold, Longs, Shorts, Level, Gained, Loads, Sbooks, SBook : Integer;
BrokeAxes, Gems, Gem, TheWaitTime, FLevel, IDeaths, tele, kx, ky : Integer;
{=========================================]
[------------ Script Setup -------------]
[---- Declare players is below this ----]
[=========================================}
{]========================================================[]
[]------------------ The Options ---------------------[]
[] 0: Chop willows then sells at general store []
[] 1: Chop willows then fletch and drop []
[] 2: Chop willows then drop []
[] 3: Chop willows then fletch and sell at general store [] []
[] []
[] If not Fletching then leave ".string[1]" blank []
[] Optional Extra of fletching, hear are options..! []
[] []
[] For fletching, put the number in the .string[1] '' []
[] 0 = Short bow[u] 1 = Long bow[u] []
[] []
[]========================================================[}
const
The_Disguise = ('Selmer Musical Instruments :: A Division of Conn-Selmer, Inc - Opera');//The way scar shows up to JAGaTEX
WorldNumber = 141;//SMART world
LoadsToDo = 1;//Loads before each player switch
Debug = False;//THE DEBUG BOX BEFORE PROGGIE
DropGem = False;//When/If dropping it will drop the gems
SellGem = true;//When/If selling logs and it finds gems it will sell.
Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';// Your UserName
Players[0].Pass := '';// Your PassWord
Players[0].Nick := 'oll';// Your Nick (3-4 letters from your username)
Players[0].Strings[0] := '0';//Option you choose 4 character.
Players[0].Strings[1] := '0';//fletch option
Players[0].Active := True;// Use this player ??}
end;
{]==============================================[]
[]---- Forwarded Procedures & Functions ----[]
[]==============================================[}
Function FindEnt(var x,y:Integer):boolean;Forward;
Procedure Chop;Forward;
Procedure Randoms;Forward;
Procedure Option0;Forward;
Procedure Option1;Forward;
Procedure Option2;Forward;
Procedure Option3;Forward;
PRocedure CheckAxe;Forward;
Procedure DeathWalk;Forward;
Function noidea_Set_Sound(Music, Bass, Treb, Speaker : String) : Boolean; Forward; {
__ __ __ __ __ __
//\\//\\//\\//\\//\\//\\
\\//\\//\\//\\//\\//\\// }
function ItemCoordsDtm(area: string; dtm: Integer): TPointArray;
var
startx, starty, rowsize, colsize, colnumber, rownumber, col, row: Integer;
x1, y1, x2, y2: Integer;
itemx, itemy: Integer;
i: Integer;
begin
if not loggedin then exit;
SetArrayLength(Result, 0);
if (CheckArea(area)) then
begin
AreaInfo(area, startx, starty, rowsize, colsize, colnumber, rownumber);
for row := 0 to rownumber - 1 do
for col := 0 to colnumber - 1 do
begin
x1 := startx + col * colsize;
y1 := starty + row * rowsize;
x2 := x1 + colsize;
y2 := y1 + rowsize;
if (FindDTM(dtm, itemx, itemy, x1, y1, x2, y2)) then
begin
i := GetArrayLength(Result);
SetArrayLength(Result, i + 1);
Result[i].x := x1;
Result[i].y := y1;
end;
end;
end;
end;
function CountItemsDtm(area: string; dtm: Integer): Integer;
var
coords: TPointArray;
begin
if not loggedin then exit;
coords := ItemCoordsDtm(area, dtm);
Result := GetArrayLength(coords);
end;
Procedure Sigg;
var
l,k:Integer;
begin
l:=0;
k:=0;
repeat
writeln('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%')
Writeln('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%')
writeln('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%')
Writeln('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%')
writeln('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%')
Writeln('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%')
writeln('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%')
Writeln('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%')
wait(200)
ClearDebug;
Writeln('#########################################################')
Writeln('#########################################################')
Writeln('#########################################################')
Writeln('#########################################################')
Writeln('#########################################################')
Writeln('#########################################################')
Writeln('#########################################################')
Writeln('#########################################################')
wait(200)
ClearDebug;
l:=l+1;
until(l>10)
wait(1000)
repeat
Writeln(' ______ ___ ___ _______ ')
Writeln(' / _| \ \ /--\ / / / ______|')
Writeln(' | | \ \/ \/ / / / ')
Writeln(' / / \ /\ / | | ')
Writeln(' | |umbridge \ / \ / | | hop ')
Writeln(' / /__________ \/ \/ \ \______ ')
Writeln(' |________________| Willow \________|')
writeln('')
writeln(' By: noidea')
wait(400)
ClearDebug
wait(100)
k:=k+1;
until(k>10)
writeln('I am not responsible for any thing that may happen to your accounts')
wait(1000)
end;
Procedure LoadDTMs;
begin
Gem := DTMFromString('78DA63346766604860644006B3A64E65F80FA' +
'441A2FF8180D10AA8261C550D44164602697DA09A0C026A1C806A' +
'3209A8D103AA8920A04617A82691801A47C26A003CD10B0E');
Knife := DTMFromString('78DA637466626078C480024A737318FE03694' +
'620FE0F048C9E4035D718D000231209A42D806A3E1250E3015473' +
'8F801A907BEE12506343D82E00E6140D47');
Log := DTMFromString('78DA63EC626660A867644006A13EF20CFF813' +
'448F43F10304E04AAA940550391859140BA03A8A69F809A06A09A' +
'46026AA662BA0743CD14A09A6EFC6A0043360C42');
Axe := DTMFromString('78DA633CCCC4C0E0CAC8800CCCBC431874804' +
'220D1FF40C0B80DA8261A550D44164602E97D40358E04D46C07AA' +
'0926A06637A67B30D49C04AA71C1AF0600AAD30B51');
WillowL := DTMFromString('78DA639CCAC4C070870105CC9962C5F01F483' +
'302F17F2060EC04AAB9C6800618914820BD10A8E6230135B3816A' +
'1E13503301A8E6067E3500C60C0DC6');
WillowS := DTMFromString('78DA632C66626078C880022A0A7518FE03694' +
'620FE0F048CD540353719D000231209A4E3816ADE1350930054F3' +
'8A809A1C22D480DC7C0BBF1A003E8C0E11');
Tree := DTMFromString('78DA632C636260F06500036608C5A01AC0C0F' +
'01F483302F17F20602C05AAF183C83122A95146E283D5F8105053' +
'4ED81C00D4630A5B');
Ladder := DTMFromString('78DA63B4626260B06200036608C5E0A9C0C0F' +
'01F483302F17F2060B400AAB186C83122A99143E233DA11A9C692' +
'801A0BC26A00B1AA09E4');
tele := DTMFromString('78DA63D4676660486564400655553FC0344C9' +
'411A42601550D4C16454D01AA1A51213D86FFC86AB4816A0A719B' +
'C304A22D816AB209A8D104AA4926A0C604A82609BF1A00EAFE079' +
'C');
SBook := DTMFromString('78DA63EC626660106462400677656E33B8016' +
'94620FE0F048C2035DCA86A20B23012484F07AA1120A0A61EA846' +
'92809A164CF760A8990454234D404D07508D1C7E3500CAE00AA5');
end;
Procedure Freestuff;
begin
FreeDTM(Knife)
FreeDTM(Log)
FreeDTM(Axe)
FreeDTM(WillowL)
FreeDTM(WillowS)
FreeDTM(Ladder)
FreeDTM(Tree)
FreeDTM(Gem)
FreeDTM(tele)
FreeDTM(SBook)
end;
procedure Antiban;
begin
if not LoggedIn then Exit;
case Random(350) of
6:
begin
PickUpMouse;
Antibans:=Antibans+1;
end;
0:
begin
HoverSkill('WoodCutting', False);
Antibans:=Antibans+1;
end;
345:
begin
HoverSkill('Fletching', false);
Antibans:=Antibans+1;
end;
55:
begin
GameTab(1 + Random(12));
wait(800 + random(500));
GameTab(4);
Antibans:=Antibans+1;
end;
186:
begin
SleepAndMoveMouse(2000+random(2000));
Antibans:=Antibans+1;
end;
550:
begin
mouse(random(600),random(500),0,0,false)
chooseoption('ancel')
Antibans:=Antibans+1;
end;
456:
begin
mouse(random(600),random(500),0,0,false)
chooseoption('xamine')
Antibans:=Antibans+1;
end;
34:
begin
SleepAndMoveMouse(1000+random(2000));
SleepAndMoveMouse(500+random(500));
Antibans:=Antibans+1;
end;
end;
end;
Procedure CountLogs;
begin
if not loggedin then exit;
Sold := Sold+CountItemsDtm('inv', Log);
players[currentplayer].integers[1]:=(players[currentplayer].integers[1])+CountItemsDtm('inv', Log);
end;
Function FindGem(var x,y:Integer):boolean;
begin
if not loggedin then exit;
if finddtm(Gem,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
Result:= True;
end
end;
Procedure Logged;
begin
if not loggedin then
begin
Writeln('We must have not moved when cutting the tree.')
Players[CurrentPlayer].Active := True;
NextPlayer(Players[CurrentPlayer].Active);
end;
end;
Procedure ToWillows;
var
X,Y: integer;
begin
if not loggedin then exit;
X:=MMCX;
Y:=MMCY;
if not RadialWalk(FindLumbyRoadColor,85,97,40,1,1)then
begin
Writeln('We had to co-ord click not good!')
Writeln('try switching to a different world with less players!')
mouse(652,94,8,8,true)
flag;
end;
if dtmrotated(Tree,X,Y,MMX1,MMY1,MMX2,MMY2)then//550,117,706,33
begin
Mouse(X+25,Y,5,5,true)
writeln('used tree dtm')
flag;
wait(200+random(200))
end else
begin
mouse(665,75,4,4,true)
Writeln('Used co-ord click to willows')
Flag;
wait(200+random(200))
end;
end;
Procedure ToStore;
var
x,y,xx,yy,WalkDTM:integer;
begin
if not loggedin then exit;
X:=MMCX;
Y:=MMCY;
if not radialwalk(FindLumbyRoadColor,275,265,55,1,1)then
begin
Mouse(591,90,4,4,true)
Flag;
wait(100+random(200))
writeln('we had to coord cliick')
end;
SymbolAccuracy:=0.7;
if findsymbol(X,Y,'store')Then
begin
Mouse(X,Y+8,4,7,TRUE)
writeln('used symbol')
flag;
wait(500+random(300));
EXIT;
end else
begin
if DTMRotated(Ladder,X,Y,MMX1,MMY1,MMX2,MMY2)Then
begin
mouse(X,Y-5,4,4,true)
Writeln('Used Ladder Dtm')
flag;
EXIT;
end else
Writeln('Could not find the general store.');
Logout;
Players[CurrentPlayer].Active := False;
Exit;
end;
end;
Function Gainedlvl:Boolean;
var
x,y:Integer;
begin
if not loggedin then exit;
If FindNPCChatText('ongratul', Nothing) then
begin
Result:= True;
Level:=Level+1;
players[currentplayer].integers[3]:=(players[currentplayer].integers[3])+1;
ClickContinue(True, true);
end else
Result:=False;
end;
Function Gainedlvl2:Boolean;
var
x,y:Integer;
begin
if not loggedin then exit;
If FindNPCChatText('ongratul', Nothing) then
begin
Result:= True;
FLevel:=FLevel+1;
ClickContinue(True, true);
end else
Result:=False;
end;
Function Detect(var x,y:Integer):boolean;
var
c:Integer;
Willow : Array [0..3] of Integer;
WillowTPA: TPointArray;
WillowATPA: T2DPointArray;
sx, sy, CTS, I: Integer;
FWTime: LongInt;
P: TPoint;
begin
if not loggedin then exit;
Willow[0]:=4878687;
Willow[1]:=3430472;
Willow[2]:=2177070;
Willow[3]:=2965303;
x := MSCX;
y := MSCY;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2); //a
SetColorSpeed2Modifiers(0.03, 0.75);
FindColorsSpiralTolerance(x, y, WillowTPA, Willow[c], MSX1, MSY1, MSX2, MSY2, 5);
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(CTS);
begin
WillowATPA := SplitTPA(WillowTPA, 8);
For I:= 0 to High(WillowATPA) do
If MiddleTPAEx(WillowATPA[i], x, y) then
begin
Result:=True;
writeln('Found willows');
end;
end
end;
Procedure HandleEnt;
var
x,y:Integer;
begin
if not loggedin then exit;
Writeln('So we have found an ent.')
Ent:=Ent+1;
MakeCompass('n');
mouse(589, 78, 5, 5, True);
fflag(0);
SleepAndMoveMouse(26000+random(2000));
Mouse(668, 92, 5, 5, True);
SleepAndMoveMouse(10000 + random(2000));
fflag(0);
wait(100+random(100))
if Detect(x,y) then
begin
mmouse(x,y,0,0)
if findcolorspiraltolerance(x,y,65535,78,5,126,22,7)
or findColorspiraltolerance(x,y,56283,78,5,126,22,7)
or findcolorspiraltolerance(x,y,116422,78,5,126,22,7)Then
begin
repeat
wait(200)
until not(findcolorspiraltolerance(x,y,65535,78,5,126,22,7))
or findColorspiraltolerance(x,y,56283,78,5,126,22,7)
or findcolorspiraltolerance(x,y,116422,78,5,126,22,7)
end;
end;
Chop;
end;
Procedure DropSBook;
begin
mouse(kx,ky,6,6,false)
wait(20+random(40))
Chooseoption('rop')
Sbooks := Sbooks+1;
end;
Function FindSecBook(var kx,ky:Integer) : Boolean;
begin
if FindDTM(SBook,kx,ky,MIX1,MIY1,MIX2,MIY2)then
begin
result := True;
end;
end;
Function FindEnt(var mx,my:Integer):boolean;
var
mx,my,rx,ry:Integer;
begin
if not loggedin then exit;
x:=MSCX;
y:=MSCY;
rx:=MMCX;
ry:=MMCY;
if findcolorspiraltolerance(rx,ry,195836,620,75,634,92,8)then
begin
if Detect(x,y)then
begin
MMouse(x,y,2,2)
wait(100)
If findcolorspiraltolerance(mx,my,184528,78,5,126,22,8)//old color 65535
or findColorspiraltolerance(mx,my,1040096,78,5,126,22,8)//old color 56283
or findcolorspiraltolerance(mx,my,65535,78,5,126,22,8)
or findcolorspiraltolerance(mx,my,56283,78,5,126,22,8)then
begin
Writeln('Zomg we foundzord teh ent')
HandleEnt;
Result:=True;
end else
Writeln('Good thing there was never an ent.');
Result:=False;
end;
end;
end;
Procedure NoLog;
var
xx,xy:Integer;
begin
if not loggedin then exit;
case Random(60) of
1:
begin
Mouse(Random(MSCX), Random(MSCY),0,0,FALSE)
Chooseoption('xamine')
end;
30:
begin
Mouse(Random(MSCX), Random(MSCY),0,0,FALSE)
Chooseoption('ancel')
end;
18:
Begin
Makecompass(inttostr(random(360)))
wait(500+random(100))
Makecompass('360')
end;
22:
begin
GameTab(random(14))
wait(200+random(200))
gametab(4)
end;
11:
begin
Mouse(Random(MICX), Random(MICY),0,0,FALSE)
Chooseoption('xamine')
end;
6:
begin
mousebox(121,481,399,497,2)
getmousepos(xx,xy)
case Random(2) of
0:
begin
ChooseOption('On')
end;
1:
Begin
Chooseoption('ff')
end;
end;
Wait(700+random(400))
Mouse(xx,xy,2,2,false)
chooseoption('riend')
end;
end;
end;
Function FindMeDead: Boolean;
var
px,py:Integer;
begin
SymbolAccuracy:=0.7;
If FindSymbol(px,py,'Quest')then
begin
Writeln('Found Dead!');
Result:= True;
end;
end;
Procedure fail;
var
x,y,c:INteger;
Willow : Array [0..3] of Integer;
begin
if not loggedin then exit;
Willow[0]:=4878687;
Willow[1]:=3430472;
Willow[2]:=2177070;
Willow[3]:=2965303;
MarkTime(TheWaitTime);
repeat
FindNormalRandoms;
Randoms;//Antiban;
Antiban;
wait(80+random(80))
Gainedlvl;
until Detect(x,y)//FindColorSpiralTolerance(x,y,Willow[c],MSX1,MSY1,MSX2,MSY2,3)or(TimeFromMark(TheWaitTime) > 120000 + Random(90000))
if(TimeFromMark(TheWaitTime) > 120000 + Random(90000))then
begin
Logout;
Writeln('The treen never came up or we are lost.')
Players[CurrentPlayer].Active := False;
Exit;
end;
Chop;
end;
Procedure WChop;
var
x,y,c:integer;
Willow : Array [0..3] of Integer;
begin
if not loggedin then exit;
Willow[0]:=4878687;
Willow[1]:=3430472;
Willow[2]:=2177070;
Willow[3]:=2965303;
for c := 0 to 3 do
Repeat
FindNormalRandoms;
FindEnt(x,y)
wait(100)
NoLog;
Randoms;
until(not(FindColorSpiralTolerance(x,y,Willow[c],MSX1,MSY1,MSX2,MSY2,3)))or(InvFull);
if invfull then
begin
exit;
end;
if not invfull then
begin
fail;
end;
end;
Function IsItThere:boolean;
begin
if not loggedin then exit;
wait(100+random(50))
if isuptext('sist') then
begin
writeln('Found Assistant')
Result:=True;
Exit;
end;
if not isuptext('sist') then
begin
wait(100+random(50))
if isuptext('opkee')then
begin
writeln('Found the Shopkeeper')
result:=True;
Exit;
end;
end;
if not isuptext('opkee')then
begin
writeln('did not find eighther')
Result:=False;
Exit;
end;
end;
Procedure Sell;
var
x, y, rx, ry, c, w, s:Integer;
Bx, By : Integer;
TPA : Array Of TPoint;
ATPA : T2DPointArray;
store : Array [0..3] of Integer;
StoreTPA: TPointArray;
StoreATPA: T2DPointArray;
sx, sy, CTS, I: Integer;
FWTime: LongInt;
P: TPoint;
begin
if not loggedin then exit;
rx:=MICX;
ry:=MICY;
Bx:=MSCX;
By:=MSCY;
store[0]:=3355959;
store[1]:=2960944;
store[2]:=8883345;
store[3]:=8752017;
w:=0;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.1, 0.5);
repeat
FindColorsSpiralTolerance(x, y, StoreTPA, store[c], MSX1, MSY1, MSX2, MSY2, 4);
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(CTS);
StoreATPA := SplitTPA(StoreTPA, 6);
For I:= 0 to High(StoreATPA) do
begin
If MiddleTPAEx(StoreATPA[i], x, y) then
wait(400+random(300));
w:=w+1;
MMouse(x,y,1,1);
WAIT(100+RANDOM(50))
end;
until IsItThere or(w > 200);
if (w > 200) then
begin
Writeln('Could not find the general store people.');
Logout;
Players[CurrentPlayer].Active := False;
Exit;
end;
If IsItThere then
begin
mouse(x,y,0,0,false)
wait(100+random(500))
chooseoption('rade')
flag;
wait(400+random(300))
if not getcolor(284, 41)=2070783 then
begin
Sell;
end;
If SellGem then
begin
repeat
if FindGem(x,y) then
begin
s:=0;
s:=s+1;
wait(500+random(300))
mouse(x,y,5,5,false)
chooseOption('50')
end;
until not FindGem(x,y) or (s > 20)
end;
if (s>20) then
begin
writeln('we must not have traded with the store people.')
Sell;
end;
if finddtm(Log,rx,ry,MIX1,MIY1,MIX2,MIY2)then
begin
Chopped := Chopped+CountItemsDtm('inv', Log);
players[currentplayer].integers[2]:=(players[currentplayer].integers[2])+CountItemsDtm('inv', Log);
mouse(rx,ry,5,5,false)
wait(50+random(50))
chooseoption('50')
exit;
end;
if finddtm(WillowL,rx,ry,MIX1,MIY1,MIX2,MIY2)then
begin
Longs := Longs+CountItemsDtm('inv', WillowL);
players[currentplayer].integers[5]:=(players[currentplayer].integers[5])+CountItemsDtm('inv', WillowL);
mouse(rx,ry,5,5,false)
wait(50+random(50))
chooseoption('50')
exit;
end;
if finddtm(WillowS,rx,ry,MIX1,MIY1,MIX2,MIY2)Then
begin
Shorts := Shorts+CountItemsDtm('inv', WillowS);
players[currentplayer].integers[5]:=(players[currentplayer].integers[5])+CountItemsDtm('inv', WillowS);
mouse(rx,ry,5,5,false)
wait(50+random(50))
chooseoption('50')
exit;
end;
end;
end;
Procedure DeathWalk;
var
lx,ly,X,Y:Integer;
begin
if not loggedin then exit;
gametab(7);
Cast('1')
WAIT(40+random(50))
wait(13000+Random(2000))
MakeCompass('n')
IDeaths := IDeaths+1;
CheckAxe;
if not RadialWalk(FindLumbyRoadColor,85,97,65,1,1)then
begin
Writeln('[Error radialroadwalking in death walk]');
Logout;
Players[CurrentPlayer].Active := False;
Exit;
end;
mouse(626,46,4,4,true)
flag;
RadialRoadWalk(FindLumbyRoadColor,290,350,55,1,1)
SymbolAccuracy:=0.7;
if findsymbol(X,Y,'store')Then
begin
Mouse(X,Y,6,3,TRUE)
writeln('used symbol')
flag;
wait(500+random(300));
end else
begin
if DTMRotated(Ladder,X,Y,MMX1,MMY1,MMX2,MMY2)Then
begin
mouse(X,Y-7,4,4,true)
Writeln('Used Ladder Dtm')
flag;
EXIT;
end else
Writeln('Could not find the general store in death walk.');
Logout;
Players[CurrentPlayer].Active := False;
end;
ToWillows;
end;
Procedure Chop;
var
mx,my,x,y:integer;
begin
if not loggedin then exit;
FindEnt(mx,my)
if not Detect(x,y)then
begin
Fail;
end;
FindEnt(mx,my);
if Detect(x,y)then
begin
MMouse(x,y,8,8)
wait(100+Random(100))
if (IsUpText('llow')) then
FindEnt(mx,my);
begin
case Random(2) of
0:begin
Mouse(x,y,0,0,true)
WChop;
end;
1:begin
mouse(x,y,0,0,false)
Chooseoption('hop')
WChop;
end;
end;
end;
end;
end;
Procedure WhichFletch0;
var
x,y:integer;
begin
wait(700+random(300))
mousebox(47,388,145,437,2)
wait(100+Random(200))
chooseoption('X')
wait(400+random(200))
TypeSend(IntToStr(28+random(1900)));
repeat
FindNormalRandoms;
Gainedlvl2;
wait(200)
until(not FindDtm(Log,x,y,MIX1,MIY1,MIX2,MIY2))
end;
Procedure WhichFletch1;
var
x,y:Integer;
begin
wait(700+random(300))
mousebox(207,384,305,429,2)
wait(50+Random(100))
chooseoption('X')
wait(400+random(200))
TypeSend(IntToStr(28+random(19000)));
repeat
FindNormalRandoms;
Gainedlvl2;
wait(200)
until(not FindDtm(Log,x,y,MIX1,MIY1,MIX2,MIY2))
end;
Procedure Fletch;
var
x,y:Integer;
begin
if not loggedin then exit;
If not finddtm(Knife,x,y,MIX1,MIY1,MIX2,MIY2)then
begin
writeln('This player did not have a knife next playa')
Logout;
Players[CurrentPlayer].Active := False;
end;
If finddtm(Knife,x,y,MIX1,MIY1,MIX2,MIY2)then
begin
mouse(x,y,6,6,true)
end;
If finddtm(Log,x,y,MIX1,MIY1,MIX2,MIY2)then
begin
mouse(x,y,10,10,false)
chooseoption('se')
wait(400+random(200))
end;
Case LowerCase(Players[CurrentPlayer].Strings[1]) Of
'0': WhichFletch0;
'1': WhichFletch1;
end;
end;
Procedure Drop;
var
x,y:Integer;
begin
if not loggedin then exit;
Gems := Gems+CountItemsDtm('inv', Gem);
players[currentplayer].integers[6]:=(players[currentplayer].integers[6])+CountItemsDtm('inv', Log);
players[currentplayer].integers[8]:=(players[currentplayer].integers[6])+CountItemsDtm('inv', WillowS);
players[currentplayer].integers[8]:=(players[currentplayer].integers[6])+CountItemsDtm('inv', WillowL);
If DropGem then
begin
repeat
if FindGem(x,y) then
begin
mouse(x,y,5,5,false)
Chooseoption('rop')
wait(600+random(400))
end;
until not FindGem(x,y)
end;
repeat
if finddtm(Log,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
Mouse(x,y,10,10,false)
wait(30+random(100))
chooseoption('rop')
wait(500+random(140))
end;
until not finddtm(Log,x,y,MIX1,MIY1,MIX2,MIY2)
repeat
if finddtm(WillowS,x,y,MIX1,MIY1,MIX2,MIY2)then
begin
Mouse(x,y,13,13,false)
wait(30+random(100))
chooseoption('rop')
wait(500+random(140))
players[currentplayer].integers[8]:=(players[currentplayer].integers[6])+CountItemsDtm('inv', WillowS);
end;
Until not finddtm(WillowS,x,y,MIX1,MIY1,MIX2,MIY2)
repeat
if finddtm(WillowL,x,y,MIX1,MIY1,MIX2,MIY2)then
begin
Mouse(x,y,13,13,false)
wait(30+random(100))
chooseoption('rop')
wait(500+random(140))
end;
until not finddtm(WillowL,x,y,MIX1,MIY1,MIX2,MIY2)
end;
Function BrokeAxe:Boolean;
begin
if not loggedin then exit;
if (FindBlackChatMessage('You do not')) then
begin
writeln('Your axe broke, sorry beotch.');
BrokeAxes:= BrokeAxes+1;
Logout;
Players[CurrentPlayer].Active := False;
result := True;
end else
result := False;
end;
Procedure DoOption2;
begin
if not loggedin then exit;
CountLogs;
Case LowerCase(Players[CurrentPlayer].Strings[0]) Of
'0': Option0;
'1': Option1;
'2': Option2;
'3': Option3;
end;
end;
Procedure Option0;
begin
if not loggedin then exit;
ToStore;
Sell;
ToWillows
Loads:=Loads+1;
Loadz:=Loadz+1;
players[currentplayer].integers[0]:=(players[currentplayer].integers[0])+1;
end;
Procedure Option1;
begin
if not loggedin then exit;
Fletch;
Drop;
Loads:=Loads+1;
Loadz:=Loadz+1;
players[currentplayer].integers[0]:=(players[currentplayer].integers[0])+1;
end;
Procedure Option2;
begin
Drop;
Loads:=Loads+1;
Loadz:=Loadz+1;
players[currentplayer].integers[0]:=(players[currentplayer].integers[0])+1;
end;
Procedure Option3;
begin
if not loggedin then exit;
Fletch;
ToStore;
Sell;
ToWillows;
Loads:=Loads+1;
Loadz:=Loadz+1;
players[currentplayer].integers[0]:=(players[currentplayer].integers[0])+1;
end;
Procedure CheckAxe;
var
x,y:integer;
begin
if not loggedin then exit;
FindNormalRandoms;
Gametab(4)
wait(200+random(200))
if FindDTM(Axe,x,y,Mix1,miy1,mix2,miy2)then
begin
Writeln('The Axe was in the Inventory')
end;
If not FindDTM(Axe,x,y,Mix1,miy1,mix2,miy2)then
begin
Gametab(5)
wait(200+random(200))
if FindDTM(Axe,x,y,Mix1,miy1,mix2,miy2)then
begin
Writeln('Duh, the Axe was in inventory')
end;
If not FindDTM(Axe,x,y,Mix1,miy1,mix2,miy2)then
begin
Writeln('You had better get an axe you lazy bum!!!!')
Logout;
Players[CurrentPlayer].Active := False;
end;
end;
end;
Procedure Randoms;
var
x,y:integer;
begin
if not loggedin then exit;
FindNormalRandoms;
wait(50)
Gainedlvl;
FindEnt(x,y)
FindNormalRandoms;
DwarfItem;
BrokeAxe;
if findfight then
begin
MakeCompass('n');
radialwalk(FindLumbyRoadColor,279,269,55,1,1)
SleepAndMoveMouse(10000+random(2000));
if dtmrotated(Tree,X,Y,MMX1,MMY1,MMX2,MMY2)then//550,117,706,33
begin
Mouse(X+25,Y,5,5,true)
writeln('used tree dtm')
flag;
wait(200+random(200))
end else
begin
Mouse(668, 92, 5, 5, True);
SleepAndMoveMouse(2000 + random(2000));
fflag(0);
end;
End;
FindNormalRandoms;
if FindMeDead then
begin
DeathWalk;
Logout;
Players[CurrentPlayer].Active := True;
end;
if FindSecBook(kx,ky) then
begin
DropSBook;
end;
end;
procedure Setup;
begin
if not loggedin then exit;
setrun(true);
Setangle(True);
wait(100+random(50))
noidea_Set_Sound('0','0','0','Mono')//SetAudio(0, 0, 0, Mono);
gametab(4)
wait(100+random(50))
makecompass('e')
MakeCompass('360')
CheckAxe;
end;
Procedure Report;
var
I:Integer;
begin
If Debug then
begin
ClearDebug;
end;
Writeln('[]+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+[]')
Writeln('[]---------------- L W C ----------------[]')
Writeln('[]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[]')
Writeln('[] Progress Report []')
Writeln('[] Worked '+(TimeRunning))
Writeln('[] ')
Writeln('[] Cut '+(inttostr(Sold)+' willow logs '))
Writeln('[] Did '+(inttostr(Loadz))+' Loads!')
Writeln('[] Sold '+(Inttostr(Chopped)+' willow logs '))
If Longs > 0 then
Writeln('[] Sold/Dropped '+(inttostr(Longs)+' long bows[u] '));
If Shorts > 0 then
Writeln('[] Sold/Dropped '+(inttostr(Shorts)+' short bows[u) '));
if FLevel > 0 then
Writeln('[] gained '+inttostr(Flevel)+' Fletching levels');
Writeln('[] Gained '+(inttostr(Chopped*67)+' exp in total'));
If Gems > 0 then
Writeln('[] Gotten and sold '+(inttostr(Gems))+' Gems for you.');
if Gained > 0then
writeln('[] Gained '+(inttostr(Level))+' Wood Cutting levels');
Writeln('[] Made '+(inttostr(Antibans)+' anti-bans'))
If BrokeAxes > 0 then
Writeln('[] I have broken '+(inttostr(BrokeAxes))+' just for you!');
if IDeaths > 0 then
writeln('[] Sorry I killed your character '+inttostr(IDeaths)+' times, sorry.');
If Ent > 0 then
Writeln('[] Avoided '+(inttostr(Ent)+' Ents in total '));
Writeln('[] ');
for I := 0 to (HowManyPlayers - 1) do
begin
Writeln('[]=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--[]')
WriteLn('[] '+ Players[I].Name +' | '+left(booltostr(players[i].active),1)+' | '+(inttostr(players[i].integers[0])+' Loads'+' | Chopped '+(inttostr(players[i].integers[1])+'')))
Writeln('[] Sold '+(inttostr(players[i].integers[2])+' Logs')+' | Gained '+(inttostr(players[i].integers[3])+' WC levels')+' | Dropped '+inttostr(players[i].integers[6])+' Logs')
if (Shorts > 0) or (Longs > 0) then
Writeln('[] Sold '+inttostr(players[i].integers[5])+' Bows[u]'+' | Dropped '+inttostr(players[i].integers[8])+' Bows[u]')
end;
Writeln('[] []')
Writeln('[]vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv[]')
Writeln('[]---------------- L W C ----------------[]')
Writeln('[]+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+[]')
SrlRandomsReport;
end;
{*******************************************************************************
function noidea_Set_Sound(Music, Bass, Treb, Speaker : String) : Boolean;
By: noidea
Description: Sets the sound in RuneScape. SRL's one wasn't working for me.
*******************************************************************************}
Function noidea_Set_Sound(Music, Bass, Treb, Speaker : String) : Boolean;
begin
if not loggedin then exit;
GameTab(11);
MouseBox(632,232,658,266,1)
repeat
wait(200)
until(GetColor(250,53)=2070753)
Wait(200+random(200))
case Music of
'0': MouseBox(190,114,203,124,1);
'1': MouseBox(218,116,231,125,1);
'3': MouseBox(272,115,286,125,1);
'2': MouseBox(274,116,258,126,1);
'4': MouseBox(305,115,314,125,1);
end;
Wait(200+random(200))
Case Bass of
'0': MouseBox(190,114+55,203,124+55,1);
'1': MouseBox(218,116+55,231,125+55,1);
'3': MouseBox(272,115+55,286,125+55,1);
'2': MouseBox(274,116+55,258,126+55,1);
'4': MouseBox(305,115+55,314,125+55,1);
end;
Wait(200+random(200))
Case Treb of
'0': MouseBox(190,114+114,203,124+114,1);
'1': MouseBox(218,116+114,231,125+114,1);
'3': MouseBox(272,115+114,286,125+114,1);
'2': MouseBox(274,116+114,258,126+114,1);
'4': MouseBox(305,115+114,314,125+114,1);
end;
Case Speaker of
'Mono': MouseBox(230,262,244,273,1);
'Stereo': MouseBox(297,262,312,273,1);
end;
wait(100+random(100))
MouseBox(322,48,332,60,1);
wait(500+random(500));
end;
{==========================================]
[--------------- Main Loop ----------------]
[==========================================}
begin
setupsrl;
setupmagic;
ClearDebug;
Disguise(The_Disguise)
Sigg;
WriteLn('Loading SMART...');
SmartSetup('world'+IntToStr(WorldNumber), True, False, False);
Wait(7000)
SetTargetDC(SMARTGetDC);
DeclarePlayers;
LoadDTMs;
if not Loggedin then LoginPlayer;
repeat
Setup;
Loads:=0;
repeat
Chop;
DoOption2;
Report;
until(not LoggedIn)or(Loads >= LoadsToDo)
LogOut;
FreeStuff;
LoadDTMs;
Report;
NextPlayer(Players[CurrentPlayer].Active);
If not loggedin then loginplayer;
until false
end.
{ I gained 63 wc lvls while making this (On 2 accounts) }——————————————————
<!– END TEMPLATE: formanswers –>