Ойын жүйелері

Ойын ішіндегі рейтинг: орындар, раундтар және марапаттар

iDos Games-тің дайын рейтингі қалай жұмыс істейді: раундтары бар тақталар, орын мен ұпай үшін марапаттар, асыра көрсетілген ұпайлардан қорғаныс, және оны кабинетте қалай баптауға болады.

Рейтинг - дайын рейтинг жүйесі: раундтары бар тақталар, орын мен ұпай үшін марапаттар. Ұпайларды, орындарды және марапаттарды сервер санайды. Тақталарды кабинетте баптайсыз, ал ойын нәтижелерді жіберіп, рейтингті көрсетеді.

Ойыншы не көреді

  • Қойындылар түріндегі тақталар: әрқайсысында ойыншының ұпайы, орны және раунд соңына дейінгі кері санақ көрсетілген карточка.
  • Үздік ойыншылар, ойыншы ерекшеленеді, алғашқы үштікке медальдар.
  • Терезелердегі орын марапаттары мен ұпай марапаттары; ұпай марапаттары сол жерде алынады.
  • Өткен раунд марапаты бар терезе: раунд аяқталғанда «Алу» батырмасымен өзі шығады.
  • Ойында ұпай табылатын режим болса, карточкадағы «Ойнау» батырмасы.
  • Марапат күтіп тұрғанда қойындыдағы белгі.
Рейтингтер
12 450
320
Апталық!
Маусым
Менің ұпайым12 840
Орын#7
Аяқталуына 2к 04:13
Марапаттар
Ойнау
ShadowFox25 120
2Mira22 980
3KnightOwl19 400
4Pixel_Pete15 210
5Luna14 030
6Arrow13 115
7Сіз12 840
8Grizzly11 900
Әр қосылған рейтинг - жеке қойынды; белгі марапат күтіп тұрғанын білдіреді.
Ойыншы карточкасы: ұпай, орын және раунд соңына дейінгі кері санақ.
Орын мен ұпай үшін марапаттар осы жерден ашылады; «Ойнау» ойын режиміне апарады.
Алғашқы үштікке медальдар, ойыншы тізімде ерекшеленеді.
Мысал. Рейтинг экраны: раунд таймері бар ойыншы карточкасы және үздіктер тізімі.

Тақта қалай құрылған

  • Раундтар. Тақта циклмен қайталанады (мысалы, әр апта), кесте бойынша немесе раундтар тізбегі ретінде жүреді.
  • Ұпай қалай есептеледі. Барлық нәтиженің қосындысы, ең жақсы нәтиже, ең жақсы уақыт немесе соңғы мән.
  • Орын марапаттары - раунд соңындағы орындар ауқымы бойынша: 1-орын, 2-3-орындар, 4-10-орындар және т.б.
  • Ұпай марапаттары - раунд ішіндегі белестер: «осы аптада 1000 ұпай жина».

Ұпайлар қайдан келеді

Ұпайлар тақтада берілген көздерден келеді:

  • Ойыннан келетін нәтиже (ClientScore). Ойын сан жібереді, мысалы жүгіріс ұпайын. ⚠ Көзге шектер қойыңыз: бір жіберуге, күнге максимум және жіберулер арасындағы үзіліс. Бұл көзсіз тақта ойыннан ешбір сан қабылдамайды.
  • Сервер өзі санайтын оқиғалар, мысалы сатып алулар немесе орындалған тапсырмалар. Оларды ойыннан жалғандауға болмайды.

Қадам 01Жобаға рейтинг қосыңыз

ЖИ-кодерге айтыңыз: «Ең жақсы ұпай бойынша апталық рейтинг қос». Ол дайын жүйені орнатып, ойынды нәтижені жіберуге үйретеді. Кабинетте кем дегенде бір тақта қосылғанда қойынды ойыншыларға көрінеді.

Қадам 02Тақтаны баптаңыз

Кабинетті ашып, жобаңызды таңдап, Тікелей операциялар → v2 → Лидерлер тақтасы бөліміне өтіңіз.

  1. Рейтинг қосу батырмасын басып, оның ID-ін қойыңыз, мысалы weekly_score.
  2. Раунд кестесін және ұпай қалай есептелетінін таңдаңыз.
  3. Ұпай көзін қосыңыз. Егер ұпайды ойын жіберсе, шектері бар ClientScore қолданыңыз.
  4. Орын марапаттарын, қаласаңыз ұпай марапаттарын қойыңыз.
  5. Сақтау батырмасын басыңыз.

Беттегі ЖИ батырмасы көмекшіні ашады: тақтаны сөзбен сипаттаңыз, ол өзгерістер ұсынады, сіз оларды қарап, сақтайсыз.

Қадам 03Тексеріп, шығарыңыз

Тест нұсқасында бірнеше нәтиже жіберіп, орынның өзгергенін бақылаңыз. Баптаулар жұмыс істейтін қосымшаға бөлек әрекетпен жіберіледі - жариялау және сілтемелер бетін қараңыз.

Әзірлеушілерге

Рейтинг @idosgames/core ішіндегі client.leaderboard арқылы жұмыс істейді.

TypeScript
// Нәтижені жіберу: сервер есептеу ережесі мен шектерді қолданады
const sub = await client.leaderboard.submitScore('weekly_score', 150)
if (!sub.ok) return showError(sub.error)
sub.data.NewScore // есептегеннен кейінгі ұпай

// Бірнеше тақтасы бар экран: үздіктер тізімі мен ойыншы барысы бір сұрауда
const overview = await client.leaderboard.getOverviewBatch(['weekly_score', 'season_pvp'])

// Күтіп тұрғанның бәрін алу: орын марапаттары мен ұпай марапаттары
await client.leaderboard.claimAllRewardsBatch(['weekly_score', 'season_pvp'])
  • SDK нөлдік немесе одан кіші ұпайды сұраусыз өзі қабылдамайды.
  • Жаңа ұпайды жауаптағы NewScore мәнінен алыңыз: «ең жақсы нәтиже» кезінде нашар нәтиже ұпайды өзгертпейді.
  • Достар рейтингі - getFriendsLeaderboard(leaderboardID).

Әр өріс leaderboard-system дағдысында сипатталған, оны SDK-ның MCP сервері береді.

Жиі қойылатын сұрақтар

Ойыншы ойыннан өте үлкен ұпай жіберіп, алдай ала ма?

Тақта дұрыс бапталса, жоқ. Тақта ойыннан санды тек ClientScore көзі арқылы алады, ал бұл көздің шектері бар - бір жіберуге, күнге максимум және жіберулер арасындағы үзіліс.

Ойында қанша рейтинг болуы мүмкін?

Бірнеше. Әр қосылған тақта - өз раунды мен марапаттары бар рейтинг экранының бөлек қойындысы.

Достар рейтингі бар ма?

Иә. SDK сол тақтаны ойыншының достары бойынша сүзіп қайтарады.

Сондай-ақ қараңыз

Өз ойыныңызды жасаңыз

Идеяны бір сөйлеммен сипаттаңыз - ЖИ-кодер оны жинайды, ал ойын өз сілтемесімен іске қосылады.