Aufruf als
addon.Platform:IsAutoRepeatActive(spellID)
Direkt über addon verfügbar; keine Abhängigkeit nötig.
Was sie bewirkt
Den Status der automatischen Wiederholung des Spielers für einen Zauber wie Schießen oder Automatischer Schuss lesen. Dies unterscheidet sich von einem aktuellen oder eingereihten Zauber. Moderne Clients erhalten die exakte Zauber-ID; eine alte Abfrage löst zuerst den Platz im Zauberbuch des Spielers auf. Eingeschränkte Client-Richtlinien, unlesbare Ergebnisse und nicht verfügbare Zauberbuchplätze ergeben nil mit einem Grund. Dies beobachtet nur den Zustand und startet oder stoppt nie einen Zauber.
Argumente
| Name | Typ | Was sie bewirkt |
|---|---|---|
self | RMPlatform | Plattformadapter von Rotation Master (bei Doppelpunktaufrufen implizit). |
spellID | number | Positive ganzzahlige Zauber-ID, kein Platz im Zauberbuch. |
Rückgabewerte
| 1 | boolean | nil | True, wenn der Client meldet, dass sich dieser Zauber automatisch wiederholt; false, wenn er ihn als inaktiv meldet; nil, wenn nicht verfügbar. |
|---|---|---|
| 2 | string | nil | Validierungs- oder Verfügbarkeitsgrund für ein nil-Ergebnis. |
Editionen
Integrierte Hilfsfunktionen werden auf jeder Edition registriert. Unterschiedlich ist die Spiel-API, die sie lesen; fehlt eine, weicht die Hilfsfunktion aus oder gibt nil mit einem Grund zurück.
- Auf dieser Edition nicht verfügbar (den Grund nennt der Tooltip)
- Nur, solange Blizzards Ersatz für veraltete Funktionen aktiv ist
Geheime Werte (Retail und Forever)
Auf Retail und Forever übergibt das Spiel Addons geheime Werte. Diese Hilfsfunktion prüft, was sie liest (addon.Platform:CanReadValue), und gibt statt eines geheimen Werts, den sie nicht vergleichen kann, nil mit einem Grund wie restricted-value zurück. Behandeln Sie nil als nicht verfügbar, nicht als false.
Beispiel
local shooting = addon.Platform:IsAutoRepeatActive(75) -- Auto Shot
if shooting == nil then return nil end
return not shootingAbhängigkeiten
identifier→Platform.spells.identifier
Quelle
Platform/spells.lua, Zeile 697. Im Spiel schreibgeschützt; Duplizieren erstellt eine bearbeitbare Kopie.
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




