Übersicht über das ItemDef-Schema
Hauptschema und Gegenstandstypen
Hierbei handelt es sich um die grundlegenden Eigenschaften, die von Steam verstanden und interpretiert werden und die für das einwandfreie Funktionieren aller Ansichten im Wirtschaftssystem, Handelssystem und Inventar notwendig sind. Viele dieser Eigenschaften sind dieselben, die auch von der Web-API
ISteamEconomy/GetAssetClassInfo zurückgegeben werden.
Bei ItemDefs muss es sich um einen der folgenden Typen handeln:
Name | Beschreibung |
item | Ein Gegenstandstyp aus einem Spielerinventar. |
bundle | Eine Sammlung von ItemDefs mit einer festgelegten Menge für jeden Typ. Wenn dieser Gegenstand vergeben wird, bezieht sich dies automatisch auf den gesamten Satz von Gegenständen gemäß der Definition in der Eigenschaft bundle . |
generator | Ein zufälliger Gegenstand. Wenn dieser Gegenstand vergeben wird, wird automatisch ein Gegenstandstyp aus der Eigenschaft bundle ausgewählt und eine Instanz dieses Typs erstellt. (Beispiel: Stellen Sie sich vor, dass beim Öffnen einer Kiste einer der möglichen Gegenstände erzeugt wird.) |
playtimegenerator | Dies ist eine spezielle Form von generator , die über einen Aufruf von ISteamInventory::TriggerItemDrop durch die Anwendung vergeben werden kann. |
tag_generator | Eine spezielle Gegenstandsdefinition, die Gegenstandsinstanzen Tags zufügt. (Weitere Details finden Sie hier: Steam-Inventar: Gegenstandstags) |
Details zur Festlegung von komplexen Gegenstandstypen finden Sie
unten.
ItemDef-Eigenschaften
Name | Beschreibung |
appid | Die ID Ihrer Anwendung. |
name | Der englische Name Ihres Gegenstands. Sie können auch lokalisierte Versionen des Gegenstandsnamens bereitstellen. Folgen Sie dazu diesem Beispiel: name_english: "Hat"
name_french: "Chapeau"
Informationen zu gültigen Sprachnamen als Suffix finden Sie in der Dokumentation zu Lokalisierung und Sprachen. |
description | Die englische Beschreibung Ihres Gegenstands. Sie können auch lokalisierte Versionen der Beschreibung bereitstellen. Folgen Sie dazu diesem Beispiel: description_english: "This is a tall hat"
description_french: "Ceci est un chapeau haut de forme"
Informationen zu gültigen Sprachnamen als Suffix finden Sie in der Dokumentation zu Lokalisierung und Sprachen. |
display_type | Die englische Beschreibung Ihres „Gegenstandstyps“. Sie können auch lokalisierte Versionen des Gegenstandstyps bereitstellen. Folgen Sie dazu diesem Beispiel: display_type_english: "Weapon"
display_type_french: "Arme"
Informationen zu gültigen Sprachnamen als Suffix finden Sie in der Dokumentation zu Lokalisierung und Sprachen. |
itemdefid | Die ID der Gegenstandsdefinition (ItemDef). Muss für Workshop-Inhalte kleiner als 1.000.000 sein. |
type | Interner Wert. (item | bundle | generator | playtimegenerator | tag_generator) |
bundle | (Siehe: Gegenstandstypen „bundle“ und „generator“) |
promo | (Siehe: Promo-Format) |
drop_start_time | UTC-Zeitstempel, der verhindert, dass vor diesem Zeitpunkt Promo-Gegenstände vergeben werden. Trifft nur zu, wenn promo = manual gesetzt wurde. (Siehe: Promo-Format) |
exchange | (Siehe: Austauschformat) |
price | (Siehe: Preisformat) |
price_category | Ein voreingestellter Preis in unterschiedlichen Währungen, den wir für Sie verwalten. (Siehe: Preisformat) |
background_color | Die Farbe (6-stelliger Hex-Farbcode) zur Darstellung des Inventarhintergrunds. |
name_color | Die Farbe (6-stelliger Hex-Farbcode) zur Darstellung des Namens im Inventar. |
icon_url | Die URL zum kleinen Symbol des Gegenstands. Die URL muss öffentlich zugänglich sein, weil die Steam-Server diese herunterladen und zwischenspeichern. Die empfohlene Größe ist 200 × 200 Pixel. |
icon_url_large | Die URL zum großen Symbol des Gegenstands. Die URL muss öffentlich zugänglich sein, weil die Steam-Server diese herunterladen und zwischenspeichern. Die empfohlene Größe ist 2048 × 2048 Pixel. |
marketable | „false” oder „true”. Gibt an, ob der Gegenstand marktfähig ist, d. h. im Steam-Communitymarkt an andere Nutzer verkauft werden kann. |
tradable | „false” oder „true”. Gibt an, ob der Gegenstand handelbar ist, d. h. auf Steam mit anderen Nutzern gehandelt werden kann. |
tags | (Siehe: Steam-Inventar: Gegenstandstags) |
tag_generators | Liste der anzuwendenden Gegenstandsdefinitions-IDs des Typs „tag_generator”. (Siehe: Steam-Inventar: Gegenstandstags) |
tag_generator_name | Tokenname der Tag-Kategorie (Siehe: Steam-Inventar: Gegenstandstags). |
tag_generator_values | Liste der Tag-Werte und wie wahrscheinlich deren Auswahl ist (Siehe: Steam-Inventar: Gegenstandstags). |
store_tags | String mit Tags, getrennt durch Semikola (;). Diese Tags dienen zum Kategorisieren und Filtern der Gegenstände Ihrer Anwendung im Steam-Shop. |
store_images | URLs für Bilder, getrennt durch Semikola (;). Diese Bilder werden zwischengespeichert und auf der Detailseite des Steam-Gegenstandsshops für Ihre Anwendung angezeigt. |
game_only | „false” oder „true”. Bei „true“ werden weder die Gegenstände im Steam-Inventar des Nutzers noch die Gegenstandsbenachrichtigungen angezeigt. Diese Einstellung wird beispielsweise oft verwendet, wenn vergebene Gegenstände sofort verbraucht werden. |
hidden | „false” oder „true”. Bei „true“ wird die Gegenstandsdefinition dem Client nicht angezeigt und kann nicht gekauft werden. Mit dieser Einstellung können Sie nicht verwendete oder unfertige Gegenstandsdefinitionen verbergen. |
store_hidden | „false” oder „true”. Bei „true“ wird der Gegenstand im Steam-Shop Ihrer Anwendung versteckt. Standardmäßig werden alle mit einem Preis versehenen Gegenstände im Shop angezeigt. |
use_drop_limit | „false” oder „true”. Bei „true“ wird bei der Vergabe von Gegenständen durch die API ISteamInventory::TriggerItemDrop der Parameter drop_limit berücksichtigt. (Siehe: Gegenstandsfunde nach Spielzeit) |
drop_limit | Integer. Beschränkt, wie oft ein Nutzer diesen Gegenstand über ISteamInventory::TriggerItemDrop erhalten kann. Wenn dieser Wert auf 0 gesetzt wird, erscheint der Gegenstand nicht mehr als Gegenstandsfund. (Siehe: Gegenstandsfunde nach Spielzeit) |
drop_interval | Integer. Spielzeit in Minuten, bevor der Gegenstand an den Nutzer vergeben werden kann. (Siehe: Gegenstandsfunde nach Spielzeit) |
use_drop_window | „false” oder „true”. Bei „true“ wird für diese Gegenstandsdefinition der Parameter „drop_window“ berücksichtigt. (Siehe: Gegenstandsfunde nach Spielzeit) |
drop_window | Integer. Verstrichene Zeit in Minuten, bevor ein Gegenstand vergeben wird. (Siehe: Gegenstandsfunde nach Spielzeit) |
drop_max_per_window | Integer. Die Anzahl der möglichen vergebenen Gegenstände innerhalb des Zeitfensters, bevor eine Wartezeit anfällt. Standardwert ist 1. (Siehe: Gegenstandsfunde nach Spielzeit) |
granted_manually | „false” oder „true”. Bei „true“ wird dieser Gegenstand nur dann vergeben, wenn AddPromoItem() oder AddPromoItems() explizit mit der ID der Gegenstandsdefinition aufgerufen werden. Andernfalls kann er über GrantPromoItems() vergeben werden. Der Standardwert ist „false“. |
use_bundle_price | „false” oder „true”. Siehe: Bündel verkaufen Der Standardwert ist „false“. |
auto_stack | „false” oder „true”. Bei „true“ werden vergebene Gegenstände automatisch einem einzelnen Stapel des entsprechenden Typs hinzugefügt. Vergebene Gegenstände werden in Rückrufen an das Inventar als Änderungen der Anzahl angezeigt. Der Standardwert ist „false“. |
Erweitertes Schema
Sie können auch beliebige weitere Eigenschaften definieren, die Sie speziell für Ihr Spiel benötigen.
Komplexe Gegenstandsdefinitionen nutzen
Gegenstandstypen „bundle“ und „generator“
Die Regeln für „bundle“, „generator“ und „playtimegenerator“ werden im Parameter
bundle
definiert.
Bei „bundle“ wird der Typ und die Menge der darin enthaltenen Gegenstände beschrieben.
Bei „generator“ oder „playtimegenerator“ werden die Typen der Gegenstände, die generiert werden können, und deren relative Gewichtung definiert. Alle Gewichtungen zusammen müssen nicht unbedingt 100 ergeben, aber oft ist dies sinnvoll.
Der Parameter
bundle
besteht aus einer Reihe von Herstellungsformeln, getrennt durch Semikola (;). Jede Herstellungsformel besteht aus der ID einer Gegenstandsdefinition, optional gefolgt vom Trennzeichen „x” und der gewünschten Menge.
Wenn die Menge nicht ausdrücklich angegeben ist, wird standardmäßig 1 angenommen.
Format für „bundle“
bundle_def : item_recipe , { ";" , item_recipe }
item_recipe : item_def , []
Beispiele für „bundle“
- Dieses Beispiel vergibt jeweils einmal Gegenstandsdefinition 201, Gegenstandsdefinition 202 und Gegenstandsdefinition 203:
type: bundle
bundle: 201;202;203
- Dieses Beispiel vergibt einmal Gegenstandsdefinition 101 und fünfmal Gegenstandsdefinition 102:
type: bundle
bundle: 101x1;102x5
- Dieses Beispiel generiert zu einer 90%igen Wahrscheinlichkeit Gegenstandsdefinition 501, zu einer 9%igen Wahrscheinlichkeit Gegenstandsdefinition 502 und zu einer 1%igen Wahrscheinlichkeit Gegenstandsdefinition 503:
type: generator
bundle: 501x90;502x9;503x1
- Dieses Beispiel generiert zu 90%iger Wahrscheinlichkeit einen gewöhnlichen Gegenstand und zu 10%iger Wahrscheinlichkeit einen besonderen Gegenstand:
itemdefid: 600
name: Common generator
type: generator
bundle: 601;602;603;604;605
itemdefid: 700
name: Special generator
type: generator
bundle: 701;702;703;704;705
itemdefid: 800
name: Master generator
type: generator
bundle: 600x9;700x1
Beachten Sie, dass, wie im letzten Beispiel gezeigt, die Defintionen für „bundle“ und „generator“ auch aufeinander verweisen können. Zum Zeitpunkt der Vergabe des Gegenstands werden komplexe Gegenstandstypen wiederholt erweitert, bis nur noch eine einfache Gegenstandsdefinition übrig bleibt.
Austauschformeln
Mit der ExchangeItems-API können Sie Formeln zur Herstellung und Verwandlung von Gegenständen definieren, die sicher vom Client abgerufen werden können. Die Steam-Server überprüfen das Inventar des Spielers, verbrauchen die angegebenen Materialien und vergeben dann den Zielgegenstand, wenn die Anforderungen erfüllt sind.
Beim Zielgegenstand kann es sich auch um eine Gegenstandsdefinition vom Typ „bundle“ oder „generator“ handeln.
Die Formel wird beim Zielgegenstand im Parameter
exchange
als eine Menge von einer oder mehrerer
Herstellungsformeln definiert, getrennt durch Semikola (;).
Jede Herstellungsformel besteht aus einer Menge erforderlicher
Materialien, getrennt durch Kommata (,).
Die erforderlichen Materialien können explizit als ID der Gegenstandsdefinition oder als Tag angegeben werden. Falls keine Menge angegeben ist, wird standardmäßig 1 angenommen.
Bei der Verwendung von ExchangeItems gibt der Aufrufende eine Liste von Materialgegenständen an, die gegen den Zielgegenstand ausgetauscht werden. Der Server prüft die einzelnen Herstellungsformeln und wählt die erste aus, die mit den angegebenen Materialien übereinstimmt.
Der Austausch ist flexibel – die Formeln ermöglichen das Öffnen einer Kiste mit einem Schlüssel, die Herstellung eines komplexen Gegenstands aus Komponenten sowie Recycling und Upgrades von Gegenständen.
Format für Austauschformeln
<exchange>: <recipe> { ";" <recipe> }
<recipe>: <material> { "," <material> }
<material>: <item_def_descriptor> / <item_tag_descriptor>
<item_def_descriptor>: <itemdefid> []
<item_tag_descriptor>: <tag_name> ":" <tag_value> []
Falls nicht explizit anders angegeben, wird als benötigte Menge standardmäßig 1 angenommen.
Beispiele für Austauschformeln
// erfordert eine der folgenden Gegenstandskombinationen:
// - einmal Gegenstand#100 und einmal Gegenstand#101; oder
// - fünfmal Gegenstand#102; oder
// - dreimal Gegenstand#103 und dreimal Gegenstand#104
"exchange":"100,101;102x5;103x3,104x3"
// erfordert einen linken und einen rechten Handschuh:
"exchange":"handed:left,handed:right"
// erfordert drei Bäume und einen komplexen Gegenstand:
"exchange":"type:tree*3,quality:fancy"
// erfordert entweder:
// - Gegenstand#201 und Gegenstand#202; oder
// - einen Gegenstand mit Bananengeschmack und ein schweres Objekt
"exchange":"201x1,202x1;flavor:banana,mass:heavy"
// recycelt fünf „gewöhnliche” (common) Artefakte in ein „besonderes” (special) Artefakt:
{
"name":"special_generator",
"type":"generator",
"tags":"rarity:special",
"bundle":…,
"exchange":"rarity:common*5",
…
}
Promo-Gegenstände
Die Vergabe von Promo-Gegenständen kann anhand verschiedener Kriterien erfolgen:
- Besitz einer App-ID (kann auch eine App-ID für Zusatzinhalte sein)
- Errungenschaft
- Spielzeit in einer App-ID
- Manuelle Vergabe: Der Client muss AddPromoItem mit der ID der Gegenstandsdefinition aufrufen.
Die Promo-Gegenstände werden von Steam überprüft, sodass sie problemlos vom Client angefordert werden können. Siehe:
ISteamInventory::AddPromoItem Zur Definition eines Promo-Gegenstands werden im Parameter „promo“ der Gegenstandsdefinition eine oder mehrere Regeln für die Vergabe des Gegenstands festgelegt.
Beachten Sie, dass es sich bei einem Promo-Gegenstand auch um ein Bündel handeln kann.
Für manuell vergebene Promo-Gegenstände können Sie auch bestimmte Fundintervalle festlegen. Sie können beispielsweise jede Woche ein paar Gegenstände vergeben, wenn ein Spieler eine bestimmte Aufgabe meistert (etwa eine Spielmission). Zur Verwendung dieser Funktion müssen für
drop_start_time
und
drop_interval
Werte in der Gegenstandsdefinition festgelegt sein.
Bei temporärem Besitz eines kostenlosen Titels (z. B. während eines Gratiswochenendes oder bei Zugriff über die Familienbibliothek) werden keine Promo-Gegenstände vergeben.
Format für Promo-Regeln
<promo>: <rule> { ";" <rule> }
<rule>: app_rule / ach_rule / played_rule / manual_rule
<app_rule>: "owns:" <appid>
<ach_rule>: "ach:" <achievement name>
<played_rule>: "played:" <appid>/<minutes played, defaults to 1>
<manual>: "manual"
Beispiele für Promotionen
// einfache Promo-Regeldefinitionen:
"promo":"owns:440;owns:480"
// hat mindestens 15 Minuten App-ID 570 gespielt:
"promo":"played:570/15"
// Verbrauchsgegenstand, der einmal pro Woche vergeben werden kann:
"itemdefid": 404,
"type": "item",
"name": "Weekly Quest Item",
"promo": "manual",
"drop_start_time": "20170801T120000Z",
"drop_interval": 10080,
…
Fundstartzeit
Wenn Sie für Ihren Promo-Gegenstand „drop_start_time“ festlegen, kann der Gegenstand nicht vor diesem Zeitpunkt vergeben werden. Damit können Sie den notwendigen Code zur Vergabe des Promo-Gegenstands schon deutlich vor Beginn der Promotion im Spiel implementieren. Der Zeitstempel muss im Format ISO 8601 in der Zeitzone UTC angegeben werden:
YYYYMMDDTHHMMSSZ
. Beispiel:
20050515T171151Z
.
Gegenstandsfunde nach Spielzeit
Die Funktion für Gegenstandsfunde nach Spielzeit ermöglicht den Steam-Servern, Gegenstandsfunde anhand der Spielzeit des Benutzers zu verwalten. Ihr Spiel muss zum gewünschten Zeitpunkt lediglich die Funktion
ISteamInventory::TriggerItemDrop aufrufen. Damit Gegenstandsfunde funktionieren, müssen Sie Gegenstände des Typs „playtimegenerator“ definieren.
Die Gewährung von Gegenständen nach Spielzeit wird von Ihrer Anwendung gesteuert. Automatische Gewährungen, die einzig und allein von der Spielzeit des Benutzers abhängen, werden nicht unterstützt. In anderen Worten: Die Spielzeit ist eine Bedingung für die Gewährung, aber die Gewährung selbst wird von Ihrer Anwendung ausgelöst.
Die Häufigkeit der Gegenstandsfunde steuern Sie auf Anwendungsebene im Abschnitt „Community“ -> „Inventardienst“ -> „Spielzeitgegenstandsbelohnungen“. Es gibt drei Steuerelemente, die die folgende Anpassung ermöglichen:
(1) Wie viel Zeit muss bis zu einem Gegenstandsfund vergehen?
(2) Wie viele Gegenstände können in einem Zeitfenster gefunden werden? Und,
(3) Wie lange ist die Wartezeit zwischen einem Fund und dem nächsten?
Diese Steuerelemente gibt es auch pro Gegenstandsdefinition. Die Werte auf der Ebene des Gegenstands selbst haben Vorrang vor den Werten, die auf Anwendungsebene für den betreffenden Gegenstand festgelegt wurden. So können Sie für jeden Gegenstand eine eigene Fundrate, eine eigene Höchstmenge pro Zeitfenster und eine eigene Wartezeit festlegen.
Wenn eine der folgenden Fundeinstellungen festgelegt ist, werden die Gegenstandsfunde pro Spielzeit-Generator überwacht: ('drop_interval', 'use_drop_window', 'drop_window', 'drop_max_per_window' ). Anders ausgedrückt: Wenn die Gegenstandsdefinition selbst
KEINE Fundeinstellungen aufweist, verwendet sie dieselben Einstellungen wie die anderen Spielzeit-Generatoren ohne eigene Fundeinstellungen, begrenzt durch das in der Anwendung festgelegte Fundintervall. Andernfalls (wenn also die Gegenstandsdefinition eine ausdrückliche Fundeinstellung besitzt) werden die Funde separat auf Generatorebene gewährt und überwacht, und zwar unabhängig von der Anwendung oder einem anderen Spielzeit-Generator in der ItemDef.
Beispiel für Gegenstandsgewährung nach Spielzeit
- Ermöglicht die Gewährung eines Gegenstands für einen Benutzer nach 30 Minuten Spielzeit. Wenn Sie nur diese Einstellung festlegen, hat dies einen großen Nachteil:
Da der Gegenstand alle 30 Minuten gewährt wird, kann er gefarmt werden. Wir empfehlen daher dringend, dies durch ein Fundzeitfenster zu ergänzen:
"drop_interval" : 30
- Begrenzt die Gegenstandsgewährung auf einen Fund pro Tag nach 30 Minuten Spielzeit. So belohnen Sie Ihre Spieler, wenn sie jeden Tag zu Ihrem Spiel zurückkehren.
"drop_interval" : 30,
"use_drop_window" : "true",
"drop_window" : "1440"
- Erlaubt dem Benutzer, 3 Gegenstände pro Tag zu finden, wenn er mindestens 90 Minuten lang spielt. Die Anzahl der Minuten muss nicht am Stück gespielt werden. So belohnen Sie längere Spielzeiten.
"drop_interval" : 30,
"use_drop_window" : "true",
"drop_window" : "1440",
"drop_max_per_window" : "3"
Wenn eine ItemDef-Einstellung fehlt, wird dafür automatisch der in der Anwendung festgelegte Wert genommen.
Maximale Funde
Die Variable
drop_limit
erlaubt die Festlegung einer Höchstanzahl von spielzeitbasierten Belohnungen pro Generator.
Sie können damit begrenzen, wie oft ein Gegenstand generiert werden kann (beispielsweise: auf den Zeitpunkt, wenn das Spiel zum ersten Mal im Schwierigkeitsgrad
Legendär abgeschlossen wird).
Sie können damit auch zukünftige Funde eines veralteten Gegenstands verhindern, indem Sie den Wert auf 0 setzen. Diese Einstellung ist nur dann wirksam, wenn
use_drop_limit
„true“ ist.
Verkauf von Gegenständen
Damit bestimmte Spielgegenstände verkauft werden können, legen Sie in den entsprechenden Gegenstandsdefinitionen einfach Preise oder Preiskategorien fest.
Informationen zur Aktivierung und Anpassung Ihrer Shopseite erhalten Sie in der Dokumentation zum
Gegenstandsshop.
Festlegung von Preisen
Die Preise für Gegenstände können in einem – aber nicht beiden – der folgenden Felder definiert werden:
Name | Beschreibung |
price | Legt einen spezifischen Preis in jeder Währung fest. Nicht definierte Währungen werden zum Zeitpunkt des Kaufs automatisch konvertiert. |
price_category | Legt einen allgemeingültigen Preis fest, der über eine von Valve gepflegte Preistabelle in allen unterstützten Währungen angezeigt wird. |
Das Feld
price_category
kann nur Werte in der speziellen Währung VLV aufnehmen. VLV100 entspricht 0,99 USD und wird gemäß dem Valve-Wechselkurs in alle unterstützten Währungen umgewandelt.
Die Wechselkurse für VLV werden sorgfältig gepflegt und berücksichtigen eventuelle Veränderungen im Laufe der Zeit. Die Preise werden dann nach Bedarf angepasst. Kleine Schwankungen werden hingegen akzeptiert, um die Preise möglichst stabil und benutzerfreundlich zu halten.
Preisformat
Price: <version>;<pricelist>
Version: "1"
<pricelist> : <originalprice>(;<price>)*
<originalprice>: <currency><integer>(,<currency><integer)*
<price>: (<daterange>)<currency><integer>(,<currency><integer)*
<currency> 3 Buchstaben wie „USD“
<integer> Anzahl in währungsspezifischen Einheiten
<daterange>: YYYYMMDDTHHMMSSZ-YYYYMMDDTHHMMSSZ
<daterange>
muss exakt 33 Zeichen lang sein.
Die Liste der Datumsbereiche muss in absteigender Reihenfolge vorliegen (zukünftige Termine oben).
Beispiele für Preise
-
price_category: 1;VLV100
Voreingestellte Preiskategorie unter Verwendung der Valve-Preistabelle.
-
price: 1;USD100
(1,00 US-Dollar)
-
price: 1;USD100,EUR080
(1,00 US-Dollar oder 0,80 Euro)
-
price: 1;USD100,EUR080;20130607T080000Z-20130606T080000ZUSD50,EUR40
(1,00 US-Dollar oder 0,80 Euro. Ausnahme nach dem 6. 6. 2013: 0,50 US-Dollar bzw. 0,40 Euro)
-
price: 1;USD100,EUR080;20130609T080000Z-20130606T080000ZUSD50,EUR40
(1,00 US-Dollar oder 0,80 Euro. Ausnahme vom 6. 6. 2013 bis 6. 9. 2013: 0,50 US-Dollar bzw. 0,40 Euro)
Verkauf von Bündeln
Auch gebündelte Gegenstände können im Shop zum Verkauf angeboten werden. Bei der Bezahlung wird das Bündel erweitert, sodass der Benutzer die vollständige Liste der gekauften Gegenstände sieht. Die Rückerstattungsbestimmungen von Steam erlauben die Rückgabe der gekauften Gegenstände innerhalb eines bestimmten Zeitraums, sofern sich die erworbenen Gegenstände noch in unveränderter Form im Inventar des Käufers befinden.
Preise für Bündel
Beim Festlegen eines Preises für ein Bündel müssen einige zusätzliche Schritte berücksichtigt werden. Steam verwendet die Preise der einzelnen Artikel innerhalb des Bündels, um den Bündelpreis zu ermitteln und den Bündelumsatz anteilig aufzuteilen. Diese Verteilung bestimmt die Höhe der Auszahlungen für Workshop-Beitragende. Ein Bündel kann Inhalte von verschiedenen Workshop-Beitragenden oder neben Ihren eigenen Erstanbieter-Inhalten weitere Workshop-Inhalte enthalten.
So legen Sie den Preis für einen gebündelten Gegenstand fest:
- Geben Sie einen Preis für jeden Gegenstand im Bündel an.
- Wenn einige Gegenstände im Bündel einzeln nicht verkauft werden dürfen, setzen Sie für diese Gegenstände den Wert
store_hidden
auf „true“.
- Setzen Sie das Feld
price
or price_category
des Bündels auf einen einfachen Preis (etwa VLV0).
Dieser Preis wird im Shop nicht verwendet, signalisiert dem Shop jedoch, dass es sich um einen verkäuflichen Gegenstand handelt.
- Optional können Sie für das Bündel mit
purchase_bundle_discount
einen Rabatt in Prozent festlegen.
Wenn Sie dies bevorzugen, können Sie einen genauen Bündelpreis in jeder Währung festlegen. Die Überschreibung des Bündelpreises ignoriert jeden von Ihnen angegebenen
purchase_bundle_discount
. Die einzelnen Artikelpreise werden jedoch weiterhin verwendet, um die Bündelerlöse proportional zu verteilen. Daher müssen sie angegeben werden.
So überschreiben Sie automatische Bündelpreise:
- Setzen Sie den gewünschten Preis für das Bündel im Feld
price
oder price_category
fest.
- Setzen Sie
use_bundle_price
für den Gegenstand auf true
.
Verkauf von Gegenstandstypen
Versuchen Sie nicht, Gegenstände des Typs
generator
direkt im Gegenstandshop zu verkaufen.
Wenn Sie einen Artikel mit einer Zufallskomponente (Truhe) verkaufen möchten, definieren Sie die Truhe als einfachen
item
-Typ. Erstellen Sie anschließend einen „generator“-Gegenstand, der die Truhe als Eingabe für eine Austauschformel akzeptiert.
Nach dem Kauf kann der Spieler die Truhe öffnen. Das ist der Zeitpunkt, an dem Sie über
ISteamInventory::ExchangeItems den Generator aufrufen können. Sobald die Truhe geöffnet wurde, kann sie nicht mehr zurückgegeben werden.
Voreingestellte VLV-Preistabelle
Hier finden Sie die aktuellen möglichen Werte zur Festlegung einer price_category für Ihren Gegenstand.
Name | Preis in USD |
VLV25 | 0,25 USD |
VLV50 | 0,49 USD |
VLV75 | 0,75 USD |
VLV100 | 0,99 USD |
VLV150 | 1,49 USD |
VLV200 | 1,99 USD |
VLV250 | 2,49 USD |
VLV300 | 2,99 USD |
VLV350 | 3,49 USD |
VLV400 | 3,99 USD |
VLV450 | 4,49 USD |
VLV500 | 4,99 USD |
VLV550 | 5,49 USD |
VLV600 | 5,99 USD |
VLV650 | 6,49 USD |
VLV700 | 6,99 USD |
VLV750 | 7,49 USD |
VLV800 | 7,99 USD |
VLV850 | 8,49 USD |
VLV900 | 8,99 USD |
VLV950 | 9,49 USD |
VLV1000 | 9,99 USD |
VLV1100 | 10,99 USD |
VLV1200 | 11,99 USD |
VLV1300 | 12,99 USD |
VLV1400 | 13,99 USD |
VLV1500 | 14,99 USD |
VLV1600 | 15,99 USD |
VLV1700 | 16,99 USD |
VLV1800 | 17,99 USD |
VLV1900 | 18,99 USD |
VLV2000 | 19,99 USD |
VLV2500 | 24,99 USD |
VLV3000 | 29,99 USD |
VLV3500 | 34,99 USD |
VLV4000 | 39,99 USD |
VLV4500 | 44,99 USD |
VLV5000 | 49,99 USD |
VLV6000 | 59,99 USD |
VLV7000 | 69,99 USD |
VLV8000 | 79,99 USD |
VLV9000 | 89,99 USD |
VLV10000 | 99,99 USD |
Beispiel für ein ItemDef-Schema
{
"appid": 480,
"items": [
{
"itemdefid": 10,
"type": "playtimegenerator",
"bundle": "100x100;101x50;102x25;103x2;110x20;111x20;120x5;121x3",
"name": "Drop Generator",
"name_color": "7D6D00",
"background_color": "3C352E",
"item_slot": "generator",
"icon_url": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png",
"icon_url_large": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png",
"tradable": false,
"marketable": false
},
{
"itemdefid": 100,
"type": "item",
"name": "Hat decoration",
"description": "Hat decoration description",
"price": "1;USD99",
"name_color": "7D6D00",
"background_color": "3C352E",
"item_slot": "decoration",
"icon_url": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png",
"icon_url_large": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png",
"tradable": true,
"marketable": true
},
{
"itemdefid": 200,
"type": "item",
"price": "1;VLV100",
"name_english": "Red Hat",
"name_german": "Roter Hut",
"description_english": "Red Hat",
"description_german": "Roter Hut",
"store_tags": "hat;featured",
"icon_url": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png",
"icon_url_large": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png",
"tradable": true,
"marketable": true
}
]
}