This is what i made, set the client side in your current localscript and the client side in the current server script (if u want u can replace all)
-- CLIENT SCRIPT:
local rs = game:GetService("ReplicatedStorage")
local commandEvent = rs:WaitForChild('CmdsPipe')
local target = ""
local cmds = script.Parent:WaitForChild("Commands")
local list = cmds:WaitForChild("List")
local value = cmds:WaitForChild("Value")
local allowedButtons = {
"Me", "All", "Noobs", "Freeze", "Hide", "Jump", "Kill", "Show", "Speed", "TPme", "TPelse", "Trail", "Unfreeze"
}
for _, v in pairs(list:GetDescendants()) do
if v:IsA("TextButton") then
v.MouseButton1Click:Connect(function()
target = v.Name
local selectionColor = Color3.fromRGB(255, 0, 0) --pick the color you want
local defaultColor = Color3.fromRGB(255, 255, 255) --pick the current color
for _, i in pairs(list:GetDescendants()) do
i.BackgroundColor3 = defaultColor
end
v.BackgroundColor3 = selectionColor
end)
end
end
for _, v in pairs(cmds:GetChildren()) do
if v:IsA("TextButton") and table.find(allowedButtons, v.Name) then
v.MouseButton1Click:Connect(function()
if target ~= "" then
local response = commandEvent:InvokeServer(v.Text, target, value.Text)
if response then
print("executed")
end
end
end)
end
end
-- SERVER SCRIPT:
local rs = game:GetService("ReplicatedStorage")
local commandEvent = rs:FindFirstChild('CmdsPipe') or Instance.new("RemoteFunction", rs) commandEvent.Name = 'CmdsPipe'
commandEvent.OnServerInvoke = function(player, command, target, value)
if target then
if target == 'me' then
target = {player}
elseif target == 'all' then
target = game.Players:GetChildren()
elseif target == 'noobs' then
target = game.Players:GetChildren()
for _, admin in pairs(game.ReplicatedStorage.Admins:GetChildren()) do
for pos, plr in pairs(game.Players:GetChildren()) do
if admin.Name == plr.Name then
table.remove(target, pos)
end
end
end
else
local Tplayer = game.Players:FindFirstChild(target)
if Tplayer then
target = {Tplayer}
else
return false
end
end
end
if command then
local cmd = command:lower()
if cmd == "kill" then
for _, v in pairs(target) do
local char = v.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then
hum.Health = 0
end
end
end
return true
elseif cmd == "freeze" then
for _, v in pairs(target) do
local char = v.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then
hum.WalkSpeed = 0
hum.JumpPower = 0
end
end
end
return true
elseif cmd == "unfreeze" then
for _, v in pairs(target) do
local char = v.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then
hum.WalkSpeed = 16
hum.JumpPower = 50
end
end
end
return true
elseif cmd == "hide" then
for _, v in pairs(target) do
local char = v.Character
if char then
for _, limb in pairs(char:GetChildren()) do
if limb:IsA('BasePart') then
limb.Transparency = 1
if limb.Name == 'Head' then
limb.face.Transparency = 1
end
elseif limb:IsA('Accessory') then
limb.Handle.Transparency = 1
end
end
end
end
return true
elseif cmd == "show" then
for _, v in pairs(target) do
local char = v.Character
if char then
for _, limb in pairs(char:GetChildren()) do
if limb:IsA('BasePart') and limb.Name ~= 'HumanoidRootPart' then
limb.Transparency = 0
if limb.Name == 'Head' then
limb.face.Transparency = 0
end
elseif limb:IsA('Accessory') then
limb.Handle.Transparency = 0
end
end
end
end
return true
elseif cmd == "speed" then
local val = tonumber(value)
if val then
for _, v in pairs(target) do
local char = v.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then
hum.WalkSpeed = val
end
end
end
end
return true
elseif cmd == "jump" then
local val = tonumber(value)
if val then
for _, v in pairs(target) do
local char = v.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then
hum.JumpPower = val
end
end
end
end
return true
elseif cmd == "trail" then
for _, v in pairs(target) do
local char = v.Character
if char then
local trail = char:FindFirstChild('Trail')
if not trail then
local newTrail = Instance.new('Trail')
newTrail.Parent = char
newTrail.Attachment0 = char.HumanoidRootPart.RootRigAttachment
newTrail.Attachment1 = char.Head.NeckRigAttachment
newTrail.Color = ColorSequence.new(Color3.fromRGB(255, 0, 255), Color3.fromRGB(0,255,0))
else
trail:Destroy()
end
end
end
return true
elseif cmd == "tpelse" then
for _, v in pairs(target) do
local adminChar = player.Character
local char = v.Character
if char and adminChar then
adminChar.HumanoidRootPart.CFrame = char.HumanoidRootPart.CFrame
end
end
return true
elseif cmd == "tpme" then
for _, v in pairs(target) do
local adminChar = player.Character
local char = v.Character
if char and adminChar then
char.HumanoidRootPart.CFrame = adminChar.HumanoidRootPart.CFrame
end
end
return true
else
return false
end
end
end
if i dont reply soon, im away