Hello, Ok so i would like to make a custom admin command Script for my school. I want it to be set that you get admin if in the group but at a rank and a Rank tp to the rooms but the spot that you tp to changes depending on what class you should be in. I wan to be able to kick and ban and give tools. I just want a custom admin command that has useful things for a roleplay group in a way. Any advice or templates to go from? Thank You!
Open Source Admin
https://kobra.io/#/e/-JzHM-drJKOTDXZ3S6qs
script from this link ^
--[[ Project: AdminC Framework[Open Source] Lead Developer: devSeldom Contributers: PreyStar, LegitimatlyMe Awesome people: ScriptGuider, duckyo01 (But mostely ScriptGuider) Special thanks to: ScriptGuider for being awesome Progresion: 80% needs more commands adding types of Groups and acronymns Description: AdminC Framework is an open source administrative framework which impowers users to create administrator rights efficiently and effortlessly. Distributed by devSeldom and affilitates --]] --Settings local Settings = { Admins = {"devSeldom", "YellowTide", "duckyo01"}, -- first level Moderators = {"Name"}, -- 2nd level AdminsOnline = {}, ModsOnline = {}, FireKey = ";", BanList = {"Name"}, Log = {}, } local macros = { {"all", function() local players = {} for i,v in pairs(game.Players:GetChildren()) do if v.ClassName == "Player" then table.Insert(players,v) end end return players end}, {"me",function(player) if game.Players:FindFirstChild(player) then return game.Players:FindFirstChild(player) end end}, {"random", function() local players = {} for i,v in pairs(game.Players:GetChildren()) do if v.ClassName == "Player" then table.Insert(players,v) end end return players[math.random(1,#players)] end} } local Commands = { -- 3 variables 1. Name 2. Groups Expected 3.function {"kill", ListExpected = 1, function(list) group1 = list[1] for i,player in pairs(group1) do if v.Character then v.Character.Humanoid.Health = 0 end end end} } --[[ WARNING DO NOT EDIT ANYTHING UNDER THIS LINE AS IT CAN BREAK THE ADMIN SCRIPT ONLY EDIT IF YOU KNOW WHAT YOU ARE DOING --]] --Compares string to a table local checkstringtable = function(tab,check) for i,v in pairs(tab) do if string.lower(v) == check:lower() then return true end end end function tableremove(table,obj) for i,v in pairs(table) do if v == obj then table.remove(table,i) break end end end --Fired by chat function commandcheck(msg,sender) --Logs The Command local commandString = " Commanded("..tostring(game.Workspace.DistributedGameTime/60).." minutes ago) " print(sender.Name..commandString..msg) table.Insert(Settings.Log, sender.Name..commandString..msg) --Variables local words = {} local lists = 0 local liststabs = {} --Seperates words by space for word in text:gmatch("[^" .." ".. "]+") do table.insert(words, word) end --Number of groups of people lists = #words-1 --Makes words lower for i,v in pairs(words) do v = v:lower() end -- Seperates groups into a table for the groups for i=1,lists do namelist = {} for name in text:gmatch("[^" ..",".. "]+") do -- seperates names by a , table.insert(namelist, word) end table.insert(liststabs,namelist) end -- Replaces the list made with players and removes ones that dont match for i = 1, lists do for i,name in pairs(liststabs[i]) do local namefound = false for i,player in pairs(game.Players:GetChildren()) do if name:lower() == player.Name:sub(1,name:len()) then namefound = true name = player end end if namefound == false then tableremove(liststabs[i],name) end end end --Fires for i,v in pairs(Commands) do if v[1]:lower() == words[1]:sub(2,words[1]:len()):lower() and lists >= v[2] then v[3](liststabs) end end end game.Players.PlayerAdded:connect(function(player) --Checks settings if they are mods admincheck = checkstringtable(Settings.Admins,player.Name) modcheck = checkstringtable(Settings.Moderators,player.Name) --Adds player to mod table if modcheck == true then table.insert(Settings.ModsOnline,player.Name) end --Adds player to Admin table if admincheck == true then table.insert(Settings.AdminsOnline, 1, player.Name) print("amdin") end --Removes player from mod table if the player is in admin table if modcheck == true and admincheck == true then tableremove(Settings.ModsOnline,player.Name) table.insert(Settings.Admins,player.Name) end --Fires if FireKey is present player.Chatted:connect(msg, player) if admincheck == true or modcheck == true and msg:sub(1,1) == Settings.FireKey then commandcheck(msg,player) end end) game.Players.PlayerRemoved:connect(function(player) --Checks if player leaving is in any online tables local adminonline = checkstringtable(Settings.AdminsOnline,player.Name) local modonline = checkstringtable(Settings.ModsOnline,player.Name) --Removes from AdminsOnline table if they're in it if adminonline == true then tableremove(Settings.AdminsOnline,player.Name) print("Admin") while true do end print(player.Name.." admin left") end --Removes from ModsOnline table if they're in it if modonline == true then tableremove(Settings.ModsOnline,player.Name) print(player.Name.." mod left") print("Admin") end end)
Closed as Not Constructive by YellowoTide, minikitkat, ChemicalHex, and M39a9am3R
This question has been closed because it is not constructive to others or the asker. Most commonly, questions that are requests with no attempt from the asker to solve their problem will fall into this category.
Why was this question closed?