Hi i am trying to access data that is being stored in leaderstats by another script.
I have a script that writes Exp as a number value to the leaderstats and that is working ok.
I am then trying to access that number to obtain which rank to assign a play.
it seems to access the leaderstat data but with the value as 2 it should assign my rank as private but it is assigning me corporal for some reason.
It is most likely something simple but i am new to Lua and have pulled information from several scripts to write this.
Any ideas??
local Players = game:GetService("Players")
local ExpDataStore = game:GetService("DataStoreService"):GetDataStore("Exp")
local RankGui = game:GetService("ServerStorage"):WaitForChild("RankGui")
local function onPlayerAdded(player)
local playerKey = "Player_" .. player.UserId
local leaderstats = player:WaitForChild('leaderstats')
leaderstats.Name = "leaderstats"
local myExp
local success, err = pcall(function()
myExp = ExpDataStore:GetAsync(playerKey)
end)
if success then
print ("Experience Data Found")
--Private
if myExp >= 1 then -- Set the number to your group ID !
print("Private")
local clonedgui = RankGui:Clone()
clonedgui.TextLabel.Text = "Private"
clonedgui.TextLabel.TextColor3 = Color3.fromRGB(36,154,136)
--clonedgui.Parent = character.Head
clonedgui.Parent = game.Workspace:WaitForChild(player.Name).Head -- Yes, you can also just say character.Head
end
--Lance Corporal
if myExp >= 50 then -- Set the number to your group ID !
local clonedgui = player.Character.Head:FindFirstChild("RankGui")
print("Lance Corporal")
--local clonedgui = RankGui:Clone()
clonedgui.TextLabel.Text = "Lance Corporal"
end
--Corporal
if myExp >= 150 then -- Set the number to your group ID !
local clonedgui = player.Character.Head:FindFirstChild("RankGui")
print("Corporal")
--local clonedgui = RankGui:Clone()
clonedgui.TextLabel.Text = "Corporal"
end
--Sergeant
if myExp >= 300 then -- Set the number to your group ID !
local clonedgui = player.Character.Head:FindFirstChild("RankGui")
print("Sergeant")
--local clonedgui = RankGui:Clone()
clonedgui.TextLabel.Text = "Sergeant"
end
--Staff Sergeant
if myExp >= 500 then -- Set the number to your group ID !
local clonedgui = player.Character.Head:FindFirstChild("RankGui")
print("Staff Sergeant")
--local clonedgui = RankGui:Clone()
clonedgui.TextLabel.Text = "Staff Sergeant"
end
--Warrant Officer Class 2
if myExp >= 1000 then -- Set the number to your group ID !
local clonedgui = player.Character.Head:FindFirstChild("RankGui")
print("Warrant Officer Class 2")
--local clonedgui = RankGui:Clone()
clonedgui.TextLabel.Text = "WO2"
end
--Warrant Officer Class 1
if myExp >= 2500 then -- Set the number to your group ID !
local clonedgui = player.Character.Head:FindFirstChild("RankGui")
print("Warrant Officer Class 1")
--local clonedgui = RankGui:Clone()
clonedgui.TextLabel.Text = "WO1"
end
else
-- Failed to retrieve data
end
leaderstats.Parent = player
end
for _, player in pairs(Players:GetPlayers()) do
onPlayerAdded(player)
end
Players.PlayerAdded:Connect(onPlayerAdded)
