Llamar como
addon.Platform:GetPlayerFormObservation()
Disponible directamente a través de addon; no hace falta ninguna dependencia.
Qué hace
Observa la forma actual del jugador con una única llamada protegida a GetShapeshiftForm sin argumentos. Conserva todos los resultados numéricos finitos legibles, incluidos cero y los valores con signo y fraccionarios; no se deduce ningún dominio de índice nativo más estricto. Los datos que faltan, fallan, son nil, están restringidos o no son finitos siguen sin estar disponibles. No se añade recuento de formas, clase, ID de hechizo, unidad ni argumento opcional.
Argumentos
| Nombre | Tipo | Qué hace |
|---|---|---|
self | RMPlatform | Adaptador de plataforma de Rotation Master (implícito en las llamadas con dos puntos). |
Retornos
| 1 | number | nil | Observación finita y legible de la forma actual, incluido cero para la comparación actual sin forma alterada; nil si no está disponible. |
|---|---|---|
| 2 | string | nil | Motivo de disponibilidad de la política del cliente, la capacidad, la llamada o la observación para una forma nil. |
Ediciones
Las funciones auxiliares integradas se registran en todas las ediciones. Lo que cambia es la API del juego que leen; donde falta alguna, la función auxiliar recurre a una alternativa o devuelve nil con un motivo.
- No disponible en esa edición (el motivo aparece en la información emergente)
- Solo mientras estén activas las alternativas de Blizzard para API obsoletas
| API del juego | |||||
|---|---|---|---|---|---|
GetShapeshiftForm | |||||
canaccessvalue |
Valores secretos (Retail y Forever)
En Retail y Forever, el juego entrega a los addons valores secretos. Esta función auxiliar comprueba lo que lee (addon.Platform:CanReadValue) y, en lugar de un secreto que no puede comparar, devuelve nil con un motivo como restricted-value. Trata nil como no disponible, no como falso.
Ejemplo
local form = addon.Platform:GetPlayerFormObservation()
if form == nil then return nil end
return form == 0 -- not shapeshiftedCódigo fuente
Platform/form.lua, línea 17. Solo lectura en el juego; Duplicar crea una copia editable.
Platform.form.GetPlayerFormObservation(self)
local policy=self:GetCombatDataPolicy()
if policy~='probe' and policy~='restricted' then return nil,'unsupported-policy' end
if type(GetShapeshiftForm)~='function' then return nil,'missing-api' end
local ok,result=pcall(GetShapeshiftForm)
if not ok then return nil,'api-error' end
if not self:CanReadValue(result) then return nil,'restricted-value' end
if canaccessvalue and not canaccessvalue(result) then return nil,'restricted-value' end
if result==nil then return nil,'form-unavailable' end
if type(result)~='number' or result~=result or result==math.huge or result==-math.huge then return nil,'invalid-api-result' end
return result




