Advertisement
David5514

Untitled

Feb 20th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.63 KB | None | 0 0
  1. ----------------------------------------------------------------------------------------
  2. -- Epix Inc. Server Suite --
  3. ----------------------------------------------------------------------------------------
  4. -- Epix Incorporated. Not Everything is so Black and White. --
  5. ----------------------------------------------------------------------------------------
  6.  
  7. local set=require(script.Settings) --This is where to grab settings from.
  8.  
  9. --Settings can be found in the Settings ModuleScript parented to this!
  10. --http://prntscr.com/5n9fv5
  11.  
  12. --[[
  13. ---------------------
  14. -- IMPORTANT --
  15. ---------------------
  16.  
  17. To manually update, simply insert the new Loader script from your inventory,
  18. drag the "Settings" ModuleScript to it, and then remove the old version.
  19.  
  20. Previously known as Kohl's Admin [Epix Edition]
  21.  
  22. For AutoUpdate to work this script's model needs to be in your inventory,
  23. if you got the script from anywhere other than my models the AutoUpdate
  24. will not work due to ROBLOX security nonsense. You can find the model
  25. here: http://www.roblox.com/item.aspx?id=145629584
  26.  
  27. For information about LoadStringEnabled please refer to the following:
  28.  
  29. http://wiki.roblox.com/index.php?title=Security#LoadStringEnabled
  30. http://wiki.roblox.com/index.php?title=Points_tutorial#Restrictions
  31.  
  32. If you want to use the :s command you will need to set LoadStringEnabled
  33. to true. It can be found by going into studio, opening the explorer and properties
  34. windows, clicking on ServerScriptService and under properties checking
  35. LoadStringEnabled. Loadstring is only used in the script for Output and
  36. the scripting command. The script will function fine without it. Currently
  37. :ls and :cs are unusable due to updates that removed loadstring() abilities
  38. from the client, meaning no more local script building in-game.
  39. ------------------------------------------------------------------------
  40. IF THERE ARE NEW SETTINGS YOU WILL NEED TO MANUALLY UPDATE THE SCRIPT TO
  41. CHANGE THEM, THEY WILL OTHERWISE BE LEFT AS THE DEFAULT. (Unless you use :settings)
  42. ------------------------------------------------------------------------
  43. Please carefully read each setting's description BEFORE changing something
  44. as you could break something if you set something the wrong way.
  45. ------------------------------------------------------------------------
  46. Find A security flaw or bug?
  47. Know of a way to detect an exploit or make the AntiExploit better?
  48. Think of a way to make the script better?
  49. Send me a message!
  50.  
  51. ---------------------
  52. -- DISCLAIMER/INFO --
  53. ---------------------
  54.  
  55. Credit:
  56.  
  57. -Kohltastrophe (Scripth) for the original script this was based on and for sharing
  58. some of his ideas and commands, and his continued help and support.
  59.  
  60. -Sceleratis (me <3) for this script.
  61.  
  62. -einsteinK for the original SBL older versions used and his help with some things, legit best scripter I know.
  63.  
  64. -Arlikas for testing nearly anything I ask him to and being the best of help
  65.  
  66. -GigsD4X and the F3X team for the F3X tool, full credit to them. I only made it into a hopperbin for this script.
  67.  
  68. -Drezmor for his resize command. Fixed and edited by Kohltastrophe and myself.
  69.  
  70. -KingKeith55 for the stickify command
  71.  
  72. -Everyone who helped me with testing, suggested new ideas, features, and commands.
  73.  
  74. If you have any questions, need help, or want to contact me you can send
  75. me a Private Message on the main website (roblox.com) via my profile ("Send Message"
  76. under my avatar/character picture.)
  77.  
  78. If you want to support the real Kohltastrophe put the following on your profile:
  79. "Scripth is the real Kohltastrophe. Put this on your profile so people know."
  80.  
  81. Find members of the Epix Incoprorated team and myself from time to time on eKeynet's
  82. twitch stream! http://www.twitch.tv/keynettv
  83.  
  84. ---------------------
  85. -- Tips and Tricks --
  86. ---------------------
  87.  
  88. :kill me,noob1,noob2,!random,%raiders,$123456,!nonadmins,#3,radius-5,friends,-sceleratis
  89. -- 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.
  90. You can also run silent commands using /e, for example:
  91. "/e :kill scel"
  92. *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.
  93.  
  94. You can also use a variety commands for different people;
  95. all -- Everyone in the server
  96. others -- Everyone but you
  97. me -- You
  98. admins -- Admins in the server
  99. nonadmins -- People who are not admins in the server
  100. random -- A random person, this can include you.
  101. friends -- Anyone on your friends list
  102. besties -- Anyone on your best friends list
  103. %TEAMNAME -- Ex: :kill %raiders will kill everyone in team Raiders.
  104. $GROUPID -- Let you run a command anyone in a specific group, if an ID is not given it will use the GroupId setting.
  105. -PLAYERNAME -- Lets you exclude players from commands. :kill !all,-scel will kill everyone but scel
  106. #NUMBER -- Lets you run a command on NUMBER of random people. :ff #5 will ff 5 random players.
  107. 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.
  108.  
  109. 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)
  110. 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
  111. just simply position it where you want in workspace, then make its name Camera: NAMEHERE
  112. so for example: Camera: Cam1
  113. the name is very important as the script will look for it in workspace when the game starts.
  114. make sure you name each camera something diffierent. You can preset waypoints the same way, just use Waypoint: instead of Camera:
  115.  
  116. MESSAGES/HINTS FOR OTHER SCRIPTS:
  117. If you would like to have the hints/messages from this script usable in other SERVER (not local)
  118. scripts, then simply put the follow at the top of your script,
  119.  
  120. message=_G['Message']
  121. hint=_G['Hint']
  122.  
  123. USAGE EXAMPLES:
  124. hint(msg,playerstable) - message(title,msg,playerstable)
  125.  
  126. (Do note that playerstable needs to be a table containing players NOT player names!
  127. Use game:service('Players'):children() to send a message to everyone.)
  128.  
  129. hint('Hello people',game:service('Players'):children()) <=== sends "Hello people" to all players in game
  130. hint('Heyo scel',{game:service('Players').Sceleratis}) <=== Sends "Heyo scel" to the player Sceleratis
  131. message('Server Message','Hello people',game:service('Players'):children()) <=== Makes a message with the title "Server Message" and a message of "Hello people"
  132. message('Message from swagyguy','Heyo celary man',{game:service('Players').Sceleratis}) <=== Works the same as above but only the player Sceleratis sees it
  133.  
  134. --__________________________________________________________________________________--
  135. --__________________________________________________________________________________--
  136. --__________________________________________________________________________________--
  137. --__________________________________________________________________________________--
  138. -- --
  139.  
  140. ___________ .__ .___
  141. \_ _____/_____ |__|__ ___ | | ____ ____
  142. | __)_\____ \| \ \/ / | |/ \_/ ___\
  143. | \ |_> > |> < | | | \ \___
  144. /_______ / __/|__/__/\_ \ |___|___| /\___ > /\
  145. \/|__| \/ \/ \/ \/
  146. --------------------------------------------------------
  147. Epix Incorporated. Not Everything is so Black and White.
  148. --------------------------------------------------------
  149.  
  150.  
  151. _ __ _ _ _ _
  152. | |/ /___| | |_ __ _ __| |_ _ _ ___ _ __| |_ ___
  153. | ' </ _ \ | _/ _` (_-< _| '_/ _ \ '_ \ ' \/ -_)
  154. |_|\_\___/_|\__\__,_/__/\__|_| \___/ .__/_||_\___|
  155. |_|
  156. ______ ______ ______ __ ______ ______ ______ ______ __ ______
  157. /\ ___\/\ ___\/\ ___\/\ \ /\ ___\/\ == \/\ __ \/\__ _/\ \/\ ___\
  158. \ \___ \ \ \___\ \ __\\ \ \___\ \ __\\ \ __<\ \ __ \/_/\ \\ \ \ \___ \
  159. \/\_____\ \_____\ \_____\ \_____\ \_____\ \_\ \_\ \_\ \_\ \ \_\\ \_\/\_____\
  160. \/_____/\/_____/\/_____/\/_____/\/_____/\/_/ /_/\/_/\/_/ \/_/ \/_/\/_____/
  161.  
  162.  
  163. --__________________________________________________________________________________--
  164. --__________________________________________________________________________________-- --
  165. --__________________________________________________________________________________--
  166. --__________________________________________________________________________________--
  167. -- -- ]]
  168.  
  169. --------------------------------------------------------------------------------------
  170. --##################################################################################--
  171.  
  172. --##[ WARNING: Changing anything below could result errors and break the script! ]##--
  173.  
  174. --##################################################################################--
  175.  
  176. --#############[ DO NOT MODIFY UNLESS YOU KNOW WHAT YOU ARE DOING! ]################--
  177.  
  178. --#################[ I WILL NOT HELP YOU IF YOU BREAK SOMETHING! ]##################--
  179.  
  180. --##################################################################################--
  181. --------------------------------------------------------------------------------------
  182.  
  183. --__________________________________________________________________________________--
  184. --__________________________________________________________________________________-- --
  185. --__________________________________________________________________________________--
  186. --__________________________________________________________________________________--
  187. -- -- --
  188. set.Debug=false --//DEBUG
  189.  
  190. --[ Check for Updates ]--
  191. function MainScriptFunction()
  192. if not set.Debug then
  193. script.Parent=game:service('ServerScriptService')
  194. end
  195. local updateCode=script:FindFirstChild("UPDATE_CODE_")
  196. if (updateCode and _G[updateCode.Value]) or _G['Epix Inc. Server Suite Update'] then
  197. local updateTable=_G['Epix Inc. Server Suite Update']
  198. if updateCode then
  199. updateTable=_G[updateCode.Value]
  200. end
  201. local updated,failed=ypcall(function()
  202. print('AutoUpdate: Grabbing update data...')
  203. for i,v in pairs(updateTable) do set[i]=v updateTable[i]=nil end
  204. _G['Epix Inc. Server Suite Update']=nil
  205. if updateCode then
  206. _G[updateCode.Value]=nil
  207. updateCode:Destroy()
  208. end
  209. end)
  210. if failed then
  211. print(script.Name..': AutoUpdate: Update Failed.')
  212. print('Please contact Sceleratis as this may be a bug.')
  213. print('Error: '..failed)
  214. print('If this error persist please check your settings. If needed disable AutoUpdate until the issue is solved.')
  215. end
  216. end
  217. local Plugins={}
  218. for i,v in pairs(script['Plugins']:children()) do
  219. table.insert(Plugins,v)
  220. end
  221. if set.Debug then
  222. print("~=! DEBUG MODE !=~")
  223. set.HelpGui=false
  224. require(script.Parent:FindFirstChild("MainModule"))(set,Plugins)
  225. else
  226. require(set.MainModuleID)(set,Plugins)
  227. end
  228. end
  229.  
  230. set.RunTheScript=function()
  231. local yes,no=ypcall(MainScriptFunction)
  232. if no then
  233. local h=Instance.new('Hint',workspace)
  234. h.Text=no print(no)
  235. end
  236. end
  237. local ok,no=ypcall(function() local k=game:GetService('InsertService'):LoadAsset(set.LoaderID) if k then k:Destroy() end end)
  238. if set['AutoUpdate'] and ok then
  239. local k,n=ypcall(function()
  240. local news=game:GetService('InsertService'):LoadAsset(set.LoaderID):children()[1]
  241. local found=news.Version.Value
  242. local current=script.Version.Value
  243. print('Current version: '..current..' | Found version: '..found)
  244. if found>current then
  245. print('Updating...')
  246. local updateCode = Instance.new("StringValue",news)
  247. updateCode.Name="UPDATE_CODE_"
  248. updateCode.Value=math.random()..math.random()
  249. _G[updateCode.Value]=set
  250. news['Plugins']:Destroy()
  251. script['Plugins']:clone().Parent=news
  252. news.Parent=game:service('ServerScriptService')
  253. script:Destroy()
  254. else
  255. news:Destroy()
  256. set.RunTheScript()
  257. end
  258. end)
  259. if not k or n then
  260. print('AutoUpdate Broke: '..n..' | Skipping update')
  261. set.RunTheScript()
  262. end
  263. else
  264. print("AutoUpdate is Disabled")
  265. set.RunTheScript()
  266. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement