SRL Archive - Reflection

Ultimate Burner


enoyhs

2011-04-08 14:50:44

Ultimate burner v0.7 (08-05-2011)


Features:
  • Burns any logs at any supported location
  • Multi-player support (untested)
  • Anti-ban
  • SRL Stats

Supported locations:
  • Falador east bank (Most testing done at)
  • Varrock west bank
  • Varrock east bank
  • Draynor bank

How to add more locations?
Scroll down to InitScript procedure (Around line 73) and add more BurnInfo to array, with something like this:
  
with BurnInfo[x] do // x, current index
begin
BankName := 'feb'; // Bank name we should open. See any of bank includes to see supported banks.
BankTile := Tile(3013, 3356); // Some tile inside bank, as I'm using WebWalk to walk to bank if it is not seen.
StartTile := [Tile(3033, 3360), Tile(3033, 3361), Tile(3033, 3362), Tile(3033, 3363), Tile(3033, 3364)]; // Tiles where we should start lighting fires.
end;
I think this is pretty much self explanatory..

Future updates:
  • More locations (Please request)
  • Better progress report
  • Speed up burning

Bugs & Problems:
  • Player's working time is sometimes displayed incorrectly (SRL issue)
  • Sometimes doesn't find tinderbox after logging in because of lag. - Uncommet line 112 to fix this.

Version history:
  • [08-05-2011] v0.4. Flight's additions (Break, Report and other stuff)
  • [12-04-2011] v0.3. Big changes.. See this post
  • [09-04-2011] v0.2. Added check to see if log is in bank, added SRL stats and few more fixes
  • [09-04-2011] v0.1. Added tinderbox check and bug that didn't allow to solve randoms
  • [08-04-2011] v0.0. Initial release

Progress reports:
=== Ultimate Burner 0.4 ~ By enoyhs =======
Experience gained: 848,326
Burning : Willow logs
XP/H : 92,033
Time running : 9 Hours, 13 Minutes and 3 Seconds
====================================

=== Ultimate Burner 0.4 ~ By enoyhs =======
Experience gained: 864,770
Burning : Willow logs
XP/H : 92,668
Time running : 9 Hours, 19 Minutes and 54 Seconds
====================================

tofurocks

2011-04-08 20:06:26

Any reflection use?

Flight

2011-04-08 21:37:06

Lol you beat me to making this. I was planning to make this soon but laziness was winning the battle. I'll check this out in a while see how it works. :)

paulio151515

2011-04-08 23:32:25

getting this error

** Warning in InvBox: Incorrect index: 0**
Warning! You passed a wrong xs to a finder function: -1. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong ys to a finder function: -1. That is below 0, thus out of bounds. Setting the value to 0 for now.
** Warning in InvMouse: Inventory slot #0 is not a valid slot**

Flight

2011-04-08 23:41:19

I've had that problem before. I'd recommend a simple DTM finding for the tinderbox, find the x/y of the DTM and use those coordinates to determine which inventory slot it's in. Either that or have it required to have the tinderbox in the first inventory slot and just click randomly within that box every time, pretty much eliminate the need to search for the tinderbox in the inventory.

enoyhs

2011-04-09 03:22:15

From: tofurocks
Any reflection use?


It is almost all reflection. This was test project to see how good I can use reflection..

From: paulio151515
getting this error


As Flight mentioned, it is because you didn't have TinderBox in inventory.

I uploaded new version with bug fixes and tinderbox check.

espy

2011-04-09 06:31:30


Ultimate burner 0.1 by enoyhs
Time worked: 45 Minutes and 50 Seconds [46 Minutes and 22 Seconds]
Logs burned: 758 [758]
XP gained: 68,130 [136,170]
XP / Hour gained: 89,173

autoerforlife

2011-04-09 07:06:24

I'm going to test this today after i lvl the skill i'm botting now :) got 850 willow logs in my bank i need to burn:P
I'll update this post

(Oh btw for the locations maybe add grandexchange. Maybe you don't want to add that because it is crowded with firemakers already but it's a great spot ;))

enoyhs

2011-04-09 07:20:10

From: autoerforlife
I'm going to test this today after i lvl the skill i'm botting now :) got 850 willow logs in my bank i need to burn:P
I'll update this post

(Oh btw for the locations maybe add grandexchange. Maybe you don't want to add that because it is crowded with firemakers already but it's a great spot ;))


Hoping for good report :) (If you downloaded the script before posting, download it again, change some minor things)

About GE, I'm not sure if the banking works there.. But I will think about it.

autoerforlife

2011-04-09 08:38:06

Downloaded the new version :), running it now.
I had to help it getting logs out of the bank the first time, my bankscreen was scrolled down a little and it rightclicked on an empty bankspace to withdraw the logs (i think it did click on the spot where it should have clicked if the bankscreen was scrolled up).
After that the script walked my char to the bank entrance and tried banking again because i had no logs in my inventory. But I scrolled my bank up manually because i didnt want it to fail again (don't want this account banned:P) so i don't know if it fixes itself the second try.

I'll post the progress report :) however it are 700+ logs not 800+ as i said before

enoyhs

2011-04-09 09:01:14

From: autoerforlife
Downloaded the new version :), running it now.
I had to help it getting logs out of the bank the first time, my bankscreen was scrolled down a little and it rightclicked on an empty bankspace to withdraw the logs (i think it did click on the spot where it should have clicked if the bankscreen was scrolled up).
After that the script walked my char to the bank entrance and tried banking again because i had no logs in my inventory. But I scrolled my bank up manually because i didnt want it to fail again (don't want this account banned:P) so i don't know if it fixes itself the second try.

I'll post the progress report :) however it are 700+ logs not 800+ as i said before


Banking is Reflection issue. You should have logs in visible spot and bank tab opened.

Also I uploaded new version (v0.2) :) They come along fast :D Use it please, as it has SRL Stats and few more failure checks…

autoerforlife

2011-04-09 09:06:51

From: enoyhs
Banking is Reflection issue. You should have logs in visible spot and bank tab opened.

Ah ok didn't know.. always have stuff in visible slot when botting but this was my fault :P
From: enoyhs

Also I uploaded new version (v0.2) :) They come along fast :D Use it please, as it has SRL Stats and few more failure checks…

Ok i'll stop this run and start again with new script here's the (short)proggie:
[BANANA]
Ultimate burner 0.1 by enoyhs
Time worked: 32 Minutes and 22 Seconds
Logs burned: 5**
XP gained: 46,***
XP / Hour gained: 85,580
[/BANANA]

Sorry i *'ed out some stuff cause i'm overprotecting my main :o (Don't know if it even makes sense to get out the exact amount of logs burned and stuff:duh:)

Oh btw can you add a function so i can declare if my char is member or not ;) (Maybe i could do it myself too, but may come in handy for other users too)
And bankpin option maybe

Another edit:
new proggie, out of logs now but it works flawless :)
[BANANA]
Ultimate burner 0.2 by enoyhs
Time worked: 14 Minutes and 59 Seconds
Logs burned: 2**
XP gained: 20,***
XP / Hour gained: 81,788
[/BANANA]

espy

2011-04-09 11:37:03


Ultimate burner 0.2 by enoyhs
Time worked: 46 Minutes and 37 Seconds [46 Minutes and 40 Seconds]
Logs burned: 743 [743]
XP gained: 66,870 [133,740]
XP / Hour gained: 86,060

enoyhs

2011-04-09 12:29:20

Ultimate burner 0.2 by enoyhs
Time worked: 2 Hours, 9 Minutes and 35 Seconds
Logs burned: 2,074
XP gained: 187,260
XP / Hour gained: 86,428

Looks like break system is broken :( I will look into it..

Icyx

2011-04-09 19:24:11

Ultimate burner 0.2 by enoyhs
Time worked: 1 Hours, 19 Minutes and 37 Seconds [1 Hours, 19 Minutes and 51 Seconds]
Logs burned: 1,177 [1,177]
XP gained: 159,030 [159,030]
XP / Hour gained: 119,846

Turned it off manually because i'm going to bed.
works pretty good! :)

grats

2011-04-09 21:39:22

Working great so far.. I tested out the walking & it walked from some random spot in varrock all the way to falador east bank

I'll update with a progress report when done

had about a 30 min proggy & simba crashed lol

works great though

Icyx

2011-04-12 14:04:18

Due to todays update the script doesn't detect the tinderbox anymore. >.<

E: Works fine again.

Rich

2011-04-12 14:07:52

From: Icyx
Due to todays update the script doesn't detect the tinderbox anymore. >.<
The ID of the tinderbox shouldn't have changed (if that's what's use to check for it ), so something in Reflection probably just needs updating.

Brandon

2011-04-12 14:37:45

Line 167 can be:

if (i < 1) or (i = TinderboxPos) or (R_ItemExists(TINDERBOX_ID, Item) = false) then

and line 190 can be:
R_ClickItemBy(TINDERBOX_ID, True, '')
That way if it misclicks a log or there is still logs in the invent, it will go back and click it till no more then bank.

Example: Emaziz's EmHerb:

begin
if not R_ItemExists(cGrimyHerb,trash) then
continue;
case random(4) of
0: p := p1;
1: p := p2;
2: p := p3;
3: p := p4;
end;
for i:=0 to high(p) do
begin
R_ClickItem(p[i],True,'Clean');
wait(cCleanWaitTime + random(cCleanWaitTime/3));
end;
vHerbsCleaned := vHerbsCleaned + 28;
stats_IncVariable('Herbs Cleaned', 28);
if (vHerbsCleaned >= cHerbsToClean) then doClean := False;
end;

If something happens, that will leave extra herbs in the inventory all the time.. such as a huge lag or maybe a misclick or maybe even a random or whatever.. then it will automatically bank or skip to the rest of herbs leaving some left..

Where he can use just repeat R_ClickItemBy(ID, true, '') Until(R_ItemExists(ID, Item) = false).. Now there will be none left because it will always go back and check if any are left over..

that code is from his old script though.. new one doesnt seem to have that problem.

enoyhs

2011-04-12 15:04:28

OK, so I have had new version ready for few days now. I wanted to upload it yesterday but because of RS outage didn't want to upload it untested and today I was waiting for reflection update. Now that all that is past us, I present to you Ultimate Burner v0.3, which has shit load of additional things :D

So first thing first:
I fixed:
  • Breaking
  • Tinderbox, log missclicks
  • Walking
  • And many more I can't remember

I added:
  • Possibility to add any location (Details in first post)
  • Few more locations (Draynor and East Varrock)
  • SRL progress report

Also note you may have to change LoggedIn function (see this).

As always any and all reports are more than welcome!

gamer716

2011-04-13 16:16:30

[==================================================================================]
[ Nick | Active | Worked | Banked | Logs | XP | LogType | Logs/H | XP/H ]
[==================================================================================]
[ | True | 01:44:06 | 56 | 1561 | 140490 | Willow Logs | 900 | 80973 ]
[==================================================================================]

Worked Great, ran out of logs :p

Bugs: Stops at bank and logs out. I believe it results from not finding the bank booth.

Flight

2011-04-13 22:27:48

I'm pretty sure Fist of Guthix is a good place to train Firemaking at, you might consider adding that location in your next update.

Tlachtli

2011-04-13 22:42:33

I would totally try this out if I didn't already have 99fm on my main :/ I don't know the exact locations the script runs at, but I do know a few good lines of tiles no one ever uses. If you need them I can post them later (too lazy to get on and take pics atm).

From: Flight
I'm pretty sure Fist of Guthix is a good place to train Firemaking at, you might consider adding that location in your next update.


It used to be a really good spot, before it became well-known. Now, almost every world has at least 2 people lighting fires in there.

Wolygon

2011-04-15 04:46:12

Hey, script works well but doesn't like to last over 2 hours. Generally gets stuck with randoms, sometimes it would appear to be SRL/Reflec fault but sometimes it seems like it doesn't detect the random.

I just watched it now and saw it fail with walking. It attacked a guard (VEB btw), but this didn't hurt it.

It then was on a fire meaning it had to move to light but it moved to another fire. Then it moved back, then back, etc. The pic attached shows where this happened. NOTE the ashes (2 tiles below char) is where the 2nd fire was.

Also it sometimes picks up ashes, same problem as fighting guards.

Just though I'd give you some info, though I am unsure if you care about this script…congrats on members (if I'm not mistaken). I will post a progress report if I can get much over 2h.

Thanks.

[EDIT]

Heres a proggie:
[==================================================================================]
[ Nick | Active | Worked | Banked | Logs | XP | LogType | Logs/H | XP/H ]
[==================================================================================]
[ hsv | True | 06:02:22 | 183 | 4882 | 441540 | Willow Logs | 809 | 73107 ]
[==================================================================================]
It failed to open the bank, it hovered over it but did not right click. I manually continued it but I only ran it for another half hour as it got stuck like before (between two fires 2 tiles apart) and made me look completely like a bot.

Icyx

2011-04-15 16:10:37

ran smoothy for 6,5 hours earlier today at fally west bank.


Thanks a lot, awesome script!!

enoyhs

2011-04-18 00:14:55

Small report :D Avarage XP is somehow broken though :D
[============================================================================================]
[ Nick | Active | Worked | Banked | Logs | XP | LogType | Logs/H | XP/H ]
[============================================================================================]
[ ************ | True | 10:47:10 | 381 | 10316 | 974389 | Willow Logs | 957 | -20271 ]
[============================================================================================]

@Icyx: Looks awesome :) Glad I could help.

@Flight: I will think about it. But I think FoG bank will need custom banking function..

From: jesus pwns zezima
Hey, script works well but doesn't like to last over 2 hours. Generally gets stuck with randoms, sometimes it would appear to be SRL/Reflec fault but sometimes it seems like it doesn't detect the random.

Yes there are few problems with Reflection randoms, but there is not much I can do there..
But about not detecting randoms, that is strange.. As I'm pretty sure I break out of all cycles, only one I could think of is getting random while walking, but I think I fixed that too..

From: jesus pwns zezima

I just watched it now and saw it fail with walking. It attacked a guard (VEB btw), but this didn't hurt it.

I'm aware of this problem. It happens because I walk using main screen too (looks a bit more human) and it doesn't happen that often, and as I'm wielding
some kind of weapon while firemaking, this isn't really a problem.

From: jesus pwns zezima

It then was on a fire meaning it had to move to light but it moved to another fire. Then it moved back, then back, etc. The pic attached shows where this happened. NOTE the ashes (2 tiles below char) is where the 2nd fire was.

Yes, I am also aware of this. I think I solved it, but it seems like I'm mistaken. One of main problems with this is, that Reflection mistakingly gives wrong point coordinates for some tiles, although error is only by around 1 - 2 tiles, it is big enough in firemaking that it breaks my system :(

From: jesus pwns zezima

Also it sometimes picks up ashes, same problem as fighting guards.

Just though I'd give you some info, though I am unsure if you care about this script…congrats on members (if I'm not mistaken). I will post a progress report if I can get much over 2h.

Thanks.

[EDIT]

Heres a proggie:
[==================================================================================]
[ Nick | Active | Worked | Banked | Logs | XP | LogType | Logs/H | XP/H ]
[==================================================================================]
[ hsv | True | 06:02:22 | 183 | 4882 | 441540 | Willow Logs | 809 | 73107 ]
[==================================================================================]
It failed to open the bank, it hovered over it but did not right click. I manually continued it but I only ran it for another half hour as it got stuck like before (between two fires 2 tiles apart) and made me look completely like a bot.


About ashes, yeah it is same as with guards. But be happy :D You can sell ashes for profit :D
Also nice report :) I do care about this script, I need 92 firemaking after all :D

RAM

2011-04-23 03:12:34

Hey, Nice Script, I gave it a lil run at Fally East, did pretty good :)
[==================================================================================]
[ Nick | Active | Worked | Banked | Logs | XP | LogType | Logs/H | XP/H ]
[==================================================================================]
[ ail | True | 05:15:35 | 150 | 4077 | 550125 | Maple Logs | 776 | 104591 ]
[==================================================================================]
SRL_Stats: Invalid time
Successfully executed.

Iamadam

2011-04-25 21:51:29

To make it run faster, add
    wait(randomRange(100, 300));
if (not ItemActivated(TinderboxPos)) then
begin
InvMouse(TinderboxPos, 1);
Wait(RandomRange(10, 30))
end;
(i.e. click tinderbox) after line 267. So it clicks the log and then clicks the tinderbox straight away. Saves a little bit of time :)

Flight

2011-05-04 11:11:13

Ok, I modified 0.3 a bit, maybe enough to make it 0.4? Here's what I added:

  • Upgraded SRL Stats
  • Re-did breaking with Echo_'s break system
  • On-screen painting in the same style as your Agility scripts
  • Re-did your progress report to match your Agility scripts
  • Added a small fix for banking delays

I would have added Iamadam's speed increase but I don't quite see where he's talking about adding it. Anyways, here's my small modified version of 0.3:

program UltimateBurner;
{$DEFINE SMART}
{$i SRL/SRL.scar}
{$i SRL/SRL/misc/stats.simba}
{$i SRL/SRL/misc/reports.scar}
{$i Reflection/Reflection.simba}

Var
BreakRounds,TotalBreaks,StartXP: Integer;

Const
SRLStats_Username = '';
SRLStats_Password = '';

BreakIn = 50; //How long before we take a break? (minutes)
BreakFor = 10; //How long will we break for? (minutes)
Bir = 15; //Random minutes to add/subtract from how long until we break
Bfr = 7; //Random minutes to add/subjtract from break duraction

FALADOR_EAST_BANK = 0;
VARROCK_WEST_BANK = 1;
VARROCK_EAST_BANK = 2;
DRAYNOR_BANK = 3;

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

with Players[0] Do
begin
Name := '';
Pass := '';
Nick := '';
Pin := '';
Integers[0] := FALADOR_EAST_BANK; // Any of supported locations
Strings[1] := 'Maple logs'; // Log to burn (Be sure you name it exactly as it is named in RS
Strings[2] := 'farming'; // LampSkill
Active := True;

// Do not touch these!
Integers[50]:= 0; // Start XP
Integers[51]:= 0; // Logs burned
Integers[52]:= 0; // Next break
Integers[53]:= 0; // Gained XP
Extendeds[0]:= 0; // Logs per Hour
Extendeds[1]:= 0; // XP per Hour
end;
end;

type
TBurn = record
BankName: String;
BankTile: TTile;
StartTile: TTileArray;
end;

const
VERSION = '0.3';

FIRE_ID = 2732;
TINDERBOX_ID = 590;

var
NextFireStart: Integer;
BurnInfo: Array of TBurn;
TinderboxPos: Integer; // Tinderbox index in inventory
TotalLogsBurned, TotalXP: Integer;

var
StartFirePos: TTile;
P: TPoint;

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

procedure InitScript;
begin
NextFireStart := 0;

SetLength(BurnInfo, 4);
with BurnInfo[0] do
begin
BankName := 'feb';
BankTile := Tile(3013, 3356);
StartTile := [Tile(3033, 3360), Tile(3033, 3361), Tile(3033, 3362), Tile(3033, 3363), Tile(3033, 3364)];
end;

with BurnInfo[1] do
begin
BankName := 'vwb';
BankTile := Tile(3185, 3437);
StartTile := [Tile(3209, 3430), Tile(3209, 3429), Tile(3209, 3428)];
end;

with BurnInfo[2] do
begin
BankName := 'veb';
BankTile := Tile(3254, 3421);
StartTile := [Tile(3270, 3430), Tile(3270, 3429), Tile(3270, 3428), Tile(3270, 3427)];
end;

with BurnInfo[3] do
begin
BankName := 'db';
BankTile := Tile(3094, 3243);
StartTile := [Tile(3098, 3250), Tile(3097, 3249), Tile(3097, 3248), Tile(3097, 3247)];
end;

CheckStats;
end;

procedure StartPlayer;
var
item: TInvItem;
Me: TMe;
begin
Me := GetMe;

LampSkill := Players[CurrentPlayer].Strings[2];
R_ItemExists(TINDERBOX_ID, item);
if (item.Slot = 0) then
begin
WriteLn('Tinderbox not found in the inventory! Put it in the inventory (any pos).');
NextPlayer(False);
StartPlayer;
Exit;
end;
TinderboxPos := item.Slot;
if (Players[CurrentPlayer].Integers[50] = 0) then
Players[CurrentPlayer].Integers[50] := R_GetSkillExperience(SKILL_FIREMAKING);

TotalXP := TotalXP - (R_GetSkillExperience(SKILL_FIREMAKING) - Players[CurrentPlayer].Integers[50]);

ClickNorth(True);
StartXP := Me.Experience[SKILL_FIREMAKING];
end;

procedure StopPlayer(Active: Boolean);
begin
TotalXP := TotalXP + (R_GetSkillExperience(SKILL_FIREMAKING) - Players[CurrentPlayer].Integers[50]);
NextPlayer(True);
StartPlayer;
end;

procedure AntiBan;
begin
R_FindRandoms;
case Random(10000) of
0..10: IdleTime(RandomRange(1000, 2000), 500, 0.5);
11..20: HoverSkill('firemaking', False);
21..30: HoverSkill('random', False);
31..40: PickUpMouse;
41..50: Wait(RandomRange(1000, 10000));
end;
end;

{*******************************************************************************
Function WebWalk(T: TTile): Boolean;
By: JuKKa
Edit: enoyhs. It breaks the code if it gets into random, because it is still
trying to walk to specified tile. Also added timeout.
Description: Walks blindly using WindPath!
*******************************************************************************}
function r_WebWalkEx(T: TTile): Boolean;
var
i, Tries: Integer;
M, P: TPoint;
CTRLPoints: TPointArray;
begin
P := TileToPoint(T);
Tries := 0;
repeat
M := GetMyPos;
CtrlPoints := r_WindPath(M.x, M.y, P.X, P.Y, 5.0, 2.5, 0.0, 0.0, 4.5, 2.5);
for i := High(CtrlPoints) downto 0 do
begin
// Should check for randoms and exit if failed
if (R_FindRandoms) and (not LoggedIn) then
Exit;
if WalkToTile(Tile(CtrlPoints[i].x, CtrlPoints[i].y),0, 10) then
begin
Result := i = High(CtrlPoints);
Break;
end;
end;
Inc(Tries);
// Each attempt to WalkToTile can take up to 60 seconds, so we SHOULD reach
// and destination, within 10 attemts, which is more than generous.
until (Result) or (Tries > 10);
end;

procedure WalkToTileEx(Tile: TTile; Precise: Boolean);
begin
if (LoggedIn) and (DistanceFrom(Tile) > 5) then
begin
r_WebWalkEx(Tile);
while (LoggedIn) and ((FlagPresent) or (not IsIdle)) do
Wait(RandomRange(50, 100));
end;
if (LoggedIn) and (Precise = True) and (GetMyPos <> Tile) then
begin
if (TileOnMS(Tile, GetTileHeight(Tile)) = True) then
begin
P := TileToMS(Tile, GetTileHeight(Tile));
MMouse(P.x - 1, P.y - 1, 2, 2);
Wait(RandomRange(300, 500));
GetMousePos(P.x, P.y);
Mouse(P.x, P.y, 0, 0, IsUpText('alk here'));
Wait(RandomRange(60, 80));
ChooseOption('alk here');
end else
begin
WalkToTile(Tile, GetTileHeight(Tile), 0);
end;
while (LoggedIn) and ((FlagPresent) or (not IsIdle)) do
Wait(RandomRange(50, 100));
end;
end;

procedure ItBurns;
var
i, T, xAdj: Integer;
GroundObj: TRSObject;
item: TInvItem;
StartTile: TTileArray;
begin
StartTile := BurnInfo[Players[CurrentPlayer].Integers[0]].StartTile;
for i := 1 to 28 do
begin
AntiBan;
if (i < 1) or (i = TinderboxPos) or (not ExistsItem(i))
or (Pos(Lowercase(Players[CurrentPlayer].Strings[1]), Lowercase(GetItemNameAt(i))) = 0) then
continue;
// Let's find valid place to light our fire
GroundObj := GetInteractableAt(GetMyPos);
if (GroundObj.ID <> -1) then
begin
StartFirePos := GetMyPos;
xAdj := 0;
T := 1;
while (GroundObj.ID <> -1) and (T < 30) do
begin
if (T mod Length(StartTile) = 0) then
Inc(xAdj);
NextFireStart := (NextFireStart + 1) mod Length(StartTile);
GroundObj := GetInteractableAt(Tile(StartFirePos.x + xAdj, StartTile[NextFireStart].y));
Inc(T);
end;
WalkToTileEx(Tile(StartFirePos.x + xAdj, StartTile[NextFireStart].y), True);
Dec(i);
Continue;
end;
// Let's do the burning!
StartFirePos := GetMyPos;
if (not ItemActivated(TinderboxPos)) then
begin
InvMouse(TinderboxPos, 1);
Wait(RandomRange(10, 30))
end;
InvMouse(i, 1);
T := 0;
while (GetMyPos = StartFirePos) and (T < 30) do
begin
Wait(RandomRange(50, 80));
if (IsIdle) then
Inc(T);
end;
if (T >= 30) then
begin
if (GetItemIDAt(TinderboxPos) <> TINDERBOX_ID) then
begin
R_ItemExists(TINDERBOX_ID, item);
TinderboxPos := item.Slot;
end;
WalkToTileEx(StartTile[NextFireStart], True);
Dec(i);
end else
begin
stats_IncVariable(Players[CurrentPlayer].Strings[1] + ' Burned', 1);
Inc(Players[CurrentPlayer].Integers[51]);
Inc(TotalLogsBurned);
end;
Wait(RandomRange(20, 50));
end;
end;

procedure WithdrawLogs;
var i: Integer;
Item: TBankItem;
begin
WalkToTileEx(BurnInfo[Players[CurrentPlayer].Integers[0]].BankTile, False);
While IsMoving do //Make sure we're not still walking while trying to find a booth
Wait(100);
R_OpenBankBooth(BurnInfo[Players[CurrentPlayer].Integers[0]].BankName);
WaitFunc(@BankScreen, 100, 5000);
if (InvCount <> 1) then
R_DepositAllBut(TINDERBOX_ID);
if (not R_WithdrawItemEx(Players[CurrentPlayer].Strings[1], 0, i, False)) then
begin
if (BankScreen) and (not R_ItemExistsInBank(Players[CurrentPlayer].Strings[1], Item)) then
begin
StopPlayer(False);
end;
end;
Wait(RandomRange(800, 1000));
if (InvFull) then
Inc(Players[CurrentPlayer].Banked);
end;

procedure PrintOnSmart(TP: TStringArray; Placement: TPoint; Colour, Shadow: integer);
var
mx, my, Pic, I, B, H, TPH, Numb: Integer;
TTP: TPointArray;
Canvas: TCanvas;
begin
SmartSetDebug(True);
GetClientDimensions(mx,my);
Pic := BitmapFromString(mx,my,'');
TPH := High(TP);
for I := 0 to TPH do
begin
TTP := LoadTextTPA(TP[i], UpChars, H);
for B := 0 to High(TTP) do
begin
try
Numb := ((I + 1) * 13);
FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1, Shadow);
FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
except
end;
end;
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
FreeBitmap(Pic);
end;

procedure ProgressReport;
var Exp: integer;
Me: TMe;
begin
Me := GetMe;
Exp := Me.Experience[SKILL_FIREMAKING] - StartXP;
ClearDebug;

PrintOnSmart(['Ultimate Burner ' + VERSION + ' ~ By enoyhs'],Point(20, 25), 16777215, 8388736);
PrintOnSmart(['Running for: ' + TimeRunning,
'Burning: '+Players[CurrentPlayer].Strings[1],
'Experience: ' + GroupDigits(Exp, ','),
'XP/H: ' + GroupDigits(Round(Exp / (GetTimeRunning / 3600000.0)), ',')
], Point(20,55), 16777215, 8388736);

WriteLn('=== Ultimate Burner ' + VERSION + ' ~ By enoyhs =======');
WriteLn(' Experience gained: '+GroupDigits(Me.Experience[SKILL_FIREMAKING] - StartXP, ','));
WriteLn(' Burning : '+Players[CurrentPlayer].Strings[1]);
WriteLn(' XP/H : '+GroupDigits(
Round((Me.Experience[SKILL_FIREMAKING] - StartXP) / (GetTimeRunning/3600000.0)), ',') );
WriteLn(' Time running : '+TimeRunning);
WriteLn('====================================');
WriteLn('');

Stats_Commit;
end;

{*******************************************************************************
function BreakHandler(BreakIn, BreakFor, randBreakIn, randBreakFor: Integer): Boolean;
By: Echo_
Description: Takes brakes according to the minute values entered
*******************************************************************************}
function BreakHandler(BreakIn, BreakFor, randBreakIn, randBreakFor: Integer): Boolean;
var
w,x,y,z,y2,
RealBTime: integer;
begin
if not LoggedIn then Exit;

w := (BreakIn * 60000);
x := (BreakFor * 60000);
y := RandomRange(-randBreakIn * 60000, randBreakIn * 60000);
z := RandomRange(-randBreakFor * 60000, randBreakFor * 60000);
y2 := RandomRange(-randBreakIn,randBreakIn);
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.');
if R_OpenBankBooth(BurnInfo[Players[CurrentPlayer].Integers[0]].BankName) then
CloseBank;
Logout;
Wait((x) + (z));
Writeln('Logging in.');
LoginPlayer;
Result := LoggedIn;
R_FindRandoms;
Wait(RandomRange(3000,4000)); //Give time to load before continuing script
IncEx(BreakRounds, (w) + (x));
IncEx(TotalBreaks, 1);
Writeln('The next break will occur in about ' + IntToStr(BreakIn) + ' minutes.');
end;
end;
end;

begin
Smart_Signed := true;
Smart_Members := false;
Smart_Server := 103;
SetupSRL;
DeclarePlayers;
InitScript;
AddOnTerminate('ProgressReport');
ClearDebug;
LogInPlayer;
StartPlayer;
ProgressReport;

while (PlayersActive > 0) do
begin
if (LoggedIn) then
begin
R_FindRandoms;
if (R_InvCount <> 1) then
begin
WalkToTileEx(BurnInfo[Players[CurrentPlayer].Integers[0]].StartTile[NextFireStart], True);
ItBurns;
end;
WithdrawLogs;
end;

ProgressReport;
BreakHandler(BreakIn,BreakFor,Bir,Bfr);
end;
end.

grats

2011-05-05 07:11:13

[banana]Ultimate burner 0.2 by enoyhs
Time worked: 1 Hours, 14 Minutes and 55 Seconds [1 Hours, 14 Minutes and 56 Seconds]
Logs burned: 1,243 [1,243]
XP gained: 377,319 [377,319]
XP / Hour gained: 302,138[/banana]



[banana]Time worked: 1 Hours, 56 Minutes and 20 Seconds [1 Hours, 56 Minutes and 20 Seconds]
Logs burned: 1,945 [1,945]
XP gained: 590,587 [590,587]
XP / Hour gained: 304,600

Next break in: 1 Minutes and 6 Seconds[/banana]

enoyhs

2011-05-08 12:13:16

Added Flight's adjustments to script :) Thanks.

=== Ultimate Burner 0.4 ~ By enoyhs =======
Experience gained: 848,326
Burning : Willow logs
XP/H : 92,033
Time running : 9 Hours, 13 Minutes and 3 Seconds
====================================

kylerperson

2011-05-17 16:51:43

hmm not sure whether this is recently outdated due to a runescape update, but the script will just say "Tinderbox not found in the inventory! Put it in the inventory (any pos)." right when it logs in, them immediately log out, anyone else having this problem? I believe my hooks are up to date.

Flight

2011-05-17 19:48:11

Yeah your hooks are out-of-date. Try simply updating your reflection and after that close out of Simba and open it back up. That usually works for me. (Provided the newest hooks have been released)

Becks

2011-05-20 18:46:39

Tinderbox not found in the inventory! Put it in the inventory (any pos).
NextPlayer(False)
No Reflection update available.

ideas?

Flight

2011-05-20 19:46:02

From: Becks
Tinderbox not found in the inventory! Put it in the inventory (any pos).
NextPlayer(False)
No Reflection update available.

ideas?


Lol. I've already answered this question, infact just one post above you.

From: Flight
Yeah your hooks are out-of-date. Try simply updating your reflection and after that close out of Simba and open it back up. That usually works for me. (Provided the newest hooks have been released)

Becks

2011-05-22 15:14:56

Well i thought my hooks were fine that's why i posted it.

Flight

2011-05-22 20:43:47

Is it working for you now?

Becks

2011-05-22 22:35:01

Manually updated hooks and it is running atm.

Uzu

2011-05-26 07:28:14

Compiling failed.
[Error] (24:13): Unknown identifier 'SmartGetFieldArrayBoolean' at line 23
Compiling failed.
[Error] (24:13): Unknown identifier 'SmartGetFieldArrayBoolean' at line 23
Compiling failed.

What?

tico2

2011-05-29 15:16:20

Wow, this is script is really great! It doesn't try to light a fire on top of a another but avoids it. Running it right now and will post a proggie when it's done :) Rep ++ for you

=== Ultimate Burner 0.3 ~ By enoyhs =======
Experience gained: 590,085
Burning : Maple logs
XP/H : 118,056
Time running : 4 Hours, 59 Minutes and 54 Seconds
====================================
Manually stopped ;)

Uzu

2011-05-31 17:37:50

From: Uzu
Compiling failed.
[Error] (24:13): Unknown identifier 'SmartGetFieldArrayBoolean' at line 23
Compiling failed.
[Error] (24:13): Unknown identifier 'SmartGetFieldArrayBoolean' at line 23
Compiling failed.

What?


…..?

B o l t o n

2011-10-19 19:56:59

Not a clue what this means, All I know about scripts is they play the game for you and the only editing I do is putting my character details in it so can someone please help me

"[Error] (104:18): Unknown identifier 'Tile' at line 103
Compiling failed."


many thanks

Flight

2011-10-19 21:02:40

Yes… this script is R1 (Reflection 1) and you're trying to compile and play it in the current reflection (R2) so no doubt it won't compile/run for you.

We seriously need a simple log-burning script because, at the moment, there are none.

ry0240

2011-10-19 23:02:45

From: Flight
Yes… this script is R1 (Reflection 1) and you're trying to compile and play it in the current reflection (R2) so no doubt it won't compile/run for you.

We seriously need a simple log-burning script because, at the moment, there are none.


You should fix up that Nardah's log burner script, it burns them in the al-karid desert and says the city is a ghost town, so could be good from getting banned. I asked if anyone's going to update it to R2, but didn't get a reply.

B o l t o n

2011-10-20 21:19:24

ok, thanks :D if any log burners come out and you notice can you mail me please, it'd be greatly appreciated

Mr. Bottomtooth

2011-10-29 05:25:58

From: B o l t o n
ok, thanks :D if any log burners come out and you notice can you mail me please, it'd be greatly appreciated


Or you could stop by at the Script Requests section and leave a request for a log burner and see if anyone picks it up. :) After the update which pushed bots back towards color a lot of old scripters have been thinkin about getting back to scripting, so there's a good chance someone would be interested in making your request happen.