Steamworks-dokumentation
ISteamInventory-grænseflade
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 );
NavnTypeBeskrivelse
pResultHandleSteamInventoryResult_t *Returnerer et nyt resultathandle for inventaret.
itemDefSteamItemDef_tItenDef'en, som skal tildeles spilleren.

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 );
NavnTypeBeskrivelse
pResultHandleSteamInventoryResult_t *Returnerer et nyt resultathandle for inventaret.
pArrayItemDefsconst SteamItemDef_t *Listen over genstande, som skal gives til brugeren.
unArrayLengthuint32Antallet 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 );
NavnTypeBeskrivelse
resultHandleSteamInventoryResult_tInventarets resultathandle, som Steam-ID'et skal tjekkes på.
steamIDExpectedCSteamIDSteam-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 );
NavnTypeBeskrivelse
pResultHandleSteamInventoryResult_t *Returnerer et nyt resultathandle for inventaret.
itemConsumeSteamItemInstanceID_tID'et på genstanden, som skal forbruges.
unQuantityuint32Antallet 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, TransferItemQuantity

Eksempel:
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 );
NavnTypeBeskrivelse
pOutResultHandleSteamInventoryResult_t *Returnerer et nyt resultathandle for inventaret.
pBufferconst void *Bufferen, som skal deserialiseres.
unBufferSizeuint32Størrelsen af pBuffer.
bRESERVED_MUST_BE_FALSEboolDette 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 );
NavnTypeBeskrivelse
resultHandleSteamInventoryResult_tInventarets resultathandle, som skal destrueres.

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 );
NavnTypeBeskrivelse
pResultHandleSteamInventoryResult_t *Returnerer et nyt resultathandle for inventaret.
pArrayGenerateconst SteamItemDef_t *Listen med genstande, som bliver oprettet med dette kald. Kan i øjeblikket kun være 1 genstand!
punArrayGenerateQuantityconst uint32 *Antallet af hver genstand i pArrayGenerate, som skal oprettes. Kan i øjeblikket kun være 1 genstand og skal angives som 1!
unArrayGenerateLengthuint32Antallet af genstande i pArrayGenerate og punArrayGenerateQuantity. Dette skal i øjeblikket være 1!
pArrayDestroyconst SteamItemInstanceID_t *Listen med genstande, som bliver destrueret med dette kald.
punArrayDestroyQuantityconst uint32 *Antallet af hver genstand i pArrayDestroy, som skal destrueres.
unArrayDestroyLengthuint32Antallet 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, TransferItemQuantity

Eksempel:
// 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 );
NavnTypeBeskrivelse
pResultHandleSteamInventoryResult_t *Returnerer et nyt resultathandle for inventaret.
pArrayItemDefsconst SteamItemDef_t *Listen over genstande, som skal gives til brugeren.
punArrayQuantityconst uint32 *Antallet af hver genstand i pArrayItemDefs, som skal tildeles. Dette er valgfrit. Udfyld med NULL for at angive 1 af hver genstand.
unArrayLengthuint32Antallet 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 );
NavnTypeBeskrivelse
pResultHandleSteamInventoryResult_t *Returnerer et nyt resultathandle for inventaret.

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 );
NavnTypeBeskrivelse
steamIDCSteamIDSteam-ID'et tilhørende brugeren, som disse genstande er til. Dette skal være det samme som SteamInventoryEligiblePromoItemDefIDs_t.m_steamID.
pItemDefIDsSteamItemDef_t *Returnerer genstandsdefinitions-ID'er ved at kopiere dem ind i dette array.
punItemDefIDsArraySizeuint32 *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, AddPromoItems

GetItemDefinitionIDs

bool GetItemDefinitionIDs( SteamItemDef_t *pItemDefIDs, uint32 *punItemDefIDsArraySize );
NavnTypeBeskrivelse
pItemDefIDsSteamItemDef_t *Returnerer genstandsdefinitionerne ved at kopiere dem ind i dette array.
punItemDefIDsArraySizeuint32 *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 );
NavnTypeBeskrivelse
iDefinitionSteamItemDef_tGenstandsdefinitionen, som der skal hentes egenskaber for.
pchPropertyNameconst 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.
pchValueBufferchar *Returnerer værdien, som er tilknyttet pchPropertyName.
punValueBufferSizeOutuint32 *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 );
NavnTypeBeskrivelse
pResultHandleSteamInventoryResult_t *Returnerer et nyt resultathandle for inventaret.
pInstanceIDsconst SteamItemInstanceID_t *En liste med genstands-ID'er, som tilstanden skal opdateres for.
unCountInstanceIDsuint32Antallet 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 );
NavnTypeBeskrivelse
iDefinitionSteamItemDef_tGenstandsdefinitions-ID'et, som der skal hentes pris for
pPriceuint64*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å: RequestPrices

GetItemsWithPrices

bool GetItemsWithPrices( SteamItemDef_t *pArrayItemDefs, uint64 *pPrices, uint32 unArrayLength );
NavnTypeBeskrivelse
pArrayItemDefsSteamItemDef_t *Arrayet med genstandsdefinitions-ID'er, som skal udfyldes
pPricesuint64*Arrayet med priser for hver tilhørende genstandsdefinitions-ID i pArrayItemDefs. Priser gengives i brugerens lokale valuta.
unArrayLengthuint32Dette 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, GetItemPrice

GetNumItemsWithPrices

uint32 GetNumItemsWithPrices();
Efter et vellykket kald til RequestPrices returnerer dette antallet af genstandsdefinitioner, som har gyldige priser.

Returværdier: uint32

Se også: RequestPrices, GetItemsWithPrices

GetResultItemProperty

bool GetResultItemProperty( SteamInventoryResult_t resultHandle, uint32 unItemIndex, const char *pchPropertyName, char *pchValueBuffer, uint32 *punValueBufferSizeOut );
NavnTypeBeskrivelse
resultHandleSteamInventoryResult_tResultathandlet, som indeholder genstanden, hvis egenskaber skal hentes.
unItemIndexuint32
pchPropertyNameconst 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.
pchValueBufferchar *Returnerer værdien, som er tilknyttet pchPropertyName.
punValueBufferSizeOutuint32 *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 );
NavnTypeBeskrivelse
resultHandleSteamInventoryResult_tInventarets resultathandle, som der skal hentes genstande til.
pOutItemsArraySteamItemDetails_t *Detaljerne returneres ved at kopiere dem ind i dette array.
punOutItemsArraySizeuint32 *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 );
NavnTypeBeskrivelse
resultHandleSteamInventoryResult_tInventarets 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: EResult
Uanset 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 );
NavnTypeBeskrivelse
resultHandleSteamInventoryResult_tInventarets resultathandle, som tidsstemplet skal hentes for.

Henter servertidspunktet, da resultatet blev genereret.

Returværdier: uint32
Tidspunktet 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 );
NavnTypeBeskrivelse
pResultHandleSteamInventoryResult_t *Returnerer et nyt resultathandle for inventaret.

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 );
NavnTypeBeskrivelse
steamIDCSteamIDSteam-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, GetItemPrice

SendItemDropHeartbeat

void SendItemDropHeartbeat();
Forældet.

SerializeResult

bool SerializeResult( SteamInventoryResult_t resultHandle, void *pOutBuffer, uint32 *punOutBufferSize );
NavnTypeBeskrivelse
resultHandleSteamInventoryResult_tInventarets resultathandle, som skal laves til en serie.
pOutBuffervoid *Bufferen, som det serialiserede resultat vil blive kopieret ind i.
punOutBufferSizeuint32 *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 );
NavnTypeBeskrivelse
pArrayItemDefsSteamItemDef_t *Arrayet med genstandsdefinitions-ID'er, som brugeren ønsker at købe.
punArrayQuantityuint32 *Arrayet med antallet af hver genstandsdefinition, som brugeren vil købe.
unArrayLengthuint32Dette 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 );
NavnTypeBeskrivelse
pResultHandleSteamInventoryResult_t *Returnerer et nyt resultathandle for inventaret.
itemIdSourceSteamItemInstanceID_tKildegenstanden, som skal overføres.
unQuantityuint32Antallet af genstanden, som overføres fra itemIdSource til itemIdDest.
itemIdDestSteamItemInstanceID_tDestinationsgenstanden. Du kan sende k_SteamItemInstanceIDInvalid for at dele kildestakken til en ny genstandsstak med det ønskede antal.

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, ExchangeItems

Eksempel:
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 );
NavnTypeBeskrivelse
pResultHandleSteamInventoryResult_t *Returnerer et nyt resultathandle for inventaret.
dropListDefinitionSteamItemDef_tDette skal referere til et itemdefid af typen "playtimegenerator". Se mere her: inventarskema

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_t

Se også: SetProperty, RemoveProperty, SubmitUpdateProperties

SubmitUpdateProperties

bool SubmitUpdateProperties( SteamInventoryUpdateHandle_t handle, SteamInventoryResult_t * pResultHandle );
NavnTypeBeskrivelse
handleSteamInventoryUpdateHandle_tOpdateringshandlet returneret af StartUpdateProperties svarende til transaktionsanmodningen.
pResultHandleSteamInventoryResult_t *Returnerer et nyt resultathandle for inventaret.

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, RemoveProperty

RemoveProperty

bool RemoveProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName );
NavnTypeBeskrivelse
handleSteamInventoryUpdateHandle_tOpdateringshandlet returneret af StartUpdateProperties svarende til transaktionsanmodningen.
nItemIDSteamItemInstanceID_tID'et på den genstand, der bliver ændret.
pchPropertyNameconst char*Den dynamiske egenskab, der fjernes.

Fjerner en dynamisk egenskab for den pågældende genstand.

Returværdier: bool

Se også: StartUpdateProperties, SetProperty, SubmitUpdateProperties

SetProperty

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 );
NavnTypeBeskrivelse
handleSteamInventoryUpdateHandle_tOpdateringshandlet returneret af StartUpdateProperties svarende til transaktionsanmodningen.
nItemIDSteamItemInstanceID_tID'et på den genstand, der bliver ændret.
pchPropertyNameconst char*Den dynamiske egenskab, der bliver tilføjet eller opdateret.
pchPropertyValueconst char*Strengværdien, der indstilles.
bValueboolBooleanværdi, der indstilles.
nValueint6464-bit-heltalsværdien, der indstilles
flValuefloatDen 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, SubmitUpdateProperties

Tilbagekald

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: LoadItemDefinitions

SteamInventoryEligiblePromoItemDefIDs_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.

NavnTypeBeskrivelse
m_resultEResultk_EResultOK, hvis kaldet lykkes. En hvilken som helst anden værdi betyder, at kaldet mislykkedes.
m_steamIDCSteamIDSteam-ID'et tilhørende brugeren, som disse genstande er til.
m_numEligiblePromoItemDefsintAntallet 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_bCachedDataboolIndikerer, 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: RequestEligiblePromoItemDefinitionsIDs

SteamInventoryFullUpdate_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.

NavnTypeBeskrivelse
m_handleSteamInventoryResult_tEt nyt inventarresultathandle.

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.

NavnTypeBeskrivelse
m_handleSteamInventoryResult_tDet inventarresultat, som nu er klar.
m_resultEResultDen nye status på handlet. Dette svarer til at kalde GetResultStatus.

SteamInventoryStartPurchaseResult_t

Returneres, efter StartPurchase kaldes.

NavnTypeBeskrivelse
m_resultEResultk_EResultOK, hvis kaldet lykkes. En hvilken som helst anden værdi betyder, at kaldet mislykkedes.
m_ulOrderIDuint64Det automatisk genererede ordre-ID for det indledte køb.
m_ulTransIDuint64Det automatisk genererede transaktions-ID for det indledte køb.

SteamInventoryRequestPricesResult_t

Returneres, efter RequestPrices kaldes.

NavnTypeBeskrivelse
m_resultEResultk_EResultOK, hvis kaldet lykkes. En hvilken som helst anden værdi betyder, at kaldet mislykkedes.
m_rgchCurrencycharStrengen repræsenterer brugerens lokale valutakode.

Structs

Disse er strukturer, som funktioner i ISteamInventory kan returnere og/eller interagere med.

SteamItemDetails_t



NavnTypeBeskrivelse
m_itemIdSteamItemInstanceID_tDet globalt entydige genstandshandle.
m_iDefinitionSteamItemDef_tGenstandsdefinitionsnummeret for denne genstand.
m_unQuantityuint16Det aktuelle antal af genstanden.
m_unFlagsuint16Dette er en bitmaskeret samling af ESteamItemFlags.

Enums

Disse er optællinger, som er defineret til brug med ISteamInventory.

ESteamItemFlags

Disse er bit flags, som angives i SteamItemDetails_t.

NavnVærdiBeskrivelse
k_ESteamItemNoTrade1 << 0Denne 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_ESteamItemRemoved1 << 8Genstanden 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_ESteamItemConsumed1 << 9Genstandsantallet 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.

NavnBasistypeBeskrivelse
SteamInventoryResult_tint32Et handle til et asynkront inventarresultat.
SteamItemDef_tint32Typer 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_tuint64Hver 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_tuint64Returneres 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.

NavnTypeVærdiBeskrivelse
k_SteamInventoryResultInvalidSteamInventoryResult_t-1Et ugyldigt resultathandle for Steam-inventar.
k_SteamItemInstanceIDInvalidSteamItemInstanceID_t(SteamItemInstanceID_t)~0Et 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_VERSIONconst char *"STEAMINVENTORY_INTERFACE_V002"