Yleiskatsaus
Steam tukee pysyviä pistetaulukoita, joiden merkinnät tilataan automaattisesti. Pistetaulukoilla voi näyttää maailmanlaajuiset tai ystävien keräämät pisteet pelin ja yhteisön verkkosivulla. Jokainen Steamworks-nimike voi luoda jopa 10 000 pistetaulukkoa, joista jokaisen voi noutaa välittömästi pelaajan tuloksen lisäämisen jälkeen.
Pelaajalla voi olla yksi merkintä kussakin pistetaulukossa. Pistetaulukon pelaajamääriä ei ole rajoitettu. Jokainen merkintä sisältää pistetaulukon pisteet (int32-merkintä) ja vaihtoehtoisesti jopa 64 int32-merkintää aiheeseen liittyville tiedoille. Aiheeseen liittyviä tietoja voi käyttää pelikohtaisten tietojen tallentamiseen siitä pelisessiosta, josta käyttäjän pistetaulukkomerkintä on peräisin. Steam ei lajittele tai jäsennä näitä tietoja, ja ne korvataan, kun käyttäjälle luodaan uusi pistetaulukkomerkintä.
Kaikki pistetaulukkofunktiot sijaitsevat kohteessa ISteamUserGameStats.h. Steamworks-esimerkissä käytetään kahta mallipistetaulukkoa. Pelin pistetaulukkoja voi tarkastella ja hallita pelin Steamworks-hallintasivulla.
Aluksi
Asynkroniset pistetaulukon toiminnot palauttavat tuloksena nimen, kun Steamin ohjelmointirajapintaan tehdään kutsu. Lisätietoja näiden tulosten vastaanottamisesta saat aloitusoppaan kutsutuloksia käsittelevästä osiosta.
Pistetaulukon luominen
Pistetaulukot ovat sovelluskohtaisia. Ne määritetään Steamworks-kumppanisivuston pelinhallintasivulla tai ohjelmointirajapinnan kautta.
Luominen verkon kautta
Voit luoda ja hallita pistetaulukoita Steamworks-sovellushallinnassa sovellustunnuksellasi, kun siirryt kohtaan
Tilastot & saavutukset -> Pistetaulukot.

Pistetaulukon määrittäminen edellyttää seuraavien kenttien täyttämistä:
- Nimi: valitse sisäisen kehityksen kannalta looginen nimi.
- Yhteisönimi: jos pistetaulukko näytetään yhteisökeskuksessa, valitse tähän julkisesti näkyvä nimi. Jos nimeä ei anneta, pistetaulukkoa ei näytetä.
- Lajittelutapa: määritä pistetaulukon lajittelujärjestys. Valitse nouseva järjestys, jos taulukko perustuu sijoitukseen. Valitse laskeva järjestys, jos taulukko perustuu pistemäärään.
- Näyttötapa: määrittää pistetaulukossa näytettävien tietojen tyypit. Vaihtoehtoina ovat numeerinen, sekunnit ja millisekunnit.
- Kirjoitus: jos arvoksi määritetään "luotettu", asiakkaat eivät voi kirjata pistetaulukon tuloksia, vaan ne voidaan kirjata vain SetLeaderboardScore WebAPIn kautta. Oletusarvona on epätosi.
- Luku: jos arvoksi määritetään "kaverit", peli voi lukea vain käyttäjän kaverien pistetaulukkotuloksia. WebAPI pystyy aina lukemaan kaikkia tuloksia. Oletusarvona on epätosi.
Luominen ohjelmointirajapinnan kautta
Pelisi pistetaulukot voi luoda joko
Steamworks-sovellushallinnassa tai ohjelmallisesti kutsumalla
ISteamUserStats::FindOrCreateLeaderboard. Steamissä kaikki Steamworks-nimikkeen pistetaulukot yksilöidään nimellä. Pistetaulukon nimeä käytetään vain tunnistamiseen Steamworks-ohjelmointirajapinnassa, eikä sitä näytetä käyttäjille Steam-yhteisössä. Kun luot pistetaulukon, sinun on valittava seuraavat asiat:
- Lajittelutapa:
k_ELeaderboardSortMethodAscending
(ylimpänä käyttäjä, jolla on pienimmät pisteet) tai k_ELeaderboardSortMethodDescending
(ylimpänä käyttäjä, jolla on suurimmat pisteet)
- Näyttötapa:
ELeaderboardDisplayType
kuvaa, mitä pistetaulukon pisteet edustavat. Sitä käytetään vain yhteisössä näytettävien pisteiden muotoiluun.
Jos luot pistetaulukot vain
sovellushallinnan kautta, voit noutaa pistetaulukolle kutsumanimen
ISteamUserStats::FindLeaderboard-menetelmällä. FindLeaderboard ja FindOrCreateLeaderboard ovat asynkronisia menetelmiä, jotka palauttavat pistetaulukon nimen tietylle pistetaulukolle
ISteamUserStats::LeaderboardFindResult_t-kutsun tuloksena.
Kun pistetaulukko on luotu, voit muokata lajittelu- ja näyttötapaa pelinhallintasivulla. Kun FindOrCreateLeaderboard kutsutaan olemassa olevalle pistetaulukolle, lajittelu- ja näyttötavan parametrit ohitetaan.
HUOM! Jos pistetaulukko näytetään yhteisökeskuksessa, sille on pistetaulukon määrityksen yhteydessä annettava yhteisönimi. Jos nimeä ei anneta, pistetaulukkoa ei näytetä.
Pisteiden lataaminen
Kun haluat ladata pisteitä pistetaulukkoon, kutsu
ISteamUserStats::UploadLeaderboardScore ja välitä kohdepistetaulukon kutsumanimi (joka noudetaan FindLeaderboard-menetelmällä), käyttäjän pisteet ja muut mahdolliset tiedot, jotka luodaan uusia pisteitä kirjattaessa. Kun käyttäjän pistetaulukkoa päivitetään, kohteeseen
ISteamUserStats::UploadLeaderboardScore välitetyt tiedot korvaavat aiemmin tallennetut tiedot. Kun lataat käyttäjän pistetaulukkopisteitä, valittavana on kaksi päivitysmenetelmää:
- ISteamUserStats::k_ELeaderboardUploadScoreMethodKeepBest – Steam vertaa käyttäjän uusia pisteitä pistetaulukkoon jo tallennettuihin pisteisiin ja säilyttää parhaat pisteet (pienimmät pisteet laskevan lajittelujärjestyksen pistetaulukoille ja suurimmat pisteet nousevan lajittelujärjestyksen pistetaulukoille.
- ISteamUserStats::k_ELeaderboardUploadScoreMethodForceUpdate – Steam korvaa käyttäjän pisteet pistetaulukossa aina uusilla pisteillä.
- ISteamUserStats::UploadLeaderboardScore on asynkroninen kutsu, ja lataamisen tulos palautetaan kutsutuloksena LeaderboardScoreUploaded_t. Tulos sisältää ilmoituksen, joka kertoo, ovatko käyttäjän pisteet muuttuneet, sekä käyttäjän vanhan ja uuden maailmanlaajuisen sijoituksen. Lataamisen jälkeen Steamworks-pistetaulukot päivitetään välittömästi näyttämään uudet pisteet. Uusi merkintäjärjestys tulee samalla noudettavaksi DownloadLeaderboardEntries-menetelmällä.
Käyttäjän luoman sisällön liittäminen
Kun pisteet on ladattu, voit liittää merkintään käyttäjän luomaa sisältöä. Se onnistuu helposti kutsumalla
ISteamUserStats::AttachLeaderboardUGC. Tämä sisältö voi olla esimerkiksi video käyttäjästä saavuttamassa pisteet tai haamu, jota vastaan voi kisata. Liitetty kutsumanimi tulee saataville, kun merkintä noudetaan, jolloin muut käyttäjät voivat ladata sen. Lisätietoja käyttäjän luoman sisällön tuottamisesta ja lataamisesta saat Steam Cloudin dokumentaatiosta.
Liitetty sisältö säilyy saatavilla, vaikka käyttäjä muuttaisi tai poistaisi sen Cloud-tiedoston.
Pistetaulukkomerkintöjen noutaminen
ISteamUserStats::DownloadLeaderboardEntries-menetelmällä voidaan noutaa pistetaulukkomerkintöjä käyttämällä kutsumanimeä, joka noudetaan
ISteamUserStats::FindLeaderboard-menetelmällä.
Kun olet noutanut kaikki ladatut merkinnät kohteesta GetDownloadedLeaderboardEntry, merkintätiedot vapautetaan ja SteamLeaderboardEntries_t kohteessa LeaderboardScoresDownloaded_t lakkaa olemasta voimassa.
Pistetaulukkotietojen noutaminen
FindLeaderboard-kutsun palauttaman pistetaulukon kutsumanimen avulla voit noutaa pistetaulukosta tietoja seuraavilla menetelmillä:
ISteamUserStats::GetLeaderboardNameISteamUserStats::GetLeaderboardEntryCountISteamUserStats::GetLeaderboardSortMethodISteamUserStats::GetLeaderboardDisplayType