WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   Released AddOns (https://www.wowinterface.com/forums/forumdisplay.php?f=9)
-   -   McRun - Official thread (https://www.wowinterface.com/forums/showthread.php?t=32575)

Cogwheel 05-18-10 02:50 PM

McRun - Official thread
 
This thread is for discussion of my McRun framework and any of my McRun addons.

I'm happy to answer any questions from people trying to write McRun addons, or users trying to figure out how to use them. I'm also open to any feedback on the framework itself (especially proposed additions to McLib).

And yes, I'm nuts! :D

The McRun page linked above has a list of McRun addons (the ones that I know about, anyway... Post here if you want yours added)

Torhal 05-18-10 09:00 PM

I think I just swallowed my own tongue.
Wow.

Ferous 05-19-10 12:24 AM

Quote:

Originally Posted by Torhal (Post 188437)
I think I just swallowed my own tongue.

This has been a huge fear of mine IRL for some time for some reason, I pray you didn't...

xandora 05-19-10 03:08 AM

I would LOVE to see how addons actually work with this.

It looks amazing.

Wella 05-19-10 06:44 AM

Would someone like to explain to me what this does to someone who knows nothing about addon coding?

:(

Cogwheel 05-19-10 08:12 AM

Quote:

Originally Posted by xandora (Post 188463)
I would LOVE to see how addons actually work with this.

It looks amazing.

Here's a sneak peek of CogsBar McRun:



After the McRun framework (~5 macro slots), what you see there took 3 macro slots (really, just over 2) for the addon plus one character-specific macro for configuration. Once I get the state-based paging finished it'll be ready for its close-up!

Quote:

Originally Posted by Wella (Post 188470)
Would someone like to explain to me what this does to someone who knows nothing about addon coding?

:(

Essentially it's an addon framework that loads code from macros, which are stored on the server. No addons required, and you have access to the modifications no matter what computer you play on.

Petrah 05-19-10 09:00 AM

Quote:

Originally Posted by Cogwheel (Post 188477)

Essentially it's an addon framework that loads code from macros, which are stored on the server. No addons required, and you have access to the modifications no matter what computer you play on.

So would you be able to use Target For Me without having to have the addon installed, and would you still only have to use just 1 button?

Cogwheel 05-19-10 10:10 AM

Quote:

Originally Posted by Petrah (Post 188484)
So would you be able to use Target For Me without having to have the addon installed, and would you still only have to use just 1 button?

That all depends on how Target For Me is written. If it has to use a lot of pre-programmed data (info on dungeons, the mobs that you're looking for, etc.) then it probably wouldn't be a good fit (literally).

Cogwheel 05-19-10 04:52 PM

Small update: CogsBar McRun is finished, and I'm throwing together some documentation as we "speak" :banana:

Edit: et voilą: http://cogwheel.info/wow/CogsBarMcRun.html

Slakah 05-19-10 05:46 PM

Nifty, Cloud addons.

Although why not seperate McRun into a separate addon and allow for better addon-> macro compression?

Cogwheel 05-19-10 10:45 PM

Quote:

Originally Posted by Slakah (Post 188549)
Nifty, Cloud addons.

Although why not seperate McRun into a separate addon and allow for better addon-> macro compression?

Yeah, I've already done that with AutoMcRun. Might as well extend it to the libraries.

Cogwheel 05-20-10 12:44 AM

Quote:

Originally Posted by Cogwheel (Post 188583)
Yeah, I've already done that with AutoMcRun. Might as well extend it to the libraries.

http://www.wowinterface.com/download...768-McLib.html

Docnsane 05-20-10 01:41 AM

With a little bit of trial and error, I've figured out a bit of how the bars you create relate to the real bars for documentation purposes.

The first 12 buttons you create uses Bar 1, the next 12, uses bar 2, and so on until you hit bar 10 (120 total global buttons).

While you can create additional bars past that, it they will not be assignable as they are reserved for various things such as the totem bar.

It does not matter how you actually split the bars, but the assignment is in order of whatever you create the bars in the config.

Looking at your example,

Code:

bars={
 {B=28,W=7,V=180,H=-320,
  S="[form:1]1;[form:2]2;[form:3]3",N=3,
  K={'1','2','3','4','5','6','7',
    "'",',','.','P','Y','F','G',
    'A','O','E','U','I','D','H',
    ';','Q','J','K','X','B','M',},
 },
 {B=36,W=9,V=180,H=50},
}

B = Number of buttons in the bar
V= Pixels from bottom
H= Pixels from Center, positive going right.
W = Number of buttons per row (rows are generated based on [b]uttons/[W]idth)
S = Switching based on the model form:1 => bar 1
N= ??? I have no idea
K= Key binding, ordered by the order of bars from left to right, top row to bottom, placed in a single dimension array.

So...what's N? I couldn't figure that out at all as the code is of course obfuscated for compactness.

FYI: I'm Pallyana on the "other" forum thread.

Slakah 05-20-10 06:16 AM

lua Code:
  1. local f,l=CF()f:SSc("OnEvent",function()for b=0,4 do for s=0,GetContainerNumSlots(b)do l=GetContainerItemLink(b,s)if l and select(3,GetItemInfo(l))==0 then ShowMerchantSellCursor(1)UseContainerItem(b,s)end end end end)f:R"MERCHANT_SHOW"

Ok heres an autojunk seller, 237 characters (it's not tested but it's pretty much identical to tekjunkseller).

Cogwheel 05-20-10 07:57 AM

Quote:

So...what's N? I couldn't figure that out at all as the code is of course obfuscated for compactness.
N is the number of states used by S. The states in S (which use the macro option system) must go from 1 to N unless you want to waste action slots (which may actually be desirable if you just want to add to the built-in bars)

There's also an unused option, P for "Point", which sets the anchor point of the bar relative to UIParent (usually equal to the screen edges). It defaults to "BOTTOM", hence the descriptions of H and V. You can use any of the anchor points used by SetPoint.

Docnsane 05-20-10 08:57 AM

Oo..thanks. That's what I figured it was for, but wasn't sure.

Also, in case anyone else was trying to figure it out. The configurations go in a macro called "CBConfig1" (or CBConfig<n> as many configuration files as you need.)

Wella 05-20-10 09:29 AM

Quote:

Originally Posted by Cogwheel (Post 188477)
Essentially it's an addon framework that loads code from macros, which are stored on the server. No addons required, and you have access to the modifications no matter what computer you play on.

So, put short, it's a nifty thingamybob which means you don't have to config your UI on another computer?

Cogwheel 05-20-10 09:35 AM

Quote:

Originally Posted by Wella (Post 188619)
So, put short, it's a nifty thingamybob which means you don't have to config your UI on another computer?

At least the most important parts of your UI, as long as they're built with McRun addons.

CogsBar was my main motivation for creating McRun since my action bar needs are so specific.

dafire 05-21-10 04:48 AM

Since I'm at work and can't try it here maybe someone can answer me a small question ;)

Is it possible to switch buttons/bars when you switch your talents to the second spec ?

Cogwheel 05-21-10 08:15 AM

Quote:

Originally Posted by dafire (Post 188713)
Since I'm at work and can't try it here maybe someone can answer me a small question ;)

Is it possible to switch buttons/bars when you switch your talents to the second spec ?

Hmm... At the moment all the underlying actions will change since that's handled server-side. CogsBar won't get the message, though, so right now there's no way to automatically switch the physical layout.

I was hesitant to bump CogsBar's macro slot use up to 4 just for state-based visibility, but dual spec support would certainly be worth it.

In the meantime, you can work around it by keeping two separate CConfig macros and change the names when you switch specs.

dafire 05-21-10 11:48 AM

Thanks.. I think that this whole addon in a macro thing is a great idea .. I don't use many macros yet and look forward to play around with that stuff ;)

dafire 05-21-10 01:21 PM

I just played around with it.. and at least the buttons are changing when I switch the talents.. that's all a wanted to know for now ;)

Changing the layout on switching talents would be even better ;)

Hmm.. I think there is some more important stuff missing... a petbar / vehicleui comes to my mind :)

Cogwheel 05-21-10 03:42 PM

Quote:

Originally Posted by dafire (Post 188779)
Hmm.. I think there is some more important stuff missing... a petbar / vehicleui comes to my mind :)

I could probably find a simple way to reattach the built-in pet bar to one of the CogsBar bars.

Vehicle support might be a bit too complex to handle elegantly within the space limitations. At the very least I can make sure the built-in one shows up. There might be a way to hack it in the current version with clever use of state paging though...

To be continued...

Tuller 05-22-10 06:31 PM

It needs some work, but here's McBag


Commands:
/mb - Toggle window.

1:
Code:

local F,CNS,Mt,C,g=CF('Button','McBag',UIParent),GetContainerNumSlots,setmetatable,ceil,{0,1,2,3,4,5}local B,H=function(i,b)b=F.b[i]b.size=CNS(i)return b end,function(i)for k,v in pairs(g)do if v==i then return k end end end Ij(F,{b=Mt({},{__index=
2:
Code:

function(t,k,f)f=CF('Frame',F:GetName()..'B'..k,F)f:SetID(k)t[k]=f f.i=Mt({},{__index=function(t,i,s)s=CF('Button',f:GetName()..'Item'..i,f,'ContainerFrameItemButtonTemplate')s:SetID(i)t[i]=s return s end})return f end}),lo=function(c,p,i,z,t)i,z=1,36+p
3:
Code:

for _,b in ipairs(g)do for _,v in pairs(B(b).i)do F.H(v)end for s=1,CNS(b)do t=B(b).i[s]t:ClearAllPoints()F.SP(t,'TOPLEFT',F,'TOPLEFT',(i-1)%c*z+8,-(C(i/c)-1)*z-24)F.S(t)i=i+1 end F.up(b)end F:SS(z*min(c,i)-p+16,z*(C(i/c)-1)-p+32)end,up=function(i)if H(i)
4:
Code:

then ContainerFrame_Update(B(i))end end,ul=function(i,s)if H(i)and s then ContainerFrame_UpdateLockedItem(B(i),s)end end})F:SetBackdrop{bgFile=[[Interface\ChatFrame\ChatFrameBackground]],edgeFile=[[Interface\Tooltips\UI-Tooltip-Border]],edgeSize=16,tile=1
5:
Code:

,tileSize=16,insets={left=4,right=4,top=4,bottom=4}}F:SetBackdropColor(0,0,0,.5)F:SSc('OnEvent',function(s,e,...)s[e](...)end)F.RE=function(e,m)F:R(e)F[e]=F[m]end F.RE('BAG_UPDATE','up')F.RE('ITEM_LOCK_CHANGED','ul')F:MM()F.lo(8,2)F:SP('RIGHT',-48,0)F:H()
6:
Code:

SL(function()if F:IsShown()then F:H()else F:S()end end,'/mb')
Original:
Code:

local F,CNS,Mt,C,g=CF('Button','McBag',UIParent),GetContainerNumSlots,setmetatable,ceil,{0,1,2,3,4,5}
local B,H=function(i,b) b=F.b[i] b.size=CNS(i) return b end,function(i)for k,v in pairs(g) do if v == i then return k end end end
Ij(F,{
        b=Mt({},{__index=function(t,k,f)
                f=CF('Frame',F:GetName()..'B'..k,F) f:SetID(k) t[k]=f
                f.i=Mt({},{__index=function(t,i,s)
                        s=CF('Button',f:GetName()..'Item'..i,f,'ContainerFrameItemButtonTemplate') s:SetID(i) t[i]=s
                        return s
                end})
                return f
        end}),
        lo=function(c,p,i,z,t)
                i,z=1,36+p
                for _,b in ipairs(g) do
                        for _,v in pairs(B(b).i) do F.H(v) end
                        for s=1,CNS(b) do
                                t=B(b).i[s]
                                t:ClearAllPoints()
                                F.SP(t,'TOPLEFT',F,'TOPLEFT',(i-1)%c*z+8,-(C(i/c)-1)*z-24)
                                F.S(t)
                                i=i+1
                        end
                        F.up(b)
                end
                F:SS(z*min(c,i)-p+16,z*(C(i/c)-1)-p+32)
        end,
        up=function(i)
                if H(i) then
                        ContainerFrame_Update(B(i))
                end
        end,
        ul=function(i,s)
                if H(i) and s then
                        ContainerFrame_UpdateLockedItem(B(i),s)
                end
        end
})

F:SetBackdrop{
        bgFile=[[Interface\ChatFrame\ChatFrameBackground]],
        edgeFile=[[Interface\Tooltips\UI-Tooltip-Border]],
        edgeSize=16,
        tile=1,
        tileSize=16,
        insets={left=4,right=4,top=4,bottom=4}}
F:SetBackdropColor(0,0,0,.5)

F:SSc('OnEvent',function(s,e,...)s[e](...)end)
F.RE = function(e,m) F:R(e) F[e]=F[m] end
F.RE('BAG_UPDATE','up')
F.RE('ITEM_LOCK_CHANGED','ul')
F:MM()

F.lo(8,2)
F:SP('RIGHT',-48,0)
F:H()
SL(function()if F:IsShown() then F:H() else F:S() end end, '/mb')


Cogwheel 05-22-10 06:36 PM

:eek:


I luff you!


:banana:

Slakah 05-23-10 04:45 AM

I think it might be a nice addition to the McRun macro if we were able to separate the McRun mods using <> this would allow the naming of each snippet by having name<code>, it would also make it substantially easier for an external addon created to manage snippets to differentiate between different snippets.
something like this
lua Code:
  1. /run local function m(p,e)local s,i,f,c={},0,GetMacroInfo repeat s[i]=c i=i+1 c,c,c=f(p..i)until(not c)table.concat(s," "):gsub("%b<>",function(x)setfenv(loadstring(x:sub(2,-2)),e and setmetatable(e,{__index=_G})or _G)()end)end m"McLib"m"McLoad"McRun=m

Also the current Mc<addons> are making pretty quick progress :)

pingbo 05-24-10 03:28 PM

McCC
 
Here's a CooldownCount (this code is basically taken from evl's BlizzardTweaks and then stuffed through a meat grinder).

1:
Code:

local h,c,t,b,x,U=hooksecurefunc,"CENTER"U=function(f,e)if f.x and f.a then t=ceil(f.s+f.d-GetTime())if f.e>0 and t>0 then f.x:T(t)else f.x:T""f.a=false end end end h("ActionButton_OnUpdate",U)h("CooldownFrame_SetTimer",function(f,s,d,e)b=Ij(f:GetParent(
2:
Code:

))if s>0 and d>3 and e>0 then if not b.x then t=CF("Frame",b:N().."C",f)t:SzPt(32,32,c,b,c)x=Ij(t:CF(nil,"ARTWORK"))x:SetFont(NAMEPLATE_FONT,20)x:SetTextColor(1,.9,.2)x:SAP(t)x:SetJustifyH(c)b.x=x else b.x:T""end b.a,b.s,b.d,b.e=true,s,d,e U(f,1)end end)
Original:
Code:

local h,c,t,b,x,U=hooksecurefunc,"CENTER"
U=function(f,e)
        if f.x and f.a then
                t=ceil(f.s+f.d-GetTime())
                if f.e>0 and t>0 then
                        f.x:T(t)
                else
                        f.x:T""
                        f.a=false
                end
        end
end
h("ActionButton_OnUpdate",U)
h("CooldownFrame_SetTimer",function(f,s,d,e)
        b=Ij(f:GetParent())
        if s>0 and d>3 and e>0 then
                if not b.x then
                        t=CF("Frame",b:N().."C",f)
                        t:SzPt(32,32,c,b,c)
                        x=Ij(t:CF(nil,"ARTWORK"))
                        x:SetFont(NAMEPLATE_FONT,20)
                        x:SetTextColor(1,.9,.2)
                        x:SAP(t)
                        x:SetJustifyH(c)
                        b.x=x
                else
                        b.x:T""
                end
                b.a,b.s,b.d,b.e=true,s,d,e
                U(f,1)
        end
end)


Edit: With McRun 1.3 and a lot of finessing, I was able to get this down to 2 macros. I removed the stipulation that it only shows for abilities with less than one minute cooldowns, mostly to save space (so an ability with a 2-minute cooldown might show up as "1..." for a while until it gets below 100 seconds).

Cogwheel 05-25-10 10:12 PM

Quote:

Originally Posted by Slakah (Post 189032)
I think it might be a nice addition to the McRun macro if we were able to separate the McRun mods using <> this would allow the naming of each snippet by having name<code>, it would also make it substantially easier for an external addon created to manage snippets to differentiate between different snippets.
something like this
lua Code:
  1. /run local function m(p,e)local s,i,f,c={},0,GetMacroInfo repeat s[i]=c i=i+1 c,c,c=f(p..i)until(not c)table.concat(s," "):gsub("%b<>",function(x)setfenv(loadstring(x:sub(2,-2)),e and setmetatable(e,{__index=_G})or _G)()end)end m"McLib"m"McLoad"McRun=m

if 1 > 1 - 1 then this:fail() end

;)

Put another way, any additions to the "syntax" of McRun scripts would either interfere with the lua syntax or require too much code to accomplish robustly (special comments, for instance would consume a lot of characters). Plus, I don't think you'd gain more characters than you would save by tighter packing (or at least not enough to make the extra library weight worth it).

That or I'm just being stubborn. I don't want to make any changes to McRun's fundamental architecture at this point. :o

<edit>
As far as McRun management addons, I think using the names of the macros will suffice.
</edit>

Quote:

Also the current Mc<addons> are making pretty quick progress :)

le squee :banana:

Cogwheel 05-25-10 11:45 PM

V1.3
 
New version posted. See the link in the OP for details.

Thanks to everyone's enthusiasm, I've been able to identify several methods that are worth the additional macro slot for McLib:

:N (GetName)
:SAP (SetAllPoints)
:CAP (ClearAllPoints)
:T (SetText)
:FT (SetFormattedText)
:CF (CreateFontString)
:HS (HookScript)

I've also added a couple more code shortening tips.

zork 05-26-10 01:48 PM

Holy crap. This is like bringing Twiiter to WoW. :D
To bad I need textures.

Cogwheel 06-30-10 05:21 PM

So now that the NDA is lifted, I might as well mention the reason i made this... Addons were disabled through most of the Cataclysm Alpha and i NEED my bar mods!

Torhal 06-30-10 05:30 PM

And here I thought you had a completely unrelated mental disorder...:D

ffcloud2000 07-02-10 01:29 AM

Would anyone be able to make a script that would allow me to add keybinds to Main Action Bar 2? I was trying to do it hacking away at CogsBar but wasn't having any luck :( It's the bar under keys 1,2,3 etc etc (uses ActionID 13-24)

or if someone could help me make a CogsBar config that creates 1 12button bar with keybinds and sets the bar offscreen

trying to cheat but not working out too well :(
Code:

bars={
 {B=24,W=12,V=-500,H=0,
  K={'nil','nil','nil','nil','nil','nil',
    'nil','nil','nil','nil','nil','nil',
    'Z','X','SHIFT-Q','SHIFT-E',
    'SHIFT-W','SHIFT-A','SHIFT-S','SHIFT-D',
    'F1','F2','F3','F4',},
 },}

nevermind i got it to work :).. tho it would be nice to do it without the nils..

ffcloud2000 07-02-10 03:22 AM

Quote:

Originally Posted by Slakah (Post 188603)
lua Code:
  1. local f,l=CF()f:SSc("OnEvent",function()for b=0,4 do for s=0,GetContainerNumSlots(b)do l=GetContainerItemLink(b,s)if l and select(3,GetItemInfo(l))==0 then ShowMerchantSellCursor(1)UseContainerItem(b,s)end end end end)f:R"MERCHANT_SHOW"

Ok heres an autojunk seller, 237 characters (it's not tested but it's pretty much identical to tekjunkseller).

Causes my fps to drop hard when i run it and makes AutoMcRun's memory usage to go through the roof

Cogwheel 07-02-10 09:12 AM

Quote:

Originally Posted by ffcloud2000 (Post 195459)
nevermind i got it to work :).. tho it would be nice to do it without the nils..

Glad you got it working. FWIW, the the nils shouldn't be in quotes otherwise it's trying to set the binding to a key called "nil". Since there's no key called "nil" it doesn't really break anything, but removing the quotes will help keep the character count down :)

I agree it would be nice to have more direct control over the action slots used, but there are too many "would be nice"s to fit inside just a few macro slots. (I can think of a few I'd like as well).

Cogwheel 07-02-10 09:30 AM

Quote:

Originally Posted by ffcloud2000 (Post 195470)
Causes my fps to drop hard when i run it and makes AutoMcRun's memory usage to go through the roof

Would I be correct in assuming the FPS drop is only temporary? I don't see anything obviously wrong with the code.

This kind of performance impact is actually inevitable for any auto-junk selling addon. The API calls involved generate a lot of information (read: memory usage). There's also the effect of all the "sell item" calls which depends on your latency. This is simply the side effect of sending several (dozens?) of server requests.

The only way to get around these is to sell items asynchronously, but that requires a lot of extra code overhead (and if you walk away from the vendor during the process, not everything will be sold).

slickwalker 07-03-10 08:20 AM

You really are a coding genius Cog.

mikelley517 07-05-10 06:53 AM

McLoad Script-noob question.
 
I love the idea of this, but I am no code writer. I see that all these are required to be included in a "McLoad script" but I have not seen an example of the mcload script. Did I miss something obvious? Thanks for the help!

Cogwheel 07-05-10 08:00 AM

Quote:

Originally Posted by mikelley517 (Post 195957)
I love the idea of this, but I am no code writer. I see that all these are required to be included in a "McLoad script" but I have not seen an example of the mcload script. Did I miss something obvious? Thanks for the help!

The section of the main McRun page called "Creating the McRun addon loader(s)" describes McLoad itself, and "Installing a McRun addon" gives an example of adding an addon to it.

I'm also working on a more beginner-friendly walkthrough that should be done in the not-too-distant future.

mikelley517 07-06-10 03:55 AM

Quote:

Originally Posted by Cogwheel (Post 195967)
The section of the main McRun page called "Creating the McRun addon loader(s)" describes McLoad itself, and "Installing a McRun addon" gives an example of adding an addon to it.

I'm also working on a more beginner-friendly walkthrough that should be done in the not-too-distant future.

Thank you. I did get the bars to work, but I was wondering if there is a way to hide the blizz main action bar, or if I just move this bar to where i want it and ignore the other. Thanks for all the work and the quick response!

IQgryn 07-15-10 05:14 PM

Quote:

Originally Posted by ffcloud2000 (Post 195459)
Would anyone be able to make a script that would allow me to add keybinds to Main Action Bar 2? I was trying to do it hacking away at CogsBar but wasn't having any luck :( It's the bar under keys 1,2,3 etc etc (uses ActionID 13-24)

or if someone could help me make a CogsBar config that creates 1 12button bar with keybinds and sets the bar offscreen

trying to cheat but not working out too well :(
Code:

bars={
 {B=24,W=12,V=-500,H=0,
  K={'nil','nil','nil','nil','nil','nil',
    'nil','nil','nil','nil','nil','nil',
    'Z','X','SHIFT-Q','SHIFT-E',
    'SHIFT-W','SHIFT-A','SHIFT-S','SHIFT-D',
    'F1','F2','F3','F4',},
 },}

nevermind i got it to work :).. tho it would be nice to do it without the nils..

You should be able to specify the index of the first non-nil value and the rest will follow from there. It would look like:
Code:

bars={
 {B=24,W=12,V=-500,H=0,
  K={[13]='Z','X','SHIFT-Q','SHIFT-E',
    'SHIFT-W','SHIFT-A','SHIFT-S','SHIFT-D',
    'F1','F2','F3','F4'}
 }}

(I also removed some extraneous commas.)

ffcloud2000 07-15-10 05:49 PM

Quote:

Originally Posted by IQgryn (Post 198120)
You should be able to specify the index of the first non-nil value and the rest will follow from there. It would look like:
Code:

bars={
 {B=24,W=12,V=-500,H=0,
  K={[13]='Z','X','SHIFT-Q','SHIFT-E',
    'SHIFT-W','SHIFT-A','SHIFT-S','SHIFT-D',
    'F1','F2','F3','F4'}
 }}

(I also removed some extraneous commas.)

the Z keybind seems to be the only key that wants to work properly.. all the other keybinds after seem to start back at actionid1 like i'd have to assign each id before the bind :(

for example i changed the first 4 keybinds to

Code:

bars={
 {B=24,W=12,V=-500,H=0,
  K={[13]='Z',[14]='X',[15]='SHIFT-Q',[16]='SHIFT-E',
    'SHIFT-W','SHIFT-A','SHIFT-S','SHIFT-D',
    'F1','F2','F3','F4'}
 }}


IQgryn 07-15-10 07:10 PM

Hmm, it appears I read/remembered the lua documents wrong. It wouldn't really help number-of-characters wise to specify each one, so the nils may be more clear.

Sorry for the noise. :o

Slakah 07-15-10 07:30 PM

Quote:

Originally Posted by ffcloud2000 (Post 198130)
the Z keybind seems to be the only key that wants to work properly.. all the other keybinds after seem to start back at actionid1 like i'd have to assign each id before the bind :(

for example i changed the first 4 keybinds to

Code:

bars={
 {B=24,W=12,V=-500,H=0,
  K={[13]='Z',[14]='X',[15]='SHIFT-Q',[16]='SHIFT-E',
    'SHIFT-W','SHIFT-A','SHIFT-S','SHIFT-D',
    'F1','F2','F3','F4'}
 }}


Couldn't you instead just create 2 bars and only assign the keybindings to the second one.
Also instead of using nil, because the settings are kept out of global scope you can just use a nil variable i.e.
lua Code:
  1. bars={
  2.  {B=24,W=12,V=-500,H=0,
  3.   K={nil,nil,nil,nil,nil,nil,
  4.      nil,nil,nil,nil,nil,nil,
  5.      'Z','X','SHIFT-Q','SHIFT-E',
  6.      'SHIFT-W','SHIFT-A','SHIFT-S','SHIFT-D',
  7.      'F1','F2','F3','F4',},
  8.  },}

would become
lua Code:
  1. bars={
  2.  {B=24,W=12,V=-500,H=0,
  3.   K={n,n,n,n,n,n,
  4.      n,n,n,n,n,n,
  5.      'Z','X','SHIFT-Q','SHIFT-E',
  6.      'SHIFT-W','SHIFT-A','SHIFT-S','SHIFT-D',
  7.      'F1','F2','F3','F4',},
  8.  },}
ofcourse n could be any variable (r,x,y,z etc.)

ffcloud2000 07-15-10 07:52 PM

Yea i suppose its not too big a deal unless i was to run out of macro space.. thanks guys

NynjaMonkii 07-19-10 09:54 PM

Casting Bar Latency
 
Okay, I have a version that I believe to be working that is a mashup of relevant bits from both Quartz and thekCastbar, going to do some more testing then I'll post that here. I also took out some bits from SquidFrame and added the color-changing effect to the health bars. I also had written some code borrowed from SquidFrame that replaced the unit frame portraits with the 3d face models, but it was buggy on the target and target's target frames, and took 7 macro slots, so I just called it a proof of concept and moved on. I'll post those macro sets up here in a little while.


All times are GMT -6. The time now is 01:48 PM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI