Thanks everyone for the tips but i figured it out by going back into some of my other datapanel addons.
This is the code that works:
Code:
--Check Player's Role
local classRoles = {
DEATHKNIGHT = {
[1] = "TANK", -- 250 - Blood - (TANK)
[2] = "DAMAGER", -- 251 - Frost - (MELEE_DPS)
[3] = "DAMAGER", -- 252 - Unholy - (MELEE_DPS)
},
DEMONHUNTER = {
[1] = "DAMAGER", -- 577 - Havoc - (MELEE_DPS)
[2] = "TANK", -- 581 - Vengeance - (TANK)
},
DRUID = {
[1] = "CASTER", -- 102 - Balance - (CASTER_DPS)
[2] = "DAMAGER", -- 103 - Feral - (MELEE_DPS)
[3] = "TANK", -- 104 Guardian - (TANK)
[4] = "HEALER", -- 105 Restoration - (HEALER)
},
HUNTER = {
[1] = "DAMAGER", -- 253 - Beast Mastery - (RANGED_DPS)
[2] = "DAMAGER", -- 254 - Marksmanship - (RANGED_DPS)
[3] = "DAMAGER", -- 255 - Survival - (RANGED_DPS)
},
MAGE = {
[1] = "CASTER", -- 62 - Arcane - (CASTER_DPS)
[2] = "CASTER", -- 63 - Fire - (CASTER_DPS)
[3] = "CASTER", -- 64 - Frost - (CASTER_DPS)
},
MONK = {
[1] = "TANK", -- 268 - Brewmaster - (TANK)
[2] = "DAMAGER", -- 269 - Windwalker - (MELEE_DPS)
[3] = "HEALER", -- 270 - Mistweaver - (HEALER)
},
PALADIN = {
[1] = "HEALER", -- 65 - Holy - (HEALER)
[2] = "TANK", -- 66 - Protection - (TANK)
[3] = "DAMAGER", -- 70 - Retribution - (MELEE_DPS)
},
PRIEST = {
[1] = "HEALER", -- 256 - Discipline - (HEALER}
[2] = "HEALER", -- 257 - Holy - (HEALER)
[3] = "CASTER", -- 258 - Shadow - (CASTER_DPS)
},
ROGUE = {
[1] = "DAMAGER", -- 259 - Assassination - (MELEE_DPS)
[2] = "DAMAGER", -- 260 - Combat - (MELEE_DPS)
[3] = "DAMAGER", -- 261 - Subtlety - (MELEE_DPS)
},
SHAMAN = {
[1] = "CASTER", -- 262 - Elemental - (CASTER_DPS)
[2] = "DAMAGER", -- 263 - Enhancement - (MELEE_DPS)
[3] = "HEALER", -- 264 - Restoration - (HEALER)
},
WARLOCK = {
[1] = "CASTER", -- 265 - Affliction - (CASTER_DPS)
[2] = "CASTER", -- 266 - Demonology - (CASTER_DPS)
[3] = "CASTER", -- 267 - Destruction - (CASTER_DPS)
},
WARRIOR = {
[1] = "DAMAGER", -- 71 - Arms - (MELEE_DPS)
[2] = "DAMAGER", -- 72 - Furry - (MELEE_DPS)
[3] = "TANK", -- 73 - Protection - (TANK)
},
}
local _, playerClass = UnitClass("player")
local playerRole
local function CheckRole()
local talentTree = GetSpecialization()
if(type(classRoles[playerClass]) == "string") then
playerRole = classRoles[playerClass]
elseif(talentTree) then
playerRole = classRoles[playerClass][talentTree]
end
end
local eventHandler = CreateFrame("Frame")
eventHandler:RegisterEvent("PLAYER_ENTERING_WORLD")
eventHandler:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED")
eventHandler:RegisterEvent("PLAYER_TALENT_UPDATE")
eventHandler:RegisterEvent("CHARACTER_POINTS_CHANGED")
eventHandler:SetScript("OnEvent", CheckRole)
Thanks Agian
Coke