PDA

View Full Version : Spell Timer App


salimoneus
01-02-2015, 03:48 PM
I'm looking to possibly write a spell timer app, which would be triggered off spell messages from reading the live log file. I wanted to get some feedback from people who may be using an existing app, or who have thoughts on how one might be created. I realize there are several out there already, so I'm also trying to figure out how most of those work and if it's even worth the trouble to write yet another one.

My main motivation for this is for use as a buff timer, but it would also be useful for things like mez and other debuffs or cc as well.

I'm thinking the obvious way to auto-start a timer for a particular spell would be to read the live log file. Is there any sort of database or list out there that has a breakdown of spell names and cast messages?

Regarding the expiring of timers, is it true that the logs can also be used to determine when a spell fades? It seems like this method may not be full proof though since it requires being in fairly close proximity to the player or mob, and maybe not all spells will give a fade message? And thinking on it a bit more, fade messages probably aren't ideal for buffs anyway because you normally want to refresh before a fade. It seems like just using fixed timers here would work better, although this may have some issues as well since some spell timers are level and stats based. I'm sure a standard minimum value could just be used to solve that though.

Hmm, I also just got the idea for this to be a learning app, where you cast a spell, it captures the cast message and adds that spell to the database. Spells could be added and configured while you are playing, not requiring any extra editing of a spell database file or having to know exact cast messages.

Any thoughts or comments are appreciated.

maurilax
01-02-2015, 03:50 PM
not worth the trouble

http://eq.gimasoft.com/gina/Default.aspx

salimoneus
01-02-2015, 04:01 PM
not worth the trouble

http://eq.gimasoft.com/gina/Default.aspx

Interesting, have not heard of this one before. It seems like everyone I've chatted with seems to use something different. Will check it out thanks.

Keep em coming folks, at the least it would be great if we could compile a list of all decent timer type apps here in one central place.

Kaleadar
01-02-2015, 04:47 PM
The above is the best one out. You won't find a better one.

maurilax
01-02-2015, 04:52 PM
if you are looking for another project, Ill give you one I started on and didnt finish.

using the /outputfile spellbook command compare the spell book to the wikipage for that class and return the list of missing spells from the spell book. Would be nice to figure out what spells you are missing.

oldhead
01-02-2015, 08:58 PM
eqwatcher advanced as some features that can do this.

Thatt
01-03-2015, 03:06 PM
I didn't know about the /outputfile spellbook command, I'll be making use of that one myself.

I'm neither finished with my spawn/buff timer nor willing to give up the code yet, but here's what I'm doing-

I maintain a list of spells per class. That list contains min level, max level, name, resolve self, resolve other, min duration and max duration. Some spells have a fixed duration, for those spells you can set the min and max level to the level you get the spell, and the min and max duration to the duration. For most spells however, the duration slides between 2 values, so I set the min level to the level you get the spell, min duration the duration it lasts on that min level, the max level is either the level you replace the spell or the level it stops increasing duration, max duration is the duration at the max level. That way you can accurately get the spell duration at any given level. This works perfectly. Some spells within a duplicate class have the same resolve text, so you need to base the spell off the "you begin casting xxx" message; this will also prevent buff timers popping up for things other people cast. The wiki is all kinds of fucked up when it comes to resolve messages and especially durations.. you'll need to gather that yourself.

It's pretty straightforward other than that.. don't forget to pause buff timers on YOUR character while you're zoning. If there's anything else I can help with send me a pm.

-Spur

Thatt
01-03-2015, 03:17 PM
For what it's worth, the most valuable benefit of a buff timer is timing buffs on your pets, and I have no idea how to time pet specific buffs. I do know the wiki isn't even close, and I've heard that pet buff durations are all wrong on p99.

salimoneus
01-03-2015, 10:08 PM
I admittedly have not used too many yet, but one thing that I have not seen with any existing timer apps, and which is sortof what I envision the app to be, is basically a stack of progress bars that are colored differently depending on the spell. As the timer approaches zero, the progress bar would get increasingly smaller, and perhaps give off a one-minute warning or text to speech of some sort for that particular spell. I think having the progress bars always visible would be a nice benefit and allow you at a quick glance to determine what needs refreshing the soonest and in what order. Maybe the app could also auto-sort the spells by time remaining so you can just check the top of the list to get the most important information.

So for instance if I have excess mana available I could check whichever progress bars are the lowest and refresh those, and continue doing that to be proactive in keeping things topped up. This type of visual could also be helpful in setting up a proper buff stagger, which I rarely seem to be able to get setup consistently.

kcsdman
01-03-2015, 10:10 PM
You can just set up buffs/spell timers in GINA instead of writing a totally new program for it if you just want them to work instead of using it as programming practice. GINA can parse Regex, so it's really easy to just have it scream at you/throw up an overlay when whatever wears off of someone, plus tell you who it wore off of.

I can go dig through my massive pile of triggers and post some examples in a few minutes

Edit- Examples (Put these in search text field):
Basic trigger line for invis dropping: You feel yourself starting to appear

Enc mez timer that includes name of what you mezzed:
"(?<other>(?!{C}).+) has been mesmerized" then go to Timer tab, set Timer Name to "${other} Mezzed" and the timer to 24 seconds

You can make pretty much anything out of these examples. If you want a buff timer, just find the worn off message and plug it into the search text field. Swap the target name with (?<other>(?!{C}).+) then reference that name with ${other} anywhere else you want. You can make these for anything...invis dropping, charm/root/snare breaking, cast fizzles, emotes, interrupts, ANYTHING. GINA long ago stopped being optional on Live raids just because it can do ANYTHING.

No need to make a totally new program when GINA is already best at everything if you use it fully :) You can download a huge starter package of triggers at http://www.jaburt.com/eq/Hazimil_GINA.zip if you want, you'll just have to delete a bunch of the later triggers that don't apply to classic

salimoneus
01-03-2015, 10:42 PM
You can just set up buffs/spell timers in GINA instead of writing a totally new program for it if you just want them to work instead of using it as programming practice. GINA can parse Regex, so it's really easy to just have it scream at you/throw up an overlay when whatever wears off of someone, plus tell you who it wore off of.

I can go dig through my massive pile of triggers and post some examples in a few minutes

Edit- Examples (Put these in search text field):
Basic trigger line for invis dropping: You feel yourself starting to appear

Enc mez timer that includes name of what you mezzed:
"(?<other>(?!{C}).+) has been mesmerized" then go to Timer tab, set Timer Name to "${other} Mezzed" and the timer to 24 seconds

You can make pretty much anything out of these examples. If you want a buff timer, just find the worn off message and plug it into the search text field. Swap the target name with (?<other>(?!{C}).+) then reference that name with ${other} anywhere else you want. You can make these for anything...invis dropping, charm/root/snare breaking, cast fizzles, emotes, interrupts, ANYTHING. GINA long ago stopped being optional on Live raids just because it can do ANYTHING.

No need to make a totally new program when GINA is already best at everything if you use it fully :) You can download a huge starter package of triggers at http://www.jaburt.com/eq/Hazimil_GINA.zip if you want, you'll just have to delete a bunch of the later triggers that don't apply to classic

It looks like you may not have seen my last post which was just a couple minutes before yours, so I'll respond under that assumption.

Gina definitely sounds powerful and the regex support is always nice, but it's more the UI aspect that I'm looking at. As I mentioned in my last post, I think what I'm looking for is more of a small status panel that has progress bars for all the active spells I want on the list.

None of the screenshots of Gina seem to show anything like that. It looks like it just sets off alarms or does a text to speech, which is good, but I would prefer not to have a program which can only tell me at the last minute what is expiring, but rather have a status panel in which I can quickly look at and make decisions based on what it is showing me. Of course it would also do alerts and such, so if I just wanted to be told what to cast when, I could simply wait for the alerts.

Maybe Gina does offer a small control panel type feature and I just missed it. I need to download it onto a VM and give it a whirl.

kcsdman
01-03-2015, 10:55 PM
Yeah I did miss your last post writing mine, but GINA DOES have timer bars :) You can set a timer bar for anything you want with any text you want and drag the timer bar overlay wherever you want it and size it as big/small as you want.

Disclaimer - I'm not affiliated with GINA at all, I just raided on EQ Live until a few weeks ago and GINA's as ingrained into the scene there as Teamspeak, so it's nice getting to see a whole new wave of people find out how awesome it is

Emile
01-03-2015, 10:57 PM
I use gamtextriggers. You tell it what to scan for in your logs and it will put up a timer bar overlay. Also useful for locating rare items in the EC auction spam.

kcsdman
01-03-2015, 11:01 PM
Yup check out GINA, GTT's GINA's little brother that we all used until GINA happened :)