FAQ  •  Register  •  Login

Issues with getting the timers right

Moderator: MiRai

<<

oldgoat

Posts: 35

Joined: Mon Dec 29, 2014 2:01 pm

Post Tue Dec 30, 2014 2:07 pm

Issues with getting the timers right

Hi there, so I'm born anew with some help from fireskue17 and am trying to do a whole new shebang.
However, I'm encountering problems with timing my rotations.

I do honor the global cooldown with a 1.5s extra delay on all spells cast, so a spell with a cast duration of 10 in everquest becomes a "do not advance until 2.5s have passed"

First lines of DPS Rotation key:
Code:
Do Nec 1: Chaotic Liquefaction in Combat Necro Key map -> self
Do Nec 2: Ignite Thoughts in Combat Necro Key map -> self
...etc


The key "Nec 1: Chaotic Liquefaction" looks like this:
Code:
Timer Pool: "Nec 1: Chaotic Liquefaction" Reset -> Self
Nec 1: Chaotic Liquefaction in Combat Necro Key Map 'off' -> self
Nec 1: Chaotic Liquefaction in Combat NEcro Key Map 'On' -> self - Nec 1: Chaotic Liquefaction in 54 secs
Alt-1 -> self


Question 1: WHERE do I choose the "Do not advance..." instruction?
In the rotation key?
In the spell casting key?
Not really any of the above, but somewhere entirely different??

I just need a good instruction on how to get the timings correctly.
Also, as different dots have different timers, how do I avoid that the global cooldown isn't engaged when one of the timers pop up?

hope you understand the questions -
For reference, here are my pasted preferences, and the offending (not working) classes are the druid and the necro.
http://www.privatepaste.com/4995b51a14
<<

oldgoat

Posts: 35

Joined: Mon Dec 29, 2014 2:01 pm

Post Wed Dec 31, 2014 9:40 am

Re: Issues with getting the timers right

Follow-up question:

I had the wrong stuff going on, now I feel that I am closer:

For a spell cast inside a DPS Rotation key map:

Ensure that the DPS Rotation 'advanced' resets to step 1 after {default}

Code:
.1 Reset (cancel) the timer for that spell
.2 Disable that spell from the Dps Rotation Key map
.3 Enable that spell again from the Dps Rotation Key map after xxx seconds
.4 Disable The entire DPS Rotation Keymap on this character
.5 Enable the entire DPS Rotation Keymap on this character after spell + global cooldowns
.6 Do the actual keypress


I believe that lines 4 and 5 in my map are causing ALL timers to go off whack.

Following on all advice and great posts;
since the Keymap "Combat Hotkeys" (as in the Pro configuration) is on for all characters, is it so that if I disable it from one character, it actually gets disabled for all?
<<

lax

User avatar

Site Admin

Posts: 7301

Joined: Tue Nov 17, 2009 9:32 pm

Post Wed Dec 31, 2014 11:21 am

Re: Issues with getting the timers right

Question 1: WHERE do I choose the "Do not advance..." instruction?
In the rotation key?

Presumably your "DPS Rotation" under "Combat Hotkeys" has exactly one Step. Putting "Do not advance" here does nothing because there's nothing to advance to. However, if you want your Nec's rotation to not advance, you would put it in your Nec's DPS Rotation.

Also, as different dots have different timers, how do I avoid that the global cooldown isn't engaged when one of the timers pop up?

Unless you manage to perfectly time everything, you can't. The global cooldown can be active and ISBoxer cannot determine that.

I believe that lines 4 and 5 in my map are causing ALL timers to go off whack.

Yes and no. Turning off the Mapped Key is going to have the effect of resetting everything built into the Mapped Key (reset timers, do not advance, disabled/enabled steps, etc), but will not affect Action Timers -- those are still going to happen.

What you want to do here is disable the DPS Rotation Mapped Key in Virtual Combat instead of in your Combat Necro Key Map. This will give you the same capability of disabling the rotation, but without affecting ANYTHING built into the Mapped Key -- it will remain on the same Step, it will retain all of its timings, etc.

since the Keymap "Combat Hotkeys" (as in the Pro configuration) is on for all characters, is it so that if I disable it from one character, it actually gets disabled for all?

The Combat Hotkeys key map only activates things when you press Hotkeys. Unless you intend to deactivate the Hotkeys, don't disable Combat Hotkeys at all. If you disable Combat Hotkeys for one Character, then while you are in that window it will be unable to activate any of the Hotkeys, but switching to any other window will activate the Hotkeys. Since you're not disabling the class-specific DPS Rotation in this question, the DPS Rotation can still be activated by the Combat Hotkeys in another window -- by switching to some other window that Combat Hotkeys is not disabled in, and pressing the Hotkey.

You would probably want to disable something in the class-specific Key Map, or Virtual Combat, instead of disabling Combat Hotkeys in this scenario.
<<

oldgoat

Posts: 35

Joined: Mon Dec 29, 2014 2:01 pm

Post Wed Dec 31, 2014 12:24 pm

Re: Issues with getting the timers right

I'm getting MUCH closer now to what I want - final piece of the puzzle:

how long does each step within an Mapped key action take to execute? do you have a thread.sleep(XX) between each of them?

I'm thinking about those "turn off timer", reset timer this etc that are all bunched up around each class-specific keypress.
<<

firescue17

User avatar

League of Extraordinary Multiboxers

Posts: 584

Joined: Wed Sep 19, 2012 7:37 am

Location: Omaha, NE

Post Wed Dec 31, 2014 1:01 pm

Re: Issues with getting the timers right

oldgoat wrote:how long does each step within an Mapped key action take to execute?
We don't know, nor will your ISBoxer profile tell us. You will need to time each /social and see how long it takes to execute.

oldgoat wrote:do you have a thread.sleep(XX) between each of them?
This the purpose of blocking keypresses explicitely per character. While the Key Map or Mapped Key is off, input (keypresses) is blocked to that character. The character IS asleep. When the Key Map or Mapped Key turns back on and allows the next keypress through, essentially the characer is saying, "I'm done with the last /social, give me a new command."

At which point, 1 keypress goes through, the Key Map or Mapped Key turns back off; and that specific character goes back to sleep until the /social is done. Rinse and repeat over and over and over.

The purpose of turning off per character is precisely because we don't know how long each /social takes, nor how the time to execute will sync up with other characters. Keep spamming the DPS key, and each character will accept one, and only one, keypress whenever it is ready.

In my videos, the big red numbers counting down each second visualize what is happening with the state of the Keymap. While it is ticking down, the Key Map is off, the character is asleep, and will not accept a new assist, DPS, or follow command. When the numbers stop, the Key Map is back on, and the character is awake and waiting for input.
<<

oldgoat

Posts: 35

Joined: Mon Dec 29, 2014 2:01 pm

Post Thu Jan 01, 2015 3:21 am

Re: Issues with getting the timers right

Seems to be working fine now. The key was to add a second timer group for the specific class's cooldowns.
i.e., for druid, I'll have a "Druid Spellcooldown" which is used to disable/enable the virtual combat keymap, while each spell and ability have their own timers.

I do however experience some frequent crashes now. Not sure what they're related to. I'm sending in all reports to lax, he'll have a busy time ahead :)
<<

lax

User avatar

Site Admin

Posts: 7301

Joined: Tue Nov 17, 2009 9:32 pm

Post Thu Jan 01, 2015 11:46 am

Re: Issues with getting the timers right

Your crashes are from your class-specific Assist mappings.

Each of them inexplicably includes a Key Map State Action to turn the current Key Map ON. The Key Map is already on or the Mapped Key that's in the Key Map would be unable to function. Remove these extraneous Key Map State Actions from each "Assist" and it will probably stop crashing. (Combat Necro's Assist actually turns on Combat Druid, which is also bad ;) )
<<

oldgoat

Posts: 35

Joined: Mon Dec 29, 2014 2:01 pm

Post Fri Jan 02, 2015 11:15 am

Timers again.. I'm not getting it!

I'm sorry for spamming, but I'm just not getting the timers to work correctly for me.

I have a rotation for my Necromancer. Timing is everything for her.

The full rotation is 8 spells, however, these are the first ones:
1: Pyre of Jarob, cast time 2.2, Duration 30s
2: Ignite Synapses, cast time 2.2, Duration 30s
3: Marmat's Swift LifeDraw, cast time 2.3, Duration 12s
4: Mazub's FlashBlaze, cast time 2.2, Duration 12s

Global cooldown for me is 1.5s, this varies for everyone.
Assisting on xtargets takes 0.3s

Now, IF I HAD put a /social in EQ, I would've written it like this:

Code:
/pause 37,/cast 1
/pause 37,/cast 2
/pause 38,/cast 3
/pause 37,/cast 4
/sit


I had this running for a year or two. It works flawlessly, however, it takes a full 14.9s to run, which is bad. On the good side, DPS is high as heck.

First, my DPS Rotation calls the 8 mapped keys, where each Step is a new mapped key that does:

Mapped Key, Dot Spell
Code:
1. Press the key that actually invokes the spell

2. Reset caster's spell cooldown timer
3. Turn off Virtual Combat Keymap
4. Turn on Combat Keymap again after [MY PROBLEMATIC TIME] seconds (Should be spell cast time + gcd)

5. Reset(cancel) the timer for The particular spell's timer
5. Disable that spell step in the DPS Rotation
6. Enable that spell in the DPS rotation after the DOT duration is out

So, each and every spell does this. I do not map the keys to a spell directly, but to EQ socials, i.e. for the first one:

Code:
/stand
/pause 37,/cast 1
/sit


So the social itself also keeps a timer. What gets to me is that even when adding a FULL Second in [MY PROBLEMATIC TIME], the spells do not go in sequence, nor do they engage. I need to understand what is causing this lag, so that I can adjust to it. What times are I missing that throw off this scheme?

Simply adding 0.5s to a spell cast is going to reduce dps significantly.

So I need help in understanding exactly how to calculate the correct times in IsBoxer in order to have a spell rotation that is AS optimal as using macros, but without the burden of having to wait for that macro to finish. If I know what boundries are caused by IsBoxer then I can adjust for that, of course.

Factors that may or may not apply (I dont know)
* All my spell timers are Reset on assist (not the spell cooldown, of course)
* On assist, I also re-enable all steps. If a spell in-game isn't ready to be cast, to hell with it :)
* In the DPS Rotation, I have the "do not advance next step until 0.1s" checked under "Advanced"
* The spam key is being hit every 650ms (G-13) while held, ensuring frequent rotation hits
* I typically see lag in EQ at around 50-55ms.
* My necro is on a separate computer, but I have exatcly the same issues on the cleric, which is on the same computer as my melee toons. It's <12ms on gigabit ethernet.

Possibles:
* I have ONE spell cooldown timer for all spells belonging to the necro. (and a diffeent one for druid, encahnter etc) so the characters only affect their own spell cooldowns (as it should be)

IF anyone of you have a successful DPS Rotation that involves DoT spells, please enlighten me as to what I'm doing wrong. I suspect that I'm not dealing with the timers correctly still. Should I perhaps limit the number of timers on each spell to 1? including the global cooldown?

Is it at all possible to get IsBoxer to get this degree of resolution (within .2-.3 seconds) or do I have to deal with whole seconds?
<<

bob

User avatar

League of Extraordinary Multiboxers

Posts: 4580

Joined: Sat Feb 15, 2014 11:14 am

Location: In the dining room, with the lead pipe.

Post Fri Jan 02, 2015 11:31 am

Re: Timers again.. I'm not getting it!

Do you have a full config? viewtopic.php?f=8&t=13

I ask because I am wondering what timers are used where, and what the Global Cooldown Timer is and most importantly, what your targeting is like.
<<

oldgoat

Posts: 35

Joined: Mon Dec 29, 2014 2:01 pm

Post Fri Jan 02, 2015 11:38 am

Re: Timers again.. I'm not getting it!

bob wrote:Do you have a full config? viewtopic.php?f=8&t=13

I ask because I am wondering what timers are used where, and what the Global Cooldown Timer is and most importantly, what your targeting is like.


Sure, here: http://www.privatepaste.com/f3adde5bb1

My targetting happens during assist. I have a social in EQ that does:
Code:
/pause 3,/xtarget target 1

(Xtarget 1 = Group Assist's Target)

The /pause here is not connected to the global cooldown btw.
Global spell cooldown is 1.5s for me, so a spell with 2.2s cast time:
2.2s spell casting
1.5s global spell cooldown
3.7s ready for next spell

In IsBoxer, I re-enable ALL steps, and cancel all timers when that same key is pressed.
I have 6 boxes as you can see, but focus on the Necro, if I understand one, I can set all the others right :)

Thanks for looking!
Next

Return to ISBoxer Pro Configuration

Who is online

Users browsing this forum: No registered users and 4 guests