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
| Nome | Tipo | Cosa fa |
|---|---|---|
self | RMPlatform | Adattatore di piattaforma di Rotation Master (implicito nelle chiamate con due punti). |
spellID | number | ID intero positivo dell'incantesimo, non uno slot del libro degli incantesimi. |
Valori restituiti
| 1 | boolean | nil | True quando il client segnala che l'incantesimo si ripete automaticamente; false quando lo segnala inattivo; nil se non disponibile. |
|---|---|---|
| 2 | string | nil | Motivo 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
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 shootingDipendenze
identifier→Platform.spells.identifier
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




