For some reason my datastore is returning " " and I keep getting errors about an attempt to compare a string with a number.
Code:
local DSS = game:GetService("DataStoreService")
ArrestDS = DSS:GetDataStore("Arrest")
game.Players.PlayerAdded:Connect(function(plr)
local plra = Instance.new("StringValue")
plra.Name = plr.Name
plra.Parent = script.Folder
local Time = ArrestDS:GetAsync(plr.Name .. ":" .. plr.UserId)
print(Time)
if Time == " " or Time == nil or Time == "" then
ArrestDS:SetAsync(plr.Name .. ":" .. plr.UserId, tonumber(0))
elseif Time > 0 then
local jailgui = script.JailUI:Clone()
jailgui.Parent = plr.PlayerGui
plr.TeamColor = BrickColor.new("Magenta")
end
end)
game.ReplicatedStorage.Cuffs.OnServerEvent:Connect(function(plr, otherplr, state, arresttime)
if state == "Cuff" then
script.Folder:FindFirstChild(plr.Name).Value = otherplr
cuff(plr, otherplr)
elseif state == "Uncuff" then
script.Folder:FindFirstChild(plr.Name).Value = ""
uncuff(plr, otherplr)
end
if state == "Arrest" then
local jailgui = script.JailUI:Clone()
jailgui.Parent = game.Players[otherplr].PlayerGui
game.Players[otherplr].TeamColor = BrickColor.new("Magenta")
ArrestDS:SetAsync(otherplr .. ":" .. game.Players[otherplr].UserId, arresttime)
while wait(1) do
local success = pcall(function()
return ArrestDS:IncrementAsync(otherplr .. ":" .. game.Players[otherplr].UserId, -1)
end)
print(ArrestDS:GetAsync(otherplr .. ":" .. game.Players[otherplr].UserId))
end
end
end)
function cuff(plr,otherplr)
game.Workspace[otherplr].Torso.Anchored = true
game.Workspace[otherplr].Torso.CanCollide = false
game.Workspace[otherplr].Head.CanCollide = false
game.Workspace[otherplr].Torso.Anchored = false
while script.Folder:FindFirstChild(plr.Name).Value == otherplr do
wait(0.00000001)
game.Workspace[otherplr].Torso.CFrame = game.Workspace[plr.Name].Torso.CFrame * CFrame.new(0,0,-2.5)
end
end
function uncuff(plr,otherplr)
game.Workspace[otherplr].Torso.CanCollide = true
game.Workspace[otherplr].Head.CanCollide = true
end

3 comments
You should not be saving data each time OnServerEvent is fired. Save data when it is needed
How are you triggering the event? Can you include the local script code.
This is happening because the variable "Time" is a string. On line 11, you are comparing a string (time) with a number (zero)