تخطَّ إلى المحتوى

NexusData

m
m/NexusData عام
نجمة 0
44 lines · 1.1 KB
Raw تنزيل
Basic.server.lua 44 lines
local Players = game:GetService("Players")
local NexusData = require(game.ServerScriptService.NexusData)

local PlayerStore = NexusData.CreateStore("NexusPlayerData_v1", {
    Coins = 0,
    Level = 1,
    XP = 0,
    Inventory = {},
    Settings = {
        Music = true,
        SFX = true,
    },
}, {
    SchemaVersion = 1,
})

local function loadPlayer(player)
    local profile, err = PlayerStore:LoadProfileAsync(player.UserId)
    if not profile then
        warn(("NexusData failed to load %s: %s"):format(player.Name, tostring(err)))
        player:Kick("We couldn't load your data safely. Please rejoin.")
        return
    end

    print(("Loaded %s with %d coins"):format(player.Name, profile:Get("Coins", 0)))

    player:SetAttribute("NexusDataLoaded", true)
    profile:Increment("Coins", 25)
end

Players.PlayerAdded:Connect(loadPlayer)

for _, player in Players:GetPlayers() do
    task.spawn(loadPlayer, player)
end

Players.PlayerRemoving:Connect(function(player)
    PlayerStore:ReleaseProfile(player.UserId)
end)

game:BindToClose(function()
    NexusData.CloseAll()
end)

تأكيد