Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Bees loading system does not works?

Asked by 3 years ago
Edited 3 years ago

Hello, so I have this script and its not working. Like, its working, but if set, for example, 1 bee at my hive, and save the game, it just gonna load this not as 1, but as a whole hive, and i don't know how to fix, and also print shows it as it should, so there's only 1 bee. if someone understood me(because my explanation is really bad), please help! Here's my code:

local DataStoreService = game:GetService("DataStoreService")
local DataStore = DataStoreService:GetDataStore("BeeGameData")
local Cells = workspace:WaitForChild("Cells")
local Hives = workspace:WaitForChild("Hives")

function loadBees(player, parent, beesTable)
    print(unpack(beesTable))
    if beesTable[1] ~= nil then
        for i, bee in pairs(beesTable) do
            local beeValue = Instance.new("IntValue")
            print(bee.Name, "-", bee.Slot)
            beeValue.Name = bee.Name
            beeValue.Value = bee.Slot
            beeValue.Parent = parent
        end

        for beeNum = 0, player.CoreStats.BeesAmount.Value do
            local beeID = Instance.new("IntValue")
            beeID.Name = beeNum
            beeID.Value = beeNum
            beeID.Parent = player.CoreStats.BeeIDs
        end
    else
        print("Player does not have bees")
        for i = 1, 25 do
            print(i)
            local beeValue = Instance.new("IntValue")
            beeValue.Name = "None"
            beeValue.Value = i
            beeValue.Parent = parent

            local beeID = Instance.new("IntValue")
            beeID.Name = i
            beeID.Value = i
            beeID.Parent = player.CoreStats.BeeIDs
        end
    end
end

game.Players.PlayerAdded:Connect(function(Player)
    local coreStats = Instance.new("Folder")
    coreStats.Name = "CoreStats"
    coreStats.Parent = Player

    local Honey = Instance.new("IntValue")
    Honey.Name = "Honey"
    Honey.Parent = coreStats

    local Pollen = Instance.new("IntValue")
    Pollen.Name = "Pollen"
    Pollen.Parent = coreStats

    local Claimed = Instance.new("StringValue")
    Claimed.Name = "HiveClaimed"
    Claimed.Parent = Player

    local Bees = Instance.new("Folder")
    Bees.Name = "Bees"
    Bees.Parent = coreStats

    local BeeIDs = Instance.new("Folder")
    BeeIDs.Name = "BeeIDs"
    BeeIDs.Parent = coreStats

    local BeesAmount = Instance.new("IntValue")
    BeesAmount.Name = "BeesAmount"
    BeesAmount.Parent = coreStats
    BeesAmount.Value = 25

    local data = DataStore:GetAsync(Player.UserId)

    if data then
        Player.CoreStats.Honey.Value = data.Honey
        Player.CoreStats.Pollen.Value = data.Pollen
        Player.CoreStats.Capacity.Value = data.Capacity
        Player.CoreStats.BeesAmount.Value = data.BeesAmount
        loadBees(Player, Player.CoreStats.Bees, data.Bees)
    else
        loadBees(Player, Player.CoreStats.Bees, {})
    end

    game:BindToClose(function()
        local saveData = {}
        saveData.Honey = Player.CoreStats.Honey.Value
        saveData.Pollen = Player.CoreStats.Pollen.Value
        saveData.Capacity = Player.CoreStats.Capacity.Value
        saveData.BeesAmount = Player.CoreStats.BeesAmount.Value
        saveData.Bees = {}
        if Player.HiveClaimed.Value ~= "" then
            print("yes hive")
            local playerCells = Cells:FindFirstChild(Player.HiveClaimed.Value)
            print(playerCells.Name)

            for _, cell in pairs(Player.CoreStats.Bees:GetChildren()) do
                local test = {Name = cell.Name, Slot = cell.Value}
                table.insert(saveData.Bees, {Name = cell.Name, Slot = cell.Value})
            end
        else
            warn("Player bees wasn't saved, because player did not claimed the hive.")
        end
        print(unpack(saveData.Bees))

        local succes, errormsg = pcall(function()
            DataStore:SetAsync(Player.UserId, saveData)
        end)
        if succes then
            print(Player.Name.."'s was successfully saved!")
        else
            warn("An error was occured, while saving data:",errormsg)
        end
    end)
end)

Thanks!

0
```LoadBees(Example1, Example2, Example3)``` is never called in the script you showed us. KingCh1ll 2 — 3y

1 answer

Log in to vote
0
Answered by 3 years ago

LoadBees(Example1, Example2, Example3) is never called in the script you showed us.

0
oh, i m sorry, i thought it will be long, so i did not send the full GravityGouse99938 75 — 3y
Ad

Answer this question