Перейти к содержимому
klyogames

Твоя игра

Как добавить таблицу рекордов в игру на HTML5

Подключи скрипт библиотеки klyo в index.html, вызови klyo.ready(), когда в игру уже можно играть, klyo.progress() во время партии и klyo.score() в конце. Укажи в Студии разработчика максимально возможный результат, и игра получит таблицы рекордов за день, неделю и все время.

  • 2 мин чтения
  • Шаги: 6
На этой странице

Прежде чем начать

  • Игра, опубликованная на klyo games или готовая к загрузке.
  • Доступ к файлу index.html игры. Сервер, база данных и аккаунты с твоей стороны не нужны.
  • Или ИИ-ассистент, подключенный через MCP: попроси его добавить в игру таблицу рекордов klyo.

Шаг за шагом

  1. Подключи библиотеку

    Вставь эту строку в index.html перед своим скриптом: <script src="https://games.klyo.pl/sdk/klyo-gry-sdk.js"></script>. Если открыть игру вне klyo, она продолжит работать, а результаты просто останутся в браузере.

  2. Сообщи странице, что игра готова

    Вызови klyo.ready(), когда игра загрузилась и в нее можно играть. Тогда страница убирает заставку загрузки.

  3. Сообщай о прогрессе по ходу партии

    Вызывай klyo.progress(points) при каждом изменении счета. Библиотека отправляет не больше четырех обновлений в секунду, а страница показывает игроку цель под игрой, например 14-е место и сколько очков нужно, чтобы обойти следующего игрока.

  4. Отправь итоговый результат

    В конце партии вызови klyo.score(points, callback). В ответе приходит место за день, за неделю и за все время, а также игрок, который стоит прямо перед тобой: все готово для финального экрана. Засчитывается один лучший результат с устройства в день.

  5. Задай лимит результата

    В Студии разработчика, в описании игры, заполни поле «Максимально возможный результат за одну партию». Результаты выше лимита сразу отклоняются, а плитка игры в центре рекордов получает значок лимита. Без лимита результат, который в десять раз выше следующего, отправляется на проверку.

  6. Покажи таблицу в самой игре (по желанию)

    klyo.leaderboard.get("day", callback) возвращает 20 лучших результатов за день, неделю или все время, с теми же именами игроков, что и в сообществе.

Если что-то не работает

Результаты не появляются

Результат засчитывается только после партии длиной не меньше 3 секунд и только когда игра запущена на klyo. Проверь, что библиотека загружается раньше твоего скрипта и что ты вызываешь klyo.ready().

Результат отклонен

Он выше заданного лимита или пришел слишком скоро после предыдущего результата с того же устройства.

Игроки спрашивают, где таблица

Она сама появляется на странице игры и в центре рекордов. В самой игре ты выводишь ее, только если вызываешь klyo.leaderboard.get.

Нужен ли игроку аккаунт для таблицы рекордов?

Нет. Результат привязан к устройству. С аккаунтом в таблице видно имя игрока, а результат переходит вместе с ним на другие его устройства.

Можно ли обмануть таблицу рекордов через консоль браузера?

Нет. Результат принимается только с токеном, который сервер подписывает в начале партии, только после минимум 3 секунд игры и только ниже твоего лимита, так что ввести число в консоли не получится.