i'm looking for the recommended method for a scrolling list
currently, i just have a scroll frame that slides an underlying panel. although this works, i'm pretty sure this isn't the method being used in the handful of blizzard scrolling areas i've found (quests, auction house, etc). i get the impression they have only a few rows and on the vertical scroll, update the contents of each row... simulating the scroll
correct. i've given the user a button to press to clear their broadcast and drop from the mesh (or 'go dark') but they forget to do that... a lot. even then, they can manually clear it... but they don't understand to do that.
ok... on the upside, pre-hooking the logout function works... tho i must allow a 1 second delay so the bnet msg can be sent. not a big deal.
the down side is ... on the login, since your bnet text was cleared the last time you logged out, you must set your bnet text again... which will result in your friends seeing a note in their chat window when you log in (just after "such-and-such just logged in"). not a big deal, but certain people would complain.
so... i removed the broadcast message notification from their chat if it was empty-ish. this will resolve the issue for anyone that has the latest version. for their friends without the addon... nothing i can do about that.
i'm looking for an event that triggers on logout but before battle-net shuts down. i'd like to clear the users broadcast text but that requires the msg be sent via b-net... which, on logout, is already shutdown.
something that fires just before BN_DISCONNECTED but while you're still able to send bnet msgs
looking at CLEU events, it seems pet caused killing blows do not register as coming from a particular pet.
using:
local pet_guid = UnitGUID( "pet" ) ;
retrieves the guid for my pet... which i would hope to match to the sourceGUID. but when i receive a UNIT_DIED event, the 3rd arg, hideCaster, is always true and the 4th arg. sourceGUID, is blank.
how would i determine whether or not the killing blow was delivered by MY pet and not another pet in the raid?
i thought i'd drop this here to help out others playing with tables. why these functions aren't part of the core library is beyond me
local tbl = {} ;
function tbl.new()
if (tbl.__pool == nil) then
tbl.__pool = {} ;
end
local t = next(tbl.__pool) ;
if t then
tbl.__pool[t] = nil ;
else
t = {}
end
return t ;
end
function tbl.delete(t)
if (t) then
tbl.clear(t) ;
tbl.__pool[t] = true ;
end
return nil ;
end
function tbl.clear(t)
if (t) then
for k in pairs(t) do
t[k] = nil ;
end
end
end
function tbl.size(t)
if (t == nil) then
return nil ;
end
local n = 0 ;
for i,v in pairs(t) do
n = n + 1 ;
end
return n ;
end
function tbl.fill( t, ... )
if (t ~= nil) then
tbl.clear(t) ;
for i = 1,select('#', ... ) do
t[i] = select(i, ...) ;
end
end
end
instead of:
myTable = {} ;
myTable[5] = 'joe' ;
myTable = nil ; -- clean up... which leaks the table
use this to allocate and clean up the table
myTable = tbl.new() ;
myTable[5] = 'joe' ;
myTable = tbl.delete( myTable ) ; -- properly cleaned up and ready for reuse
and if you have a vararg situation:
function on_combat_log_event_unfiltered(...)
tbl.fill( _arg, ... ) ;
-- _arg[2] == event id
-- _arg[3] == hideCaster
-- _arg[4] == guid of caster
-- etc...
if (combat_handler[ _arg[2] ] ~= nil) then
combat_handler[ _arg[2] ]( _arg ) ;
end
end
if you have any other useful table functions, performance improvements or other tweaks, i'd love to see them.
edit: changed 'table' to 'tbl' to avoid modifying the global construct
yea, i won't be doing anything to satisfy chad. after his tantrum on reddit, he's cemented his place in the 'ass' category as far as i'm concerned. it truly seems he was bent that i didn't clutch his buglist like the word of god and run off to the corner to dutifully work on it. amazing actually. (should i admit to having to google MMOC? that's how he introduced himself, saying he wanted to feature oQueue on MMOC. yea, i've never really been to their site)
my future efforts on oQueue are mine and i will work on them as i see fit. i talk with users, run games, listen to their feedback, and decide what my priority list is personally. having a hissy fit on a public forum won't change the priority of anything
as for any issues you may have, letting me know goes a long way to getting them resolved... of course, please make sure to be up to date and post the version along with the issue
last I checked, no developer reacts well when someone insults them on their first meeting. especially if they're doing it for free.
if you would like to see something modified, there are numerous locations to post. if you rant or be an ass, it gets ignored (chad is a perfect example). you can even talk me through your issues in vent and I'll see what I can do. please make sure to have the latest so we are talking about the same things
oQueue was a learning experience as I had never used lua before on a project of any complexity (I'm a c++ dev). I'm still trying to figure stuff out, but most of it is fumbling in the dark (I don't know anyone that does lua...just this forum). I'm starting to 'get it' and the code is slowly changing to reflect it (I'm still unsure how to make lua oo... we'll see)
if your issue is that it's 'all rights reserved' ... tough beans, that's not going to change. if your issue is with some of the features, most features can be toggled. if not, let me know. (FYI, i'll be changing the angry lil button to a raging lil bar if you're in combat)
0
http://forums.wowace.com/showthread.php?t=20644
0
0
currently, i just have a scroll frame that slides an underlying panel. although this works, i'm pretty sure this isn't the method being used in the handful of blizzard scrolling areas i've found (quests, auction house, etc). i get the impression they have only a few rows and on the vertical scroll, update the contents of each row... simulating the scroll
is that how we're supposed to make this work?
0
i guess that means i have to somehow mimic the profile shot, make a custom view and back the camera out a bit.
anyone tried to do anything like this?
0
0
in those cases, i've used code similar to:
the result is something like:
problem is, for some classes, like taurens, the camera is too close.
Question:
how can i back the camera out a bit so it looks right?
0
forcing it every time works better.
this solution will work better
0
the down side is ... on the login, since your bnet text was cleared the last time you logged out, you must set your bnet text again... which will result in your friends seeing a note in their chat window when you log in (just after "such-and-such just logged in"). not a big deal, but certain people would complain.
so... i removed the broadcast message notification from their chat if it was empty-ish. this will resolve the issue for anyone that has the latest version. for their friends without the addon... nothing i can do about that.
thanks for the help, once again :)
0
meanwhile, i had a test that logged all events once i clicked a button and started the logout sequence. this is what i got:
note the time on the left. the logout_cancel msg happens in the same timeslice as a bunch of others. no chance to get a msg out there.
i'll report back the results
0
something that fires just before BN_DISCONNECTED but while you're still able to send bnet msgs
anyone know of one?
0
using:
retrieves the guid for my pet... which i would hope to match to the sourceGUID. but when i receive a UNIT_DIED event, the 3rd arg, hideCaster, is always true and the 4th arg. sourceGUID, is blank.
how would i determine whether or not the killing blow was delivered by MY pet and not another pet in the raid?
0
where did it come from? what other tables/objects are available?
with include files, what's available and what you're hooking to is obvious. not quite so with wow-lua
edit: OP has been modified to avoid adding to the global 'table'
0
instead of:
use this to allocate and clean up the table
and if you have a vararg situation:
if you have any other useful table functions, performance improvements or other tweaks, i'd love to see them.
edit: changed 'table' to 'tbl' to avoid modifying the global construct
0
my future efforts on oQueue are mine and i will work on them as i see fit. i talk with users, run games, listen to their feedback, and decide what my priority list is personally. having a hissy fit on a public forum won't change the priority of anything
as for any issues you may have, letting me know goes a long way to getting them resolved... of course, please make sure to be up to date and post the version along with the issue
0
last I checked, no developer reacts well when someone insults them on their first meeting. especially if they're doing it for free.
if you would like to see something modified, there are numerous locations to post. if you rant or be an ass, it gets ignored (chad is a perfect example). you can even talk me through your issues in vent and I'll see what I can do. please make sure to have the latest so we are talking about the same things
oQueue was a learning experience as I had never used lua before on a project of any complexity (I'm a c++ dev). I'm still trying to figure stuff out, but most of it is fumbling in the dark (I don't know anyone that does lua...just this forum). I'm starting to 'get it' and the code is slowly changing to reflect it (I'm still unsure how to make lua oo... we'll see)
if your issue is that it's 'all rights reserved' ... tough beans, that's not going to change. if your issue is with some of the features, most features can be toggled. if not, let me know. (FYI, i'll be changing the angry lil button to a raging lil bar if you're in combat)