如何在 Roblox Studio 中使用 DataStoreService 保存衬衫和裤子的 ID

我一直在开发一个 Roblox 游戏,但目前遇到了一个难题。 我试图保存衬衫的 ID,这样当玩家再次进入游戏时,他会发现他上次穿的是同样的衬衫。 代码虽然可以运行,但衬衫不会显示。 以下是代码

local DataStoreService = game:GetService("DataStoreService")
local ds = DataStoreService:GetDataStore("ds")
game.Players.PlayerAdded:Connect(function(plr)
    local ls = Instance.new("Folder",plr)
    ls.Name = "ls"
    local shirtID = Instance.new("StringValue",ls)
    shirtID.Name = "shirtID"
    local pantsID = Instance.new("StringValue",ls)
    pantsID.Name = "pantsID"
    local shirtdt
    local pantsdt
    local success, errormessage = pcall(function()
        shirtdt = ds:GetAsync(plr.UserId.."-shirtID")
        pantsdt = ds:GetAsync(plr.UserId.."-pantsID")
    end)
    if shirtdt ~= nil then
        print("状态已保存")
        local char = plr.Character
        if char then
            local shirt = char:FindFirstChildOfClass("Shirt")
            local pants = char:FindFirstChildOfClass("Pants")
            shirt.ShirtTemplate = shirtID.Value
            pants.PantsTemplate = pantsID.Value
        end
    else
        print("没有状态")
    end
end)
game.Players.PlayerRemoving:Connect(function(plr)
    local success, errormessage = pcall(function()
        ds:SetAsync(plr.UserId.."-shirtID", plr.ls.shirtID.Value)
        ds:SetAsync(plr.UserId.."-pantsID", plr.ls.pantsID.Value)
    end)
    if success then
        print("保存成功")
    else
        warn(errormessage)
    end
end)
点赞