CCCPaste

DataStore Shirt and Pants

local DataStoreService = game:GetService("DataStoreService")
local PlayerDataStore = DataStoreService:GetDataStore("PlayerDataStore")

-- IDs de las texturas predeterminadas en el catálogo de Roblox
local DefaultShirtTextureID = -- ID de la textura de la camiseta predeterminada
local DefaultPantsTextureID = -- ID de la textura de los pantalones predeterminados

game.Players.PlayerAdded:Connect(function(player)
    local userId = tostring(player.UserId)
    
    -- Intentar cargar las texturas guardadas del jugador
    local success, savedTextures = pcall(function()
        return PlayerDataStore:GetAsync(userId)
    end)
    
    local character = player.Character
    if character then
        character:ClearAllChildren()
        character.HumanoidRootPart.Anchored = true
        
        local humanoid = character:FindFirstChild("Humanoid")
        humanoid:RemoveAccessories() -- Quitar accesorios existentes
        
        local shirt = Instance.new("Shirt")
        local pants = Instance.new("Pants")
        
        if success and savedTextures then
            shirt.ShirtTemplate = savedTextures.ShirtTemplate or DefaultShirtTextureID
            pants.PantsTemplate = savedTextures.PantsTemplate or DefaultPantsTextureID
        else
            shirt.ShirtTemplate = DefaultShirtTextureID
            pants.PantsTemplate = DefaultPantsTextureID
        end
        
        shirt.Parent = character
        pants.Parent = character
        
        humanoid:BuildRigFromAttachments() -- Reconstruir el esqueleto
        character.HumanoidRootPart.Anchored = false
    end
end)

game.Players.PlayerRemoving:Connect(function(player)
    local userId = tostring(player.UserId)
    local character = player.Character
    
    if character then
        local shirtTemplate = character:FindFirstChild("Shirt"):GetAttribute("ShirtTemplate")
        local pantsTemplate = character:FindFirstChild("Pants"):GetAttribute("PantsTemplate")
        
        local texturesData = {
            ShirtTemplate = shirtTemplate,
            PantsTemplate = pantsTemplate
        }
        
        -- Guardar las texturas actuales del jugador en el DataStore
        pcall(function()
            PlayerDataStore:SetAsync(userId, texturesData)
        end)
    end
end)