View Single Post
11-18-18, 01:12 PM   #6
cokedrivers
A Rage Talon Dragon Guard
 
cokedrivers's Avatar
AddOn Author - Click to view addons
Join Date: Aug 2009
Posts: 325
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

Last edited by cokedrivers : 11-18-18 at 01:17 PM.
  Reply With Quote