SRL Archive - RS3 Outdated / Broken Scripts

Daemonheim Superheater [F2P]


Runaway

2012-06-01 23:48:19



Runaway Presents:

Daemonheim Superheater

ALPHA
—————–
|= Version: 0.5 =|
—————–
Status: Unknown
Last Updated: 8/22/2012


Description
This script superheats ores into bars at the Daemonheim bank. It uses the unlimited teleports supplied by the dungeoneering ring to return to the bank if anything goes wrong.

How to Use
1) Fill out the setup.


const
BarToSmelt = 'iron'; // Valid choices: iron, steel, gold, mithril, adamant, rune
UseCoalBag = False; // Valid with: steel, mithril, adamant, rune
UserPin = ''; // Leave blank if not using a pin
TimeToRun = 360; // Minutes to run the script for (0 to run until stopped)
P2P = False;

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

with Players[0] do
begin
Name := ''; // Player username
Pass := ''; // Player password
BoxRewards := ['XP', 'ostume', 'mote', 'oins', 'une', 'ssence'];
LampSkill := Skill_SMITHING;
Active := True;
end;
end;

2) Place your character anywhere.
3) Equip:
–> Ring of kinship
–> Staff of fire
4) Place nature runes in the first slot of your inventory.
5) If using a coal bag, place it in the second slot of your inventory.
6) Make sure the ores you're superheating are visible in your bank.
7) Sort your spellbook by level and have all spells on.
8) Hit run!

Requirements
1) 43 Magic

Additional Info
-> It appears that you do not get randoms while in this area.
-> The script will only run for 1 load if the TimeToRun const is set to an unreasonable amount (9999+). Be sure to set it to 360, 720, etc.

Top Reports
-> kazzos!
 Runaways                                  v0.2! 
<=----------- Daemonheim Superheater ----------=>
| Running for: 6 Hours, 9 Minutes and 54 Seconds
| Superheated: 5186 steel bars
| Magic XP gained: 274964 XP
| Smithing XP gained: 90790 XP
<=---------------------------------------------=>
-> 911killer910!
 Runaways                                  v0.3!
<=----------- Daemonheim Superheater ----------=>
| Running for: 6 hours, 59 seconds
| Superheated: 4767 steel bars
| Magic XP gained: 252651 XP
| Smithing XP gained: 83422 XP
<=---------------------------------------------=>
-> The_Dude!
 Runaways                                  v0.3!
<=----------- Daemonheim Superheater ----------=>
| Running for: 6 Hours, 33 Seconds
| Superheated: 5103 steel bars
| Magic XP gained: 270459 XP
| Smithing XP gained: 89302 XP
<=---------------------------------------------=>
-> alerdm!
 Runaways                                  v0.4!
<=----------- Daemonheim Superheater ----------=>
| Running for: 5 Hours, 52 Minutes and 30 Seconds
| Superheated: 3335 rune bars
| Magic XP gained: 176755 XP
| Smithing XP gained: 166750 XP
<=---------------------------------------------=>
-> The_Dude!
 Runaways                                  v0.3!
<=----------- Daemonheim Superheater ----------=>
| Running for: 5 Hours, 35 Minutes and 46 Seconds
| Superheated: 4455 steel bars
| Magic XP gained: 236115 XP
| Smithing XP gained: 77962 XP
<=---------------------------------------------=>

Current Bugs
-> Lag can cause errors very rarely.
-> Withdrawing ores seems to have very minor bugs.

Future Updates
(Please make suggestions!)
-> More smelting options?

Update Log

[B]v 0.5[/B]
- Works with latest Simba
- Tweaked timing
[B]v 0.45[/B]
- Added coal bag failsafe
- Updated ore withdrawal
[B]v 0.4[/B]
- Massive NPC color revamp
- Rewrote a bunch of functions
- Only clicks last ore
- F2P / P2P option
- More withdrawal failsafes
[B]v 0.3[/B]
- Coal bag support!
- Added a bunch of withdrawing failsafes
- Updated "How to Use" section
[B]v 0.2[/B]
- Added spell book sorting
- Fixed an uptext bug
[B]v 0.1[/B]
- Initial release

CephaXz

2012-06-01 23:53:30

Nice to see another FindTPointCluster in action! Great work there!

Gonna try using the function in my next script after my exams.

Le Jingle

2012-06-02 00:19:54

Oo saw the daemonheim part, and before I read the whole main post, thought that we traversed inside the floors and resourced ore and superheated it. :p lol I'm foolish. Nonetheless, I shall try this out! it's the perfect f2p spot to superheat! :D

kazzos

2012-06-02 00:59:11

When I let the script log me in i get "ERROR: Not a high enough level to superheat steels!" (my magic is 94 xD) and when I manually log in I get "ERROR: Out of nature runes!" (I have 6k in first bag slot) . How can I fix?

Runaway

2012-06-02 01:09:57

From: CephaXz
Nice to see another FindTPointCluster in action! Great work there!

Gonna try using the function in my next script after my exams.


Thanks :) It's ridiculous how much easier creating scripts is with clusters.

From: Le Jingle
Oo saw the daemonheim part, and before I read the whole main post, thought that we traversed inside the floors and resourced ore and superheated it. :p lol I'm foolish. Nonetheless, I shall try this out! it's the perfect f2p spot to superheat! :D


Haha, now that would have been a feat. And yes, it's quite a great spot. I didn't even know it was random-free until I started testing it :p

From: kazzos
When I let the script log me in i get "ERROR: Not a high enough level to superheat steels!" (my magic is 94 xD) and when I manually log in I get "ERROR: Out of nature runes!" (I have 6k in first bag slot) . How can I fix?


Well, first off I forgot to add in alot of stuff… like DeclarePlayers and LoginPlayer >.< I re-uploaded it, give it a whirl now.

kazzos

2012-06-02 03:33:24

I tried new upload still get ERROR: Out of nature runes!

Reamt

2012-06-02 04:35:20

<=———– Daemonheim Superheater ———-=>
| Running for: 7 Seconds
| Superheated: 0 steel bars
| Magic XP gained: 0 XP
| Smithing XP gained: 0 XP
<=———————————————=>
ERROR: Out of nature runes!
Successfully executed.

Shatterhand

2012-06-02 05:41:41

I have my own supheater too but randoms are killing it. Omg no randoms at demonheim? :D
Btw you should add coal bag support, that makes it faster.

kingsleyeng

2012-06-02 05:44:36

can you add coal bag support?

Runaway

2012-06-02 10:59:13

From: kazzos
I tried new upload still get ERROR: Out of nature runes!
From: Reamt

ERROR: Out of nature runes!


Make sure your spellbook is sorted the default way! I'll put up a picture soon as to how it should look. But for now, All spells should be visible and it should be sorted by level.

EDIT: I've actually just added proper sorting into the script setup, so it should fix that issue without any problems :) I have uploaded the new version as v0.2!

From: Shatterhand

Btw you should add coal bag support, that makes it faster.
From: kingsleyeng
can you add coal bag support?


Guess I'll be adding coal bag support :p I have never used it though, and do not have an account with one :/

The Killer

2012-06-03 08:13:22

From: Runaway
Guess I'll be adding coal bag support :p I have never used it though, and do not have an account with one :/

may be able to lend you an account if ur really struggling to get one with a coal bag

Runaway

2012-06-03 13:13:09

From: The Killer
may be able to lend you an account if ur really struggling to get one with a coal bag


Hey, I really appreciate the offer! I've got someone who is willing to lend me one currently, but if it doesn't work out for whatever reason I'd be glad take you up on that :)

iamafish33

2012-06-03 13:24:58

does anyone know yet what the xp/h is?

Runaway

2012-06-03 13:30:18

From: iamafish33
does anyone know yet what the xp/h is?


Check out the reports I've posted on the first post. I've 2 for mithril bars and one for steel.

Gucci

2012-06-03 13:39:41

Very nice definitely needed a F2P superheater won't need to buy membs on pures to get mage up in soul wars

handsomenegro

2012-06-03 17:00:54

Hey sorry to be really annoying but I have a similar issue to Reamt.
So what happens is I have it set up correctly and my ores and stuff are visible and the script runs fine to being with, I am using mithril. So it starts up banks perfectly and withdraws and then superheats 5 mithril bars but when it goes back to bank it deposits perfectly and withdraws yet as it comes out the script just ends. Here's a proggy:

Runaways v0.2!
<=———– Daemonheim Superheater ———-=>
| Running for: 21 Seconds
| Superheated: 5 mithril bars
| Magic XP gained: 265 XP
| Smithing XP gained: 150 XP
<=———————————————=>
Successfully executed.

Runaway

2012-06-03 17:11:01

From: handsomenegro
Hey sorry to be really annoying but I have a similar issue to Reamt.
So what happens is I have it set up correctly and my ores and stuff are visible and the script runs fine to being with, I am using mithril. So it starts up banks perfectly and withdraws and then superheats 5 mithril bars but when it goes back to bank it deposits perfectly and withdraws yet as it comes out the script just ends. Here's a proggy:

Runaways v0.2!
<=———– Daemonheim Superheater ———-=>
| Running for: 21 Seconds
| Superheated: 5 mithril bars
| Magic XP gained: 265 XP
| Smithing XP gained: 150 XP
<=———————————————=>
Successfully executed.


Hmm… what do you have TimeToRun set to?

Theron

2012-06-04 03:26:17

The bot sometimes doesn't also withdraw the coal, and it doesn't realize it, because it continues to attempt to smelt the ores regardless until you stop the bot. I don't know a solution, but overall nice script, have it running on two accounts atm, and hoping to add a 3rd and 4th shortly.

darkgun33

2012-06-04 04:10:29

Still showing out of nature runes

kazzos

2012-06-04 06:01:24

From: darkgun33
Still showing out of nature runes


Works perfectly, did you download v0.2? Here is my 6 hour proggy

<=———– Daemonheim Superheater ———-=>
| Running for: 6 Hours, 9 Minutes and 54 Seconds
| Superheated: 5186 steel bars
| Magic XP gained: 274964 XP
| Smithing XP gained: 90790 XP
<=———————————————=>

Theron

2012-06-04 10:04:15

@Harry, if there is any script that you can mod, this would be the one. It has so much potential, with minor issues.

Runaway

2012-06-04 12:11:55

From: Theron
The bot sometimes doesn't also withdraw the coal, and it doesn't realize it, because it continues to attempt to smelt the ores regardless until you stop the bot. I don't know a solution, but overall nice script, have it running on two accounts atm, and hoping to add a 3rd and 4th shortly.

From: Theron
@Harry, if there is any script that you can mod, this would be the one. It has so much potential, with minor issues.


Noted and will be putting in alot of withdrawing failsafes in v0.3! I update my scripts alot from feedback so nobody needs to intervene on this one ;)

From: darkgun33
Still showing out of nature runes


Do you have the spellbook setup to be in default ordering? The only reason that error occurs is if the superheat icon cannot be found.

From: kazzos
Works perfectly, did you download v0.2? Here is my 6 hour proggy

<=———– Daemonheim Superheater ———-=>
| Running for: 6 Hours, 9 Minutes and 54 Seconds
| Superheated: 5186 steel bars
| Magic XP gained: 274964 XP
| Smithing XP gained: 90790 XP
<=———————————————=>


Awesome! Added to the top reports :)

Theron

2012-06-04 15:13:11

ETA on v0.3? I can't get this one to run very long at all..

Runaway

2012-06-04 15:15:48

From: Theron
ETA on v0.3? I can't get this one to run very long at all..


Hmm, that's odd… I almost always get 2+ hours :o Do you have the SMART slider at the default spot? I did all of my testing with the slider aligned with the energy bar. I've found that most of the time the withdrawal issues are caused by lag.

But v0.3 should be out either late today or tomorrow, I am adding coal bag support in this update so it will take longer than simply adding some failsafes.

Theron

2012-06-04 15:59:27

From: Runaway
Hmm, that's odd… I almost always get 2+ hours :o Do you have the SMART slider at the default spot? I did all of my testing with the slider aligned with the energy bar. I've found that most of the time the withdrawal issues are caused by lag.

But v0.3 should be out either late today or tomorrow, I am adding coal bag support in this update so it will take longer than simply adding some failsafes.


I'm attempting to use SMARTmanager to run this for long periods of time and some issue always occurs.

xBiO

2012-06-04 16:04:14

when i use this bot it tells me that i dont have nature runes >.< i have 25k.. in my first invy spot and gold in my bank visible.. lol

handsomenegro

2012-06-04 16:29:13

Hmm, maybe I was being dumb I had my set time to something crazy like 100000000, anyways, I will check it out again! Its such a perfect script I want it to work XD!

Runaway

2012-06-04 16:52:03

From: xBiO
when i use this bot it tells me that i dont have nature runes >.< i have 25k.. in my first invy spot and gold in my bank visible.. lol


Make sure your spellbook is sorted the default way; All shown and sort by level. The script is supposed to sort it properly if it isn't, but it seems that isn't happening… The out of nature runes error only occurs if the superheat icon isn't in the right spot.

From: handsomenegro
Hmm, maybe I was being dumb I had my set time to something crazy like 100000000, anyways, I will check it out again! Its such a perfect script I want it to work XD!


Ah yes, that sounds like the culprit. For some reason, unrealistic amounts seem to break the TimeToRun feature… which doesn't make much sense, but it happens.

Theron

2012-06-04 18:59:05

Really look forward to using this after it gets updated. I couldn't ever get it to work for long D:

Runaway

2012-06-05 14:49:33

From: Theron
Really look forward to using this after it gets updated. I couldn't ever get it to work for long D:


Updated to v0.3! Added coal bag support and failsafes for ore withdrawal.

Theron

2012-06-05 20:53:12

From: Runaway
Updated to v0.3! Added coal bag support and failsafes for ore withdrawal.


Testing now, thank you.

The ore detection has improved a lot and it doesn't mess up very often at all, however sometimes I get dc'ed from rs (my isp is the issue), but whenever it logs back into rs, it clicks on inventory then on the worn items, and tells me to equip a staff of fire and a king if kinship, which i happen to be wearing both -.-

Gregbot

2012-06-07 13:03:34

Got all my settings right, doesn't work.
He teleports with the ring, then logs out, and I get this error:
ERROR: NPC color not found! See thread for fix.
He doesn't walk anywhere, just teleport and log out.


Edit: Got it to work by starting the script with my bank opened, and the ores already in my inventory. He then closed my bank and went for the logout button, I quickly stopped it before he could log, ran it again, and then he superheated my inventory.
After that, he deposited my bars but didn't withdraw any runite ore, he just hovers over the icon.

Runaway

2012-06-07 14:13:32

From: Theron
Testing now, thank you.

The ore detection has improved a lot and it doesn't mess up very often at all, however sometimes I get dc'ed from rs (my isp is the issue), but whenever it logs back into rs, it clicks on inventory then on the worn items, and tells me to equip a staff of fire and a king if kinship, which i happen to be wearing both -.-


I don't think it's an ISP issue, I'm fairly certain it's just the servers right now. I find I can barely run my scripts for an hour before I get too much lag and DC lately. When it logs back in, are you restarting the script?

From: Gregbot
Got all my settings right, doesn't work.
He teleports with the ring, then logs out, and I get this error:
ERROR: NPC color not found! See thread for fix.
He doesn't walk anywhere, just teleport and log out.


Edit: Got it to work by starting the script with my bank opened, and the ores already in my inventory. He then closed my bank and went for the logout button, I quickly stopped it before he could log, ran it again, and then he superheated my inventory.
After that, he deposited my bars but didn't withdraw any runite ore, he just hovers over the icon.


If you start it with your bank open, it won't be able to check your equipment/stats so it will always log out. If anything start with a full inventory or empty inventory and it will know what to do. If it's hovering over the ore, it is an uptext issue and really can't be helped until something is changed with GetUptext. If it can find the uptext once it will remember the location of the ore and won't rely on the uptext anymore, so I can try adding screen rotating to give a better chance of recognizing the uptext. I'll add that into the next update.

Theron

2012-06-07 23:06:30

From: Runaway
I don't think it's an ISP issue, I'm fairly certain it's just the servers right now. I find I can barely run my scripts for an hour before I get too much lag and DC lately. When it logs back in, are you restarting the script?


I'm using SMARTmanager to run it over the 6 hour log out.

The_Dude

2012-06-08 00:23:15

Runaways v0.3!
<=———– Daemonheim Superheater ———-=>
| Running for: 5 Hours, 5 Minutes and 43 Seconds
| Superheated: 4169 steel bars
| Magic XP gained: 220957 XP
| Smithing XP gained: 72958 XP
<=———————————————=>

Ran much better after I changed your colors for the banker and some ores!

Does this technically count as being in the wilderness? Because I haven't gotten a single random yet.

Runaway

2012-06-08 11:35:12

From: Theron
I'm using SMARTmanager to run it over the 6 hour log out.


Let me know if the problem persists… I don't know how SMARTManager works, but it the script works fine when you first run it and then doesn't work when it's restarted by SM, I really don't know what to do to help :o

From: The_Dude
Runaways v0.3!
<=———– Daemonheim Superheater ———-=>
| Running for: 5 Hours, 5 Minutes and 43 Seconds
| Superheated: 4169 steel bars
| Magic XP gained: 220957 XP
| Smithing XP gained: 72958 XP
<=———————————————=>

Ran much better after I changed your colors for the banker and some ores!

Does this technically count as being in the wilderness? Because I haven't gotten a single random yet.


Great, I'll add you to the top reports :) The colors are always changing; the ones I use will work all the time, but occasionally they'll work worse than usual if the colors have changed enough.

As for randoms, I have no clue why they're so rare here. I didn't notice until I started testing :p

Gregbot

2012-06-08 19:45:50

My trial membership is over so I gave this script another go, and for some reason works flawlessly now.
This time I started it up with a full inventory, at varrock. He superheated my inventory before teleporting to daemonheim and running to the bank.
He found my runite ore and had no trouble withdrawing them this time, awesome ^^.

Is there any way this script could be a bit faster? It seems to take very short pauses after doing each action (opening bank, withdrawing ore, withdrawing coal, closing).

But thanks for making this script though, the best I can use as a f2p player atm!

Runaway

2012-06-08 19:53:25

From: Gregbot
My trial membership is over so I gave this script another go, and for some reason works flawlessly now.
This time I started it up with a full inventory, at varrock. He superheated my inventory before teleporting to daemonheim and running to the bank.
He found my runite ore and had no trouble withdrawing them this time, awesome ^^.

Is there any way this script could be a bit faster? It seems to take very short pauses after doing each action (opening bank, withdrawing ore, withdrawing coal, closing).

But thanks for making this script though, the best I can use as a f2p player atm!


I'm glad to hear it's working well :) I've tried to cut down on the pauses as much as possible, but they are mostly caused by my color-searching function. The script is always monitoring the inventory for certain colors so it knows what's going on and that is the cause of the pauses during the banking process. Unfortunately I won't be changing it; I find it's a good way to account for lag anyways >.<

Gregbot

2012-06-09 15:26:59

I'm getting about ~450-500 rune bars per hour which isn't bad, but the script I was using in p2p had around 750-850 per hour.
But these scripts are free & you did a good job making it (i couldn't do it better myself) so I shouldn't be complaining.

Edit: 4 hr proggy

Runaways v0.3!
<=———– Daemonheim Superheater ———-=>
| Running for: 4 Hours, 13 Seconds
| Superheated: 1968 rune bars
| Magic XP gained: 104304 XP
| Smithing XP gained: 98400 XP
<=———————————————=>

Runaway

2012-06-10 12:40:06

From: Gregbot
I'm getting about ~450-500 rune bars per hour which isn't bad, but the script I was using in p2p had around 750-850 per hour.
But these scripts are free & you did a good job making it (i couldn't do it better myself) so I shouldn't be complaining.

Edit: 4 hr proggy

Runaways v0.3!
<=———– Daemonheim Superheater ———-=>
| Running for: 4 Hours, 13 Seconds
| Superheated: 1968 rune bars
| Magic XP gained: 104304 XP
| Smithing XP gained: 98400 XP
<=———————————————=>


Hmm… guess I have a new goal then :p with rune bars you're doing a whole lot of banking, so I bet the wait after closing the bank is really cutting down on bars/hour. I've added your report to the top reports :)

handsomenegro

2012-06-10 12:58:26

Runaways v0.3!
<=———– Daemonheim Superheater ———-=>
| Running for: 2 Hours, 56 Minutes and 59 Seconds
| Superheated: 2268 mithril bars
| Magic XP gained: 120204 XP
| Smithing XP gained: 68040 XP
<=———————————————=>

here y'ar not as impressive as the others but its a great solid script and without randoms it can run for everrrrrr

Runaway

2012-06-10 13:22:15

From: handsomenegro
Runaways v0.3!
<=———– Daemonheim Superheater ———-=>
| Running for: 2 Hours, 56 Minutes and 59 Seconds
| Superheated: 2268 mithril bars
| Magic XP gained: 120204 XP
| Smithing XP gained: 68040 XP
<=———————————————=>

here y'ar not as impressive as the others but its a great solid script and without randoms it can run for everrrrrr


Thanks! It's still good enough to get you on the top reports ;)

litoris

2012-06-11 13:05:41

My suggestion would be to click the last ore in inventory and to decrease the waits a bit. Flawless script, overall.

Amateur

2012-06-11 15:27:33

<=———– Daemonheim Superheater ———-=>
| Running for: 1 Hours, 1 Minutes and 9 Seconds
| Superheated: 797 steel bars
| Magic XP gained: 42241 XP
| Smithing XP gained: 13948 XP
<=———————————————=>

Thanks for the script, had trouble starting it up but got it working after doing bank-pin myself and starting with ores in inventory.

valik

2012-06-14 10:10:02

<=———– Daemonheim Superheater ———-=>
| Running for: 5 Hours, 10 Minutes and 31 Seconds
| Superheated: 3719 steel bars
| Magic XP gained: 197107 XP
| Smithing XP gained: 65082 XP
<=———————————————=>
ERROR: Banking messed up!
Successfully executed.
wery good script

Runaway

2012-06-15 12:00:35

From: litoris
My suggestion would be to click the last ore in inventory and to decrease the waits a bit. Flawless script, overall.


Ah yes, thanks for bringing my attention back to that :p I had never superheated before when I wrote the script so I had no clue that you could just click the last one haha.

P.S.
:stirthepot:?

From: Amateur
<=———– Daemonheim Superheater ———-=>
| Running for: 1 Hours, 1 Minutes and 9 Seconds
| Superheated: 797 steel bars
| Magic XP gained: 42241 XP
| Smithing XP gained: 13948 XP
<=———————————————=>

Thanks for the script, had trouble starting it up but got it working after doing bank-pin myself and starting with ores in inventory.


No problem! I don't know why the bank pin wouldn't be working, but I'll look into it.

From: valik
<=———– Daemonheim Superheater ———-=>
| Running for: 5 Hours, 10 Minutes and 31 Seconds
| Superheated: 3719 steel bars
| Magic XP gained: 197107 XP
| Smithing XP gained: 65082 XP
<=———————————————=>
ERROR: Banking messed up!
Successfully executed.
wery good script


Thanks :) I've added your report to the top reports!

The_Dude

2012-06-15 20:53:33

Runaways v0.3!
<=———– Daemonheim Superheater ———-=>
| Running for: 5 Hours, 35 Minutes and 46 Seconds
| Superheated: 4455 steel bars
| Magic XP gained: 236115 XP
| Smithing XP gained: 77962 XP
<=———————————————=>

I see someone already told you that it's faster to click last ore every time, so I hope to see that in a coming update. Other than that I love this script. I'm certain that this counts as wilderness, I rarely get a random until I teleport away from Daemonheim. When I do that I usually get a random immediately! Thanks again for this sweet script!

Runaway

2012-06-16 12:59:31

From: The_Dude
Runaways v0.3!
<=———– Daemonheim Superheater ———-=>
| Running for: 5 Hours, 35 Minutes and 46 Seconds
| Superheated: 4455 steel bars
| Magic XP gained: 236115 XP
| Smithing XP gained: 77962 XP
<=———————————————=>

I see someone already told you that it's faster to click last ore every time, so I hope to see that in a coming update. Other than that I love this script. I'm certain that this counts as wilderness, I rarely get a random until I teleport away from Daemonheim. When I do that I usually get a random immediately! Thanks again for this sweet script!


Thanks :) Yes, the single-clicking will be incorporated eventually. I've added you to the top reports!

xBiO

2012-06-17 16:42:06

it withdraws my ores and then just logs out and everything is correct in the directions

Runaway

2012-06-17 17:30:27

From: xBiO
it withdraws my ores and then just logs out and everything is correct in the directions


It would help if you could post the error it gives you when it terminates. It must be something on your end because it works perfectly for me and everyone else posting :S

The_Dude

2012-06-17 19:17:31

Great I can't wait for the update, respect for writing an awesome script!

Runaways v0.3!
<=———– Daemonheim Superheater ———-=>
| Running for: 6 Hours, 33 Seconds
| Superheated: 5103 steel bars
| Magic XP gained: 270459 XP
| Smithing XP gained: 89302 XP
<=———————————————=>
ERROR: Banking messed up!

No errors here, I was forced offline. I've been getting solid 6 hr blocks (no smartmanager :p)

All in all great job. The only time it ever screws up is if I disable smart: when I start it back up it thinks I am out of nature runes. This is not a huge deal as restarting the script is easy enough!

I might add that I've not used the walking methods too often, and only when I started it empty inventory (with natures) in an unknown location. The first time I ran this script it teleported me there, and found the banker, walked up to him and started smelting, all perfect. Since then I've tried it a couple of times and it has failed to find him, which of course results in a log out. Not a something to complain about, it is still very much a functional superheater, but something you should maybe look into? I use all minimum specs on the game including fixed screen so you know what I'm testing on.

zunkill

2012-06-18 12:11:57

ERROR: Out of nature runes!

i have 25k of them in first place in my inventory? O.o

Runaway

2012-06-18 13:47:28

From: The_Dude
Great I can't wait for the update, respect for writing an awesome script!

Runaways v0.3!
<=———– Daemonheim Superheater ———-=>
| Running for: 6 Hours, 33 Seconds
| Superheated: 5103 steel bars
| Magic XP gained: 270459 XP
| Smithing XP gained: 89302 XP
<=———————————————=>
ERROR: Banking messed up!


Thanks man! I've added this to the top reports :)

From: The_Dude
I might add that I've not used the walking methods too often, and only when I started it empty inventory (with natures) in an unknown location. The first time I ran this script it teleported me there, and found the banker, walked up to him and started smelting, all perfect. Since then I've tried it a couple of times and it has failed to find him, which of course results in a log out. Not a something to complain about, it is still very much a functional superheater, but something you should maybe look into? I use all minimum specs on the game including fixed screen so you know what I'm testing on.


Yeah, I've been having the same issue lately as well… if the player is standing on the spot south of the banker, it seems to have issues finding him. It works great if you're on the spot east of the banker, but I'll look into fixing this.

From: zunkill
ERROR: Out of nature runes!

i have 25k of them in first place in my inventory? O.o


Make sure your spell book is sorted by level with all spells visible.

RSisDead

2012-06-18 22:48:01

I get the error "Out of nature runes" when i have 100k in my first invent slot. >.<

Runaway

2012-06-18 22:52:57

From: RSisDead
I get the error "Out of nature runes" when i have 100k in my first invent slot. >.<


–>

From: Runaway
Make sure your spell book is sorted by level with all spells visible.

RSisDead

2012-06-18 23:08:33

From: Runaway
–>


It is. perfectly. My friend X BiO (he posted already) but had the same issue - so he made his own and i'm working on my own but tbh i'm halfway done and too lazy to debug. My mage book is perfectly set up, i will post a pic if you would like!

Runaway

2012-06-18 23:17:26

From: RSisDead
It is. perfectly. My friend X BiO (he posted already) but had the same issue - so he made his own and i'm working on my own but tbh i'm halfway done and too lazy to debug. My mage book is perfectly set up, i will post a pic if you would like!


Yes, please post a picture. It runs perfectly for me :redface:

PS: This error is only triggered when the script cannot find the superheat icon in the right spot. That is why book sorting is usually the culprit. It could be the icon colors, but I doubt it because that hasn't changed in months.

RSisDead

2012-06-18 23:21:32

http://www.freeimagehosting.net/od6it
There you go!
Thanks for working with me, i'd hope to have this fixed so i can go to bed soon!

RSisDead

2012-06-18 23:27:22

Oh, you might notice i'm running v0.2, It's because i tried it with v.03 but it didn't work, hoping a downgrade would fix it.

Runaway

2012-06-18 23:29:24

From: RSisDead
http://www.freeimagehosting.net/od6it
There you go!
Thanks for working with me, i'd hope to have this fixed so i can go to bed soon!


Ahhh I think I know what the problem is. Are you on a member's world? Take a look at my spellbook:


My superheat icon is in a different spot since I don't have that crossbow icon in mine. You're going to have to do a bit of editing to get it to run the way you want. Find the ChooseSpell function, and do this:


function ChooseSpell: Boolean;
var
Time: Integer;
begin
if not LoggedIn then Exit;
Result := False;
MarkTime(Time);
repeat
if not TabWait(2000, tab_MAGIC) then
GameTab(tab_MAGIC);
if ColorWait(2000, 228588, 10, 616, 322, 627, 332) then
// ^ move the x1(616) and x2(627) values so they are on the
// left and right side of the superheat icon, respectively.
begin
Wait(100+Random(50));
MouseBox(616, 322, 627, 332, mouse_left);
// and here as well.
Result := True;
Break;
end;
until(TimeFromMark(Time) > 5000);
end;

That should fix the issue :) I don't have any P2P accounts, so I had no clue the placement of the icon could change.

RSisDead

2012-06-18 23:32:54

I understand, but which color (i'm assuming is what those are) is the superheat?

Runaway

2012-06-18 23:35:50

From: RSisDead
I understand, but which color (i'm assuming is what those are) is the superheat?



if ColorWait(2000 {Max wait}, 228588 {Superheat color}, 10 {Tolerance}, 616 {x1}, 322 {y1}, 627 {x2}, 332 {y2}) then

Is that what you were asking?

RSisDead

2012-06-18 23:38:48

if ColorWait(2000, 616, 228588, 10, 322, 627, 332) then

That is what you want, correct?

RSisDead

2012-06-18 23:45:46

Also i don't understand what you mean on the second line you want me to change, as there is no superheat color… Can you just do it for me lol, since you know what you're doing? +rep

Runaway

2012-06-18 23:50:12

From: RSisDead
if ColorWait(2000, 616, 228588, 10, 322, 627, 332) then

That is what you want, correct?


From: RSisDead
Also i don't understand what you mean on the second line you want me to change, as there is no superheat color… Can you just do it for me lol, since you know what you're doing? +rep


I mean it like this:


Literally change the values of x1 and x2. Find the x1 and x2 values for the superheat icon in your own spellbook and replace them with the current ones in both places! I think 640 and 651 might work (+24 pixels to the right) so give that a shot. Like this:


function ChooseSpell: Boolean;
var
Time: Integer;
begin
if not LoggedIn then Exit;
Result := False;
MarkTime(Time);
repeat
if not TabWait(2000, tab_MAGIC) then
GameTab(tab_MAGIC);
if ColorWait(2000, 228588, 10, 640, 322, 651, 332) then
// ^
begin
Wait(100+Random(50));
MouseBox(640, 322, 651, 332, mouse_left);
// ^
Result := True;
Break;
end;
until(TimeFromMark(Time) > 5000);
end;

RSisDead

2012-06-18 23:58:13

yyyyyyyyaaaaaaaaaaaaaaaaaaaaaaayyyyyyyy IT WORKED! Put a P2P version up for all to see! :) Thank you so much!

Runaway

2012-06-19 00:01:34

From: RSisDead
yyyyyyyyaaaaaaaaaaaaaaaaaaaaaaayyyyyyyy IT WORKED! Put a P2P version up for all to see! :) Thank you so much!


Great! And no problem :) I guess I'll have to upload a version soon with a P2P/F2P option.

zunkill

2012-06-19 07:33:55

runaway your a legend tis working fine now :D that tweak you did up there ^^^^ perfecto :P i say leave the coding in a box for people to add however dont add to script as leechers will leech :P lol but im cruel XD

caseycochran02

2012-06-19 07:55:26

Why "out of nature runes" everytime? Itried V0.2 & V0.3 I have nature runes, i have my spellbook set on all, and ordered by the level, is it something to do with the slider or what? any help would be greatly appreciated! thanks

Nvm! Changed the x and y's like u said and it works great! thanks so much!!!!!

Any way to add an xp counter on screen? that be cool, like xp/h kind of thing.

mandy4ever4

2012-06-19 12:29:40

Very confused, it runs for one round then it executes every time! >:/ I mean it doesn't say I don't have any nats or anything.

Runaway

2012-06-19 12:32:39

From: zunkill
runaway your a legend tis working fine now :D that tweak you did up there ^^^^ perfecto :P i say leave the coding in a box for people to add however dont add to script as leechers will leech :P lol but im cruel XD


From: caseycochran02
Why "out of nature runes" everytime? Itried V0.2 & V0.3 I have nature runes, i have my spellbook set on all, and ordered by the level, is it something to do with the slider or what? any help would be greatly appreciated! thanks

Nvm! Changed the x and y's like u said and it works great! thanks so much!!!!!

Any way to add an xp counter on screen? that be cool, like xp/h kind of thing.


Awesome, guess the fix is working well :) I won't be adding any fancy progress report stuff, sorry.

From: mandy4ever4
Very confused, it runs for one round then it executes every time! >:/ I mean it doesn't say I don't have any nats or anything.


Make sure you set your TimeToRun to a reasonable amount (360/720/etc.) it seems to bug out and terminate after a load if it's set to something like 9999+. I don't really know why :S

mandy4ever4

2012-06-19 12:38:32

From: Runaway
Awesome, guess the fix is working well :) I won't be adding any fancy progress report stuff, sorry.



Make sure you set your TimeToRun to a reasonable amount (360/720/etc.) it seems to bug out and terminate after a load if it's set to something like 9999+. I don't really know why :S
Yes!!!! Thanks, it's working!!! :)

Runaway

2012-06-19 12:47:40

From: mandy4ever4
Yes!!!! Thanks, it's working!!! :)


Great! I'll add that under the additional info section so it won't happen to others.

mandy4ever4

2012-06-19 19:22:11

<=———– Daemonheim Superheater ———-=>
| Running for: 4 Hours, 12 Minutes and 9 Seconds
| Superheated: 3433 steel bars
| Magic XP gained: 181949 XP
| Smithing XP gained: 60078 XP
<=———————————————=> Dude, completely flawless!!! It would've been about 6 hours, but I disabled the smart thing by accident. That part messed the bot up :P

Runaway

2012-06-20 11:51:09

From: mandy4ever4
<=———– Daemonheim Superheater ———-=>
| Running for: 4 Hours, 12 Minutes and 9 Seconds
| Superheated: 3433 steel bars
| Magic XP gained: 181949 XP
| Smithing XP gained: 60078 XP
<=———————————————=> Dude, completely flawless!!! It would've been about 6 hours, but I disabled the smart thing by accident. That part messed the bot up :P


Heh, unfortunately I don't think there's a way to make the script wait if SMART is disabled :p Let your friend xBio know that the issue he was having is fixed!

curiousgeorge322

2012-06-20 18:21:46

Thanks man, this is an awesome script! It has worked flawlessly for me every time I have ran it.
My only recommendation is to add breaking. I only let it go for 1hr-1.5hrs at a time, but it would be nice to just let it go all day and have random breaks. That, and clicking the last ore like what was stated before.


I basically have ~6x of these proggies over the last week.

Runaways v0.3!
<=———– Daemonheim Superheater ———-=>
| Running for: 1 Hours, 38 Minutes and 56 Seconds
| Superheated: 1380 steel bars
| Magic XP gained: 73140 XP
| Smithing XP gained: 24150 XP
<=———————————————=>

911killer910

2012-06-20 23:50:12

Mine tries over and over and over again to open the bank and the tolerance keeps going up until about 35 and then it tries again and again. Eventually it logs out, but it right clicks the banker, but it can't select the bank banker option.

Tlachtli

2012-06-21 00:02:34

From: 911killer910
Mine tries over and over and over again to open the bank and the tolerance keeps going up until about 35 and then it tries again and again. Eventually it logs out, but it right clicks the banker, but it can't select the bank banker option.


I've seen this happen on other scripts when there are too many players around the banker. Most people don't think to add support for the cascading menu, so when it doesn't find the Bank Banker option, it assumes you're lost.

To correctly use the cascading menu, you'd need something to the effect of:
if not "Bank banker" then
find "banker"
hover on "banker"
wait
find "Bank banker"

Runaway

2012-06-22 13:08:05

From: curiousgeorge322
Thanks man, this is an awesome script! It has worked flawlessly for me every time I have ran it.
My only recommendation is to add breaking. I only let it go for 1hr-1.5hrs at a time, but it would be nice to just let it go all day and have random breaks. That, and clicking the last ore like what was stated before.

I basically have ~6x of these proggies over the last week.

Runaways v0.3!
<=———– Daemonheim Superheater ———-=>
| Running for: 1 Hours, 38 Minutes and 56 Seconds
| Superheated: 1380 steel bars
| Magic XP gained: 73140 XP
| Smithing XP gained: 24150 XP
<=———————————————=>


Thanks! I've never really been a fan of taking breaks to be totally honest, so I don't know if I'll be adding that in. If I'm not mistaken, can't you set breaks with the SMARTManager? I can post an edit with breaking added if you'd like, but I won't be putting it in the official version.

From: 911killer910
Mine tries over and over and over again to open the bank and the tolerance keeps going up until about 35 and then it tries again and again. Eventually it logs out, but it right clicks the banker, but it can't select the bank banker option.


From: Tlachtli
I've seen this happen on other scripts when there are too many players around the banker. Most people don't think to add support for the cascading menu, so when it doesn't find the Bank Banker option, it assumes you're lost.

To correctly use the cascading menu, you'd need something to the effect of:
if not "Bank banker" then
find "banker"
hover on "banker"
wait
find "Bank banker"


Yes, you're correct :p The thought to add in cascading menu support didn't cross my mind once! I guess I can add it in, but this can be easily avoided so it's not very high on my list of concerns.

curiousgeorge322

2012-06-23 09:05:41

From: Runaway
Thanks! I've never really been a fan of taking breaks to be totally honest, so I don't know if I'll be adding that in. If I'm not mistaken, can't you set breaks with the SMARTManager? I can post an edit with breaking added if you'd like, but I won't be putting it in the official version.


Oh okay, I didn't know anything about SMARTManager haha. I should be able to figure it out. I'm ready to start learning more about SMART/Simba/Scripting, I just have to wait for school to slow down a little bit :tongue:

Tlachtli

2012-06-25 16:52:03

After I added a few personal touches, I got it to run seamlessly with SMARTManager. Basically I just added an updated version of Tickyy's favorite world login procedure and edited the banking to check more rigorously for what ores are in the inventory to fix some problems* it would have starting up after an accidental/forced stop. If you're interested in seeing the changes Runaway I'd be happy to PM them to you; they're kinda messy right now, but you might consider adding cleaner-looking solutions in any future updates you may do.

*The main problem I saw with superheating steel using a coal bag would happen when it filled the bag, withdrew the iron, but then couldn't find the coal a second time to fill the inventory. When this happened it would terminate the script ('Error: out of coal'), and upon SMARTManager restart the script would assume the inventory was superheat-ready even though there was not enough coal (resulting in some iron bars being made instead of steel). The solution was to have it check for both the presence of the ore of choice and coal in the inventory when banking, and fix it if it doesn't find both.

Runaway

2012-06-25 19:16:56

From: Tlachtli
After I added a few personal touches, I got it to run seamlessly with SMARTManager. Basically I just added an updated version of Tickyy's favorite world login procedure and edited the banking to check more rigorously for what ores are in the inventory to fix some problems* it would have starting up after an accidental/forced stop. If you're interested in seeing the changes Runaway I'd be happy to PM them to you; they're kinda messy right now, but you might consider adding cleaner-looking solutions in any future updates you may do.

*The main problem I saw with superheating steel using a coal bag would happen when it filled the bag, withdrew the iron, but then couldn't find the coal a second time to fill the inventory. When this happened it would terminate the script ('Error: out of coal'), and upon SMARTManager restart the script would assume the inventory was superheat-ready even though there was not enough coal (resulting in some iron bars being made instead of steel). The solution was to have it check for both the presence of the ore of choice and coal in the inventory when banking, and fix it if it doesn't find both.


Ah, I think I tried to fix that "depositing ores if they were withdrawn wrong", but now that I've looked back on it, I made a silly mistake and it isn't doing anything about it! :p This won't be in the v0.4 update later today, but I would love if you could send me the code :)

Runaway

2012-06-26 01:04:44

v0.4 has been released! Check out the "Update Log" on the first post to see what has been changed!

Only the last ore will be clicked, as well as a few other hidden goodies :)

Tlachtli

2012-06-26 02:45:41

I've been trying to get 0.4 to work, but it doesn't seem to want to recognize my coal bag. It works fine without it (except for the 'error: out of ore' timeouts that happen every so often), but it says it cannot find the coal bag even when it is set up properly.

Runaway

2012-06-26 02:52:22

From: Tlachtli
I've been trying to get 0.4 to work, but it doesn't seem to want to recognize my coal bag. It works fine without it (except for the 'error: out of ore' timeouts that happen every so often), but it says it cannot find the coal bag even when it is set up properly.


:duh:

I accidentally put a 1 in as the search slot for the coal bag's CheckInvColor in SetupPlay! Good catch, I re-uploaded it to check slot 2.

Tlachtli

2012-06-26 03:14:45

From: Runaway
:duh:

I accidentally put a 1 in as the search slot for the coal bag's CheckInvColor in SetupPlay! Good catch, I re-uploaded it to check slot 2.


Not sure why I didn't see that myself :duh:

Anyways, I PM'ed you a couple failsafe things. I'm kinda neurotic about my failsafes, I like to have a contingency for pretty much anything that can go wrong. Now I want to see what to do about that pesky 'ERROR: Out of ore!' that keeps cropping up. As it is right now, this script is very moody; sometimes you get a full 6 hours out of it, sometimes it'll go about 11 minutes and give an 'out of ore' error.

I'm wondering if DTMs would make the ore detection any better… could be worth trying. The hard part is making one that can still account for all the icon changes that happen.

Runaway

2012-06-26 03:22:39

From: Tlachtli
Anyways, I PM'ed you a couple failsafe things. I'm kinda neurotic about my failsafes, I like to have a contingency for pretty much anything that can go wrong. Now I want to see what to do about that pesky 'ERROR: Out of ore!' that keeps cropping up. As it is right now, this script is very moody; sometimes you get a full 6 hours out of it, sometimes it'll go about 11 minutes and give an 'out of ore' error.

I'm wondering if DTMs would make the ore detection any better… could be worth trying. The hard part is making one that can still account for all the icon changes that happen.


Hmm… alright. I haven't been using this script much lately so I'm not really up-to-date with the issues. I'll give it a good few days of debugging and see if these bugs can get ironed out for good :)

Runaway

2012-06-26 13:14:25

Well, I bought materials for 1k mith bars expecting to get a glimpse of the error you mentioned, but no luck :p


Runaways v0.4!
<=----------- Daemonheim Superheater ----------=>
| Running for: 1 Hours, 34 Minutes and 40 Seconds
| Superheated: 1000 mithril bars
| Magic XP gained: 53000 XP
| Smithing XP gained: 30000 XP
<=---------------------------------------------=>

911killer910

2012-06-27 21:48:10

v 0.4 works great! Runs much smoother (and efficiently with that last ore update) than 0.3
Likely a lag-induced problem, but it will sometimes click use ore instead of superheat and then the ore. However, the script will correct itself when it does that, which is awesome. GREAT script and great update, thanks! :D

Runaway

2012-06-27 23:15:34

From: 911killer910
v 0.4 works great! Runs much smoother (and efficiently with that last ore update) than 0.3
Likely a lag-induced problem, but it will sometimes click use ore instead of superheat and then the ore. However, the script will correct itself when it does that, which is awesome. GREAT script and great update, thanks! :D


Thanks! I'll try to make a failsafe for that bug whether it's lag or not :p

Also, I've re-uploaded v0.4 (for the 3rd time now :duh:) with some small tweaks that I accidentally left out from v0.3! In the process of migrating all of my more up-to-date functions to this script, I ended up losing a few crucial pieces to make this run at it's best. Those have now been added again, so re-download v0.4 before running this again!

Rezozo

2012-06-27 23:25:39

Definitely need to try this soon, Il mine a Sh** ton of rune ore, get 99, and super heat like no tomorrow!

911killer910

2012-06-28 11:33:51

Latest version (the updated V0.4) will hover over some tabs when it opens the bank for the first time, doesn't seem to detect the ores. It then goes over to the money pouch and hovers over that, then will log out.

Runaway

2012-06-28 11:47:33

From: 911killer910
Latest version (the updated V0.4) will hover over some tabs when it opens the bank for the first time, doesn't seem to detect the ores. It then goes over to the money pouch and hovers over that, then will log out.


Ah, ok… I guess I've got to put in some sort of uptext failsafe. On the first run, my banking function will search for the ores to withdraw (verifying it with uptext) with a high tolerance and then stores the point it found it at. But the problem is that the uptext-finding functions are pretty iffy in daemonheim; something to do with the area colors really screw with the text recognition. After it finds the right ore once it will rely on the stored point if it doesn't recognize the uptext properly.

I'll whip something up to fix this by the end of today :)

911killer910

2012-06-28 12:03:40

From: Runaway
Ah, ok… I guess I've got to put in some sort of uptext failsafe. On the first run, my banking function will search for the ores to withdraw (verifying it with uptext) with a high tolerance and then stores the point it found it at. But the problem is that the uptext-finding functions are pretty iffy in daemonheim; something to do with the area colors really screw with the text recognition. After it finds the right ore once it will rely on the stored point if it doesn't recognize the uptext properly.

I'll whip something up to fix this by the end of today :)


Well the (2nd update I believe?) V0.4 works pretty smoothly with banking, so do you think what's causing it is one of the withdrawal failsafe's?

Tlachtli

2012-06-29 01:43:01

The current 0.4 has trouble finding iron. It can get the coal just fine, but so far trying to get iron it has only found leather gloves and a rune longsword.

ISRA3L

2012-06-29 03:15:22

superheating is not profitable anymore… :(

i used Ticcky's superheater and i gained alot of money but now the profit are 0 or you even lose..

Runaway

2012-06-29 16:44:19

From: 911killer910
Well the (2nd update I believe?) V0.4 works pretty smoothly with banking, so do you think what's causing it is one of the withdrawal failsafe's?


From: Tlachtli
The current 0.4 has trouble finding iron. It can get the coal just fine, but so far trying to get iron it has only found leather gloves and a rune longsword.


I could have accidentally changed a variable or the colors could have changed. Either way, I will look into it!

From: Mister
superheating is not profitable anymore… :(

i used Ticcky's superheater and i gained alot of money but now the profit are 0 or you even lose..


In time, in time… ;)

alerdm

2012-06-29 23:34:43

My the best proggy


Runaways v0.4!
<=———– Daemonheim Superheater ———-=>
| Running for: 5 Hours, 52 Minutes and 30 Seconds
| Superheated: 3335 rune bars
| Magic XP gained: 176755 XP
| Smithing XP gained: 166750 XP
<=———————————————=>

Runaway

2012-06-29 23:47:09

From: alerdm
My the best proggy


Runaways v0.4!
<=———– Daemonheim Superheater ———-=>
| Running for: 5 Hours, 52 Minutes and 30 Seconds
| Superheated: 3335 rune bars
| Magic XP gained: 176755 XP
| Smithing XP gained: 166750 XP
<=———————————————=>


Awesome! Added to the top reports :)

lolk556

2012-06-30 05:10:04

It didn't work at first so I just observed how the script works. Apparently for steel, iron needs to be on row 3, column 6 while coal needs to be on row 5, column 4.
I'd assume this works for all bars as long as the target ore must be in row 3 column 6 while the secondary ore must be row 5, column 4.

Runaway

2012-06-30 12:49:37

Updated this to v0.45! I have hopefully fixed the ore-finding procedure for good, and have also added an extra coal bag handling failsafe (big thanks to Tlachti!).

Please note that the script will usually take a little while to find the ores on start-up; but once it has found them once there won't be anymore issues. It stores the point found once they are found once.

EDIT: Working great :)


Runaways v0.4!
<=----------- Daemonheim Superheater ----------=>
| Running for: 1 Hours, 20 Minutes and 43 Seconds
| Superheated: 1237 steel bars
| Magic XP gained: 65561 XP
| Smithing XP gained: 21648 XP
<=---------------------------------------------=>

911killer910

2012-06-30 16:16:14

This is me running v0.3 last night, v0.4 was being buggy, excited to try out v0.45!

Runaways v0.3!
<=———– Daemonheim Superheater ———-=>
| Running for: 6 hours, 59 seconds
| Superheated: 4767 steel bars
| Magic XP gained: 252651 XP
| Smithing XP gained: 83422 XP
<=———————————————=>

Runaway

2012-07-01 00:32:00

From: 911killer910
This is me running v0.3 last night, v0.4 was being buggy, excited to try out v0.45!

Runaways v0.3!
<=———– Daemonheim Superheater ———-=>
| Running for: 6 hours, 59 seconds
| Superheated: 4767 steel bars
| Magic XP gained: 252651 XP
| Smithing XP gained: 83422 XP
<=———————————————=>


I think I've fixed those bug in v0.45 :) And I've added this to the top reports!

PS: I uploaded v0.45 with a few errors, re-download if you haven't already!

kazzos

2012-07-01 04:15:23

v0.45 kept giving me either could not find nature runes or fire staff/ring not equipped.

creedgaming

2012-07-01 05:10:37

From: kazzos
v0.45 kept giving me either could not find nature runes or fire staff/ring not equipped.


Couldnt get it to work @ West varrock bank…

Runaway

2012-07-01 11:59:21

From: kazzos
v0.45 kept giving me either could not find nature runes or fire staff/ring not equipped.


From: creedgaming
Couldnt get it to work @ West varrock bank…


There are 3 possibilities for this:

- The colors have changed (highly doubt this)
- You started the script with the bank open
- It is not opening the equipment / spell tabs before giving those errors

any of those?

creedgaming

2012-07-01 17:47:47

From: Runaway
There are 3 possibilities for this:

- The colors have changed (highly doubt this)
- You started the script with the bank open
- It is not opening the equipment / spell tabs before giving those errors

any of those?


Script possibly isn't finding the Natures or Fire staff equiped…. Just a guess…

kazzos

2012-07-01 18:42:34

From: Runaway
There are 3 possibilities for this:

- The colors have changed (highly doubt this)
- You started the script with the bank open
- It is not opening the equipment / spell tabs before giving those errors

any of those?


Unfortunately I don't think any of these caused the script errors :(

Runaway

2012-07-01 18:55:14

From: creedgaming
Script possibly isn't finding the Natures or Fire staff equiped…. Just a guess…


From: kazzos
Unfortunately I don't think any of these caused the script errors :(


Ok, I guess I'll go into what causes those errors.

When the script says it can't find the ring or staff, this means that it cannot find the colors in the equipment slot coordinates. This error will only occur if the colors are off or the equipment tab is not open / cannot be opened.

When it says it can't find the nature runes, this means that it cannot find the superheat icon in the correct spot in the magic tab. So it will only occur if your spells are sorted improperly, you are in a members world but have it set to P2P = False, or the magic tab is not open / cannot be opened.

Double check all of the setup requirements and let me know which you think is the error. If you get the "out of nature runes" then there is no issue with the ring/staff colors since those must be found before it will continue.

PS: The script works perfectly for me; that said, I am F2P only and have no clue what things can change when in P2P. It would very well have something to do with that.

kazzos

2012-07-01 21:53:24

thanks for the detailed analysis runaway. I'll try to run the script on f2p and see how I go.

kazzos

2012-07-01 22:03:10

yep works great on f2p, for some reason gives start up errors on p2p.

Runaway

2012-07-02 13:53:08

From: kazzos
thanks for the detailed analysis runaway. I'll try to run the script on f2p and see how I go.


From: kazzos
yep works great on f2p, for some reason gives start up errors on p2p.


Ok great. It's good to know that I'm not just going crazy :)

911killer910

2012-07-03 11:33:06

Version v0.45 has been running pretty well, getting almost 700 more bars by the end of each session compared to v0.3
But this morning it started getting really stubborn in terms of being able to sense that the nature runes were in the first inventory slot. Any ideas?

Runaway

2012-07-03 11:56:21

From: 911killer910
Version v0.45 has been running pretty well, getting almost 700 more bars by the end of each session compared to v0.3
But this morning it started getting really stubborn in terms of being able to sense that the nature runes were in the first inventory slot. Any ideas?


Refer to this post: http://villavu.com/forum/showpost.php?p=1059672&postcount=109

"Out of nature runes" means it cannot locate the superheat icon. Most likely because you're in a P2P world, but don't have P2P enabled in the script setup.

911killer910

2012-07-03 15:15:56

From: Runaway
Refer to this post: http://villavu.com/forum/showpost.php?p=1059672&postcount=109

"Out of nature runes" means it cannot locate the superheat icon. Most likely because you're in a P2P world, but don't have P2P enabled in the script setup.


It senses that I have sufficient nature runes (after checking the correct superheat icon), but it will logout on "Place Nature Runes in first inventory slot" even when they are.

Runaway

2012-07-03 15:22:56

From: 911killer910
It senses that I have sufficient nature runes (after checking the correct superheat icon), but it will logout on "Place Nature Runes in first inventory slot" even when they are.


Ugh… That means the colors of the nature rune changed too much :/ If it continues to be a problem, you can do a Ctrl+F and search for "CheckInvColor(NatureColor, 1, 5)", and then replace the 5 with a 10.

OphielasRage

2012-07-04 22:54:29

Yes its working now after i changed what you said -Edit- after one inv of mithril it gave me the same error that im out of nats but i have 3.5k of them in first slot

Runaway

2012-07-04 23:11:45

From: OphielasRage
Yes its working now after i changed what you said -Edit- after one inv of mithril it gave me the same error that im out of nats but i have 3.5k of them in first slot


Have you checked this post?: http://villavu.com/forum/showpost.php?p=1059672&postcount=109

Most of the issues can be solved by running this on a F2P world.

Tlachtli

2012-07-06 22:45:15

I'm back from a week of vacation, and I'll be trying out 0.45 overnight. I'm glad you found my failsafes helpful :p

I was making a few modifications of my own (again), and I had a realization. Where I had been changing the GetInvData procedure to check for both the ore and coal in the inventory, so that:
Result := CheckInvColor(OreColor[0], MaxNum, 5);
became:
If CheckInvColor(OreColor[0], MaxNum, 5) and CheckInvColor(CoalColor, 28, 5) then
Result := True;
I realized that this breaks down when you try to use iron or gold. The basic idea I came up with to solve this involves putting a case statement for [iron/gold] and [not iron/gold] to determine whether or not to check for the coal color as well. I don't plan to use this script for either, so I won't script up a full solution to that.

This isn't much of a problem as it doesn't affect magic xp gain at all, and would only slightly affect profit margins as the error would only occur with the first load on script startup. This failsafe really only applies to steel making (where a lack of coal produces iron bars, where with other metals the superheat simply splashes), but nonetheless it may still be useful for a future update.

Runaway

2012-07-06 23:03:39

From: Tlachtli
I'm back from a week of vacation, and I'll be trying out 0.45 overnight. I'm glad you found my failsafes helpful :p

I was making a few modifications of my own (again), and I had a realization. Where I had been changing the GetInvData procedure to check for both the ore and coal in the inventory, so that:
Result := CheckInvColor(OreColor[0], MaxNum, 5);
became:
If CheckInvColor(OreColor[0], MaxNum, 5) and CheckInvColor(CoalColor, 28, 5) then
Result := True;
I realized that this breaks down when you try to use iron or gold. The basic idea I came up with to solve this involves putting a case statement for [iron/gold] and [not iron/gold] to determine whether or not to check for the coal color as well. I don't plan to use this script for either, so I won't script up a full solution to that.

This isn't much of a problem as it doesn't affect magic xp gain at all, and would only slightly affect profit margins as the error would only occur with the first load on script startup. This failsafe really only applies to steel making (where a lack of coal produces iron bars, where with other metals the superheat simply splashes), but nonetheless it may still be useful for a future update.


Ah yes, I had the same realization ;) I decided to implement the specific check at the end of the banking procedure (and if it returns false it deposits everything and starts over) using a few variables:


if CheckInvColor(OreColor[0], (2 + Bag), 5) and
CheckInvColor(OreColor[0], MaxNum, 5) and
CheckInvColor(OreColor[hOre], MaxCount, 5) then
begin

^ For superheating iron/gold, hOre is 0. But for all others hOre is 1 :) I appreciate that you posted this though!

Tlachtli

2012-07-06 23:07:36

Well, now I feel silly for missing that. I got too caught up in putting my solution in the GetInvData procedure and didn't think to look elsewhere for it :p

Anyways, the only suggestion I have left is in clicking to use the superheat spell. Instead of statically clicking the last ore every time, perhaps you could have it get the mouse coordinates after selecting the spell, then find the ore closest to where the mouse currently is. That seems the most human as it requires the least mouse movement.

Other than that, I'm all out. It runs smoothly and gives great progress reports. Nicely done!

Runaway

2012-07-06 23:11:55

From: Tlachtli
Well, now I feel silly for missing that. I got too caught up in putting my solution in the GetInvData procedure and didn't think to look elsewhere for it :p

Anyways, the only suggestion I have left is in clicking to use the superheat spell. Instead of statically clicking the last ore every time, perhaps you could have it get the mouse coordinates after selecting the spell, then find the ore closest to where the mouse currently is. That seems the most human as it requires the least mouse movement.

Other than that, I'm all out. It runs smoothly and gives great progress reports. Nicely done!


Haha it's all good, the reader of a script will never know as much about it as the writer :p

As for that last idea, me like! Definitely implementing that in the future. Thanks :)

Tlachtli

2012-07-15 21:58:03

Well, with some elbow grease I can say that this script can be made to work post-update. It doesn't seem to like the coal bag right now (misses the 'fill' option a lot), but if you disable the coal bag it will run normally.

Also, to address the glitch causing items to disappear in the bank I ended up commenting out most of the withdrawing part of the DoBanking procedure. I replaced it with a simple fix that uses static bank slots for the ore and coal. That way, it can still withdraw them even if they glitch and become invisible.

It seems that items present in your inventory at login will never glitch out in the inventory (they can still in the bank), so make sure to have at least one each of your ore, coal, and a bar present in your inventory when you log in.

Deni_mulic

2012-07-20 02:38:42

From: Tlachtli
Well, with some elbow grease I can say that this script can be made to work post-update. It doesn't seem to like the coal bag right now (misses the 'fill' option a lot), but if you disable the coal bag it will run normally.

Also, to address the glitch causing items to disappear in the bank I ended up commenting out most of the withdrawing part of the DoBanking procedure. I replaced it with a simple fix that uses static bank slots for the ore and coal. That way, it can still withdraw them even if they glitch and become invisible.

It seems that items present in your inventory at login will never glitch out in the inventory (they can still in the bank), so make sure to have at least one each of your ore, coal, and a bar present in your inventory when you log in.


Any chance I could steal that code segment off you? (The hard-coded bank slots part, mainly)

Tlachtli

2012-07-20 09:55:17

From: Deni_mulic
Any chance I could steal that code segment off you? (The hard-coded bank slots part, mainly)


PM'ed you.

710johnw

2012-07-20 14:48:39

could I get that as well? would love to use this, but i can not get this new client to work.

Tlachtli

2012-07-23 15:41:10

I just wanted to say thanks for the great script, and for helping me learn to script a little better myself!


911killer910

2012-08-08 20:14:49

The script seems to keep failing to compile, is it fixed? Perhaps it was with the update.

kevin33

2012-08-08 23:44:26

Ok here is the script. I used it yesterday and it works so yea. I know that Run will be fine with it because me and him talk all the time + its just a temp fix. When he is active again he will update it fully.

{=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=|
|=----------------------------------------------------------------------------=|
|= =|
|= Daemonheim Superheater v0.45 =|
|= =|
|= by: Runaway =|
|= =|
|=----------------------------------------------------------------------------=|
|= =|
|= This script superheats ores into bars at the Daemonheim bank. It =|
|= uses the unlimited teleports supplied by the dungeoneering ring =|
|= to return to the bank if anything goes wrong. =|
|= =|
|= How to use: =|
|= =|
|= 1) Fill out the setup below. =|
|= =|
|= 2) Place your character anywhere. =|
|= =|
|= 3) Equip: =|
|= - Ring of kinship =|
|= - Staff of fire =|
|= =|
|= 4) Place nature runes in the first slot of your inventory. =|
|= =|
|= 5) If using a coal bag, place it in the second slot of your =|
|= inventory. =|
|= =|
|= 6) Make sure the ores you're superheating are visible in =|
|= your bank. =|
|= =|
|= 7) Sort your spellbook by level and have all spells on. =|
|= =|
|= 8) Hit run! =|
|= =|
|= Requirements: =|
|= =|
|= 1) 43 Magic =|
|= =|
|=----------------------------------------------------------------------------=|
|=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=}

program DaemonheimSuperheater;

{$DEFINE SMART}
{$i SRL/SRL.simba}
{$i SRL/SRL/skill/magic.simba}

var
DungToBank: array[0..1] of array[0..1] of array of Integer;
SteelColor, MithrilColor, AdamantColor, RuneColor: array[0..1] of array of Integer;
OreColor: array of array of Integer;
Uptext, Option: array of array of String;
NPC, BankerColor, NatureColor, CoalBagColor, IronColor, CoalColor, GoldColor: array of Integer;
BankOre: TPointArray;
NPCColor, Superheated, KinColor, StaffColor, SpellColor, RockColor, SmithLevel, MaxCount,
MaxNum, hBank, hUptext, BankFilter, Bag, BagInv, Loop, Mems, t, cx, cy: Integer;
Previous, HeatTime, BankTime, Aligned, Heated, BagDone: Boolean;
BarXP: Extended;

{=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=|
|=-------------------------------=BEGIN-SETUP=--------------------------------=|
|=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=}

const
BarToSmelt = 'steel'; // Valid choices: iron, steel, gold, mithril, adamant, rune
UseCoalBag = False; // Valid with: steel, mithril, adamant, rune
UserPin = ''; // Leave blank if not using a pin
TimeToRun = 720; // Minutes to run the script for (0 to run until stopped)
P2P = False;

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

with Players[0] do
begin
Name := ''; // Player username
Pass := ''; // Player password
BoxRewards := ['XP', 'ostume', 'mote', 'oins', 'une', 'ssence'];
LampSkill := Skill_SMITHING;
Active := True;
end;
end;

procedure DeclareColors;
begin
// Only update if NPCs cannot be located \\
NPC := [2162687, 1900543, 1783370, 1702399, 1701113, 1505535, 1437694, 1374705, 1372665, 1244415, 1179647, 1179644, 1043199, 981753, 916991, 786430, 783103, 777964, 773595, 720883, 718847, 717815, 717567, 654579, 653311, 651775, 648667, 645348, 640979, 589823, 589311, 588280, 587000, 584957, 584171, 583916, 579817, 579802, 578776, 575448, 574407, 522732, 458751, 450798, 393210, 391151, 327667, 326911, 326385, 325112, 323558, 322788, 319972, 318418, 317648, 315603, 314049, 313279, 257009, 255470, 196604, 127367, 65522, 65233, 63478, 61670, 61439, 61150, 60651, 59355, 56781, 55511, 55014, 53474, 51142, 50645, 49105, 47302];

{=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=|
|=-------------------------------=END-SETUP=----------------------------------=|
|=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=}

BankerColor := [2968144, 5408402, 8609098]; // Main color first
NatureColor := [1342225, 7631993];
CoalBagColor := [5402771, 3890564];

RockColor := 3559010;
IronColor := [1515317, RockColor];
CoalColor := [1976104, RockColor];
SteelColor[0] := IronColor;
SteelColor[1] := CoalColor;
GoldColor := [1608365, RockColor];
MithrilColor[0] := [5453623, RockColor];
MithrilColor[1] := CoalColor;
AdamantColor[0] := [4015933, RockColor];
AdamantColor[1] := CoalColor;
RuneColor[0] := [5722435, RockColor];
RuneColor[1] := CoalColor;

DungToBank[0][0] := [15198705, 10132641, 13619672, 15461616]; // Colors
DungToBank[0][1] := [638, 38]; // Sort point
DungToBank[1][0] := [15920097, 15922418, 13223098];
DungToBank[1][1] := [619, 36];

KinColor := 3162439;
StaffColor := 1911757;
SpellColor := 228588;

MMBox := IntToBox(MMX1, MMY1, MMX2, MMY2);
MSBox := IntToBox(MSX1, MSY1, MSX2, MSY2);
end;

const
Version = '0.45';
WalkTol = 30;
WalkMaxDist = 25;
WalkFilter = 25;
WalkTrim = 1000;

procedure ProgressReport; forward;

procedure Currently(Doing: String);
begin
Status(Doing);
DebugLn(Doing);
end;

procedure Error(Reason: String);
begin
Currently(Reason);
WriteLn('ERROR: '+ Reason);
Logout;
TerminateScript;
end;

procedure SetupVars;
var
LevelReq, i: Integer;
begin
Currently('Gathering data...');
LevelReq := 0;
if (BarToSmelt = '') then
Error('Enter the bar you want to superheat!');
case Lowercase(BarToSmelt) of
'iron':
begin
LevelReq := 15; BarXP := 12.5; MaxCount := 28; MaxNum := 28;
SetLength(OreColor, 1); SetLength(Uptext, 2); SetLength(Option, 1);
OreColor[0] := IronColor;
Uptext[0] := ['ir', 'ron', 'on']; Option[0] := ['ll b', 'but', 'one'];
Uptext[1] := ['ir', 'ron', 'on', 'ba', 'ar'];
end;
'steel':
begin
LevelReq := 30; BarXP := 17.5;
if UseCoalBag then
begin
MaxCount := 28; MaxNum := 19;
SetLength(Option, 2); BagInv := 1;
Option[0] := ['17']; Option[1] := ['ll b', 'but', 'one'];
end else
begin
MaxCount := 28; MaxNum := 10;
SetLength(Option, 2); BagInv := 0;
Option[0] := ['9']; Option[1] := ['ll b', 'but', 'one'];
end;
SetLength(OreColor, 2); SetLength(Uptext, 3);
OreColor[0] := SteelColor[0]; OreColor[1] := SteelColor[1];
Uptext[0] := ['ir', 'ron', 'on'];
Uptext[1] := ['oa', 'oal', 'al'];
Uptext[2] := ['st', 'tee', 'el', 'ba', 'ar'];
end;
'gold':
begin
LevelReq := 40; BarXP := 22.5; MaxCount := 28; MaxNum := 28;
SetLength(OreColor, 1); SetLength(Uptext, 2); SetLength(Option, 1);
OreColor[0] := GoldColor;
Uptext[0] := ['ol', 'old', 'ld']; Option[0] := ['ll b', 'but', 'one'];
Uptext[1] := ['ol', 'old', 'ld', 'ba', 'ar'];
end;
'mithril':
begin
LevelReq := 50; BarXP := 30;
if UseCoalBag then
begin
MaxCount := 28; MaxNum := 12;
SetLength(Option, 2); BagInv := 2;
Option[0] := ['10']; Option[1] := ['ll b', 'but', 'one'];
end else
begin
MaxCount := 26; MaxNum := 6;
SetLength(Option, 2); BagInv := 0;
Option[0] := ['5']; Option[1] := ['20'];
end;
SetLength(OreColor, 2); SetLength(Uptext, 3);
OreColor[0] := MithrilColor[0]; OreColor[1] := MithrilColor[1];
Uptext[0] := ['ith', 'thr', 'ril'];
Uptext[1] := ['oa', 'oal', 'al'];
Uptext[2] := ['ith', 'thr', 'ril', 'ba', 'ar'];
end;
'adamant':
begin
LevelReq := 70; BarXP := 37.5;
if UseCoalBag then
begin
MaxCount := 28; MaxNum := 9;
SetLength(Option, 2); BagInv := 3;
Option[0] := ['7']; Option[1] := ['ll b', 'but', 'one'];
end else
begin
MaxCount := 22; MaxNum := 4;
SetLength(Option, 2); BagInv := 0;
Option[0] := ['3']; Option[1] := ['18'];
end;
SetLength(OreColor, 2); SetLength(Uptext, 3);
OreColor[0] := AdamantColor[0]; OreColor[1] := AdamantColor[1];
Uptext[0] := ['dam', 'man', 'tit'];
Uptext[1] := ['oa', 'oal', 'al'];
Uptext[2] := ['dam', 'man', 'tit', 'ba', 'ar'];
end;
'rune':
begin
LevelReq := 85; BarXP := 50;
if UseCoalBag then
begin
MaxCount := 28; MaxNum := 7;
SetLength(Option, 2); BagInv := 6;
Option[0] := ['5']; Option[1] := ['ll b', 'but', 'one'];
end else
begin
MaxCount := 28; MaxNum := 4;
SetLength(Option, 2); BagInv := 0;
Option[0] := ['3']; Option[1] := ['ll b', 'but', 'one'];
end;
SetLength(OreColor, 2); SetLength(Uptext, 3);
OreColor[0] := RuneColor[0]; OreColor[1] := RuneColor[1];
Uptext[0] := ['un', 'ni', 'ite'];
Uptext[1] := ['oa', 'oal', 'al'];
Uptext[2] := ['un', 'ni', 'ite', 'ba', 'ar'];
end;
end;
if (LevelReq = 0) then
Error('Invalid bar entered!');
if (SmithLevel < LevelReq) then
Error('Not a high enough level to superheat '+ BarToSmelt +' bars!');
Bag := 0;
Mems := 0;
if UseCoalBag then
Bag := 1;
if P2P then
Mems := 24;
SetLength(BankOre, (Length(OreColor) + 1));
hBank := High(BankOre);
for i := 0 to hBank do
BankOre[i] := Point(MSCX, MSCY);
hUptext := High(Uptext);
end;

function ColorWait(WaitTime, Color, Tol: Integer; Box: TBox): Boolean;
var
i, x, y: Integer;
begin
if not LoggedIn then Exit;
Result := False;
MarkTime(i);
repeat
Result := FindColorTolerance(x, y, Color, Box.x1, Box.y1, Box.x2, Box.y2, Tol);
if Result then
Break;
Wait(100+Random(50));
until(TimeFromMark(i) > WaitTime);
end;

function ColorWaitMulti(WaitTime: Integer; Colors: TIntegerArray; Box: TBoxArray; Strict: Boolean): Boolean;
var
hColors, Res, i: Integer;
begin
if not LoggedIn then Exit;
Result := False;
Res := 0;
hColors := High(Colors);
for i := 0 to hColors do
begin
if ColorWait(WaitTime, Colors[i], 15, Box[i]) then
Inc(Res);
end;
if Strict then
begin
if (Res > hColors) then
Result := True;
end else
begin
if (Res > 0) then
Result := True;
end;
end;

procedure WaitLoggedIn(WaitTime: Integer);
var
HPBox: TBox;
begin
HPBox := IntToBox(695, 19, 718, 42);
while not ColorWait(WaitTime, 143319, 10, HPBox) do
Wait(WaitTime);
end;

function FindTPointCluster(Colors: TIntegerArray; Tol: Integer; SortFrom: TPoint; Filter, Trim, MaxDist: Integer; Box: TBox): TPointArray;
var
aPoints: T2DPointArray;
TPA: TPointArray;
hPoints, hColors: Integer;
cError, Len, Match: Integer;
t, r, i, ii: Integer;
begin
MarkTime(t);
SetLength(aPoints, Length(Colors));
hColors := High(Colors);
cError := 0;
r := 0;
for i := 0 to hColors do
begin
if (FindColorsTolerance(TPA, Colors[i], Box.x1, Box.y1, Box.x2, Box.y2, Tol)) then
begin
SortTPAFrom(TPA, SortFrom);
if (Filter <> -1) then
FilterPointsDist(TPA, 0, Filter, SortFrom.x, SortFrom.y);
if (Trim <> -1) and (Length(TPA) > Trim) then
SetLength(TPA, Trim);
aPoints[i - cError] := TPA;
end else
begin
Len := Length(aPoints) - 1;
SetLength(aPoints, Len);
Inc(cError);
end;
if (cError >= 1) then
Exit;
end;
hPoints := High(aPoints);
for i := 0 to High(aPoints[0]) do
begin
Match := 0;
for ii := 1 to hPoints do
begin
if NearbyPointInArray(aPoints[0][i], MaxDist, aPoints[ii]) then
begin
Inc(Match);
if (Match >= hPoints) then
begin
SetLength(Result, r + 1);
Result[r] := aPoints[0][i];
Inc(r);
end;
end else
Break;
end;
end;
SortTPAFrom(Result, SortFrom);
end;

function CheckInvColor(Color: TIntegerArray; Slot, Tol: Integer): Boolean;
var
TPA: TPointArray;
tSlot: TBox;
begin
if not LoggedIn then Exit;
Result := False;
tSlot := InvBox(Slot);
if ExistsItem(Slot) then
begin
TPA := FindTPointCluster(Color, Tol, Point(tSlot.x1, tSlot.y1), -1, -1, 20, tSlot);
Result := (Length(TPA) > 0);
end;
end;

function TabWait(WaitTime, Tab: Integer): Boolean;
var
i: Integer;
begin
if not LoggedIn then Exit;
Result := False;
MarkTime(i);
repeat
Result := (GetCurrentTab = Tab);
if Result then
Break;
Wait(100+Random(50));
until(TimeFromMark(i) > WaitTime);
end;

function GetInvData: Boolean;
begin
if not LoggedIn then Exit;
GameTab(tab_INV);
TabWait(1000, tab_INV);
Result := False;
HeatTime := False;
BankTime := False;
Result := CheckInvColor(OreColor[0], MaxNum, 5);
if Result then
HeatTime := True
else
BankTime := True;
end;

procedure Calibrate;
begin
if not LoggedIn then Exit;
ClickNorth(2);
KeyDown(VK_UP);
Wait(450+Random(100));
KeyUp(VK_UP);
end;

function Antiban: Boolean;
begin
if not LoggedIn then Exit;
Result := False;
FindNormalRandoms;
case Random(1600) of
1: begin Currently('Antiban...'); PickUpMouse; end;
2: begin Result := True; Currently('Antiban...'); BoredHuman; Calibrate; end;
3: begin Result := True; Currently('Antiban...'); RandomAngle(1); Calibrate; end;
4: begin Currently('Antiban...'); Wait(1000+Random(2500)); end;
5,6: begin Currently('Antiban...'); Wait(4000+Random(1000)); end;
7,8,9,10: begin Result := True; Currently('Antiban...'); RandomMovement; Calibrate; end;
end;
end;

procedure SetupPlay;
var
StaffBox, KinBox: TBox;
begin
if not LoggedIn then Exit;
StaffBox := IntToBox(572, 291, 600, 318);
KinBox := IntToBox(683, 371, 713, 386);
Currently('Setting up player...');
GameTab(tab_EQUIP);
TabWait(1000, tab_EQUIP);
if ColorWaitMulti(1000, [StaffColor, KinColor], [StaffBox, KinBox], True) then
Currently('Found staff of fire and ring of kinship!')
else
Error('Equip staff of fire and ring of kinship!');
GameTab(tab_STATS);
TabWait(1000, tab_STATS);
SmithLevel := GetSkillLevel(SKILL_SMITHING);
GameTab(tab_Magic);
TabWait(1000, tab_MAGIC);
SetSpellMode(True, True, True, True);
SortBook(BOOKSORT_LEVEL);
GameTab(tab_INV);
TabWait(1000, tab_INV);
if CheckInvColor(NatureColor, 1, 5) then
Currently('Found nature runes in first slot!')
else
Error('Place nature runes in first slot of inventory!');
if UseCoalBag then
begin
if CheckInvColor(CoalBagColor, 2, 10) then
Currently('Found coal bag in second slot!')
else
Error('Place coal bag in second slot of inventory!');
end;
end;

function Teleport(Which: String; Tries: Integer): Boolean;
var
CoordBox, ClanBox: TBox;
Color, i, x, y: Integer;
Area: String;
Clan: Boolean;
begin
if not LoggedIn then Exit;
case Lowercase(Which) of
'dung':
begin
Color := KinColor; CoordBox := IntToBox(683, 371, 713, 386); Clan := False;
Area := 'daemonheim';
end;
end;
i := 0;
repeat
AntiBan;
Currently('Teleporting to '+ Area +': Attempt '+ IntToStr(i + 1) +'...');
GameTab(tab_EQUIP);
TabWait(1000, tab_EQUIP);
if ColorWait(2000, Color, 10, CoordBox) then
begin
MouseTBox(CoordBox, mouse_right);
Result := WaitOptionMulti(['ele','port'], 2000);
if Result then
begin
{if Clan then
begin
ClanBox := IntToBox(223, 402, 298, 411);
if ColorWait(2000, 2169874, 10, ClanBox) then
MouseTBox(ClanBox, mouse_left);
Break;
end;}
Break;
end else
begin
GetMousePos(x, y);
MMouse((x+RandomRange(-30,30)), (y-50-Random(50)), 5, 5);
Wait(250+Random(250));
end;
end;
Inc(i);
until(i > Tries);
GameTab(tab_INV);
if Result then
Currently('Teleported to '+ Area +'!')
else
Currently('Failed to teleport to '+ Area +'!');
end;

function AtArea(Which: String; WaitTime: Integer): Boolean;
var
aTPA: T2DPointArray;
TPA: TPointArray;
Color: array of Integer;
t, i: Integer;
Area: String;
begin
if not LoggedIn then Exit;
case Lowercase(Which) of
'dung':
begin
Color := [6251366, 15525876, 10986156, 13550787];
Area := 'daemonheim';
end;
'bank':
begin
Color := [15526372, 14144976, 5263951, 2413294, 9002045, 262643];
Area := 'the bank';
end;
end;
MarkTime(i);
repeat
for t := 20 to 30 do
begin
Currently('Searching for '+ Area +': Tolerance is '+ IntToStr(t) +'...');
TPA := FindTPointCluster(Color, t, Point(MMCX, MMCY), -1, -1, 100, MMBox);
aTPA := SplitTPA(TPA, 100);
if (Length(aTPA) > 0) then
begin
Result := True;
Currently('At '+ Area +'!');
Break;
end;
Wait(200+Random(50));
end;
until(i > WaitTime);
end;

procedure WaitMoving(WaitTime: Integer);
var
t: Integer;
begin
MarkTime(t);
while IsMoving or FlagPresent do
begin
if (TimeFromMark(t) > WaitTime) then
Exit;
Wait(200);
end;
end;

function GetNPCDotColor: Boolean;
var
aTPA: T2DPointArray;
TPA: TPointArray;
Color: array of Integer;
i: Integer;
begin
if not LoggedIn then Exit;
Currently('Grabbing NPC dot color...');
Result := False;
for i := 0 to High(NPC) do
begin
Color := [NPC[i], 65536];
TPA := FindTPointCluster(Color, 5, Point(MMCX, MMCY), -1, -1, 5, MMBox);
aTPA := SplitTPA(TPA, 10);
if (Length(aTPA) > 0) then
begin
Result := True;
NPCColor := NPC[i];
Break;
end;
end;
if Result then
Currently('Found NPC color: '+ IntToStr(NPCColor))
else
Error('NPC color not found! See thread for fix.');
end;

procedure AlignWalking(Which: String; WaitTime: Integer);
var
aTPA: T2DPointArray;
TPA: TPointArray;
CustomMMBox: TBox;
Color, Points: array of Integer;
ArrFilter, i, x, y: Integer;
begin
if not LoggedIn then Exit;
case Lowercase(Which) of
'bank':
begin
Color := [NPCColor, 65536]; Points := [627, 69];
ArrFilter := -1;
end;
end;
CustomMMBox := IntToBox(MMX1, (MMCY - 40), (MMCX + 12), MMY2);
Currently('Aligning walk path...');
Aligned := False;
MarkTime(i);
repeat
TPA := FindTPointCluster(Color, 10, Point(MMCX, MMCY), ArrFilter, -1, 20, CustomMMBox);
aTPA := SplitTPA(TPA, 10);
if (Length(aTPA) > 0) then
begin
x := MiddleTPA(aTPA[0]).x;
y := MiddleTPA(aTPA[0]).y;
cx := Points[0] - x;
cy := Points[1] - y;
Currently('Altered walk path by: ('+IntToStr(cx)+', '+IntToStr(cy)+')');
Aligned := True;
Break;
end;
until(TimeFromMark(i) > WaitTime);
end;

function WalkTo(Which: String): Boolean;
var
Arr: array of array of array of Integer;
aTPA: T2DPointArray;
TPA: TPointArray;
P: TPoint;
hArr, c, i, t, h: integer;
Current: Boolean;
Area: String;
begin
if not LoggedIn then Exit;
h := 0;
case Lowercase(Which) of
'bank':
begin
SetLength(Arr, Length(DungToBank));
for i := 0 to High(Arr) do
begin
SetLength(Arr[i], 2);
Arr[i][0] := DungToBank[i][0];
if Aligned then
h := 17;
Arr[i][1] := [DungToBank[i][1][0] - cx + h, DungToBank[i][1][1] - cy];
cx := 0;
cy := 0;
end;
Area := 'bank';
end;
end;
hArr := High(Arr);
MakeCompass('n');
for c := 0 to hArr do
begin
Current := False;
for i := 0 to 10 do
begin
Currently('Walking to '+ Area +' ('+ IntToStr(c + 1) +' of '+ IntToStr(Length(Arr)) +'): Tolerance is '+ IntToStr(WalkTol + i) +'...');
TPA := FindTPointCluster(Arr[c][0], (WalkTol + i), Point(Arr[c][1][0], Arr[c][1][1]), WalkFilter, WalkTrim, WalkMaxDist, MMBox);
aTPA := SplitTPA(TPA, WalkMaxDist);
if (Length(aTPA) > 0) then
begin
for t := 0 to High(aTPA) do
begin
P := MiddleTPA(aTPA[t]);
if (not rs_OnMinimap(P.x, P.y)) then
Continue;
Mouse(P.x, P.y, 3, 3, mouse_left);
Wait(1000+Random(500));
WaitMoving(15000);
if (c = hArr) then
begin
Result := True;
Exit;
end;
Current := True;
Break;
end;
if Current then
Break;
end;
Wait(100+Random(50));
end;
AntiBan;
end;
end;

function BankOpened: Boolean;
var
Box: TBox;
begin
if not LoggedIn then Exit;
Box := IntToBox(464, 28, 477, 42);
Result := ColorWait(2000, 5005673, 10, Box);
end;

procedure BankAdjust(Min: Integer);
var
TPA: TPointArray;
SymbolColor: array of Integer;
P, Diff, Mid: TPoint;
Dist: Integer;
begin
if not LoggedIn then Exit;
SymbolColor := [2413294, 12632256, 65536];
TPA := FindTPointCluster(SymbolColor, 10, Point(MMCX, MMCY), -1, -1, 10, MMBox);
if (Length(TPA) >= Min) then
begin
P := MiddleTPA(TPA);
Dist := Distance(P.x, P.y, MMCX, MMCY);
if (Dist > 20) then
begin
Diff := Point(P.x - MMCX, P.y - MMCY);
Mid := Point(((Diff.x / 2) + MMCX), ((Diff.y / 2) + MMCY));
Mouse(Mid.x, Mid.y, 2, 2, mouse_left);
Currently('Moving closer to bank...');
Wait(500+Random(500));
WaitMoving(5000);
Exit;
end else
begin
Currently('Close enough to bank...');
Exit;
end;
end else
Currently('Could not find bank symbol...');
end;

function OpenDungBank: Boolean;
var
aTPA: T2DPointArray;
TPA: TPointArray;
P: TPoint;
CustomMSBox: TBox;
c, t, i: Integer;
begin
if not LoggedIn then Exit;
CustomMSBox := IntToBox(MSX1, MSY1, MSCX + 110, MSY2);
BankAdjust(4);
TabWait(1000, tab_INV);
for c := 25 to 35 do
begin
Currently('Opening bank: Tolerance is '+ IntToStr(c) +'...');
TPA := FindTPointCluster(BankerColor, c, BankOre[hBank], 180, -1, 50, CustomMSBox);
aTPA := TPAToATPA(TPA, 60);
if (Length(aTPA) > 0) then
begin
SortATPAFromMidPoint(aTPA, Point((MSCX - 150), MSCY));
for t := 0 to High(aTPA) do
begin
P := MiddleTPA(aTPA[t]);
MMouse(P.x, P.y, 3, 3);
Wait(300+Random(100));
if WaitUptextMulti(['remen', 'nnik', 'anker'], 500) then
begin
ClickMouse2(mouse_right);
if WaitOption('ank Fr', 1000) then
begin
Wait(500+Random(500));
MarkTime(i);
repeat
Result := BankOpened or PinScreen;
if Result then
begin
BankOre[hBank] := Point(P.x, P.y);
Break;
end;
Wait(200+Random(50));
until(TimeFromMark(i) > 5000);
if Result then
begin
Currently('Bank opened!');
Exit;
end else
Currently('Failed to open bank!');
end;
end;
if (t >= 2) then
Break;
end;
end;
end;
if not Result then
Currently('Failed to open bank!');
end;

function HandleCoalBag: Boolean;
var
aTPA: T2DPointArray;
TPA: TPointArray;
Time, x, y, t, i: Integer;
Slot: TBox;
begin
if not LoggedIn then Exit;
Result := False;
Currently('Filling coal bag...');
MarkTime(Time);
repeat
TPA := FindTPointCluster(OreColor[1], 10, BankOre[1], BankFilter, -1, 15, MSBox);
aTPA := SplitTPA(TPA, 20);
if (Length(aTPA) > 0) then
begin
for t := 0 to High(aTPA) do
begin
x := MiddleTPA(aTPA[t]).x;
y := MiddleTPA(aTPA[t]).y;
MMouse(x, y, 3, 3);
Wait(300+Random(100));
if WaitUptextMulti(Uptext[1], 400) then
begin
Mouse(x, y, 0, 0, mouse_right);
if WaitOptionMulti(Option[1], 1000) then
begin
BankOre[1] := Point(x, y);
Result := True;
Wait(400+Random(300));
Break;
end;
end else
begin
if (BankOre[1] <> Point(MSCX, MSCY)) then
begin
Mouse(x, y, 0, 0, mouse_right);
if WaitOptionMulti(Option[1], 1000) then
begin
BankOre[1] := Point(x, y);
Result := True;
Wait(400+Random(300));
Break;
end;
end;
end;
end;
end;
if Result then
begin
Slot := InvBox(2);
MouseBox(Slot.x1, Slot.y1, Slot.x2, Slot.y2, mouse_right);
if WaitOption('ill', 1000) then
begin
Currently('Coal bag filled!');
Wait(400+Random(300));
BagDone := True;
Break;
end;
end;
until(TimeFromMark(Time) > (20 * 1000));
Currently('Depositing excess coal...');
for i := (2 + Bag) to 28 do
begin
if (InvCount < (2 + Bag + BagInv)) then
Break;
if ExistsItem(i) then
begin
Slot := InvBox(i);
MouseBox(Slot.x1, Slot.y1, Slot.x2, Slot.y2, mouse_move);
if WaitUptextMulti(Uptext[hUptext], 200) then
begin
ClickMouse2(mouse_right);
WaitOptionMulti(['ll', 'epo', 'osit'], 1000);
Wait(150+Random(150));
end else
begin
if (i <= MaxNum) then
begin
ClickMouse2(mouse_right);
WaitOptionMulti(['ll', 'epo', 'osit'], 1000);
Wait(150+Random(150));
end else
ClickMouse2(mouse_left);
end;
Wait(400+Random(400));
end;
end;
Currently('Excess coal deposited!');
if not BagDone then
Currently('Failed to fill coal bag...');
end;

function DoBanking: array of Boolean;
var
Tries, hOre, Time1, Time2, h, r, t, i, x, y: Integer;
aTPA: T2DPointArray;
TPA: TPointArray;
tSlot: TBox;
Primary: Boolean;
begin
if not LoggedIn then Exit;
BagDone := False;
if (PinScreen and (UserPin <> '')) then
InPin(UserPin);
if BankOpened then
begin
r := 0;
Primary := False;
SetLength(Result, Length(OreColor));
Currently('Depositing '+ BarToSmelt +' bars...');
MarkTime(Time1);
repeat
if (InvCount < (2 + Bag + BagInv)) then
Break
else
begin
for i := (2 + Bag) to 28 do
begin
if (InvCount < (2 + Bag + BagInv)) then
Break;
if ExistsItem(i) then
begin
tSlot := InvBox(i);
MouseTBox(tSlot, mouse_move);
if WaitUptextMulti(Uptext[hUptext], 200) then
begin
ClickMouse2(mouse_right);
WaitOptionMulti(['ll', 'epo', 'osit'], 1000);
Wait(150+Random(150));
end else
begin
if (i <= MaxNum) then
begin
ClickMouse2(mouse_right);
WaitOptionMulti(['ll', 'epo', 'osit'], 1000);
Wait(150+Random(150));
end else
MouseTBox(tSlot, mouse_left);
end;
Wait(400+Random(400));
end;
end;
end;
until((InvCount < (2 + Bag + BagInv)) or (TimeFromMark(Time1) > (30 * 1000)));
Wait(500+Random(250));
if (InvCount < (2 + Bag + BagInv)) then
Currently('Deposited '+ BarToSmelt +' bars!')
else
Error('Failed to bank '+ BarToSmelt +' bars!');
r := 0;
Currently('Withdrawing ores...');
MarkTime(Time2);
hOre := High(OreColor);
repeat
if (UseCoalBag and not BagDone) then
HandleCoalBag;
for h := 0 to hOre do
begin
Result[h] := False;
if ((h > 0) and not Primary) then
Break;
if ((h = 0) and Primary) then
Break;
TPA := FindTPointCluster(OreColor[h], 5, BankOre[h], BankFilter, -1, 15, MSBox);
aTPA := SplitTPA(TPA, 20);
if (Length(aTPA) > 0) then
begin
for t := 0 to High(aTPA) do
begin
x := MiddleTPA(aTPA[t]).x;
y := MiddleTPA(aTPA[t]).y;
MMouse(x, y, 3, 3);
Wait(300+Random(100));
if WaitUptextMulti(Uptext[h], 400) then
begin
if ((Option[h][0] = '3') and (MaxCount < 28)) then
begin
Tries := 0;
repeat
ClickMouse2(mouse_left);
Wait(400+Random(400));
if CheckInvColor(OreColor[0], MaxNum, 5) then
begin
Result[h] := True;
BankOre[h] := Point(x, y);
if (h = 0) then
Primary := True;
Break;
end else
Inc(Tries);
until(Tries > 4);
end else
begin
ClickMouse2(mouse_right);
if WaitOptionMulti(Option[h], 1000) then
begin
Result[h] := True;
BankOre[h] := Point(x, y);
if (h = 0) then
Primary := True;
Wait(400+Random(300));
if Result[hOre] then
Break;
end else
begin
Mouse(x, y, 0, 0, mouse_right);
if WaitOption('X', 1000) then
begin
Wait(1500+Random(1000));
TypeSendEx(Option[h][0], True);
Result[h] := True;
BankOre[h] := Point(x, y);
if (h = 0) then
Primary := True;
Wait(400+Random(300));
Break;
end;
end;
end;
end else
begin
if (BankOre[h] <> Point(MSCX, MSCY)) then
begin
ClickMouse2(mouse_right);
if WaitOptionMulti(Option[h], 1000) then
begin
Result[h] := True;
BankOre[h] := Point(x, y);
if (h = 0) then
Primary := True;
Wait(400+Random(300));
if Result[hOre] then
Break;
end;
end;
end;
end;
TPA := [];
end;
if Result[hOre] then
Break;
end;
if (InvCount >= MaxCount) then
begin
if CheckInvColor(OreColor[0], (2 + Bag), 5) and
CheckInvColor(OreColor[0], MaxNum, 5) and
CheckInvColor(OreColor[hOre], MaxCount, 5) then
begin
Break;
end else
begin
for i := (2 + Bag) to 28 do
begin
if ExistsItem(i) then
begin
tSlot := InvBox(i);
MouseTBox(tSlot, mouse_right);
if WaitOptionMulti(['ll', 'epo', 'osit'], 1000) then
begin
Wait(300+Random(100));
Continue;
end;
end;
end;
Primary := False;
end;
end;
until(TimeFromMark(Time2) > (30 * 1000));
Wait(500+Random(250));
if (InvCount >= MaxCount) then
begin
if not CheckInvColor(OreColor[hOre], MaxCount, 5) then
Error('Not enough ores!');
Currently('Withdrew ores!');
CloseBank;
end else
Error('Not enough ores!');
if (BankOre[h] <> Point(MSCX, MSCY)) then
BankFilter := 25;
end;
end;

function ChooseSpell: Boolean;
var
Time: Integer;
SpellBox: TBox;
begin
if not LoggedIn then Exit;
Result := False;
SpellBox := IntToBox(616 + Mems, 322, 627 + Mems, 332);
MarkTime(Time);
repeat
if not TabWait(2000, tab_MAGIC) then
GameTab(tab_MAGIC);
if ColorWait(2000, SpellColor, 10, SpellBox) then
begin
Wait(150+Random(50));
MouseTBox(SpellBox, mouse_left);
Result := True;
Break;
end;
until(TimeFromMark(Time) > 5000);
end;

function Superheat(Slot: Integer): Boolean;
var
Tries: Integer;
tSlot: TBox;
begin
if not LoggedIn then Exit;
Tries := 0;
Result := False;
if Previous then
begin
if not ChooseSpell then
Error('Out of nature runes!');
Wait(225+Random(100));
end;
repeat
if (Antiban and not Heated) then
ChooseSpell;
if CheckInvColor(OreColor[0], Slot, 5) then
begin
tSlot := InvBox(MaxNum);
Currently('Superheating: Slot '+ IntToStr(Slot) +'...');
MouseTBox(tSlot, mouse_left);
if (Slot = MaxNum) then
Heated := True;
Result := True;
Previous := True;
Wait(225+Random(100));
Exit;
end else
Inc(Tries);
until(Tries > 1);
if (Tries > 1) then
Previous := False;
end;

procedure HeatProc;
var
i: Integer;
begin
if HeatTime then
begin
for i := (2 + Bag) to MaxNum do
begin
if Heated then
Break;
if Superheat(i) then
begin
Inc(Superheated);
ProgressReport;
end;
end;
Wait(300+Random(100));
GameTab(tab_INV);
TabWait(1000, tab_INV);
if CheckInvColor(OreColor[0], MaxNum, 5) then
Heated := False;
end;
end;

procedure BankProc;
var
c, t, i: Integer;
begin
if BankTime then
begin
if AtArea('bank', 5000) then
begin
MarkTime(c);
repeat
if OpenDungBank then
begin
DoBanking;
Heated := False;
Previous := True;
end else
begin
Wait(500+Random(500));
Antiban;
end;
GetInvData;
until(HeatTime or (TimeFromMark(c) > (20 * 1000)));
end else
begin
if Teleport('dung', 2) then
begin
MarkTime(t);
Wait(6000+Random(3000));
repeat
if AtArea('dung', 1000) then
Break;
Wait(500+Random(250));
Antiban;
until(TimeFromMark(t) > 12000);
end;
if AtArea('dung', 2000) then
begin
Calibrate;
GetNPCDotColor;
AlignWalking('bank', 5000);
WalkTo('bank');
MarkTime(i);
repeat
if AtArea('bank', 1000) then
Break;
Wait(500+Random(250));
Antiban;
until(TimeFromMark(i) > 5000);
BankOre[hBank] := Point(MSCX, MSCY);
end;
end;
end;
end;

procedure HeatLoop(Tries: Integer);
var
i: Integer;
begin
i := 0;
repeat
if (i > 0) then
begin
if Heated then Exit;
Currently('Trying again...');
end;
GetInvData;
if BankTime then
Exit;
HeatProc;
GetInvData;
Inc(i);
until(BankTime or (i > Tries));
if (HeatTime or (not BankTime)) then
Error('Superheating messed up!');
end;

procedure BankLoop(Tries: Integer);
var
i: Integer;
begin
i := 0;
repeat
if (i > 0) then
begin
Currently('Trying again...');
Calibrate;
end;
GetInvData;
if HeatTime then
Exit;
BankProc;
GetInvData;
Inc(i);
until(HeatTime or (i > Tries));
if (BankTime or (not HeatTime)) then
Error('Banking messed up!');
end;

procedure ProgressReport;
begin
ClearDebug;
WriteLn(' Runaways v'+ Version +'!');
WriteLn('<=----------- Daemonheim Superheater ----------=>');
WriteLn('| Running for: '+ TimeRunning);
WriteLn('| Superheated: '+ IntToStr(Superheated) +' '+ BarToSmelt +' bars');
WriteLn('| Magic XP gained: '+ IntToStr(Superheated * 53) +' XP');
WriteLn('| Smithing XP gained: '+ IntToStr(Round(Superheated * BarXP)) +' XP');
WriteLn('<=---------------------------------------------=>');
end;

procedure SetupScript;
begin
ClearDebug;
Superheated := 0;
Previous := True;
Heated := False;
BankFilter := -1;
Currently('Setting up Script...');
{$IFDEF SIMBAMAJOR980}//<--- THIS
Smart_Server := 0;
Smart_Members := False;
Smart_Signed := True;
Smart_SuperDetail := False;
{$ELSE}//<--- THIS
SRL_SIXHOURFIX := TRUE;
SMART_FIXSPEED := TRUE;
{$ENDIF}
SetupSRL;
SetupMagic;
DeclarePlayers;
DeclareColors;
ActivateClient;
if not LoggedIn then
LoginPlayer;
WaitLoggedIn(2000);
ProgressReport;
end;

begin
SetupScript;
MouseSpeed := (14 + Random(6));
SetupPlay;
SetupVars;
GetInvData;
SetChat('hide', 1);
Calibrate;
Loop := 0;
MarkTime(t);
if BankTime then
BankLoop(2);
repeat
HeatLoop(2);
if (Loop >= 10) then
begin
Calibrate;
Loop := 0;
end;
BankLoop(2);
Inc(Loop);
until((TimeToRun <> 0) and (TimeFromMark(t) > (TimeToRun * (60 * 1000))));
end.

the_mcroer

2012-08-10 06:16:40

Seems to work really great, although I got "ERROR: Not enough ores!" after 40 min.

Another thing is, when I smelt runite ores, as you know there are 7 coal remaining as leftovers. When banking, right after it deposits the bars, for some reason it deposits 1-2 of the 7 remaining coals (which is pointless), and then goes for the coal inside the bank to withdraw coal. This is time-consuming and can also look suspicious.

BGXD

2012-08-15 11:58:16

This script makes random event?
Or do not need?

the_mcroer

2012-08-16 04:02:16

used this script with steel bars and WOW!

Worked for around 4 hours and 30 minutes and made over 5k steel bars (lost proggy sorry) using coalbag.

However it aborted due to the same error as I got earlier: Not enough ores, Even though I had 2k steel bars left to make.

Another thing I noticed is that it can sometimes, in bank, keep shifting the mouse from the coal to the equipment stats many times, before it finally withdraws coal.

danth3g33k

2012-08-16 13:12:46

From: BGXD
This script makes random event?
Or do not need?


Random events do not appear in Daemonheim so there's no need to worry about handling them :D.

But do know that if you teleport back to an area that does such as varrock after this script has been running for an hour+ you will most likely get a random event.

Runaway

2012-08-22 13:34:59

Updated to v0.5! Tweaked some of the timings and it works with all Simba versions :)

Ian

2012-08-22 19:05:36

Hey Runaway, just tried v0.5, It checked if I had my staff and ring of kinship equipped and I did but it logged out after giving this:
<=----------- Daemonheim Superheater ----------=>
| Running for: 15 Seconds
| Superheated: 0 mithril bars
| Magic XP gained: 0 XP
| Smithing XP gained: 0 XP
<=---------------------------------------------=>
ERROR: Equip staff of fire and ring of kinship!
Successfully executed.

kevin33

2012-08-22 19:15:32

It used to do that before sometimes also. Have you tried reloading it a few times??

Ian

2012-08-22 22:40:06

Re-loaded it once but i'll be more persistent in the morning.

chief herb

2012-08-22 23:40:33

quick proggie, will post after another. tysm for the script!

Runaways v0.5!
<=———– Daemonheim Superheater ———-=>
| Running for: 6 Minutes and 42 Seconds
| Superheated: 98 steel bars
| Magic XP gained: 5194 XP
| Smithing XP gained: 1715 XP
<=———————————————=>

chief herb

2012-08-23 03:51:06

Runaways v0.5!
<=———– Daemonheim Superheater ———-=>
| Running for: 3 Hours, 31 Minutes and 16 Seconds
| Superheated: 3240 steel bars
| Magic XP gained: 171720 XP
| Smithing XP gained: 56700 XP
<=———————————————=>
ERROR: Not enough ores!
Successfully executed.

Scorched

2012-08-31 21:50:49

I seem to be getting the same error as chief herb.

The script will go ahead and work GREAT for awhile. The longest progress I have had is about 90 minutes. After a random point it will say "ERROR: Not enough ores!", although there are plenty of ores remaining. Otherwise, I cannot complain! :D

Does anyone know why this may be?

Ian

2012-09-04 12:29:30

I think the same happened to me after a few hours. Thank you runaway got from 60-68 smithing in a day or two! Last task for Explorer Ring 4: Check!

Runaway

2012-09-04 12:43:21

From: chief herb
Runaways v0.5!
<=———– Daemonheim Superheater ———-=>
| Running for: 3 Hours, 31 Minutes and 16 Seconds
| Superheated: 3240 steel bars
| Magic XP gained: 171720 XP
| Smithing XP gained: 56700 XP
<=———————————————=>
ERROR: Not enough ores!
Successfully executed.


From: Scorched
I seem to be getting the same error as chief herb.

The script will go ahead and work GREAT for awhile. The longest progress I have had is about 90 minutes. After a random point it will say "ERROR: Not enough ores!", although there are plenty of ores remaining. Otherwise, I cannot complain! :D

Does anyone know why this may be?


From: BMWxi
I think the same happened to me after a few hours. Thank you runaway got from 60-68 smithing in a day or two! Last task for Explorer Ring 4: Check!


Are you all using a coal bag? I don't get any errors like this when running it without one :o

the_mcroer

2012-09-05 14:31:50

From: Runaway
Are you all using a coal bag? I don't get any errors like this when running it :o


I got it even though I had coal bag. The weird thing is that it can run for a while before it aborts due to "not enough ores".

Another thing is that when superheating rune into bars, there is some coal remaining as leftovers. After depositing the bars, it also deposits 1-2 coals of the leftovers, into the bank, then withdraws all coal which makes the depositing useless and illogical which can look suspicious.
This happens when superheating runite ores.

Otherwise as I said earlier, really nice script.

litoris

2012-09-05 14:38:44

From: the_mcroer
I got it even though I had coal bag. The weird thing is that it can run for a while before it aborts due to "not enough ores".

Another thing is that when superheating rune into bars, there is some coal remaining as leftovers. After depositing the bars, it also deposits 1-2 coals of the leftovers, into the bank, then withdraws all coal which makes the depositing useless and illogical which can look suspicious.
This happens when superheating runite ores.

Otherwise as I said earlier, really nice script.


I remember that happening back when I ran this thing, I edited something out so that having 2 coal in the inventory was alright, so it didn't waste time depositing them and then withdrawing later.

Biggsymallone

2012-10-07 14:28:44

I'm getting this error with mithril bars.

<=———– Daemonheim Superheater ———-=>
| Running for: 1 Seconds
| Superheated: 0 mithril bars
| Magic XP gained: 0 XP
| Smithing XP gained: 0 XP
<=———————————————=>
ERROR: Place nature runes in first slot of inventory!
Successfully executed.

My Nature Runes are in the First slot, but it fails anyway.

Biggsymallone

2012-10-07 14:36:56

From: Biggsymallone
I'm getting this error with mithril bars.

<=———– Daemonheim Superheater ———-=>
| Running for: 1 Seconds
| Superheated: 0 mithril bars
| Magic XP gained: 0 XP
| Smithing XP gained: 0 XP
<=———————————————=>
ERROR: Place nature runes in first slot of inventory!
Successfully executed.

My Nature Runes are in the First slot, but it fails anyway.


NVM: I fixed it, i had 2025 nature runes in the first slot and it kept failing, so i removed the odd 25 nature runes and it worked, not sure why but its working!:)

footballjds

2012-10-08 13:27:42

seems a little choppy and bot like, but it works. :P

EDIT: it's fairly slow, :/ Also it thought it ran out of nats when i had 3k+ ah well, I guess i'll finish my super heater…

Runaway

2012-10-08 15:28:22

Yeah, it's pretty outdated :(

Not sure if I will be updating this or not.

GuthixBoss1

2012-10-13 13:54:52

 Runaways                                  v0.5!
<=----------- Daemonheim Superheater ----------=>
| Running for: 5 Hours, 42 Minutes and 6 Seconds
| Superheated: 6522 gold bars
| Magic XP gained: 345666 XP
| Smithing XP gained: 146745 XP
<=---------------------------------------------=>

GuthixBoss1

2012-10-13 13:56:09

Thanks a lot. (:

Jamnikx

2012-10-15 18:43:55

W[hy cant withdraw adamantite ores?
Me scripts:
program DaemonheimSuperheater;

{$DEFINE SMART}
{$I SRL/SRL.Simba}
{$I SRL/SRL/Skill/Magic.simba}

var
DungToBank: array[0..1] of array[0..1] of array of Integer;
SteelColor, MithrilColor, AdamantColor, RuneColor: array[0..1] of array of Integer;
OreColor: array of array of Integer;
Uptext, Option: array of array of String;
NPC, BankerColor, NatureColor, CoalBagColor, IronColor, CoalColor, GoldColor: array of Integer;
BankOre: TPointArray;
NPCColor, Superheated, KinColor, StaffColor, SpellColor, RockColor, SmithLevel, MaxCount,
MaxNum, hBank, hUptext, BankFilter, Bag, BagInv, Loop, Mems, t, cx, cy: Integer;
Previous, HeatTime, BankTime, Aligned, Heated, BagDone: Boolean;
BarXP: Extended;

{=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=|
|=——————————-=BEGIN-SETUP=——————————–=|
|=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=}

const
BarToSmelt = 'adamant'; // Valid choices: iron, steel, gold, mithril, adamant, rune
UseCoalBag = True; // Valid with: steel, mithril, adamant, rune
UserPin = ''; // Leave blank if not using a pin
TimeToRun = 360; // Minutes to run the script for (0 to run until stopped)
P2P = False;

I change UseCoalBag to False scripts work :(

nokkasiili

2012-11-06 08:30:18

Finally:p

Nose Smasher

2012-11-09 19:19:25

Works flawlessly. :)

 Runaways                                  v0.5!
<=----------- Daemonheim Superheater ----------=>
| Running for: 5 Hours, 28 Minutes and 36 Seconds
| Superheated: 5237 steel bars
| Magic XP gained: 277561 XP
| Smithing XP gained: 91648 XP
<=---------------------------------------------=>
Successfully executed.

Got another one still running as well ;)

Didn't want to double post but I found something:

When using mithril Simba has a hard time finding the number '20' when withdrawing coal, so I had to change option[1] = '20' to option[1] = '20', '-20 ', 'aw-20 ', 'w-2' <– You have to keep the first one (option[1][0]) set to '20' because that's the failsafe one that is entered in "withdraw-x"

bridges22

2012-11-17 05:22:41

Runaways v0.5!
<=———– Daemonheim Superheater ———-=>
| Running for: 1 Hours, 8 Minutes and 48 Seconds
| Superheated: 785 steel bars
| Magic XP gained: 41605 XP
| Smithing XP gained: 13738 XP
<=———————————————=>

Great script runs smoothly no problems so far :)

bradsm123

2012-11-29 14:54:37

is this compatible with the eoc update? i keep getting this.
<=———– Daemonheim Superheater ———-=>
| Running for: 1 Seconds
| Superheated: 0 steel bars
| Magic XP gained: 0 XP
| Smithing XP gained: 0 XP
<=———————————————=>
ERROR: Equip staff of fire and ring of kinship!
Successfully executed.
i have them equiped and have 2k nats in my bag.

mounty

2012-11-29 15:10:25

It probably wont be compatible as the magic menus were all changed. It wont be hard to make a quick fix fom it. I'm gonna be using this in the next few days so if you still havent fixed it and it hasnt been updated for EoC, give me a shout.

chief herb

2012-11-29 19:30:48

i need this aswell, have plenty of ores i mined. now i wanna superheat for freemagic exp

Rezozo

2012-11-29 22:58:03

Lol, took me a minute, but I got this working for me :p
You just have to take out the check for the ring and staff, change the color for the spellbook, and change the box for clicking it. That is it. Runs smoothly!
~Rez

Runaway

2012-11-30 01:42:58

Hola peeps!

If there's enough demand, I could possibly give this guy an official re-vamp… it's been a long time :o

Rezozo

2012-11-30 04:39:25

 Runaways                                  v0.5!
<=----------- Daemonheim Superheater ----------=>
| Running for: 5 Hours, 25 Minutes and 2 Seconds
| Superheated: 7592 gold bars
| Magic XP gained: 402376 XP
| Smithing XP gained: 170820 XP
<=---------------------------------------------=>
For now.
~Rez

chief herb

2012-11-30 05:26:46

From: Runaway
Hola peeps!

If there's enough demand, I could possibly give this guy an official re-vamp… it's been a long time :o


you won't;)

Rezozo

2012-11-30 06:33:33

From: chief herb
you won't;)


Why do you say that.
@RunAway. Not much needs changing.
Only the check/color for the staff and ring.
And the box area and color for the superheat tab.
~Rez

Ian

2012-11-30 07:39:23

From: Runaway
Hola peeps!

If there's enough demand, I could possibly give this guy an official re-vamp… it's been a long time :o


You're back! :) I just would like to thank you for all your flawless F2P scripts, I love them :D

and not much needs updating, it will be quick whoever does it :). Mine is already updated, but I'm sure others would appreciate it.

Rezozo

2012-11-30 16:09:01

Amen. Gettin some mad XP rates here. Mad profit too.
~Rez

Quest death2

2012-12-09 06:21:51

From: Rezozo
Lol, took me a minute, but I got this working for me :p
You just have to take out the check for the ring and staff, change the color for the spellbook, and change the box for clicking it. That is it. Runs smoothly!
~Rez


Plzzzzzzzzzzzzzzzzzz just post what exactly did u change in the script ASAp… cuz i know eoc superheating doesnt want much changes and this isnt working for me at all.. =( would really appreciate ur help…

Biggsymallone

2012-12-09 06:48:57

From: Runaway
Hola peeps!

If there's enough demand, I could possibly give this guy an official re-vamp… it's been a long time :o



Hell Yeah! - to the Re-vamp.:norris: My membership runs out today, going to need something to do :p - Used This when it was working Flawlessly, First Script i used on simba. :sasmokin:

Glad yah back, Hope you get it working again ;)

The_Dude

2012-12-10 00:31:44

Would love to see this running again! Got 99 magic with this script, going for smith now so I need to heat some more bars.

I'm no script writer, so even as easy as this fix is I'm sure I would mess it up more than I could fix it. Think you could pass along a working version until it's updated Rezozo?

dabomb01

2012-12-10 13:33:18

Forgive me if this was previously posted and I didn't notice when speedin through the thread (im walking out the door).

Been having issues with this thread for a lil while, havn't put any effort into figuring it out (kinda dropp'd off bottin since EOC release) —- anyways, the prog gets itself into a loop (steel) and starts producing iron bars ….. which takes up inventory space, messes up future bars etc ………. settings are on standard smart settings, and my brightness is max'd

dabomb01

2012-12-10 13:50:21

From: Biggsymallone
Hell Yeah! - to the Re-vamp.:norris: My membership runs out today, going to need something to do :p - Used This when it was working Flawlessly, First Script i used on simba. :sasmokin:

Glad yah back, Hope you get it working again ;)


This please now

Mr[S]

2012-12-25 05:30:26

I'm P2P but I need a good superheater atm

unknownrpg

2012-12-27 19:18:55

From: Mr[S]
I'm P2P but I need a good superheater atm


as do i +1 for revamp =)

danth3g33k

2013-01-16 00:45:14

From: Runaway
Hola peeps!

If there's enough demand, I could possibly give this guy an official re-vamp… it's been a long time :o


Are you still planning on updating this / adding support for the action bar ;D

Mr[S]

2013-01-16 02:44:05

From: danth3g33k
Are you still planning on updating this / adding support for the action bar ;D


He might, he might not, but atm there isn't enough demand for him to revamp it, if you get more people that want to use it then maybe he will make it work

Ashart1025

2013-01-29 11:32:44

I would use this script, update please :-)

Gucci

2013-01-29 12:28:08

From: Ashart1025
I would use this script, update please :-)


Doesn't seem like Runaway is active anymore so I doubt this will be updated.

The Killer

2013-01-29 14:27:58

From: Ashart1025
I would use this script, update please :-)


From: Gucci
Doesn't seem like Runaway is active anymore so I doubt this will be updated.


aye, you could try: http://villavu.com/forum/showthread.php?t=94389 ;)
If you are persistent on this bank however you will have to add support yourself (Isn't hard.) Though I can no longer even see any advantages of this bank…

Ian

2013-01-29 14:39:04

From: The Killer
aye, you could try: http://villavu.com/forum/showthread.php?t=94389 ;)
If you are persistent on this bank however you will have to add support yourself (Isn't hard.) Though I can no longer even see any advantages of this bank…


I tried that one, the profit margin was too low ;)

We need Runaway!

kevin33

2013-01-29 14:41:37

He is busy with school and another hobby for a while. He checks in every so often so maybe he will find some time to fix his scripts up.

Sjoe

2013-01-29 14:41:39

From: BMWxi
I tried that one, the profit margin was too low ;)

We need Runaway!


yeah this one is way better too than Killer's script
We need this updated!

Ashart1025

2013-03-05 12:34:32

From: Gucci
Doesn't seem like Runaway is active anymore so I doubt this will be updated.


Way to bash my hopes of getting 99 smithing :-(

catsrback321

2013-03-25 15:25:12

[Error] C:\Simba\Includes\SRL/SRL/misc/SmartParams.Simba(282:145): Invalid number of parameters at line 281
Compiling failed.