Appel
Platform.actions.findSlot(id, bank)
Enregistrez la dépendance Platform.actions.findSlot, puis appelez-la sous ce nom. Un appel par espace de noms ne transmet pas self : utilisez un appel avec deux-points ou passez l'objet vous-même.
Ce qu'elle fait
Finds the spell-book slot of a spell with FindSpellBookSlotBySpellID. bank "pet" searches the pet book, "any" searches the player book and then the pet book, and any other value searches the player book only. Returns the slot and its book type, or nil, nil and a reason: spell-not-in-book, invalid-api-result, or a reason from call (missing-api, api-error, restricted-value).
Arguments
| Nom | Type | Ce qu'elle fait |
|---|---|---|
id | number | Spell ID to locate; not validated here (callers check it with spellID first). |
bank | string | Spell-book scope: spell, pet or any. |
Retours
| 1 | number | nil | Positive integer spell-book slot, or nil when not found or unavailable. |
|---|---|---|
| 2 | string | nil | Book type for that slot: BOOKTYPE_PET (pet) or BOOKTYPE_SPELL (spell); nil on failure. |
| 3 | string | nil | Reason when the slot is nil. |
Éditions
Les fonctions utilitaires intégrées sont enregistrées sur toutes les éditions. Ce qui diffère, c'est l'API du jeu qu'elles lisent ; quand l'une manque, la fonction utilitaire se rabat sur une alternative ou renvoie nil avec une raison.
- Indisponible sur cette édition (la raison figure dans l'infobulle)
- Uniquement tant que les solutions de repli de Blizzard pour les fonctions obsolètes sont actives
| API du jeu | |||||
|---|---|---|---|---|---|
FindSpellBookSlotBySpellID |
Comment l'addon l'appelle
Platform.actions.GetSpellRangeStateif not slot then slot,book,slotReason=findSlot(id,bank) end
Dépendances
call→Platform.actions.call
Source
Platform/actions.lua, ligne 92. En lecture seule dans le jeu ; Dupliquer crée une copie modifiable.
Platform.actions.findSlot(id, bank)
local pet=bank=="pet"
local slot,reason=call(FindSpellBookSlotBySpellID,id,pet)
if reason then return nil,nil,reason end
if slot==nil and bank=="any" then
pet=true;slot,reason=call(FindSpellBookSlotBySpellID,id,true)
if reason then return nil,nil,reason end
end
if slot==nil then return nil,nil,"spell-not-in-book" end
if type(slot)~="number" or slot<1 or slot==math.huge or slot%1~=0 then return nil,nil,"invalid-api-result" end
return slot,pet and (BOOKTYPE_PET or "pet") or (BOOKTYPE_SPELL or "spell")




