Smeagol: Automatically Use XP/CP Rings.

Eorzea Time
 
 
 
言語: JP EN FR DE
日本語版のFFXIVPRO利用したい場合は、上記の"JP"を設定して、又はjp.ffxivpro.comを直接に利用してもいいです
users online
フォーラム » Windower » General » Smeagol: automatically use XP/CP rings.
Smeagol: automatically use XP/CP rings.
First Page 2 3
VIP
Offline
Posts: 661
By Lili 2019-01-25 10:26:14  
Smeagol 1.3.0
automatically uses XP rings (if under lv99) or CP rings (if at lvl99).

Download: https://github.com/lili-ffxi/FFXI-Addons/

Supports the following items:
XP: Sprout Beret, Echad Ring, Caliber Ring, Emperor Band, Empress Band, Resolution Ring, Kupofried's Ring, Allied Ring
CP: Guide Beret, Trizek Ring, Endorsement Ring, Facility Ring, Capacity Ring, Vocation Ring

Smeagol will use XP rings if your level is less than 99, and CP rings if you're at level 99. This can be overridden (for example to farm merits, or for gain exp, etc).

Smeagol will only look for rings in your main Inventory, and in Wardrobes 1-8. If you want to hide a ring from him (want to keep that Novennial ring for some reason?), put it in any other bag.

IMPORTANT: as of version 1.0.0, Smeagol will no longer attempt to use CP rings at level 98 and below.

Features:
- override mode
- works with Kupofried
- plays nice with gearswap (disables the slot before using the ring, and reenables it after)
- will only activate while Idle or Engaged, and not inside Mog House.
- will not use rings while in town. This can be overriden with a command.
- will not use rings while moving.
- will not use rings while you have capped JP
- will not use rings while you have caped Merits, unless you also have the Emporox's Gift buff active.

Commands:
//smeagol on|start|off|stop - starts or stops Smeagol. Smeagol is automatically active when started.
//smeagol xp|both|normal - Changes how Smeagol chooses the ring to use at level 99. See below.
//smeagol <number> - how often Smeagol should check if an exp buff is active, in seconds. Default is 4.
//smeagol check - wake up from sleep and immediately check if a ring is available
//smeagol town - toggles use of rings in town. Default is no.
//smeagol reset - restores default settings.
//smeagol r|reload|u|unload - reloads/unloads Smeagol.

How does the override work:
- DEFAULT: The default mode is `normal`. This will use CP rings at level 99, and XP rings at level 98 or lower.
- XP: When override is set to `xp`, Smeagol will only use XP rings no matter what the level of the character. Useful for merit/potpourri farming.
- BOTH: When override is set to `both`, Smeagol will use both types of rings at level 99 - first CP rings, then when those are all on cooldown, XP rings. CP rings are still only used at level 99.

Changelog:
- 1.3.0 - Added support for wardrobes 5-8.
- .....
- 1.2.3 - Added idle_ring fallback for characters without gearswap.
- 1.2.2 - Improved midaction logic, added a distance check for Kupofried.
- 1.2.1 - Fixed a but in the capped merit detection logic.
- 1.2.0 - Tentatively added midaction detection. Smeagol will now not attempt to use a ring while you're casting a spell or using an ability.
- 1.1.0 - Human readable times, added detection for capped JP/Merits, added movement check.
- 1.0.1 - Minor code tweak.
- 1.0.0 - Breaking changes to the override logic. Added town check and related command.
- 0.5.0 - Reduced memory usage, and fixed a bug where a CP bonus buff would be overwritten with an XP buff (and vice versa) under certain circumstances. Thanks to Meeble for the bug report.
- 0.4.0 - Added new CP ring (April 2019 update), added check for logged in status.
- 0.3.0 - Reduced memory usage, removed race condition, added check command.
- 0.2.0 - Added checks for Mog House and Idle/Engaged status.
- 0.1.2 - Removed chatlog spam that occurred when all available rings were on recast, and other adjustments
- 0.1.0 - Initial release.

To-do:
- fix the re-equip function. Low priority because gearswap is a thing.

Known issue:
- If multiple copies of the same ring are found, Smeagol will only consider one of them when checking for recast, and ignore all other copies. I consider this a minor bug since there is only one ring without the Rare tag (Resolution ring), so the fix for this will have to wait for when I have more time. Thanks to Oheyo from the Windower discord for finding this bug.
- If Kupofried is summoned while Smeagol is on and a buff is already active, a ring might be used in the few seconds that pass between Kupofried appearing in party, and his aura becoming active on the player. This is because the aura takes a few seconds to activate - it activates on a server tick and not when the spell is finished casting, like all geomancy auras. I have a possible fix in mind but it will take a while, for now just be mindful of your moogles.

Smeagol does not yet save settings across sessions.
To change the default delay, edit the 'cycle_time' variable at line 55 of the lua.
To make Smeagol use rings even in town by default, change 'use_in_town' from 'no' to 'yes' at line 56 of the lua.
To remove rings/items, edit line 45 and 46 (xp_rings and cp_rings). Do not edit anything else! Items are used in the order they are listed, so if, for example, you want to use your Resolution Ring before reusing your Caliber Ring, just move it a bit to the left in the list. The list is case sensitive, and be sure to respect the comma.
For characters without gearswap, it's possible to specify a ring to go back to after using XP/CP rings. Just put the ring name in the idle_ring variable on line 50 of the lua.
Smeagol only cares about rings! (and Sprout/Guide Berets). It does not care about CP mantles or anything else. He's not very smart, but he does his best.
Again, Smeagol only looks into your main Inventory and in your Wardrobes when looking for rings. If he's not using rings, they're probably somewhere else.

Thanks a lot to Selindrile and from20020516, half of Smeagol's code is from their stuff.
Bug reports or suggestions are welcome.

NOTE: I get that it would be somewhat convenient, but Smeagol will never ever automatically toss a ring that ran out of charges. Stop asking. It's his preciousss, why would he ever toss one?

Enjoy,
Lili.
[+]
Offline
Posts: 634
By zaxtiss 2019-01-25 10:32:33  
i love you love time! woo!!
[+]
 Quetzalcoatl.Senaki
Offline
サーバ: Quetzalcoatl
Game: FFXI
user: Senaki
Posts: 419
By Quetzalcoatl.Senaki 2019-01-25 11:08:51  
So while I don't use 3rd party stuffy really, I'm super curious about how you chose the name for Smeagol. Lol
 Shiva.Spathaian
Offline
サーバ: Shiva
Game: FFXI
user: Spathaian
Posts: 27982
By Shiva.Spathaian 2019-01-25 11:12:52  
Quetzalcoatl.Senaki said: »
So while I don't use 3rd party stuffy really, I'm super curious about how you chose the name for Smeagol. Lol
It mainly deals with rings. In the Lord Of The Rings, Smeagol is obsessed with the ring of power.
[+]
 Asura.Eiryl
Offline
サーバ: Asura
Game: FFXI
user: Eiryl
By Asura.Eiryl 2019-01-25 11:17:48  
+1 for the naming. If you don't know smeagol you should know what he became. Gollum
[+]
VIP
Offline
Posts: 661
By Lili 2019-01-25 11:26:05  
Thank you all for the appreciation!

Also version 0.1.2 released because derp. I always forget debug stuff active when I release things.

Spathaian and Eiryl already explained the name, I'll add that Smeagol is the "good side" of Gollum. Gollum wants you dead, Smeagol wants to help you. It is my hope that this addon helps you instead of killing you in your sleep and stealing your rings!
[+]
 Shiva.Spathaian
Offline
サーバ: Shiva
Game: FFXI
user: Spathaian
Posts: 27982
By Shiva.Spathaian 2019-01-25 12:31:57  
Lili said: »
Thank you all for the appreciation!

Also version 0.1.2 released because derp. I always forget debug stuff active when I release things.

Spathaian and Eiryl already explained the name, I'll add that Smeagol is the "good side" of Gollum. Gollum wants you dead, Smeagol wants to help you. It is my hope that this addon helps you instead of killing you in your sleep and stealing your rings!
The machines have become too smart, we shall be enslaved in due time.
Offline
Posts: 1109
By DaneBlood 2019-01-29 07:30:09  
Does it take in combat or moving into account ?
VIP
Offline
Posts: 661
By Lili 2019-01-29 07:40:50  
DaneBlood said: »
Does it take in combat or moving into account ?

No. It also does not care about invisible/sneak status, or location.

It's designed to facilitate PLing mostly, so you don't have to alt-tab and check if your alt still has the ring on, if it's on recast, which other one is available, then open equip fiddle with inventory... etc. If it tries to use a ring while you're moving or doing another action, it will simply fail and retry again 4 seconds later (or however long you set it up), until it succeeds.

I should probably add locations for Resting and Mog House, tho. I'll put it in the to-do list.
VIP
Offline
Posts: 661
By Lili 2019-01-29 09:18:17  
Smeagol updated to version 0.2.0

Changes:
- NEW: will not use rings while in Mog House (will still use them in town)
- NEW: will only activate if you're Idle or Engaged (won't attempt to use rings while Resting or Dead or Mounted)
- CHANGED: some very minor stuff.
[+]
 Phoenix.Morier
Offline
サーバ: Phoenix
Game: FFXI
user: Morier
Posts: 898
By Phoenix.Morier 2019-01-29 12:16:12  
People are too lazy to even use rings now.
[+]
 
Offline
Posts:
By 2019-01-29 12:19:25
 Undelete | Edit  | Link | 引用 | 返事
 
Post deleted by User.
VIP
Offline
Posts: 661
By Lili 2019-01-29 13:40:54  
Phoenix.Morier said: »
People are too lazy to even use rings now.

See:
Lili said: »
It's designed to facilitate PLing mostly, so you don't have to alt-tab and check if your alt still has the ring on, if it's on recast, which other one is available, then open equip fiddle with inventory... etc.

Valefor.Angierus said: »
A simple gs command can fix that if you multibox.

Not everybody uses gearswap, not everybody uses a gearswap file/suite with that function. My addon is standalone and compatible with everything. If you don't need it, don't use it! Yay! Freedom of choice!
[+]
 Bahamut.Dannyl
Offline
サーバ: Bahamut
Game: FFXI
user: dannyl
Posts: 1548
By Bahamut.Dannyl 2019-01-29 13:52:40  
Thank you Lili.

This along with dupefind is a great quality of life for this undying game.

Will you be adding that export function on dupefind still? <3
[+]
VIP
Offline
Posts: 661
By Lili 2019-01-29 14:04:04  
Bahamut.Dannyl said: »
Thank you Lili.

This along with dupefind is a great quality of life for this undying game.

Will you be adding that export function on dupefind still? <3

<3

Dupefind is in the works, I'm changing the search function so it's more flexible. Export is definitely one of the two things I want to add - the other is the ability to show only duplicates of items that you have on your current character. Will take a while tho, time and energy are scarce as always.
[+]
Offline
Posts: 1109
By DaneBlood 2019-01-31 18:45:42  
suggestion.
can we get it to toss rings that at not reuseable when they hit 0 charges ?
Offline
Posts: 1109
By DaneBlood 2019-01-31 21:12:15  
just tried the new version
ran into an issue where
smeagol off did not help. it keep trying to do trizek ring midt combat
 
Offline
Posts:
By 2019-02-01 01:12:16
 Undelete | Edit  | Link | 引用 | 返事
 
Post deleted by User.
VIP
Offline
Posts: 661
By Lili 2019-02-01 09:43:37  
DaneBlood said: »
suggestion.
can we get it to toss rings that at not reuseable when they hit 0 charges ?

I briefly considered adding this, but in the end decided against it for multiple reasons (mainly the possibility for mistakes). In any case it's not like you can get a new ring while you're out exping, and if you're there to open escha chests and get the rings in them then you might as well take a moment to drop manually anyways.

DaneBlood said: »
smeagol off did not help. it keep trying to do trizek ring midt combat

Thanks, I'll look into it.

Valefor.Angierus said: »
Sorry I wasnt saying dont use this jusy make a gs command I should have quoted the dude above me as he seemed bothered st the need of a bot or something to automate use.

Ah! Makes sense, yeah.

Quote:
I'm glad there is support for your addon and I hope it inspires you to make and release more tools for the community to take away from the repetitiveness.

Thanks! Yeah that's my goal - lessen the "ugh" present in the game.
VIP
Offline
Posts: 661
By Lili 2019-02-22 05:34:56  
Smeagol updated to version 0.3.0

Changes:
- NEW: //smeagol check. Smeagol goes into sleep when all of your rings are on recast, with this command you can wake it up forcefully and have it check for fresh rings immediately. Useful when you buy a new ring/move an usable ring from some other bags into Inventory.
- CHANGED: greatly lowered memory footprint. Using the resources library is cool but the items table takes a whopping 25-28mb, so I removed that and now Smeagol takes 1mb of ram, which is much more proper.
- CHANGED: some code cleanup
- FIXED: race condition because I'm a noob at lua.

KNOWN ISSUE (kinda):
DaneBlood said: »
just tried the new version
ran into an issue where
smeagol off did not help. it keep trying to do trizek ring midt combat

It took me a long while to reproduce this, and it can indeed happen: Smeagol runs two loops, one to check if it's time to use a ring (lack of exp buff and ring available), and one that waits for the cooldown of a newly equipped ring. The off command stops the former, but not the latter. It's not properly fixed yet but I added a timeout, so just manually unequip the ring and the cooldown loop will die after a short while.

Please report any other bug!
[+]
VIP
Offline
Posts: 661
By Lili 2019-02-22 08:13:08  
Smeagol updated to version 0.3.1!

Because I'm an easily distracted idiot and left in a huge bug that would make it not work unless you already had the ring equipped and out of cooldown, defeating the entire point in the first place.
Fixed. Be sure to get 0.3.1.
[+]
Offline
Posts: 1109
By DaneBlood 2019-02-22 10:31:25  
Lili said: »
Smeagol updated to version 0.3.1!

Because I'm an easily distracted idiot and left in a huge bug that would make it not work unless you already had the ring equipped and out of cooldown, defeating the entire point in the first place.
Fixed. Be sure to get 0.3.1.


So relateable... :D
necroskull Necro Bump Detected! [42 days between previous and next post]
VIP
Offline
Posts: 661
By Lili 2019-04-05 09:14:14  
Smeagol updated to version 0.4.0

- NEW: Added support for new CP ring Endorsement Ring (April 2019 update).
- NEW: Added a check for logged in status. Smeagol will no longer stop working if you go back to the character selection screen after loading it, or if you put it in your init.txt so it automatically loads. Note that I strongly advise against the latter - you should only load this when you need it, and unload it right after.

NOTE: I get a lot of messages from different people suggesting that I add an auto-toss feature for rings that have run out of charges. I understand why this would be convenient, but I am not going to ever add this function, for two reasons:
a) I do not want to be responsible for any possible bug in the code that makes it throw the wrong item;
b) it's not like you can get a fresh ring while in the field anyway, you need to be in town in front of the screen, at which point you might as well toss it yourself.
And if you use a script to automatically go in town and get a new ring, then you also know how to make the same script toss the old one by yourself.
[+]
Offline
Posts: 1109
By DaneBlood 2019-04-08 20:47:17  
Lili said: »
o

1st grat work
2nd i fully understand your viewpoint and belive its your tool so you get to have final decission.

3rd let me put out some counter poubnts
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

A: this is fully understandable. how about a midt way solutions
smeagol drop
A command that makes it check for it and drop empty rings
1: it will give the ability for the ppl that wants it
2: it will not be an automatic thing so the danger of accidental dropping something will be gone.

again just tossing out suggestion. the tool is magnification on its own
 Bismarck.Xurion
Offline
サーバ: Bismarck
Game: FFXI
user: Xurion
Posts: 693
By Bismarck.Xurion 2019-04-09 03:17:11  
Lili said: »
b) it's not like you can get a fresh ring while in the field anyway, you need to be in town
You can obtain rings from Reisen coffers.

DaneBlood said: »
2: it will not be an automatic thing so the danger of accidental dropping something will be gone.
The danger Lili refers to is not removed by having a dedicated command. When executing that command, I'm assuming it would need to do the following:

  • Cycle through inventory only (can't cycle through wardrobes because you can't drop items from there).

  • Detects if item is ring and it has zero charges.

  • Drops ring.

  • Loops over remaining inventory? Are there delays to the drop actions? Does the server even allow you to drop multiple items quickly?


You still have the risk of droping an incorrect item or a ring with charges, whether it be because of a bug in code, or the game ID for these items have changed, however unlikely. Wait until someone's HQ Amalric body is incorrectly dropped, then see if the victim is happy to accept it as a reasonable loss.

DaneBlood said: »
the tool is magnification
Although I haven't used this yet, I share the sentiment. I'll be testing this out soon. Any plan to move the code to Github for issue tracking and version history?

DaneBlood said: »
2nd i fully understand your viewpoint and belive its your tool so you get to have final decission.
Also, as a software engineer, I can safely say many bad software products ignore their customer needs ;)
[+]
 Phoenix.Lobsang
Offline
サーバ: Phoenix
Game: FFXI
By Phoenix.Lobsang 2019-04-09 04:19:23  
DaneBlood said: »
the tool is magnification



On topic great work on the speedy updates, agree with the no implementation on auto drop, your off to get a new ring anyway so what's a few quick clicks to toss the expended ring anyway.
[+]
 Bismarck.Xurion
Offline
サーバ: Bismarck
Game: FFXI
user: Xurion
Posts: 693
By Bismarck.Xurion 2019-04-09 08:03:47  
I resisted the urge to magnify that typo..
[+]
Offline
Posts: 1109
By DaneBlood 2019-04-09 08:24:38  
Well the tool does magnify my EXP/CP
[+]
 Bismarck.Xurion
Offline
サーバ: Bismarck
Game: FFXI
user: Xurion
Posts: 693
By Bismarck.Xurion 2019-04-09 10:57:32  
DaneBlood said: »
Well the tool does magnify my EXP/CP
[+]
Offline
Posts: 362
By gargurty 2019-04-09 13:51:49  
great program but it interfers with the cp back lock in my lua lol. Anyway to prevent this?
First Page 2 3