Thread Tools Display Modes
04-02-14, 03:58 AM   #1
Sylen
A Wyrmkin Dreamwalker
AddOn Author - Click to view addons
Join Date: Jan 2011
Posts: 50
GetBattlefieldWinner() won't detect lose?

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.
  Reply With Quote

WoWInterface » Developer Discussions » Lua/XML Help » GetBattlefieldWinner() won't detect lose?


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off