Its a no go... Flight, any idea why it's not fertilizing the soil?
Current projects:
[ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]
"I won't fall in your gravity. Open your eyes,
you're the Earth and I'm the sky..."
Also it keeps trying to click off screen.
It was my settings. Dunno why it doesn't do it automatically when I set it to lower graphics. Thanks for the help, its working amazingly now!
Great script! Will be using it to get the Repair Pouch skill haha.=-=-=-=-=-=-= LividFarmer 1.15 by Flight =-=-=-=-=-=
Time Running: 3 Hours, 44 Minutes and 28 Seconds
Points: 25060
Plants cured: 618
Soil fertilized: 635
Farming XP: 115276 (30813 / hour)
Magic XP: 92325 (24678 / hour)
Breaks: 1
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Successfully executed.
thanks
I've yet to explore this activity,
before I begin this script - anyone able to suggest a number of each rune to bring for 6 hours of running it?
118/120 Dungeoneering
=-=-=-=-=-=-= LividFarmer 1.15 by Flight =-=-=-=-=-=
Time Running: 5 Hours, 3 Minutes and 23 Seconds
Points: 13120
Plants cured: 246
Soil fertilized: 410
Farming XP: 60352 (11935 / hour)
Magic XP: 50430 (9973 / hour)
Breaks: 2
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
not a fan....all settings are correct by the way.
Current projects:
[ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]
"I won't fall in your gravity. Open your eyes,
you're the Earth and I'm the sky..."
Great script Flight! Will post a proggy soon. Already got a 3 hour one and a 2 hour one! And for everyone with the fertilise soil being way more than the cure plants, I think it's because you disabled smart too many times/ for too long, because that's happened to me a couple times, but otherwise great script.
P.S. Do you plan on making a script that does the whole farm in the future? If you did that would be AMAZING. (Sorry to sound like a leecher )
I would love to, I set it and went out for a bit so I wasn't able to see what was wrong with it, just the horrible exp per hour :P. After playing around with a bit, it seems to have trouble deciding which plant it is.
Also, for whatever reason it will continuously loop right-clicking on the different plants, almost as if deciding which one to try to cure.
PS: Love your scripts, actually learning how to script because there are things I want to add/tweak with them. Keep it up!
It's been improved, and now I'm working on adding Pauline-energizing support. I'll release it after that, and possibly work on the rest of the activity later on.
Current projects:
[ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]
"I won't fall in your gravity. Open your eyes,
you're the Earth and I'm the sky..."
Small bug: runs away east of the farming patches where the suqua is.. my settings are minimum and ran for about 40 mins before it decided to do that.
Lucky for 99 defence and torags while botting i've kept over 30m in runes or else would of lost it.
Added energizing of Pauline and jumped up to over 11k points / hour as well as a jump up to 31k Magic XP / hour. Anyone care to test out V.1.2?
Edit:
Progress Report by Flight:[=================================] [ LividFarmer 1.2 ] [ by Flight ] [=================================] [ Run Time : 59 Min 57 Sec ] [ Points : 10600 ] [ Plants Cured : 180 ] [ Soil Fertilized : 185 ] [ Farming XP : 33580 ] [ Farming XP/Hr : 33608 ] [ Magic XP : 30195 ] [ Magic XP/Hr : 30220 ] [ Agility XP : 5544 ] [ Agility XP/Hr : 5548 ] [ Breaks : 0 ] [=================================] [ LividFarmer 1.2 ] [=================================]
Last edited by Flight; 04-07-2012 at 03:41 PM.
Current projects:
[ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]
"I won't fall in your gravity. Open your eyes,
you're the Earth and I'm the sky..."
Working pretty smooth so far.
Thank you very much
Hey Flight! I'd love to test the new version.
Here's V.1.2 for anyone who would like to test it out with me. Same as before but now you must have Law runes in your inventory.
Simba Code:{/////////////////////////////////////////
// LividFarmer //
// (by Flight) //
// //
// Version: 1.2 //
/////////////////////////////////////////}
program LividFarmer;
{$DEFINE SRL5}
{$DEFINE SMART}
{$i SRL/srl.simba}
{$i SRL/SRL/misc/reports.simba}
{$i SRL/SRL/misc/paintsmart.simba}
Const
//SRL Stats
SRLStats_Username = '';
SRLStats_Password = '';
//General settings
DebugMode = True; //On-screen debugging?
SwitchWorlds = True; //Switch worlds after a break?
//Break settings
BreakIn = 135; //How long before we take a break? (minutes)
BreakFor = 15; //How long will we break for? (minutes)
Bir = 13; //Random minutes to add/subtract from how long until we break
Bfr = 7; //Random minutes to add/subjtract from break duraction
Var
//Static
Version: String;
SCols,PCols: TIntegerArray;
//Dynamic
FarmXP,FarmXP_O,MageXP,
MageXP_O,AgilXP,AgilXP_O,
Points,CommitTime,
ReportTime,PlantCount,
SoilCount: Integer;
CheckedPauline: Boolean;
//Break variables
w,x,y,z,RealBTime,CurrentBTime,
BreakRounds,TotalBreaks: Integer;
Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
Name := '';
Pass := '';
BoxRewards := ['XP','xp','lamp'];
LampSkill := Skill_Farming;
Active := True;
end;
end;
Procedure LoadVars;
begin
Version := '1.2';
MarkTime(ReportTime);
MarkTime(CommitTime);
CheckedPauline := False;
SetupSRLStats(156, SRLStats_Username, SRLStats_Password);
w := (BreakIn * 60000);
x := (BreakFor * 60000);
y := RandomRange(-Bir * 60000, Bir * 60000);
z := RandomRange(-Bfr * 60000, Bfr * 60000);
SCols := [5073267, 5204854, 5465452, 5402748]; //Soil colors
PCols := [4542282, 4674124, 4871760, 5003346, 5135188]; //Healthy livid colors
end;
Procedure Report;
Var
FXPH,MXPH,AXPH: Integer;
begin
FXPH := Round((FarmXP * 3600) / (GetTimeRunning / 1000));
MXPH := Round((MageXP * 3600) / (GetTimeRunning / 1000));
AXPH := Round((AgilXP * 3600) / (GetTimeRunning / 1000));
ClearDebug;
SRLProgressReport(ResultDebugBox, 'LividFarmer', 'Flight', Version,
['Run time', 'Points', 'Plants cured', 'Soil fertilized', 'Farming XP',
'Farming XP/Hr', 'Magic XP', 'Magic XP/Hr', 'Agility XP', 'Agility XP/Hr','Breaks'],
[MsToTime(GetTimeRunning, Time_Abbrev), Points, PlantCount, SoilCount, FarmXP,
FXPH, MageXP, MXPH, AgilXP, AXPH, TotalBreaks]);
MarkTime(ReportTime);
end;
Procedure Commit;
begin
stats_IncVariable('Farming EXP (Gained)', FarmXP_O);
stats_IncVariable('Magic EXP (Gained)', MageXP_O);
stats_IncVariable('Agility EXP (Gained)', AgilXP_O);
Stats_Commit;
FarmXP_O := 0;
MageXP_O := 0;
AgilXP_O := 0;
MarkTime(CommitTime);
end;
//By Bandland100, modified to shift mouse speeds after every step
procedure SuperWindMouse(xs, ys, xe, ye, gravity, wind, minWait, maxWait, maxStep, targetArea: extended);
var
veloX,veloY,windX,windY,veloMag,dist,randomDist,lastDist,step: extended;
lastX,lastY,MSP,W: integer;
sqrt2,sqrt3,sqrt5: extended;
begin
MSP := MouseSpeed;
sqrt2:= sqrt(2);
sqrt3:= sqrt(3);
sqrt5:= sqrt(5);
while hypot(xs - xe, ys - ye) > 1 do
begin
dist:= hypot(xs - xe, ys - ye);
wind:= minE(wind, dist);
if dist >= targetArea then
begin
windX:= windX / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
windY:= windY / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
end else
begin
windX:= windX / sqrt2;
windY:= windY / sqrt2;
if (maxStep < 3) then
begin
maxStep:= random(3) + 3.0;
end else
begin
maxStep:= maxStep / sqrt5;
end;
end;
veloX:= veloX + windX;
veloY:= veloY + windY;
veloX:= veloX + gravity * (xe - xs) / dist;
veloY:= veloY + gravity * (ye - ys) / dist;
if hypot(veloX, veloY) > maxStep then
begin
randomDist:= maxStep / 2.0 + random(round(maxStep) div 2);
veloMag:= sqrt(veloX * veloX + veloY * veloY);
veloX:= (veloX / veloMag) * randomDist;
veloY:= (veloY / veloMag) * randomDist;
end;
lastX:= Round(xs);
lastY:= Round(ys);
xs:= xs + veloX;
ys:= ys + veloY;
case Random(50) of
1..25: W := (MSP + (Random((MSP/4))));
26..50: W := (MSP - (RandomRange((MSP/2), MSP-1)));
end;
if (W < 1) then
W := 1;
if (lastX <> Round(xs)) or (lastY <> Round(ys)) then
MoveMouse(Round(xs), Round(ys));
if not DebugMode then
SMART_DrawDotsEx(False, [Point(lastX, lastY)], 65280);
step:= hypot(xs - lastX, ys - lastY);
wait(W);
lastdist:= dist;
end;
if (Round(xe) <> Round(xs)) or (Round(ye) <> Round(ys)) then
MoveMouse(Round(xe), Round(ye));
MouseSpeed := MSP;
end;
Procedure HumanRandomMouse;
var
randSpeed: extended;
x, y, firstSpeed: integer;
begin
case(Random(10)) of
2..8:
begin
firstSpeed := mouseSpeed;
mouseSpeed := RandomRange(5,10);
randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
GetMousePos(x, y);
SuperWindMouse(x, y, RandomRange(x - 75, x + 75), RandomRange(y - 75, y + 75),
30, 55, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
mouseSpeed := firstSpeed;
Smart_ClearCanvas;
end;
end;
end;
Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
var
randSpeed: extended;
X,Y,X2,Y2,A,Dist,MP: integer;
begin
A := MouseSpeed;
GetMousePos(X, Y);
Dist := Distance(X, Y, eX, eY);
MP := Round(Dist/150);
if MP < 0 then
MP := 1;
randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
X2 := RandomRange(eX-(A*MP), eX+(A*MP));
Y2 := RandomRange(eY-(A*MP), eY+(A*MP));
SuperWindMouse(X, Y, X2, Y2, 9.0, 3.0, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
GetMousePos(X, Y);
MMouse(eX, eY, ranX, ranY);
MouseSpeed := A;
end;
Procedure ReturnValues(colors: TIntegerArray; var HueMods, SatMods: Extended; var color, Tolerance: Integer);
Var
h, s, t: Extended;
I,II : integer;
HSLColor : Array[1..3] of Extended;
HSL : Array[0..1] of Array[1..3] of Extended;
begin;
For I:= 1 to 3 do
begin;
HSL[0][i] := 255;
end;
For I:= 0 to High(Colors) do
begin;
ColortoHSL(Colors[i],HSLColor[1],HSLColor[2],HSLColor[3]);
For II:= 1 to 3 do
begin;
HSL[0][II] := MinE(HSLColor[II],HSL[0][II]);
HSL[1][II] := MaxE(HSLColor[II],HSL[1][II]);
end;
end;
H := (HSL[1][1] - HSL[0][1]);
S := (HSL[1][2] - HSL[0][2]);
T := (HSL[1][3] - HSL[0][3]);
try
HueMods := (H/T);
SatMods := (S/T);
Tolerance := Round(t);
except
HueMods := 0;
SatMods := 0;
Tolerance := Round(0.0);
end;
Color := HSLToColor((HSL[1][1] + HSL[0][1]) div 2,(HSL[1][2] + HSL[0][2]) div 2,(HSL[1][3] + HSL[0][3]) div 2);
end;
Function FindLivid(Var X,Y: Integer): Boolean;
var
B: TBox;
TPA,PAr: TPointArray;
i,h,CTS: Integer;
TBA: TBoxArray;
MBP: TPoint;
ATPA: T2DPointArray;
begin
Result := False;
if not LoggedIn then Exit;
CTS := GetColorToleranceSpeed;
PAr := TPAFromBox(IntToBox(245, 135, 275, 190));
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(8.34, 0.33);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 1907996, MSX1, MSY1, MSX2, MSY2, 6);
ColorToleranceSpeed(CTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (Length(TPA) < 1) then
Exit;
TPA := ClearTPAFromTPA(TPA, PAr);
ATPA := SplitTPAEx(TPA, 30, 40);
SortATPAFromFirstpoint(ATPA, Point(MSCX, MSCY));;
for i := 0 to High(ATPA) do
begin
if (GetArrayLength(ATPA[I]) > 50) then
begin
B := GetTPABounds(ATPA[i]);
SetArrayLength(TBA, Length(TBA)+1);
TBA[High(TBA)] := B;
end;
end;
if DebugMode then
begin
SMART_DrawBoxes(True, TBA, clRed);
if (Length(TBA) > 0) then
SMART_DrawBoxEx(False, TBA[0], 65280);
end;
for h := 0 to High(TBA) do
begin
MBP := MiddleBox(TBA[h]);
HumanMMouse(MBP.X, MBP.Y, 5, 5);
if WaitUpTextMulti(['Cure', 'plant', 'Diseased', 'livd'], 500) then
begin
Result := True;
GetMousePos(X, Y);
Exit;
end else
Result := False;
end;
end;
Function FindSoil(Var X,Y: Integer): Boolean;
var
B,B2: TBox;
TPA,TPA2,PAr: TPointArray;
Hmod,Hmod2,Smod2,Smod: Extended;
i,h,Tol,Tol2,CTS,Col2,Col: Integer;
TBA: TBoxArray;
MBP: TPoint;
ATPA: T2DPointArray;
begin
CTS := GetColorToleranceSpeed;
PAr := TPAFromBox(IntToBox(245, 155, 270, 190));
ColorToleranceSpeed(2);
ReturnValues(SCols, Hmod, Smod, Col, Tol);
SetColorSpeed2Modifiers(Hmod, SMod);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, Col, MSX1, MSY1, MSX2, MSY2, Tol);
if (Length(TPA) < 1) then
begin
ColorToleranceSpeed(CTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
TPA := ClearTPAFromTPA(TPA, PAr);
ATPA := SplitTPAEx(TPA, 30, 30);
SortATPAFromFirstpoint(ATPA, Point(MSCX, MSCY));
for i := 0 to High(ATPA) do
begin
B := GetTPABounds(ATPA[i]);
ReturnValues(PCols, Hmod2, Smod2, Col2, Tol2);
SetColorSpeed2Modifiers(Hmod2, SMod2);
if not FindColorsSpiralTolerance(MSCX, MSCY, TPA2, Col2, B.X1, B.Y1, B.X2, B.Y2, Tol2) then
begin
B2 := GetTPABounds(ATPA[i]);
SetArrayLength(TBA, Length(TBA)+1);
TBA[High(TBA)] := B2;
end;
end;
ColorToleranceSpeed(CTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if DebugMode then
begin
SMART_DrawBoxes(True, TBA, clRed);
if (Length(TBA) > 0) then
SMART_DrawBoxEx(False, TBA[0], 65280);
end;
for h := 0 to High(TBA) do
begin
MBP := MiddleBox(TBA[h]);
HumanMMouse(MBP.X, MBP.Y, 5, 5);
if WaitUpTextMulti(['Fertilise', 'Empty', 'patch'], 500) then
begin
Result := True;
GetMousePos(X, Y);
Exit;
end else
Result := False;
end;
end;
Function FindPauline(Var X,Y: Integer): Boolean;
var
B: TBox;
TPA,PArr: TPointArray;
i,h,CTS: Integer;
MBP: TPoint;
ATPA: T2DPointArray;
Cols,Tols: TIntegerArray;
HMods,SMods: Array of Extended;
begin
Result := False;
if not LoggedIn then Exit;
CTS := GetColorToleranceSpeed;
PArr := TPAFromBox(IntToBox(245, 135, 275, 190));
Cols := [6319982, 6583413, 6648947];
Tols := [9, 12, 9];
HMods := [0.10, 0.09, 0.09];
SMods := [0.04, 0.08, 0.08];
for h := 0 to High(Cols) do
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(HMods[h], SMods[h]);
FindColorsSpiralTolerance(370, 30, TPA, Cols[h], 300, 5, 420, 70, Tols[h]);
TPA := ClearTPAFromTPA(TPA, PArr);
if (Length(TPA) > 0) then break;
end;
ColorToleranceSpeed(CTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (Length(TPA) < 1) then
begin
Writeln('No Pauline colors found');
Exit;
end;
TPA := ClearTPAFromTPA(TPA, PArr);
ATPA := SplitTPAEx(TPA, 15, 25);
SortATPAFromFirstpoint(ATPA, Point(370, 30));;
for i := 0 to High(ATPA) do
begin
B := GetTPABounds(ATPA[i]);
if DebugMode then
SMART_DrawBoxEx(True, B, 65280);
MBP := MiddleBox(B);
HumanMMouse(MBP.X, MBP.Y, 5, 5);
if WaitUpTextMulti(['alk-t', 'rain', 'auli', 'Paul','olari'], 500) then
begin
Result := True;
GetMousePos(X, Y);
Exit;
end;
end;
end;
Function GetLividType(X, Y: Integer): Integer;
var
R1C1,R1C2,R1C3,R1C4,R1C5,
R2C1,R2C2,R2C3,R2C4,R2C5,
R3C1,R3C2,R3C3,R3C4,R3C5: TBox;
begin
Result := 0;
//Top row
R1C1 := IntToBox(100, 20, 150, 70);
R1C2 := IntToBox(165, 20, 220, 70);
R1C3 := IntToBox(235, 20, 290, 70);
R1C4 := IntToBox(300, 20, 355, 70);
R1C5 := IntToBox(370, 20, 440, 70);
//Middle row
R2C1 := IntToBox(70, 100, 135, 160);
R2C2 := IntToBox(155, 100, 220, 160);
R2C3 := IntToBox(230, 100, 290, 160);
R2C4 := IntToBox(305, 100, 365, 160);
R2C5 := IntToBox(380, 100, 440, 160);
//Bottom row
R3C1 := IntToBox(60, 210, 125, 270);
R3C2 := IntToBox(140, 210, 215, 270);
R3C3 := IntToBox(225, 210, 295, 270);
R3C4 := IntToBox(305, 210, 375, 270);
R3C5 := IntToBox(400, 210, 470, 270);
if (IntInBox(X, Y, R1C1) or IntInBox(X, Y, R1C2) or //Type 1
IntInBox(X, Y, R1C3) or IntInBox(X, Y, R1C5)) then
Result := 1
else if (IntInBox(X, Y, R1C4) or IntInBox(X, Y, R2C3) or //Type 2
IntInBox(X, Y, R2C4) or IntInBox(X, Y, R2C5)) then
Result := 2
else if (IntInBox(X, Y, R2C2) or IntInBox(X, Y, R3C1) or //Type 3
IntInBox(X, Y, R3C5)) then
Result := 3
else if (IntInBox(X, Y, R2C1) or IntInBox(X, Y, R3C2) or //Type 4
IntInBox(X, Y, R3C3) or IntInBox(X, Y, R3C4)) then
Result := 4;
end;
Function LividMenu: Boolean;
var
X,Y: Integer;
begin
Result := FindText(x, y, 'train', SmallChars, MIX1, MIY1, MIX2, MIY2);
end;
Function TalkScreen: Boolean;
begin
Result := GetColor(216, 360) = 7913190;
end;
Procedure QuickLow;
begin
KeyDown(40);
Wait(850 + Random(100));
KeyUp(40);
end;
Procedure QuickHigh;
begin
Mouse(542, 24, 15, 15, mouse_left);
KeyDown(38);
Wait(950 + Random(100));
KeyUp(38);
end;
Procedure CureLivid(Strain: Integer);
var
SPoint: TPoint;
begin
if (Strain = 1) then
SPoint := Point(590, 280)
else if (Strain = 2) then
SPoint := Point(680, 280)
else if (Strain = 3) then
SPoint := Point(590, 400)
else if (Strain = 4) then
SPoint := Point(680, 400);
HumanMMouse(SPoint.X, SPoint.Y, 10, 10);
if WaitUpText('Continue', 300) then
begin
ClickMouse2(True);
Inc(PlantCount);
IncEx(FarmXP_O, 92);
IncEx(FarmXP, 92);
IncEx(MageXP_O, 60);
IncEx(MageXP, 60);
IncEx(Points, 20);
end;
end;
Function HandleLivids: Boolean;
var
X,Y,T: Integer;
label
Start;
begin
Result := False;
Start:
if not LoggedIn then Exit;
FindNormalRandoms;
MouseSpeed := RandomRange(12, 16);
if FindLivid(X, Y) then
begin
if (GetLividType(X, Y) = 0) then
GoTo Start;
CheckedPauline := False;
ClickMouse2(False);
if WaitOptionMulti(['Cure', 're-p', '-pl', 'lant'], 500) then
begin
HumanMMouse(635, 310, 65, 70);
if DebugMode then
Smart_ClearCanvas;
end;
MarkTime(T);
repeat
if (TimeFromMark(T) > 3000) then
Exit;
if LividMenu then
break;
until(false)
if LividMenu then
begin
CureLivid(GetLividType(X, Y));
Wait(randomRange(1915, 2570));
GoTo Start;
end;
end else
Result := True;
end;
Function HandleSoil: Boolean;
var
X,Y: Integer;
label
Start;
begin
Result := False;
Start:
MouseSpeed := RandomRange(12, 16);
FindNormalRandoms;
if FindSoil(X, Y) then
begin
CheckedPauline := False;
ClickMouse2(False);
if WaitOption('Empty', 500) then
begin
Inc(SoilCount);
IncEx(FarmXP_O, 92);
IncEx(FarmXP, 92);
IncEx(MageXP_O, 87);
IncEx(MageXP, 87);
IncEx(Points, 20);
Smart_ClearCanvas;
Wait(randomRange(1915, 2570));
GoTo Start;
end;
end else
Result := True;
end;
Function HandleThatTiredPaulinePersonWhoNeedsEncouragementBecauseWeAreProLikeABoss: Boolean;
Var
X,Y: Integer;
ExBMP,FanBMP,LukBMP,
ProBMP,WeBMP,WellBMP: Integer;
begin
Result := False;
if not LoggedIn then Exit;
if ((not FindLivid(X, Y)) and (not FindSoil(X, Y))) then
begin
QuickLow;
MakeCompass('E');
Wait(RandomRange(235, 320));
if FindPauline(X, Y) then
begin
if WaitUpTextMulti(['Drai', 'raine'], 500) then
begin
ClickMouse2(False);
if WaitOptionMulti(['Ener', 'ergis', 'gise'], 500) then
begin
if DebugMode then
Smart_ClearCanvas;
if WaitFunc(@TalkScreen, 10, 3000) then
begin
ExBMP := BitmapFromString(16, 5, 'meJw7cQIFMMAAhI0sAuGiiaDJYop' +
'QSz0e92C6H9MjcAAAAUs6mQ==');
FanBMP := BitmapFromString(67, 6, 'meJw7cQIKGHCAE0gAUxBZBI96POJ' +
'4zCTDGcguwSWI7FQ8gsRrwQXw+AWPFvwBRU+PEBNlpGqhv0eI9Ckx' +
'WgY2Rij3CMGoITKXEXQzMSmHkqQFAMDdFvg=');
LukBMP := BitmapFromString(18, 7, 'meJw7ceIEAwPDCTCJH8DVnAAD/Lp' +
'OIAEidSGLI+siaBEZunC5kKAuXOaQpAWiCwCFcEZR');
ProBMP := BitmapFromString(26, 7, 'meJw7cQIBGJAAVkFMWWQFmFw0Bho' +
'bqyCyLjzieJxHqmlYPUi5aZS7jYHcWMDvI1wAl0YAdzB8OQ==');
WellBMP := BitmapFromString(41, 6, 'meJw7cQIBGLABTFmC6nExcOnFahS' +
'mIJo5JFmNSy8uc/C4EI/VmCQDkpcxgxHTHEwHUGg1LvNxWY1LOzFG' +
'4WFjDQFMBQQFibEaTS8AGGuowQ==');
WeBMP := BitmapFromString(23, 8, 'meJw7ceIEAwycQGKTBE5QwxC4XjQ' +
'TTsAAHl3ICjANIeg8TAVYDUEG+A0hxiW4/EJQkAzv4HIe8QELAEER' +
'YnE=');
if (FindBitmapToleranceIn(ExBMP, X, Y, MCX1, MCY1, MCX2, MCY2, 15) or
FindBitmapToleranceIn(WellBMP, X, Y, MCX1, MCY1, MCX2, MCY2, 15) or
FindBitmapToleranceIn(FanBMP, X, Y, MCX1, MCY1, MCX2, MCY2, 15) or
FindBitmapToleranceIn(LukBMP, X, Y, MCX1, MCY1, MCX2, MCY2, 15) or
FindBitmapToleranceIn(ProBMP, X, Y, MCX1, MCY1, MCX2, MCY2, 15) or
FindBitmapToleranceIn(WeBMP, X, Y, MCX1, MCY1, MCX2, MCY2, 15)) then
begin
HumanMMouse(X, Y+2, 10, 2);
ClickMouse2(True);
IncEx(AgilXP_O, 168);
IncEx(AgilXP, 168);
IncEx(MageXP_O, 100);
IncEx(MageXP, 100);
IncEx(Points, 100);
end;
FreeBitmap(ExBMP);
FreeBitmap(WellBMP);
FreeBitmap(FanBMP);
FreeBitmap(LukBMP);
FreeBitmap(ProBMP);
FreeBitmap(WeBMP);
end;
end;
end;
Result := True;
end;
QuickHigh;
CheckedPauline := True;
end;
end;
Function DoAntiban: Boolean;
var
i: Integer;
begin
if not LoggedIn then Exit;
i := Random(900);
case i of
1..45:
begin
HumanRandomMouse;
Result := True;
end;
46:
begin
HoverSkill('Farming', False);
Result := True;
end;
47:
begin
HoverSkill('Magic', False);
Result := True;
end;
end;
Wait(100);
end;
Function BreakHandler(BreakIn, BreakFor, randBreakIn, randBreakFor: Integer): Boolean;
Var
h,m,s: integer;
begin
if not LoggedIn then Exit;
if (HowManyPlayers = 1) then
begin
if (GetTimeRunning < ((w) + (y) + BreakRounds)) then Exit
else
if (GetTimeRunning > ((w) + (y) + BreakRounds)) then
begin
RealBTime := ((x+z)/60000);
Writeln('Taking a break for about ' + IntToStr(RealBTime) + ' minutes.');
Logout;
MarkTime(CurrentBTime);
repeat
Wait(21000);
ConvertTime((x+z)-TimeFromMark(CurrentBTime), h, m, s);
ClearDebug;
Writeln('Breaktime left: '+IntToStr(h)+':'+IntToStr(m)+':'+IntToStr(s));
until(TimeFromMark(CurrentBTime)>(x+z));
Writeln('Logging in.');
if SwitchWorlds then
if LoginPlayerToLob then
ChangeWorld(RandomWorld(True, False))
else
LoginPlayer;
Wait(4000);
Result := LoggedIn;
ClickNorth(SRL_ANGLE_HIGH);
IncEx(BreakRounds, (w) + (x));
Inc(TotalBreaks);
Writeln('The next break will occur in about ' + IntToStr(BreakIn) + ' minutes.');
w := (BreakIn * 60000);
x := (BreakFor * 60000);
y := RandomRange(-Bir * 60000, Bir * 60000);
z := RandomRange(-Bfr * 60000, Bfr * 60000);
end;
end;
end;
Procedure FoundARandom;
begin
Writeln('Found a random!');
PlaySound(ScriptPath+'evilaugh.wav');
Wait(RandomRange(10000, 20000));
end;
begin
Smart_Server := 86;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
setupSRL();
DeclarePlayers;
LoadVars;
Smart_ClearCanvas;
LoginPlayer;
QuickHigh;
//SRL_Procs[SRL_OnFindRandom] := @FoundARandom;
Repeat
if not LoggedIn then
begin
LoginPlayer;
ClickNorth(SRL_ANGLE_HIGH);
end;
BreakHandler(BreakIn,BreakFor,Bir,Bfr);
if (TimeFromMark(CommitTime)>=30000) then
Commit;
if (TimeFromMark(ReportTime)>=30000) then
Report;
FindNormalRandoms;
HandleLivids;
HandleSoil;
if not CheckedPauline then
HandleThatTiredPaulinePersonWhoNeedsEncouragementBecauseWeAreProLikeABoss;
DoAntiban;
Until(AllPlayersInactive)
end.
Current projects:
[ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]
"I won't fall in your gravity. Open your eyes,
you're the Earth and I'm the sky..."
It worked good for about 4 minutes then the mouse just began to jump around in the green box on the plant. It fertilizes still though, it just doesn't choose the plant.
Edit: restarted a couple of times to see if it was a compiling error, I have it now to select the plant but it doesn't select right. Ill mess around with it a little more to see if I can get a fix.
Thanks for the update Flight, Will be more than to try this out. Will let you know how I go
There are currently 1 users browsing this thread. (0 members and 1 guests)