WoW:API GetBattlefieldStatus: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
(__NOTOC__)
m (Move page script moved page API GetBattlefieldStatus to API GetBattlefieldStatus without leaving a redirect)
 
(5 intermediate revisions by 4 users not shown)
Line 2: Line 2:
Get the status of the battlefield that the player is either queued for or inside.
Get the status of the battlefield that the player is either queued for or inside.


  status, mapName, instanceID = GetBattlefieldStatus(index);
  status, mapName, instanceID, lowestlevel, highestlevel, teamSize, registeredMatch = GetBattlefieldStatus(index);


== Parameters ==
== Parameters ==
Line 13: Line 13:


:;status : String - Battlefield status (none, queued, confirm, active, error)
:;status : String - Battlefield status (none, queued, confirm, active, error)
:;map : String - Localized battlefield name ([[Warsong Gulch]], [[Arathi Basin]], [[Alterac Valley]] or [[Eastern Kingdoms]])
:;map : String - Localized battlefield name ([[Warsong Gulch]], [[Arathi Basin]], [[Alterac Valley]] or nil)
:;instanceID : Integer - Battlefield instance (returns 0 until you are inside an active battlefield)
:;instanceID : Integer - Battlefield instance (returns 0 until you are inside an active battlefield)
:;lowestLevel : Integer - Lowest level in the battleground that will be joining (10, 20, 30, 40, 51 or 60)
:;lowestLevel : Integer - Lowest level in the battleground that will be joining (10, 20, 30, 40, 51, 60, 61, 70)
:;highestLevel : Integer - Highest level in the battleground that will be joining (19, 29, 39, 49 or 60)
:;highestLevel : Integer - Highest level in the battleground that will be joining (19, 29, 39, 49, 60, 69, 70)
(''new in 2.0.1'')
:;teamSize: Integer - Team size of the battlefields queue (2, 3, 5 or 0 if not an arena queue)
:;teamSize: Integer - This appears to be used for arena's and is the team size for the arena (2, 3, 5 or 0 if it's not an arena queue)
:;registeredMatch: Integer - Returns 1 if it's a registered arena queue, returns 0 if it's a skirimish or not an arena queue, use teamSize to check for arenas
----
----


=== Details ===
=== Details ===


Used for retrieving the status of the battlegrounds that the player is queued or inside of, if the player is not queued for all 3 battlegrounds at once then passing an index higher then they are queued for will return none for status and [[Eastern Kingdoms]] as a map name.
Used for retrieving the status of the battlefields that the player is queued or inside of. If the player is not queued for a battlefield you request it'll return a status of none, requesting an index above 3 will return nil, map name will either be the last battlefield this index was used for or nil you should always use status to verify if it's an an active queue/game.
Appears to return 0 for minlevel and maxlevel of Alterac Valley.
 
As of [[Patch 2.4.0]] map is displayed as "Eastern Kingdoms" during confirm status, and the real map is shown once it's changed to active. instanceID is now always 0 for arena matches as well.


==== Status ====
==== Status ====
* queued - Waiting for a battlefield to become ready
* queued - Waiting for a battlefield to become ready, you're in the queue
* confirm - Ready to join a battlefield
* confirm - Ready to join a battlefield
* active - You're inside an active battlefield
* active - Inside an active battlefield
* none - Invalid index passed, not in queue for anything
* none - Not queued for anything in this index
* error - This should never happen
* error - This should never happen


----
----
=== Example ===
=== Example ===
Display a list of battlefield brackets and arena's you're currently queued for, pending confirmation, in, or just finished.
Display a list of battlefield brackets and arenas you're currently queued for, pending confirmation, in, or just finished.


  local status, mapName, instanceID, minlevel, maxlevel;
  local status, mapName, instanceID, minlevel, maxlevel;
Line 45: Line 47:
     DEFAULT_CHAT_FRAME:AddMessage(mapName .. string.format(" (%d-%d): ", minlevel, maxlevel) ..status);
     DEFAULT_CHAT_FRAME:AddMessage(mapName .. string.format(" (%d-%d): ", minlevel, maxlevel) ..status);
   end
   end
end

Latest revision as of 04:45, 15 August 2023

WoW API < GetBattlefieldStatus

Get the status of the battlefield that the player is either queued for or inside.

status, mapName, instanceID, lowestlevel, highestlevel, teamSize, registeredMatch = GetBattlefieldStatus(index);

Parameters

Arguments

index
Index of the battlefield you wish to view

Returns

status
String - Battlefield status (none, queued, confirm, active, error)
map
String - Localized battlefield name (Warsong Gulch, Arathi Basin, Alterac Valley or nil)
instanceID
Integer - Battlefield instance (returns 0 until you are inside an active battlefield)
lowestLevel
Integer - Lowest level in the battleground that will be joining (10, 20, 30, 40, 51, 60, 61, 70)
highestLevel
Integer - Highest level in the battleground that will be joining (19, 29, 39, 49, 60, 69, 70)
teamSize
Integer - Team size of the battlefields queue (2, 3, 5 or 0 if not an arena queue)
registeredMatch
Integer - Returns 1 if it's a registered arena queue, returns 0 if it's a skirimish or not an arena queue, use teamSize to check for arenas

Details

Used for retrieving the status of the battlefields that the player is queued or inside of. If the player is not queued for a battlefield you request it'll return a status of none, requesting an index above 3 will return nil, map name will either be the last battlefield this index was used for or nil you should always use status to verify if it's an an active queue/game.

As of Patch 2.4.0 map is displayed as "Eastern Kingdoms" during confirm status, and the real map is shown once it's changed to active. instanceID is now always 0 for arena matches as well.

Status

  • queued - Waiting for a battlefield to become ready, you're in the queue
  • confirm - Ready to join a battlefield
  • active - Inside an active battlefield
  • none - Not queued for anything in this index
  • error - This should never happen

Example

Display a list of battlefield brackets and arenas you're currently queued for, pending confirmation, in, or just finished.

local status, mapName, instanceID, minlevel, maxlevel;
for i=1, MAX_BATTLEFIELD_QUEUES do
 status, mapName, instanceID, minlevel, maxlevel, teamSize = GetBattlefieldStatus(i);
 if( teamSize > 0 ) then
   DEFAULT_CHAT_FRAME:AddMessage(mapName .. string.format("%dvs%d (%d-%d): ", minlevel, maxlevel, teamType, teamType) ..status);
 else
   DEFAULT_CHAT_FRAME:AddMessage(mapName .. string.format(" (%d-%d): ", minlevel, maxlevel) ..status);
 end
end