Dear readers, I'm making a cross-server serverlock, which I would like to control using a datastore and the updated event. My goal is that when a player says ";slock", that the Serverlock Database with Lock as key has been set to "True". I'm an experienced scripter, but I don't really see why I always get the message "Failed to lock servers". This is the script I currently have in ServerScriptService. It triggers when a player joins, then it triggers again when that player chats, and then it checks for his rank if the message is ;slock. To see if it worked, I use a pcall function. Useful to know: There is no output.
local DataStoreService = game:GetService("DataStoreService")
local LockStore = DataStoreService:GetDataStore("ServerLock")
game.Players.PlayerAdded:connect(function(player)
player.Chatted:connect(function(msg)
if player:GetRankInGroup(3809918) >= 14 then
if msg == ";slock" then
local success = pcall(function()
return LockStore:UpdateAsync("Lock", true)
end)
if success then
local msg = Instance.new("Hint")
msg.Text = "Servers locked"
msg.Parent = workspace
else
local msg = Instance.new("Hint")
msg.Text = "Failed to lock servers"
msg.Parent = workspace
end
end
end
end)
end)
Thank you in advance, Jonas (marketmanager1 on roblox)
