lotrointerface.com
Search Downloads


Go Back   LoTROInterface > LotRO Stand-Alone Plugins > Action Bars & Main Bar


Post A Reply
Author Comments Comment Options
Unread 11-28-2022, 10:44 PM  
akourbat
The Wary

Forum posts: 0
File comments: 46
Uploads: 0
Quote:
Originally Posted by Thurallor
Added "Anthem of the Free Peoples" in version 4.08.

Thanks, I'll check it out. My concern though is that with the rework, they changed ALL of anthems on minstrel. For one, they now share cooldown, some changed names (like Anthem of War is now "Greater Anthem II - War"). What I am saying is likely they would all be "new" spells, maybe even different Ids. I mentioned in previous post that "Greater Anthem II - War" does not react to "spell executed" options.



I realize its a PITA to maintain the skills database, so I guess I will not press for a fix unless you decide it is worth it for the plugin. I can deal with these issues by selecting "left click" and adding some delay to allow for an anthem to execute, as long as "left click" is in the options. I am not currently playing actively on minstrel, only occasionally, anyhow.
akourbat is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-27-2022, 08:16 PM  
Thurallor
The Undying
 
Thurallor's Avatar
Interface Author - Click to view interfaces

Forum posts: 202
File comments: 458
Uploads: 20
Re: Curable Effect Issue

Quote:
Originally Posted by WildCard
So I've been having a somewhat annoying issue with one of my bars not going away when it should (but not all of the time).

I have a continuous run bar that basically looks at curable effects (IF/ELSE/IF... for all fear, disease, poison, wound). If a curable effect is present, it triggers a custom event to show a CURE bar, otherwise sends another event to hide it.

It also has a separate check for health level, and sends events to show or hide the HEALTH bar.

However, sometimes (it seems like a race condition), the CURE bar will not go away and I have to unload SB, wait a few seconds for the apartment to tear down, then load SB and all is well.

Unfortunately, this is most likely to happen during busy fights with lots of things happening (hence race condition) and I rely on the visibility of the CURE bar to let me know I need to pot something. But if it stays visible, I end up wasting skills/pots and don't have them ready when I actually do need it.

I've been going through the plugin code and I've narrowed it down to fear (at least, it seems that way most of the time). I added some script logging entries ("+" on AddPlayerEffect, "-" on RemovePlayerEffect) and captured this:

Code:
44284647.653096: + True Face of Fear - Category: 64 - Curable: true
...
44284650.342745: - True Face of Fear - Category: 64 - Curable: true
So I know the event is firing fine. I made some functions to print out current and cached player effects, and those are generally in-sync, but when this situation presents itself:

Code:
Thurallor.Utils.Watcher.playerEffectsObject.activeCategories[64] == 0
while:
Thurallor.Utils.Watcher.playerEffectsObject.activeCurableCategories[64] == 1
So it thinks I still have an active, curable fear effect which was already removed.

Nothing is jumping out at me in the code, unless it's some race condition which won't stand out. I've made some methods to debug print as well as clear all activeCurableCategories as a workaround, since it's much easier to do that than a full reload - but I'd like to have this permanently fixed.

I'll keep poking around in the code as well.
Thanks for investigating. After examing the code again, I don't see any possibility for a race condition. All changes to activeCategories and activeCurableCategories are performed atomically, and one right after the other. The other possibility that strikes me is that there could be more than one effect with the same name, but with different categories, or different curability. In that case, using the cached values for these would be an error.

Version 4.08 stops using the cached values. The performance hit should be negligible. Please give it a try and let me know if this solves your issue.
Thurallor is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-27-2022, 04:40 PM  
Thurallor
The Undying
 
Thurallor's Avatar
Interface Author - Click to view interfaces

Forum posts: 202
File comments: 458
Uploads: 20
Quote:
Originally Posted by akourbat
Unfortunately "Anthem of the Free Peoples" still only has "require target" as a single option, while slotted on bar.
HTML Code:
https://1drv.ms/u/s!AkUfQANqQ5Oy0n9U1TFn3b5aMDT9?e=h6XhN8
I'm confused. My test minstrel doesn't seem to have that skill. According to lotro-wiki, that skill is obsolete (removed in Update 12)...?

https://lotro-wiki.com/index.php/Ant...e_Free_Peoples

Edit: Never mind, I figured it out. Added "Anthem of the Free Peoples" in version 4.08.

Last edited by Thurallor : 11-27-2022 at 08:16 PM.
Thurallor is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-24-2022, 06:38 AM  
akourbat
The Wary

Forum posts: 0
File comments: 46
Uploads: 0
Quote:
Originally Posted by Thurallor
Akourbat, the skills database has now been updated. Please let me know of any remaining problems that you find

Unfortunately "Anthem of the Free Peoples" still only has "require target" as a single option, while slotted on bar.
HTML Code:
https://1drv.ms/u/s!AkUfQANqQ5Oy0n9U1TFn3b5aMDT9?e=h6XhN8

Last edited by akourbat : 11-24-2022 at 07:51 AM.
akourbat is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-24-2022, 12:31 AM  
Thurallor
The Undying
 
Thurallor's Avatar
Interface Author - Click to view interfaces

Forum posts: 202
File comments: 458
Uploads: 20
Wildcard, I am currently away from home during Thanksgiving, but I will try to isolate your issue when I get back.

Akourbat, the skills database has now been updated. Please let me know of any remaining problems that you find.
Thurallor is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-23-2022, 09:45 PM  
WildCard
The Wary
Interface Author - Click to view interfaces

Forum posts: 3
File comments: 4
Uploads: 1
Curable Effect Issue

So I've been having a somewhat annoying issue with one of my bars not going away when it should (but not all of the time).

I have a continuous run bar that basically looks at curable effects (IF/ELSE/IF... for all fear, disease, poison, wound). If a curable effect is present, it triggers a custom event to show a CURE bar, otherwise sends another event to hide it.

It also has a separate check for health level, and sends events to show or hide the HEALTH bar.

However, sometimes (it seems like a race condition), the CURE bar will not go away and I have to unload SB, wait a few seconds for the apartment to tear down, then load SB and all is well.

Unfortunately, this is most likely to happen during busy fights with lots of things happening (hence race condition) and I rely on the visibility of the CURE bar to let me know I need to pot something. But if it stays visible, I end up wasting skills/pots and don't have them ready when I actually do need it.

I've been going through the plugin code and I've narrowed it down to fear (at least, it seems that way most of the time). I added some script logging entries ("+" on AddPlayerEffect, "-" on RemovePlayerEffect) and captured this:

Code:
44284647.653096: + True Face of Fear - Category: 64 - Curable: true
...
44284650.342745: - True Face of Fear - Category: 64 - Curable: true
So I know the event is firing fine. I made some functions to print out current and cached player effects, and those are generally in-sync, but when this situation presents itself:

Code:
Thurallor.Utils.Watcher.playerEffectsObject.activeCategories[64] == 0
while:
Thurallor.Utils.Watcher.playerEffectsObject.activeCurableCategories[64] == 1
So it thinks I still have an active, curable fear effect which was already removed.

Nothing is jumping out at me in the code, unless it's some race condition which won't stand out. I've made some methods to debug print as well as clear all activeCurableCategories as a workaround, since it's much easier to do that than a full reload - but I'd like to have this permanently fixed.

I'll keep poking around in the code as well.

Last edited by WildCard : 11-23-2022 at 09:48 PM.
WildCard is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-21-2022, 11:04 PM  
akourbat
The Wary

Forum posts: 0
File comments: 46
Uploads: 0
Re: Re: Re: Re: Minstrel - Anthem of the Free Peoples

Quote:
Originally Posted by Thurallor
I would not anticipate seeing any such errors in your "If" scripts, unless you're doing something a lot more advanced than what we previously discussed.

No, my LUA scripts are simple one-liners setting a variable to boolean value and returning it in the "Ifs" as a check condition. So likely something else was causing it then. I will post exact error message if I encounter it again. Thx for clarification.
akourbat is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-21-2022, 08:16 PM  
Thurallor
The Undying
 
Thurallor's Avatar
Interface Author - Click to view interfaces

Forum posts: 202
File comments: 458
Uploads: 20
Re: Re: Re: Minstrel - Anthem of the Free Peoples

Quote:
Originally Posted by akourbat
(1) If I set a variable via user event (LUA column) to be evaluated by some "If" statement in a sequence, when I launch game clients and before fist use of event, I'd think variable doesn't exist yet, and I believe I saw some chat error messages from the plugin, complaining about having to deal with "nil" value. Unfortunately I don't have a screen. Once it's been set once (to true or false), the errors appear to go away. Is this something I should worry about, or LUA is fine dealing with undefined variables (like not throwing exceptions of something)?
As far as Lua's boolean logic is concerned, a value of nil is the same as false. So I would not anticipate seeing any such errors in your "If" scripts, unless you're doing something a lot more advanced than what we previously discussed. If you see error messages in the chat log, please note the circumstances and exact error message the next time it occurs, so I can debug it.

If one of your scripts does have an error, the plugin should gracefully handle it. The worst that should happen is that you'll see an error message in the chat window, and the script will return nil (false).

Quote:
Originally Posted by akourbat
(2) There are some "system" events the plugin makes use of - like change of target or end of combat etc. Is it possible to list them also in the event table and allow to assign LUA statements when they fire? Or this is allowed only for user-defined events? Mostly interested in "target changed" event, to manage dots. For now I am using the structure you proposed some weeks ago (extra bar watching for the target changed, and setting the LUA variable on reset).
I'll look into it. If it's not too much work, I'll add it.
Thurallor is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-21-2022, 12:42 PM  
akourbat
The Wary

Forum posts: 0
File comments: 46
Uploads: 0
Re: Re: Minstrel - Anthem of the Free Peoples

Quote:
Originally Posted by Thurallor
Yeah, what a PITA
Indeed. Hopefully they will not often make such complete reworks of skills.

Couple of other questions regarding new user event system:

(1) If I set a variable via user event (LUA column) to be evaluated by some "If" statement in a sequence, when I launch game clients and before fist use of event, I'd think variable doesn't exist yet, and I believe I saw some chat error messages from the plugin, complaining about having to deal with "nil" value. Unfortunately I don't have a screen. Once it's been set once (to true or false), the errors appear to go away. Is this something I should worry about, or LUA is fine dealing with undefined variables (like not throwing exceptions of something)?

(2) There are some "system" events the plugin makes use of - like change of target or end of combat etc. Is it possible to list them also in the event table and allow to assign LUA statements when they fire? Or this is allowed only for user-defined events? Mostly interested in "target changed" event, to manage dots. For now I am using the structure you proposed some weeks ago (extra bar watching for the target changed, and setting the LUA variable on reset).

Last edited by akourbat : 11-21-2022 at 12:43 PM.
akourbat is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-20-2022, 04:31 PM  
Thurallor
The Undying
 
Thurallor's Avatar
Interface Author - Click to view interfaces

Forum posts: 202
File comments: 458
Uploads: 20
Re: Minstrel - Anthem of the Free Peoples

Quote:
Originally Posted by akourbat
Hi, one of the anthems on minstrel - "Anthem of the Free Peoples" - appears to be missing the usual "on click/when executed" options when slotted on the bar. All the slot has is "Require Target". This sometimes gets it stuck, maybe it has no info to move on, or some such. I surrounded it with "re-evaluate continuously" but it does not help either.



Also, another of the new anthems - "Greater Anthem II - War", although has full options, but appears to ignore "when executed", both without and with "secondary detection". These were reworked recently, as part of minstrel class review, so maybe they are not in the database.


I did no test other anthems yet.
Yeah, what a PITA. I will see about updating the skills database.
Thurallor is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-19-2022, 03:33 PM  
akourbat
The Wary

Forum posts: 0
File comments: 46
Uploads: 0
Minstrel - Anthem of the Free Peoples

Hi, one of the anthems on minstrel - "Anthem of the Free Peoples" - appears to be missing the usual "on click/when executed" options when slotted on the bar. All the slot has is "Require Target". This sometimes gets it stuck, maybe it has no info to move on, or some such. I surrounded it with "re-evaluate continuously" but it does not help either.



Also, another of the new anthems - "Greater Anthem II - War", although has full options, but appears to ignore "when executed", both without and with "secondary detection". These were reworked recently, as part of minstrel class review, so maybe they are not in the database.


I did no test other anthems yet.

Last edited by akourbat : 11-19-2022 at 03:40 PM.
akourbat is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-13-2022, 12:59 PM  
Thurallor
The Undying
 
Thurallor's Avatar
Interface Author - Click to view interfaces

Forum posts: 202
File comments: 458
Uploads: 20
Re: quick question

Quote:
Originally Posted by Squ1dly1969
can a bar be linked to an action slot so that it could be activated by pressing 1 for example instead of clicking on it? odd question, but I'm trying hard to overcome a handicap.
That's actually the most frequently-asked question over the years. But it hasn't appeared on this page yet, so I guess I'll answer it again: No, that is not possible. A plugin cannot implement that functionality.

Last edited by Thurallor : 11-13-2022 at 12:59 PM.
Thurallor is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-13-2022, 12:26 PM  
Squ1dly1969
The Wary

Forum posts: 0
File comments: 1
Uploads: 0
quick question

can a bar be linked to an action slot so that it could be activated by pressing 1 for example instead of clicking on it? odd question, but I'm trying hard to overcome a handicap.
Squ1dly1969 is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-08-2022, 07:02 PM  
Thurallor
The Undying
 
Thurallor's Avatar
Interface Author - Click to view interfaces

Forum posts: 202
File comments: 458
Uploads: 20
I just thought of a problem this would cause: a race condition. If you enable "continuous evaluation" for the "if", one of your clicks could be ignored.

Suppose you are sitting on slot 4. You have clicked the skill, but the bar has not yet advanced, because it's waiting for the chat log message. Then "Seize the moment" becomes active. The "if" is reevaluated, putting you at slot 2. When the chat log message arrives, it is ignored, because slot 2 is "advance on left click". But from your (the user's) point of view, you have already clicked the skill, but the bar never advanced.

Until I figure out how to handle this, you should probably disable "continuous evaluation" in slot 1.
Thurallor is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-08-2022, 04:14 PM  
akourbat
The Wary

Forum posts: 0
File comments: 46
Uploads: 0
Quote:
Originally Posted by Thurallor
What about something like this:
1. If "Seize the moment" is active {
2. Spear and Shield (advance on left-click)
3. } else {
4. Spear and Shield (advance when skill executes)
5. }
Actually, good idea. For now, I just reverted all masteries to good old "left click", regardless of StM, but will give this a try.
akourbat is offline Report comment to moderator   Reply With Quote Reply With Quote
Post A Reply

 
Category Jump:
Search this Category:
 

All times are GMT -5. The time now is 07:29 AM.


Our Network
EQInterface | EQ2Interface | Minion | WoWInterface | ESOUI | LoTROInterface | MMOUI | Swtorui