Steamworks-dokumentaatio
Steamin tavaraluettelon esineiden lisävarusteet
Lisävarusteet tarjoavat pelaajille tavan muokata pelinsisäisiä esineitään ja luoda arvokkaampia, mielenkiintoisempia ja jopa ainutlaatuisia versioita tavallisista peleissä käytetyistä esineistä.

Lisävarusteet näkyvät yhteisön tavaraluettelossa ja herättävät yhteisön kauppapaikalle listattuina huomiota uniikkeina, ei-kaupattavina esineinä.

On sinun päätettävissäsi, mitä lisävarustetyyppejä tuet ja millaisia kosmeettisia tai pelitehosteita eri lisävarustetyypeissä voi olla. Voit myös halutessasi tukea pelissäsi erityyppisiä lisävarusteita eri esinetyypeissä.

backpackcomic_resize30.png

Konkreettisena esimerkkinä tarkastellaan tutuntyyppisen varusteen – tarrojen – määrittelyä.

Unique_backpack.png

Tässä esimerkissä uniikki-etuliite lisätään automaattisesti.

Esineen merkitseminen muokattavaksi

Pelaajat voivat lisätä lisävarusteita vain sellaisiin esineisiin, jotka on nimenomaisesti määritetty kyseiselle lisävarusteelle. Esine merkitään muokattavaksi päivittämällä ItemDef määritteellä accessory_tag, jonka arvona on esinekohtainen tunnisteluokka.

Esimerkki:
"accessory_tag": "sticker",

Tässä esimerkissä esinekohtainen ItemDef-tunnus, jonka luokka on sticker, käsitetään lisättynä lisävarusteena. Esinekohtaisen tunnisteen arvo on lisävarusteen DefID.

Esinekohtaiset tunnisteet säilyvät esineen elinkaaren ajan, myös omistajuuden muuttuessa.

Yhdellä esineellä voi olla useita lisävarusteita, kuten yllä olevassa esimerkissä. Yksittäisen esineen lisävarusteiden määrää voidaan rajoittaa määritteellä accessory_limit.

"accessory_limit": 3,

Oletusarvoinen enimmäismäärä on neljä. Emme suosittele tätä suurempia määriä.

Jos esine on muokattavissa, sen lisävarusteet löytää pelissä esinekohtaisilla tunnisteilla kutsumalla SDK-menetelmää ISteamInventory::GetResultItemProperty() ja käyttämällä ominaisuuden nimeä tags.

Lisävarusteen määrittäminen

Koska jokainen lisävaruste on itse asiassa ItemDef, olemassa olevia työkaluja – ennen kaikkea määritystä icon_url sekä lokalisoituja nimiä – voidaan käyttää lisävarusteen ulkoasun määrittämiseen.

Mukautettujen esineiden luodussa kuvauksessa käytetään ItemDef:n tietoja. Jos muutat ItemDefiä, myös käyttäjien tavaraluetteloissa olevat lisävarusteet päivitetään.

Yksinkertainen tarran määritelmä:
{ "appid": 480, "name": "Sininen tähti", "description": "Sininen tähtitarra, jolla on maagisia voimia", "icon_url": ...

Kertakäyttöisten lisävarusteiden luominen

Mitä tahansa menetelmää, joka lisää tuotekohtaisia ​​tunnisteita, voidaan käyttää lisävarusteiden lisäämiseen. Mielenkiintoisin tapaus on sellaisen kuluvan lisävarusteen määrittäminen, jonka pelaajat voivat ansaita tai ostaa, vaihtaa ja sitten käyttää.

Tämän mahdollistaa esinetyyppi tag_tool. Tag_tool kulutetaan esineen muokkaamiseen.

Jotta tunnistetyökalu voidaan ottaa käyttöön, on ensin otettava käyttöön lisävarustetunniste muokattavassa esineessä (tässä esimerkissä käytetään reppua):
{ "appid": 480, "itemdefid": 2000, "type": "item", "name": "Arkireppu", "description": "Kätevä säilytyspaikka, jossa on paljon tilaa tarroille.", "icon_url":..., "accessory_tag": "sticker", "accessory_limit": 3, "allowed_tags_from_tools": "sticker" }

Jokainen tarratyyppi luodaan siten, että tyypin arvoksi on asetaan tag_tool. Tunnistetyökalun tehtävänä on käyttää lisävarustetunnistetta ja lisätä tarran argumentiksi ItemDef. Tarran ItemDef näyttää siis tältä:
{ "appid": 480, "itemdefid": 1001, "name": "Sininen tähti", "description": "Sininen tähtitarra, jolla on maagisia voimia", "price_category": "1;VLV25", "icon_url"..., "type": "tag_tool", "tags": "sticker:1001", }

Huomaa, että tunnistearvo käyttää tarran ItemDef-tunnusta esineessä.

Huomaa myös, että lisävarusteissa käytetään kaikkia tavallisia tavaraluettelotoimintoja ja julkaisumenetelmiä – mukaan lukien niiden myynti- ja hintaluokkien määrittely esinekaupassa.

Lisävarusteiden käyttäminen

Jos haluat liittää tarran kohteeseen, kutsu ExchangeItems -luomismenetelmää Steamworks SDK:sta (tai WebAPI:n kautta luotetulta palvelimelta). Lähetä tarra ja muokattava esine materiaaleina ja aseta valittu ItemDef-tyyppi vastaamaan alkuperäistä muokattavaa esinettä. Tunnistetyökalu tag_tool otetaan käyttöön ja kohde päivitetään.

Jos pyyntö on kelvollinen, ExchangeItems-kutsu kuluttaa tarran ja päivittää esineen tunnisteet.

Esinekohtaisia ​​tunnisteita voidaan määrittää myös muilla tavoilla, kuten esinegeneraattoreilla. Lue lisätietoa täältä.

Lokalisointi ja näkyvyys

Lisävarusteet renderöidään automaattisesti verkkonäkymään, kuten käyttäjän reppuun ja yhteisön markkinapaikkaan. Kuvausosio sisältää pienen version kunkin lisätyn lisävarusteen kuvakkeesta sekä listan niiden lokalisoiduista nimistä.

Tavalliseen tapaan esineiden nimet lokalisoidaan antamalla arvot ItemDef Schemassa.

Lue Steamin tavaraluettelopalvelu -sivulta tietoa sisäisen nimen lokalisoinnista. Esimerkissämme sisäinen nimi Tarra on yksinkertaisesti Tarra kaikilla tuetuilla kielillä.

Voit myös määrittää erikoistekstin, joka näytetään ennen edellä mainittua erikoiskuvauslohkoa. Anna accessory_description_<language> ohjelmointirajapinnan kielikoodin määritys esinekuvauksessa yhdessä dynaamisten ominaisuuksien kanssa. Näin voit asettaa tunnuksia, jotka korvataan dynaamisilla arvoilla.

Esimerkki:


Jos esineellä, johon lisävaruste "-sticker" on lisätty, on dynaaminen ominaisuus num_times_stickered asetettu arvoon 123, tarran esinemääritys

{ "accessory_description_finnish": "Tarroja kiinnitetty %num_times_stickered% kertaa" }

palauttaa seuraavan tekstin verkkonäkymässä:

Tarroja kiinnitetty 123 kertaa.

Lisävarusteiden poistaminen tai vaihtaminen

Kun lisävaruste on kulutettu, sitä ei voi palauttaa poistamalla sitä esineestä. Lisävarusteet voidaan tietysti poistaa. Eri tavat poistaa tunnisteet esineestä löytyvät esinekohtaisten tunnisteiden dokumentaatiosta.

Voit tarjota käyttäjille tag_tool-työkalun, jonka ainoa tarkoitus on poistaa olemassa olevia lisävarusteita.

Kahden saman lisävarusteen lisäämistä kohteeseen ei tällä hetkellä tueta. Tämän yrittäminen epäonnistuu ExchangeItems-kutsulla eikä kuluta lisävarustetta.