Page 2 of 2 FirstFirst
1
2
  1. #21
    Quote Originally Posted by ccKep View Post
    Also: You might want to use the 6th return value of GetRaidRosterInfo since the 5th is localized.
    It isn't my code, I just fixed it; I will make sure to implement your method though

  2. #22
    If you're already considering performance, you might want to:
    1) Loop from 1 to GetNumGroupMembers(), thus preventing you from having to use nil handling code.
    2) Not perform this many string concatenations for each unit you parse. Consider building a table of strings you want to display (names[i] .. ": " ..stacks), then using table.concat(t,"\n") to merge them together. table.concat is implemented in C and performs far better than repeated string concatenation (which creates a copy of the original string, then appends the second string, for each operation).
    UI & AddOns expert | Interface & Macros moderator - My work

  3. #23
    Thx for posting these!

  4. #24
    Here's the latest 'revision':

    Code:
    function()
        
        local names = {}
        local stacks = {}
        local info = {} 
        local members = GetNumGroupMembers();
        local raidSize;
        
        if members > 25 then
            raidSize = 40;
        elseif members > 10 then
            raidSize = 25;
        else
            raidSize = 10;
        end   
        
        for i = 1,raidSize,1 do
            local name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable, shouldConsolidate, spellId, unitName, unitClass, col, color, r, g, b, r2, g2, b2
            
            unitName = select(1,GetRaidRosterInfo(i))
            
            if unitName ~= nil then 
                unitClass = select(6,GetRaidRosterInfo(i));
                col = RAID_CLASS_COLORS[unitClass];
                if col then
                    color = string.sub(col.colorStr, 3, 8)
                else
                    color = "646464"
                end
                
                names[i] = string.format("|cff%s%s", color, unitName)
            else            
                r,g,b = 100,100,100
                unitName = "No Player"
                unitClass = nil
                names[i] = string.format("|cff%02x%02x%02x%s", r, g, b, unitName)            
            end 
            
            
            if unitName ~= "No Player" then            
                name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable, shouldConsolidate, spellId =  UnitDebuff(unitName,"Shadowed Soul")
            end
            
            if count ~= nil then
                if count < 6 then 
                    r2,g2,b2 = 0,255,0
                elseif count < 11 then
                    r2,g2,b2 = 255,266,0
                elseif count < 16 then
                    r2,g2,b2 = 255,128,0
                else 
                    r2,g2,b2 = 255,0,0
                end 
                stacks[i] = string.format("|cff%02x%02x%02x%d", r2, g2, b2, count)
            else  
                r2,g2,b2 = 15,150,190
                count = 0
                stacks[i] = string.format("|cff%02x%02x%02x%d", r2, g2, b2, count)
            end
            
            info[i] = names[i] .. ": " .. stacks[i];
            
            
            if unitName ~= "No Player" then            
                name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable, shouldConsolidate, spellId =  UnitDebuff(unitName, "Soul Fragment")     
                if name then
                    info[i] = info[i].." |cffFF0000(Soul Fragment)"
                end
            end        
        end
        
        return "|cffFF00FFShadowed Soul:\n\n"..table.concat(info, "\n")
        
    end
    Feel free to scrutinize
    Last edited by Kasc; 2013-05-09 at 03:44 PM.

  5. #25
    If you guys don't mind, can you post the export strings as well. This LUA stuff confuses me lol.

  6. #26
    Just get Grid

  7. #27
    Seeing this thread was similar to my question, posting here. Is there a way to flash text beyond a certain threshold? Say, less than 7 seconds remaining on a buff, etc?

    Secondly: Is it possible to have a dynamic group grow up to five horizontally, and then repeat/move down a row?

    Essentially I'm playing with tracking my buffs via dynamic group, but when many things are active, it ends up being a long list of icons with timers.
    Last edited by Chult; 2013-05-10 at 01:01 AM.

  8. #28
    Quote Originally Posted by Chult View Post
    Seeing this thread was similar to my question, posting here. Is there a way to flash text beyond a certain threshold? Say, less than 7 seconds remaining on a buff, etc?

    Secondly: Is it possible to have a dynamic group grow up to five horizontally, and then repeat/move down a row?

    Essentially I'm playing with tracking my buffs via dynamic group, but when many things are active, it ends up being a long list of icons with timers.
    1. Yes - but you will have to play with the settings in the Animation tab for it to work how you'd like it to.
    2. You'd have to make multiple dynamic groups.
    Not#1974

  9. #29
    Quote Originally Posted by Woz View Post
    1. Yes - but you will have to play with the settings in the Animation tab for it to work how you'd like it to.
    2. You'd have to make multiple dynamic groups.
    Okay, making multiple groups is NP. And using presets, I can make them flash. However, I cannot assign a less than 7 second trigger to the flash. When using custom animations, flash isn't even a choice. Any advice?

    I'm assuming I'll have to put in some LUA to make them do this only at a certain point of less, however my LUA knowledge is pretty limited.
    Last edited by Chult; 2013-05-10 at 02:07 AM.

  10. #30
    Well I do have an idea that you could try:

    Code:
    dG0nHaqjLQKgfP0PifRIuvVsjyweLBPuzxqu(fjr1WuuhdrltP8mfPPruDnL02ueFdcghjPZbHwhjrmpsI09qPuDqLOfkQ8qquteLcxeeSre0hvQsnsLQiNeeALKQmtLQWnrPODQs)eIQHQuvlfe5Punvr5QOukBvPkXxrPK1Quf1CrPAVs)fKgmQomHfJqpgftMixMYMrjFMeJwu1PH0RvcnBvCBsLDRWVbgoOwUWZrA6Q66ISDscFhImEe48KuRNKOSFOUKnRUOz9RtRtIm5idbKHyDD1LQl1S6gbWIHKj1C1P2H1(a0XxphYZYqoBUhqGWS6cjj0hfmehOFGQOybTz9RhMckyKPg2QReGeC9rsxwGQOybTxY6hGqQz1dWXAwDDPZJ2S(97xhvQEMr)(1zAwVKnREIAbu19oxprTakb9oxNbCarZ6LSeQ62Kv5BiI4S8PRZRRiuw7wN270sOQBtNjNryDv(0PKiozTS2ToTFD1iNflQ99Ut(CDwGWucqAibzWbenRxYEj7DRxYEN2lzVY7LSFDjJk(uiElNGzrLaKgsLyDQqNLze8PWAU6efmlQeG0qcYGdiAwVK9oJS1E36DgzR9oT3zKT2R8ENr2A)6FGQOyrZQtHTZbIs13MSHic1binq(4OU5QddqYIxnS17C9e1GcdqYIxnS1C1zs0hOdAEujR(JQZKQNgMkSXxxKEqDPuiEuWO(A9e1GsHTZ5k0znxDtf24RVK5rbdmNTrfepw9e1GcBbJnEyasw0C1tudkmajlkX6jQbLcBNdeLAU6uy7CUcDwVBt2qeH6jQbnnq)MR(qOZOnRxY67dqYcmNTaHKkbZ98O2rQFDylySXddqYI6Qoxh2cgB8WaKSaka2cXdI6Qu2E)6efmlQeG0qc5SyrTV3T6b4fpky07CDXavN4rbJMvN(I4BwDgWbeqQeQ6esvNSov(S81PtKJGQL1U116IdCErMAyRotI(aD1zahqKReQkciUUnzLCv(KneLpfXYA3606mGdi27s46KvYveMmpVHicYrq(CzTBvEDXboVGW0GPEyFkgyoR0G5rbdTWbqjmkvgMtFr8YWCj78cny9WCmhZX8W(umWC6lIhZxaZ1chaLWOumxFmxYoVqdwpBivprnOIdCErZvprnOmGdikX6WHrTVUsaqQU4aNx07CDkJ4yQ7LSU6ENRtqVZ1LsH4rbJ6R1zahqKPg2Qt)qGQK)Hm4aI6mGdiimnyQh2NIbMZknyEuWqlCaucJsLH5bPmmxHugMtKugMliLH5XMmmxztgMtCtgMl20G1dZX8W(umW8GeZxaZ1chaLWOumxFmxBSH57W8GuJgzyUcjMVaMRfoakHrPyU(yUwLnmFhMRqQrJmmNijMVaMRfoakHrPyU(yUwIBy(omNiPgnYWCbjMVaMRfoakHrPyU(yUwXgMVdZfKA0G1Zgsy9QhGx8wVZ1PmIJrqVK1zahqSSxY(11jqhnRod4aci1lzDPuiEuWO(wDXboVitnSvppQKvNbCarUEjRZaoGyV7LSU4aNxqyAWupSpfdmNvAW8OGHwny9WCmpSpfdmFgRNnKW6vprnOIdCErZvprnOmGdikX6IdCErVZ1PmIJrqVK1v37CDgWbezQHT60peOk5FidoGOod4aIL9swNbCabHPbt9W(umWCwPbZJcgAHdGsyuQmmpiLH5kKYWCIKYWCbPmmp2KH5kBYWCIBYWCXMgSEyoMJ5yEyFkgyEqI5lG5AHdGsyukMRpMRn2W8DyEqQrJmmxHeZxaZ1chaLWOumxFmxRYgMVdZvi1OrgMtKeZxaZ1chaLWOumxFmxlXnmFhMtKuJgzyUGeZxaZ1chaLWOumxFmxRydZ3H5csnAW6zdjSE1dWlER356ugXXu3lzDc6DUFDwOduA(MvhomQ91zjKS(9RlyEuWG2S60xeFZQlbGQCaivI1Laqzs0hORe73VEEdvj)3R856b4fV1C1paHuZQNOguMJGsBU6b4ynRUU05rBw)(1tud6WuHfLyDMJGsBwDk6q5y13hsqecEw)(1LqPmH9g0a8Ihfm6DUoQu9mJ(yU2CjwSW8emMJKkhZFuDwOPorbZIkbinKYmc(uy1Zmc(uyu2Dy7CwY8OQq8OGbYvHfhHAk7qG5GctnOEAuxcLcFeQ9xWSiT(EfUolqykbinKYmc(uy1H44TGLGXyFPKeyqzNTmXIltHGY((aKSyzkeu20KqfSVmfck7ltHys9rsxwGQOybTxY6eGCwSO237oYveq2ADDOraIsSolW4DuvM1l5K6HPGcgzQHT6OmGrDIhBiXMajR(s2GnQloW5f9swpn(avrXIMvprnOuy7CUcDwZvpnq)6WhHAlQNOg00a9BU6jQbfgGKfVAyReRtHTZ5k0z9Unzdre6xNjaWqv37mYKtw)nc(uy1H44TGLGXyFPKeyqzNTmXIltHGY((aKSyzkeu20KqfSVmfck7ltHysDgGo4WO0sSUqsc9rbdXb6hOkkwqBw)6iHk957v(CDjJk(uiEJqqykbinKkX6Ga1gV4rbJ67jKdjiUNr(nB5EafI39ceGKdH6mbagkb9oJm5K1PVGzr6(a0XxhYq4Mbbiv)ncEidoGOz9s27CVt7DUF)E3Aw9e1cOQ7DUEIAbuc6DUod4aIM1lzju1TjRY3qeXz5txNxxrOS2ToT3PLqv3MotoJW6Q8PtjrCYAzTBDA)6sOu4JqDMrWxhbkMFmwpMtZJAhP6PXhOkkw0S6jQbLcBNZvOZAU6uy7CUcDwVKiuprnOPb63C1tudkmajlE1Wwjwpnq)6WhHAl6xNfimLaKgsqgCarZ6LSxYE36LS3P9s2R8Ej7xxYOIpfI3YjywujaPHujwNk0zzgbFkSMRUG5rbdAZQtFr8nRUeaQYbGujwxcaLjrFGUsSF)6VrWdzWbenRxYEj7DRekFDJCBYSQZBtrareqCRS2ToT3PLWjYNmfreNNxNkFEB6kIL1U1P9kVxY(1P2H1(a0XxhYq4Mbbiv)dufflAw9e1GKPR5QtbPGXsd0Vo8rO2I6uqkyS6lPOd0HvNcBNdeLQVnzdreQdBbJnEyaswafaBH4brDvkBVEIAqHbizrjwpmDih2cXdI6Qu2EDkSDoxHoR((aKSaZzlqiPsWCppQDKQddqYIxnS17C9HqNrBwVK13hGKfyoBbcjvcM75rTJu)6jQbLcBNZvOZAU6jQbvYOFjwprnOPb63C1tudkmajlE1WwZvNjrFGoO5rLS6pQotQEIAqPGuWynxDPuiEuWO(ADAIOPcB8EIflucQdDjBdslHUC)93dicb2OEAyQWgF9hvNjv3uHn(6qgOJO4X89aOuprnOWwWyJhgGKfnxDrkezQHT65yBesy9e1GsHTZbIsnx9e1GsbPGXsd0V5QNOgujJ(Pb6xI1dtxDeQdBbJnEyaswux156jQbvKcrMAyR56xxmq1jEuWOz1PVi(MvNbCabKkHQoHu1jRtLplFD6e5iOAzTBDTU4aNxKPg2QZKOpqxDgWbe5kHQIaIRBtwjxLpzdr5trSS2ToTod4aI9UeUozLCfHjZZBiIGCeKpxw7wLxxCGZlimnyQh2NIbMZknyEuWqlCaucJsLH50xeVmmxYoVqdwpmhZXCmpSpfdmN(I4X8fWCTWbqjmkfZ1hZLSZl0G1Zgs1tudQ4aNx0C1zahqSSxY6jQbLbCarjwxCGZl6DUoLrCm19swxDVZ1jO356mGdiYudB1PFiqvY)qgCarDPuiEuWO(ADgWbeeMgm1d7tXaZzLgmpkyOfoakHrPYW8GugMRqkdZjskdZfKYW8ytgMRSjdZjUjdZfBAW6H5yEyFkgyEqI5lG5AHdGsyukMRpMRn2W8DyEqQrJmmxHeZxaZ1chaLWOumxFmxRYgMVdZvi1OrgMtKeZxaZ1chaLWOumxFmxlXnmFhMtKuJgzyUGeZxaZ1chaLWOumxFmxRydZ3H5csnAW6zdjSE1dWlER356ugXXiOxY6WHrTVUsaqQFDDc0rZQZaoGas9swxCGZlYudB1ZJkz1zahqKRxY6mGdi27EjRloW5feMgm1d7tXaZzLgmpkyOvdwpmhZd7tXaZNX6zdjSE1tudQ4aNx0C1F1WwD4WO2xNYioM6EjRdhg1(6IdCEX(Pd1QloW5f9oxNbCaXYEjRRU356mGdiYudB1PFiqvY)qgCarDc6DUEIAqzahquI1zahqqyAWupSpfdmNvAW8OGHw4aOegLkdZdszyUcPmmNiPmmxqkdZJnzyUYMmmN4MmmxSPbRhMJ5yoMh2NIbMhKy(cyUw4aOegLI56J5AJnmFhMhKA0idZviX8fWCTWbqjmkfZ1hZ1QSH57WCfsnAKH5ejX8fWCTWbqjmkfZ1hZ1sCdZ3H5ej1OrgMliX8fWCTWbqjmkfZ1hZ1k2W8DyUGuJgSE2qcRx9a8I36DUoLrCmc6LSUukepkyuFRFDwOduA(MvhomQ91zjKS(9RlzuXNcXBecctjaPHujwxYOIpfI3kX6sOuMWEdAaEXJcg9oxNjaWqv37mYKtwNOGzrLaKgsqgCarZ6LS3zKT27wVZiBT3P9oJS1EL37mYw7xpVHQK)lHQIW6eerC62686kciUUvw7KJy9a8I3AU6hGqQz1dWXAwDDPZJ2S(9RNOg0HPclkX6mhbL2S6u0HYXQVpKGie8S66sNhTz13hsqecEwZ1VF)6JKUSavrXcAVK1ja5SyrTVeUt15z5YLRkIYxjryYkctkRDYxRtuWSOsasdPmJGpfw9mJGpfgLDh2oNLmpQkepkyGCvyXrOMYoeyoOWudQNg1LqPWhHA)fmlsRVxzQZceMsasdPmJGpfwDioElyjym2xkjbgu2zltS4YuiOSVpajlwMcbLnnjub7ltHGY(YuiMuNfy8oQkZ6LCsDugWO5QRdncquI1fh48IEjRhMckyKPg2Q)gbFD1iNflQ9LWvseLVIGQBtMrKu1ne2kRDYxRt8ydj2eiz1xYgSrDuP6zg9XCTiqX8W0jqhOdfmhjvoMZ6iO51uN(OmlQMnsH4rbJsSUi9GMREaEXJcg9ox)nc(uy1H44TGLGXyFPKeyqzNTmXIltHGY((aKSyzkeu20KqfSVmfck7ltHysD6lywKczW4fOdD24RdXRdr2ac1vzaGUENRZa0bhgLwI1fssOpkyioq)avrXcAZ6xhjuPpFjeb5RiqUTobXPtrCwv5Qww7KpPo6qfwqTsSoiqTXlEuWO(Ec5qcI7zKFZwUhqH4DVabi5qOotaGHsqVZitozD6lywKUpaD81HmeUzqas1jkywujaPHeYzXIAFVB97DAZQNOwavDVZ1tulGsqVZ1zahq0SEjlHQUnzv(gIiolF6686kcL1U1P9oTeQ620zYzewxLpDkjItwlRDRt7xpn(avrXIMvprnOuy7CUcDwZvNcBNZvOZ6DBYgIiuprnOPb63C1tudkmajlE1Wwjwpnq)6WhHAl6xNfimLaKgsqgCarZ6LSxYE36LS3P9s2R8Ej7xxYOIpfI3YjywujaPHujwNk0zzgbFkSMRUG5rbdAZQtFr8nRUeaQYbGujwxcaLjrFGUsSF)6FGQOyrZQtbPGXsd0Vo8rO2I6jQbfgGKfLyDyasw8QHTENRdBbJnEyaswafaBH4brDvkBVotI(aDqZJkz1FuDMuDPuiEuWO(K6jQbfgGKfVAyR5QtHTZ5k0z13hGKfyoBbcjvcM75rTJu9xnSvN(IprRlsHitnSvphBJqcRNgMkSXxxKEqDAIOPcB8EIflucQdDjBdslHUC)93dicb2OUPcB81HmaCKainW89dGsyukMR1HTZrt9e1GsbPGXkX6jQbf2cgB8WaKSO5QNOgukSDoxHoR5QNOgukifmwAG(nx9e1Gkz0pnq)sSEIAqtd0V5QdBbJnEyaswux156jQbvKcrMAyR56x)ncEidoGOz9U17CVt7DUFDjuktyVbnaV4rbJENRlgO6epky0S60xeFZQZaoGasLqvNqQ6K1PYNLVoDICeuTS2TUwxCGZlYudB1zs0hORod4aIL9swNbCaXExcxNSsUIWK55nerqocYNlRDRYRloW5feMgm1d7tXaZzLgmpkyOfoakHrPYWC6lIxgMlzNxObRhMJ5yoMh2NIbMtFr8y(cyUw4aOegLI56J5s25fAW6zdP6jQbvCGZlAU6VAyRotI(aD1zahqKReQkciUUnzLCv(KneLpfXYA3606WHrTVUsaqQU4aNx07CDkJ4ye0lzD19oxNGENRtzehtDVK1zahqKPg2Qt)qGQK)Hm4aI6mGdiimnyQh2NIbMZknyEuWqlCaucJsLH5bPmmxHugMtKugMliLH5XMmmxztgMtCtgMl20G1dZX8W(umW8GeZxaZ1chaLWOumxFmxBSH57W8GuJgzyUcjMVaMRfoakHrPyU(yUwLnmFhMRqQrJmmNijMVaMRfoakHrPyU(yUwIBy(omNiPgnYWCbjMVaMRfoakHrPyU(yUwXgMVdZfKA0G1Zgsy9QhGx8wVZ1LsH4rbJ6tQNOgugWbeLy)66eOJMvNbCabK6LSoLrCmc6LSU4aNxKPg2QNhvYQZaoGixVK1zahqS39swxCGZlimnyQh2NIbMZknyEuWqRgSEyoMh2NIbMpJ1Zgsy9QNOguXboVO5Q)QHT6mj6d0vNYioM6EjRloW5f9oxNbCaXYEjRRU356e07C9e1GYaoGOeRZaoGGW0GPEyFkgyoR0G5rbdTWbqjmkvgMhKYWCfszyorszyUGugMhBYWCLnzyoXnzyUytdwpmhZXCmpSpfdmpiX8fWCTWbqjmkfZ1hZ1gBy(ompi1OrgMRqI5lG5AHdGsyukMRpMRvzdZ3H5kKA0idZjsI5lG5AHdGsyukMRpMRL4gMVdZjsQrJmmxqI5lG5AHdGsyukMRpMRvSH57WCbPgny9SHewV6b4fV17CDgWbezQHT60peOk5FidoGOUukepkyuFs)6SqhO08nRoCyu7RZsiz97xNjaWqv37mYKtwpVHQK)7v(C9a8I3AU6hGqQz1tudkZrqPnx9aCSMvxx68OnRF)6jQbDyQWIsSoZrqPnRofDOCS67djicbpRF)6sgv8Pq8gHGWucqAivI1jkywujaPHeKbhq0SEj7DgzR9U17mYw7DAVZiBTx59oJS1(1jkywujaPHuMrWNcREMrWNcJYUdBNZsMhvfIhfmqUkS4iutzhcmhuyQb1tJ6sOu4JqT)cMfP13RW1zbctjaPHuMrWNcRoehVfSemg7lLKadk7SLjwCzkeu23hGKfltHGYMMeQG9LPqqzFzketQps6YcufflO9swNaKZIf1(s4Uvvjxjru(kIBimfXPBQww7KVwxhAeGOeRZcmEhvLz9soPEykOGrMAyRokdyuN4XgsSjqYQVKnyJ6IdCErVK1vJCwSO2xcryI8nvNkNeHPtufrvxNuw7KJqDuP6zg9XCTqMnWCKu5yEgQol0upaV4rbJENR)gbFkS6qC8wWsWySVuscmOSZwMyXLPqqzFFaswSmfckBAsOc2xMcbL9LPqmPodqhCyuAjwxijH(OGH4a9dufflOnRFDKqL(89kFUoiqTXlEuWO(Ec5qcI7zKFZwUhqH4DVabi5qOotaGHsqVZitozD6lywKUpaD81HmeUzqas1jkywujaPHeYzXIAFVB97xxf9skFEUFla
    Has 3 different components:
    - Buff (on you) with a timer
    - Flashing text when 7s remaining on buff
    - Timer that fades in as CD is nearing expiration (requires some modification in the animation tab to work properly with whatever CD you're tracking -- to change it go to Animation and change the Duration in both Start/Finish to the total duration of the CD in seconds)

    From what I understand that's what you're looking for.
    Not#1974

  11. #31
    Nah, I don't need a seperate text saying "7 seconds left on X". I'm just looking for a regular buff icon for a spell with duration text which flashes when low.

    Conversely, the icon flashing when low could work too. Just a visual queue to refresh buffs/debuffs.
    Last edited by Chult; 2013-05-10 at 05:15 AM.

  12. #32
    Quote Originally Posted by Chult View Post
    Nah, I don't need a seperate text saying "7 seconds left on X". I'm just looking for a regular buff icon for a spell with duration text which flashes when low.

    Conversely, the icon flashing when low could work too. Just a visual queue to refresh buffs/debuffs.
    Make one aura for the CD with no text (just input " " [a space] in the textbox) - then make a second aura (a text one for the CD of said ability) layered on top as a text with the display set to show when 7s left and make the main animation flash.
    Not#1974

  13. #33
    Yes, but I want to see the full duration of the ability, and the same text flash when it breaks the 7 second remaining threshold. Just icon with time, which flashes when low.

    Anyway, I guess it's grossly inefficient to make two weakauras for every single ability I track just to do this. Thanks for your help anyway.

  14. #34
    Quote Originally Posted by Kasc View Post
    Here's the latest 'revision':

    Code:
    function()
        
        local names = {}
        local stacks = {}
        local info = {} 
        local members = GetNumGroupMembers();
        local raidSize;
        
        if members > 25 then
            raidSize = 40;
        elseif members > 10 then
            raidSize = 25;
        else
            raidSize = 10;
        end   
        
        for i = 1,raidSize,1 do
            local name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable, shouldConsolidate, spellId, unitName, unitClass, col, color, r, g, b, r2, g2, b2
            
            unitName = select(1,GetRaidRosterInfo(i))
            
            if unitName ~= nil then 
                unitClass = select(6,GetRaidRosterInfo(i));
                col = RAID_CLASS_COLORS[unitClass];
                if col then
                    color = string.sub(col.colorStr, 3, 8)
                else
                    color = "646464"
                end
                
                names[i] = string.format("|cff%s%s", color, unitName)
            else            
                r,g,b = 100,100,100
                unitName = "No Player"
                unitClass = nil
                names[i] = string.format("|cff%02x%02x%02x%s", r, g, b, unitName)            
            end 
            
            
            if unitName ~= "No Player" then            
                name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable, shouldConsolidate, spellId =  UnitDebuff(unitName,"Shadowed Soul")
            end
            
            if count ~= nil then
                if count < 6 then 
                    r2,g2,b2 = 0,255,0
                elseif count < 11 then
                    r2,g2,b2 = 255,266,0
                elseif count < 16 then
                    r2,g2,b2 = 255,128,0
                else 
                    r2,g2,b2 = 255,0,0
                end 
                stacks[i] = string.format("|cff%02x%02x%02x%d", r2, g2, b2, count)
            else  
                r2,g2,b2 = 15,150,190
                count = 0
                stacks[i] = string.format("|cff%02x%02x%02x%d", r2, g2, b2, count)
            end
            
            info[i] = names[i] .. ": " .. stacks[i];
            
            
            if unitName ~= "No Player" then            
                name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable, shouldConsolidate, spellId =  UnitDebuff(unitName, "Soul Fragment")     
                if name then
                    info[i] = info[i].." |cffFF0000(Soul Fragment)"
                end
            end        
        end
        
        return "|cffFF00FFShadowed Soul:\n\n"..table.concat(info, "\n")
        
    end
    Feel free to scrutinize
    I'm using this right now. Is there anyway to get the order to show from greatest to least? People with the most stacks at the top of the list and the least at the bottom.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •