Quantcast
Download
(12 Kb)
Download
Updated: 10/10/21 11:49 AM
Pictures
File Info
Compatibility:
Waking Flame (7.1.5)
Updated:10/10/21 11:49 AM
Created:06/20/18 05:41 AM
Monthly downloads:18,379
Total downloads:170,359
Favorites:172
MD5:
Categories:Casting Bars, Cooldowns, Combat Mods
7.1.5
Light Attack Helper  Updated this week!  Popular! (More than 5000 hits)
Version: 4.1
by: kafeijao [More]
Light Attack Helper is a tool that helps you track your light attacks, it does this by incrementing a counter each time you actually hit a light attack.

Changelog
Version 4.1
  • Fixed for the german localization.
Version 4.0
  • Fixed the addon for the current patch (Sorry for the delay).
  • Added a debug mode, check bellow how to use if you are having issues.
Version 3.5 - IMPORTANT CHANGE
This addon depends on the following libraries:
When you start to do light attack weaving normally you either do it too fast or too slow, the ideal is doing as fast as possible but still having the light attacks to register, this is where this addon comes in handy, to help you finding the sweet spot.

Since these days the light attacks are the most damaging ability, one of the best ways to improve dps is actually to perform better your light attack weaving. Light attack weaving is always using a light attack in between your skill abilities, this paired with animation canceling of the light attacks makes your damage spike, you can check on youtube for videos about Elder Scrolls Online animation canceling for further information.

The la/s is the light attacks per second from a fight. So if you want to push yourself try to increase this number as much as possible in your fights. I am tracking the light attacking information from the server, so the times will be influenced by your latency(ping), and the latency(ping) is not very constant so you might find a bit of floating values.

You can use /laprintfull to see the statistics from the parse, for example the max and min values to see if your parse was falwless, for example if you get a minimum lower than 800ms probably it means that you did 2 light attacks without a skill in between, and if the maximum is higher than 1800 probably means that you used two skills without a light attack in between (This of course depends on the skills used, as channeled skills will have a much longer light attack time in between).

Commands:
  • /laprint - Prints the last combat's light attack / s ratio.
  • /laprintfull - Prints the last combat's full statisctics.
  • /lapost - Posts to the chat the last combat's light attack / s ratio (send to people).
  • /lapostfull - Posts to the chat the last combat's full statisctics (send to people)
  • /lareset - Resets the light attack counter to 0.


Notes:
  1. The counter for ranged attacks will increment as soon as you shoot the light attack (if it knows it will hit) instead of when it actually hits, if it was on actual hit it would count the light attack after you barswap (if you do bar swap animation cancel) which feels a bit weird if you have the option to reset on barswap.
  2. The addon will not detect medium attacks from lightning and restoration staves, even if you enable counting the Heavy Attacks in the settings.


DEBUG
If the addon is not counting a Light or Heavy Attacks for a particular weapon, or at all (maybe because a different language) follow this instructions and post it in the comments.
  1. Enable Debug Mode in the addon settings (it's at the bottom of the settings).
  2. Type /reloadui in your chat to clear the chat.
  3. Using an attack dummy in a player house, perform a single Heavy or Light attack (the one that is not counting).
  4. You will see a bunch of information in the chat. Take a screenshot all the info (you might need several screenshots if it's a lot of info).
  5. Post the screenshot(s) in the comments section AND provide the information: Type of weapon (eg: Duel Wield), Game Language (eg: English), and a brief description of the problem.

Thanks
Thanks @wambo for implementing LibChatMessage and making the libraries external.
Thanks WalterMort, FAR747, Beltroniko, mjbc, and nogetrandom for helping in the comments in my absence.
Thanks Anubis for providing the fix for the german localization.
Version 4.1
+ Fixed the strings for the german language.

Version 4.0
+ Fixed the ability names checking for the new DLC.
+ Fixed the count on Heavy attacks to not proc a single time.
+ Added a debug mode to be able to get logs from the users in case of issues.
+ API Bump

Version 3.5
+ Removed included libraries, now you need to install LibAddonMenu-2.0 and LibChatMessage libraries.
+ Implemented LibChatMessage (by @wambo)
+ API Bump

Version 3.4
+ Code cleanup and api Bump (I think xd).

Version 3.3
+ Code cleanup and api Bump.

Version 3.3
+ Fixed one issue where light attacks were not being detected on ranged attacks.

Version 3.2
+ Fixed one issue that happened when grouped.


Version 3.1
  • Added the display light attacks per second.
  • Changed the settings menu for better hide/show components.
  • Added the command /laprint /laprintfull /lapost /lapostfull to display statistics from the last fight.
  • Added event filters to improve performance.

Version 3.0
  • Added the display of the milliseconds between each light attack.
  • Added the option to hide and set the size for the milliseconds part on the settings.
  • Added the command /laprint to display statistics from the last fight.

Version 2.2
  • Added support for German and French clients. Maybe Japanese aswell (needs testing)

Version 2.1
  • Added font options on settings (Font, size, border, and color).
Optional Files (1)
File Name
Version
Size
Author
Date
Type
3.6
10kB
07/17/21 03:05 AM
Patch


Archived Files (10)
File Name
Version
Size
Uploader
Date
4.0
12kB
kafeijao
10/09/21 05:39 AM
3.5
11kB
kafeijao
05/22/20 02:29 PM
3.4
56kB
kafeijao
03/11/19 09:23 PM
3.3
56kB
kafeijao
10/10/18 05:02 PM
3.2
56kB
kafeijao
10/10/18 03:49 PM
3.1
56kB
kafeijao
10/10/18 09:20 AM
3.0
53kB
kafeijao
07/13/18 08:37 AM
2.2
51kB
kafeijao
07/05/18 07:33 PM
2.1
49kB
kafeijao
07/03/18 01:08 PM
2.0
49kB
kafeijao
06/20/18 05:41 AM


Post A Reply Comment Options
Unread 10/10/21, 11:51 AM  
kafeijao
AddOn Author - Click to view AddOns

Forum posts: 11
File comments: 53
Uploads: 7
Originally Posted by Anubis
For german you need just two new words in "String-De.lua" because of your new find-function you are using in "LightAttackHelper.lua". the rest is just emnt as a comment to show that in german every weapon gets an unique string as abilityName.

--[[
LightAttacks:
noWeapon => "leichter Faustangriff^m",
1H => "leichter Einzelangriff^m",
Dual => "leichter Doppelangriff^m",
2HD => "leichter Doppelangriff^m",
BOW => "leichter Bogenangriff^m",
LIGHTSTAFF => "leichter Schockangriff^m",
FLAMESTAFF => "leichter Flammenangriff^m",
ICESTAFF ="leichter Frostangriff^m",
HEALSTAFF ="leichter Heilerangriff^m",
HeavyAttacks:
noWeapon => "schwerer Faustangriff^m",
1H => "schwerer Einzelangriff^m",
Dual => "schwerer Doppelangriff^m",
2HD => "schwerer Doppelangriff^m",
BOW => "schwerer Bogenangriff^m",
LIGHTSTAFF => "schwerer Schockangriff^m",
FLAMESTAFF => "schwerer Flammenangriff^m",
ICESTAFF ="schwerer Frostangriff^m",
HEALSTAFF ="schwerer Heilerangriff^m",
]]


local strings = {
LAH_LIGHT_ATTACK = "leichter", -- translate: "light"
LAH_HEAVY_ATTACK = "schwerer", -- translate: "heavy"
}
Thanks, I've updated it. If there is some other issue, do tell!
Report comment to moderator  
Reply With Quote
Unread 10/10/21, 10:17 AM  
Anubis

Forum posts: 3
File comments: 23
Uploads: 0
For german you need just two new words in "String-De.lua" because of your new find-function you are using in "LightAttackHelper.lua". the rest is just emnt as a comment to show that in german every weapon gets an unique string as abilityName.

--[[
LightAttacks:
noWeapon => "leichter Faustangriff^m",
1H => "leichter Einzelangriff^m",
Dual => "leichter Doppelangriff^m",
2HD => "leichter Doppelangriff^m",
BOW => "leichter Bogenangriff^m",
LIGHTSTAFF => "leichter Schockangriff^m",
FLAMESTAFF => "leichter Flammenangriff^m",
ICESTAFF ="leichter Frostangriff^m",
HEALSTAFF ="leichter Heilerangriff^m",
HeavyAttacks:
noWeapon => "schwerer Faustangriff^m",
1H => "schwerer Einzelangriff^m",
Dual => "schwerer Doppelangriff^m",
2HD => "schwerer Doppelangriff^m",
BOW => "schwerer Bogenangriff^m",
LIGHTSTAFF => "schwerer Schockangriff^m",
FLAMESTAFF => "schwerer Flammenangriff^m",
ICESTAFF ="schwerer Frostangriff^m",
HEALSTAFF ="schwerer Heilerangriff^m",
]]


local strings = {
LAH_LIGHT_ATTACK = "leichter", -- translate: "light"
LAH_HEAVY_ATTACK = "schwerer", -- translate: "heavy"
}
Report comment to moderator  
Reply With Quote
Unread 10/09/21, 05:58 AM  
kafeijao
AddOn Author - Click to view AddOns

Forum posts: 11
File comments: 53
Uploads: 7
Sorry for the delay guys. I fixed the add-on. Thanks for all the comments helping fixing it in my absence!!

I hope it's working for everyone now, if not check the new DEBUG section in the add-on description and follow the instructions so I can see what the problem is and fix it
Report comment to moderator  
Reply With Quote
Unread 07/23/21, 08:06 PM  
BjornTheRipper

Forum posts: 1
File comments: 10
Uploads: 0
Re: It works but counter stuck on 0?

Originally Posted by wgcutless
I downloaded and helper is showing up the per second meter is functioning but the larger counter is not any idea why it is stuck at 0?
Same. Just installed and stays at 0 when LA/weaving then ls/s stuck at .02
Report comment to moderator  
Reply With Quote
Unread 07/17/21, 05:15 PM  
wgcutless
 
wgcutless's Avatar

Forum posts: 0
File comments: 8
Uploads: 0
It works but counter stuck on 0?

I downloaded and helper is showing up the per second meter is functioning but the larger counter is not any idea why it is stuck at 0?
Report comment to moderator  
Reply With Quote
Unread 07/12/21, 12:19 PM  
ake

Forum posts: 0
File comments: 4
Uploads: 0
Thanks man!

Originally Posted by nogetrandom
changed it to check for abilityId matching tables i added instead of name:

https://mega.nz/file/DnghwCYK#-4kVLE...tehBcvhpuRgdmc

haven't used mega to share before, but i hope you guys can access it.

Updated heavy and medium attacks to only count as 1 each.
Report comment to moderator  
Reply With Quote
Unread 07/11/21, 07:13 AM  
staraven

Forum posts: 0
File comments: 6
Uploads: 0
Duel Wielder not working

Most recent version 3.5 does not register any duel wield hits. Replaced the 4 files with the content posted on Mega and it now works. THANKS
Last edited by staraven : 07/11/21 at 07:18 AM.
Report comment to moderator  
Reply With Quote
Unread 06/28/21, 04:10 PM  
claudioalbarran

Forum posts: 0
File comments: 1
Uploads: 0
LA Counter not working after U29

Does anyone has been able to find a workaround?
Report comment to moderator  
Reply With Quote
Unread 06/21/21, 05:26 PM  
miguelcura

Forum posts: 0
File comments: 2
Uploads: 0
Originally Posted by nogetrandom
changed it to check for abilityId matching tables i added instead of name:

https://mega.nz/file/DnghwCYK#-4kVLE...tehBcvhpuRgdmc

haven't used mega to share before, but i hope you guys can access it.

Updated heavy and medium attacks to only count as 1 each.
TY !!!
Last edited by miguelcura : 06/21/21 at 05:29 PM.
Report comment to moderator  
Reply With Quote
Unread 06/06/21, 06:44 PM  
nogetrandom

Forum posts: 1
File comments: 15
Uploads: 0
changed it to check for abilityId matching tables i added instead of name:

https://mega.nz/file/DnghwCYK#-4kVLE...tehBcvhpuRgdmc

haven't used mega to share before, but i hope you guys can access it.

Updated heavy and medium attacks to only count as 1 each.
Last edited by nogetrandom : 06/07/21 at 06:47 AM.
Report comment to moderator  
Reply With Quote
Unread 06/06/21, 10:52 AM  
1Entaro

Forum posts: 0
File comments: 3
Uploads: 0
Originally Posted by vinadre
hi
I think new effects are not implemented in the code, you can remove effect name like this :

Code:
if abilityActionSlotType == ACTION_SLOT_TYPE_LIGHT_ATTACK and LightAttackHelper.playerName == sourceName and string.gsub(abilityName,"[ ][(](%a+)[)]","") == GetString(LAH_LIGHT_ATTACK) and LightAttackHelper.isTheActualAttackCast(hitValue) then
I only try with my Fire and Lightning staff
I notice this work with staffs and bow but not melee
Report comment to moderator  
Reply With Quote
Unread 06/04/21, 06:30 PM  
vinadre

Forum posts: 1
File comments: 1
Uploads: 0
hi
I think new effects are not implemented in the code, you can remove effect name like this :

Code:
if abilityActionSlotType == ACTION_SLOT_TYPE_LIGHT_ATTACK and LightAttackHelper.playerName == sourceName and string.gsub(abilityName,"[ ][(](%a+)[)]","") == GetString(LAH_LIGHT_ATTACK) and LightAttackHelper.isTheActualAttackCast(hitValue) then
I only try with my Fire and Lightning staff
Last edited by vinadre : 06/05/21 at 03:27 AM.
Report comment to moderator  
Reply With Quote
Unread 06/04/21, 06:16 AM  
python1980

Forum posts: 0
File comments: 9
Uploads: 0
Yeah you got it. It works very well, thank you a lot.




Originally Posted by Beltroniko
But which weapons you were using? Dual Wield? like dual daggers?

You could try this one instead of the one I posted:

Code:
if abilityActionSlotType == ACTION_SLOT_TYPE_LIGHT_ATTACK and LightAttackHelper.playerName == sourceName and string.find(tostring(abilityName),"leichter") and string.find(tostring(abilityName),"angriff") and LightAttackHelper.isTheActualAttackCast(hitValue) then
But I can't test it, so I'm not sure if it works, if it does it will only work for german and I'm not even sure if it would work for all weapon types or types different from the one you used

I hope someone can jump in and get a much better fix for the issue
Report comment to moderator  
Reply With Quote
Unread 06/04/21, 06:10 AM  
python1980

Forum posts: 0
File comments: 9
Uploads: 0
yes dual weapon



Originally Posted by Beltroniko
But which weapons you were using? Dual Wield? like dual daggers?

You could try this one instead of the one I posted:

Code:
if abilityActionSlotType == ACTION_SLOT_TYPE_LIGHT_ATTACK and LightAttackHelper.playerName == sourceName and string.find(tostring(abilityName),"leichter") and string.find(tostring(abilityName),"angriff") and LightAttackHelper.isTheActualAttackCast(hitValue) then
But I can't test it, so I'm not sure if it works, if it does it will only work for german and I'm not even sure if it would work for all weapon types or types different from the one you used

I hope someone can jump in and get a much better fix for the issue
Report comment to moderator  
Reply With Quote
Unread 06/04/21, 06:04 AM  
Beltroniko

Forum posts: 0
File comments: 5
Uploads: 0
But which weapons you were using? Dual Wield? like dual daggers?

You could try this one instead of the one I posted:

Code:
if abilityActionSlotType == ACTION_SLOT_TYPE_LIGHT_ATTACK and LightAttackHelper.playerName == sourceName and string.find(tostring(abilityName),"leichter") and string.find(tostring(abilityName),"angriff") and LightAttackHelper.isTheActualAttackCast(hitValue) then
But I can't test it, so I'm not sure if it works, if it does it will only work for german and I'm not even sure if it would work for all weapon types or types different from the one you used

I hope someone can jump in and get a much better fix for the issue
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: