Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ----------------------------------------------------------------------------------------
- -- Epix Inc. Server Suite --
- ----------------------------------------------------------------------------------------
- -- Epix Incorporated. Not Everything is so Black and White. --
- ----------------------------------------------------------------------------------------
- local set=require(script.Settings) --This is where to grab settings from.
- --Settings can be found in the Settings ModuleScript parented to this!
- --http://prntscr.com/5n9fv5
- --[[
- ---------------------
- -- IMPORTANT --
- ---------------------
- To manually update, simply insert the new Loader script from your inventory,
- drag the "Settings" ModuleScript to it, and then remove the old version.
- Previously known as Kohl's Admin [Epix Edition]
- For AutoUpdate to work this script's model needs to be in your inventory,
- if you got the script from anywhere other than my models the AutoUpdate
- will not work due to ROBLOX security nonsense. You can find the model
- here: http://www.roblox.com/item.aspx?id=145629584
- For information about LoadStringEnabled please refer to the following:
- http://wiki.roblox.com/index.php?title=Security#LoadStringEnabled
- http://wiki.roblox.com/index.php?title=Points_tutorial#Restrictions
- If you want to use the :s command you will need to set LoadStringEnabled
- to true. It can be found by going into studio, opening the explorer and properties
- windows, clicking on ServerScriptService and under properties checking
- LoadStringEnabled. Loadstring is only used in the script for Output and
- the scripting command. The script will function fine without it. Currently
- :ls and :cs are unusable due to updates that removed loadstring() abilities
- from the client, meaning no more local script building in-game.
- ------------------------------------------------------------------------
- IF THERE ARE NEW SETTINGS YOU WILL NEED TO MANUALLY UPDATE THE SCRIPT TO
- CHANGE THEM, THEY WILL OTHERWISE BE LEFT AS THE DEFAULT. (Unless you use :settings)
- ------------------------------------------------------------------------
- Please carefully read each setting's description BEFORE changing something
- as you could break something if you set something the wrong way.
- ------------------------------------------------------------------------
- Find A security flaw or bug?
- Know of a way to detect an exploit or make the AntiExploit better?
- Think of a way to make the script better?
- Send me a message!
- ---------------------
- -- DISCLAIMER/INFO --
- ---------------------
- Credit:
- -Kohltastrophe (Scripth) for the original script this was based on and for sharing
- some of his ideas and commands, and his continued help and support.
- -Sceleratis (me <3) for this script.
- -einsteinK for the original SBL older versions used and his help with some things, legit best scripter I know.
- -Arlikas for testing nearly anything I ask him to and being the best of help
- -GigsD4X and the F3X team for the F3X tool, full credit to them. I only made it into a hopperbin for this script.
- -Drezmor for his resize command. Fixed and edited by Kohltastrophe and myself.
- -KingKeith55 for the stickify command
- -Everyone who helped me with testing, suggested new ideas, features, and commands.
- If you have any questions, need help, or want to contact me you can send
- me a Private Message on the main website (roblox.com) via my profile ("Send Message"
- under my avatar/character picture.)
- If you want to support the real Kohltastrophe put the following on your profile:
- "Scripth is the real Kohltastrophe. Put this on your profile so people know."
- Find members of the Epix Incoprorated team and myself from time to time on eKeynet's
- twitch stream! http://www.twitch.tv/keynettv
- ---------------------
- -- Tips and Tricks --
- ---------------------
- :kill me,noob1,noob2,!random,%raiders,$123456,!nonadmins,#3,radius-5,friends,-sceleratis
- -- kills you, noob1, noob2, a random person, team raiders, people in group 123456, nonadmins, 3 random people, anyone within a 5 stud radius of you, friends, and exclude the user Sceleratis.
- You can also run silent commands using /e, for example:
- "/e :kill scel"
- *Note, by silent I just mean people won't see you chat it, it however will still show up in logs. Its better to just use the console.
- You can also use a variety commands for different people;
- all -- Everyone in the server
- others -- Everyone but you
- me -- You
- admins -- Admins in the server
- nonadmins -- People who are not admins in the server
- random -- A random person, this can include you.
- friends -- Anyone on your friends list
- besties -- Anyone on your best friends list
- %TEAMNAME -- Ex: :kill %raiders will kill everyone in team Raiders.
- $GROUPID -- Let you run a command anyone in a specific group, if an ID is not given it will use the GroupId setting.
- -PLAYERNAME -- Lets you exclude players from commands. :kill !all,-scel will kill everyone but scel
- #NUMBER -- Lets you run a command on NUMBER of random people. :ff #5 will ff 5 random players.
- radius-NUMBER -- Lets you run a command on anyone within a NUMBER stud radius of you. :ff radius-5 will ff any player(s) within a 5 stud radius of you.
- If you want to add cameras to your game (like saved into your game so you don't need to use the admin script to spawn them every new server)
- then just make a camera, needs to be a single part, so a sphere, brick, what ever it may be, make sure its anchored and locked
- just simply position it where you want in workspace, then make its name Camera: NAMEHERE
- so for example: Camera: Cam1
- the name is very important as the script will look for it in workspace when the game starts.
- make sure you name each camera something diffierent. You can preset waypoints the same way, just use Waypoint: instead of Camera:
- MESSAGES/HINTS FOR OTHER SCRIPTS:
- If you would like to have the hints/messages from this script usable in other SERVER (not local)
- scripts, then simply put the follow at the top of your script,
- message=_G['Message']
- hint=_G['Hint']
- USAGE EXAMPLES:
- hint(msg,playerstable) - message(title,msg,playerstable)
- (Do note that playerstable needs to be a table containing players NOT player names!
- Use game:service('Players'):children() to send a message to everyone.)
- hint('Hello people',game:service('Players'):children()) <=== sends "Hello people" to all players in game
- hint('Heyo scel',{game:service('Players').Sceleratis}) <=== Sends "Heyo scel" to the player Sceleratis
- message('Server Message','Hello people',game:service('Players'):children()) <=== Makes a message with the title "Server Message" and a message of "Hello people"
- message('Message from swagyguy','Heyo celary man',{game:service('Players').Sceleratis}) <=== Works the same as above but only the player Sceleratis sees it
- --__________________________________________________________________________________--
- --__________________________________________________________________________________--
- --__________________________________________________________________________________--
- --__________________________________________________________________________________--
- -- --
- ___________ .__ .___
- \_ _____/_____ |__|__ ___ | | ____ ____
- | __)_\____ \| \ \/ / | |/ \_/ ___\
- | \ |_> > |> < | | | \ \___
- /_______ / __/|__/__/\_ \ |___|___| /\___ > /\
- \/|__| \/ \/ \/ \/
- --------------------------------------------------------
- Epix Incorporated. Not Everything is so Black and White.
- --------------------------------------------------------
- _ __ _ _ _ _
- | |/ /___| | |_ __ _ __| |_ _ _ ___ _ __| |_ ___
- | ' </ _ \ | _/ _` (_-< _| '_/ _ \ '_ \ ' \/ -_)
- |_|\_\___/_|\__\__,_/__/\__|_| \___/ .__/_||_\___|
- |_|
- ______ ______ ______ __ ______ ______ ______ ______ __ ______
- /\ ___\/\ ___\/\ ___\/\ \ /\ ___\/\ == \/\ __ \/\__ _/\ \/\ ___\
- \ \___ \ \ \___\ \ __\\ \ \___\ \ __\\ \ __<\ \ __ \/_/\ \\ \ \ \___ \
- \/\_____\ \_____\ \_____\ \_____\ \_____\ \_\ \_\ \_\ \_\ \ \_\\ \_\/\_____\
- \/_____/\/_____/\/_____/\/_____/\/_____/\/_/ /_/\/_/\/_/ \/_/ \/_/\/_____/
- --__________________________________________________________________________________--
- --__________________________________________________________________________________-- --
- --__________________________________________________________________________________--
- --__________________________________________________________________________________--
- -- -- ]]
- --------------------------------------------------------------------------------------
- --##################################################################################--
- --##[ WARNING: Changing anything below could result errors and break the script! ]##--
- --##################################################################################--
- --#############[ DO NOT MODIFY UNLESS YOU KNOW WHAT YOU ARE DOING! ]################--
- --#################[ I WILL NOT HELP YOU IF YOU BREAK SOMETHING! ]##################--
- --##################################################################################--
- --------------------------------------------------------------------------------------
- --__________________________________________________________________________________--
- --__________________________________________________________________________________-- --
- --__________________________________________________________________________________--
- --__________________________________________________________________________________--
- -- -- --
- set.Debug=false --//DEBUG
- --[ Check for Updates ]--
- function MainScriptFunction()
- if not set.Debug then
- script.Parent=game:service('ServerScriptService')
- end
- local updateCode=script:FindFirstChild("UPDATE_CODE_")
- if (updateCode and _G[updateCode.Value]) or _G['Epix Inc. Server Suite Update'] then
- local updateTable=_G['Epix Inc. Server Suite Update']
- if updateCode then
- updateTable=_G[updateCode.Value]
- end
- local updated,failed=ypcall(function()
- print('AutoUpdate: Grabbing update data...')
- for i,v in pairs(updateTable) do set[i]=v updateTable[i]=nil end
- _G['Epix Inc. Server Suite Update']=nil
- if updateCode then
- _G[updateCode.Value]=nil
- updateCode:Destroy()
- end
- end)
- if failed then
- print(script.Name..': AutoUpdate: Update Failed.')
- print('Please contact Sceleratis as this may be a bug.')
- print('Error: '..failed)
- print('If this error persist please check your settings. If needed disable AutoUpdate until the issue is solved.')
- end
- end
- local Plugins={}
- for i,v in pairs(script['Plugins']:children()) do
- table.insert(Plugins,v)
- end
- if set.Debug then
- print("~=! DEBUG MODE !=~")
- set.HelpGui=false
- require(script.Parent:FindFirstChild("MainModule"))(set,Plugins)
- else
- require(set.MainModuleID)(set,Plugins)
- end
- end
- set.RunTheScript=function()
- local yes,no=ypcall(MainScriptFunction)
- if no then
- local h=Instance.new('Hint',workspace)
- h.Text=no print(no)
- end
- end
- local ok,no=ypcall(function() local k=game:GetService('InsertService'):LoadAsset(set.LoaderID) if k then k:Destroy() end end)
- if set['AutoUpdate'] and ok then
- local k,n=ypcall(function()
- local news=game:GetService('InsertService'):LoadAsset(set.LoaderID):children()[1]
- local found=news.Version.Value
- local current=script.Version.Value
- print('Current version: '..current..' | Found version: '..found)
- if found>current then
- print('Updating...')
- local updateCode = Instance.new("StringValue",news)
- updateCode.Name="UPDATE_CODE_"
- updateCode.Value=math.random()..math.random()
- _G[updateCode.Value]=set
- news['Plugins']:Destroy()
- script['Plugins']:clone().Parent=news
- news.Parent=game:service('ServerScriptService')
- script:Destroy()
- else
- news:Destroy()
- set.RunTheScript()
- end
- end)
- if not k or n then
- print('AutoUpdate Broke: '..n..' | Skipping update')
- set.RunTheScript()
- end
- else
- print("AutoUpdate is Disabled")
- set.RunTheScript()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement