PDA

View Full Version : Boom Goes The Oaks!



**BANNED The Man
12-30-2010, 11:13 PM
Boom Goes The Oaks!


What it Does!
- Chops Oak trees in Draynor then banks them.

Features
- Super accurate TPA Tree Finding
- Lightning fast reactions on the walking with Reflection
- Shmexy Proggy
- ALL Axe Detection (inc Dragon Axe)
- Good Antiban and AntiRandoms
- Humanlike!

How to Setup
First you will see:
Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

with players[0] do
begin
Name := '';
Pass := '';
Active := True;
Pin := ''; //Leave blank if no pin
Loc := 'at trees'; //Read the thread to see valid arguments.
Integers[4]:= 1000; //Amount of loads you want to do.
end;
end;

All explanatory apart from Loc:
Valid arguments:
'at trees' //you are at the trees
'at bank' //you are at the bank with stuff (logs) in inventory
'banked' //you are at the bank ready to go to trees
'chopped trees' // you are at the trees with a full load ready to bank

Shoutouts
- Huge thanks to 3 people:
- Frement
- Boreas
- i luffs yeww
- all 3 have helped me massively! <3


-Boom

**BANNED The Man
12-30-2010, 11:14 PM
Saved for proggys :)

Her0n
12-30-2010, 11:18 PM
Damn it, you took my idea. Well there are better oak spots anyways!


Edit: I'll try it anyways:p

**BANNED The Man
12-31-2010, 03:39 PM
Damn it, you took my idea. Well there are better oak spots anyways!


Edit: I'll try it anyways:p

Haha, I didn't realise you were making one :P
I made this last week but was testing etc.
Progress Reports anyone? :)

-Boom

Rich
12-31-2010, 04:07 PM
[Error] (24:11): Duplicate identifier 'STATUS' at line 23Fixed that (changed the procedure to Statuss) then[Error] (26:3): Unknown identifier 'aStatus' at line 25Fixed that (added a global var) then[Error] (143:33): colon (':') expected at line 142Fixed that (SwitchTree should be a procedure, and all 2 semi-colons on the end) then[Error] (152:27): colon (':') expected at line 151Fixed that (needed another end) then[Error] (212:10): Unknown identifier 'SwitchTrees' at line 211Fixed that (procedure SwitchTree needs to actually be function SwitchTrees as a boolean [doesn't make sense because you never give a result]) then it finally loaded!

Running now.

EDIT:
- Proggy says Willows
- Where you have the searching for levelling up text, use if LevelUp
- Try using both reflection and colour random checks
- Use reflection and colour bank opening, so you'd have: If Not R_OpenBank(Bank_DR) Then
If Not OpenBank(Bank_DR, False, False) Then //Tries all colour methods
Exit;
- When the oak has chopped down, it sits there moving the mouse around looking for another, even though they're all normal trees. Just pointing that out.

EDIT2:
Working version with what I pointed out above:program BoomGoesTheWillows;
{$define SMART}
{$i srl/srl.scar}
{$i Reflection/Reflection.simba}

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

with players[0] do
begin
Name := '';
Pass := '';
Active := True;
Pin := ''; //Leave blank if no pin
Loc := 'banked'; //Read the thread to see valid arguments.
Integers[4]:= 1000; //Amount of loads you want to do.
end;
end;

var
aStatus : Integer;

Procedure Statuss(M : Integer);
Begin
aStatus := M;
End;

Procedure AxeWielded;
var
Equipped : integer;
TheIDs: TIntegerArray;
Hatchet : TInvItemArray;
Begin
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
exit;
TheIDs := [1351, 1357, 1361, 6739, 1348, 1355, 1359, 1353];
GameTab(tab_Inv);
Wait(500 + Random(200));
if(R_ItemIDExistsEx(TheIDs, Hatchet))then
begin
Players[CurrentPlayer].Booleans[0] := False;
Writeln('Hatchet is in inventory.');
Exit;
end else
GameTab(tab_Equip);
Wait(500 + Random(200));
Equipped := GetEquippedIDAt(3);
if(InIntArray(TheIDs, Equipped))then
begin
Players[CurrentPlayer].Booleans[0] := True;
Writeln('Hatchet is equipped.');
Exit;
end;
End;

Procedure LevelTalking;
Begin
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
exit;
If LevelUp then
Begin
Inc(Players[CurrentPlayer].Integers[2]);
Writeln('Woooot we have now gained'+IntToStr(Players[CurrentPlayer].Integers[2])+' levels!');
Begin
Case Random(10) Of
0: TypeSend('Guess what... I levelled!');
1: TypeSend('w00t lvld');
2: TypeSend('lvld again...');
3: TypeSend('grats me! I lvld!');
4: TypeSend('gay lag, didnt realise i lvld');
5: TypeSend('woopdewoop');
6: TypeSend('this levelling stuff is getting boring...');
7: TypeSend('dangdarnit, I jooost lavallled');
8: TypeSend('can we have a party cause i just lvld');
9: TypeSend('house party at mine! jokes...');
End;
End;
End;
End;

Procedure ProgressReport;
Begin
LevelTalking;
cleardebug;
Writeln('[-----------------------------]');
Writeln('[ BoomGoesTheWillows ]');
Writeln('[-----------------------------]');
Writeln(' We worked for ' + TimeRunning);
Writeln(' Booomed ' + IntToStr(Players[CurrentPlayer].Integers[0])+' Oaks');
Writeln(' Loads Done:' + IntToStr(Players[CurrentPlayer].Integers[1]));
Writeln(' Leveled ' + IntToStr(Players[CurrentPlayer].Integers[2]));
Writeln(' Antibanned ' + IntToStr(Players[CurrentPlayer].Integers[3]));
Writeln('[-----------------------------]');
End;

procedure AntiBan;
begin
case (Random(400)) of
0: RandomRClick;
1: MouseSpeed := 15 + Random(5);
2: PickUpMouse;
3: BoredHuman;
4..400: begin
Wait(100 + Random(50));
Exit;
end;
end;
Inc(Players[CurrentPlayer].Integers[3]);
end;

Procedure AntiRandoms;
Begin
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
NextPlayer(false);
LevelTalking;
R_FindRandoms;
FindNormalRandoms;
Wait(300+Random(200));
FindLamp('Woodcutting');
End;

Function WalkToTrees: Boolean;
Begin
If Not LoggedIn Then
Exit;
if not WalkToTile(Point(3101, 3245), 1, 1) then
{ if not WalkToTile(Point(3100, 3241), 1, 1) then }
begin
Writeln('Cant');
Exit;
end;
Wait(1000+ Random(1000));
Players[CurrentPlayer].Loc := 'at trees';
Result := True;
End;

function SwitchTrees(N : Integer) : Boolean;
Begin
If Not LoggedIn Then
Exit;
Case N of
1 : if WalkToTile(Point(3101, 3245), 1, 1) then
Statuss(1);
2 : if WalkToTile(Point(3101, 3245), 1, 1) then
Statuss(2);
end;
Wait(1000+ Random(1000));
End;

Function FindTrees(Var X, Y : Integer; W, H, X1, Y1, X2, Y2 : Integer): Boolean;
Var
i : Integer;
TPA : TPointArray;
ATPA : T2DPointArray;
begin
if not LoggedIn then Exit;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.24, 3.81);
begin
FindColorsSpiralTolerance(x, y, TPA, 3038032, MSX1, MSY1, MSX2, MSY2, 2);
SetColorToleranceSpeed(1);
ATPA := SplitTPAEx(TPA, 40, 40);
if (Length(ATPA) = 0) then
Exit;
SortATPAFromFirstPoint(ATPA, Point(MSCX, MSCY));
h := High(ATPA);
for i := 0 to h do
begin;
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 1, 1);
Wait(250 + Random(200));
if WaitUpText('ak', 1000) then
begin
Result := True;
break;
end;
end;
if IsUpText('ak') then
Writeln('Found the Oak!');
End;
End;

Function FoundTrees(Var X, Y : Integer): Boolean;
Begin
Result := FindTrees(X, Y, 35, 35, MSX1, MSY1, MSX2, MSY2);
End;

Function CuttingCheck:Boolean;
Begin
if CharacterAnimating then
Wait(200);
if CharacterAnimating then
Result := True;
End;
Function BoomTrees: Boolean;
Var
X, Y, Tried : Integer;
Begin
if Not LoggedIn then
Exit;
Repeat
if Tried = 5 then
begin
Writeln('No Oaks found, switching');
if aStatus = 1 then
if SwitchTrees(2) then
begin
Tried := 0;
end else
if aStatus = 2 then
if SwitchTrees(1) then
Tried := 0;
end;
if not FoundTrees(X, Y) then
Begin
Inc(Tried);
Writeln('didnt find');
Wait(2000 + Random(500));
Continue;
End;
Mouse(X, Y, 0, 0, True);
Wait(1500 + Random(500));
Repeat
LevelTalking;
if CuttingCheck then
begin
Antiban
AntiRandoms
end;
if InvFull then
Break;
Until not (CuttingCheck);
Until InvFull;
Players[CurrentPlayer].Loc := 'chopped trees';
Result := True;
End;

Function WalkToBank: Boolean;
Begin
If Not LoggedIn Then
Exit;
If Not WalkToTile(Point(3092, 3244), 1, 1) Then
Exit;
Players[CurrentPlayer].Loc := 'at bank';
Result := True;
End;

Function Bank: Boolean;
Var
i : integer;
Begin
If Not LoggedIn Then
Exit;
Wait(1000+ Random(1000));
If Not R_OpenBank(Bank_DR) Then
If Not OpenBank(Bank_DR, False, False) Then //Tries all colour methods
Exit;
for i := 1 + Integer(not Players[CurrentPlayer].Booleans[0]) to 28 do
begin
Deposit(i, 28, True);
end;
Players[CurrentPlayer].Loc := 'banked';
Result := True;
CloseBank;
Inc(Players[CurrentPlayer].Integers[1]);
if Players[CurrentPlayer].Booleans[0] then
IncEx(Players[CurrentPlayer].Integers[0], 28)
else
IncEx(Players[CurrentPlayer].Integers[0], 27);
ProgressReport;
End;

Procedure MainLoop;
Begin
repeat
Case Lowercase(Players[CurrentPlayer].Loc) of
'banked':
if WalkToTrees then
Players[CurrentPlayer].Loc := 'at trees';
'at trees':
if BoomTrees then
Players[CurrentPlayer].Loc := 'chopped trees';
'chopped trees':
if WalkToBank then
Players[CurrentPlayer].Loc := 'at bank';
'at bank':
if Bank then
Players[CurrentPlayer].Loc := 'banked';
end;
until(Players[CurrentPlayer].Integers[1] >= Players[CurrentPlayer].Integers[4]);
End;

{Int[0] = Trees Chopped
Int[1] = Loads Done
Int[2] = Levels
Int[3] = Antiban
Int[4] = Loads to do
Bool[0] = Axe}

begin
ClearDebug;
ClearReport;
Smart_Server := 17;
Smart_Members := false;
Smart_Signed := true;
Smart_SuperDetail := false;
SetupSRL;
begin
declareplayers;
LoginPlayer;
ProgressReport;
AxeWielded;
MakeCompass('South');
SetAngle(True);
Gametab(tab_Inv);
repeat
MainLoop
until(false);
end;
end.

Richard.

**BANNED The Man
12-31-2010, 05:25 PM
[Error] (24:11): Duplicate identifier 'STATUS' at line 23Fixed that (changed the procedure to Statuss) then[Error] (26:3): Unknown identifier 'aStatus' at line 25Fixed that (added a global var) then[Error] (143:33): colon (':') expected at line 142Fixed that (SwitchTree should be a procedure, and all 2 semi-colons on the end) then[Error] (152:27): colon (':') expected at line 151Fixed that (needed another end) then[Error] (212:10): Unknown identifier 'SwitchTrees' at line 211Fixed that (procedure SwitchTree needs to actually be function SwitchTrees as a boolean [doesn't make sense because you never give a result]) then it finally loaded!

Running now.

EDIT:
- Proggy says Willows
- Where you have the searching for levelling up text, use if LevelUp
- Try using both reflection and colour random checks
- Use reflection and colour bank opening, so you'd have: If Not R_OpenBank(Bank_DR) Then
If Not OpenBank(Bank_DR, False, False) Then //Tries all colour methods
Exit;
- When the oak has chopped down, it sits there moving the mouse around looking for another, even though they're all normal trees. Just pointing that out.

EDIT2:
Working version with what I pointed out above:program BoomGoesTheWillows;
{$define SMART}
{$i srl/srl.scar}
{$i Reflection/Reflection.simba}

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

with players[0] do
begin
Name := '';
Pass := '';
Active := True;
Pin := ''; //Leave blank if no pin
Loc := 'banked'; //Read the thread to see valid arguments.
Integers[4]:= 1000; //Amount of loads you want to do.
end;
end;

var
aStatus : Integer;

Procedure Statuss(M : Integer);
Begin
aStatus := M;
End;

Procedure AxeWielded;
var
Equipped : integer;
TheIDs: TIntegerArray;
Hatchet : TInvItemArray;
Begin
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
exit;
TheIDs := [1351, 1357, 1361, 6739, 1348, 1355, 1359, 1353];
GameTab(tab_Inv);
Wait(500 + Random(200));
if(R_ItemIDExistsEx(TheIDs, Hatchet))then
begin
Players[CurrentPlayer].Booleans[0] := False;
Writeln('Hatchet is in inventory.');
Exit;
end else
GameTab(tab_Equip);
Wait(500 + Random(200));
Equipped := GetEquippedIDAt(3);
if(InIntArray(TheIDs, Equipped))then
begin
Players[CurrentPlayer].Booleans[0] := True;
Writeln('Hatchet is equipped.');
Exit;
end;
End;

Procedure LevelTalking;
Begin
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
exit;
If LevelUp then
Begin
Inc(Players[CurrentPlayer].Integers[2]);
Writeln('Woooot we have now gained'+IntToStr(Players[CurrentPlayer].Integers[2])+' levels!');
Begin
Case Random(10) Of
0: TypeSend('Guess what... I levelled!');
1: TypeSend('w00t lvld');
2: TypeSend('lvld again...');
3: TypeSend('grats me! I lvld!');
4: TypeSend('gay lag, didnt realise i lvld');
5: TypeSend('woopdewoop');
6: TypeSend('this levelling stuff is getting boring...');
7: TypeSend('dangdarnit, I jooost lavallled');
8: TypeSend('can we have a party cause i just lvld');
9: TypeSend('house party at mine! jokes...');
End;
End;
End;
End;

Procedure ProgressReport;
Begin
LevelTalking;
cleardebug;
Writeln('[-----------------------------]');
Writeln('[ BoomGoesTheWillows ]');
Writeln('[-----------------------------]');
Writeln(' We worked for ' + TimeRunning);
Writeln(' Booomed ' + IntToStr(Players[CurrentPlayer].Integers[0])+' Oaks');
Writeln(' Loads Done:' + IntToStr(Players[CurrentPlayer].Integers[1]));
Writeln(' Leveled ' + IntToStr(Players[CurrentPlayer].Integers[2]));
Writeln(' Antibanned ' + IntToStr(Players[CurrentPlayer].Integers[3]));
Writeln('[-----------------------------]');
End;

procedure AntiBan;
begin
case (Random(400)) of
0: RandomRClick;
1: MouseSpeed := 15 + Random(5);
2: PickUpMouse;
3: BoredHuman;
4..400: begin
Wait(100 + Random(50));
Exit;
end;
end;
Inc(Players[CurrentPlayer].Integers[3]);
end;

Procedure AntiRandoms;
Begin
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
NextPlayer(false);
LevelTalking;
R_FindRandoms;
FindNormalRandoms;
Wait(300+Random(200));
FindLamp('Woodcutting');
End;

Function WalkToTrees: Boolean;
Begin
If Not LoggedIn Then
Exit;
if not WalkToTile(Point(3101, 3245), 1, 1) then
{ if not WalkToTile(Point(3100, 3241), 1, 1) then }
begin
Writeln('Cant');
Exit;
end;
Wait(1000+ Random(1000));
Players[CurrentPlayer].Loc := 'at trees';
Result := True;
End;

function SwitchTrees(N : Integer) : Boolean;
Begin
If Not LoggedIn Then
Exit;
Case N of
1 : if WalkToTile(Point(3101, 3245), 1, 1) then
Statuss(1);
2 : if WalkToTile(Point(3101, 3245), 1, 1) then
Statuss(2);
end;
Wait(1000+ Random(1000));
End;

Function FindTrees(Var X, Y : Integer; W, H, X1, Y1, X2, Y2 : Integer): Boolean;
Var
i : Integer;
TPA : TPointArray;
ATPA : T2DPointArray;
begin
if not LoggedIn then Exit;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.24, 3.81);
begin
FindColorsSpiralTolerance(x, y, TPA, 3038032, MSX1, MSY1, MSX2, MSY2, 2);
SetColorToleranceSpeed(1);
ATPA := SplitTPAEx(TPA, 40, 40);
if (Length(ATPA) = 0) then
Exit;
SortATPAFromFirstPoint(ATPA, Point(MSCX, MSCY));
h := High(ATPA);
for i := 0 to h do
begin;
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 1, 1);
Wait(250 + Random(200));
if WaitUpText('ak', 1000) then
begin
Result := True;
break;
end;
end;
if IsUpText('ak') then
Writeln('Found the Oak!');
End;
End;

Function FoundTrees(Var X, Y : Integer): Boolean;
Begin
Result := FindTrees(X, Y, 35, 35, MSX1, MSY1, MSX2, MSY2);
End;

Function CuttingCheck:Boolean;
Begin
if CharacterAnimating then
Wait(200);
if CharacterAnimating then
Result := True;
End;
Function BoomTrees: Boolean;
Var
X, Y, Tried : Integer;
Begin
if Not LoggedIn then
Exit;
Repeat
if Tried = 5 then
begin
Writeln('No Oaks found, switching');
if aStatus = 1 then
if SwitchTrees(2) then
begin
Tried := 0;
end else
if aStatus = 2 then
if SwitchTrees(1) then
Tried := 0;
end;
if not FoundTrees(X, Y) then
Begin
Inc(Tried);
Writeln('didnt find');
Wait(2000 + Random(500));
Continue;
End;
Mouse(X, Y, 0, 0, True);
Wait(1500 + Random(500));
Repeat
LevelTalking;
if CuttingCheck then
begin
Antiban
AntiRandoms
end;
if InvFull then
Break;
Until not (CuttingCheck);
Until InvFull;
Players[CurrentPlayer].Loc := 'chopped trees';
Result := True;
End;

Function WalkToBank: Boolean;
Begin
If Not LoggedIn Then
Exit;
If Not WalkToTile(Point(3092, 3244), 1, 1) Then
Exit;
Players[CurrentPlayer].Loc := 'at bank';
Result := True;
End;

Function Bank: Boolean;
Var
i : integer;
Begin
If Not LoggedIn Then
Exit;
Wait(1000+ Random(1000));
If Not R_OpenBank(Bank_DR) Then
If Not OpenBank(Bank_DR, False, False) Then //Tries all colour methods
Exit;
for i := 1 + Integer(not Players[CurrentPlayer].Booleans[0]) to 28 do
begin
Deposit(i, 28, True);
end;
Players[CurrentPlayer].Loc := 'banked';
Result := True;
CloseBank;
Inc(Players[CurrentPlayer].Integers[1]);
if Players[CurrentPlayer].Booleans[0] then
IncEx(Players[CurrentPlayer].Integers[0], 28)
else
IncEx(Players[CurrentPlayer].Integers[0], 27);
ProgressReport;
End;

Procedure MainLoop;
Begin
repeat
Case Lowercase(Players[CurrentPlayer].Loc) of
'banked':
if WalkToTrees then
Players[CurrentPlayer].Loc := 'at trees';
'at trees':
if BoomTrees then
Players[CurrentPlayer].Loc := 'chopped trees';
'chopped trees':
if WalkToBank then
Players[CurrentPlayer].Loc := 'at bank';
'at bank':
if Bank then
Players[CurrentPlayer].Loc := 'banked';
end;
until(Players[CurrentPlayer].Integers[1] >= Players[CurrentPlayer].Integers[4]);
End;

{Int[0] = Trees Chopped
Int[1] = Loads Done
Int[2] = Levels
Int[3] = Antiban
Int[4] = Loads to do
Bool[0] = Axe}

begin
ClearDebug;
ClearReport;
Smart_Server := 17;
Smart_Members := false;
Smart_Signed := true;
Smart_SuperDetail := false;
SetupSRL;
begin
declareplayers;
LoginPlayer;
ProgressReport;
AxeWielded;
MakeCompass('South');
SetAngle(True);
Gametab(tab_Inv);
repeat
MainLoop
until(false);
end;
end.

Richard.

Aww man, see I just installed Ubuntu and havn't got SIMBA on here yet, so couldn't see if it compiled and forgot I made some last minute changes :/
Thank you for all the feedback its great :D
I did have Ref banking as a backup but I found that ref banking at draynor sometimes didn't work so I just took it out :/
With the mouse moving to other trees, yeah that is because I need to refine my AutoColor. Oaks and normal trees are very similar. I was thinking maybe do: Find tree with TPA, + if R_FindObject (or whatever) then if UpText etc.

Btw, could someone do me a favour and get the tile that is next to the second oak? The one across the path from the bank. That way Switch Trees will work :)

Cheers
-Boom

Zyt3x
01-01-2011, 01:24 AM
nice name for a script, dyynamite:)

**BANNED The Man
01-01-2011, 01:32 AM
nice name for a script, dyynamite:)

Hahah :P
I need to move on from woodcutting scripts :P
I have:
Boom goes the Trees - PowerChopper
Boom goes the Willows - Willow Banker
Boom goes the Oaks - Oak banker
xD
Next up is an AlKharid Cooker :D

-Boom

Styloke
01-06-2011, 09:41 PM
I used the code supplied by Rich, but it keeps getting this error:


[Hint] C:\Simba\Includes\Reflection\./Core/Antirandoms\Forester.simba(100:3): Variable 'B' never used at line 99
[Hint] (141:10): Variable 'Result' never used at line 140
[Error] (259:8): Unknown identifier 'R_OpenBank' at line 258
Compiling failed.

**BANNED The Man
01-06-2011, 09:47 PM
I used the code supplied by Rich, but it keeps getting this error:


[Hint] C:\Simba\Includes\Reflection\./Core/Antirandoms\Forester.simba(100:3): Variable 'B' never used at line 99
[Hint] (141:10): Variable 'Result' never used at line 140
[Error] (259:8): Unknown identifier 'R_OpenBank' at line 258
Compiling failed.

Download the attached one to the main post :)

-Boom

Styloke
01-07-2011, 01:30 AM
Download the attached one to the main post :)

-Boom

Works great, thanks :)

Tlachtli
01-07-2011, 01:31 AM
I'd just like to point out that the progress report still says "BoomGoesTheWillows" instead of Oaks. Other than that looks good.

**BANNED The Man
01-07-2011, 08:00 AM
Ok thank you for pointing that out.
I will be updating all my scripts this weekend.

-Boom

gsa serpent
01-10-2011, 07:08 AM
Really good script dynamite ill post proggy soon!!!

Sicdeath
01-16-2011, 04:24 AM
Thanks for awesome script :D heres a proggy
[-----------------------------]
[ BoomGoesTheWillows ]
[-----------------------------]
We worked for 1 Hours, 11 Minutes and 26 Seconds
Booomed 432 Oaks
Loads Done:16
Leveled 7
Antibanned 17
[-----------------------------]

**BANNED The Man
01-16-2011, 02:38 PM
Thanks for awesome script :D heres a proggy
[-----------------------------]
[ BoomGoesTheWillows ]
[-----------------------------]
We worked for 1 Hours, 11 Minutes and 26 Seconds
Booomed 432 Oaks
Loads Done:16
Leveled 7
Antibanned 17
[-----------------------------]

Thanks for using the script :)

-Boom

free stuff plz
02-07-2011, 06:30 PM
why does this bot log itself out randomly?

**BANNED The Man
02-07-2011, 08:29 PM
why does this bot log itself out randomly?

Could you give me a bit more information so I can answer?

-Boom

FuruChan
02-07-2011, 10:57 PM
[-----------------------------]
[ BoomGoesTheWillows ]
[-----------------------------]
We worked for 2 Hours, 49 Minutes and 10 Seconds
Booomed 999 Oaks
Loads Done:37
Leveled 2
Antibanned 22
[-----------------------------]


Pretty good script. Cut me a good amount of logs, although as I watched I noticed it does a lot of standing around. Even when an Oak tree is visible sometimes it will go back to the same 3 spots that all happen not to be the Oak tree color, but similar. Also at one point it got the character standing on the road in a spot where neither Oak trees were visible and it spent a while looking for nothing. One thing I would suggest is to add a counter or a timer, and if it doesn't end up finding an oak after that have it walk back to either the bank or relocate nearer the original Oak it walks to as a fail safe. Otherwise it runs very smoothly and very quickly and I agree it is very human-like :)

**BANNED The Man
02-07-2011, 11:08 PM
[-----------------------------]
[ BoomGoesTheWillows ]
[-----------------------------]
We worked for 2 Hours, 49 Minutes and 10 Seconds
Booomed 999 Oaks
Loads Done:37
Leveled 2
Antibanned 22
[-----------------------------]


Pretty good script. Cut me a good amount of logs, although as I watched I noticed it does a lot of standing around. Even when an Oak tree is visible sometimes it will go back to the same 3 spots that all happen not to be the Oak tree color, but similar. Also at one point it got the character standing on the road in a spot where neither Oak trees were visible and it spent a while looking for nothing. One thing I would suggest is to add a counter or a timer, and if it doesn't end up finding an oak after that have it walk back to either the bank or relocate nearer the original Oak it walks to as a fail safe. Otherwise it runs very smoothly and very quickly and I agree it is very human-like :)

Thank you very much for the great feedback, I will definitely try and add that relocation.
For the oak finding, the thing is, regular trees are SOOOOO similar in color to oaks, it always checks them, so unless I added in a bit of reflection code saying:
if OakColor and ObjectID = OakId then

-Boom

PatDuffy
02-09-2011, 02:44 AM
[-----------------------------]
We worked for 24 Minutes and 54 Seconds
Booomed 81 Oaks
Loads Done:3
Leveled 5
Antibanned 7
[-----------------------------]

Really good script, I agree with others comments about how there is a tad too much standing around. I did enjoy checking upon the bot as it leveled, and seeing the script type "lets have a party cause i just lvled", that's insanely human for a bot in my opinion. I plan to leave this script running for a longer period of time and I'll post the results.

DJBound
02-19-2011, 05:00 PM
I can't get the script to work.. umm it has this problem.

Loaded fonts: BigChars, CharsNPC, CharsTrade, FriendChars, LoginChars, SmallChars, StatChars, UpChars, XPChars
[Error] (43:6): Unknown identifier 'R_ItemIDExistsEx' at line 42
Compiling failed.
[Error] (43:6): Unknown identifier 'R_ItemIDExistsEx' at line 42
Compiling failed.

Can you help me?

Floor66
02-19-2011, 05:05 PM
I can't get the script to work.. umm it has this problem.

Loaded fonts: BigChars, CharsNPC, CharsTrade, FriendChars, LoginChars, SmallChars, StatChars, UpChars, XPChars
[Error] (43:6): Unknown identifier 'R_ItemIDExistsEx' at line 42
Compiling failed.
[Error] (43:6): Unknown identifier 'R_ItemIDExistsEx' at line 42
Compiling failed.

Can you help me?

Change the "R_ItemIDExistsEx" to "R_ItemExistsEx". That's gotta fix it.

DJBound
02-19-2011, 05:20 PM
yep it worked. thank you sir!

DJBound
02-19-2011, 05:26 PM
Error: Type Mismatch at line 42
The following DTMs were not freed: [SRL - Lamp bitmap, 1]
The following bitmaps were not freed: [SRL - Mod bitmap, SRL - Admin bitmap]
File[C:\Simba\Includes\SRL/logs/SRL log 19-02-11 5.txt] has not been freed in the script, freeing it now.

weird.. :(

**BANNED The Man
02-19-2011, 05:29 PM
R_ItemExistsEx(Hatchet, TheIDs)

-Boom

euphemism
02-23-2011, 05:30 AM
R_ItemExistsEx(Hatchet, TheIDs)

-Boom

Produced this error: [Error] (43:37): Type mismatch at line 42
Compiling failed.

Emaziz
02-26-2011, 08:46 PM
hmmm... its not working for me, and it seams that everything is as it should be.
it wont even log in.

Jakkle
02-27-2011, 01:09 AM
I get this error not working for me

Error: Type Mismatch at line 42
The following DTMs were not freed: [SRL - Lamp bitmap, 1]
The following bitmaps were not freed: [SRL - Mod bitmap, SRL - Admin bitmap]