Documentación de Steamworks
Interfaz de ISteamInventory
API para la consulta y control del inventario de Steam.

Visita el Servicio de inventario de Steam para obtener más información.

Funciones miembro

Las funciones miembro de ISteamInventory se llaman a través de la función de acceso global SteamInventory().

AddPromoItem

bool AddPromoItem( SteamInventoryResult_t *pResultHandle, SteamItemDef_t itemDef );
NombreTipoDescripción
pResultHandleSteamInventoryResult_t *Devuelve un nuevo handle de resultado de inventario.
itemDefSteamItemDef_tItemDef que conceder al jugador.

Otorga un elemento promocional único específico al usuario actual.

Esta función se puede llamar desde el cliente de forma segura, ya que pueden bloquearse los artículos que puede conceder mediante políticas en las ItemDef. Una de las situaciones principales para esta llamada es conceder un artículo a usuarios que también poseen otro juego concreto. Esto puede ser útil si tu juego tiene una interfaz de usuario personalizada para mostrar un elemento de promoción específico para el usuario; de lo contrario, si deseas otorgar múltiples artículos promocionales, usa AddPromoItems o GrantPromoItems.

Cualquier artículo que se quiera otorgar DEBE tener un atributo "promo" en su ItemDef. El artículo promocional enumera una serie de id. de aplicación que el usuario debe poseer para recibirlo. Esta versión otorgará todos los artículos que tengan atributos promocionales especificados para ellos en las definiciones de artículo configuradas, lo que permitirá añadir más artículos promocionales sin tener que actualizar el cliente del juego. Por ejemplo, lo que se muestra aquí debajo permitirá que se otorgue el artículo si el usuario tiene TF2 o SpaceWar:

promo: owns:440;owns:480

Devuelve: bool
Esta función siempre devuelve true cuando la llama un usuario normal y false cuando se llama desde SteamGameServer.

Si tiene éxito, el resultado del inventario incluirá los artículos otorgados (si los hay). Si no se han otorgado artículos porque el usuario no cumple los requisitos de ninguna promoción, también se considerará que se ha ejecutado con éxito.

Devuelve un nuevo handle de resultado mediante pResultHandle.

NOTA: Tienes que llamar a DestroyResult con el resultado del inventario provisto cuando hayas terminado con él.

Ejemplo:
void CInventory::GrantPromoItems() { SteamInventory()->AddPromoItem( &s_GenerateRequestResult, 110 ); }

AddPromoItems

bool AddPromoItems( SteamInventoryResult_t *pResultHandle, const SteamItemDef_t *pArrayItemDefs, uint32 unArrayLength );
NombreTipoDescripción
pResultHandleSteamInventoryResult_t *Devuelve un nuevo handle de resultado de inventario.
pArrayItemDefsconst SteamItemDef_t *La lista de artículos a conceder al usuario.
unArrayLengthuint32El número de elementos en pArrayItemDefs.

Otorga un artículo promocional concreto de un solo uso al usuario actual.

Esta función se puede llamar desde el cliente de forma segura, ya que pueden bloquearse los artículos que puede conceder mediante políticas en las ItemDef. Una de las situaciones principales para esta llamada es conceder un artículo a usuarios que también poseen otro juego concreto. Si deseas otorgar solo un artículo promocional, usa AddPromoItem. Si deseas otorgar todos los artículos promocionales posibles, usa GrantPromoItems.

Cualquier artículo que se quiera otorgar DEBE tener un atributo "promo" en su ItemDef. El artículo promocional contiene una serie de id. de aplicación que el usuario debe poseer para recibirlo. Esta versión otorgará todos los objetos con los atributos promocionales especificados para ellos en las definiciones configuradas del artículo, lo que permitirá añadir más artículos promocionales sin tener que actualizar el cliente del juego. Por ejemplo, lo que se muestra aquí debajo permitirá que se otorgue el artículo si el usuario tiene TF2 o SpaceWar:

promo: owns:440;owns:480

Devuelve: bool
Esta función siempre devuelve true cuando la llama un usuario normal y false cuando se llama desde SteamGameServer.

En caso de funcionar, el resultado del inventario incluirá los artículos otorgados (si los hay). Aunque no se otorguen artículos porque el usuario no pueda beneficiarse de ninguna promoción, se considerará también que se ha ejecutado correctamente.

Devuelve un nuevo handle de resultado mediante pResultHandle.

NOTA: Tienes que llamar a DestroyResult con el resultado del inventario provisto cuando hayas terminado con él.

Ejemplo:
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 );
NombreTipoDescripción
resultHandleSteamInventoryResult_tHandle de resultado de inventario en el que se comprueba el id. de Steam.
steamIDExpectedCSteamIDEl id. de Steam para verificar.

Comprueba si un handle del resultado de inventario pertenece al id. de Steam especificado.

Esto es importante al usar DeserializeResult, para verificar que un jugador remoto no quiere hacer creer que tiene el inventario de otro usuario.

Devuelve: bool
true si el resultado pertenece al id. de Steam que se está comprobando; de lo contrario, false.

ConsumeItem

bool ConsumeItem( SteamInventoryResult_t *pResultHandle, SteamItemInstanceID_t itemConsume, uint32 unQuantity );
NombreTipoDescripción
pResultHandleSteamInventoryResult_t *Devuelve un nuevo handle de resultado de inventario.
itemConsumeSteamItemInstanceID_tId. de instancia del artículo que se va a consumir.
unQuantityuint32Cantidad de artículos en esa instancia que se van a consumir.

Consume artículos del inventario de un usuario. Si la cantidad del artículo indicado llega a cero, se eliminará de manera permanente.

Una vez eliminado un artículo, no se puede recuperar. Ten cuidado cuando uses esta función: si tu juego incluye un sistema de eliminación completa de artículos, te recomendamos encarecidamente tener una interfaz explicativa para confirmar este proceso.

Devuelve: bool
Esta función siempre devuelve true cuando la llama un usuario normal y false cuando se llama desde SteamGameServer.

Devuelve un nuevo handle de resultado mediante pResultHandle.

NOTA: Tienes que llamar a DestroyResult con el resultado del inventario provisto cuando hayas terminado con él.

Véase también: ExchangeItems, TransferItemQuantity

Ejemplo:
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 );
NombreTipoDescripción
pOutResultHandleSteamInventoryResult_t *Devuelve un nuevo handle de resultado de inventario.
pBufferconst void *El buffer para deserializar.
unBufferSizeuint32El tamaño de pBuffer.
bRESERVED_MUST_BE_FALSEbool¡Esto tiene que ser false!

Deserializa un conjunto de resultados y verifica los bytes de la firma.

Esta llamada es susceptible de tener un modo de fallo leve en los casos en los que estado del handle se establece como k_EResultExpired. GetResultItems seguirá teniendo éxito en este modo. El resultado "expired" puede indicar que los datos no están actualizados, no solo porque haya caducado el plazo (una hora), sino también porque se haya intercambiado o consumido uno de los artículos del conjunto de resultados desde que se generó. Puedes comparar la marca de tiempo de GetResultTimestamp con la de ISteamUtils::GetServerRealTime para determinar la antigüedad de los datos. Puedes simplemente ignorar el código de resultado "expired" y seguir con normalidad, o solicitar al jugador cuyos datos han caducado que envíe un conjunto de resultados actualizado.

Deberías llamar a CheckResultSteamID con el handle del resultado cuando se complete esta función para verificar que un jugador remoto no quiere hacer creer que tiene el inventario de otro usuario.

NOTA: El parámetro bRESERVED_MUST_BE_FALSE está reservado para uso futuro y nunca debe establecerse como true.

Devuelve: bool
Siempre devuelve true y entrega códigos de error a través de GetResultStatus.

Devuelve un nuevo handle de resultado mediante pResultHandle.

NOTA: Tienes que llamar a DestroyResult con el resultado del inventario provisto cuando hayas terminado con él.

DestroyResult

void DestroyResult( SteamInventoryResult_t resultHandle );
NombreTipoDescripción
resultHandleSteamInventoryResult_tEl handle de resultado de inventario que se va a destruir.

Destruye un handle de resultado y libera toda la memoria asociada.

ExchangeItems

bool ExchangeItems( SteamInventoryResult_t *pResultHandle, const SteamItemDef_t *pArrayGenerate, const uint32 *punArrayGenerateQuantity, uint32 unArrayGenerateLength, const SteamItemInstanceID_t *pArrayDestroy, const uint32 *punArrayDestroyQuantity, uint32 unArrayDestroyLength );
NombreTipoDescripción
pResultHandleSteamInventoryResult_t *Devuelve un nuevo handle de resultado de inventario.
pArrayGenerateconst SteamItemDef_t *Lista de artículos que se va a crear tras llamar a esta función. ¡De momento solo puede contener 1 artículo!
punArrayGenerateQuantityconst uint32 *La cantidad a crear de cada uno de los artículos en pArrayGenerate. ¡Actualmente solo puede ser 1 elemento y se debe establecer en 1!
unArrayGenerateLengthuint32El número de elementos en pArrayGenerate y en punArrayGenerateQuantity. ¡Actualmente debe ser 1!
pArrayDestroyconst SteamItemInstanceID_t *La lista de artículos que serán destruidos por esta llamada.
punArrayDestroyQuantityconst uint32 *La cantidad a destruir de cada uno de los artículos en pArrayDestroy.
unArrayDestroyLengthuint32El número de elementos en pArrayDestroy y punArrayDestroyQuantity.

Otorga un artículo a cambio de un conjunto de otros artículos.

Se puede usar para crear recetas de fabricación o transformaciones, o para objetos que, al abrirse, contienen otros (como cofres, por ejemplo).

El que llama a la API le pasa el artículo solicitado y un vector de artículos existentes con la cantidad de estos que será intercambiada por el artículo. La API recibe un vector de artículos para generar, pero en este momento, tanto el tamaño del vector como la cantidad del nuevo elemento han de ser 1.

Cualquier artículo que se quiera otorgar TIENE que tener el atributo "exchange" en su ItemDef. El atributo especifica un conjunto de recetas que se pueden intercambiar por el artículo. El servicio de inventario evalúa las recetas de intercambio elemento por elemento; si los componentes suministrados no se corresponden con la receta (o no lo hacen en la cantidad suficiente), el intercambio se saldará con un error.

Ejemplo:
exchange: 101x1,102x1;103x5;104x3,105x3

Permitirá que el artículo se intercambie por un #101 y un #102; cinco #103; o tres #104 y tres #105. Para obtener más información, consulta la documentación sobre el Esquema de inventario de Steam.

Devuelve: bool
Esta función devuelve true cuando se ejecutó con éxito y false cuando se llama desde SteamGameServer o cuando ni unArrayGenerateLength ni punArrayGenerateQuantity están establecidas a 1.

Los intercambios que no se corresponden con una receta o no incluyen las cantidades necesarias, fallarán.

Devuelve un nuevo handle de resultado mediante pResultHandle.

NOTA: Tienes que llamar a DestroyResult con el resultado del inventario provisto cuando hayas terminado con él.

Véase también: ConsumeItem, TransferItemQuantity

Ejemplo:
// Encuentra un artículo en el inventario del usuario según el itemDef proporcionado. 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 );
NombreTipoDescripción
pResultHandleSteamInventoryResult_t *Devuelve un nuevo handle de resultado de inventario.
pArrayItemDefsconst SteamItemDef_t *La lista de artículos a otorgar al usuario.
punArrayQuantityconst uint32 *La cantidad a otorgar de cada uno de los artículos en pArrayItemDefs. Esto es opcional, pasa NULL para especificar 1 de cada artículo.
unArrayLengthuint32El número de elementos en pArrayItemDefs.

Otorga artículos concretos al usuario actual, solo para los desarrolladores.

Esta API está pensada para la creación de prototipos y solo la pueden usar cuentas de Steam pertenecientes al grupo de editores de tu juego.

Puede pasarse un vector de artículos, identificados por su SteamItemDef_t y, de manera opcional, un segundo vector con las cantidades de cada uno de ellos. ¡La longitud de estos vectores TIENE que coincidir!

Devuelve: bool
Esta función siempre devuelve true cuando la llama un usuario normal y false cuando se llama desde SteamGameServer.

Devuelve un nuevo handle de resultado mediante pResultHandle.

NOTA: Tienes que llamar a DestroyResult con el resultado del inventario provisto cuando hayas terminado con él.

Ejemplo:
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 );
NombreTipoDescripción
pResultHandleSteamInventoryResult_t *Devuelve un nuevo handle de resultado de inventario.

Comienza a recuperar todos los artículos del inventario del usuario actual.

NOTA: La cantidad de llamadas a esta función está limitada. Puede devolver los resultados que hay en caché si se realizan llamadas con excesiva frecuencia. Se recomienda usarla únicamente cuando se va a mostrar el inventario completo del usuario o si se cree que puede haber cambiado.

Devuelve: bool
Esta función siempre devuelve true cuando la llama un usuario normal y false cuando se llama desde SteamGameServer.

Devuelve un nuevo handle de resultado mediante pResultHandle.

NOTA: Tienes que llamar a DestroyResult con el resultado del inventario provisto cuando hayas terminado con él.

Ejemplo:
void SpaceWarItem::LoadInventory( IGameEngine *pGameEngine ) { SteamInventory()->GetAllItems( &s_RequestResult ); }

GetEligiblePromoItemDefinitionIDs

bool GetEligiblePromoItemDefinitionIDs( CSteamID steamID, SteamItemDef_t *pItemDefIDs, uint32 *punItemDefIDsArraySize );
NombreTipoDescripción
steamIDCSteamIDId. de Steam del usuario para el que son los artículos. Este debería ser el mismo que SteamInventoryEligiblePromoItemDefIDs_t.m_steamID.
pItemDefIDsSteamItemDef_t *Devuelve los id. de definición de artículo copiándolos en este vector.
punItemDefIDsArraySizeuint32 *Esta debe ser la longitud de pItemDefIDs y la misma que SteamInventoryEligiblePromoItemDefIDs_t.m_numEligiblePromoItemDefs.

Obtiene la lista de los id. de definición de artículo que se pueden otorgar a un usuario.

Debes llamar a esta función cuando procesas el resultado de la llamada a SteamInventoryEligiblePromoItemDefIDs_t para extraer los id. de definición de artículo.

Devuelve: bool


Véase también: AddPromoItem, AddPromoItems

GetItemDefinitionIDs

bool GetItemDefinitionIDs( SteamItemDef_t *pItemDefIDs, uint32 *punItemDefIDsArraySize );
NombreTipoDescripción
pItemDefIDsSteamItemDef_t *Devuelve las definiciones de artículos al copiarlas en este vector.
punItemDefIDsArraySizeuint32 *Esto se debe establecer en la longitud de pItemDefIDs. Si pItemDefIDs es NULL, esto devolverá el número de elementos que el vector debe contener.

Devuelve el conjunto de todos los id. de definición de artículo definidos en el panel del administrador de aplicaciones del sitio web de Steamworks.

Estas definiciones de artículo no tienen por qué ser números enteros consecutivos.

Esta función debería llamarse como respuesta a la función callback SteamInventoryDefinitionUpdate_t. No hay razón para llamar a esta función si el juego establece de manera fija los id. de definición numéricos (p. ej.: máscara de cara azul = 20, modificación de arma azul = 55) y no permite añadir nuevos tipos de elemento sin un parche del cliente.

Devuelve: bool
Esta llamada devuelve true en caso de éxito. Solo devuelve false si no se han cargado definiciones de artículos desde el servidor o no existen para la aplicación actual.

Si la llamada es exitosa, entonces punItemDefIDsArraySize contendrá el número de definiciones de artículos disponibles.

GetItemDefinitionProperty

bool GetItemDefinitionProperty( SteamItemDef_t iDefinition, const char *pchPropertyName, char *pchValueBuffer, uint32 *punValueBufferSizeOut );
NombreTipoDescripción
iDefinitionSteamItemDef_tDefinición de artículo para el que se obtienen las propiedades.
pchPropertyNameconst char *El nombre de la propiedad para la que se quiere obtener el valor. Si pasas NULL, entonces pchValueBuffer contendrá una lista separada por comas de todos los nombres disponibles.
pchValueBufferchar *Devuelve el valor asociado con pchPropertyName.
punValueBufferSizeOutuint32 *Debe tener el tamaño de pchValueBuffer y devuelve el número de bytes necesarios para almacenar el valor.

Obtiene una propiedad de cadena de la definición de artículo especificada.
Obtiene un valor de propiedad para una definición de artículo específica.

Ten en cuenta que algunas propiedades (por ejemplo, "name") pueden estar localizadas y dependerán de la configuración actual del idioma en Steam (ver ISteamApps::GetCurrentGameLanguage). Los nombres de propiedad utilizan siempre guiones bajos y caracteres ASCII alfanuméricos.

Pasa NULL en pchPropertyName para obtener una lista separada por comas de los nombres de propiedades disponibles. En este modo, punValueBufferSizeOut contendrá el tamaño del búfer sugerido. De lo contrario, será el número de bytes realmente copiados en pchValueBuffer.

Devuelve: bool
Devuelve true si se ejecuta correctamente, o false para indicar que las definiciones de artículos no se han cargado desde el servidor o no existen para la aplicación actual o que el nombre de propiedad no se encontró en la definición de artículo.

El valor asociado se devuelve a través de pchValueBuffer; el número total de bytes necesarios para almacenar el valor está disponible en punValueBufferSizeOut. Se recomienda llamar a esta función dos veces, la primera vez con pchValueBuffer establecido en NULL y punValueBufferSizeOut establecido en cero y así obtener el tamaño requerido del búfer para la siguiente vez que se llame a la función.

La salida tendría un aspecto así:
pchPropertyName establecido en NULL:
appid,itemdefid,Timestamp etc...
pchPropertyName establecido en "name":
SW_DECORATION_HAT

NOTA: Llama a LoadItemDefinitions primero, para asegurarte de que los artículos están listos para usarse antes de llamar a GetItemDefinitionProperty.

GetItemsByID

bool GetItemsByID( SteamInventoryResult_t *pResultHandle, const SteamItemInstanceID_t *pInstanceIDs, uint32 unCountInstanceIDs );
NombreTipoDescripción
pResultHandleSteamInventoryResult_t *Devuelve un nuevo handle de resultado de inventario.
pInstanceIDsconst SteamItemInstanceID_t *Lista de los id. de instancia de artículo cuyo estado se va a actualizar.
unCountInstanceIDsuint32El número de elementos en pInstanceIDs.

Obtiene el estado de un subconjunto del inventario del usuario actual.

El subconjunto se especifica mediante un vector con los id. de instancia de artículo.

Los resultados de esta llamada se pueden serializar con SerializeResult y pasar a otros jugadores para "demostrar" que el usuario actual posee artículos concretos, sin tener que mostrar todo su inventario. Por ejemplo, puedes llamar a esta función con los id. de los artículos equipados actualmente por el usuario, serializarlos en un búfer y luego transmitir este búfer a otros jugadores cuando se unan a la partida.

Devuelve: bool
Esta función siempre devuelve true cuando la llama un usuario normal y false cuando se llama desde SteamGameServer.

Devuelve un nuevo handle de resultado mediante pResultHandle.

NOTA: Una vez que hayas terminado con esta función, tienes que llamar a DestroyResult con el resultado del inventario provisto.

GetItemPrice

bool GetItemPrice( SteamItemDef_t iDefinition, uint64 *pPrice );
NombreTipoDescripción
iDefinitionSteamItemDef_tEl id. de definición de artículo cuyo precio se quiere recuperar.
pPriceuint64*El puntero del precio para publicar. Los precios se representan en la moneda local del usuario.

Después de una llamada exitosa a RequestPrices, puedes llamar a este método para obtener el precio de una definición de artículo específica.

Devuelve: bool
true en caso de éxito, lo que indica que en pPrice se ha almacenado satisfactoriamente el precio del id. de definición de artículo dado.
false si los parámetros no son válidos o si no hay un precio para el id. de definición de artículo dado.

Véase también: RequestPrices

GetItemsWithPrices

bool GetItemsWithPrices( SteamItemDef_t *pArrayItemDefs, uint64 *pPrices, uint32 unArrayLength );
NombreTipoDescripción
pArrayItemDefsSteamItemDef_t *El vector de los identificadores de definición de artículos para rellenar.
pPricesuint64*El vector de precios para cada id. de definición de artículo correspondiente en pArrayItemDefs. Los precios se representan en la moneda local del usuario.
unArrayLengthuint32Esta debe ser la longitud de los vectores pArrayItemDefs y pPrices, resultantes de la llamada a GetNumItemsWithPrices.

Después de una llamada exitosa a RequestPrices, puedes llamar a este método para obtener todos los precios de las definiciones de artículos aplicables. Usa el resultado de GetNumItemsWithPrices como el tamaño del vector que pasas.

Devuelve: bool
true si se ha realizado con éxito, lo que indica que en pArrayItemDefs y pPrices se han almacenado con éxito los id. de la definición de artículo y los precios de los artículos que están a la venta.
false si los parámetros son inválidos.

Véase también: RequestPrices y GetItemPrice

GetNumItemsWithPrices

uint32 GetNumItemsWithPrices();
Después de llamar a RequestPrices con éxito, esta función devolverá el número de definiciones de artículos con precios válidos.

Devuelve: uint32

Véase también: RequestPrices y GetItemsWithPrices

GetResultItemProperty

bool GetResultItemProperty( SteamInventoryResult_t resultHandle, uint32 unItemIndex, const char *pchPropertyName, char *pchValueBuffer, uint32 *punValueBufferSizeOut );
NombreTipoDescripción
resultHandleSteamInventoryResult_tHandle de resultado con el artículo del que se obtienen las propiedades.
unItemIndexuint32
pchPropertyNameconst char *El nombre de la propiedad para la que se va a obtener el valor. Si pasas NULL, entonces pchValueBuffer contendrá una lista separada por comas de todos los nombres disponibles.
pchValueBufferchar *Devuelve el valor asociado con pchPropertyName.
punValueBufferSizeOutuint32 *Debe tener el tamaño de pchValueBuffer y devuelve el número de bytes necesarios para almacenar el valor.

Obtiene las propiedades dinámicas de un artículo en un conjunto de resultados de inventario.

Los nombres de las propiedades están formados siempre por guiones bajos, números y caracteres ASCII.

Si los resultados no encajan en el búfer dado, se pueden copiar resultados parciales.

Devuelve: bool
true si se ejecuta con éxito o, de lo contrario, false, lo cual indica que el handle del resultado de inventario no fue válido o que el índice proporcionado no contiene un artículo.

GetResultItems

bool GetResultItems( SteamInventoryResult_t resultHandle, SteamItemDetails_t *pOutItemsArray, uint32 *punOutItemsArraySize );
NombreTipoDescripción
resultHandleSteamInventoryResult_tHandle de resultado de inventario para el que se obtienen los artículos.
pOutItemsArraySteamItemDetails_t *Los detalles se devuelven copiándolos en este vector.
punOutItemsArraySizeuint32 *Esto se debe establecer en la longitud de pOutItemsArray. Si pOutItemsArray es NULL, devolverá el número de elementos que el vector debe contener.

Obtiene los artículos asociados con un handle del resultado de inventario.

Devuelve: bool
true si la llamada fue exitosa, de lo contrario false.
Las posibles razones de error incluyen:
  • resultHandle no es válido o el handle de resultados de inventario no está listo.
  • pOutItemsArray no es lo suficientemente grande para almacenar el vector.
  • El usuario no tiene artículos.

Si la llamada es exitosa, entonces punItemDefIDsArraySize contendrá el número de definiciones de artículos disponibles.

Ejemplo:
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 );
NombreTipoDescripción
resultHandleSteamInventoryResult_tHandle de resultado de inventario para el que se obtienen el estado.

Determina el estado de un handle del resultado de inventario asíncrono.

Esto es el equivalente a registrar una función callback para SteamInventoryResultReady_t.

Devuelve: EResult
Si la llamada tuvo éxito o no.

Valores posibles:

Ejemplo:
void SpaceWarItem::CheckInventory( IGameEngine *pGameEngine ) { if ( s_RequestResult != 0 ) { EResult result = SteamInventory()->GetResultStatus( s_RequestResult ); if ( result == k_EResultOK ) { // Haz algo aquí } } }

GetResultTimestamp

uint32 GetResultTimestamp( SteamInventoryResult_t resultHandle );
NombreTipoDescripción
resultHandleSteamInventoryResult_tHandle de resultado del inventario para el que se quiere obtener la marca de tiempo.

Obtiene la hora del servidor a la que se generó el resultado.

Devuelve: uint32
La marca de tiempo se proporciona en formato de tiempo Unix (segundos transcurridos desde el 1 de enero de 1970).

Puedes comparar este valor con ISteamUtils::GetServerRealTime para determinar la antigüedad del resultado.

GrantPromoItems

bool GrantPromoItems( SteamInventoryResult_t *pResultHandle );
NombreTipoDescripción
pResultHandleSteamInventoryResult_t *Devuelve un nuevo handle de resultado de inventario.

Concede todos los artículos promocionales posibles de un solo uso al usuario actual.

Esta función se puede llamar de forma segura desde el cliente, porque los artículos que puede otorgar se pueden bloquear mediante políticas en ItemDef. Una de las situaciones principales para esta llamada es conceder un artículo a usuarios que también poseen otro juego concreto. Si deseas otorgar artículos promocionales específicos en lugar de todos, consulta: AddPromoItem y AddPromoItems.

Cualquier artículo que se quiera otorgar DEBE tener un atributo "promo" en su ItemDef. El artículo promocional enumera una serie de id. de aplicación que el usuario debe poseer para recibirlo. Esta versión otorgará todos los artículos que tengan atributos promocionales especificados para ellos en las definiciones de artículo configuradas. Lo que permitirá añadir más artículos promocionales sin tener que actualizar el cliente del juego. Por ejemplo, lo que se muestra aquí debajo permitirá que se otorgue el artículo si el usuario tiene TF2 o SpaceWar.

promo: owns:440;owns:480

Devuelve: bool
Esta función siempre devuelve true cuando la llama un usuario normal y false cuando se llama desde SteamGameServer.

Si tiene éxito, el resultado del inventario incluirá los artículos otorgados (si los hay). Si no se han otorgado artículos porque el usuario no cumple los requisitos de ninguna promoción, también se considerará que se ha ejecutado con éxito.

Devuelve un nuevo handle de resultado mediante pResultHandle.

NOTA: Tienes que llamar a DestroyResult con el resultado del inventario provisto cuando hayas terminado con él.

Ejemplo:
void CInventory::GrantPromoItems() { SteamInventory()->GrantPromoItems( &s_GenerateRequestResult ); }

LoadItemDefinitions

bool LoadItemDefinitions();
Activa una carga asíncrona y actualiza las definiciones de artículos.

Las definiciones de artículos son asociaciones de los "id. de definición" (enteros entre 1 y 999999999) con un conjunto de propiedades de tipo cadena. Algunas de esas propiedades son necesarias para mostrar artículos en el sitio web de la comunidad de Steam. Otras propiedades pueden estar definidas por las aplicaciones. No hay razón para llamar a esta función si el juego establece de manera fija los id. de definición numéricos (p. ej.: máscara de cara azul = 20, modificación de arma azul = 55) y no permite añadir nuevos tipos de elemento sin un parche del cliente.

Devuelve: bool
Activa la función callback SteamInventoryDefinitionUpdate_t.
Esta llamada siempre devolverá true.

RequestEligiblePromoItemDefinitionsIDs

SteamAPICall_t RequestEligiblePromoItemDefinitionsIDs( CSteamID steamID );
NombreTipoDescripción
steamIDCSteamIDId. de Steam del usuario para el que se solicitan los artículos promocionales que correspondan.

Solicita la lista de artículos promocionales "eligibles" que puedan concederse manualmente al usuario especificado.

Estos artículos son promocionales del tipo "manual", que no se conceden automáticamente. Un ejemplo de uso sería un artículo que esté disponible cada semana.

Después de llamar a esta función, tienes que llamar a GetEligiblePromoItemDefinitionIDs para obtener los id. de definición de los artículos en cuestión.

Devuelve: SteamAPICall_t para usar con el resultado de la llamada a la función SteamInventoryEligiblePromoItemDefIDs_t.
Devuelve k_uAPICallInvalid si steamID no es una cuenta individual válida.

RequestPrices

SteamAPICall_t RequestPrices();

Solicita los precios de todas las definiciones de artículos que se pueden comprar en la moneda local del usuario. Devolverá un resultado de la llamada a la función SteamInventoryRequestPricesResult_t con el código de moneda local del usuario. Después, puedes llamar a GetNumItemsWithPrices y a GetItemsWithPrices para obtener los precios de todas las definiciones de artículos conocidas, o a GetItemPrice para obtener el precio de una definición de artículo específica.

Devuelve: SteamAPICall_t para usar con el resultado de la llamada a SteamInventoryRequestPricesResult_t.
Devuelve k_uAPICallInvalid si hubo un problema interno.

Véase también: GetNumItemsWithPrices, GetItemsWithPrices y GetItemPrice

SendItemDropHeartbeat

void SendItemDropHeartbeat();
Obsoleta.

SerializeResult

bool SerializeResult( SteamInventoryResult_t resultHandle, void *pOutBuffer, uint32 *punOutBufferSize );
NombreTipoDescripción
resultHandleSteamInventoryResult_tEl handle del resultado de inventario que se serializa.
pOutBuffervoid *Búfer al que se va a copiar el resultado serializado.
punOutBufferSizeuint32 *Esto se debe establecer en el tamaño de pOutBuffer. Si pOutBuffer es NULL, esto devolverá el tamaño requerido para contener el búfer.

Los conjuntos de resultados serializados contienen una firma corta que no se puede falsificar ni replicar en otra sesión de juego.

Los conjuntos de resultados se pueden serializar en el cliente local, transmitir a otros jugadores por medio de la red de juego y deserializar en el cliente de los jugadores remotos. Esta es una forma segura de evitar que algún hacker finja poseer artículos raros o de gran valor. Serializa un conjunto de resultados con bytes de firma y lo almacena en un búfer de salida. El tamaño del resultado serializado depende del número de artículos que se serializan. Para transmitir artículos de forma segura a otros jugadores, se recomienda usar antes la función GetItemsByID para crear un conjunto de resultados mínimo.

Los resultados tienen una marca de tiempo integrada que se considerará "caducada" pasada una hora. Consulta DeserializeResult para el uso de la caducidad.

Si se establece pOutBuffer en NULL, punOutBufferSize se establecerá en el tamaño de búfer requerido. De esta forma, se puede crear el búfer y luego volver a llamar a esta función para llenarlo con los datos.

Devuelve: bool
true después de tener éxito, lo que indica que punOutBufferSize se ha completado satisfactoriamente con el tamaño del búfer y si pOutBuffer apunta a un búfer de tamaño suficiente, también se rellena.
false En las siguientes condiciones:
  • La llamada a la función no la ha ejecutado un usuario normal. Esta llamada no se admite en GameServers.
  • resultHandle no es válido o el handle de resultados del inventario no está listo.
  • El valor pasado a punOutBufferSize era más pequeño de lo esperado y pOutBuffer no era NULL.

StartPurchase

SteamAPICall_t StartPurchase( const SteamItemDef_t *pArrayItemDefs, const uint32 *punArrayQuantity, uint32 unArrayLength );
NombreTipoDescripción
pArrayItemDefsSteamItemDef_t *El vector con los id. de definición de los artículos que el usuario desea comprar.
punArrayQuantityuint32 *El vector de cantidades de cada definición de artículo que el usuario desea comprar.
unArrayLengthuint32Longitud de los vectores pArrayItemDefs y punArrayQuantity.

Inicia el proceso de compra para el usuario, si existe un "carrito de compra" con definiciones de artículos que al usuario le gustaría comprar. Se le pedirá al usuario en la interfaz superpuesta de Steam que complete la compra en su moneda local, añadiendo fondos a su Cartera de Steam si es necesario, etc.

Si el proceso de compra se inició con éxito, entonces m_ulOrderID y m_ulTransID
serán válidos en el resultado de la llamada SteamInventoryStartPurchaseResult_t.

Si el usuario autoriza la transacción y completa la compra, se activará la función callback SteamInventoryResultReady_t y luego podrá recuperar los nuevos artículos que el usuario ha adquirido. NOTA: Tienes que llamar a DestroyResult con el resultado del inventario cuando hayas terminado con él.

Devuelve: SteamAPICall_t para usar con el resultado de la llamada a SteamInventoryStartPurchaseResult_t.
Devuelve k_uAPICallInvalid si la entrada no es válida.
Pruebas durante el desarrollo: al probar StartPurchase antes de lanzar tu aplicación, todas las transacciones realizadas por el equipo de desarrolladores/editores se realizarán internamente a través de la API de microtransacción de Sandbox. Esto significa que no se te cobrarán las compras realizadas antes de que se lance la aplicación si eres parte del editor de Steamworks.

TransferItemQuantity

bool TransferItemQuantity( SteamInventoryResult_t *pResultHandle, SteamItemInstanceID_t itemIdSource, uint32 unQuantity, SteamItemInstanceID_t itemIdDest );
NombreTipoDescripción
pResultHandleSteamInventoryResult_t *Devuelve un nuevo handle de resultado de inventario.
itemIdSourceSteamItemInstanceID_tArtículo de origen que se va a transferir.
unQuantityuint32La cantidad del artículo que se transferirá de itemIdSource a itemIdDest.
itemIdDestSteamItemInstanceID_tEl artículo de destino. Puedes pasar k_SteamItemInstanceIDInvalid para dividir la pila de origen en una nueva pila de artículos con la cantidad solicitada.

Transfiere artículos entre pilas dentro del inventario de un usuario.

Se puede usar para apilar, dividir y mover artículos. Los artículos de origen y de destino deben tener el mismo id. de ItemDef. Para mover artículos a una pila de destino, se debe especificar el origen, la cantidad que se moverá y el id. del artículo de destino. Para dividir una pila existente, pasa k_SteamItemInstanceIDInvalid en itemIdDest. Se generará una nueva pila de artículos con la cantidad solicitada.

NOTA: Los artículos transferidos mantienen las restricciones de intercambio/comercialización originales. La pila de destino recibe la última fecha de intercambio/comercialización de los artículos que la componen.

Devuelve: bool
Esta función siempre devuelve true cuando la llama un usuario normal y false cuando se llama desde SteamGameServer.

Devuelve un nuevo handle de resultado mediante pResultHandle.

NOTA: Una vez que hayas terminado con esta función, tienes que llamar a DestroyResult con el resultado del inventario provisto.

Véase también: ConsumeItem y ExchangeItems

Ejemplo:
void CInventory::CombineItems() { SteamInventoryResult_t transferResult; // dividir 2 artículos de una pila existente SteamItemInstanceID_t bigStack = GetItemIdFromInventory( ... ); SteamInventory()->TransferItemQuantity( &transferResult, bigStack, 1, k_SteamItemInstanceIDInvalid ); // mueve 2 de la pila A a la pila B SteamItemInstanceID_t originStack = GetItemIdFromInventory( ... ); SteamItemInstanceID_t destStack = GetItemIdFromInventory( ... ); SteamInventory()->TransferItemQuantity( &transferResult, originStack, 2, destStack ); }

TriggerItemDrop

bool TriggerItemDrop( SteamInventoryResult_t *pResultHandle, SteamItemDef_t dropListDefinition );
NombreTipoDescripción
pResultHandleSteamInventoryResult_t *Devuelve un nuevo handle de resultado de inventario.
dropListDefinitionSteamItemDef_tEsto ha de ser un itemDefId del tipo "playtimegenerator". Para obtener más información, consulta la documentación sobre Esquema de inventario.

Activa la aparición de un artículo si el usuario ha jugado durante el tiempo suficiente.

El período de tiempo se puede personalizar en dos ubicaciones:
  • En el nivel de aplicación dentro del Servicio de inventario: Concesión de artículos por tiempo de juego. Esto se aplicará automáticamente a todos los artículos de tipo "playtimegenerator" que no incluyan ningún otro reemplazo o anulación.
  • En una definición de artículo individual de "playtimegenerator". Esta configuración tendrá prioridad sobre cualquier otra configuración del nivel de la aplicación.

Solo las definiciones de artículos marcadas como "generadoras de artículos por tiempo de juego" pueden ser creadas.

Normalmente, esta función se debe llamar al final de una partida, un nivel o un encuentro, o en cualquier punto importante del juego en el que pueda aparecer un artículo. La configuración del generador por tiempo de juego se define en minutos. Llamar a esta función más de una vez por minuto no es útil y se limitará su frecuencia de uso en el cliente de Steam. Los servidores de Steam llevarán la cuenta del tiempo de juego para evitar apariciones demasiado frecuentes. Además, los servidores administrarán la adición del artículo al inventario de los jugadores.

Devuelve: bool
Esta función siempre devuelve true cuando la llama un usuario normal y false cuando se llama desde SteamGameServer.

Devuelve un nuevo handle de resultado mediante pResultHandle.

NOTA: Una vez que hayas terminado con esta función, tienes que llamar a DestroyResult con el resultado del inventario provisto.

El resultado del inventario que devuelve esta función será el nuevo artículo concedido, si es que el jugador tiene derecho a ello. Si el jugador no tiene derecho, devolverá un resultado vacío ('[]').

Ejemplo:
void CInventory::FinishGame() { SteamInventory()->TriggerItemDrop( &s_PlaytimeRequestResult, 10 ); }

StartUpdateProperties

SteamInventoryUpdateHandle_t StartUpdateProperties();

Inicia una solicitud de transacción para actualizar las propiedades dinámicas en los artículos para el usuario actual. La llamada por usuario a esta función está limitada, por lo que las modificaciones de las propiedades se deben agrupar tanto como sea posible (por ejemplo, al final de un mapa o sesión de juego). Después de llamar a SetProperty o RemoveProperty para todos los artículos que quieres modificar, tienes que llamar a SubmitUpdateProperties para enviar la solicitud a los servidores de Steam. Se activará una función callback SteamInventoryResultReady_t con los resultados de la operación.

Ejemplo:
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 ); }

NOTA: Debes llamar a DestroyResult con el mismo resultado de inventario proporcionado para SubmitUpdateProperties cuando hayas terminado con él.

Devuelve: SteamInventoryUpdateHandle_t

Véase también: SetProperty, RemoveProperty y SubmitUpdateProperties

SubmitUpdateProperties

bool SubmitUpdateProperties( SteamInventoryUpdateHandle_t handle, SteamInventoryResult_t * pResultHandle );
NombreTipoDescripción
handleSteamInventoryUpdateHandle_tEl handle de actualización correspondiente a la solicitud de transacción, devuelto desde StartUpdateProperties.
pResultHandleSteamInventoryResult_t *Devuelve un nuevo handle de resultado de inventario.

Envía la solicitud de transacción para modificar las propiedades dinámicas en los artículos para el usuario actual. Consulta StartUpdateProperties.

NOTA: Debes llamar a DestroyResult con el mismo resultado de inventario provisto cuando hayas terminado con él.

Devuelve: bool

Véase también: StartUpdateProperties, SetProperty, RemoveProperty

RemoveProperty

bool RemoveProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName );
NombreTipoDescripción
handleSteamInventoryUpdateHandle_tEl handle de actualización correspondiente a la solicitud de transacción, devuelto por StartUpdateProperties.
nItemIDSteamItemInstanceID_tId. del artículo que se está modificando.
pchPropertyNameconst char*La propiedad dinámica que se está eliminando.

Elimina una propiedad dinámica para el artículo dado.

Devuelve: bool

Véase también: StartUpdateProperties, SetProperty y 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 );
NombreTipoDescripción
handleSteamInventoryUpdateHandle_tEl handle de actualización correspondiente a la solicitud de transacción, devuelto desde StartUpdateProperties.
nItemIDSteamItemInstanceID_tId. del artículo que se está modificando.
pchPropertyNameconst char*La propiedad dinámica que se agrega o actualiza.
pchPropertyValueconst char*El valor de la cadena se establece.
bValueboolEl valor booleano que se establece.
nValueint64El valor entero de 64 bits que se está configurando.
flValuefloatEl valor de coma flotante que se establece.

Establece una propiedad dinámica para el artículo dado. Los tipos de valores admitidos son cadenas, booleanos, enteros de 64 bits y flotantes de 32 bits.

Devuelve: bool

Véase también: StartUpdateProperties, RemoveProperty y SubmitUpdateProperties

Funciones callback

Estas son funciones callback que pueden activarse llamando a SteamAPI_RunCallbacks. Muchas de estas se activarán directamente en respuesta a las funciones miembro de ISteamInventory.

SteamInventoryDefinitionUpdate_t

Esta función callback se activa cada vez que se actualizan las definiciones de artículo, algo que podría ocurrir como respuesta a LoadItemDefinitions o cada vez que hay nuevas definiciones de artículo disponibles (por ejemplo, cuando se añaden de forma dinámica nuevos tipos de artículos mientras los jugadores están en el juego).

Esta función callback no tiene campos.

Funciones asociadas: LoadItemDefinitions

SteamInventoryEligiblePromoItemDefIDs_t

Se devuelve cuando solicitas la lista de artículos promocionales "eligibles" que se puedan conceder manualmente al usuario especificado. Estos artículos son promocionales del tipo "manual", que no se conceden automáticamente. Un ejemplo de uso sería un artículo que esté disponible cada semana.

NombreTipoDescripción
m_resultEResultk_EResultOK en caso de éxito, cualquier otro valor indica error.
m_steamIDCSteamIDId. de Steam del usuario para el que son los artículos.
m_numEligiblePromoItemDefsintNúmero de artículos promocionales elegibles disponibles para este usuario. Debes usar esto para crear un búfer SteamItemDef_t y usarlo con GetEligiblePromoItemDefinitionIDs para obtener los ItemDefs actuales.
m_bCachedDataboolIndica que los datos se han obtenido de la caché, no del servidor. Esto ocurre si el usuario no ha iniciado sesión o si no se puede conectar a los servidores de Steam.

Funciones asociadas: RequestEligiblePromoItemDefinitionsIDs

SteamInventoryFullUpdate_t

Se activa cuando GetAllItems devuelve correctamente un resultado más reciente que el último resultado conocido. (No se activará si el inventario no ha cambiado, o si los resultados de dos llamadas que se solapan se intercambian durante la ejecución y el resultado que se devuelve primero ya se sabe que es antiguo o está desactualizado).
La función callback SteamInventoryResultReady_t todavía se activará inmediatamente después; esta es una notificación adicional para tu comodidad.

NombreTipoDescripción
m_handleSteamInventoryResult_tUn nuevo handle del resultado de inventario.

SteamInventoryResultReady_t

Esto se activa cada vez que un resultado de inventario pasa de k_EResultPending a cualquier otro estado completado, consulta GetResultStatus para obtener la lista completa de estados. Siempre habrá exactamente una función callback por cada handle.

NombreTipoDescripción
m_handleSteamInventoryResult_tResultado de inventario que está listo ahora.
m_resultEResultNuevo estado del handle. Esto es equivalente a llamar a GetResultStatus.

SteamInventoryStartPurchaseResult_t

Se devuelve después de llamar a StartPurchase.

NombreTipoDescripción
m_resultEResultk_EResultOK en caso de éxito, cualquier otro valor indica error.
m_ulOrderIDuint64Id. de pedido generado automáticamente para la compra iniciada.
m_ulTransIDuint64El id. de transacción generado automáticamente para la compra iniciada.

SteamInventoryRequestPricesResult_t

Se devuelve después de llamar a RequestPrices.

NombreTipoDescripción
m_resultEResultk_EResultOK en caso de éxito, cualquier otro valor indica error.
m_rgchCurrencycharLa cadena que representa el código de la moneda local del usuario.

Structs

Estas son las estructuras con las que las funciones de ISteamInventory pueden devolver y/o interactuar.

SteamItemDetails_t



NombreTipoDescripción
m_itemIdSteamItemInstanceID_tHandle globalmente exclusivo de la instancia del artículo.
m_iDefinitionSteamItemDef_tNúmero de definición de artículo de este artículo.
m_unQuantityuint16Cantidad actual del artículo.
m_unFlagsuint16Esta es una colección de ESteamItemFlags con máscara de bits.

Enums

Estas son las enumeraciones definidas para usarse con ISteamInventory.

ESteamItemFlags

Estas son marcas de bits que se establecen en SteamItemDetails_t.

NombreValorDescripción
k_ESteamItemNoTrade1 << 0Este artículo está limitado a la cuenta y no se puede intercambiar ni regalar. Se trata de una marca de estado del artículo que se adjunta permanentemente a determinadas instancias de artículos.
k_ESteamItemRemoved1 << 8El artículo se ha eliminado o intercambiado, ha caducado o bien está invalidado. Se trata de una marca de confirmación de acción que solo se establece una vez como parte de un conjunto de resultados.
k_ESteamItemConsumed1 << 9La cantidad de artículos se ha reducido en 1 a través de la API ConsumeItem. Se trata de una marca de confirmación de acción que solo se establece una vez como parte de un conjunto de resultados.

Typedefs

Estas son los typedefs definidos para usarse con ISteamInventory.

NombreTipo de baseDescripción
SteamInventoryResult_tint32Handle de un resultado de inventario asincrónico.
SteamItemDef_tint32Los tipos de artículos en tu juego se identifican con un "número de definición de artículo" de 32 bits.
Los números de definición válidos están entre 1 y 999999999; los números menores o iguales a cero no son válidos y los números mayores o iguales a mil millones (1x10^9) están reservados para uso interno de Steam.
SteamItemInstanceID_tuint64Cada instancia individual de un artículo tiene un id. de instancia globalmente único.
Este id. es único para la combinación de un jugador y una instancia de un artículo específico, y no se transferirá a otro jugador ni se reutilizará para otro artículo.
SteamInventoryUpdateHandle_tuint64Función callback devuelta de la llamada a StartUpdateProperties, que inicia una solicitud de transacción para modificar las propiedades dinámicas de los artículos del usuario actual.

Constantes

Estas son las constantes definidas para usarse con ISteamInventory.

NombreTipoValorDescripción
k_SteamInventoryResultInvalidSteamInventoryResult_t-1Handle de un resultado de inventario de Steam no válido.
k_SteamItemInstanceIDInvalidSteamItemInstanceID_t(SteamItemInstanceID_t)~0Id. de instancia de artículo no válido. Se suele devolver cuando una operación es errónea. Se recomienda inicializar todas las instancias nuevas de artículos con este valor.
STEAMINVENTORY_INTERFACE_VERSIONconst char *"STEAMINVENTORY_INTERFACE_V002"