Raid Tracker

Keeps account of attendance, loot and DKP for raids, parties, battlegrounds, arenas and now solo for questing.

Works with SexyMaps, Minimap Button Frame, Titan Panel, FuBar, and others for easy access menus, and a minimap icon if no other manager or bar is installed. Provides export strings for DKP for most popular DKP posting formats. Supports loot filtering via loot options window /rt io, or on the minimap menu.

 Chat commands:
  /rt      - main window
  /rt o    - options
  /rt io   - item options
  /rt help - help
  /rt hide - hide the application icon


Curse site release updates are working normally again. Raid Tracker, Hellbender DKP, Tell Track, AddOn Studio. Use links to get files same as before. Enjoy.

More Info: WoWWiki Forum: WowAce Donate: PayPal

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of bisonai bisonai Oct 15, 2010 at 12:32 UTC - 0 likes

    After patch 4.0.1 error is caused by LibKarma-1.0.


    Message: Interface\AddOns\RaidTracker\Data.lua:16: attempt to index global 'LibKarma' (a nil value) Time: 10/15/10 21:16:04 Count: 1 Stack: Interface\AddOns\RaidTracker\Data.lua:16: in main chunk Locals: (*temporary) = nil (*temporary) = nil (*temporary) = "attempt to index global 'LibKarma' (a nil value)"

    Last edited Nov 12, 2010 by bisonai
  • Avatar of bisonai bisonai Aug 10, 2010 at 21:44 UTC - 0 likes

    The Boss kill event is not recognized then the problem.
    1. Icecrown Gunship Battle. 2. Valithria Dreamwalker.

    The Boss Kill the exact problem is an event that is not implanted Which is the key to solving this problem, check to see past this, but the boss kill events were recognized.

    Additions in the file:
      1. Add an event to recognize localization.lua file
    RaidTracker_Bosses = (
                                           :
                                           :
    Gunship_Battle = "Icecrown Gunship Battle",
    ["Gunship Battle"] = "Icecrown Gunship Battle",
    ["Icecrown Gunship Battle"] = "Icecrown Gunship Battle",
    Dreamwalker = "Valithria Dreamwalker",
    ["Dreamwalker"] = "Valithria Dreamwalker",
    Valithria = "Valithria Dreamwalker",
    ["Valithria"] = "Valithria Dreamwalker", -
    Valithria_Dreamwalker = "Valithria Dreamwalker",
    ["Valithria Dreamwalker"] = "Valithria Dreamwalker",
    ["Cache of the Dreamwalker"] = "Cache of the Dreamwalker",  
    ["Cache of the Dreamwalker"] = "Valithria Dreamwalker",
    )
      2. libs \ LibBabble-Boss-3.0 \ LibBabble-Boss-3.0.lua file
    ["GunshipBattle"] = "GunshipBattle",
    ["Gunship Armory"] = "Gunship Armory",
    ["Gunship Battle"] = "Gunship Battle",
    Cache_of_the_Dreamwalker = "Cache of the Dreamwalker",
    ["Cache of the Dreamwalker"] = "Cache of the Dreamwalker",
    ["Cache of the Dreamwalker"] = "Valithria Dreamwalker",
    Dreamwalker = "Valithria Dreamwalker",
    Valithria = "Valithria",
    ["Valithria"] = "Valithria",
    ["Valithria"] = "Valithria Dreamwalker",

    Last edited Aug 10, 2010 by bisonai
  • Avatar of Zidomo Zidomo Jun 10, 2010 at 20:15 UTC - 0 likes

    Will point out the 100% reproducible bug & separate design issue with v2.2.62 reported a month ago in tickets. There has been no response to them, so posting here in case you missed them.

  • Avatar of paladyin paladyin May 25, 2010 at 21:47 UTC - 0 likes
    Quote:

    For the snapshot functionallity, you are right, it is using te online list which was before i added the unified attendee functionality. I need to add an option however to the options ui so that peoepl who rely on it workig the way it is can continue to do so. I may possibly jsut use the attendee snapshot function for this insteadm where you coudl set the options for snapshot effectivly on the existing attendee option. They woud gather the same set.

    Thanks a lot for the fix.

    There is a slight problem, however :)

    People who leave the raid are still present in the snapshot.

    I added a crude hack to your code by using UnitInRaid to test for this:

    -- The commented part is your original code
    --			local name, online, zone = self:GetAttendeeInfo(k)
    --			if (not chkZone or zone==t.zone) and (not chkOnline or online) then
    --				t.Players[k] = { }
    --			end
    			if UnitInRaid( k ) == nil then
    				self:Print( "Snapshot: " .. tostring( k ) .. " is not in the raid anymore." ); -- not necessary ofc, here just for debugging purpose
    			else
    				local name, online, zone = self:GetAttendeeInfo(k)
    				if (not chkZone or zone==t.zone) and (not chkOnline or online) then
    					t.Players[k] = { }
    				end
    			end
    

    Maybe you can include this test (or a smarter one) in the next patch.

    Thanks, keep up the good work, and don't forget about my hooks :)

  • Avatar of bisonai bisonai May 17, 2010 at 09:48 UTC - 0 likes

    File (UI_Button.lua modification of the 256 line and library files (LibBabble-Zone-3.0.lua thinks should be added to. Because according to the following names in languages de and other names appear in the appropriate language can be written since.

    File (UI_Button.lua of the 256-line :
    *Before modification*
        RT_Button:AddMenuBoss( level, "item", L["Dropped from"]..":", value, item.boss )

    *After modification*
       RT_Button:AddMenuBoss( level, "item", L["Dropped from"]..":", value, L[item.boss] )
    -----------------------------------------------------------------------------------------------------------------------------------
    LibBabble-Zone-3.0.lua

        ["World Boss"] = "World Bos",
        ["Trash mob"] = "Trash mob",
        ["World Event"] = "World Event",
        ["Classic"] = "Classic",
        ["The Burning Crusades"] = "The Burning Crusades",
        ["Wrath of the Lich King"] = "Wrath of the Lich King",
        ["Icecrown Glacier"] = "Icecrown Glacier",
    koKR
        ["World Boss"] = "월드 보스",
        ["Trash mob"] = "일반몹",
        ["World Event"] = "월드 이벤트",
        ["Classic"] = "오리지날",
        ["The Burning Crusades"] = "불타는 성전",
        ["Wrath of the Lich King"] = "리치 왕의 분노",
        ["Icecrown Glacier"] = "얼음왕관 빙하",

    Last edited May 17, 2010 by bisonai
  • Avatar of bisonai bisonai May 14, 2010 at 07:28 UTC - 0 likes

    Under adding route wishes, In the locale-koKR.lua
    ———————————————————————————————————————————————————————————————-
    — icecrown
    L.Yell_The_Lich_King = “도망갈 곳은 없다... 너는 이제 나의 것이다!”
    L.YellA_Gunship_Battle = “악당 놈들, 분명히 경고했다! 형제자매여, 전진!”
    L.YellH_Gunship_Battle = “얼라이언스는 기가 꺾였다. 리치 왕을 향해 전진하라!”
    ———————————————————————————————————————————————————————————————-

  • Avatar of Celess Celess May 09, 2010 at 00:43 UTC - 0 likes

    For the snapshot functionallity, you are right, it is using te online list which was before i added the unified attendee functionality. I need to add an option however to the options ui so that peoepl who rely on it workig the way it is can continue to do so. I may possibly jsut use the attendee snapshot function for this insteadm where you coudl set the options for snapshot effectivly on the existing attendee option. They woud gather the same set.

  • Avatar of paladyin paladyin May 07, 2010 at 12:26 UTC - 0 likes
    Quote:

    For the DKP changes, im not totally sure that I understnd what you are after, but... RT doesnt really keep track of DKP per player, just the item cost on a single looted item. That item cost can be set automatically as well and never hit ther UI dialog box, if you use GetCost functionality. That piece of code i think only fires when a user manually edits the cost of an item, or adds it the first time. This would of course eventually affect the players DKP once it gets imported into your DKP system.

    Let me tell you what I would ideally like, and you can see if it's at all feasible.

    I would like to have in the RT code a notification function that I could hook, say like the one below:

    function RT_onItemSold( itemLink, soldTo, itemPrice )
    {
    -- by default do nothing, this function is here just to be overridden
    }
    

    In your code you could call RT_onItemSold every time loot is assigned to someone, no matter if the cost is entered manually in the UI or computed somehow.

    Then in my addon I could do this:

    originalRT_onItemSold = RT_onItemSold;
    
    RT_onItemSold = function( itemLink, soldTo, itemPrice )
    {
    	print( "RaidTracker informs us that " .. soldTo .. " bought " .. itemLink .. " for " .. tostring( itemPrice ) .. " DKP." );
    	adjustPlayerDKP( soldTo, itemPrice ); -- that's my function that keeps track of people's DKP
    	if originalRT_onItemSold ~= nil then
    		originalRT_onItemSold( itemLink, soldTo, itemPrice );
    	end
    }
    

    How does this sound?

    Edit: Wait, there's something else. What about the case when the RT officer manually edits the price of an item they have already assigned with a different price to someone? The function would be called twice with the same itemLink and soldTo, and I could deduct DKP twice from that person. Well, then you could either:

    • call a different notification function (RT_onItemPriceEdited)
    • add to the same notification function some reliable context info that I could compare between calls to see if it's the exact same item that I was already notified about
    • just let me figure that out :)

    PS I don't insist on names, or on having a global function as opposed to a RaidTracker:member(), etc - just whatever would be most convenient for you as long as I get notified.

    Last edited May 07, 2010 by paladyin
  • Avatar of Celess Celess May 07, 2010 at 00:50 UTC - 0 likes

    Sorry ive been out of it for a little while. A lot of RL issues. Ill look into all these as soon as can.

    For the whisper to standby i knwo wudl be nice and save peopel form having to manage other addons. For the snapshot il look into makeing it configurable, more (if its nto that way already). For teh DB glomps i can look into the update code and see if its wantign to reset data, though i woudlthink not. For the DKP changes, im not totally sure that I understnd what you are after, but... RT doesnt really keep track of DKP per player, just the item cost on a single looted item. That item cost can be set automatically as well and never hit ther UI dialog box, if you use GetCost functionality. That piece of code i think only fires when a user manually edits the cost of an item, or adds it the first time. This would of course eventually affect the players DKP once it gets imported into your DKP system.

    Last edited May 07, 2010 by Celess
  • Avatar of paladyin paladyin May 01, 2010 at 09:14 UTC - 0 likes

    In my guild we allow people to go offline while being rotated out. We still award them DKP. We use the Snapshot function to take hourly snapshots for DKP, but that function does not include offline people, so the DKP officer takes notes and manually adds the offline people on the EQDKP site.

    To help him I modified (locally) your SnapshotSessionDB function as follows:

    function RaidTracker:SnapshotSessionDB( )
    	local db,o = self._db,self._options
    	if not o.CurrentRaid then return end
    
    	self:Print(self.L["Snapshotting current raid."])
    	local raid = db.Log[o.CurrentRaid]
    	local tsDate = self:GetTimestamp()
    	local t = {
    		key = tsDate,
    		End = tsDate,
    		zone = raid.zone,
    	}
    	for k, v in pairs(raid) do
    		if type(v) == "table" then t[k] = { } end
    	end
    --[[
    -- {{ FI
    	for k, v in pairs(db.Online) do
    		t.Players[k] = { }
    		tinsert(t.Join, { player = k, time = tsDate } )
    		tinsert(t.Leave, { player = k, time = tsDate } )
    	end
    -- FI }}
    --]]
    -- {{ FI
    	local tAttend = self:GetAttendees();
    
    	for i, v in pairs(tAttend) do
    		local name, online, zone, level, class, sex, guild, race = self:GetAttendeeInfo(i, true)
    
    		t.Players[name] = { }
    		tinsert(t.Join, { player = name, time = tsDate } )
    		tinsert(t.Leave, { player = name, time = tsDate } )
    	end
    -- FI }}
    	tinsert(db.Log, 2, t)
    end
    

    Maybe you can include this option in the main functionality.

    Thanks.

    PS I'm still waiting for an answer to my previous question :)

Facts

Date created
Apr 02, 2008
Categories
Last update
Oct 25, 2014
Development stage
Release
Language
  • deDE
  • enUS
  • esES
  • esMX
  • frFR
  • koKR
  • ptBR
  • ruRU
  • zhCN
  • zhTW
License
GNU General Public License version 2 (GPLv2)
Curse link
Raid Tracker
Downloads
310,892
Recent files
  • R: 2.5.1 for 6.0.2 Oct 25, 2014
  • A: r425 for 6.0.2 Oct 25, 2014
  • R: 2.5.0 for 6.0.2 Oct 16, 2014
  • A: r423 for 6.0.2 Oct 16, 2014
  • R: 2.4.48 for 5.4.8 Sep 19, 2014

Authors