SRL Archive - OSR Help

nest looting. Im genuinly fedup


xtrapsp

2012-02-24 15:54:28

hey guys,

I've been trying to add nest picking up for a while now and I'm genuinly getting a mental block on what to do… I've tried ACA. I've tried DTM's ( Wont work due to multiple angles ).

If anyone would mind looking into this script I'd really appreciate it

program xtraivy;

{$DEFINE SMART}
{$i SRL\SRL.simba}
{$i SRL/SRL/skill/woodcutting.simba}
{include SPS/SPS.simba}
Var
Gained: Integer;
{♠===================================================================♠

♠XtraIVY♠ CrushPrice := GetGEPrice(6693);

♠Release Date♠: 17/02/2012

♠Author♠: xtrapsp

♠Support♠: [url]http://villavu.com/forum/showthread.php?t=75528[/url]

Changelog:
23/02/2012 - Changed around with the Nest Settings
20/02/2012 - Cleaned up script a bit + Setup script for addons
17/02/2012 - Chopping done.
18/02/2012 - Added Various antiban.
19/02/2012 - Added elements which aren't in use yet.


♠===================================================================♠}

Const
SRLStats_Username = '';
SRLStats_Password = '';
NumbOfPlayers= 1;
StartPlayer= 0;


procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

with Players[0] do
begin
Name := '';
Pass := '';
Nick := '';
Pin := '';
BoxRewards := ['Xp', 'mote', 'ostume', 'ssence'];
Member := True;
Active := True;
end;
end;

procedure CheckSRLStats;
begin
if ((SRLStats_Username= '') and (SRLStats_Password = '')) then
begin
case MessageBox('No Stats account entered, would you like to register?','SRL Stats',mbYesNoCancel) of
mrYes:
begin
OpenWebPage('http://stats.villavu.com/register');
TerminateScript;
end;
mrNo:
begin
SetupSRLStats(837, 'Anonymous', 'anon1337');
Exit;
end;
mrCancel: TerminateScript;
end;
end else
SetupSRLStats(837, SRLStats_Username, SRLStats_Password);
end;

procedure x_Stats_Commit;
begin
stats_IncVariable('Woodcutting EXP (Gained)', 4725);
Stats_Commit;
Writeln('Updated SRL Stats')
end;

Procedure ProgressReport;
var
startEXP, newExp, Gained : Integer;
begin
startExp := Players[CurrentPlayer].Integers[0];
newExp := GetXPBarTotal;
Gained := newExp - startExp;
WriteLn('Exp gained: ' + ToStr(Gained));
x_Stats_Commit;
end;



{♠===================================================================♠}

////////////////////////////////////////////////////////////////////////////////
////////////AutoColour Feature (I'm British I spell it like Colour)/////////////

function IVYColour: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.03, 0.08);

if not (FindColorsTolerance(arP, 4619873, MSX1, MSY1, MSX2, MSY2, 10)) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;

arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);

for i := 0 to arL do
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;

ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);

if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////


function Nestcolour: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.39, 0.74);

if not (FindColorsTolerance(arP, 2964028, MSX1, MSY1, MSX2, MSY2, 10)) then
begin
Writeln('Failed to find the nest, cannot pickup.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;

arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);

for i := 0 to arL do
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;

ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);

if (i = arL + 1) then
Writeln('Failed to find the nest, cannot pickup.');
end;

procedure Chop;
var
X, Y: Integer;
begin
if not LoggedIn then
Exit;
FindNormalRandoms;

SetColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.02, 0.07);

if FindObj(X, Y, 'Iv', 4619873, 8) then
begin
mouse( x, y, 2, 2, true);
wait(687 + random(15000))
MMouse( x, y, 10, 10);
end;

If Not FindObj (X, Y, 'Iv', 4619873, 8) then
begin
Chop;
end;

(* We revert back to the defaults here. *)
SetColorSpeed2Modifiers(0.2, 0.2);
SetColorToleranceSpeed(1);
end;

Procedure StatsGuise(wat:String); // Thanks YoHoJo
Begin
Status(wat);
Disguise(wat);
End;

Procedure Antiban_Upgrade;
var
I: Integer;
CurrentCompassDegree: Extended;
begin
I := Random(1000);
StatsGuise('AntiBan');

case (I) of
0..99 :
begin
GameTab(tab_Stats);
HoverSkill('Woodcutting', False);
GameTab(28);
end;
100..200 :
begin
SleepAndMoveMouse(7000 + Random(500));
MakeCompass(CurrentCompassDegree-18+Random(32));
end;
200..210 :
begin
GameTab(Tab_Stats);
MakeCompass(CurrentCompassDegree-2+Random(34));
Wait(3000 + Random(500));
GameTab(28);
end;
211..220 :
begin
BoredHuman;
MakeCompass('N')
end;
221..300 :
begin
GameTab(Tab_Stats);
Wait(100 + Random(1000));
end;
end;
end;

Procedure AFK;
begin
if not loggedIn then Exit;
Case Random (100) Of
1..15 : Wait(1000 + Random (3050));
16..24 : Wait (1340 + Random (1093));
25..45: Wait (1211 + Random (6000));
46..47: Wait (20000 + Random (10000)); // This looks like you've gone to get a drink
end;
end;

Procedure FindNest_old;
var
X, Y: Integer;
Begin
if not LoggedIn then
Exit;
FindNormalRandoms;

If FindObjCustom(x, y, ['Ne', 'st'], [3290938,3883332], 5) Then
begin
Mouse( x, y, 2, 2, True);
Writeln('Found a nest... Attempting to pickup');
MakeCompass(10 + random(50));
end;
End;

Procedure X_FindNest; ///FINISH THIS WHEN YOU HAVE A NEST
var
X, Y, Colour: Integer;
begin
if not LoggedIn then
Exit;
FindNormalRandoms;
Colour := NestColour;

if FindObj(X, Y, 'Nes', NestColour, 10) then
begin
mouse( x, y, 2, 2, true);
end;

If Not FindObj (X, Y, 'Nes', NestColour, 10) then
begin
Chop;
end;
end;

Procedure FindEmptyNest; //Probably not needed. It's a procedure incase the script drops a nest randomly?
var
X, Y, EmptyNest: Integer;
Begin
if not LoggedIn then
Exit;
FindNormalRandoms;

EmptyNest := DTMFromString('mlwAAAHicY2dgYMhmZGDIAuI4IE4B4nwgLgfiIiCew8TAsByIFwDxDCCeDsTzoGKeHhYMjo4WDN7ejkC2PYObmxmDjY0Gg56eBgM+wIgHQwEA+fEMeg==')

If FindDTM(EmptyNest, X, Y, MSX1, MSY1, MSX2, MSY2) Then
Begin
Writeln('Found a nest... Attempting to pickup');
MMouse (x, y, 5, 5);
MakeCompass(0 + random(50));

If IsUpText('nes') Then
Mouse(x, y, 0, 0, True);
End;

FreeDTM(EmptyNest);
End;


Procedure X_CrushNest;
var
X, Y, CrushNest: Integer;
Begin
if not LoggedIn then
Exit;
FindNormalRandoms;

CrushNest := DTMFromString('mggAAAHicY2NgYOADYiEgFgNiGSDmZYAATijNCGULQWkTAw0gyYSBuRiwA0YcGAIAboABOg==')

If FindDTM(CrushNest, X, Y, MIX1, MIY1, MIX2, MIY2) Then
Begin
Writeln('Found a nest inside Inventory, Attempting to crush');
MMouse (x, y, 5, 5);

If IsUpText('cru') Then
Mouse(x, y, 0, 0, True);
End;

FreeDTM(CrushNest);
End;

Procedure Joincommunity;
begin
case MessageBox('While the bot is running, would you like to browse our other scripts?','Community Site',mbYesNoCancel) of
mrYes:
begin
OpenWebPage('http://bot.lizardguru.com');
end;
mrNo:
begin
Exit;
end;
mrCancel: TerminateScript;
end;
end;

begin
SetupSRL;
Joincommunity;
DeclarePlayers;
CheckSRLStats;
LoginPlayer;
ToggleXPBar(True);
Players[CurrentPlayer].Integers[0] := GetXPBarTotal;
Writeln('Your using XtraIvy V0.05');
Writeln('Please report any bugs on the thread');

Repeat
Chop;
X_FindNest;
Antiban_Upgrade;
X_FindNest;
FindEmptyNest;
AFK;
ProgressReport;
until(Not LoggedIn);
End.

Thanks guys. Literally pulling my hair out

Kyle Undefined

2012-02-24 15:59:15

What is the issue? Can't find the nest?

Also, what's up with this?
Procedure Joincommunity;
begin
case MessageBox('While the bot is running, would you like to browse our other scripts?','Community Site',mbYesNoCancel) of
mrYes:
begin
OpenWebPage('http://bot.lizardguru.com');
end;
mrNo:
begin
Exit;
end;
mrCancel: TerminateScript;
end;
end;

xtrapsp

2012-02-24 16:03:28

From: Kyle Undefined
What is the issue? Can't find the nest?

Also, what's up with this?
Procedure Joincommunity;
begin
case MessageBox('While the bot is running, would you like to browse our other scripts?','Community Site',mbYesNoCancel) of
mrYes:
begin
OpenWebPage('http://bot.lizardguru.com');
end;
mrNo:
begin
Exit;
end;
mrCancel: TerminateScript;
end;
end;


It's something I was testing. As I'm planning on making a branch of bots in an xtra-style it will be a portal page (probably gonna make a thread with all the bots on but this was the basic idea to do it on one of my domains)

spoke to hobbit about it =]


& it wont click the nest or find them

Kyle Undefined

2012-02-24 16:07:13

Ahh ok, that's cool, I was just curious :)

It looks like your Chop procedure is an infinite loop.

xtrapsp

2012-02-24 16:12:10

From: Kyle Undefined
Ahh ok, that's cool, I was just curious :)

It looks like your Chop procedure is an infinite loop.


I don't really know how to stop that ;P

Kyle Undefined

2012-02-24 16:13:34

Well you're looking for the Ivy, and if you don't find it, then you start the procedure over again. Just take out the if(not FindObj('ivy')) part of the procedure out and it shouldn't loop.

xtrapsp

2012-02-24 16:26:09

From: Kyle Undefined
Well you're looking for the Ivy, and if you don't find it, then you start the procedure over again. Just take out the if(not FindObj('ivy')) part of the procedure out and it shouldn't loop.


ahh I see :) thanks, Testing now

Kave

2012-02-24 16:29:26

From: xtrapsp
ahh I see :) thanks, Testing now


You may want to check out Shuttleu's vine vanquisher to see his nest finding procedure.

xtrapsp

2012-02-24 16:51:35

From: Kave
You may want to check out Shuttleu's vine vanquisher to see his nest finding procedure.


I did, didn't quite understand it. Will have another look as it still won't find nests :(

x[Warrior]x3500

2012-02-24 17:04:40

if u use aca + ATPA, you can find it. my ivy cutter works with it. :)

Borland

2012-02-24 17:36:00

Create a TPA using a color from the nest, from there make it into a ATPA. If it finds the ATPA of what it assumes to be a nest check the Length of it, if it's within the correct range (you will have to test this, have the length of the ATPA constantly writeln'ing while there's a nest on the ground, turn the camera to get all angles and pitches, make a note of highest and lowest.

Finally an uptext check, if the uptext is wrong set a timer in which it wont check for nests again, say 2 minutes.

You can get a reference of all that in my Ivy script, I believe the latest version I posted uses this, if not PM me if you want.

Good luck.