Hi! I hope i can find some help here. I modified
http://www.wowinterface.com/download...ting.html#info to my own preference. Since arena teams are gone now.
My code looks like this:
Code:
--Get old rating when player first login game
e = CreateFrame("Frame")
e:RegisterEvent("PLAYER_LOGIN")
e:SetScript("OnEvent", function()
old_rating1 = GetPersonalRatedInfo(1) --2v2
old_rating2 = GetPersonalRatedInfo(2) --3v3
old_rating3 = GetPersonalRatedInfo(3) --5v5
old_rating4 = GetPersonalRatedInfo(4) --RBG
end)
f = CreateFrame("Frame")
f:RegisterEvent("UPDATE_BATTLEFIELD_STATUS")
f:SetScript("OnEvent", function()
--make sure we're in an arena and not a battleground
isUnratedArena, isRatedArena = IsActiveBattlefieldArena()
if(isRatedArena) then
--If the arena has not yet ended, return without doing anything
battlefieldWinner = GetBattlefieldWinner()
if (battlefieldWinner == nil) then
return
end
--current ratings
cur_rating1 = GetPersonalRatedInfo(1) --2v2
cur_rating2 = GetPersonalRatedInfo(2) --3v3
cur_rating3 = GetPersonalRatedInfo(3) --5v5
cur_rating4 = GetPersonalRatedInfo(4) --RBG
--calculate rating change
dif_rating1 = cur_rating1 - old_rating1
dif_rating2 = cur_rating1 - old_rating2
dif_rating3 = cur_rating1 - old_rating3
dif_rating4 = cur_rating1 - old_rating4
end
--get number of group members to make difference between arena bracket, rbg
numGroupMembers = GetNumGroupMembers()
--make message appear in chat
if(old_rating1 ~= cur_rating1 and numGroupMembers == 2) then
ChatFrame1:AddMessage("[2v2] Aktuell: " .. cur_rating1 .. " | Alt: " .. old_rating1 .. " | Änderung: " .. dif_rating1 .. "",0,1,0)
elseif(old_rating2 ~= cur_rating1 and numGroupMembers == 3) then
ChatFrame1:AddMessage("[3v3] Aktuell: " .. cur_rating2 .. " | Alt: " .. old_rating2 .. " | Änderung: " .. dif_rating2 .. "",0,1,0)
elseif(old_rating3 ~= cur_rating3 and numGroupMembers == 5) then
ChatFrame1:AddMessage("[5v5] Aktuell: " .. cur_rating3 .. " | Alt: " .. old_rating3 .. " | Änderung: " .. dif_rating3 .. "",0,1,0)
elseif(old_rating4 ~= cur_rating4 and numGroupMembers > 5) then
ChatFrame1:AddMessage("[RBG] Aktuell: " .. cur_rating4 .. " | Alt: " .. old_rating4 .. " | Änderung: " .. dif_rating4 .. "",0,1,0)
end
--set current rating to old rating
old_rating1 = cur_rating1
old_rating2 = cur_rating2
old_rating3 = cur_rating3
old_rating4 = cur_rating4
end)
Problems that currentliy occur:
- No chat message if my group loses arena match
- No chat message after RBG; i guess theres a problem with the "isRatedArena" check because we make sure its not a battleground.