Maxim Gannota
Maxim Gannota

Reputation: 11

How can I fix this data store script

My issue here is that I have a script for storing data of the selected characters. The script isn't able to load the data and always returns the null values. This script is inside of serverscript service. I modify the values in localscripts that change the value of the stringValues to their respected items. The data that is loaded is then used by a localscript that uses the values to show the characters.

The code:

local playerService = game:GetService("Players")
local dataStoreService = game:GetService("DataStoreService")

local characterSlotsData = dataStoreService:GetDataStore("CharacterSlot1")

playerService.PlayerAdded:Connect(function(plr)
    --For if players don't have the data

    --Slot 1
    local characterSlot1Folder = Instance.new('Folder')
    characterSlot1Folder.Name = 'characterSlot1Folder'
    characterSlot1Folder.Parent = plr
    
    local dressSelected = Instance.new('StringValue')
    dressSelected.Name = 'dressSelected'
    dressSelected.Parent = characterSlot1Folder
    
    local pantsSelected = Instance.new('StringValue')
    pantsSelected.Name = 'pantsSelected'
    pantsSelected.Parent = characterSlot1Folder
    
    local hairSelected = Instance.new('StringValue')
    hairSelected.Name = 'hairSelected'
    hairSelected.Parent = characterSlot1Folder
    
    local skinColor = Instance.new('StringValue')
    skinColor.Name = 'skinColor'
    skinColor.Parent = characterSlot1Folder
    
    local shirtSelected = Instance.new('StringValue')
    shirtSelected.Name = 'shirtSelected'
    shirtSelected.Parent = characterSlot1Folder
    
    local extraSelected = Instance.new('StringValue')
    extraSelected.Name = 'extraSelected'
    extraSelected.Parent = characterSlot1Folder
    
    local hairColor = Instance.new('StringValue')
    hairColor.Name = 'hairColor'
    hairColor.Parent = characterSlot1Folder
    
    local extraColor = Instance.new('StringValue')
    extraColor.Name = 'extraColor'
    extraColor.Parent = characterSlot1Folder
    
    
    local characterSlot1Data = characterSlotsData:GetAsync(plr.UserId.."CharacterSlot1")
    if not characterSlot1Data then
        warn("Player didn't have data before")
        local data = {
            [1] = '0',
            [2] = '0',
            [3] = '0',
            [4] = '0',
            [5] = '0',
            [6] = '0',
            [7] = '0',
            [8] = '0'
        }
        local attemps = 0
        repeat
        local succ, err = pcall(characterSlotsData:SetAsync(plr.UserId.. "CharacterSlot1", data))
        if err then
            warn("Didn't save data")
            attemps = attemps + 1
        end
        task.wait(0.1)
        until succ or attemps >= 5
    end
    
    --Slot 2
    local characterSlot2Folder = Instance.new('Folder')
    characterSlot2Folder.Name = 'characterSlot2Folder'
    characterSlot2Folder.Parent = plr

    local dressSelected = Instance.new('StringValue')
    dressSelected.Name = 'dressSelected'
    dressSelected.Parent = characterSlot2Folder

    local pantsSelected = Instance.new('StringValue')
    pantsSelected.Name = 'pantsSelected'
    pantsSelected.Parent = characterSlot2Folder

    local hairSelected = Instance.new('StringValue')
    hairSelected.Name = 'hairSelected'
    hairSelected.Parent = characterSlot2Folder

    local skinColor = Instance.new('StringValue')
    skinColor.Name = 'skinColor'
    skinColor.Parent = characterSlot2Folder

    local shirtSelected = Instance.new('StringValue')
    shirtSelected.Name = 'shirtSelected'
    shirtSelected.Parent = characterSlot2Folder

    local extraSelected = Instance.new('StringValue')
    extraSelected.Name = 'extraSelected'
    extraSelected.Parent = characterSlot2Folder

    local hairColor = Instance.new('StringValue')
    hairColor.Name = 'hairColor'
    hairColor.Parent = characterSlot2Folder
    
    local extraColor = Instance.new('StringValue')
    extraColor.Name = 'extraColor'
    extraColor.Parent = characterSlot2Folder
    
    local characterSlot2Data = characterSlotsData:GetAsync(plr.UserId.."CharacterSlot2")
    if not characterSlot2Data then
        warn("Player didn't have data before")
        local data = {
            [1] = '0',
            [2] = '0',
            [3] = '0',
            [4] = '0',
            [5] = '0',
            [6] = '0',
            [7] = '0',
            [8] = '0'
        }
        local attemps = 0
        
        repeat
        local succ, err = pcall(characterSlotsData:SetAsync(plr.UserId..  "CharacterSlot2", data))
        if err then
            warn("Didn't save data")
            attemps = attemps + 1
        end
        task.wait(0.1)

        until succ or attemps >= 5
    end
    
    --Slot 3
    
    local characterSlot3Folder = Instance.new('Folder')
    characterSlot3Folder.Name = 'characterSlot3Folder'
    characterSlot3Folder.Parent = plr

    local dressSelected = Instance.new('StringValue')
    dressSelected.Name = 'dressSelected'
    dressSelected.Parent = characterSlot3Folder

    local pantsSelected = Instance.new('StringValue')
    pantsSelected.Name = 'pantsSelected'
    pantsSelected.Parent = characterSlot3Folder

    local hairSelected = Instance.new('StringValue')
    hairSelected.Name = 'hairSelected'
    hairSelected.Parent = characterSlot3Folder

    local skinColor = Instance.new('StringValue')
    skinColor.Name = 'skinColor'
    skinColor.Parent = characterSlot3Folder

    local shirtSelected = Instance.new('StringValue')
    shirtSelected.Name = 'shirtSelected'
    shirtSelected.Parent = characterSlot3Folder

    local extraSelected = Instance.new('StringValue')
    extraSelected.Name = 'extraSelected'
    extraSelected.Parent = characterSlot3Folder

    local hairColor = Instance.new('StringValue')
    hairColor.Name = 'hairColor'
    hairColor.Parent = characterSlot3Folder
    
    local extraColor = Instance.new('StringValue')
    extraColor.Name = 'extraColor'
    extraColor.Parent = characterSlot3Folder

    local characterSlot3Data = characterSlotsData:GetAsync(plr.UserId.."CharacterSlot3")
    if not characterSlot3Data then
        warn("Player didn't have data before")
        local data = {
            [1] = '0',
            [2] = '0',
            [3] = '0',
            [4] = '0',
            [5] = '0',
            [6] = '0',
            [7] = '0',
            [8] = '0'
        }
        local attempts = 0
        
        repeat 
        
        local succ, err = pcall(characterSlotsData:SetAsync(plr.UserId.. "CharacterSlot3", data))
        if err then
            warn("Error saving data: "..err)
            attempts = attempts + 1
        else
            print("Success")
        end
        task.wait(0.1)

        until succ or attempts >= 5
    end
    
    --Loading Data
    
    --Slot 1
    local dressSelected = plr.characterSlot1Folder.dressSelected.Value
    local pantsSelected = plr.characterSlot1Folder.pantsSelected.Value
    local hairSelected = plr.characterSlot1Folder.hairSelected.Value
    local skinColor = plr.characterSlot1Folder.skinColor.Value
    local shirtSelected = plr.characterSlot1Folder.shirtSelected.Value
    local extraSelected = plr.characterSlot1Folder.extraSelected.Value
    local hairColor = plr.characterSlot1Folder.hairColor.Value
    local extraColor = plr.characterSlot1Folder.extraColor.Value
    
    local attempts = 0
    repeat
    local succ, characterSlot1Data = pcall(characterSlotsData:GetAsync(plr.UserId.."CharacterSlot1"))
    
    if succ == true then
        print("Success")
    else
        warn("Didn't load data")
        attempts = attempts + 1
        task.wait(0.1)
    end
    until succ or attempts >= 5
    dressSelected = characterSlot1Data[1]
    pantsSelected = characterSlot1Data[2]
    hairSelected = characterSlot1Data[3]
    skinColor = characterSlot1Data[4]
    shirtSelected = characterSlot1Data[5]
    extraSelected = characterSlot1Data[6]
    hairColor = characterSlot1Data[7]
    extraColor = characterSlot1Data[8]
    
    --Slot 2
    local dressSelected = plr.characterSlot2Folder.dressSelected
    local pantsSelected = plr.characterSlot2Folder.pantsSelected
    local hairSelected = plr.characterSlot2Folder.hairSelected
    local skinColor = plr.characterSlot2Folder.skinColor
    local shirtSelected = plr.characterSlot2Folder.shirtSelected
    local extraSelected = plr.characterSlot2Folder.extraSelected
    local hairColor = plr.characterSlot2Folder.hairColor
    local extraColor = plr.characterSlot2Folder.extraColor
    
    local attempts = 0

    repeat
    local succ, characterSlot2Data = pcall(characterSlotsData:GetAsync(plr.UserId.."CharacterSlot2"))
    
    if succ then
        print("Success")
    else
        warn("Didn't load data")
        attempts = attempts + 1
        task.wait(0.1)
    end
    
    until succ or attempts >= 5

    dressSelected.Value = characterSlot2Data[1]
    pantsSelected.Value = characterSlot2Data[2]
    hairSelected.Value = characterSlot2Data[3]
    skinColor.Value = characterSlot2Data[4]
    shirtSelected.Value = characterSlot2Data[5]
    extraSelected.Value = characterSlot2Data[6]
    hairColor.Value = characterSlot2Data[7]
    extraColor.Val = characterSlot2Data[8]

    
    --Slot 3
    local dressSelected = plr.characterSlot3Folder.dressSelected.Value
    local pantsSelected = plr.characterSlot3Folder.pantsSelected.Value
    local hairSelected = plr.characterSlot3Folder.hairSelected.Value
    local skinColor = plr.characterSlot3Folder.skinColor.Value
    local shirtSelected = plr.characterSlot3Folder.shirtSelected.Value
    local extraSelected = plr.characterSlot3Folder.extraSelected.Value
    local hairColor = plr.characterSlot3Folder.hairColor.Value
    local extraColor = plr.characterSlot3Folder.extraColor.Value
    
    local attemps = 0
    
    repeat
    
    local succ, characterSlot3Data = pcall(characterSlotsData:GetAsync(plr.UserId.."CharacterSlot3"))
    
    if succ then
        print("Success")
    else
        warn("Didn't load data")
        attemps = attemps + 1
        task.wait(0.1)
    end
    until succ or attemps >= 5
    
    dressSelected = characterSlot3Data[1]
    pantsSelected = characterSlot3Data[2]
    hairSelected = characterSlot3Data[3]
    skinColor = characterSlot3Data[4]
    shirtSelected = characterSlot3Data[5]
    extraSelected = characterSlot3Data[6]
    hairColor = characterSlot3Data[7]
    extraColor = characterSlot3Data[8]

end)

playerService.PlayerRemoving:Connect(function(plr)
    print("Player is leaving game: ", plr.Name)
    
    --Slot 1
    local dressSelected = plr.characterSlot1Folder.dressSelected.Value
    local pantsSelected = plr.characterSlot1Folder.pantsSelected.Value
    local hairSelected = plr.characterSlot1Folder.hairSelected.Value
    local skinColor = plr.characterSlot1Folder.skinColor.Value
    local shirtSelected = plr.characterSlot1Folder.shirtSelected.Value
    local extraSelected = plr.characterSlot1Folder.extraSelected.Value
    local hairColor = plr.characterSlot1Folder.hairColor.Value
    local extraColor = plr.characterSlot1Folder.extraColor.Value
    
    local data = {
        [1] = dressSelected,
        [2] = pantsSelected,
        [3] = hairSelected,
        [4] = skinColor,
        [5] = shirtSelected,
        [6] = extraSelected,
        [7] = hairColor,
        [8] = extraColor
    }
    local attemps = 0
    
    repeat
    local succ, err = pcall(characterSlotsData:SetAsync(plr.UserId.."CharacterSlot1", data))
    if err then
        warn("Didn't save player data")
        attemps = attemps + 1
    end
    task.wait(0.1)
    until succ or attemps >= 5
    
    --Slot 2
    local dressSelected = plr.characterSlot2Folder.dressSelected.Value
    local pantsSelected = plr.characterSlot2Folder.pantsSelected.Value
    local hairSelected = plr.characterSlot2Folder.hairSelected.Value
    local skinColor = plr.characterSlot2Folder.skinColor.Value
    local shirtSelected = plr.characterSlot2Folder.shirtSelected.Value
    local extraSelected = plr.characterSlot2Folder.extraSelected.Value
    local hairColor = plr.characterSlot2Folder.hairColor.Value
    local extraColor = plr.characterSlot2Folder.extraColor.Value
    
    data = {
        [1] = dressSelected,
        [2] = pantsSelected,
        [3] = hairSelected,
        [4] = skinColor,
        [5] = shirtSelected,
        [6] = extraSelected,
        [7] = hairColor,
        [8] = extraColor
    }
    local attemps = 0

    repeat
    local succ, err = pcall(characterSlotsData:SetAsync(plr.UserId.."CharacterSlot2", data))
    
    if err then
        warn("Didn't save data")
        attemps = attemps + 1
    end
    task.wait(0.1)

    until succ or attemps >= 5
    --Slot 3
    local dressSelected = plr.characterSlot3Folder.dressSelected.Value
    local pantsSelected = plr.characterSlot3Folder.pantsSelected.Value
    local hairSelected = plr.characterSlot3Folder.hairSelected.Value
    local skinColor = plr.characterSlot3Folder.skinColor.Value
    local shirtSelected = plr.characterSlot3Folder.shirtSelected.Value
    local extraSelected = plr.characterSlot3Folder.extraSelected.Value
    local hairColor = plr.characterSlot3Folder.hairColor.Value
    local extraColor = plr.characterSlot3Folder.extraColor.Value
    
    data = {
        [1] = dressSelected,
        [2] = pantsSelected,
        [3] = hairSelected,
        [4] = skinColor,
        [5] = shirtSelected,
        [6] = extraSelected,
        [7] = hairColor,
        [8] = extraColor
    }
    local attemps = 0
    repeat
    local succ, err = pcall(characterSlotsData:SetAsync(plr.UserId.."CharacterSlot3", data))
    if err then
        warn("Didn't save player data")
        attemps = attemps + 1
    end
    task.wait(0.1)

    until succ or attemps >= 5

end)

Localscript:

local characterDisplaySlot1 = script.Parent.Background.CharacterSlots.CharacterSlot1
local characterDisplaySlot2 = script.Parent.Background.CharacterSlots.CharacterSlot2
local characterDisplaySlot3 = script.Parent.Background.CharacterSlots.CharacterSlot3

local player = game.Players.LocalPlayer

local selectedItemsFolderSlot1 = player:WaitForChild("characterSlot1Folder")
local selectedItemsFolderSlot2 = player:WaitForChild("characterSlot2Folder")
local selectedItemsFolderSlot3 = player:WaitForChild("characterSlot3Folder")

local freeDressStorage = game.ReplicatedStorage.FreeCustomisations.Dresses

local dress1Model = freeDressStorage.Dress1

local paidDressStorage = game.ReplicatedStorage.PaidCustomisations.Dresses

local paidDress1Model = paidDressStorage.Dress1
local paidDress2Model = paidDressStorage.Dress2
local paidDress3Model = paidDressStorage.Dress3
local paidDress4Model = paidDressStorage.Dress4

local freePantsStorage = game.ReplicatedStorage.FreeCustomisations.Pants

local pant1Model = freePantsStorage.Pant1
local pant2Model = freePantsStorage.Pant2

local paidPantsStorage = game.ReplicatedStorage.PaidCustomisations.Pants

local paidPant1Model = paidPantsStorage.Pant1
local paidPant2Model = paidPantsStorage.Pant2
local paidPant3Model = paidPantsStorage.Pant3

local freeShirtStorage = game.ReplicatedStorage.FreeCustomisations.Shirts

local shirt1Model = freeShirtStorage.Shirt1
local shirt2Model = freeShirtStorage.Shirt2

local paidShirtStorage = game.ReplicatedStorage.PaidCustomisations.Shirts

local paidShirt1Model = paidShirtStorage.Shirt1
local paidShirt2Model = paidShirtStorage.Shirt2
local paidShirt3Model = paidShirtStorage.Shirt3
local paidShirt4Model = paidShirtStorage.Shirt4

local freeExtrasStorage = game.ReplicatedStorage.FreeCustomisations.Extras

local extra1model = freeExtrasStorage.Extra1

local paidExtrasStorage = game.ReplicatedStorage.PaidCustomisations.Extras

local paidExtra1Model = paidExtrasStorage.Extra1
local paidExtra2Model = paidExtrasStorage.Extra2
local paidExtra3Model = paidExtrasStorage.Extra3
local paidExtra4Model = paidExtrasStorage.Extra4


local selectedDressModel = nil
local selectedPantModel = nil
local selectedShirtModel = nil
local selectedExtraModel = nil

local slotToReload = script.Parent.Values.ReloadRequired
local reloadRequired = script.Parent.Values.SlotToReload

function cloneDress(dressSelected, character)
    if dressSelected == 1 or dressSelected == 0 then
        selectedDressModel = dress1Model:Clone()
        selectedDressModel.Parent = character
        selectedDressModel.PrimaryPart.Position = Vector3.new(0, -6.5, 0)
    elseif dressSelected == 4 then
        selectedDressModel = paidDress1Model:Clone()
        selectedDressModel.Parent = character
        selectedDressModel.PrimaryPart.Position = Vector3.new(0, -6.8, 0)
    elseif dressSelected == 5 then
        selectedDressModel = paidDress2Model:Clone()
        selectedDressModel.Parent = character
        selectedDressModel.PrimaryPart.Position = Vector3.new(0, -6.5, 0)
    elseif dressSelected == 6 then
        selectedDressModel = paidDress3Model:Clone()
        selectedDressModel.Parent = character
        selectedDressModel.PrimaryPart.Position = Vector3.new(0, -6.5, 0)
    elseif dressSelected == 7 then
        selectedDressModel = paidDress4Model:Clone()
        selectedDressModel.Parent = character
        selectedDressModel.PrimaryPart.Position = Vector3.new(0, -6.5, 0)
    end
end

function clonePants(pantSelected, character)
    if pantSelected == 1 or pantSelected == 0 then
        selectedPantModel = pant1Model:Clone()
        selectedPantModel.Parent = character
        selectedPantModel.PrimaryPart.Position = Vector3.new(0, -7.2, 0.3)
    elseif pantSelected == 2 then
        selectedPantModel = pant2Model:Clone()
        selectedPantModel.Parent = character
        selectedPantModel.PrimaryPart.Position = Vector3.new(0, -7.2, 0.3)
    elseif pantSelected == 4 then
        selectedPantModel = paidPant1Model:Clone()
        selectedPantModel.Parent = character
        selectedPantModel.PrimaryPart.Position = Vector3.new(0, -7.8, 0.3)
    elseif pantSelected == 5 then
        selectedPantModel = paidPant2Model:Clone()
        selectedPantModel.Parent = character
        selectedPantModel.PrimaryPart.Position = Vector3.new(0, -7.1, 0.3)
    elseif pantSelected == 6 then
        selectedDressModel = paidPant3Model:Clone()
        selectedDressModel.Parent = character
        selectedDressModel.PrimaryPart.Position = Vector3.new(0, -7.2, 0.3)
    end
end

function cloneShirt(shirtSelected, character)
    if shirtSelected == 1 or shirtSelected == 0 then
        selectedShirtModel = shirt1Model:Clone()
        selectedShirtModel.Parent = character
        selectedShirtModel.PrimaryPart.Position = Vector3.new(0, -2.1, 0)
    elseif shirtSelected == 2 then
        selectedShirtModel = shirt2Model:Clone()
        selectedShirtModel.Parent = character
        selectedShirtModel.PrimaryPart.Position = Vector3.new(0, -2.6, 0)
    elseif shirtSelected == 4 then
        selectedShirtModel = paidShirt1Model:Clone()
        selectedShirtModel.Parent = character
        selectedShirtModel.PrimaryPart.Position = Vector3.new(0, -2.5, 0)
    elseif shirtSelected == 5 then
        selectedShirtModel = paidShirt2Model:Clone()
        selectedShirtModel.Parent = character
        selectedShirtModel.PrimaryPart.Position = Vector3.new(0, -2.5, 0)
    elseif shirtSelected == 6 then
        selectedShirtModel = paidShirt3Model:Clone()
        selectedShirtModel.Parent = character
        selectedShirtModel.PrimaryPart.Position = Vector3.new(0, -2.5, 0)
    elseif shirtSelected == 7 then
        selectedShirtModel = paidShirt3Model:Clone()
        selectedShirtModel.Parent = character
        selectedShirtModel.PrimaryPart.Position = Vector3.new(0, -2.5, 0)
    end
end

function cloneExtra(extraSelected, character)
    if extraSelected == 1 or extraSelected == 0 then
        selectedExtraModel = extra1model:Clone()
        selectedExtraModel.Parent = character
        selectedExtraModel.PrimaryPart.Position = Vector3.new(0, 10.5, 1.5)
    elseif extraSelected == 4 then
        selectedExtraModel = paidExtra1Model:Clone()
        selectedExtraModel.Parent = character
        selectedExtraModel.PrimaryPart.Position = Vector3.new(0, 10, 0)
    elseif extraSelected == 5 then
        selectedExtraModel = paidExtra2Model:Clone()
        selectedExtraModel.Parent = character
        selectedExtraModel.PrimaryPart.Position = Vector3.new(0, 8, 0)
    elseif extraSelected == 6 then
        selectedExtraModel = paidExtra2Model:Clone()
        selectedExtraModel.Parent = character
        selectedExtraModel.PrimaryPart.Position = Vector3.new(0, 8, 0)
    elseif extraSelected == 7 then
        selectedExtraModel = paidExtra3Model:Clone()
        selectedExtraModel.Parent = character
        selectedExtraModel.PrimaryPart.Position = Vector3.new(0, 3, 2)
    end
end


function cloneItems(dressSelected, pantSelected, shirtSelected, extraSelected, extraColor, skinColor, hairColor, hairSelected, slotNumber)
    local character = nil
    if slotNumber == 1 or 0 then
        character = characterDisplaySlot1.CharacterPreview.ViewportFrame.NewBody
        task.spawn(cloneDress, dressSelected, character)
        task.spawn(clonePants, pantSelected, character)
        task.spawn(cloneShirt, shirtSelected, character)
        task.spawn(cloneExtra, extraSelected, character)
    elseif slotNumber == 2 then
        character = characterDisplaySlot2.CharacterPreview.ViewportFrame.NewBody
        task.spawn(cloneDress, dressSelected, character)
        task.spawn(clonePants, pantSelected, character)
        task.spawn(cloneShirt, shirtSelected, character)
        task.spawn(cloneExtra, extraSelected, character)
    elseif slotNumber == 3 then
        character = characterDisplaySlot3.CharacterPreview.ViewportFrame.NewBody
        task.spawn(cloneDress, dressSelected, character)
        task.spawn(clonePants, pantSelected, character)
        task.spawn(cloneShirt, shirtSelected, character)
        task.spawn(cloneExtra, extraSelected, character)
    end
    
end


function printItems(dressSelected, pantSelected, shirtSelected, extraSelected, extraColor, skinColor, hairColor, hairSelected)
    warn(dressSelected)
    warn(pantSelected)
    warn(shirtSelected)
    warn(extraSelected)
    warn(extraColor)
    warn(skinColor)
    warn(hairColor)
    warn(hairSelected)

end


function loadCharacter(slotNumber)
    if slotNumber == 1 then
        characterDisplaySlot1.CharacterPreview.ViewportFrame.Visible = true     
        --Loading the values from the folders
        local dressSelected = selectedItemsFolderSlot1.dressSelected.Value
        local pantSelected = selectedItemsFolderSlot1.pantsSelected.Value
        local shirtSelected = selectedItemsFolderSlot1.shirtSelected.Value
        local extraSelected = selectedItemsFolderSlot1.extraSelected.Value
        local extraColor = selectedItemsFolderSlot1.extraColor.Value
        local skinColor = selectedItemsFolderSlot1.skinColor.Value
        local hairColor = selectedItemsFolderSlot1.hairColor.Value
        local hairSelected = selectedItemsFolderSlot1.hairSelected.Value
        task.spawn(printItems, dressSelected, pantSelected, shirtSelected, extraSelected,extraColor, skinColor, hairColor, hairSelected)
        task.spawn(cloneItems, dressSelected, pantSelected, shirtSelected, extraSelected, extraColor, skinColor, hairColor, hairSelected, slotNumber)
        
    elseif slotNumber ==  2 then
        characterDisplaySlot2.CharacterPreview.ViewportFrame.Visible = true

        --Loading the values from the folders
        local dressSelected = selectedItemsFolderSlot2.dressSelected.Value
        local pantSelected = selectedItemsFolderSlot2.pantsSelected.Value
        local shirtSelected = selectedItemsFolderSlot2.shirtSelected.Value
        local extraSelected = selectedItemsFolderSlot2.extraSelected.Value
        local extraColor = selectedItemsFolderSlot2.extraColor.Value
        local skinColor = selectedItemsFolderSlot2.skinColor.Value
        local hairColor = selectedItemsFolderSlot2.hairColor.Value
        local hairSelected = selectedItemsFolderSlot2.hairSelected.Value

        task.spawn(printItems, dressSelected, pantSelected, shirtSelected, extraSelected,extraColor, skinColor, hairColor, hairSelected)

        task.spawn(cloneItems, dressSelected, pantSelected, shirtSelected, extraSelected, extraColor, skinColor, hairColor, hairSelected, slotNumber)

        
    elseif slotNumber == 3 then
        characterDisplaySlot3.CharacterPreview.ViewportFrame.Visible = true

        --Loading the values from the folders
        local dressSelected = selectedItemsFolderSlot3.dressSelected.Value
        local pantSelected = selectedItemsFolderSlot3.pantsSelected.Value
        local shirtSelected = selectedItemsFolderSlot3.shirtSelected.Value
        local extraSelected = selectedItemsFolderSlot3.extraSelected.Value
        local extraColor = selectedItemsFolderSlot3.extraColor.Value
        local skinColor = selectedItemsFolderSlot3.skinColor.Value
        local hairColor = selectedItemsFolderSlot3.hairColor.Value
        local hairSelected = selectedItemsFolderSlot3.hairSelected.Value

        task.spawn(printItems, dressSelected, pantSelected, shirtSelected, extraSelected,extraColor, skinColor, hairColor, hairSelected)

        task.spawn(cloneItems, dressSelected, pantSelected, shirtSelected, extraSelected, extraColor, skinColor, hairColor, hairSelected, slotNumber)

    end
end

script.Parent.Values.Loaded:GetPropertyChangedSignal("Value"):Connect(function()
    task.spawn(loadCharacter, 1)
    task.spawn(loadCharacter, 2)
    task.spawn(loadCharacter, 3)
end)
    
reloadRequired:GetPropertyChangedSignal("Value"):Connect(function()
    if reloadRequired.Value == true then
        task.spawn(loadCharacter, slotToReload)
        slotToReload = 0
        reloadRequired = false
    end
end)

Upvotes: 0

Views: 44

Answers (0)

Related Questions