Smeagol: Automatically Use XP/CP Rings.

Language: JP EN DE FR
2010-09-08
New Items
users online
Forum » Windower » General » Smeagol: automatically use XP/CP rings.
Smeagol: automatically use XP/CP rings.
 Bismarck.Xurion
Offline
Server: Bismarck
Game: FFXI
user: Xurion
Posts: 693
By Bismarck.Xurion 2019-04-09 14:39:57
Link | Quote | Reply
 
gargurty said: »
great program but it interfers with the cp back lock in my lua lol. Anyway to prevent this?
I've had a scan through the logic and nowhere does this addon disable or enable the back slot.

What leads you to the assumption it is this addon?
[+]
 Phoenix.Lobsang
Offline
Server: Phoenix
Game: FFXI
By Phoenix.Lobsang 2019-04-09 14:56:08
Link | Quote | Reply
 
only way i'd think to handle it would be to remove the CP backlock and use gs disable back?
VIP
Offline
Posts: 662
By Lili 2019-04-09 16:13:53
Link | Quote | Reply
 
Thanks for the appreciation! I appreciate being appreciated.

gargurty said: »
great program but it interfers with the cp back lock in my lua lol. Anyway to prevent this?

There's nothing in Smeagol that can interfere with other addons/gearswap scripts. In fact, I went the extra mile to make sure it's as unintrusive as possible.

That said, some gearswap scripts have a routine that checks rings/cape, and if any of those is not a CP item, they enable all slots. It is a bad design on the part of who wrote the logic in my opinion - it also overrides any other manual locks, i.e. weapons or ammo slots - so I do not plan on adding any special exception to Smeagol to make it play nice in these cases. Either get rid of that part of your lua and lock cape in manually, or find a lua that also has the automatic ring function, there's a bunch floating around.

Now while I'm here...

DaneBlood said: »
B: this is not entirely true. we are able ti script with sparks plugin to buy the ring. but we have no accessalbie script way to make the check for empty rings and drops them.
so we have to mess with inventroy and check and drop it manually

Ah but you see, you (plural) are not able to do so. The code to do what you (plural) ask is already written and publicly available, but you (plural) are not able to take advantage of it unless it's wrapped in a nice addon command. Which is fine, nobody is saying that you (plural) should be able to, but that function is not in the scope of this addon and not something I want to mess with, so if you want it you're on your own. Go cobble it up together with Treasury or something, I guess.

(Besides, it's not like I can prevent anybody from forking Smeagol and adding whatever functionality they want. I'm sure somebody already did it.)

Bismarck.Xurion said: »
You can obtain rings from Reisen coffers.

Which you still need to interact with manually.

Not quoting it, but glad you get my point about wrongly dropped items lol.

Quote:
Any plan to move the code to Github for issue tracking and version history?

Not for the foreseeable future, because I am a profundly lazy person. I do already have an account tho, and I have 3 more addons I want to release eventually, so I'm not excluding it entirely.

Quote:
Also, as a software engineer, I can safely say many bad software products ignore their customer needs ;)

I interned at Mozilla back when they decided the Awesome Bar could not be turned off! Or at Google when they were redesigning the UI to be red and black and forcing Google+ on users!

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Let me use a visual aid:



I wrote the one on the left. People want the one on the right. I don't make the one on the right. The end.
[+]
Offline
Posts: 1109
By DaneBlood 2019-04-10 08:12:00
Link | Quote | Reply
 
Lili said: »
Thanks for the appreciation! I appreciate being appreciated.

DaneBlood said: »
B: this is not entirely true. we are able ti script with sparks plugin to buy the ring. but we have no accessalbie script way to make the check for empty rings and drops them.
so we have to mess with inventroy and check and drop it manually

Ah but you see, you (plural) are not able to do so. The code to do what you (plural) ask is already written and publicly available, but you (plural) are not able to take advantage of it unless it's wrapped in a nice addon command. Which is fine, nobody is saying that you (plural) should be able to, but that function is not in the scope of this addon and not something I want to mess with, so if you want it you're on your own. Go cobble it up together with Treasury or something, I guess.

(Besides, it's not like I can prevent anybody from forking Smeagol and adding whatever functionality they want. I'm sure somebody already did it.)

I fully agree with the points you (singular) have.
and it is a brain child of you (singular). And again I appreciate the effort put forth by you (singular).
But if you (singular) ever decide to change the stand that you (singular) have, make sure that you (singular) let us know.
I believe the best way for you ( singular) to do so, is if you (singular) write and update here later, in case you (singular) wants to.

Anyway you made my morning today sir.
After arriving 35 mins later for work due to a car accident this made me laugh.
Then kinda sad that we have to go to this extreme when debating to ensure nothing is taken as a personal attack. ppl can no longer just debate simple tiny disagreement online without it going all out aggressive.

I see the same development issue on some of my tools as well.
ppl keep asking for features that that i don't feel belong into the scope of the tool.

The fact that you put in the effort to make and share it, is nice.
[+]
 Asura.Fondue
Offline
Server: Asura
Game: FFXI
user: Caliber
Posts: 2445
By Asura.Fondue 2019-04-15 16:21:03
Link | Quote | Reply
 
how about that new cp ring?
VIP
Offline
Posts: 662
By Lili 2019-04-15 16:36:58
Link | Quote | Reply
 
Asura.Fondue said: »
how about that new cp ring?

How about it indeed?
 Bismarck.Xurion
Offline
Server: Bismarck
Game: FFXI
user: Xurion
Posts: 693
By Bismarck.Xurion 2019-04-16 03:25:22
Link | Quote | Reply
 
lol literally a ctrl+f and "Endo" in the Lua will tell you that's already in there. You're welcome!
[+]
 Asura.Fondue
Offline
Server: Asura
Game: FFXI
user: Caliber
Posts: 2445
By Asura.Fondue 2019-04-16 08:45:57
Link | Quote | Reply
 
My bad, thanks! Ring was in my sack :(
[+]
Offline
Posts: 1109
By DaneBlood 2019-04-16 09:08:35
Link | Quote | Reply
 
Asura.Fondue said: »
My bad, thanks! Ring was in my sack :(
Beware of keeping you ring on your sack for to long
[+]
VIP
Offline
Posts: 662
By Lili 2019-04-16 09:15:22
Link | Quote | Reply
 
Asura.Fondue said: »
My bad, thanks! Ring was in my sack :(

It is my honor and privilege to assign you this prized badge:
[+]
VIP
Offline
Posts: 662
By Lili 2019-04-22 16:41:15
Link | Quote | Reply
 
Known issue:

- If multiple of the same ring are found, Smeagol will only consider one of them when checking for recast, and ignore all other copies. This pretty much only applies to Resolution ring, since it's the only one that is not Rare/EX. It's a very minor bug that does not affect functionality too much, so I'm going to leave this for when I have some more time to fix it properly, and leave it as a known issue for now. Thanks to Oheyo from the Windower discord for finding this bug.
Offline
Posts: 315
By Meeble 2019-04-24 23:03:47
Link | Quote | Reply
 
When changing jobs, normal-mode Smeagol will quite happily overwrite a fresh XP buff with CP, or vice versa. I'm not sure if that's intended behavior, but it bothered me enough to modify check_exp_buffs() so he won't. Setting override will force the correct buff.

Thanks for making the addon!

Code:
VIP
Offline
Posts: 662
By Lili 2019-04-25 07:56:25
Link | Quote | Reply
 
Meeble said: »
When changing jobs, normal-mode Smeagol will quite happily overwrite a fresh XP buff with CP, or vice versa. I'm not sure if that's intended behavior, but it bothered me enough to modify check_exp_buffs() so he won't. Setting override will force the correct buff.

Thanks for making the addon!

Nice catch. It's not an intended behavior, it's just an oversight on my part, that part of the code is really old.

Fun fact: I rewrote it before reading the code you posted... and ended up writing basically the same thing, hah.

Smeagol updated to version 0.5.0

- FIXED: a bug where Smeagol would overwrite a CP buff with an XP buff when switching from a lv99 job to a non-lvl99 job. Thanks to Meeble for the bug report.
- CHANGED: reduced Resources usage in the hopes of reducing memory usage.
- UNCHANGED/KNOWN ISSUE: Smeagol is still blind to multiple copies of the same ring, because I'm lazy.
[+]
Offline
Posts: 1109
By DaneBlood 2019-04-25 09:51:43
Link | Quote | Reply
 
Lili said: »
- UNCHANGED/KNOWN ISSUE: Smeagol is still blind to multiple copies of the same ring, because I'm lazy.

I like your documentation.
[+]
 Bismarck.Xurion
Offline
Server: Bismarck
Game: FFXI
user: Xurion
Posts: 693
By Bismarck.Xurion 2019-04-25 13:18:20
Link | Quote | Reply
 
Lili said: »
- CHANGED: reduced Resources usage in the hopes of reducing memory usage.
The life of many a addon developer.
VIP
Offline
Posts: 662
By Lili 2019-04-27 21:29:14
Link | Quote | Reply
 
Known issue: the damn Resolution ring is lv30 minumum. I hate that thing already.
 Bismarck.Xurion
Offline
Server: Bismarck
Game: FFXI
user: Xurion
Posts: 693
By Bismarck.Xurion 2019-04-28 05:00:40
Link | Quote | Reply
 
Lili said: »
Known issue: the damn Resolution ring is lv30 minumum. I hate that thing already.
What's the issue?
necroskull Necro Bump Detected! [347 days between previous and next post]
VIP
Offline
Posts: 662
By Lili 2020-04-08 19:38:59
Link | Quote | Reply
 
Moved to Github. No other change. Why change perfection?

Bismarck.Xurion said: »
Any plan to move the code to Github for issue tracking and version history?

Done! Took a while.

Bismarck.Xurion said: »
Lili said: »
Known issue: the damn Resolution ring is lv30 minumum. I hate that thing already.
What's the issue?

On a fresh mule that I was PLing, Smeagol got stuck trying to use the Resolution ring before lv30. I solved it by putting the ring in the sack and pretending nothing happened.
[+]
 Leviathan.Draugo
Offline
Server: Leviathan
Game: FFXI
Posts: 2775
By Leviathan.Draugo 2020-04-09 11:17:53
Link | Quote | Reply
 
I was thinking something along these lines would be nice. I was thinking though of one that would just swap back and forth between trizek, and the DoH one full time. Only because I think those rings are most effective for boosting spillover CP. For when you are not directly going for CP, but a lot of the events are dropping it in low quantities. During actual JP parties most times those rings burn up within a few mobs. Definitely worth using during JP parties, but since those 2 rings have infinite charges on fast cool downs, a mode that just used those 2 rings full time would be pimp.

Edit: this plugin probably can already do that by hiding the limited use items no?
VIP
Offline
Posts: 662
By Lili 2020-04-09 11:36:53
Link | Quote | Reply
 
Leviathan.Draugo said: »
I was thinking something along these lines would be nice. I was thinking though of one that would just swap back and forth between trizek, and the DoH one full time. Only because I think those rings are most effective for boosting spillover CP. For when you are not directly going for CP, but a lot of the events are dropping it in low quantities. During actual JP parties most times those rings burn up within a few mobs. Definitely worth using during JP parties, but since those 2 rings have infinite charges on fast cool downs, a mode that just used those 2 rings full time would be pimp.

Edit: this plugin probably can already do that by hiding the limited use items no?

I'm not exactly sure what you're talking about.

The way XP/CP rings work in game, basically an Echad Ring gives you 3 extra limit points every two hours, and a Trizek Ring gives you one (1) extra Job Point every two hours. All the other rings are the same, they don't really multiply your exp, they simply let you obtain a certain amount of JP/LP. A Facility Ring has 3 charges, each worth 1 Job Point: it gives you 3 extra job points total.
These point are simply gated behind both time and xp/cp earned, but if one day they were to remove the "multiplier", and turned it into "use a charge of this ring and earn 1 Job Point immediately", they'd be 100% the exact same as they are now.

TL;DR: there's absolutely no reason whatsoever to save rings for specific moments/events - except maybe the unique event rings so you can save them with the blue text, for status symbol.
Use them asap and don't worry about using them strategically.

But if you ABSOLUTELY must... simply remove the rings you want to save from the addon itself, and Smeagol will be blind to them.
 Leviathan.Draugo
Offline
Server: Leviathan
Game: FFXI
Posts: 2775
By Leviathan.Draugo 2020-04-09 11:57:00
Link | Quote | Reply
 
What I mean to say, that multiplier stretches longer for when you are doing non-cp parties, but still doing end game stuff, the CP off those mobs is much lower than apex. So to make it so those 2 rings are always being used, that spill over CP gain is multiplied more, giving you a better trickle type of effect. Obviously one charge will get the full bonus if you are spamming endgame stuff, but makes you pretty much be able to set it and forget it, so essentially full timing it. If you are not doing stuff that drops CP, since they are infinite charges, doesn't really matter if it is maintaining the buff. But if you happen to rush from that no CP activity into say 4 omen runs, you can pretty much assume you are getting a little bit better CP out of them without having to worry about keeping focus on ring timers.

I think the way this plugin works I can make it behave that way. Just set it to run CP mode. And hide the limited use ones, unless I am after CP specifically, then I just toss them in main inventory to get thrown into the rotation.

By saying spill over CP, I mean all the random low point stuff you end up collecting from like running random escha stuff, or again omen, or ambu, anything that still drops CP, but that is not the main goal you are after.

Edit: very handy plug though, well done, thank you.
 Lakshmi.Ikarah
Offline
Server: Lakshmi
Game: FFXI
user: Finuve
Posts: 3
By Lakshmi.Ikarah 2020-04-27 20:25:02
Link | Quote | Reply
 
Just checked out this addon for the first time today, love it, but i had one suggestion. Another override mode that allowed you to use both XP rings and CP rings until all are used up. With potpourri being a thing its nice to be able to just spam through every ring of both kinds

I wrote a quick change into the script to do it by checking for an override of "both" and then making it so it checks for CP rings before relooping through statuses to see if now have a CP status before trying to find XP rings.

No idea if thats a good method or not, as I'm new to lua. Testing it now. Obviously won't redistribute my changes

EDIT: Ok that didnt work because of the sleep check after the arrays, so I just got lazier and made a third array for all rings and have it call that if its set to both
[+]
VIP
Offline
Posts: 662
By Lili 2020-04-28 08:55:12
Link | Quote | Reply
 
Lakshmi.Ikarah said: »
Another override mode that allowed you to use both XP rings and CP rings until all are used up. With potpourri being a thing its nice to be able to just spam through every ring of both kinds

I was actually thinking about this recently, and for the same reason.

I was also thinking of changing the override system anyway - you can't use CP rings under level 99 anyway, so might as well reflect that in the logic and add a "both" override. If you want to post your modifications I can take a look - spares me some brain fuel to think about it :-P
 Lakshmi.Ikarah
Offline
Server: Lakshmi
Game: FFXI
user: Finuve
Posts: 3
By Lakshmi.Ikarah 2020-04-28 16:30:47
Link | Quote | Reply
 
What I got working was certainly the laziest approach. I just created a new array called both_rings and just put everything in it, and just changed the if statement to check for both

if override == 'bo' then
search_rings(both_rings_info)
elseif override == 'xp' or (player.main_job_level < 99 and override ~= 'cp') then
search_rings(xp_rings_info)
else
search_rings(cp_rings_info)
end

If I knew lua better, or felt like googling longer >.> I would've looked for ways to combine the arrays, or ways to combine the resulting info objects. Or possibly have a search_rings function that took both, but then I would still want to combine them before looping

I haven't paid much attention to the memory usage, but im guessing my current way is redundantly storing info for each ring twice.
VIP
Offline
Posts: 662
By Lili 2020-04-30 13:21:00
Link | Quote | Reply
 
Smeagol updated to version 1.0.1. Yay!

Changes:
- NEW: added check for cities and relative toggle command.
- NEW: 'both' override command, will use both CP and XP rings at level 99.
- CHANGED: Smeagol will no longer use CP rings at levels below 99, ever.

Updated readme in main post. Let me know if I left any bug in!
VIP
Offline
Posts: 662
By Lili 2020-05-29 05:32:56
Link | Quote | Reply
 
Smeagol updated to version 1.1.0!

Buncha new stuff.

Changes:
- NEW: times are now in human readable format. No more "5064 seconds recast", now you get "1 hour and 24 minutes".
- NEW: Smeagol now can detect if you have capped JP or Merits, and will then not use rings.
- NEW: Smeagol detects Emporox's Gift (Potpourri), and will then use XP rings even if your merits are otherwise capped.
- NEW: Smeagol now detects when you are moving and will then not try to use a ring until you stop moving again. Can be a bit wonky.
[+]
Offline
Posts: 363
By ksoze 2020-05-29 07:20:03
Link | Quote | Reply
 
niceuru!
VIP
Offline
Posts: 662
By Lili 2020-06-11 23:18:48
Link | Quote | Reply
 
Smeagol updated to version 1.1.2 1.2.1

There was a 1.1.1 1.2.0 too but I was too lazy to make a post.

Changes:
- NEW: Smeagol can now detect if you're midaction - casting a spell, using a JA or WS, etc. This can still be a bit wonky.
- FIXED: bug in the capped merit detection logic.

EDIT: version bumped to 1.2.1 because the midaction thing is kind of a big deal.
[+]
VIP
Offline
Posts: 662
By Lili 2020-06-25 17:38:23
Link | Quote | Reply
 
Smeagol updated to version 1.2.2

Changes:
- FIXED: improved midaction logic. Smeagol is now able to wait for a spell/ws/JA/etc to finish casting and use a ring right away. It's pretty sturdy, but it might have trouble in high latency situations. Please report any issue.
- CHANGED: added a distance check for Kupofried, to make sure we're in range of the Aura. The value might be too low (6 yalms), please report any issue.
- KNOWN ISSUE: sometimes a ring can get used in the time between Kupofried being summoned, and the aura effect appearing on the player. This is because geomancy auras don't appear when the spell finishes casting, but on a server tick. I have a fix in mind but it'll take a while, so for now just be careful with your moogles.
Offline
Posts: 70
By LightningHelix 2020-07-12 03:39:40
Link | Quote | Reply
 
I think I'm missing a simple setting. It will equip a ring and then use it, but then not unequip it - is it relying on gearswap to do the "heavy lifting" there?
Log in to post.