WoW:API GetZonePVPInfo: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
mNo edit summary
m (Move page script moved page API GetZonePVPInfo to API GetZonePVPInfo without leaving a redirect)
 
(8 intermediate revisions by 7 users not shown)
Line 1: Line 1:
  <center>'''GetZonePVPInfo''' ''-Documentation by [[user:Meog|Meog]]-''</center>
{{wowapi}}
Returns PVP info for the current zone.
  pvpType, isFFA, faction = GetZonePVPInfo();


Returns PVP info for the current zone - doesnt seems to work at pve servers
==Parameters==
===Returns===
:;pvpType : String - One of the following values:
:::*"arena", if you are in an arena
:::*"friendly", if the zone is controlled by the faction the player belongs to.
:::*"contested" if the zone is contested (PvP server only)
:::*"hostile", if the zone is controlled by the opposing faction.
:::*"sanctuary", if the zone is a sanctuary and does not allow pvp combat (2.0.x).
:::*"combat", if it is a combat zone where players are automatically flagged for PvP combat (3.0.x). Currently applies only to the [[Wintergrasp]] zone.
:::*nil, if the zone is none of the above. Happens inside instances, ''including battlegrounds'', and on PvE servers when the zone would otherwise be "contested".
:;isFFA : Integer - 1 if in a free-for-all arena, nil otherwise.
:;faction : String - the name of the faction controlling the zone if pvpType is "friendly" or "hostile".


GetZonePVPInfo();


----
==Example==
;''Arguments''
local zone = GetRealZoneText() .. " - " .. tostring(GetSubZoneText());
 
local pvpType, isFFA, faction = GetZonePVPInfo();
:''none''
if (pvpType == "friendly" or pvpType == "hostile") then
 
  zone = zone .. " is controlled by " .. faction .. " (" .. pvpType .. ")";
----
  elseif (pvpType == "sanctuary") then
;''Returns''
  zone = zone .. " is a PvP-free sanctuary.";
 
  elseif (isFFA) then
:String pvpType, String factionName, Boolean isArena
  zone = zone .. " is a free-for-all arena.";
:;pvpType : "friendly", if the zone is controlled by the faction the player belongs to<br>"contested", if the zone is contested<br>"hostile", if the zone is controlled by the opposing faction
  else
:;factionName : the faction, that controls the zone, if pypType is "friendly" or "hostile"
  zone = zone .. " is a contested zone.";
:;isArena : true, if the player is in an arena, false otherwise
end
 
DEFAULT_CHAT_FRAME:AddMessage(zone);
----
===Result===
;''Example''
Displays information about the current zone in the default chat frame. Example outputs include:
  local pvpType, factionName, isArena = GetZonePVPInfo();
Stormwind CIty - War Room is controlled by Alliance (friendly)
   
Alterac Valley - Dun Baldar Pass is a contested zone.
 
;''Result''
  "friendly", "Alliance", false
 
----
;''Description''
 
: Returns PVP info for the current zone.
 
----
{{Template:WoW API}}
[[Category:API Functions|GetZonePVPInfo]]
[[Category:API Location Functions|GetZonePVPInfo]]

Latest revision as of 04:46, 15 August 2023

WoW API < GetZonePVPInfo

Returns PVP info for the current zone.

pvpType, isFFA, faction = GetZonePVPInfo();

Parameters[edit]

Returns[edit]

pvpType
String - One of the following values:
  • "arena", if you are in an arena
  • "friendly", if the zone is controlled by the faction the player belongs to.
  • "contested" if the zone is contested (PvP server only)
  • "hostile", if the zone is controlled by the opposing faction.
  • "sanctuary", if the zone is a sanctuary and does not allow pvp combat (2.0.x).
  • "combat", if it is a combat zone where players are automatically flagged for PvP combat (3.0.x). Currently applies only to the Wintergrasp zone.
  • nil, if the zone is none of the above. Happens inside instances, including battlegrounds, and on PvE servers when the zone would otherwise be "contested".
isFFA
Integer - 1 if in a free-for-all arena, nil otherwise.
faction
String - the name of the faction controlling the zone if pvpType is "friendly" or "hostile".


Example[edit]

local zone = GetRealZoneText() .. " - " .. tostring(GetSubZoneText());
local pvpType, isFFA, faction = GetZonePVPInfo();
if (pvpType == "friendly" or pvpType == "hostile") then
 zone = zone .. " is controlled by " .. faction .. " (" .. pvpType .. ")";
elseif (pvpType == "sanctuary") then
 zone = zone .. " is a PvP-free sanctuary.";
elseif (isFFA) then
 zone = zone .. " is a free-for-all arena.";
else
 zone = zone .. " is a contested zone.";
end
DEFAULT_CHAT_FRAME:AddMessage(zone);

Result[edit]

Displays information about the current zone in the default chat frame. Example outputs include:

Stormwind CIty - War Room is controlled by Alliance (friendly)
Alterac Valley - Dun Baldar Pass is a contested zone.