Игроки и постоянные ID
Различай имя игрока и UserId, чтобы списки прав и сохранения переживали смену ника.
Используй UserId
Ник игрока может измениться. Player.UserId остаётся постоянным, поэтому он подходит для ключей сохранений и списков доступа. Найти ID можно в профиле игрока или через поиск ID в Create.
Игрок заходит на сервер
Добавь Script в ServerScriptService:
local Players = game:GetService("Players")
local function greet(player)
print(player.Name, player.UserId)
end
Players.PlayerAdded:Connect(greet)
for _, player in ipairs(Players:GetPlayers()) do
greet(player)
end
Перебор уже подключённых игроков полезен, если скрипт запущен после их появления.
Узнай ID по нику
Сетевые запросы могут завершиться ошибкой. Оборачивай их в pcall:
local Players = game:GetService("Players")
local ok, result = pcall(function()
return Players:GetUserIdFromNameAsync("имя_игрока")
end)
if ok then
print("ID:", result)
else
warn("Не удалось найти игрока:", result)
end
Не путай среды сохранений
Данные DataStore в Play Solo в Studio отделены от данных живых серверов. Для сохранений в Studio нужен опубликованный плейс; локальный файл с PlaceId 0 не хранит такие данные. Не проверяй тестовые награды на реальных сохранениях игроков.
Продолжай создавать.К другим мануалам
