View Full Version : Tracking looping Macros
gwarwick
10-01-2009, 07:57 AM
I run a number of looped macros in game (eve online) sometimes its hard to remember what is toggled on or off. I note that when a macro is activated a message is sent to the LCD but thereafter I can not see a means of checking if it is still looping.
Am I missing a feature that will allow me to track macros - is there an applet out there or do I have to grab the SDK and start hacking (yuk)
Any info appreciated
Thanks
Jannock
10-19-2009, 12:29 PM
I use a looped macro very regularly. My old pad had an LED that flashed as it repeated allowing me to tell it was looping. So far I have just macro-ed an in game (WoW) sound so I know it is running. This is pretty obnoxious though. Hmmm.. I wonder if I could macro a screen flash or something...
Anyway it would be nice to have the LCD on the pad indicate the loop. Any super-tech-geniuses got any ideas?
Thanks
gwarwick
11-04-2009, 06:30 AM
I still cant find a means of tracking a loop
If I end up coding one will post it
White--Hawk
11-04-2009, 07:43 PM
I was testing a theory, but it's based on the premise that you can include G key-presses in a macro:
If G keys can be mapped to a macro, then a G key could be assigned (sacrificed) to a script. If a macro includes that G key press, the script could track that and output a periodic message to the LCD.
For instance, if the macro includes a press of G12, G12 could be assigned to script, and a script could output to the LCD every few presses of G12 (so as not to spam the scripting display and cause a cool-down).
trigger=5
count=1
function OnEvent(event, arg)
if (event=="G_PRESSED" and arg==12) then
if count==trigger then
ClearLCD()
OutputLCDMessage("\n\n MACRO RUNNING!!!")
count=0
end
count=count+1
end
end
If that could have worked, it would have displayed the message "MACRO RUNNING!!!" every five loops (number set by 'trigger' on first line) of the macro containing a press of G12. Alas, unless I'm missing something, G keys cannot be included in macros. Sorry. :(
It would otherwise be easy enough to convert your macro into- or call it from- a script, but looping in a script has limitations too. Only a few external events can be tracked (M state change, modifier keys) to break the loop. I could have a crack at it for you anyway, if you like. I'd stick it on my "to do" list for the weekend. ;)
EDIT:
Another thought...
How about if one G key is scripted to loop the macro, with the script set to periodically flash a message on the LCD? The script can keep looping until a particular set of modifiers are pressed (left-shift/ctrl/alt plus right-shift/ctrl/alt - any combination thereof).
You can then either manually break the loop by pressing the required combination, or macro another G key to press the combination for you, so the behaviour would be: press first G key, macro loops with indications on the LCD every few seconds; press another G key (or modifier combo) to stop the loop:
trigger=5
count=1
function OnEvent(event, arg)
if (event=="G_PRESSED" and arg==1) then
run=1
while run==1 do
--These lines would contain the scripted macro for looping-
--you can do more with a script than you can do with a macro
--including mouse movement! :)
if count==trigger then
ClearLCD()
OutputLCDMessage("\n\n MACRO RUNNING!!!")
count=0
end
count=count+1
if IsModifierPressed("lshift") and IsModifierPressed("rctrl") and IsModifierPressed("ralt") then run=0
end
end
end
With this script assigned to G1, pressing G1 will start looping the macro with periodic output to the display to let you know it's running (five loops is probably too few - spamming the display results in a cool-off/timeout). The script will abort the loop when left-shift, right-ctrl, and right-alt are pressed together. That combo can be assigned to another G key for convenience. :)
gwarwick
12-09-2009, 06:42 AM
your idea is clever but I am far from impressed by the low level of functionality the out of box software provides.
The requirement for lua code in a consumer product to undertake quite simple tasks - seeing what macros are running being an obvious example - is pretty damn slack.
Your example code is welcome and I will have a fiddle with it when I can get round to it and report back
thanks
White--Hawk
12-09-2009, 09:53 AM
There is some logic to the restrictions, I think. With a scripting engine that's too functional, the keyboard profiler would likely be open to a great enough level of abuse to warrant more bans by anti-cheat software (VAC, PB, etc) thereby rendering even less useful as a consequence.
I don't know about you, but I don't like the idea of being considered a cheat just because I use a keyboard that can be used for advanced cheating...
Perhaps they will make things a little more useful with future patches. Perhaps not. :/
gwarwick
12-11-2009, 11:13 PM
Whitehawk
let me thank you but first a mild disagreement
Cheating - All the tools to do it exist both commercially or free - Macro Express, AutoHotkey etc........... Thus a non argument about too much functionality.
Now to the thank you - your few lines of code forced me to RTFM and of course not only is the device well made but with a bit of digging it offers great functionality.
The problem remains - I can code (and hate it) - on my shelves from the dark ages sit assembler for the Z80 and 6502 manuals - You need a high level of skill to extract the functionality and this is just plain wrong.
Use joystick as mouse is a no brainer as a built in option that should exist.
I can do this thanks to your prompting but hell how many other buyers can ?
White--Hawk
12-12-2009, 07:52 AM
The difference is that you can choose to use any software you like, but you can't choose *not* to have a G15/G19/G13 if the game you want to play kicks for its use.
I understand your point though.
I think an AutoHotKey plugin would be a good idea. If only I could code...
vBulletin® v3.8.3, Copyright ©2000-2010, Jelsoft Enterprises Ltd.