Search the database
Search forum topics
Search members
Search for trades
diablo2.io is supported by ads
diablo2.io is supported by ads
21 replies   1776 views
2

Description

Hey folks,

are you like me? Do you have a few mediocre Call To Arms on characters with varying +skills? Do you know the situation that you never know how long your BO or BC will last because the game doesn't tell you?
(If you can turn on timers somewhere in the settings I'm going to feel like a complete fool)

So I made a little tool called CtATracker! It lets you link your buff hotkeys to a neat (imo) overlay that shows how much time you’ve got left on each skill. No game hooking, no hacks, safe to use. It gives you a little overlay in the game. You can add any kind of skill to it, it does the calculations including synergies. The most common ones are included, but it's super easy to add your own.
Source code & .exe and all details are here.

If you like my work and want to support me, here is my patreon

Let me know what you think :)

edit: F10 should now bind properly
Description by SuperIllu
5

Can be used to make Runewords:

7
Hey folks,

are you like me? Do you have a few mediocre Call To Arms on characters with varying +skills? Do you know the situation that you never know how long your BO or BC will last because the game doesn't tell you?
(If you can turn on timers somewhere in the settings I'm going to feel like a complete fool)

So I made a little tool called CtATracker! It lets you link your buff hotkeys to a neat (imo) overlay that shows how much time you’ve got left on each skill. No game hooking, no hacks, safe to use. It gives you a little overlay in the game. You can add any kind of skill to it, it does the calculations including synergies. The most common ones are included, but it's super easy to add your own.
Source code & .exe and all details are here.

If you like my work and want to support me, here is my patreon

Let me know what you think :)

edit: F10 should now bind properly

All prices are negotiable. All trades are Non-Ladder (unless explictly stated).
Please comment on trades or send messages before sending a friend request. I'm not always on Bnet, I might miss them.
7
Thanks, works great.

I built from source, and had no issues. Nice and clean.
I'm going to try and add new skills, like
Werewolf
.

Thank you for your work.
7
Found another very useful use case:
By setting up a finishing move with a calculation of 15s, one can keep track of the assasin charges duration.
7
OP
Ungern wrote: 4 months ago
Found another very useful use case:
By setting up a finishing move with a calculation of 15s, one can keep track of the assasin charges duration.
oh nice, didn't even think about it - though they must be on the keyboard, I don't think mouse buttons work

All prices are negotiable. All trades are Non-Ladder (unless explictly stated).
Please comment on trades or send messages before sending a friend request. I'm not always on Bnet, I might miss them.
7
Ungern wrote: 4 months ago
Found another very useful use case:
By setting up a finishing move with a calculation of 15s, one can keep track of the assasin charges duration.
It'd be nice to also track
Feral Rage
and
Maul: Skill
.
7
SuperIllu wrote: 4 months ago
Ungern wrote: 4 months ago
Found another very useful use case:
By setting up a finishing move with a calculation of 15s, one can keep track of the assasin charges duration.
oh nice, didn't even think about it - though they must be on the keyboard, I don't think mouse buttons work

I see your point. Haven't tried with mouse. I play with finisher on the keyboard. I use mouse only for movement. walk and
Teleport
.
I took a peek at the code. C# is not really my thing, I work with Java (I'm old...), but maybe by adding a mouse hook manager, something like:

Code: Select all

 public partial class Form1 : Form
    {
        private readonly KeyboardHookListener m_KeyboardHookManager;
        private readonly MouseHookListener m_MouseHookManager;
        public Form1()
        {
            InitializeComponent();
            m_KeyboardHookManager = new KeyboardHookListener(new GlobalHooker());
            m_KeyboardHookManager.Enabled = true;
            m_KeyboardHookManager.KeyDown += HookManager_KeyDown;
            m_KeyboardHookManager.KeyUp += HookManager_KeyUp;



            m_MouseHookManager = new MouseHookListener(new GlobalHooker());
            m_MouseHookManager.Enabled = true;
            m_MouseHookManager.MouseDown += HookManager_MouseDown;
            m_MouseHookManager.MouseUp += HookManager_MouseUp;

        }

        private void HookManager_KeyDown(object sender, KeyEventArgs e)
        {
            // TO DO: set skill key
        }
        
         private void HookManager_MouseDown(object sender, MouseEventArgs e)
        {
             // TO DO: set skill button
        }

If this is dumb, please ignore.
7
OP
Trang Oul wrote: 4 months ago
Ungern wrote: 4 months ago
Found another very useful use case:
By setting up a finishing move with a calculation of 15s, one can keep track of the assasin charges duration.
It'd be nice to also track
Feral Rage
and
Maul
.
If you use them on a keyboard hotkey, I can add them. Keep in mind though, that it will always assume you hit since it cannot know if you missed.

All prices are negotiable. All trades are Non-Ladder (unless explictly stated).
Please comment on trades or send messages before sending a friend request. I'm not always on Bnet, I might miss them.
7
Trang Oul wrote: 4 months ago
Ungern wrote: 4 months ago
Found another very useful use case:
By setting up a finishing move with a calculation of 15s, one can keep track of the assasin charges duration.
It'd be nice to also track
Feral Rage
and
Maul
.
In the skills.yml file on the install dir: Add these lines at the end:

Code: Select all

- name: Feral Rage
  shortName: FR
  calculation: "20"
7
OP
Ungern wrote: 4 months ago
SuperIllu wrote: 4 months ago
Ungern wrote: 4 months ago
Found another very useful use case:
By setting up a finishing move with a calculation of 15s, one can keep track of the assasin charges duration.
oh nice, didn't even think about it - though they must be on the keyboard, I don't think mouse buttons work

I see your point. Haven't tried with mouse. I play with finisher on the keyboard. I use mouse only for movement. walk and
Teleport
.
I took a peek at the code. C# is not really my thing, I work with Java (I'm old...), but maybe by adding a mouse hook manager, something like:

Code: Select all

 public partial class Form1 : Form
    {
        private readonly KeyboardHookListener m_KeyboardHookManager;
        private readonly MouseHookListener m_MouseHookManager;
        public Form1()
        {
            InitializeComponent();
            m_KeyboardHookManager = new KeyboardHookListener(new GlobalHooker());
            m_KeyboardHookManager.Enabled = true;
            m_KeyboardHookManager.KeyDown += HookManager_KeyDown;
            m_KeyboardHookManager.KeyUp += HookManager_KeyUp;



            m_MouseHookManager = new MouseHookListener(new GlobalHooker());
            m_MouseHookManager.Enabled = true;
            m_MouseHookManager.MouseDown += HookManager_MouseDown;
            m_MouseHookManager.MouseUp += HookManager_MouseUp;

        }

        private void HookManager_KeyDown(object sender, KeyEventArgs e)
        {
            // TO DO: set skill key
        }
        
         private void HookManager_MouseDown(object sender, MouseEventArgs e)
        {
             // TO DO: set skill button
        }

If this is dumb, please ignore.
I think the technical solution should be doable, I'm more concerned about the logical part. Every time you click it will reset the timer, not necessarily when Mosaic does its thing.
I can add it as an opt-in experimental feature and we can see if it works sufficiently.

All prices are negotiable. All trades are Non-Ladder (unless explictly stated).
Please comment on trades or send messages before sending a friend request. I'm not always on Bnet, I might miss them.
7
SuperIllu wrote: 4 months ago
I think the technical solution should be doable, I'm more concerned about the logical part. Every time you click it will reset the timer, not necessarily when Mosaic does its thing.
I can add it as an opt-in experimental feature and we can see if it works sufficiently.
I see your point. But it would be impossible to detect a miss without interfering with the process in some way.
For
Dragon Talon
, it seldom misses, I did 3 quick Chaos runs with it on timer and it never failed to show acurate time left.

But for
Feral Rage
, I can see the problem. I have a wolf barb. I'll test tomorrow after work.
7
Ungern wrote: 4 months ago
SuperIllu wrote: 4 months ago
I think the technical solution should be doable, I'm more concerned about the logical part. Every time you click it will reset the timer, not necessarily when Mosaic does its thing.
I can add it as an opt-in experimental feature and we can see if it works sufficiently.
I see your point. But it would be impossible to detect a miss without interfering with the process in some way.
For
Dragon Talon
, it seldom misses, I did 3 quick Chaos runs with it on timer and it never failed to show acurate time left.

But for
Feral Rage
, I can see the problem. I have a wolf barb. I'll test tomorrow after work.
I did a quick test. The main issue is not so much the misses — those can generally be ignored. The main issue is that, unlike, for example,
Battle Orders
, the easiest way to use a skill like
Feral Rage
is to keep the button down, whether it's the keyboard or mouse.
It can be solved, but it will be somewhat complex and probably would reduce the ease with which one can add new skills.
7
Ungern wrote: 4 months ago
For
Dragon Talon
, it seldom misses, I did 3 quick Chaos runs with it on timer and it never failed to show acurate time left.
This may be the reason:
Blizzard wrote:
https://news.blizzard.com/en-us/article ... e#assassin

Dragon Talon

Now always hits the target only if the Assassin has any Martial Arts charges
7
OP
I haven't played that build so I know little about the playstyle.
Would it work to start the timer on the release of the mous button?
Ungern wrote: 4 months ago
Ungern wrote: 4 months ago
SuperIllu wrote: 4 months ago
I think the technical solution should be doable, I'm more concerned about the logical part. Every time you click it will reset the timer, not necessarily when Mosaic does its thing.
I can add it as an opt-in experimental feature and we can see if it works sufficiently.
I see your point. But it would be impossible to detect a miss without interfering with the process in some way.
For
Dragon Talon
, it seldom misses, I did 3 quick Chaos runs with it on timer and it never failed to show acurate time left.

But for
Feral Rage
, I can see the problem. I have a wolf barb. I'll test tomorrow after work.
I did a quick test. The main issue is not so much the misses — those can generally be ignored. The main issue is that, unlike, for example,
Battle Orders
, the easiest way to use a skill like
Feral Rage
is to keep the button down, whether it's the keyboard or mouse.
It can be solved, but it will be somewhat complex and probably would reduce the ease with which one can add new skills.

All prices are negotiable. All trades are Non-Ladder (unless explictly stated).
Please comment on trades or send messages before sending a friend request. I'm not always on Bnet, I might miss them.
7
I don't believe so.
That was also my first thought, but you can walk and attack with the same button press.
You can do an entire Chaos run with a single button press (except for seal popping) as long as you don't stop moving and don't stop to pick up loot. Honestly, I'm not sure it can be done outside the game.

When I said previously that it would be somewhat complicated, I was thinking about starting the timer on mouse button up, but only for some skills, Then I went back and noticed that you don't really need to let go. I hadn't noticed it before because I use the mouse only for movement. But this is a bit of feature creep. As a cta timer, it work perfecly.

SuperIllu wrote: 4 months ago
I haven't played that build so I know little about the playstyle.
Would it work to start the timer on the release of the mous button?
Ungern wrote: 4 months ago
Ungern wrote: 4 months ago


I see your point. But it would be impossible to detect a miss without interfering with the process in some way.
For
Dragon Talon
, it seldom misses, I did 3 quick Chaos runs with it on timer and it never failed to show acurate time left.

But for
Feral Rage
, I can see the problem. I have a wolf barb. I'll test tomorrow after work.
I did a quick test. The main issue is not so much the misses — those can generally be ignored. The main issue is that, unlike, for example,
Battle Orders
, the easiest way to use a skill like
Feral Rage
is to keep the button down, whether it's the keyboard or mouse.
It can be solved, but it will be somewhat complex and probably would reduce the ease with which one can add new skills.
7
OP
Thanks for the good discussion. I don't think there was a clear outcome of features, so I'll leave it as is for now and will only push bug fixes.
(Ironically, BO/BC calculations were 20s short, fix is pushed)

If you have some more ideas in the future, please let me know :)

All prices are negotiable. All trades are Non-Ladder (unless explictly stated).
Please comment on trades or send messages before sending a friend request. I'm not always on Bnet, I might miss them.
7
Thank you as well. Was a good conversation.
I'll clone the new version with the fix.

I only tested
Werewolf
, and it was 20 seconds late. I just assumed I messed up the calculation. While that is still a very real possibility, it might have been the same issue. I'll test later.

Thanks again.
SuperIllu wrote: 4 months ago
Thanks for the good discussion. I don't think there was a clear outcome of features, so I'll leave it as is for now and will only push bug fixes.
(Ironically, BO/BC calculations were 20s short, fix is pushed)

If you have some more ideas in the future, please let me know :)
7
OP
The lycantropie synergy is not linear, but 20+20*level. If you know that you have at least 1 level in lycantropie you can also add a flat 20s to the
Werewolf
duration.

However, the ternary operator is also supported.

calculation: "40 + ({Lycantropy} == 0 ? 0 : (20 + {Lycantropy} * 20))"

All prices are negotiable. All trades are Non-Ladder (unless explictly stated).
Please comment on trades or send messages before sending a friend request. I'm not always on Bnet, I might miss them.
7
This would not work with a controller would it?

The fact that this isn't available in game is honestly ridiculous at this point

Currently playing SSF Offline only
93 Javazon - 91 blizz/orb sorc
91
Dragon Tail
assassin - 72 and growing FOHdin
Current goal - offline Enigma. 0.5
Ber
runes away
7
It is the flat 20 that is missing from
Werewolf
.
I'll test when I get home.

Thanks.
SuperIllu wrote: 4 months ago
The lycantropie synergy is not linear, but 20+20*level. If you know that you have at least 1 level in lycantropie you can also add a flat 20s to the
Werewolf
duration.

However, the ternary operator is also supported.

calculation: "40 + ({Lycantropy} == 0 ? 0 : (20 + {Lycantropy} * 20))"
9

Advertisment

Hide ads
999

Greetings stranger!

You don't appear to be logged in...

No matches
 

 

 

 

You haven't specified which diablo2.io user you completed this trade with. This means that you will not be able to exchange trust.

Are you sure you want to continue?

Yes, continue without username
No, I will specify a username
Choose which dclone tracking options you want to see in this widget:
Value:
Hide ads forever by supporting the site with a donation.

Greetings adblocker...

Warriv asks that you consider disabling your adblocker when using diablo2.io

Ad revenue helps keep the servers going and supports me, the site's creator :)

A one-time donation hides all ads, forever:
Make a donation