Steam-inventarforespørgsels- og manipulations-API.
Se
Steam-inventartjeneste for flere oplysninger.
Medlemsfunktioner
Medlemsfunktioner for
ISteamInventory
kaldes gennem den globale accessor-funktion
SteamInventory()
.
AddPromoItem
bool AddPromoItem( SteamInventoryResult_t *pResultHandle, SteamItemDef_t itemDef );
Giver en specifik engangspromogenstand til den aktuelle bruger.
Dette kan kaldes sikkert fra klienten, fordi genstandene, som det kan tildele, kan låses via politikker i itemdefs. Et af de primære scenarier for dette kald er at give en genstand til brugere, som også ejer et specifikt andet spil. Dette kan være nyttigt, hvis dit spil har en brugerdefineret grænseflade til at vise specifikke promogenstande til brugeren. Ellers hvis du ønsker at tildele promogenstande, skal du bruge
AddPromoItems eller
GrantPromoItems.
Alle genstande, som kan tildeles, SKAL have en "promo"-attribut i deres itemdef. Promogenstandslisten er et sæt af app-ID'er, som brugeren skal eje for at kunne få tildelt den pågældende genstand. Denne version tildeler alle genstande, som har promoattributter angivet for dem i de konfigurerede genstandsdefinitioner. Dette gør det muligt at tilføje yderligere promogenstande uden at skulle opdatere spilklienten. For eksempel muliggør det følgende, at genstanden bliver tildelt, hvis brugeren ejer enten TF2 eller SpaceWar.
promo: owns:440;owns:480
Returværdier: bool
Denne funktion returnerer altid
true, når den kaldes af en almindelig bruger, og returnerer altid
false, når den kaldes af SteamGameServer.
Ved gennemførelse vil inventarresultatet inkludere genstande, som blev tildelt, hvis der blev tildelt nogen. Hvis der ikke blev tildelt nogen genstande, fordi brugeren ikke er berettiget til promogenstande, betragtes dette stadigvæk som en gennemført handling.
Returnerer et nyt resultathandle via
pResultHandle
.
BEMÆRK: Du skal kalde
DestroyResult på det angivne inventarresultat, når du er færdig med det.
Eksempel:void CInventory::GrantPromoItems()
{
SteamInventory()->AddPromoItem( &s_GenerateRequestResult, 110 );
}
AddPromoItems
bool AddPromoItems( SteamInventoryResult_t *pResultHandle, const SteamItemDef_t *pArrayItemDefs, uint32 unArrayLength );
Navn | Type | Beskrivelse |
pResultHandle | SteamInventoryResult_t * | Returnerer et nyt resultathandle for inventaret. |
pArrayItemDefs | const SteamItemDef_t * | Listen over genstande, som skal gives til brugeren. |
unArrayLength | uint32 | Antallet af genstande i pArrayItemDefs . |
Giver en specifik engangspromogenstand til den aktuelle bruger.
Dette kan kaldes sikkert fra klienten, fordi genstandene, som det kan tildele, kan låses via politikker i itemdefs. Et af de primære scenarier for dette kald er at give en genstand til brugere, som også ejer et specifikt andet spil. Hvis du ønsker at tildele en enkelt promogenstand, skal du bruge
AddPromoItem. Hvis du ønsker at tildele alle tilgængelige promogenstande, skal du bruge
AddPromoItem.
Alle genstande, som kan tildeles, SKAL have en "promo"-attribut i deres itemdef. Promogenstandslisten er et sæt af app-ID'er, som brugeren skal eje for at kunne få tildelt den pågældende genstand. Denne version tildeler alle genstande, som har promoattributter angivet for dem i de konfigurerede genstandsdefinitioner. Dette gør det muligt at tilføje yderligere promogenstande uden at skulle opdatere spilklienten. For eksempel muliggør det følgende, at genstanden bliver tildelt, hvis brugeren ejer enten TF2 eller SpaceWar.
promo: owns:440;owns:480
Returværdier: bool
Denne funktion returnerer altid
true, når den kaldes af en almindelig bruger, og returnerer altid
false, når den kaldes af SteamGameServer.
Ved gennemførelse vil inventarresultatet inkludere genstande, som blev tildelt, hvis der blev tildelt nogen. Hvis der ikke blev tildelt nogen genstande, fordi brugeren ikke er berettiget til promogenstande, betragtes dette stadigvæk som en gennemført handling.
Returnerer et nyt resultathandle via
pResultHandle
.
BEMÆRK: Du skal kalde
DestroyResult på det angivne inventarresultat, når du er færdig med det.
Eksempel:void CInventory::GrantPromoItems()
{
SteamItemDef_t newItems[2];
newItems[0] = 110;
newItems[1] = 111;
SteamInventory()->AddPromoItems( &s_GenerateRequestResult, newItems, 2 );
}
CheckResultSteamID
bool CheckResultSteamID( SteamInventoryResult_t resultHandle, CSteamID steamIDExpected );
Navn | Type | Beskrivelse |
resultHandle | SteamInventoryResult_t | Inventarets resultathandle, som Steam-ID'et skal tjekkes på. |
steamIDExpected | CSteamID | Steam-ID'et, som skal bekræftes. |
Tjekker, om et inventarresultathandle tilhører det angivne Steam-ID.
Dette er vigtigt, når
DeserializeResult bruges til at bekræfte, at en fjernspiller ikke foregiver at have en anden brugers inventar.
Returværdier: bool
true, hvis resultatet tilhører mål-Steam-ID'et, ellers
false.
ConsumeItem
bool ConsumeItem( SteamInventoryResult_t *pResultHandle, SteamItemInstanceID_t itemConsume, uint32 unQuantity );
Navn | Type | Beskrivelse |
pResultHandle | SteamInventoryResult_t * | Returnerer et nyt resultathandle for inventaret. |
itemConsume | SteamItemInstanceID_t | ID'et på genstanden, som skal forbruges. |
unQuantity | uint32 | Antallet af genstande i denne stak, som skal forbruges. |
Forbruger genstande fra en brugers inventar. Hvis mængden af den givne genstand når til nul, fjernes den permanent.
Når en genstand er blevet fjernet, kan den ikke gendannes. Dette er ikke for sarte sjæle. Hvis dit spil overhovedet implementerer fjernelse af genstande, anbefales det at bruge en omstændelig bekræftelsesproces gennem brugergrænsefladen.
Returværdier: bool
Denne funktion returnerer altid
true, når den kaldes af en almindelig bruger, og returnerer altid
false, når den kaldes af SteamGameServer.
Returnerer et nyt resultathandle via
pResultHandle
.
BEMÆRK: Du skal kalde
DestroyResult på det angivne inventarresultat, når du er færdig med det.
Se også: ExchangeItems,
TransferItemQuantityEksempel:void CInventory::DrinkOnePotion( SteamItemInstanceID_t itemID )
{
SteamInventory()->ConsumeItem( &s_ConsumeRequestResult, itemID, 1 );
}
DeserializeResult
bool DeserializeResult( SteamInventoryResult_t *pOutResultHandle, const void *pBuffer, uint32 unBufferSize, bool bRESERVED_MUST_BE_FALSE = false );
Navn | Type | Beskrivelse |
pOutResultHandle | SteamInventoryResult_t * | Returnerer et nyt resultathandle for inventaret. |
pBuffer | const void * | Bufferen, som skal deserialiseres. |
unBufferSize | uint32 | Størrelsen af pBuffer . |
bRESERVED_MUST_BE_FALSE | bool | Dette skal være false! |
Deserialiserer et resultatsæt og bekræfter signaturens bytes.
Dette kald har en potentiel "soft-failure"-tilstand, hvor handle-statussen sættes til
k_EResultExpired.
GetResultItems vil stadigvæk lykkes i denne tilstand. Det "udløbne" resultat kunne tyde på, at dataene er forældede – ikke bare på grund af tidsudløb (en time), men også fordi en af genstandene i resultatsættet kan være blevet byttet eller forbrugt, siden resultatsættet blev genereret. Du kan sammenligne tidsstempler fra
GetResultTimestamp til
ISteamUtils::GetServerRealTime for at se, hvor gamle dataene er. Du kan bare ignorere resultatkoden om udløb og fortsætte som normalt, eller du kan anmode om, at spilleren med de udløbne data sender et opdateret resultatsæt.
Du bør kalde
CheckResultSteamID på resultathandlet, når det gennemføres, for at bekræfte, at fjernspilleren ikke foregiver at have en anden brugers inventar.
Bemærk: Parameteren
bRESERVED_MUST_BE_FALSE
er reserveret til fremtidig brug og må aldrig sættes til "true".
Returværdier: bool
Returnerer altid
true og leverer derefter fejlkoder via
GetResultStatus.
Returnerer et nyt resultathandle via
pResultHandle
.
BEMÆRK: Du skal kalde
DestroyResult på det angivne inventarresultat, når du er færdig med det.
DestroyResult
void DestroyResult( SteamInventoryResult_t resultHandle );
Destruerer et resultathandle og frigør al tilknyttet hukommelse.
ExchangeItems
bool ExchangeItems( SteamInventoryResult_t *pResultHandle, const SteamItemDef_t *pArrayGenerate, const uint32 *punArrayGenerateQuantity, uint32 unArrayGenerateLength, const SteamItemInstanceID_t *pArrayDestroy, const uint32 *punArrayDestroyQuantity, uint32 unArrayDestroyLength );
Navn | Type | Beskrivelse |
pResultHandle | SteamInventoryResult_t * | Returnerer et nyt resultathandle for inventaret. |
pArrayGenerate | const SteamItemDef_t * | Listen med genstande, som bliver oprettet med dette kald. Kan i øjeblikket kun være 1 genstand! |
punArrayGenerateQuantity | const uint32 * | Antallet af hver genstand i pArrayGenerate , som skal oprettes. Kan i øjeblikket kun være 1 genstand og skal angives som 1! |
unArrayGenerateLength | uint32 | Antallet af genstande i pArrayGenerate og punArrayGenerateQuantity . Dette skal i øjeblikket være 1! |
pArrayDestroy | const SteamItemInstanceID_t * | Listen med genstande, som bliver destrueret med dette kald. |
punArrayDestroyQuantity | const uint32 * | Antallet af hver genstand i pArrayDestroy , som skal destrueres. |
unArrayDestroyLength | uint32 | Antallet af genstande i pArrayDestroy og punArrayDestroyQuantity . |
Tildel en genstand for et sæt af andre genstande.
Dette kan bruges til at implementere smedeopskrifter eller transmuteringer eller genstande, som pakker sig selv ud i andre genstande (f.eks. en skattekiste).
Den, som kalder denne API, videregiver den anmodede genstand og et array med genstande og mængder, der skal byttes for genstanden. API'en tager i øjeblikket et array af genstande, som skal genereres, men på nuværende tidspunkt skal størrelsen på arrayet være 1, og antallet af den nye genstand skal være 1.
Alle genstande, som kan tildeles, SKAL have en exchange-attribut i deres itemdef. Exchange-attributten angiver et sæt af opskrifter, som er gyldige udvekslinger for denne genstand. Udvekslingsopskrifter evalueres automatisk af inventartjenesten. Hvis de leverede komponenter ikke passer til opskriften eller ikke indeholder tilstrækkelige mængder, vil udvekslingen ikke lykkes.
For eksempel:
exchange: 101x1,102x1;103x5;104x3,105x3
Vil tillade, at genstanden bliver udvekslet for enten en #101 og en #102, fem #103 eller tre #104 og tre #105. Se dokumentationen
Steam-inventarskema for at få flere oplysninger.
Returværdier: bool
Denne funktion returnerer
true, som indikerer, at handlingen var succesfuld, og returnerer
false, når den kaldes fra SteamGameServer, eller når
unArrayGenerateLength
eller
punArrayGenerateQuantity
ikke er indstillet til
1.
Udvekslinger, som ikke passer til en opskrift eller ikke giver de krævede mængder, vil mislykkes.
Returnerer et nyt resultathandle via
pResultHandle
.
BEMÆRK: Du skal kalde
DestroyResult på det angivne inventarresultat, når du er færdig med det.
Se også: ConsumeItem,
TransferItemQuantityEksempel:// Find en genstand i brugerens inventar med den givne itemdef
SteamItemInstanceID_t CInventory::GetItemIdFromInventory( SteamItemDef_t itemDefId );
void CInventory::Exchange()
{
SteamItemInstanceID_t inputItems[2];
uint32 inputQuantities[2];
inputItems[0] = GetItemIdFromInventory( 103 );
inputQuantities[0] = 3;
inputItems[1] = GetItemIdFromInventory( 104 );
inputQuantities[1] = 3;
SteamItemDef_t outputItems[1];
outputItems[0] = 100;
uint32 outputQuantity[1];
outputQuantity[0] = 1;
SteamInventory()->ExchangeItems( &s_ExchangeRequestResult, outputItems, outputQuantity, 1, inputItems, inputQuantities, 2 );
}
GenerateItems
bool GenerateItems( SteamInventoryResult_t *pResultHandle, const SteamItemDef_t *pArrayItemDefs, const uint32 *punArrayQuantity, uint32 unArrayLength );
Navn | Type | Beskrivelse |
pResultHandle | SteamInventoryResult_t * | Returnerer et nyt resultathandle for inventaret. |
pArrayItemDefs | const SteamItemDef_t * | Listen over genstande, som skal gives til brugeren. |
punArrayQuantity | const uint32 * | Antallet af hver genstand i pArrayItemDefs , som skal tildeles. Dette er valgfrit. Udfyld med NULL for at angive 1 af hver genstand. |
unArrayLength | uint32 | Antallet af genstande i pArrayItemDefs . |
Tildeler specifikke genstande til den aktuelle bruger, kun for udviklere.
Denne API er kun beregnet til at lave en prototype, og den kan kun bruges af Steam-konti, som tilhører dit spils udgivergruppe.
Du kan indsende et array med genstande, hver især identificeret ud fra deres
SteamItemDef_t, og eventuelt et andet array med tilsvarende mængder for hver genstand. Længden af disse arrays SKAL matche!
Returværdier: bool
Denne funktion returnerer altid
true, når den kaldes af en almindelig bruger, og returnerer altid
false, når den kaldes af SteamGameServer.
Returnerer et nyt resultathandle via
pResultHandle
.
BEMÆRK: Du skal kalde
DestroyResult på det angivne inventarresultat, når du er færdig med det.
Eksempel:void CInventory::GrantTestItems()
{
SteamItemDef_t newItems[2];
uint32 quantities[2];
newItems[0] = 110;
newItems[1] = 111;
quantities[0] = 1;
quantities[1] = 1;
SteamInventory()->GenerateItems( &s_GenerateRequestResult, newItems, quantities, 2 );
}
GetAllItems
bool GetAllItems( SteamInventoryResult_t *pResultHandle );
Begynd at modtage alle genstande i den aktuelle brugers inventar.
BEMÆRK: Kald til denne funktion kan have ratebegrænsninger og returnerer muligvis cachelagrede resultater, hvis den kaldes for ofte. Det anbefales, at du kun kalder denne funktion, når du er ved at vise brugerens fulde inventar, eller hvis du tror, at inventaret har ændret sig.
Returværdier: bool
Denne funktion returnerer altid
true, når den kaldes af en almindelig bruger, og returnerer altid
false, når den kaldes af SteamGameServer.
Returnerer et nyt resultathandle via
pResultHandle
.
BEMÆRK: Du skal kalde
DestroyResult på det angivne inventarresultat, når du er færdig med det.
Eksempel:void SpaceWarItem::LoadInventory( IGameEngine *pGameEngine )
{
SteamInventory()->GetAllItems( &s_RequestResult );
}
GetEligiblePromoItemDefinitionIDs
bool GetEligiblePromoItemDefinitionIDs( CSteamID steamID, SteamItemDef_t *pItemDefIDs, uint32 *punItemDefIDsArraySize );
Navn | Type | Beskrivelse |
steamID | CSteamID | Steam-ID'et tilhørende brugeren, som disse genstande er til. Dette skal være det samme som SteamInventoryEligiblePromoItemDefIDs_t.m_steamID . |
pItemDefIDs | SteamItemDef_t * | Returnerer genstandsdefinitions-ID'er ved at kopiere dem ind i dette array. |
punItemDefIDsArraySize | uint32 * | Dette skal være længden af pItemDefIDs and the same as SteamInventoryEligiblePromoItemDefIDs_t.m_numEligiblePromoItemDefs . |
Henter listen af genstandsdefinitions-ID'er, som en bruger kan tildeles.
Du skal kalde dette, mens du håndterer et
SteamInventoryEligiblePromoItemDefIDs_t-kaldsresultat til at hente genstandsdefinitions-ID'er.
Returværdier: bool
Se også: AddPromoItem,
AddPromoItemsGetItemDefinitionIDs
bool GetItemDefinitionIDs( SteamItemDef_t *pItemDefIDs, uint32 *punItemDefIDsArraySize );
Navn | Type | Beskrivelse |
pItemDefIDs | SteamItemDef_t * | Returnerer genstandsdefinitionerne ved at kopiere dem ind i dette array. |
punItemDefIDsArraySize | uint32 * | Dette skal indstilles til længden af pItemDefIDs . Hvis pItemDefIDs er NULL, returnerer dette antallet af elementer, som arrayet skal indeholde. |
Returnerer sættet af alle genstandsdefinitions-ID'er, som er defineret i panelet "App-administrator" på Steamworks-hjemmesiden.
Disse genstandsdefinitioner er ikke nødvendigvis i sammenhængende heltal.
Dette bør kaldes i svar til et
SteamInventoryDefinitionUpdate_t-tilbagekald. Der er ingen grund til at kalde denne funktion, hvis dit spil hardcoder de numeriske genstands-ID'er (f.eks. lilla ansigtsmaske = 20, blå våbenmodifikation = 55) og ikke tillader tilføjelse af nye genstandstyper uden en klientrettelse.
Returværdier: bool
Dette kald returnerer
true efter gennemførelse. Det returnerer kun
false, hvis genstandsdefinitionerne ikke er blevet indlæst fra serveren, eller hvis der ikke findes nogen genstandsdefinition for den aktuelle applikation.
Hvis kaldet lykkes, vil
punItemDefIDsArraySize
indeholde antallet af genstandsdefinitioner, som er tilgængelige.
GetItemDefinitionProperty
bool GetItemDefinitionProperty( SteamItemDef_t iDefinition, const char *pchPropertyName, char *pchValueBuffer, uint32 *punValueBufferSizeOut );
Navn | Type | Beskrivelse |
iDefinition | SteamItemDef_t | Genstandsdefinitionen, som der skal hentes egenskaber for. |
pchPropertyName | const char * | Egenskabsnavnet, som der skal hentes en værdi for. Hivs du sender NULL, vil pchValueBuffer indeholde en kommasepareret liste over alle de tilgængelige navne. |
pchValueBuffer | char * | Returnerer værdien, som er tilknyttet pchPropertyName . |
punValueBufferSizeOut | uint32 * | Dette skal indstilles til størrelsen af pchValueBuffer og returnerer antallet af bytes, som kræves for at holde værdien. |
Henter en strengs egenskaber fra den angivne genstandsdefinition.
Henter en egenskabsværdi for en angiven genstandsdefinition.
Bemærk, at nogle egenskaber (for eksempel, "navn") kan være oversatte og vil afhænge af de aktuelle sprogindstillinger i Steam (se
ISteamApps::GetCurrentGameLanguage). Egenskabsnavne er altid ASCII-alfanumeriske og understregningstegn.
Send
NULL for
pchPropertyName
for at få en kommasepareret liste over alle de tilgængelige egenskabsnavne. I denne tilstand vil
punValueBufferSizeOut
indeholde den foreslåede bufferstørrelse. Ellers er det antallet af bytes, som blev kopieret til
pchValueBuffer
.
Returværdier: bool
Dette returnerer
true, hvis det lykkes. Ellers returneres
false, som indikerer, at genstandsdefinitionerne ikke er blevet indlæst fra serveren, eller at der ikke findes nogen genstandsdefinitioner for den aktuelle applikation, eller at egenskabsnavnet ikke blev fundet i genstandsdefinitionen.
Den tilknyttede værdi returneres via
pchValueBuffer
, og det samlede antal bytes, som kræves for at holde værdien, er tilgængelig fra
punValueBufferSizeOut
. Det anbefales at kalde denne funktion to gange. Den første gang med
pchValueBuffer
indstillet til
NULL og
punValueBufferSizeOut
indstillet til nul for at få størrelsen, som kræves for bufferen for de efterfølgende kald.
Outputtet ser nogenlunde sådan her ud:
pchPropertyName
indstillet til
NULL:
appid,itemdefid,Timestamp
osv...
pchPropertyName
indstillet til
"name":
SW_DECORATION_HAT
BEMÆRK: Kald
LoadItemDefinitions først for at sikre, at genstandene er klar til at blive brugt, inden du kalder GetItemDefinitionProperty.
GetItemsByID
bool GetItemsByID( SteamInventoryResult_t *pResultHandle, const SteamItemInstanceID_t *pInstanceIDs, uint32 unCountInstanceIDs );
Navn | Type | Beskrivelse |
pResultHandle | SteamInventoryResult_t * | Returnerer et nyt resultathandle for inventaret. |
pInstanceIDs | const SteamItemInstanceID_t * | En liste med genstands-ID'er, som tilstanden skal opdateres for. |
unCountInstanceIDs | uint32 | Antallet af genstande i pInstanceIDs . |
Henter statussen for en delmængde af den aktuelle brugers inventar.
Delmængden angives af et array af genstands-ID'er.
Resultatet af dette kald kan serialiseres ved hjælp af
SerializeResult og sendes til andre spillere for at "bevise", at den aktuelle bruger ejer de pågældende genstande uden at vise hele brugerens inventar. For eksempel kan du kalde dette med ID'erne på de genstande, som brugere har udstyret i øjeblikket, og serialisere dette til en buffer og så sende bufferen til andre spillere, når de deltager i et spil.
Returværdier: bool
Denne funktion returnerer altid
true, når den kaldes af en almindelig bruger, og returnerer altid
false, når den kaldes af SteamGameServer.
Returnerer et nyt resultathandle via
pResultHandle
.
BEMÆRK: Du skal kalde
DestroyResult på det angivne inventarresultat, når du er færdig med det.
GetItemPrice
bool GetItemPrice( SteamItemDef_t iDefinition, uint64 *pPrice );
Navn | Type | Beskrivelse |
iDefinition | SteamItemDef_t | Genstandsdefinitions-ID'et, som der skal hentes pris for |
pPrice | uint64* | Pris-pointeren, som skal udfyldes. Priser gengives i brugerens lokale valuta. |
Efter et vellykket kald til
RequestPrices kan du kalde denne metode for at få priser for en bestemt genstandsdefinition.
Returværdier: bool
true, hvis det lykkes, hvilket indikerer, at
pPrice
er blevet udfyldt med prisen på det pågældende genstands-ID.
false, hvis parametrene er ugyldige, eller hvis der ikke er nogen pris for det pågældende genstands-ID.
Se også: RequestPricesGetItemsWithPrices
bool GetItemsWithPrices( SteamItemDef_t *pArrayItemDefs, uint64 *pPrices, uint32 unArrayLength );
Navn | Type | Beskrivelse |
pArrayItemDefs | SteamItemDef_t * | Arrayet med genstandsdefinitions-ID'er, som skal udfyldes |
pPrices | uint64* | Arrayet med priser for hver tilhørende genstandsdefinitions-ID i pArrayItemDefs. Priser gengives i brugerens lokale valuta. |
unArrayLength | uint32 | Dette skal være længden på pArrayItemDefs - og pPrices -arrays, som hentes fra resultaterne fra kaldet til GetNumItemsWithPrices. |
Efter et vellykket kald til
RequestPrices kan du kalde denne metode for at få alle priser for relevante genstandsdefinitioner. Brug resultatet fra
GetNumItemsWithPrices som størrelsen på de arrays, du sender.
Returværdier: bool
true, hvis det lykkes, hvilket indikerer, at
pArrayItemDefs
og
pPrices
er blevet udfyldt med genstands-ID'er og priser på de genstande, som er på tilbud.
false, hvis parametrene er ugyldige.
Se også: RequestPrices,
GetItemPriceGetNumItemsWithPrices
uint32 GetNumItemsWithPrices();
Efter et vellykket kald til
RequestPrices returnerer dette antallet af genstandsdefinitioner, som har gyldige priser.
Returværdier: uint32Se også: RequestPrices,
GetItemsWithPricesGetResultItemProperty
bool GetResultItemProperty( SteamInventoryResult_t resultHandle, uint32 unItemIndex, const char *pchPropertyName, char *pchValueBuffer, uint32 *punValueBufferSizeOut );
Navn | Type | Beskrivelse |
resultHandle | SteamInventoryResult_t | Resultathandlet, som indeholder genstanden, hvis egenskaber skal hentes. |
unItemIndex | uint32 | |
pchPropertyName | const char * | Egenskabsnavnet, som der skal hentes værdi for. Hivs du sender NULL, vil pchValueBuffer indeholde en kommasepareret liste over alle de tilgængelige navne. |
pchValueBuffer | char * | Returnerer værdien, som er tilknyttet pchPropertyName . |
punValueBufferSizeOut | uint32 * | Dette skal indstilles til størrelsen af pchValueBuffer og returnerer antallet af bytes, som kræves for at holde værdien. |
Henter de dynamiske egenskaber fra en genstand i et genstandsresultatsæt.
Egenskabsnavne består altid af ASCII-bogstaver, tal og/eller understregningstegn.
Hvis resultaterne ikke passer i den pågældende buffer, kan der kopieres delvise resultater.
Returværdier: bool
Dette returnerer
true, hvis det lykkes, ellers
false, hvilket indikerer, at inventarresultathandlet var ugyldigt, eller det angivne indeks ikke indeholder en genstand.
GetResultItems
bool GetResultItems( SteamInventoryResult_t resultHandle, SteamItemDetails_t *pOutItemsArray, uint32 *punOutItemsArraySize );
Navn | Type | Beskrivelse |
resultHandle | SteamInventoryResult_t | Inventarets resultathandle, som der skal hentes genstande til. |
pOutItemsArray | SteamItemDetails_t * | Detaljerne returneres ved at kopiere dem ind i dette array. |
punOutItemsArraySize | uint32 * | Dette skal indstilles til længden af pOutItemsArray . Hvis pOutItemsArray er NULL, returnerer dette antallet af elementer, som arrayet skal indeholde. |
Henter de genstande, der er tilknyttet et inventarresultathandle.
Returværdier: bool
true, hvis kaldet lykkedes, ellers
false.
Mulige fejlårsager:
-
resultHandle
er ugyldigt, eller inventarets resultathandle er ikke klar.
-
pOutItemsArray
er ikke stor nok til at holde arrayet.
- Brugeren har ingen genstande.
Hvis kaldet lykkes, vil
punItemDefIDsArraySize
indeholde antallet af genstandsdefinitioner, som er tilgængelige.
Eksempel:bool bGotResult = false;
std::vector<SteamItemDetails_t> vecDetails;
uint32 count = 0;
if ( SteamInventory()->GetResultItems( callback->m_handle, NULL, &count ) )
{
vecDetails.resize( count );
bGotResult = SteamInventory()->GetResultItems( callback->m_handle, vecDetails.data(), &count );
}
GetResultStatus
EResult GetResultStatus( SteamInventoryResult_t resultHandle );
Navn | Type | Beskrivelse |
resultHandle | SteamInventoryResult_t | Inventarets resultathandle, som der skal hentes status for. |
Finder ud af statussen på et asynkront inventarresultathandle.
Denne polling svarer til at registrere en tilbagekaldsfunktion for
SteamInventoryResultReady_t.
Returværdier: EResultUanset om kaldet lykkedes eller ej.
Mulige værdier:
Eksempel:void SpaceWarItem::CheckInventory( IGameEngine *pGameEngine )
{
if ( s_RequestResult != 0 )
{
EResult result = SteamInventory()->GetResultStatus( s_RequestResult );
if ( result == k_EResultOK )
{
// Gør noget her
}
}
}
GetResultTimestamp
uint32 GetResultTimestamp( SteamInventoryResult_t resultHandle );
Navn | Type | Beskrivelse |
resultHandle | SteamInventoryResult_t | Inventarets resultathandle, som tidsstemplet skal hentes for. |
Henter servertidspunktet, da resultatet blev genereret.
Returværdier: uint32Tidspunktet oplyses som Unix Epoch-tid (tid siden 1. januar 1970)
Du kan sammenligne denne værdi med
ISteamUtils::GetServerRealTime for at finde ud af, hvor gammelt resultatet er.
GrantPromoItems
bool GrantPromoItems( SteamInventoryResult_t *pResultHandle );
Tildeler alle potentielle engangspromogenstande til den aktuelle bruger.
Dette kan kaldes sikkert fra klienten, fordi genstandene, som det kan tildele, kan låses via politikker i itemdefs. Et af de primære scenarier for dette kald er at give en genstand til brugere, som også ejer et specifikt andet spil. Se
AddPromoItem og
AddPromoItems, hvis du ønsker at tildele bestemte promogenstande frem for dem alle sammen.
Alle genstande, som kan tildeles, SKAL have en "promo"-attribut i deres itemdef. Promogenstandslisten er et sæt af app-ID'er, som brugeren skal eje for at kunne få tildelt den pågældende genstand. Denne version tildeler alle genstande, som har promoattributter angivet for dem i de konfigurerede genstandsdefinitioner. Dette gør det muligt at tilføje yderligere promogenstande uden at skulle opdatere spilklienten. For eksempel muliggør det følgende, at genstanden bliver tildelt, hvis brugeren ejer enten TF2 eller SpaceWar.
promo: owns:440;owns:480
Returværdier: bool
Denne funktion returnerer altid
true, når den kaldes af en almindelig bruger, og returnerer altid
false, når den kaldes af SteamGameServer.
Ved gennemførelse vil inventarresultatet inkludere genstande, som blev tildelt, hvis der blev tildelt nogen. Hvis der ikke blev tildelt nogen genstande, fordi brugeren ikke er berettiget til promogenstande, betragtes dette stadigvæk som en gennemført handling.
Returnerer et nyt resultathandle via
pResultHandle
.
BEMÆRK: Du skal kalde
DestroyResult på det angivne inventarresultat, når du er færdig med det.
Eksempel:void CInventory::GrantPromoItems()
{
SteamInventory()->GrantPromoItems( &s_GenerateRequestResult );
}
LoadItemDefinitions
bool LoadItemDefinitions();
Udløser en asynkron indlæsning og opdaterer genstandsdefinitioner.
Genstandsdefinitioner er en mapping af "definition IDs" (heltal mellem 1 og 999999999) til et sæt strengegenskaber. Nogle af disse egenskaber er påkrævede for at vise genstande på hjemmesiden for Steam-fællesskabet. Andre egenskaber kan defineres af applikationer. Der er ingen grund til at kalde denne funktion, hvis dit spil hardcoder de numeriske genstands-ID'er (f.eks. lilla ansigtsmaske = 20, blå våbenmodifikation = 55) og ikke tillader tilføjelse af nye genstandstyper uden en klientrettelse.
Returværdier: bool
Udløser et
SteamInventoryDefinitionUpdate_t-tilbagekald.
Dette kald returnerer altid
true.
RequestEligiblePromoItemDefinitionsIDs
SteamAPICall_t RequestEligiblePromoItemDefinitionsIDs( CSteamID steamID );
Navn | Type | Beskrivelse |
steamID | CSteamID | Steam-ID'et tilhørende brugeren, som der anmodes om en berettiget promogenstand for. |
Anmoder om listen med "gyldige" promogenstande, som kan tildeles den pågældende bruger manuelt.
Dette er promogenstande af typen "manual", som ikke tildeles automatisk. Et eksempel på anvendelse af dette er en genstand, som bliver tilgængelig hver uge.
Når du har kaldt funktionen, skal du kalde
GetEligiblePromoItemDefinitionIDs for at få selve genstands-ID'erne.
Returværdier: SteamAPICall_t, som skal bruges med et
SteamInventoryEligiblePromoItemDefIDs_t-kaldsresultat.
Returnerer
k_uAPICallInvalid, hvis
steamID
ikke er en gyldig individuel konto.
RequestPrices
SteamAPICall_t RequestPrices();
Anmoder om priser for alle genstandsdefinitioner, som kan købes i brugerens lokale valuta. Der returneres et
SteamInventoryRequestPricesResult_t-kaldsresultat med brugerens lokale valutakode. Derefter kan du kalde
GetNumItemsWithPrices og
GetItemsWithPrices for at få priser for alle de kendte genstandsdefinitioner eller
GetItemPrice for at få en bestemt genstandsdefinition.
Returværdier: SteamAPICall_t, som skal bruges med et
SteamInventoryRequestPricesResult_t-kaldsresultat.
Returnerer
k_uAPICallInvalid, hvis der var et internt problem.
Se også: GetNumItemsWithPrices,
GetItemsWithPrices,
GetItemPriceSendItemDropHeartbeat
void SendItemDropHeartbeat();
Forældet.
SerializeResult
bool SerializeResult( SteamInventoryResult_t resultHandle, void *pOutBuffer, uint32 *punOutBufferSize );
Navn | Type | Beskrivelse |
resultHandle | SteamInventoryResult_t | Inventarets resultathandle, som skal laves til en serie. |
pOutBuffer | void * | Bufferen, som det serialiserede resultat vil blive kopieret ind i. |
punOutBufferSize | uint32 * | Dette bør angives som størrelsen af pOutBuffer . Hvis pOutBuffer er NULL, returnerer dette den nødvendige størrelse til bufferen. |
Serialiserede resultatsæt indeholder en kort signatur, som ikke kan forfalskes eller bruges i andre spilsessioner.
Et resultatsæt kan serialiseres på den lokale klient, sendes til andre spillere via dit spilnetværk og deserialiseres af fjernspillere. Dette er en sikker metode til at forhindre hackere i at forfalske ejerskab af sjældne/meget værdifulde genstande. Serialiserer et resultatsæt med signaturens bytes til en outputbuffer. Størrelsen på det serialiserede resultat afhænger af, hvor mange genstande der serialiseres. Ved sikker overførsel af genstande til andre spillere anbefales det at bruge
GetItemsByID først til at skabe et minimalt resultatsæt.
Resultater har et indbygget tidsstempel, som betragtes som "udløbet" efter en time. Se
DeserializeResult for håndtering af udløb.
Hvis
pOutBuffer
er indstillet til
NULL, så vil
punOutBufferSize
være indstillet til den nødvendige bufferstørrelse. Så du kan lave bufferen og derefter kalde dette igen for at fylde den med data.
Returværdier: bool
true, hvis det lykkes, hvilket indikerer, at
punOutBufferSize
er blevet udfyldt med størrelsen på bufferen, og hvis
pOutBuffer
peger på en buffer af passende størrelse, så er den også blevet udfyldt.
false under følgende omstændigheder:
- Denne funktion blev ikke kaldt af en almindelig bruger. Dette kald understøttes ikke på GameServers.
-
resultHandle
er ugyldigt, eller inventarets resultathandle er ikke klar.
- Værdien, som sendes til
punOutBufferSize
, var mindre end forventet, og pOutBuffer
var ikke NULL.
StartPurchase
SteamAPICall_t StartPurchase( const SteamItemDef_t *pArrayItemDefs, const uint32 *punArrayQuantity, uint32 unArrayLength );
Navn | Type | Beskrivelse |
pArrayItemDefs | SteamItemDef_t * | Arrayet med genstandsdefinitions-ID'er, som brugeren ønsker at købe. |
punArrayQuantity | uint32 * | Arrayet med antallet af hver genstandsdefinition, som brugeren vil købe. |
unArrayLength | uint32 | Dette skal være længden af pArrayItemDefs - og punArrayQuantity -arrayet. |
Starter købsprocessen for brugeren med en "indkøbskurv" af genstandsdefinitioner, som brugeren ønsker at købe. Brugeren bliver spurgt i Steam-overlayet, om vedkommende vil gennemføre købet i den lokale valuta og tilføje penge til Steam-tegnebogen, hvis det er nødvendigt.
Hvis købsprocessen blev startet, vil
m_ulOrderID
og
m_ulTransID
være gyldige i
SteamInventoryStartPurchaseResult_t-kaldsresultatet.
Hvis brugeren godkender transaktionen og gennemfører købet, udløses tilbagekaldet
SteamInventoryResultReady_t, og du kan hente de nye genstande, som brugeren har købt.
BEMÆRK: Du skal kalde
DestroyResult på inventarresultatet, når du er færdig med det.
Returværdier: SteamAPICall_t, som skal bruges med et
SteamInventoryStartPurchaseResult_t-kaldsresultat.
Returnerer
k_uAPICallInvalid, hvis inputtet var ugyldigt.
Testning under udvikling: Når du tester StartPurchase, inden du udgiver din app, foretages alle transaktioner, som udviklings-/udgiverteamet laver, internt gennem Sandbox-mikrotransaktions-API'en. Dette betyder, at de ikke bliver opkrævet for køb, som foretages, inden appen udgives, hvis de er tilknyttet Steamworks-udviklerkontoen.
TransferItemQuantity
bool TransferItemQuantity( SteamInventoryResult_t *pResultHandle, SteamItemInstanceID_t itemIdSource, uint32 unQuantity, SteamItemInstanceID_t itemIdDest );
Overfører genstande mellem stakke i en brugers inventar.
Dette kan bruges til at stable, dele og flytte genstande. Kilde- og destinationsgenstandene skal have det samme itemdef-ID. For at flytte genstande til en destinationsstak skal du angive kilden, hvor mange genstande der skal flyttes, og destinationsgenstands-ID'et. Hvis du vil opdele en eksisterende stak, skal du sende
k_SteamItemInstanceIDInvalid til
itemIdDest
. Der genereres en ny genstandsstak med det ønskede antal.
BEMÆRK: Bytte- og salgsbegrænsninger kopieres sammen med de overførte genstande. Destinationsstakken modtager den seneste bytte-/salgsdato på alle genstande i den.
Returværdier: bool
Denne funktion returnerer altid
true, når den kaldes af en almindelig bruger, og returnerer altid
false, når den kaldes af SteamGameServer.
Returnerer et nyt resultathandle via
pResultHandle
.
BEMÆRK: Du skal kalde
DestroyResult på det angivne inventarresultat, når du er færdig med det.
Se også: ConsumeItem,
ExchangeItemsEksempel:void CInventory::CombineItems()
{
SteamInventoryResult_t transferResult;
// adskil 2 genstande fra en eksisterende stak
SteamItemInstanceID_t bigStack = GetItemIdFromInventory( ... );
SteamInventory()->TransferItemQuantity( &transferResult, bigStack, 1, k_SteamItemInstanceIDInvalid );
// flyt 2 fra stak A til stak B
SteamItemInstanceID_t originStack = GetItemIdFromInventory( ... );
SteamItemInstanceID_t destStack = GetItemIdFromInventory( ... );
SteamInventory()->TransferItemQuantity( &transferResult, originStack, 2, destStack );
}
TriggerItemDrop
bool TriggerItemDrop( SteamInventoryResult_t *pResultHandle, SteamItemDef_t dropListDefinition );
Udløser et genstandsdrop, hvis brugeren har spillet længe nok.
Denne periode kan tilpasses to steder:
- På applikationsniveau i inventartjenesten: Udstedelse af genstande i løbet af spillet. Dette gælder automatisk for alle "playtimegenerator"-genstande, som ikke har angivet nogen tilsidesættelser.
- I en individuel "playtimegenerator"-genstandsdefinition. Indstillingerne har forrang frem for eventuelle indstillinger på applikationsniveau.
Kun genstandsdefinitioner, som er markeret som "playtime item generator" (genstandsgenerator baseret på spilletid) kan genereres.
Som regel skal denne funktion kaldes til sidst i et spil eller en bane eller kamp eller på et hvilket som helst tidspunkt af betydning i spillet, hvor en genstand ville blive droppet. Granulariteten af indstillingerne for spilletidsgeneratorer er i minutter, så det er ikke nyttigt at kalde det oftere end i minutintervaller. Derudover er disse opkald underlagt en ratebegrænsning i Steam-klienten. Steam-serverne sporer spilletiden for at forhindre for hyppige genstandsdrops. Serverne administrerer også tilføjelse af genstande til spilleres inventar.
Returværdier: bool
Denne funktion returnerer altid
true, når den kaldes af en almindelig bruger, og returnerer altid
false, når den kaldes af SteamGameServer.
Returnerer et nyt resultathandle via
pResultHandle
.
BEMÆRK: Du skal kalde
DestroyResult på det angivne inventarresultat, når du er færdig med det.
Inventarresultatet, som returneres af denne funktion, vil være den nye genstand, som er blevet tildelt, hvis spilleren opfylder betingelserne. Hvis brugeren ikke opfylder betingelserne, returneres der et tomt resultat("[]").
Eksempel:void CInventory::FinishGame()
{
SteamInventory()->TriggerItemDrop( &s_PlaytimeRequestResult, 10 );
}
StartUpdateProperties
SteamInventoryUpdateHandle_t StartUpdateProperties();
Starter en transaktionsanmodning om at opdatere
dynamiske egenskaber på genstande for den aktuelle bruger. Dette kald er underlagt en ratebegrænsning pr. bruger, så egenskabsændringer skal samles i batches så vidt muligt (f.eks. til sidst i en bane eller spilsession). Når du har kaldt
SetProperty or
RemoveProperty for alle de genstande, du vil ændre, skal du kalde
SubmitUpdateProperties for at sende anmodningen til Steam-serverne. Der affyres et
SteamInventoryResultReady_t-tilbagekald med resultatet af handlingen.
Eksempel:void CInventory::FinishLevel()
{
SteamInventoryUpdateHandle_t updateHandle = SteamInventory()->StartUpdateProperties();
for ( SteamItemInstanceID_t itemid : m_vecItemIDs )
{
SteamInventory()->SetProperty( updateHandle, itemid, "string_value", "blah" );
SteamInventory()->SetProperty( updateHandle, itemid, "bool_value", true );
SteamInventory()->SetProperty( updateHandle, itemid, "int64_value", (int64)55 );
SteamInventory()->SetProperty( updateHandle, itemid, "float_value", 123.456f );
}
SteamInventoryResult_t resultHandle;
SteamInventory()->SubmitUpdateProperties( updateHandle, &resultHandle );
}
BEMÆRK: Du skal kalde
DestroyResult på det angivne inventarresultat for
SubmitUpdateProperties, når du er færdig med det.
Returværdier: SteamInventoryUpdateHandle_tSe også: SetProperty,
RemoveProperty,
SubmitUpdatePropertiesSubmitUpdateProperties
bool SubmitUpdateProperties( SteamInventoryUpdateHandle_t handle, SteamInventoryResult_t * pResultHandle );
Sender transaktionsanmodningen om at ændre
dynamiske egenskaber på genstande for den aktuelle bruger. Se
StartUpdateProperties.
BEMÆRK: Du skal kalde
DestroyResult på det angivne inventarresultat, når du er færdig med det.
Returværdier: bool
Se også: StartUpdateProperties,
SetProperty,
RemovePropertyRemoveProperty
bool RemoveProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName );
Fjerner en
dynamisk egenskab for den pågældende genstand.
Returværdier: bool
Se også: StartUpdateProperties,
SetProperty,
SubmitUpdatePropertiesSetProperty
bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, const char *pchPropertyValue );
bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, bool bValue );
bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, int64 nValue );
bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, float flValue );
Navn | Type | Beskrivelse |
handle | SteamInventoryUpdateHandle_t | Opdateringshandlet returneret af StartUpdateProperties svarende til transaktionsanmodningen. |
nItemID | SteamItemInstanceID_t | ID'et på den genstand, der bliver ændret. |
pchPropertyName | const char* | Den dynamiske egenskab, der bliver tilføjet eller opdateret. |
pchPropertyValue | const char* | Strengværdien, der indstilles. |
bValue | bool | Booleanværdi, der indstilles. |
nValue | int64 | 64-bit-heltalsværdien, der indstilles |
flValue | float | Den flydende talværdi, der indstilles. |
Indstiller en
dynamisk egenskab for den pågældende genstand. Understøttede værdityper er strenge, boolean, 64-bit heltal og 32-bit flydende tal.
Returværdier: bool
Se også: StartUpdateProperties,
RemoveProperty,
SubmitUpdatePropertiesTilbagekald
Disse er tilbagekald, som kan aktiveres ved at kalde
SteamAPI_RunCallbacks. Mange af disse vil blive udløst direkte som svar på medlemsfunktioner tilhørende
ISteamInventory
.
SteamInventoryDefinitionUpdate_t
Dette tilbagekald udløses, når som helst genstandsdefinitioner er blevet opdateret, hvilket kan være som svar på
LoadItemDefinitions, eller når som helst der er nye genstandsdefinitioner tilgængelige (f.eks. fra dynamisk tilføjelse af nye genstandstyper, mens spillere stadig er i spillet).
Dette tilbagekald har ingen felter.
Tilknyttede funktioner: LoadItemDefinitionsSteamInventoryEligiblePromoItemDefIDs_t
Returneres, når du har anmodet om listen med "gyldige" promogenstande, som kan tildeles den pågældende bruger manuelt. Dette er promogenstande af typen "manual", som ikke tildeles automatisk. Et eksempel på anvendelse af dette er en genstand, som bliver tilgængelig hver uge.
Navn | Type | Beskrivelse |
m_result | EResult | k_EResultOK, hvis kaldet lykkes. En hvilken som helst anden værdi betyder, at kaldet mislykkedes. |
m_steamID | CSteamID | Steam-ID'et tilhørende brugeren, som disse genstande er til. |
m_numEligiblePromoItemDefs | int | Antallet af gyldige promogenstande, som er tilgængelige for denne bruger. Du skal bruge dette til at oprette en SteamItemDef_t-buffer, som bruges med GetEligiblePromoItemDefinitionIDs til at få de faktiske ItemDefs. |
m_bCachedData | bool | Indikerer, at dataene blev hentet fra cachen og ikke serveren. Dette sker, hvis brugeren ikke er logget på eller ikke kan oprette forbindelse til Steam-serverne. |
Tilknyttede funktioner: RequestEligiblePromoItemDefinitionsIDsSteamInventoryFullUpdate_t
Udløses, når GetAllItems returnerer et resultat, som er nyere/mere opdateret end det sidst kendte resultat. (Udløses ikke, hvis inventaret ikke har ændret sig, eller hvis resultater fra to overlappende kald rulles tilbage undervejs, og det tidligere resultat allerede vides at være forældet).
Det almindelige
SteamInventoryResultReady_t-tilbagekald udløses stadig med det samme bagefter – dette er en yderligere notifikation for at hjælpe dig.
SteamInventoryResultReady_t
Dette udløses, når et inventarresultat skifter fra
k_EResultPending til en anden udført tilstand. Se hele listen over tilstande i
GetResultStatus. Der vil altid være præcist ét tilbagekald pr. handle.
SteamInventoryStartPurchaseResult_t
Returneres, efter
StartPurchase kaldes.
Navn | Type | Beskrivelse |
m_result | EResult | k_EResultOK, hvis kaldet lykkes. En hvilken som helst anden værdi betyder, at kaldet mislykkedes. |
m_ulOrderID | uint64 | Det automatisk genererede ordre-ID for det indledte køb. |
m_ulTransID | uint64 | Det automatisk genererede transaktions-ID for det indledte køb. |
SteamInventoryRequestPricesResult_t
Returneres, efter
RequestPrices kaldes.
Navn | Type | Beskrivelse |
m_result | EResult | k_EResultOK, hvis kaldet lykkes. En hvilken som helst anden værdi betyder, at kaldet mislykkedes. |
m_rgchCurrency | char | Strengen repræsenterer brugerens lokale valutakode. |
Structs
Disse er strukturer, som funktioner i ISteamInventory kan returnere og/eller interagere med.
SteamItemDetails_t
Enums
Disse er optællinger, som er defineret til brug med ISteamInventory.
ESteamItemFlags
Disse er bit flags, som angives i
SteamItemDetails_t.
Navn | Værdi | Beskrivelse |
k_ESteamItemNoTrade | 1 << 0 | Denne genstand er låst på kontoen og kan ikke byttes eller gives væk. Dette er et genstandsstatusflag, som er permanent tilknyttet specifikke genstandsforekomster. |
k_ESteamItemRemoved | 1 << 8 | Genstanden er blevet destrueret, byttet væk, udløbet eller på anden måde invalideret. Dette er et handlingsbekræftelsesflag, som kun indstilles én gang, som en del af et resultatsæt. |
k_ESteamItemConsumed | 1 << 9 | Genstandsantallet er reduceret med 1 via API'en ConsumeItem. Dette er et handlingsbekræftelsesflag, som kun indstilles én gang, som en del af et resultatsæt. |
Typedefs
Disse er typedefinitioner, som er defineret til brug med ISteamInventory.
Navn | Basistype | Beskrivelse |
SteamInventoryResult_t | int32 | Et handle til et asynkront inventarresultat. |
SteamItemDef_t | int32 | Typer af genstande i dit spil, som er identificeret med et 32-bit "item definition number" (genstandsdefinitionsnummer). Gyldige definitionsnumre er mellem 1 og 999999999. Numre under eller lig med nul er ugyldige, og numre over eller lig med en milliard (1x10^9) er reserverede til intern Steam-brug. |
SteamItemInstanceID_t | uint64 | Hver individuelle forekomst af en genstand har et globalt entydigt instans-ID. Dette ID er entydigt for kombinationen af en spiller og en specifik genstandsinstans og overføres ikke til en anden spiller og genbruges heller ikke til en anden genstand. |
SteamInventoryUpdateHandle_t | uint64 | Returneres fra kaldet StartUpdateProperties, som starter en transaktionsanmodning om at ændre dynamiske egenskaber på genstande for den aktuelle bruger. |
Konstanter
Det følgende er konstanter, som er defineret til brug med ISteamInventory.
Navn | Type | Værdi | Beskrivelse |
k_SteamInventoryResultInvalid | SteamInventoryResult_t | -1 | Et ugyldigt resultathandle for Steam-inventar. |
k_SteamItemInstanceIDInvalid | SteamItemInstanceID_t | (SteamItemInstanceID_t)~0 | Et ugyldigt genstands-ID. Dette returneres som regel, hvis en handling er mislykket. Det anbefales, at du initialiserer helt nye forekomster med denne værdi. |
STEAMINVENTORY_INTERFACE_VERSION | const char * | "STEAMINVENTORY_INTERFACE_V002" | |