Riferimento › Riferimento delle funzioni › Platform

Platform.spells.IsAutoRepeatActive

pubblica

Chiamala come

addon.Platform:IsAutoRepeatActive(spellID)

Disponibile direttamente tramite addon; non serve alcuna dipendenza.

Cosa fa

Legge lo stato di ripetizione automatica del giocatore per un incantesimo come Shoot o Auto Shot. È distinto da un lancio attuale o in coda. I client moderni ricevono l'ID esatto dell'incantesimo; una query del sistema precedente risolve prima lo slot del libro degli incantesimi del giocatore. Policy del client con restrizioni, risultati illeggibili e slot del libro non disponibili restituiscono nil con un motivo. Osserva lo stato e non avvia né interrompe mai un incantesimo.

Argomenti

NomeTipoCosa fa
selfRMPlatformAdattatore di piattaforma di Rotation Master (implicito nelle chiamate con due punti).
spellIDnumberID intero positivo dell'incantesimo, non uno slot del libro degli incantesimi.

Valori restituiti

1boolean | nilTrue quando il client segnala che l'incantesimo si ripete automaticamente; false quando lo segnala inattivo; nil se non disponibile.
2string | nilMotivo di convalida o di indisponibilità quando il risultato è nil.

Edizioni

Le funzioni di supporto integrate sono registrate su ogni edizione. Ciò che cambia è l'API di gioco che leggono; dove ne manca una, la funzione di supporto ripiega su un'alternativa o restituisce nil con un motivo.

  • Non disponibile su quell'edizione (il motivo è nel suggerimento)
  • Solo mentre sono attivi i ripieghi di Blizzard per le API deprecate
API di giocoClassic EraTBC AnniversaryClassic progressionForeverRetail
C_Spell.IsAutoRepeatSpellClassic EraTBC AnniversaryClassic progressionForeverRetail
FindSpellBookSlotBySpellIDClassic EraTBC AnniversaryClassic progressionForeverRetail
IsAutoRepeatSpellClassic EraTBC AnniversaryClassic progressionForeverRetail

Valori segreti (Retail e Forever)

Su Retail e Forever il gioco fornisce agli addon valori segreti. Questa funzione di supporto controlla ciò che legge (addon.Platform:CanReadValue) e restituisce nil con un motivo come restricted-value invece di un valore segreto che non può confrontare. Considera nil come non disponibile, non come false.

Esempio

local shooting = addon.Platform:IsAutoRepeatActive(75) -- Auto Shot
if shooting == nil then return nil end
return not shooting

Dipendenze

Sorgente

Platform/spells.lua, riga 697. Nel gioco è in sola lettura; Duplica crea una copia modificabile.

Platform.spells.IsAutoRepeatActive(self, spellID)
    local policy=self:GetCombatDataPolicy()
    if policy~='probe' and policy~='restricted' then return nil,'unsupported-policy' end
    local valid,reason=identifier(spellID,true)
    if not valid then return nil,reason end
    local native=C_Spell and C_Spell.IsAutoRepeatSpell
    local ok,active
    if type(native)=='function' then
        ok,active=pcall(native,spellID)
    else
        if type(IsAutoRepeatSpell)~='function' or type(FindSpellBookSlotBySpellID)~='function' then return nil,'missing-api' end
        local found,slot=pcall(FindSpellBookSlotBySpellID,spellID,false)
        if not found then return nil,'api-error' end
        if not self:CanReadValue(slot) then return nil,'restricted-value' end
        if slot==nil then return nil,'spell-not-in-book' end
        if type(slot)~='number' or slot<1 or slot==math.huge or slot%1~=0 then return nil,'invalid-api-result' end
        ok,active=pcall(IsAutoRepeatSpell,slot,BOOKTYPE_SPELL or 'spell')
    end
    if not ok then return nil,'api-error' end
    if not self:CanReadValue(active) then return nil,'restricted-value' end
    if type(native)~='function' then
        if active==0 then active=false elseif active==1 then active=true end
    end
    if type(active)~='boolean' then return nil,'invalid-api-result' end
    return active

Torna a Riferimento delle funzioni