Найти в Дзене
BlockPark

Как сохранить прогресс игрока

Сделаем простой и надёжный способ сохранять очки и достижения через DataStoreService (серверный код). В Studio включи сохранения:
Home → Game Settings → Security → Enable Studio Access to API Services = On
(Иначе в тесте в Studio DataStore не будет работать.) Создай Script в ServerScriptService, назови DataStoreManager, вставь код: В коде есть функция grantAchievement(player, name). Вызывай её, когда игрок выполняет условие: В таблице Achievements у игрока появится BoolValue с таким именем, а в DataStore — строка в массиве достижений. #roblox #lua 💬Telegram | 📹YouTube | 💳Boosty
Оглавление

Сделаем простой и надёжный способ сохранять очки и достижения через DataStoreService (серверный код).

Что сохраняем

  • Points — очки игрока (через leaderstats)
  • Achievements — список открытых достижений

Важно перед стартом

В Studio включи сохранения:

Home → Game Settings → Security → Enable Studio Access to API Services = On

(Иначе в тесте в Studio DataStore не будет работать.)

Полный серверный скрипт

Создай Script в ServerScriptService, назови DataStoreManager, вставь код:

-2

Как тестировать

  1. В Studio включён Enable Studio Access to API Services.
  2. Запусти Play (F5), измени очки:
-3
  1. Подожди автосейв (или выйди из Play, чтобы сработал сейв на удалении).
  2. Перезапусти Play — очки должны восстановиться.

Как сохранять достижения

В коде есть функция grantAchievement(player, name). Вызывай её, когда игрок выполняет условие:

-4

В таблице Achievements у игрока появится BoolValue с таким именем, а в DataStore — строка в массиве достижений.

Советы и частые ошибки

  • Сохраняй не слишком часто. Раз в 30–120 секунд + при выходе — оптимально.
  • Используй UpdateAsync, а не SetAsync: так меньше проблем, если два сервера пишут одновременно.
  • Храни компактные данные: числа, короткие строки, небольшие списки.
  • В проде проверь лимиты DataStore (бюджеты запросов), обрабатывай ошибки pcall.
  • В Studio бывают «фальш-ошибки» сети — тестируй и в реальной игре (не только в оффлайне).

Куда развивать

  • Сохранять не только очки/ачивки, но и инвентарь, валюты, настройки.
  • Добавить retry-логику при ошибке сохранения.
  • Перейти на профильные обёртки (например, менеджеры профилей) — удобнее для крупных проектов.
  • Для глобальных рейтингов использовать OrderedDataStore.

#roblox #lua

💬Telegram | 📹YouTube | 💳Boosty