Chame como
addon.Platform:GetZonePVPObservation()
Disponível diretamente por meio de addon; nenhuma dependência é necessária.
O que faz
Observa o primeiro resultado de classificação JxJ da zona com uma única chamada com ponto protegida e sem argumentos. Prefere a função invocável C_PvP.GetZonePVPInfo e usa a função global apenas quando a moderna não existe. Um nil bem-sucedido ou nenhum valor retornado produz um registro vazio conhecido; observações ausentes, com falha, restritas ou malformadas continuam indisponíveis. Textos legíveis vazios e futuros mantêm o significado exato, e campos de retorno não usados não determinam a disponibilidade. Nunca troca de backend após um resultado ou falha da moderna.
Argumentos
| Nome | Tipo | O que faz |
|---|---|---|
self | RMPlatform | Adaptador de plataforma do Rotation Master (implícito nas chamadas com dois-pontos). |
Retornos
| 1 | table | nil | Registro de observação bem-sucedida com o texto pvpType ou nil; registro nil significa indisponível. |
|---|---|---|
| 2 | string | nil | Motivo de disponibilidade da política do cliente, da capacidade, da chamada ou da observação para um registro nil. |
Edições
As funções auxiliares integradas são registradas em todas as edições. O que muda é a API do jogo que elas leem; quando uma está ausente, a função auxiliar recorre a uma alternativa ou retorna nil com um motivo.
- Indisponível nessa edição (o motivo está na dica)
- Só enquanto as alternativas da Blizzard para APIs obsoletas estiverem ativas
| API do jogo | |||||
|---|---|---|---|---|---|
C_PvP | |||||
GetZonePVPInfo | |||||
canaccessvalue |
Valores secretos (Retail e Forever)
No Retail e no Forever, o jogo entrega valores secretos aos addons. Esta função auxiliar verifica o que lê (addon.Platform:CanReadValue) e retorna nil com um motivo como restricted-value em vez de um valor secreto que não consegue comparar. Trate nil como indisponível, não como false.
Exemplo
local zone = addon.Platform:GetZonePVPObservation()
if not zone then return nil end
return zone.pvpType == "sanctuary"Código-fonte
Platform/zone_pvp.lua, linha 18. Somente leitura no jogo; Duplicar cria uma cópia editável.
Platform.zone_pvp.GetZonePVPObservation(self)
local family=self:GetClientFamily()
if family~='retail' and family~='forever' and family~='era' and family~='tbc' and family~='progression' then return nil,'unsupported-policy' end
local namespace=C_PvP
if not self:CanReadValue(namespace) then return nil,'restricted-value' end
if canaccessvalue and not canaccessvalue(namespace) then return nil,'restricted-value' end
local api
if type(namespace)=='table' then api=namespace.GetZonePVPInfo end
if not self:CanReadValue(api) then return nil,'restricted-value' end
if canaccessvalue and not canaccessvalue(api) then return nil,'restricted-value' end
if type(api)~='function' then
api=GetZonePVPInfo
if not self:CanReadValue(api) then return nil,'restricted-value' end
if canaccessvalue and not canaccessvalue(api) then return nil,'restricted-value' end
if type(api)~='function' then return nil,'missing-api' end
end
local ok,pvpType=pcall(api)
if not ok then return nil,'api-error' end
if not self:CanReadValue(pvpType) then return nil,'restricted-value' end
if canaccessvalue and not canaccessvalue(pvpType) then return nil,'restricted-value' end
if pvpType==nil then return {} end
if type(pvpType)~='string' then return nil,'invalid-api-result' end
return {pvpType=pvpType}




