Hello my name is Fabian , I am from Germany after playing on Elysium for ~1 year and not being able to keep raiding with my old guild due to work, I stumbled upon your youtube-channel and was hooked in seconds.
Great videos and great work. With your code it was a blast leveling my 20 (now 25 toons on VG).
The last couple of weeks I started in Zul Gurub, currently half-way through (Bat + Snake+ Mar'li + Mando). Not sure if I will be able to kill more, without upgrading my system, because some of the clients tend to freeze during fights.
Nevertheless, I am trying to improve my coding, so I made some minor changes in your SM_Extend.lua (Summoning Toons which get lost on the way for example)
Today after nearly wiping to a badly added Berserk, which feared all my toons... I came up with some code, on which I would like to know your opinion on.
Basically when a toon is getting the "Target needs to be in front of you" - message, it starts following the RaidLeader and the 2 and 3 keys are temporarily bound to stop the follow.
When 2 or 3 is pressed again the toon will move 1 step Backwards, which forces the "AUTOFOLLOW_END" event. After 0.2 seconds we are hopefully off the 2 or 3 key and the UpdateHandler()
will rebind our key 2 and 3 to ACTIONBUTTON2 and ACTIONBUTTON3.
FsMB_SavedBinding = {Active = false, Time = nil, Binding2 = "ACTIONBUTTON2", Binding3 = "ACTIONBUTTON3"}
local EventFrame = CreateFrame("FRAME");
EventFrame:RegisterEvent("UI_ERROR_MESSAGE")
EventFrame:RegisterEvent("AUTOFOLLOW_END")
local function EventHandler()
if GetNumPartyMembers() > 0 and MB_raidleader then
if (event == "UI_ERROR_MESSAGE") then
if (arg1 =="Target needs to be in front of you") then
RunLine("/Follow "..MB_raidleader)
--After 10 sec the "2/3" key will be Actionbutton2/3 again (or earlier if AUTOFOLLOW_END is thrown)
FsMB_SavedBinding.Time = GetTime() + 10
SetBinding("2", "MOVEBACKWARD")
SetBinding("3", "MOVEBACKWARD")
FsMB_SavedBinding.Active = true
elseif (arg1 == "Can't do that while moving") then
if (FsMB_SavedBinding.Active == false) and (GetTime() > FsMB_SavedBinding.Time) and (GetTime() < FsMB_SavedBinding.Time + 1) then
--The key seemed to have been down while rebinding
RunLine("/Follow "..MB_raidleader)
FsMB_SavedBinding.Time = GetTime() + 10
SetBinding("2", "MOVEFORWARD")
SetBinding("3", "MOVEFORWARD")
FsMB_SavedBinding.Active = true
end
end
elseif (event == "AUTOFOLLOW_END") then
FsMB_SavedBinding.Time = GetTime() + 0.2
FsMB_SavedBinding.Active = true
--if you reset the key without delay, the character will keep moving backwards
end
end
end
local function UpdateHandler()
if FsMB_SavedBinding.Active then
if GetTime() > FsMB_SavedBinding.Time then
FsMB_SavedBinding.Active = false
SetBinding("2", FsMB_SavedBinding.Binding2)
SetBinding("3", FsMB_SavedBinding.Binding3)
end
end
end
EventFrame:SetScript('OnEvent', EventHandler)
EventFrame:SetScript('OnUpdate', UpdateHandler)
Thanks in advance for your feedback and i am looking forward to watching more of your videos.
Edit: Was trying it out today while farming DM_East for Felcloth. Worked like intended, even while trying to provoke fails. Boring video, but maybe before trying it have a gimps first:
Btw. I need to use Dxtory to cap my FPS while running 8 toons or less, otherwise they start running straight instead of following, does anyone know another tool for capping the fps for each window individually would be perfect. (When running my 20man i tend need to cap the fps at around 12, so my PC can run all toons), my main Tank is unlimited (different WOW.exe), but i would like to have at least some more fps for my off-tanks as well...
It is in and working! Now, this isn't very valuable for me, becaue I'm used to using the down arrow to back the entire rraid up...but it is a great proof of concept that we can do this to do almost anything!
Please See hte latest SM_extend. It ALMOST worked the instant I added the code...but you didn't init time to a numeral hehe.
HOW DID I MISS THIS POST???
THis shit is amazing! This is along the lines of what nnj3k came up with but I never implemented, doing the key-binding swap. He wants me to do it on rag to get people back to their raid squad leader in the case of a fireball .
BY THE WAY--try the latest code.Many updates to optimizations to reduce client freezing this weekend.
SUPERGRATS on all the downed bosses! They are all very hard!
I just watched your vid, and I"m a total believer now. I will implement this in SM_Extend..lua.
We will be able to use this method for doing allmost limitless things.