Référence › Référence des fonctions › Platform

Platform.items.GetItemInfoInstant

publique

Appel

addon.Platform:GetItemInfoInstant(item)

Disponible directement via addon ; aucune dépendance n'est nécessaire.

Ce qu'elle fait

Lit les métadonnées natives normalisées de classification d'objet. L'enregistrement contient itemID, classID et subClassID canoniques, ainsi que equipLoc, le jeton non localisé INVTYPE_* de l'emplacement d'équipement, lorsqu'il est lisible et non vide ; il n'exige pas que le texte d'affichage de l'objet soit chargé. Les métadonnées manquantes, en échec, mal formées ou restreintes renvoient nil avec un motif.

Arguments

NomTypeCe qu'elle fait
selfRMPlatformAdaptateur de plateforme Rotation Master (implicite avec un appel par deux-points).
itemnumber | stringID d'objet positif, ou nom/lien d'objet reconnu nativement, à classer.

Retours

1table | nilEnregistrement canonique et lisible de classification d'objet (itemID, classID, subClassID et equipLoc facultatif), ou nil si indisponible.
2string | nilMotif de validation ou de disponibilité pour un résultat 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 jeuClassic EraTBC AnniversaryClassic ProgressionForeverRetail
C_Item.GetItemInfoInstantClassic EraTBC AnniversaryClassic ProgressionForeverRetail
GetItemInfoInstantClassic EraTBC AnniversaryClassic ProgressionForeverRetail

Valeurs secrètes (Retail et Forever)

Sur Retail et Forever, le jeu transmet aux addons des valeurs secrètes. Cette fonction utilitaire vérifie ce qu'elle lit (addon.Platform:CanReadValue) et renvoie nil avec une raison telle que restricted-value au lieu d'une valeur secrète qu'elle ne peut pas comparer. Traitez nil comme indisponible, pas comme false.

Exemple

local item = addon.Platform:GetItemInfoInstant(5512) -- Healthstone
if not item then return nil end
return item.classID == 0 -- consumable

Dépendances

Source

Platform/items.lua, ligne 132. En lecture seule dans le jeu ; Dupliquer crée une copie modifiable.

Platform.items.GetItemInfoInstant(self, item)
    local valid,reason=identifier(item)
    if not valid then return nil,reason end
    local fn=C_Item and C_Item.GetItemInfoInstant
    if type(fn)~='function' then fn=GetItemInfoInstant end
    if type(fn)~='function' then return nil,'missing-api' end
    local ok,tuple=pcall(function() return {fn(item)} end)
    if not ok then return nil,'api-error' end
    local id,class,subclass=tuple[1],tuple[6],tuple[7]
    if not self:CanReadValue(id) or not self:CanReadValue(class) or not self:CanReadValue(subclass) then return nil,'restricted-value' end
    if id==nil then return nil,'item-data-unavailable' end
    if not finite(id) or id<=0 or id%1~=0 or not finite(class) or class%1~=0
        or not finite(subclass) or subclass%1~=0 or type(item)=='number' and id~=item then return nil,'invalid-api-result' end
    -- The equip location is a non-localized INVTYPE_* token (two-hand,
    -- shield, ...). An empty or unreadable token is simply absent.
    local equipLoc=tuple[4]
    if not self:CanReadValue(equipLoc) or type(equipLoc)~='string' or equipLoc=='' then equipLoc=nil end
    return {itemID=id,classID=class,subClassID=subclass,equipLoc=equipLoc}

Retour à Référence des fonctions