so im making admin commands for my game but the script doesnt work. i tried doing different things but it wont work.
script:
--//Rank Command
if message:sub(1, 6) == "-rank " then
local TargetPlayer = game.Players:FindFirstChild(message:sub(7))
if TargetPlayer then
local Rank
if message:sub(11, 34) == "Admin" then
table.insert(Admins,1,TargetPlayer.Name)
Rank="Admin"
if message:sub(11, 36) == "Builder" then
table.insert(Builders,1,TargetPlayer.Name)
Rank="Builder"
TargetPlayer:Kick("You've been ranked to "..Rank)
end
end
end
full script:
--//Admin Commands Script
--//Variables\\--
local DataStore = game:GetService("DataStoreService")
local BanList = DataStore:GetDataStore("BanList")
local Owners = {"omgdodogamer",}
local Admins = {"omgdodogamer",}
local Builders = {"omgdodogamer",}
--//Events\\--
game.Players.PlayerAdded:Connect(function(Player)
local Folder = Instance.new("Folder", Player)
Folder.Name = "PlayerValues"
local BanCheck = Instance.new("BoolValue", Folder)
BanCheck.Name = "IsBanned"
BanCheck.Value = BanList:GetAsync(Player.userId) or false --//False is default if no save for the player
--//Checks if the player is banned or not
if Player.PlayerValues.IsBanned.Value == true then
Player:Kick("You are banned from this game") --//Reason for kick
end
Player.Chatted:connect(function(message)
for i, OwnerName in ipairs(Owners) do
if Player.Name == OwnerName then
--OwnerCommands
--//Kill Command
if message:sub(1, 6) == "-kill " then
local TargetPlayer = game.Players:FindFirstChild(message:sub(7))
if TargetPlayer then
local Character = TargetPlayer.Character
if Character then
Character.Humanoid.Health = 0
end
end
end
--//Explode Command
if message:sub(1, 9) == "-explode " then
local TargetPlayer = game.Players:FindFirstChild(message:sub(10))
if TargetPlayer then
local Character = TargetPlayer.Character
if Character then
local ex = Instance.new("Explosion", game.Workspace)
ex.Position = Character.Head.Position
end
end
end
--//Kick Command
if message:sub(1, 6) == "-kick " then
local TargetPlayer = game.Players:FindFirstChild(message:sub(7))
if TargetPlayer then
TargetPlayer:Kick("You have been kicked by " .. Player.Name) --//Kick message/reason
end
end
--//Ban Command
if message:sub(1, 5) == "-ban " then
local TargetPlayer = game.Players:FindFirstChild(message:sub(6))
if TargetPlayer then
local BanCheck = TargetPlayer.PlayerValues.IsBanned
if BanCheck then
BanCheck.Value = true
BanList:SetAsync(TargetPlayer.userId, true)
end
TargetPlayer:Kick("You've been banned by " .. Player.Name) --//Reason || Message
end
end
--//Unban Command
if message:sub(1, 7) == "-unban " then --//USES ID NOT NAME
local UserId = tonumber(message:sub(8))
if UserId then
BanList:SetAsync(UserId, false)
end
end
--//Rank Command
if message:sub(1, 6) == "-rank " then
local TargetPlayer = game.Players:FindFirstChild(message:sub(7))
if TargetPlayer then
local Rank
if message:sub(11, 34) == "Admin" then
table.insert(Admins,1,TargetPlayer.Name)
Rank="Admin"
if message:sub(11, 36) == "Builder" then
table.insert(Builders,1,TargetPlayer.Name)
Rank="Builder"
TargetPlayer:Kick("You've been ranked to "..Rank)
end
end
end
--//Unrank Command
if message:sub(1, 8) == "-unrank " then
end
end
end
end
end)
Player.Chatted:connect(function(message)
for i, AdminName in ipairs(Admins) do
if Player.Name == AdminName then
--AdminCommands
--//Kill Command
if message:sub(1, 6) == "-kill " then
local TargetPlayer = game.Players:FindFirstChild(message:sub(7))
if TargetPlayer then
local Character = TargetPlayer.Character
if Character then
Character.Humanoid.Health = 0
end
end
end
--//Explode Command
if message:sub(1, 9) == "-explode " then
local TargetPlayer = game.Players:FindFirstChild(message:sub(10))
if TargetPlayer then
local Character = TargetPlayer.Character
if Character then
local ex = Instance.new("Explosion", game.Workspace)
ex.Position = Character.Head.Position
end
end
end
--//Kick Command
if message:sub(1, 6) == "-kick " then
local TargetPlayer = game.Players:FindFirstChild(message:sub(7))
if TargetPlayer then
TargetPlayer:Kick("You have been kicked by " .. Player.Name) --//Kick message/reason
end
end
--//Ban Command
if message:sub(1, 5) == "-ban " then
local TargetPlayer = game.Players:FindFirstChild(message:sub(6))
if TargetPlayer then
local BanCheck = TargetPlayer.PlayerValues.IsBanned
if BanCheck then
BanCheck.Value = true
BanList:SetAsync(TargetPlayer.userId, true)
end
TargetPlayer:Kick("You've been banned by " .. Player.Name) --//Reason || Message
end
end
--//Unban Command
if message:sub(1, 7) == "-unban " then --//USES ID NOT NAME
local UserId = tonumber(message:sub(8))
if UserId then
BanList:SetAsync(UserId, false)
end
end
end
end
end)
Player.Chatted:connect(function(message)
for i, BuilderName in ipairs(Builders) do
if Player.Name == BuilderName then
--BuilderCommands
end
end
end)
end)
i am pretty new to scripting so you could find mistakes.
