xxjustin100xx
2009-10-24 01:00:23
2009-10-24 01:00:23
2009-10-24 01:37:43
2009-10-24 11:34:18
2009-10-24 11:57:43
2009-10-24 20:03:07
From: The Man
Gimme more info like where thevbest place is, what it is. What funcs/procs you would need etc and i will make
2009-10-24 20:49:32
2009-10-24 21:28:29
procedure ColortoHSL(C: TColor; var H, S, L: Extended);
Converts Color to Hue, Saturation and Luminance map.2009-10-24 21:31:37
2009-10-24 21:45:03
Color := 2573369;
Tol := 4;
Hue := 1.45;
Sat := 0.22;
width := still unknown;
height := still unknown;
Level := still unknown;
2009-10-24 22:11:48
Color := 2573369;
Tol := 4;
Hue := 1.45;
Sat := 0.22;
width := 62;
height := 10;
Level := what is level...;
2009-10-24 22:20:05
2009-10-24 22:32:03
From: ZaSz
level to cut?
ivy':
with Result do
begin
Name := 'ivy';
UpText := ['I Iv', 'Ivy'];
Color := 2573369;
Tol := 4;
Hue := 1.45;
Sat := 0.22;
width := 62;
hight := 10;
Level := 68;
end;
2009-10-25 06:14:00
2009-10-25 08:10:51
2009-10-25 12:28:55
2009-10-25 23:35:56
2009-10-26 00:13:48
2009-10-26 05:02:01
2009-10-29 02:02:50
2010-03-25 15:44:10
2010-03-25 16:32:14
2010-03-25 17:27:37
2010-03-25 17:33:08
From: kevinconklin
that sounds hard to me lol, im very new to scripting and it seems so hard :'(
2010-03-25 17:35:23
From: Blumblebee
it's actually one of the easiest scripts to write for your first time.
FindObjectTPA(stuffinhere)
failsafes, viola your done. No Dropping no nothing, just continuous chopping.
2010-03-25 17:36:20
From: kevinconklin
ok where is a good tut?
2010-03-25 21:28:28
program IvyChpper;
{.Include srl\srl\Misc\Smart.scar}
{.include SRL/SRL.scar}
var
BreakTimer, BeginingLvl, TO_Time, time: Integer; IvyColors: array of Integer;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
Name := '';
Pass := '';
Nick := ''; // 3-4 LOWERCASE letters from your username.
Active := True; // True = use this player.
Integers[0] := 90;//Time to run script between breaks. (In Minutes);
Integers[1] := 15;//Time to break; (In minutes);
end;
end;
procedure BreakTime;
var
tBreak, t, h, m, s: Integer;
begin
if LoggedIn then
Logout;
tBreak := ((Players[CurrentPlayer].Integers[1] + Random(5)) * 1000);
ConvertTime(tBreak, h, m, s);
Writeln('Taking a Break for '+IntToStr(m)+' minutes and '+IntToStr(s)+' seconds.');
MarkTime(t);
while TimeFromMark(t) < tBreak do
begin
Wait(10);
ConvertTime(tBreak - TimeFromMark(t), h, m, s);
Disguise('Taking a break for: '+inttostr(M)+ ' minutes and ' +inttostr(S)+ ' seconds.');
end;
MarkTime(BreakTimer);
LoginPlayer;
end;
function FindIvy: TPoint;
var
x, y, i, Pt: Integer; Arr: array of TPoint; MDAr: T2DPointArray;
begin
if not LoggedIn then
Exit;
for i := 0 to High(IvyColors) do
begin
Writeln('Searching for color '+IntToStr(i)+';');
FindColorsSpiralTolerance(MSCx, MSCy, Arr, IvyColors[i], MSx1, MSy1, MSx2, MSy2, 9);
if Length(Arr) > 5 then
Break;
end;
Writeln('Found color '+IntToStr(i)+' successfully.');
MDAr := TPAtoATPAEx(Arr, 12, 12);
SortATPAFrom(MDAr, Point(MSCx, MSCy));
for i := 0 to High(MDAr) do
begin
Pt := Random(Length(MDAr[i]));
MMouse(MDAr[i][Pt].x, MDAr[i][Pt].y, 2, 2);
if Pos('vy', GetUpText) > 0 then
begin
GetMousePos(x, y);
Result := Point(x, y);
Exit;
end;
if i = High(MDAr) then
begin
srl_Warn('FindTree', 'Failed to find tree.', warn_AllVersions);
Exit;
end;
end;
end;
function IvyExists: Boolean;
var
i: Integer; Arr: array of TPoint;
begin
if not LoggedIn then
Exit;
MakeCompass('n');
for i := 0 to High(IvyColors) do
begin
FindColorsSpiralTolerance(MSCx, MSCy, Arr, IvyColors[i], MSCx - 6, MSCy - 35, MSCx + 5, MSCy, 9);
Result := Length(Arr) > 5;
if Result then
begin
Writeln('IvyExists;');
Exit;
end
else
Writeln('Ivy does not exist.');
end;
end;
function ChopLoop: Boolean;
var
p: TPoint; t: Integer;
label WhileChopping;
begin
if not LoggedIn then
Exit;
{if IvyExists then
goto WhileChopping;}
FindNormalRandoms;
if Random(15) = 5 then
begin
Writeln('Waiting..');
Wait(RandomRange(20000, 180000));
end;
Writeln('Searching for Ivy..');
p := FindIvy;
if p.x = 0 then
begin
srl_Warn('ChopLoop', 'FindIvy failed to return a valid point.', warn_AllVersions);
Exit;
end;
Writeln('Clicking Ivy..');
Mouse(p.x, p.y - 5, 7, 8, True);
FFlag(1);
Wait(RandomRange(1000, 2200));
WhileChopping:
MarkTime(t);
repeat
Writeln('Wait while chopping..');
FindNormalRandoms;
Wait(50);
if (TimeFromMark(t) >= (3 * 60000)) then
Break;
if Random(5) = 1 then
begin
Writeln('Anti-Ban..');
case Random(500) of
0..1 : HoverSkill('Woodcutting', False);
30 : HoverSkill('random', False);
43 : if Random(2) = 1 then RandomRClick;
end;
end;
until(not(IvyExists));
Result := True;
Writeln('End ChopLoop;');
end;
begin
SetUpSRL;
DeclarePlayers;
ActivateClient;
LoginPlayer;
GraphicsSet := True;
BeginingLvl := GetSkillLevel(skill_Woodcutting);
IvyColors := [5609589, 3828049, 4289882, 4355932, 3695694, 4949607, 4157783, 3563594];
MarkTime(BreakTimer);
repeat
{Check if it's BreakTime}
if Players[CurrentPlayer].Booleans[0] then
if (TimeFromMark(BreakTimer) >= (Players[CurrentPlayer].Integers[0] * 1000)) then
BreakTime;
{while (TimeFromMark(BreakTimer) < (Players[CurrentPlayer].Integers[0] * 1000))
and not AllPlayersInactive do
begin}
repeat
Wait(RandomRange(200, 4000));
if not ChopLoop then
begin
Writeln('ChopLoop failed.');
NextPlayer(False);
end;
if InRange(Random(80), 8, 9) then
begin
Writeln('Taking a timeout..');
Status('Taking a timeout..');
Disguise('Taking a timeout..');
TO_Time := RandomRange(30000, 7 * 60000);
MarkTime(time);
while TimeFromMark(time) < TO_Time do
begin
Wait(500);
FindNormalRandoms;
end;
if not LoggedIn then
LoginPlayer;
end;
until(TimeFromMark(BreakTimer) < (Players[CurrentPlayer].Integers[0] * 1000)) or AllPlayersInActive;
until(AllPlayersInactive);
end.
2010-03-25 22:17:57
2010-03-26 07:30:17
2010-03-26 14:55:34
From: NCDS
The south east outside castle wars wall.
2010-03-26 15:51:31
From: kevinconklin
lol bro, u should have told me that, i thought u meant ardougne castle, cuz u didnt say castle wars, i will test. ty
IvyColors := [5609589, 3828049, 4289882, 4355932, 3695694, 4949607, 4157783, 3563594];
replace all those colors with new ones.
2010-03-26 19:26:19
From: NCDS
I would of, but I couldn't remember the name of the place :p
Also, let me know how it work's. If there is a demand for this script I might clean it up a bit/add some features and release.
E: You just need to update the IvyColor.
It's in the MainLoop:replace all those colors with new ones.
IvyColors := [5609589, 3828049, 4289882, 4355932, 3695694, 4949607, 4157783, 3563594];
2010-03-26 19:53:55
From: AwesomeSRL
There is definitely a demand for it without question. I will try to script one once I get 99 FM. I am at 97 atm though.
I will try to see if those colors work and let you know! Thanks~
2010-03-27 03:57:13
From: kevinconklin
ya, theres a demand, its the fastest wc xp in the game, also how do i update the colors, im noob?
IvyColors := [5609589, 3828049, 4289882, 4355932, 3695694, 4949607, 4157783, 3563594];IvyColors := [Color 1, Color 2, Color 3, Color 4, Color 5, Color 6, Color 7, Color 8];2010-03-27 07:57:38
2010-03-27 08:30:49
2010-03-27 08:50:27
2010-03-27 09:06:37
From: i luffs yeww
o.o.. Haha you only need like.. four colors.
2010-03-27 10:44:07
2010-03-28 12:31:07
2010-03-28 14:43:34
From: kevinconklin
do you know how to turn off the timeouts/breaks?
2010-03-29 16:17:05
From: NCDS
You will also want to make sure the colors are unique, so it doesn't find them in grass, trees, etc.
I'm currently tweaking my Yew Chopper for release, I have it set up with the stats system incase anyone wants to see how it runs so far.
After I release that I can improve this script though. I didn't realize so many people wanted one.