I have a game (tycoon) and there are many issues in different scripts.
- Issue in leaderstats script - not appearing in explorer or screen
- Issue in tycoon saving script - tycoon not saving
- Issue in achievements script - not appearing in explorer
So I will now post code from the scripts:
Leaderstats
local stats = Instance.new("IntValue")
stats.Name = "leaderstats"
local kills = false
if Settings.LeaderboardSettings.KOs then
kills = Instance.new("IntValue")
kills.Name = Settings.LeaderboardSettings.KillsName
kills.Value = 0
end
local deaths = false
if Settings.LeaderboardSettings.WOs then
deaths = Instance.new("IntValue")
deaths.Name = Settings.LeaderboardSettings.DeathsName
deaths.Value = 0
end
local cash = false
if Settings.LeaderboardSettings.ShowCurrency then
cash = Instance.new("StringValue")
cash.Name = Settings.CurrencyName
cash.Value = 0
end
local cash2 = false
if Settings.Currency2.CurrencyShowed then
cash2 = Instance.new("NumberValue")
cash2.Name = Settings.Currency2.Name
cash2.Value = 0
end
local cash3 = false
if Settings.Currency3.CurrencyShowed then
cash3 = Instance.new("IntValue")
cash3.Name = Settings.Currency3.Name
cash3.Value = 0
end
Tycoon
--I'd rather not post it here because it is very long
Achievements
local players = game:GetService("Players")
local Datastoreservice = game:GetService("DataStoreService")
local dataStore = Datastoreservice:GetDataStore("AchievementProgressTestII")
local function SaveData(plr)
local key = "plr-"..plr.UserId
local save = {
["Achievement1"] = plr["Achievements"]["Cocoa Collecting 1"],
["Achievement2"] = plr["Achievements"]["Grass Parkour"],
["Achievement3"] = plr["Achievements"]["Sand Parkour"],
["Achievement4"] = plr["Achievements"]["Snow Parkour"],
["Achievement5"] = plr["Achievements"]["Lava Parkour"]
}
local success, err = pcall(function()
dataStore:SetAsync(key, save)
end)
if not success then
warn("Failed to overwrite data: "..tostring(err))
end
end
function LoadData(plr)
local AchievementSettings = require(script.Parent.Settings2)
local achievementsFolder = Instance.new("Folder", plr)
achievementsFolder.Name = AchievementSettings.AchievementSettings.Name
local achievement1 = Instance.new("NumberValue", achievementsFolder)
achievement1.Name = AchievementSettings.AchievementSettings.Achievements["1"]
achievement1.Value = 0
local achievement2 = Instance.new("NumberValue", achievementsFolder)
achievement1.Name = AchievementSettings.AchievementSettings.Achievements["2"]
achievement1.Value = 0
local achievement3 = Instance.new("NumberValue", achievementsFolder)
achievement1.Name = AchievementSettings.AchievementSettings.Achievements["3"]
achievement1.Value = 0
local achievement4 = Instance.new("NumberValue", achievementsFolder)
achievement1.Name = AchievementSettings.AchievementSettings.Achievements["4"]
achievement1.Value = 0
local achievement5 = Instance.new("NumberValue", achievementsFolder)
achievement1.Name = AchievementSettings.AchievementSettings.Achievements["5"]
achievement1.Value = 0
--[[local achievement2 = Instance.new("NumberValue", achievementsFolder)
achievement2.Name = AchievementSettings.AchievementSettings.Achievements["2"]
achievement2.Value = 0--]]
local key = "plr-"..plr.UserId
local savedData
local success, err = pcall(function()
savedData = dataStore:GetAsync(key)
end)
if not success then
warn("Failed to save data: "..tostring(err))
return
end
if savedData then
achievement1.Value = savedData.Cash
else
SaveData(plr)
end
end
game.Players.PlayerAdded:Connect(LoadData)
game.Players.PlayerRemoving:Connect(SaveData)
If you can help that would be good. If you need more information ask me what information you need.
Thank you!
Any edits will be here: