Author Topic: XIIxOveR's Miner For Dummies 3.0  (Read 242158 times)

0 Members and 2 Guests are viewing this topic.

Offline Nuscheltier

  • Jr. Member
  • **
  • Posts: 38
  • Activity:
    0%
  • Reputation Power: 1
  • Nuscheltier has no influence.
  • Respect: +4
  • Referrals: 0
    • View Profile
Re: XIIxOveR's Miner For Dummies 3.0
« Reply #510 on: December 22, 2020, 12:53:37 AM »
0
Hi,

Thank you for this nice script, it runs really smoothly!

I noticed that you have prospectortool type in the code, but as far as I can see it is not supported though? Or am I wrong here?

Best, N

Offline 12TimesOverTopic starter

  • Another Day, Another Vendetta
  • Global Moderator
  • *
  • *****
  • Posts: 3694
  • Activity:
    0%
  • Reputation Power: 41
  • 12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.
  • Gender: Male
  • Respect: +321
  • Referrals: 2
    • View Profile
Re: XIIxOveR's Miner For Dummies 3.0
« Reply #511 on: March 31, 2021, 10:35:54 AM »
0
Hi,

Thank you for this nice script, it runs really smoothly!

I noticed that you have prospectortool type in the code, but as far as I can see it is not supported though? Or am I wrong here?

Best, N
Sorry to miss this Nuscheltier, been a while since I've been active - just getting back into the swing of things again.

That was added for future support, I haven't actually released 4.0 yet but it will be supported then.

X
When they come for me I'll be sitting at my desk
     with a gun in my hand wearing a bulletproof vest
My, my, my how the time does fly
     when you know you're gonna die by the end of the night

Offline altiric

  • Jr. Member
  • **
  • Posts: 81
  • Activity:
    0%
  • Reputation Power: 2
  • altiric has no influence.
  • Respect: +4
  • Referrals: 1
    • View Profile
Re: XIIxOveR's Miner For Dummies 3.0
« Reply #512 on: April 13, 2021, 09:53:44 PM »
0
Utterly loved the concept of this script! Ended up hacking and slashing around your subs and turned it into a rail based system with fire beetle support. The beauty of it is i can add a new rail, then your script scans all the possible spots on the first run and every run after is quick and seamless. I also had an idea to better merge the recalling with rails so you can recall to a spot, run a full rail, then move on to the next one. With the current setup, i smelt as i go along, and only return home for a dropoff once i get near maxweight in raw ingots. Noticed a few things turned off with tile checking that are beyond my skills, was just wondering if this was an euo issue of something still being worked on, or never got finished.

Offline 12TimesOverTopic starter

  • Another Day, Another Vendetta
  • Global Moderator
  • *
  • *****
  • Posts: 3694
  • Activity:
    0%
  • Reputation Power: 41
  • 12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.
  • Gender: Male
  • Respect: +321
  • Referrals: 2
    • View Profile
Re: XIIxOveR's Miner For Dummies 3.0
« Reply #513 on: April 14, 2021, 03:05:33 AM »
0
Utterly loved the concept of this script! Ended up hacking and slashing around your subs and turned it into a rail based system with fire beetle support. The beauty of it is i can add a new rail, then your script scans all the possible spots on the first run and every run after is quick and seamless. I also had an idea to better merge the recalling with rails so you can recall to a spot, run a full rail, then move on to the next one. With the current setup, i smelt as i go along, and only return home for a dropoff once i get near maxweight in raw ingots. Noticed a few things turned off with tile checking that are beyond my skills, was just wondering if this was an euo issue of something still being worked on, or never got finished.
Nice! I thought about adding Fire Beetle but instead I just dropped out of existence for a long time :) I removed the tile checking because it really wasn't required based on the way the script works but I never fully deleted it from the script - I think the initial run speed could be improved if it checked the tile types first but that also means updating the list and last I knew there were tile issues in Ter Mur. There are still a few bugs related to ltargetkind in caves but nothing related to tile types.

With the Fire Beetle going, what are you getting for total ingots per hour or day? Also, do you have any issues with this locking up after running for a while?

X
When they come for me I'll be sitting at my desk
     with a gun in my hand wearing a bulletproof vest
My, my, my how the time does fly
     when you know you're gonna die by the end of the night

Offline altiric

  • Jr. Member
  • **
  • Posts: 81
  • Activity:
    0%
  • Reputation Power: 2
  • altiric has no influence.
  • Respect: +4
  • Referrals: 1
    • View Profile
Re: XIIxOveR's Miner For Dummies 3.0
« Reply #514 on: April 14, 2021, 10:30:14 PM »
0
I actually live off grid out in the mountains and generate my own power, so leaving things running is not really an option. Only had it running a few hours at a time but its run flawlessly and without breaking. Ill check the numbers and get back to you with an ingot count next time i get the chance to run it for a bit. Also, the tile checking is not a huge issue. Only slows down the first run a touch but the time it saves having to find grids and mark each spot probably makes up for that and then some when making new rails!

Offline 12TimesOverTopic starter

  • Another Day, Another Vendetta
  • Global Moderator
  • *
  • *****
  • Posts: 3694
  • Activity:
    0%
  • Reputation Power: 41
  • 12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.
  • Gender: Male
  • Respect: +321
  • Referrals: 2
    • View Profile
Re: XIIxOveR's Miner For Dummies 3.0
« Reply #515 on: May 20, 2021, 05:06:11 AM »
0
Hmmm...that's a new one for me. I can't mess with it until later when I get home from work but I'll fire it up and see if I can reproduce.

X
When they come for me I'll be sitting at my desk
     with a gun in my hand wearing a bulletproof vest
My, my, my how the time does fly
     when you know you're gonna die by the end of the night

Offline TrackStar

  • Jr. Member
  • **
  • Posts: 84
  • Activity:
    0%
  • Reputation Power: 1
  • TrackStar has no influence.
  • Respect: +1
  • Referrals: 0
    • View Profile
Re: XIIxOveR's Miner For Dummies 3.0
« Reply #516 on: August 27, 2021, 07:02:09 AM »
0
Hi,

Thank you for this nice script, it runs really smoothly!

I noticed that you have prospectortool type in the code, but as far as I can see it is not supported though? Or am I wrong here?

Best, N
Sorry to miss this Nuscheltier, been a while since I've been active - just getting back into the swing of things again.

That was added for future support, I haven't actually released 4.0 yet but it will be supported then.

X

Are you still planning on releasing 4.0?

Offline 12TimesOverTopic starter

  • Another Day, Another Vendetta
  • Global Moderator
  • *
  • *****
  • Posts: 3694
  • Activity:
    0%
  • Reputation Power: 41
  • 12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.
  • Gender: Male
  • Respect: +321
  • Referrals: 2
    • View Profile
Re: XIIxOveR's Miner For Dummies 3.0
« Reply #517 on: September 27, 2021, 02:28:07 PM »
0
Sorry I'm not around as much as I used to be! Just pop in from time to time, usually when I'm getting the itch to play again and start fixing stuff I wrote LOL. I'd like to give a resounding "absolutely" on 4.0 but then I might disappear for another 6 months. On the other hand, I could say "no way" then have a new version at the end of the week.

XII
When they come for me I'll be sitting at my desk
     with a gun in my hand wearing a bulletproof vest
My, my, my how the time does fly
     when you know you're gonna die by the end of the night

Offline TrackStar

  • Jr. Member
  • **
  • Posts: 84
  • Activity:
    0%
  • Reputation Power: 1
  • TrackStar has no influence.
  • Respect: +1
  • Referrals: 0
    • View Profile
Re: XIIxOveR's Miner For Dummies 3.0
« Reply #518 on: September 27, 2021, 05:14:09 PM »
0
haha, its cool!

Offline A1uc3rd

  • Newbie
  • *
  • Posts: 4
  • Activity:
    0%
  • Reputation Power: 1
  • A1uc3rd has no influence.
  • Respect: 0
  • Referrals: 0
    • View Profile
Re: XIIxOveR's Miner For Dummies 3.0
« Reply #519 on: May 06, 2022, 07:14:14 AM »
0
XIIxOver,

First, I want to open by letting you know how much I have enjoyed your script over the years and thank you for the script. Second, I would ask your forgiveness for my impertinence with my next question. How much would I have to donate to the cause to make version 4.0 a reality? You have a set of skills I do not and for as much as I have tried to learn, I am just not good at scripting. Thus, I feel in order to show my appreciation for your skills I would like to make a donation to have version 4.0 come into existence. Time is money after all.

Offline 12TimesOverTopic starter

  • Another Day, Another Vendetta
  • Global Moderator
  • *
  • *****
  • Posts: 3694
  • Activity:
    0%
  • Reputation Power: 41
  • 12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.
  • Gender: Male
  • Respect: +321
  • Referrals: 2
    • View Profile
Re: XIIxOveR's Miner For Dummies 3.0
« Reply #520 on: May 11, 2022, 06:41:33 AM »
0
Haha! Though I appreciate the ask I wish it was about money ;) I honestly have just lacked interest - there are so many better scripters making better scripts out there coupled with real life starting to need more attention than I was giving it. I'm recovering from surgery right now and though I have more time on my hands than I know what to do with I can't focus for *bleep*! So all that said, who knows - maybe I'll find myself feeling inspired to fix this thing up a bit in the near future, it might help my brain get back in order some.
When they come for me I'll be sitting at my desk
     with a gun in my hand wearing a bulletproof vest
My, my, my how the time does fly
     when you know you're gonna die by the end of the night

Offline A1uc3rd

  • Newbie
  • *
  • Posts: 4
  • Activity:
    0%
  • Reputation Power: 1
  • A1uc3rd has no influence.
  • Respect: 0
  • Referrals: 0
    • View Profile
Re: XIIxOveR's Miner For Dummies 3.0
« Reply #521 on: May 17, 2022, 04:57:00 AM »
0
I first and foremost want to wish you well and a speedy recovery from your surgery. Second, while you can say that there are better scripters, which there likely are, all of the scripts I have tried and attempted to use from the easyuo website have never been as user-friendly as yours has been for me for the purpose of mining. Your script is very straightforward and easy to understand out of the box on how to use from the perspective of a person who isn't good at scripting. Third, since I have your attention for the moment, would you be able to help me edit the script slightly. Currently, I run the script on Atlantic Shard, but at points when the script attempts to recall back to the bank to drop off the ore that it has mined up there is a delay in the transition from the sub server where I was mining to the bank. The script thinks that it has failed to recall to the bank to drop off the ore, but has sucessfully made it to the bank and continues to attempt to recall to the bank. Since I am already at the bank the game denies every attempt thereafter because of the location being blocked. I have attempted to fix the issue myself, but I have been unsuccessful. I enlisted the help from a friend who is a professional at this type of work, but he told me since he was not familiar with the assembly language the script is written in he would do his best, but guaranteed nothing. My friend also told me that due to his lack of knowledge of variables associated with Ultima Online and the easyuo program his help would be very limited.

Offline Gaderian

  • Elite
  • *
  • *
  • Posts: 486
  • Activity:
    0%
  • Reputation Power: 10
  • Gaderian barely matters.Gaderian barely matters.
  • Respect: +50
  • Referrals: 3
    • View Profile
Re: XIIxOveR's Miner For Dummies 3.0
« Reply #522 on: May 17, 2022, 10:29:42 PM »
+1
First, I will admit I did not run this to reproduce your error. Once I looked at it out to satisfy my curiosity, I remembered having similar behavior in a script of my own. So I decided to go compare what I did there to see if possibly I did something different.

You said it recalls the first time to arrive at the bank and then it continues to cast. Now you are blocking yourself as you try to recall to the position where you are standing.

This means it completes the first pass through the routine, TM_NewCastSpell, successfully, then still hits an error condition, where #RESULT is #TRUE. #RESULT is set any time there is a return from a subroutine or it is specifically set in a script. In this loop where it is stuck, that is the gosub statements to TM_AdvJournalSync and TM_AdvJournalScan.

I looked at a script where I used the same Recall logic code and I have a difference, so maybe this could help your issue, too.

Here is the code in this mining script:
Code: easyuo
  1. ;####################
  2. ;SUB TM_NewCastSpell
  3. ;####################
  4. ; %1 = spell number
  5. ; %2 = #TARGETID or SELF or NONE
  6. ; %3 = retry count (-1 = cast until successful)
  7. ; %4 = cast delay
  8. ; %5 = recovery delay
  9. sub TM_NewCastSpell
  10.   namespace push
  11.   namespace local NCS
  12.   set !lpc #LPC
  13.   set #LPC 100
  14.   set !whichspell %1
  15.   set !whichtarget %2
  16.   set !castretrymax %3
  17.   set !waitdelay %4
  18.   set !recovery_delay %5
  19.  
  20.   set !castretry 0
  21.   set !temp_ltargetid #LTARGETID
  22.   set !temp_ltargetkind #LTARGETKIND
  23.  
  24.   NewCastSpell_loop1:
  25.     if !castretrymax < 0
  26.       goto NewCastSpell_cont1
  27.     if !castretry > !castretrymax
  28.       goto NewCastSpell_end1
  29.     NewCastSpell_cont1:
  30.       gosub TM_AdvJournalSync SPELLCAST 100
  31.       set #LTARGETKIND 1
  32.       set #LTARGETID !whichtarget
  33.       set !tempmana #MANA
  34.       event macro 15 !whichspell ; cast the spell
  35.       wait !waitdelay
  36.       set !targettimeout #SCNT + 7
  37.       NewCastSpell_wait1:
  38.         gosub TM_AdvJournalScan SPELLCAST NONE spell_fizzles you_have_not_yet mana your_spirit more_reagents
  39.         if #RESULT = #TRUE || #SCNT > !targettimeout
  40.         {
  41.           set !casttimeout #SCNT2 + !recovery_delay
  42.           repeat
  43.           until #SCNT2 > !casttimeout     ; finish up cast delay
  44.           set !castretry !castretry + 1
  45.           goto NewCastSpell_loop1
  46.         }
  47.  

Here is the code in my script using these routines:
Code: easyuo
  1. ;-------------------------------------------------------------------------------
  2. ; %1 = spell number
  3. ; %2 = #TARGETID or SELF or NONE
  4. ; %3 = retry count (-1 = cast until successful)
  5. ; %4 = cast delay
  6. ; %5 = recovery delay
  7. sub TM_NewCastSpell
  8.   namespace push
  9.   namespace local NCS
  10.   set !lpc #LPC
  11.   set #LPC 100
  12.   set !whichspell %1
  13.   set !whichtarget %2
  14.   set !castretrymax %3
  15.   set !waitdelay %4
  16.   set !recovery_delay %5
  17.  
  18.   set !castretry 0
  19.   set !temp_ltargetid #LTARGETID
  20.   set !temp_ltargetkind #LTARGETKIND
  21.  
  22.   NewCastSpell_loop1:
  23.     if !castretrymax < 0
  24.       goto NewCastSpell_cont1
  25.     if !castretry > !castretrymax
  26.       goto NewCastSpell_end1
  27.     NewCastSpell_cont1:
  28.       gosub TM_AdvJournalSync SPELLCAST
  29.       set #LTARGETKIND 1
  30.       set #LTARGETID !whichtarget
  31.       set !tempmana #MANA
  32.       event macro 15 !whichspell ; cast the spell
  33.       wait !waitdelay
  34.       set !targettimeout #SCNT + 7
  35.       NewCastSpell_wait1:
  36.         gosub TM_AdvJournalScan SPELLCAST VALID you_have_not_yet mana your_spirit more_reagents
  37.         if #RESULT = #TRUE || #SCNT > !targettimeout
  38.         {
  39.           set !casttimeout #SCNT2 + !recovery_delay
  40.           repeat
  41.           until #SCNT2 > !casttimeout     ; finish up cast delay
  42.           set !castretry !castretry + 1
  43.           goto NewCastSpell_loop1
  44.         }
  45.         if !whichtarget = NONE
  46.           goto NewCastSpell_skip1
  47.         if #TARGCURS = 1
  48.           goto NewCastSpell_targ1
  49.         goto NewCastSpell_wait1 ; wait for target cursor
  50.  
  51.   NewCastSpell_targ1:
  52.     if !whichtarget = SELF
  53.       event macro 23
  54.     else
  55.       event macro 22
  56.  
  57.   NewCastSpell_skip1:
  58.     wait 5
  59.     set !casttimeout #SCNT2 + !recovery_delay
  60.     NewCastSpell_skip2:
  61.       if !whichspell >= 0 && !whichspell <= 63 ; Magery
  62.       {
  63.         gosub TM_AdvJournalScan SPELLCAST VALID spell_fizzles there_is_already mana your_spirit more_reagents
  64.       }
  65.       else
  66.       {
  67.         set !cont #FALSE  ; Chivalry, Necromancy, etc
  68.         finditem !whichtarget *
  69.         if !whichtarget in SELF_NONE || #FINDKIND <> -1
  70.           set !cont #TRUE
  71.  
  72.         if #MANA >= !tempmana && !cont = #TRUE ; check if target is still there
  73.           set #RESULT #TRUE
  74.         else
  75.           set #RESULT #FALSE
  76.       }
  77.       repeat
  78.       until #SCNT2 > !casttimeout     ; finish up cast delay
  79.       if #RESULT = #TRUE
  80.       {
  81.         if !castretrymax > -1
  82.         {
  83.           set !castretry !castretry + 1 ; %castretrymax of -1 will cast until successful
  84.           if !castretry > !castretrymax
  85.             goto NewCastSpell_end1
  86.         }
  87.         goto NewCastSpell_loop1
  88.       }
  89.       if #SCNT2 <= !casttimeout     ; finish up cast delay
  90.         goto NewCastSpell_skip2
  91.   NewCastSpell_end1:
  92.     set #LTARGETID !temp_ltargetid
  93.     set #LTARGETKIND !temp_ltargetkind
  94.     set #LPC !lpc
  95.     namespace pop
  96. return

Pay particular attention to the TM_AdvJournalScan lines.
Both of mine use VALID in place of NONE (VALID means make sure other player's speech is not interfering with your results; NONE just accepts whatever is in the character's journal).

The first TM_AdvJournalScan I removed "spell_fizzles".

On a positive note, I do not believe what you are describing is a timing issue. I think this script's logic supports your description in this recall routine.

I looked at the few places that the code calls any of the TM_Travel routines and there is no code to try to rerun the travel routine - it is expecting a successful result. That gives more weight to the issue of recalling over an over is in the TM_Travel routines itself and that boils down to the code in TM_NewCastSpell.

Gaderian
"Go ahead ask me: 'Should I use hard waits or timers?'"
You say:"Should I"
Gaderian:"Timers!"
You Say:"use hard waits or timers?"

The serious side of timer use is illustrated here: http://www.scriptuo.com/index.php?topic=12094.msg101926#msg101926

However, every time I go back and look at this [AutoLooter] script, I realize I had wrote it in my zen state of EUO scripting - so it makes my brain hurt.

Offline 12TimesOverTopic starter

  • Another Day, Another Vendetta
  • Global Moderator
  • *
  • *****
  • Posts: 3694
  • Activity:
    0%
  • Reputation Power: 41
  • 12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.
  • Gender: Male
  • Respect: +321
  • Referrals: 2
    • View Profile
Re: XIIxOveR's Miner For Dummies 3.0
« Reply #523 on: May 19, 2022, 12:39:18 PM »
0
Thanks for the detail Gaderian! I've run into this issue periodically over the years but not very often. I never setup any kind of checking around the Travel sub calls but it wouldn't be a bad idea, typically the problems are elegantly handled by TM's subs already.

My theory, and I haven't been able to test it yet since the issue comes up so rarely, is that it IS related to a timing issue, in that maybe the checking for the !oldx and !oldy might happen before the recall is completed thus it thinks it has not been successful and continues to try the same rune location even though it WAS successful. At this point it's hanging out in the Spellcast sub where there is no checking for a blocked location but rather just the Spell_Fizzles which indicates "try again", and even if there were a check for the blocking the Spellcast sub doesn't handle that, the Travel sub does.

I'll play around with things a bit. I'm even trying to test and reproduce on Naps where I lag like crazy and I'm not having luck, I guess I can move to a Jap shard and test there.

X
When they come for me I'll be sitting at my desk
     with a gun in my hand wearing a bulletproof vest
My, my, my how the time does fly
     when you know you're gonna die by the end of the night

Offline 12TimesOverTopic starter

  • Another Day, Another Vendetta
  • Global Moderator
  • *
  • *****
  • Posts: 3694
  • Activity:
    0%
  • Reputation Power: 41
  • 12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.
  • Gender: Male
  • Respect: +321
  • Referrals: 2
    • View Profile
Re: XIIxOveR's Miner For Dummies 3.0
« Reply #524 on: May 19, 2022, 02:37:51 PM »
0
Ok, too funny. Just now I fired up the script and duplicated the issue while I watched LOL. I haven't had this happen in months! Anyhow, I noticed that it recalled to the bank fine and emptied the pack. Next it should have switched the rune location from position 1 to position 2 (this was the first run to the bank) but for some reason it left the default at position 1 and indefinitely attempted to recall back to the bank where the toon was already (still) standing.

So, there are two problems - 1) sometimes the script fails at switching recall location after visiting the bank and leaves the bank as the default and 2) the script is not handling this problem scenario.

X
When they come for me I'll be sitting at my desk
     with a gun in my hand wearing a bulletproof vest
My, my, my how the time does fly
     when you know you're gonna die by the end of the night

Tags: