SRL Archive - RS3 Outdated / Broken Scripts

PWC Anywhere Shaft Maker


burnout

2007-03-15 22:32:49

please leave feed back as this is just another edit by Burnout

{.Script Info:
# ScriptName = Tree Chopper + Shaft Maker
# Author = madman (edited by Burnout)
# Description = Chops trees until full inventory then makes shafts
# Version = v0.3
# Date = 3-Feb-2006
# Comments = Start anywhere where there are trees, with an axe and knife, probally should have an axe wielded and one in inv.
# Autocolor = Yes

# Release Comments
* 0.1 - Inital Release
* 0.2 - Added AntiBan
* 0.3 - changed firemaking to shaftmaking

**PLEASE post comments and suggestion in post**
- http://villu-reborn.com/showthread.php?t=6459 -
/Script Info}
program ChopperFireMaker;
{.include SRL\SRL.SCAR}
{.include SRL\SRL\skill\WoodCutting.scar}
{.include srl\srl\skill\fletching.scar}

Var
Colors: Array[1..3] of Integer;
Loads, LogCount : Integer;
LogDTM, knifeDTM: Integer;

Const
TreeTol = 5; //Tolerance for tree color
WaitTime = 15; //Maximum time before clicking tree again (seconds)
MaxLoads = 10; //Max Loads Per Player
MinutesALoad = 5; //Maximum minutes per load
LeftCPercent = 80; //Percent to left click
Version = '0.2'; //No Touch This


//----------------------------------------------------------------------------//
//---> Setup Players //
//----------------------------------------------------------------------------//

Procedure DeclarePlayers;
Begin

HowManyPlayers := 3;
CurrentPlayer:= 0;
NumberOfPlayers(HowManyPlayers);

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := ''; //3 Lowercase Letters of your username
Players[0].Active := True;

Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';

Players[1].Active := True;

Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := '';
Players[2].Active := True;

End;



//*************************\\
// DTMS / BMPS \\
//*************************\\

Procedure LoadDTM;
Begin
LogDTM := DTMFromString('78DA63F466626078CA8002B2820C19FE03694' +
'620FE0F048C7640357719D000231209A42D816A5E1150E30254F3' +
'91809A50A09A3704D40401D53C2242CD6D026A3C816AEEE057030' +
'0D68B0F7A');
knifeDTM := DTMFromString('78DA632C60626078C68002C2AD39C1342394C' +
'F580A547317554D45413EAA9A6CA09AF7A86A3AEAEB50D55402D5' +
'DC405553535C8CA20600F3B00A3D');
End;

//****************\\
// ANTIBAN \\
//****************\\
Procedure MyAntiBan;
Begin
RandomChatEvery(10 + Random(5));
RotateEvery(5 + Random(2));
LeaveScreenEvery(5 + Random(5));
PickUpMouseEvery(5 + Random(10))
RandomRClickEvery(15 + Random(5))
End;



//*****************\\
// RANDOMS \\
//*****************\\
Function TreeColor : Integer; Forward;

Procedure DoMyRandoms;
Begin
ClickToContinue;
FindNormalRandoms;
FindHead;
if(FindFight)then
Begin
RunAwayDirection('N');
Wait((60 * 500) + Random(60 * 500));
RunBack;
End
if(FindDead)then
Begin
Writeln('Player is dead... NextPlayer');
NextPlayer(false);
End
FindEnt(TreeColor);
FindBirdsNest;
MyAntiBan;
End;

Function Ent(Ex,Ey : integer): Boolean; //From Charmz
Begin
MMouse(Ex, Ey, 0, 0);
If(FindColorSpiralTolerance(x, y, 3432536, MSX1, MSY1, MSX2, MSY2, 10))then
MMouse(x, y, 0, 0);
If(IsUpText('Chop')) or (IsUpText('Tree')) or (IsUpText('Down'))then
Begin
If(FindColorSpiralTolerance(x, y, 383705, 1, 1, 180, 39, 20))or
(FindColorSpiralTolerance(x, y, 65535, 1, 1, 200, 40, 20))then
Begin
Result:= True;
EntsAvoided:=EntsAvoided + 1;
WriteLn('Ent found, waiting');
Mouse(648, 83, 1, 1, True);
Wait(5000+Random(2000));
End else
Result:= False;
Exit;
End;
End;

//******************\\
// COLOR STUFF \\
//******************\\

Function FindTreeColorsIfNeeded(refrencecol,tol,tol2:integer):boolean; //Stole from
Var
c,a,b,xm,ym,curcolor:integer;
oc1,oc2,oc3:boolean;

Begin
If ((Colors[1]=0) or (Colors[2]=0) or (Colors[3]=0)) Then
Begin
If (FindColorTolerance(x,y,refrencecol,3,3,515,338,tol)) Then//Find tree close
Begin
if (FindObj(x,y,'Chop',refrencecol,tol)) Then
Begin
a:=1;
GetMousePos(x,y);
xm:=x;
ym:=y;
repeat
xm:=xm+a;
ym:=ym+b;
curcolor:=GetColor(xm,ym);
MMouse(xm,ym, 5, 5);
Wait(5+random(5));
If(IsUpText('Chop'))then
Begin
If(SimilarColors(curcolor,refrencecol,tol2))and(oc1=false)then
Begin
Colors[1]:=curcolor;
oc1:=true;
End;
If(SimilarColors(curcolor,refrencecol,tol2))and
(not(curcolor=Colors[1]))and(oc2=false)then
Begin
Colors[2]:=curcolor;
oc2:=true;
End;
if(SimilarColors(curcolor,refrencecol,tol2))and
(not(curcolor=Colors[1]))and
(not(curcolor=Colors[2]))and(oc3=false)then
Begin
Colors[3]:=curcolor;
oc3:=true;
End;
End;
If(not(IsUpText('Chop')))then
Begin
c:=c+1;
xm:=x;
ym:=y
MMouse(xm,ym,1,1);
wait(200+random(100)+random(100))
if(c=1)then a:=-1;
if(c=2)then begin a:=0;b:=-1;end;
if(c=3)then begin a:=0;b:=2;end;
End;
Until((oc1)and(oc2)and(oc3))or(c>=4);
End;
End;
If(Colors[1]>0)and(Colors[2]>0)and(Colors[3]>0)then result:=true;
End;
End;

Function TreeColor : integer; //Stolen from
Var RandomColor:integer;
Begin
Repeat
RandomColor:=random(3)+1;
Until (RandomColor >= 1) or (RandomColor <= 3);
Result:=Colors[RandomColor];
End;

//*******************\\
// PROCEDURES \\
// + \\
// FUNCTIONS \\
//*******************\\

Procedure ProgressReport;
Begin
ClearDebug;
Writeln('****************************');
Writeln('/ shaft Maker + Log Chopper \');
Writeln('/ v' + Version + ' \');
Writeln('============================');
Writeln(' Ran for ' + TimeRunning);
Writeln(' Cut and light ' + IntToStr(LogCount) + ' logs');
Writeln('****************************');
End;

Procedure NewPlayer;
Begin
if(not(LoggedIn)) then LoginPlayer;
GameTab(4);
HighestAngle;
SetRun(true);
PerfectNorth;
End;

Function FindTree(MaxTol:Integer):Boolean; //Stolen from
Var Tol,Ex,Ey:Integer;

Begin
While (Not (FindColorTolerance(Ex, Ey, TreeColor, MSX1, MSY1, MSX2, MSY2, Tol))
And Not (Tol > MaxTol)) Do
Begin
Tol:=Tol+1;
End;
If ((FindColorTolerance(Ex, Ey, TreeColor, MSX1,MSY1 ,MSX2, MSY2, Tol))
And Not (Tol > MaxTol)) Then Result:=True;
Tol:=1;
Wait(10);
End;

Procedure DoChopping;
Begin
if(FindTree(TreeColor))then
Begin
if(FindObj(x, y, 'ree', TreeColor, TreeTol))then
Begin
if(not(Ent(x, y)))then
Begin
if((Random(100) + 1) < LeftCPercent)then
Begin
Mouse(x, y, 0, 0, true);
Wait(50);
End else
Begin
Mouse(x, y, 0, 0, false);
ChooseOption(x, y, 'own');
Wait(50);
End
Flag;
Wait(500 + Random(500));
MarkTime(Mark);
repeat
DoMyRandoms;
Wait(50 + random(50));
if(InvFull)then Break;
Until(not(TimeFromMark(Mark) > (1000 * WaitTime)));
End
End
End
End;



//*****************\\
// MAIN LOOP \\
//*****************\\

Procedure Setup;
Begin
SetupSRL;
LoadDTM;
MouseSpeed := 10;
BenMouse := true;
DeclarePlayers;
ActivateClient;
Wait(1000 + Random(1000));
End;

begin
Setup;
Repeat
if(LoggedIn)then
Begin
NewPlayer;
FindAxeHeadColor;
FindTreeColorsIfNeeded(1520688, 5, 45);
End
Repeat
MarkTime(Mark);
Repeat
if(not(LoggedIn))then Break;
DoChopping;
Until((InvFull) or (TimeFromMark(Mark) >= 1000 * 60 * MinutesALoad));
Repeat
if(FindInvDTM(x, y, LogDTM))then
begin
Mouse(x, y, 3, 3, true);
Wait(1000 + random(500));
if(FindInvDTM(x, y, knifeDTM))then
begin
Mouse(x, y, 3, 3, true);
Wait(1000 + Random(500));
mouse(72,442,4,4,true)
repeat
if(not(FindInvDTM(x, y, LogDTM)))then
Begin
MouseFindFlag(MMCX, MMCY, 15, -15);
Flag;
Break;
End
Wait(500);
DoMyRandoms;
Wait(5);
until(not(InChat('attempt to'))) or (InChat('advanced a'));
End
LogCount := LogCount + 1;
End
Until(not(FindInvDTM(x, y, LogDTM)));
Loads := Loads + 1;
ProgressReport;
SRLRandomsReport;
if(Loads >= MaxLoads)then setup;
Until(not(LoggedIn));
NextPlayer(true);
Until(false);
end.

Smartzkid

2007-03-15 22:46:57

Heeey nice! :p too bad I got rid of members…Coulda been pretty useful

Good Job!

I'll try to test it out on a friend's account tomorrow

Deni_mulic

2007-03-16 00:30:08

Ima check it out, looks good

burnout

2007-03-16 01:13:25

ok so far its great it has a few bugs like it doesnt click the last four logs in inv and the one in the first row and some times just sits there but will work on it some more but as i am a new commer to the world of scar i am by no means perfect and would gladly take some advise on how to fix certian problems pm me if you would like to help shouldnt be difficult

the scar noob

2007-03-16 06:01:49

If your new, thn nice try!! But why you don't make your own procedures instead of "steal" them from other scripters? Did you asked permittion from Sumilion and Lorax??

burnout

2007-03-16 12:05:28

i did not steal any thing i mearly edited madman pwc + firemaker all i did was change firemaking to shaftmaking i put all of my own procedures in for the shaftmaker thank you (they werent even procedures just part of the main loop)

Boreas

2007-03-22 21:49:25

Moved to hybrid scripts as you requested :)

burnout

2007-03-23 00:58:58

your the best thanks

Lorax

2007-03-23 09:52:26

From: the scar noob
If your new, thn nice try!! But why you don't make your own procedures instead of "steal" them from other scripters? Did you asked permittion from Sumilion and Lorax??

I don't want to be linked together with this script and i'm sure Sumilion will neither :)
I have not made any of those procedures and never use those kind of procedures..
You're new and it's a fine starter script.. I bet you have used some time making this, and it will get easier once you try it out some more..
And remember ideas don't come to you when scripting - they come to you when they want to..

Boreas

2007-03-23 09:54:54

Yea keep a notebook with you always to write ideas down.

burnout

2007-03-24 13:54:13

Ok People I Am Sorry For Any Misconseptions i Did Not Make The Script I Did Not Put Your Names In It All I Did Was Change Madmans Pwc Fire Maker To Make Shafts Instead Of Fire I Did Not Change Who He Credited If You Would Like Me To Remove Your Names I Will But Agian I Did Not Make This Script Just Edited It ALSO I DONT SEE LORAX OR SUMILLION'S NAME IN THERE, I SEEN CHARMS NAME AND DWW WHOEVER THAT IS IM CURRENTLY NOT SURE

Sumilion

2007-03-25 14:43:54

DWW is draynor willow whacker which i made a long time ago ;)

Lorax

2007-03-25 15:31:33

The functions that you use in this script are so basic that they shouldn't be credited to anyone..

burnout

2007-03-26 00:47:36

dww taken out

shotgun_1676

2007-04-08 20:42:53

hmm can any1 tell me why it will wc the logs fine but it trys to use the logs with other logs not the knife?

wired16

2007-04-25 21:35:55

lol shotgun i get the same problem…..

godcixelsyd

2007-05-03 03:01:54

my guess would be you need them in a certain slot my original fletcher was just mouse moves and clicks to the basic areas. i havent tried this script yet but i will be later tonight. im also very new to scar so i will be able to help very little but the problem you mentioned reminds me of my original problems

papa smurf

2007-08-10 11:59:25

divi 3.06 or 2.03?