WoW:API JoinBattlefield: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
(→‎Example: + loud errors on serial calls.)
m (Move page script moved page API JoinBattlefield to API JoinBattlefield without leaving a redirect)
 
(One intermediate revision by one other user not shown)
Line 28: Line 28:
   end
   end
  end
  end
The following will queue you for Skirmish 2v2 if not in a group.
/script JoinBattlefield(1)


== Notes ==
== Notes ==

Latest revision as of 04:46, 15 August 2023

WoW API < JoinBattlefield

Queues the player, or the player's group, for a battlefield instance.

JoinBattlefield(index[, asGroup[, isRated]])

Arguments[edit]

index
Number - Which battlefield instance to queue for (0 for first available), or which arena bracket to queue for.
asGroup
Boolean - If true-equivalent, the player's group is queued for the battlefield, otherwise, only the player is queued.
isRated
Boolean - If true-equivalent, and queueing for an arena bracket, the group is queued for a rated match as opposed to a skirmish.

Details[edit]

The function requests the player to be added to a queue for a particular instance of the currently selected battleground type, as set by RequestBattlegroundInstanceInfo(index). You CANNOT queue immediately after a RequestBattlegroundInstanceInfo call, and must instead capture the event that indicates that the instance list is available.

Example[edit]

The following code creates a utility function, JoinBattlegroundType, which allows you to queue for the first available instance of a specific battleground type.

do
 local f, aG, iR = CreateFrame("FRAME");
 f:SetScript("OnEvent", function(self, event)
  JoinBattlefield(0, aG, iR);
  self:UnregisterEvent("PVPQUEUE_ANYWHERE_SHOW");
 end);
 function JoinBattlegroundType(index, asGroup, isRated)
  if f:IsEventRegistered("PVPQUEUE_ANYWHERE_SHOW") then
   error("A join battleground request is already being processed");
  end
  f:RegisterEvent("PVPQUEUE_ANYWHERE_SHOW");
  aG, iR = asGroup, isRated;
  RequestBattlegroundInstanceInfo(index);
 end
end


The following will queue you for Skirmish 2v2 if not in a group.

/script JoinBattlefield(1)

Notes[edit]

  • When the Arena Battlemaster window is open, index 1 is 2vs2, index 2 is 3vs3 and index 3 is 5vs5.

See Also[edit]