Advertisement
Guest User

cayden script

a guest
Jan 9th, 2020
3,434
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 39.46 KB | None | 0 0
  1. --[[
  2.  
  3. DEVELOPMENT MOVED!
  4.  
  5. NEW LOADER:
  6. https://www.roblox.com/library/2373505175/Adonis-Loader-BETA
  7.  
  8.  
  9. --]]
  10.  
  11.  
  12.  
  13.  
  14. ----------------------------------------------------------------------------------------
  15. -- Adonis Loader --
  16. ----------------------------------------------------------------------------------------
  17. -- Epix Incorporated. Not Everything is so Black and White. --
  18. ----------------------------------------------------------------------------------------
  19. -- Edit settings in-game or using the settings module in the Config folder --
  20. ----------------------------------------------------------------------------------------
  21. -- This is not designed to work in solo mode --
  22. ----------------------------------------------------------------------------------------
  23.  
  24. if _G["__Adonis_MUTEX"] and type(_G["__Adonis_MUTEX"])=="string" then
  25. warn("\n-----------------------------------------------"
  26. .."\nAdonis is already running! Aborting..."
  27. .."\nRunning Location: ".._G["__Adonis_MUTEX"]
  28. .."\nThis Location: "..script:GetFullName()
  29. .."\n-----------------------------------------------")
  30. script:Destroy()
  31. else
  32. _G["__Adonis_MUTEX"] = script:GetFullName()
  33.  
  34. local model = script.Parent.Parent
  35. local config = model.Config
  36. local core = model.Loader
  37.  
  38. local dropper = core.Dropper
  39. local loader = core.Loader
  40. local runner = script
  41.  
  42. local settings = config.Settings
  43. local plugins = config.Plugins
  44. local themes = config.Themes
  45.  
  46. local backup = model:Clone()
  47. local pEvent
  48.  
  49. local data = {
  50. Settings = {};
  51. Descriptions = {};
  52. ServerPlugins = {};
  53. ClientPlugins = {};
  54. Themes = {};
  55.  
  56. Model = model;
  57. Config = config;
  58. Core = core;
  59.  
  60. Loader = loader;
  61. Dopper = dropper;
  62. Runner = runner;
  63.  
  64. ModuleID = 2373501710;
  65. LoaderID = 2373505175;
  66.  
  67. DebugMode = false;
  68. }
  69.  
  70. --// Init
  71. script:Destroy()
  72. model.Name = math.random()
  73. local moduleId = data.ModuleID
  74. local a,setTab = pcall(require,settings)
  75. if not a then
  76. warn'::Adonis:: Settings module errored while loading; Using defaults;'
  77. setTab = {}
  78. end
  79. data.Settings, data.Descriptions, data.Order = setTab.Settings,setTab.Descriptions,setTab.Order
  80. for _,Plugin in next,plugins:GetChildren()do if Plugin.Name:sub(1,8)=="Client: " then table.insert(data.ClientPlugins,Plugin) elseif Plugin.Name:sub(1,8)=="Server: " then table.insert(data.ServerPlugins,Plugin) else warn("Unknown Plugin Type for "..tostring(Plugin)) end end
  81. for _,Theme in next,themes:GetChildren()do table.insert(data.Themes,Theme) end
  82. if data.DebugMode then moduleId = model.Parent.MainModule end
  83. local module = require(moduleId)
  84. local response = module(data)
  85. if response == "SUCCESS" then
  86. if (data.Settings and data.Settings.HideScript) and not data.DebugMode then
  87. model.Parent = nil
  88. game:BindToClose(function() model.Parent = game:GetService("ServerScriptService") model.Name = "Adonis_Loader" end)
  89. end
  90. model.Name = "Adonis_Loader"
  91. else
  92. error("MainModule failed to load")
  93. end
  94. end
  95.  
  96. --[[
  97. --___________________________________________________________________________________________--
  98. --___________________________________________________________________________________________--
  99. --___________________________________________________________________________________________--
  100. --___________________________________________________________________________________________--
  101.  
  102. ___________ .__ .___
  103. \_ _____/_____ |__|__ ___ | | ____ ____
  104. | __)_\____ \| \ \/ / | |/ \_/ ___\
  105. | \ |_> > |> < | | | \ \___
  106. /_______ / __/|__/__/\_ \ |___|___| /\___ > /\
  107. \/|__| \/ \/ \/ \/
  108. --------------------------------------------------------
  109. Epix Incorporated. Not Everything is so Black and White.
  110. --------------------------------------------------------
  111.  
  112. --___________________________________________________________________________________________--
  113. --___________________________________________________________________________________________--
  114. --___________________________________________________________________________________________--
  115. --___________________________________________________________________________________________--
  116. --]]
  117.  
  118.  
  119.  
  120.  
  121. --[[
  122. Clone and drop the loader so it can hide in nil.
  123. --]]
  124.  
  125. local loader = script.Parent.Loader:clone()
  126. loader.Parent = script.Parent
  127. loader.Name = "\0"
  128. loader.Archivable = false
  129. loader.Disabled = false
  130.  
  131. --[[
  132. SERVER PLUGINS' NAMES MUST START WITH "Server: "
  133. CLIENT PLUGINS' NAMES MUST START WITH "Client: "
  134.  
  135. Plugins have full access to the server/client tables and most variables.
  136.  
  137. You can use the MakePluginEvent to use the script instead of setting up an event.
  138. PlayerChatted will get chats from the custom chat and nil players.
  139. PlayerJoined will fire after the player finishes initial loading
  140. CharacterAdded will also fire after the player is loaded, it does not use the CharacterAdded event.
  141.  
  142. service.HookEvent('PlayerChatted',function(msg,plr)
  143. print(msg..' from '..plr.Name..' Example Plugin')
  144. end)
  145.  
  146. service.HookEvent('PlayerJoined',function(p)
  147. print(p.Name..' Joined! Example Plugin')
  148. end)
  149.  
  150. service.HookEvent('CharacterAdded',function(plr)
  151. server.RunCommand('name',plr.Name,'BobTest Example Plugin')
  152. end)
  153.  
  154. --]]
  155.  
  156. server = nil -- Mutes warnings about unknown globals
  157. service = nil
  158. return function()
  159. server.Commands.ExampleCommand = {
  160. Prefix = server.Settings.Prefix; -- Prefix to use for command
  161. Commands = {"example"}; -- Commands
  162. Args = {"arg1"}; -- Command arguments
  163. Description = "Example command"; -- Command Description
  164. Hidden = true; -- Is it hidden from the command list?
  165. Fun = false; -- Is it fun?
  166. AdminLevel = "Players"; -- Admin level; If using settings.CustomRanks set this to the custom rank name (eg. "Baristas")
  167. Function = function(plr,args) -- Function to run for command
  168. print("HELLO WORLD FROM AN EXAMPLE COMMAND :)")
  169. print("Player supplied args[1] "..tostring(args[1]))
  170. end
  171. }
  172. end
  173. --[[
  174. --// INCOMPLETE; WILL FINISH LATER
  175.  
  176. Adonis API Documentation for developers
  177.  
  178. Require:
  179. Adonis' MainModule can be loaded by using require(359948692)()
  180. - This allows you to require the module via the console and test things per server
  181. without having to add the loader and save the game;
  182. - If you want to edit things like settings, themes, or plugins you can do the following:
  183. local data = {
  184. Settings = {
  185. Admins = {"SomeGuy"}
  186. };
  187. Themes = {
  188. game.Workspace.ThemeFolder1;
  189. game.Workspace.ThemeFolder2;
  190. };
  191. Plugins = {
  192. game.Workspace.Plugin1;
  193. game.Workspace.Plugin2;
  194. }
  195. require(359948692)(data)
  196.  
  197. - The MainModule will use a set of default settings for any setting not provided
  198.  
  199.  
  200. _G.Adonis:
  201. Read-only table in _G that can be used to access certain things in Adonis from other server scripts
  202.  
  203. Functions:
  204. _G.Adonis.Access(accessKey, serverSubTable)
  205. - Returns a read-only version of a server subtable; allowing you to use all of it's functions
  206. - Settings can be changed in the Settings module for what to allow access to and to change if scripts can read/write
  207.  
  208. _G.Adonis.CheckAdmin(player)
  209. - Returns true if the player is an Adonis admin
  210.  
  211. _G.Adonis.GetLevel(player)
  212. - Returns a player's admin level
  213. - Levels:
  214. 0 - Player
  215. 1 - Moderator
  216. 2 - Admin
  217. 3 - Owner
  218. 4 - Creators (basically place owners)
  219. 5 - Place owner (the person who actually owns the place)
  220.  
  221. _G.Adonis.CheckDonor(player)
  222. - Returns true if the player is an Adonis donor
  223.  
  224. _G.Adonis.CheckAgent(player)
  225. - Returns true if the player is a Trello agent
  226.  
  227. _G.Adonis.SetLighting(property, value)
  228. - Sets the lighting property for the server and all clients
  229. - Mainly used for local lighting to update all clients
  230.  
  231. _G.Adonis.SetPlayerLighting(player, property, value)
  232. - Sets the lighting property for a specific player
  233. - Requires LocalLighting be enabled in settings in order to workspace
  234.  
  235. _G.Adonis.NewParticle(part, type, properties)
  236. - Lets you create local particles on the target part with properties defined in the properties table
  237. - Type can be any classname that is place into a brick and has the .Enabled property
  238. - Part must be a weldable part
  239. _G.Adonis.RemoveParticle(part, name)
  240. - Removes local particles named <name> for all players from <part>
  241.  
  242. _G.Adonis.NewLocal(player, type, properties, newParent)
  243. - Creates Instance.new(type) with properties <properties table>
  244. in local parent newParent for player
  245. - newParents: "Camera", "LocalContainer", "PlayerGui"
  246. - Defaults to LocalContainer if no parent is given
  247.  
  248. _G.Adonis.MakeLocal(player, object, newParent)
  249. - Localizes object for player by moving it to newParent (a local container)
  250. - newParents: "Camera", "LocalContainer", "PlayerGui"
  251. - Defaults to LocalContainer if no parent is given
  252.  
  253. _G.Adonis.MoveLocal(player, object, oldParent, newParent)
  254. - Same as MakeLocal except moves an existing local based on name/object provided
  255.  
  256. _G.Adonis.RemoveLocal(player, object, oldParent)
  257. - Finds and removes object from oldParent (a local container)
  258. for player
  259.  
  260.  
  261. Service:
  262. Metatable used to access ROBLOX services and some utility functions
  263. For example: service.Players
  264.  
  265. Extra functions:
  266. service.Delete(object)
  267. - Uses service.Debris to delete an object; Works on some RobloxLocked objects
  268.  
  269. service.HookEvent(eventName, function)
  270. - Hooks events fired by service.FireEvent; Useful for running PlayerAdded after the admin finishes loading them
  271. - Returns a table conaining the UnHook() function to "unhook" the event
  272.  
  273. service.FireEvent(eventName, params)
  274. - Fires all functions for a specific event added by service.HookEvent
  275.  
  276. service.StartLoop(loopName, delay, function)
  277. - Starts an infinite loop that can be stopped using service.StopLoop(loopName)
  278. - Delay accepts a number, "Heartbeat", or "Stepped"
  279.  
  280. service.StopLoop(loopName)
  281. - Stops a loop started by service.StartLoop
  282.  
  283. service.ReadOnly(table)
  284. - Returns a read-only version of the table supplied to it
  285.  
  286. service.GetPlayers(commandPlayer, nameString, dontError, isServer)
  287. - Finds players via their name/modifiers provided in nameString
  288. - If no args are given it will return a list of all players connected to the server, not just in game.Players
  289.  
  290. Events:
  291. service.Events.eventName
  292. - Returns a table containing :connect and :disconnect
  293. - Basically the same as service.HookEvent but more like a ROBLOX event
  294.  
  295. Event List:
  296. PlayerAdded
  297. - Runs after Adonis client finishes loading
  298. - Returns player
  299.  
  300. PlayerRemoving
  301. - Fired when a player leaves
  302. - Returns player
  303.  
  304. NetworkAdded
  305. - Fired when a new NetworkClient appears
  306. - Returns NetworkClient
  307.  
  308. NetworkRemoved
  309. - Fired when a NetworkClient is removed
  310. - Returns NetworkClient
  311.  
  312. PlayerChatted
  313. - Fired when player chats; Works with anything that fires server.Process.Chat; Including Adonis' custom chat
  314. - Returns player, msg
  315.  
  316. CharacterAdded
  317. - Fired when character loads; Does not use player.CharacterAdded
  318. - Returns player
  319.  
  320. ErrorMessage
  321. - Fired when an error is found
  322. - Returns message, trace, script
  323.  
  324. Output
  325. - Fired when anything prints
  326. - Returns message, type
  327.  
  328. CommandRan
  329. - Fired when a command is ran
  330. - Returns msg, command, args, table, index, ran, error
  331.  
  332. - msg is the message the player chatted
  333. - command is the command pulled from msg
  334. - args is a table containing supplied command arguments
  335. - table is the command table
  336. - index is it's position in server.Commands
  337. - ran returns true is the command ran successfully
  338. - error returns any errors from the command function
  339.  
  340. Server:
  341. Main script table containing most of the functions and variables used by the admin
  342.  
  343. Subtables:
  344. Logs
  345. Variables
  346. Core
  347. Remote
  348. Anti
  349. Functions
  350.  
  351.  
  352. --]]
  353. local settings = {}
  354. local descs = {}
  355.  
  356.  
  357. --------------
  358. -- SETTINGS --
  359. --------------
  360. --[[
  361.  
  362. --// Basic Lua Info
  363.  
  364. This is only here to help you when editing settings so you understand how they work
  365. and don't break something.
  366.  
  367. Anything that looks like setting = {} is known as a table.
  368. Tables contain things; like the Lua version of a box.
  369. An example of a table would be setting = {"John","Mary","Bill"}
  370. You can have tables inside of tables, such in the case of setting = {{Group=1234,Rank=123,Type="Admin"}}
  371. Just like real boxes, tables can contain pretty much anything including other tables.
  372.  
  373. Anything that looks like "Bob" is what's known as a string. Strings
  374. are basically plain text; setting = "Bob" would be correct however
  375. setting = Bob would not; because if it's not surrounded by quotes Lua will think
  376. that Bob is a variable; Quotes indicate something is a string and therefor not a variable/number/code
  377.  
  378. Numbers do not use quotes. setting = 56
  379.  
  380. This green block of text you are reading is called a comment. It's like a message
  381. from the programmer to anyone who reads their stuff. Anything in a comment will
  382. not be seen by Lua.
  383.  
  384. Incase you don't know what Lua is; Lua is the scripting language ROBLOX uses...
  385. so every script you see (such as this one) and pretty much any code on ROBLOX is
  386. written in Lua.
  387.  
  388.  
  389.  
  390.  
  391. --// Settings [READ IF CONFUSED]
  392.  
  393. If you see something like "Format: 'Username:UserId'" it means that anything you put
  394. in that table must follow one of the formats next to Format:
  395.  
  396. For instance if I wanted to give admin to a player using their username, userid, a group they are in
  397. or an item they own I would do the following with the settings.Admins table:
  398.  
  399. The format for the Admins' table's entries is "Username"; or "Username:UserId"; or UserId; or "Group:GroupId:GroupRank" or "Item:ItemID"
  400. This means that if I want to admin Bobjenkins123 who has a userId of 1234567, is in
  401. group "BobFans" (group ID 7463213) under the rank number 234, or owns the item belonging to ID 1237465
  402. I can do any of the following:
  403.  
  404. settings.Admins = {"Bobjenkins123","Bobjenkins123:1234567",1234567,"Group:BobFans:7463213:234","Item:1237465"}
  405.  
  406.  
  407. If I wanted to make it so rank 134 in group 1029934 and BobJenkins123 had mod admin I would do
  408. settings.Moderators = {"Group:1029943:134","BobJenkins123"}
  409.  
  410.  
  411. I was going to change the admin rank stuff but I figured it would confuse people too much, so I left it as mods/admins/owners ;p
  412.  
  413.  
  414. --// Admins
  415.  
  416. settings.Moderators = {"Sceleratis";"BobJenkins:1237123";1237666;"Group:181:255";"Item:1234567"}
  417. This will make the person with the username Sceleratis, or the name BobJenkins, or the ID 1237123 OR 123766,
  418. or is in group 181 in the rank 255, or owns the item belonging to the ID 1234567 a moderator
  419.  
  420. If I wanted to give the rank 121 in group 181 Owner admin I would do:
  421. settings.Owners = {"Group:181:121"}
  422. See? Not so hard is it?
  423.  
  424. If I wanted to add group 181 and all ranks in it to the :slock whitelist I would do;
  425. settings.Whitelist = {"Group:181";}
  426.  
  427. I can do the above if I wanted to give everyone in a group admin for any of the other admin tables
  428.  
  429.  
  430.  
  431. --// Command Permissions
  432.  
  433. You can set the permission level for specific commands using setting.Permissions
  434. If I wanted to make it so only owners+ can use :ff player then I would do:
  435.  
  436. settings.Permissions = {":ff:Owners"}
  437.  
  438. :ff is the Command ":ff scel" and 3 is the NewLevel
  439.  
  440. Permissions Levels:
  441. Players
  442. Moderators
  443. Admins
  444. Owners
  445. Creators
  446.  
  447. Note that when changing command permissions you MUST include the prefix;
  448. So if you change the prefix to $ you would need to do $ff instead of :ff
  449.  
  450.  
  451. --// Trello
  452.  
  453. The Trello abilities of the script allow you to manage lists and permissions via
  454. a Trello board; The following will guide you through the process of setting up a board;
  455.  
  456. 1. Sign up for an account at http://trello.com
  457. 2. Create a new board
  458. http://prntscr.com/b9xljn
  459. http://prntscr.com/b9xm53
  460. 3. Get the board ID;
  461. http://prntscr.com/b9xngo
  462. 4. Set settings.Trello_Primary to your board ID
  463. 5. Set settings.Trello.Enabled to true
  464. 6. Congrats! The board is ready to be used;
  465. 7. Create a list and add cards to it;
  466. http://prntscr.com/b9xswk
  467.  
  468. - You can view lists in-game using :viewlist ListNameHere
  469.  
  470. Lists:
  471. Moderators - Card Format: Same as settings.Moderators
  472. Admins - Card Format: Same as settings.Admins
  473. Owners - Card Format: Same as settings.Owners
  474. Creators - Card Format: Same as settings.Creators
  475. Agents - Card Format: Same as settings.Admins
  476. Banlist - Card Format: Same as settings.Banned
  477. Mutelist - Card Format: Same as settings.Muted
  478. Blacklist - Card Format: Same as settings.Blacklist
  479. Whitelist - Card Format: Same as settings.Whitelist
  480. Permissions - Card Format: Same as settings.Permissions
  481. Music - Card Format: SongName:AudioID
  482. Commands - Card Format: Command (eg. :ff bob)
  483.  
  484. Card format refers to how card names should look
  485.  
  486.  
  487. MAKE SURE YOU SET settings.DataStoreKey TO SOMETHING ABSOLUTELY RANDOM;
  488. --]]
  489.  
  490.  
  491. settings.HideScript = true -- Disable if your game saves; When the game starts the Adonis_Loader model will be hidden so other scripts cannot access the settings module
  492. settings.DataStore = "Adonis_1" -- DataStore the script will use for saving data; Changing this will lose any saved data
  493. settings.DataStoreKey = "CHANGE_THIS" -- CHANGE THIS TO SOMETHING RANDOM! Key used to encrypt all datastore entries; Changing this will lose any saved data
  494. settings.DataStoreEnabled = true -- Disable if you don't want to load settings and admins from the datastore; PlayerData will still save
  495. settings.Storage = game:service("ServerStorage") -- Where things like tools are stored
  496.  
  497. settings.Theme = "Default" -- UI theme;
  498. settings.MobileTheme = "Mobilius" -- Theme to use on mobile devices; Some UI elements are disabled
  499.  
  500. settings.Moderators = {} -- Mods; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";}
  501. settings.Admins = {dASHGGFGFGFS} -- Admins; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";}
  502. settings.Owners = {} -- Head Admins; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";}
  503. settings.Creators = {} -- Place Owner; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";}
  504. settings.Banned = {} -- List of people banned from the game Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";}
  505. settings.Muted = {} -- List of people muted Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";}
  506. settings.Blacklist = {} -- List of people banned from using admin Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";}
  507. settings.Whitelist = {} -- People who can join if whitelist enabled Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";}
  508. settings.Permissions = {} -- Command permissions; Format: {"Command:NewLevel";}
  509. settings.MusicList = {}; -- List of songs to appear in the script Format: {{Name = "somesong",ID = 1234567},{Name = "anotherone",ID = 1243562}}
  510. settings.CapeList = {}; -- List of capes Format: {{Name = "somecape",Material = "Fabric",Color = "Bright yellow",ID = 12345567,Reflectance = 1},{etc more stuff here}}
  511. settings.CustomRanks = {}; -- List of custom AdminLevel ranks Format: {RankName = {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";};}
  512.  
  513. settings.OnStartup = {}; -- List of commands ran at server start Format: {":notif TestNotif"}
  514. settings.OnJoin = {}; -- List of commands ran as player on join (ignores adminlevel) Format: {":cmds"}
  515. settings.OnSpawn = {}; -- List off commands ran as player on spawn (ignores adminlevel) Format: {"!fire Really red",":ff me"}
  516.  
  517. settings.SaveAdmins = true -- If true anyone you :admin or :owner in-game will save
  518. settings.WhitelistEnabled = false -- If true enables the whitelist/server lock; Only lets admins & whitelisted users join
  519.  
  520. settings.Prefix = ":" -- The : in :kill me
  521. settings.PlayerPrefix = "!" -- The ! in !donate; Mainly used for commands that any player can run; Do not make it the same as settings.Prefix
  522. settings.SpecialPrefix = "" -- Used for things like "all", "me" and "others" (If changed to ! you would do :kill !me)
  523. settings.SplitKey = " " -- The space in :kill me (eg if you change it to / :kill me would be :kill/me)
  524. settings.BatchKey = "|" -- :kill me | :ff bob | :explode scel
  525. settings.ConsoleKeyCode = "Quote" -- Keybind to open the console; Rebindable per player in userpanel; KeyCodes: http://wiki.roblox.com/index.php?title=API:Enum/KeyCode
  526.  
  527. settings.HttpWait = 60; -- How long things that use the HttpService will wait before updating again
  528. settings.Trello_Enabled = false; -- Are the Trello features enabled?
  529. settings.Trello_Primary = ""; -- Primary Trello board
  530. settings.Trello_Secondary = {"9HH6BEX2"}; -- Secondary Trello boards Format: {"BoardID";"BoardID2","etc"}
  531. settings.Trello_AppKey = ""; -- Your Trello AppKey Link: https://trello.com/app-key
  532. settings.Trello_Token = ""; -- Trello token (DON'T SHARE WITH ANYONE!) Link: https://trello.com/1/connect?name=Trello_API_Module&response_type=token&expires=never&scope=read,write&key=YOUR_APP_KEY_HERE
  533.  
  534. settings.G_API = true -- If true allows other server scripts to access certain functions described in the API module through _G.Adonis
  535. settings.G_Access = false -- If enabled allows other scripts to access Adonis using _G.Adonis.Access; Scripts will still be able to do things like _G.Adonis.CheckAdmin(player)
  536. settings.G_Access_Key = "Example_Key" -- Key required to use the _G access API; Example_Key will not work for obvious reasons
  537. settings.G_Access_Perms = "Read" -- Access perms
  538. settings.Allowed_API_Calls = {
  539. Client = false; -- Allow access to the Client (not recommended)
  540. Settings = false; -- Allow access to settings (not recommended)
  541. DataStore = false; -- Allow access to the DataStore (not recommended)
  542. Core = false; -- Allow access to the script's core table (REALLY not recommended)
  543. Service = false; -- Allow access to the script's service metatable
  544. Remote = false; -- Communication table
  545. HTTP = false; -- HTTP related things like Trello functions
  546. Anti = false; -- Anti-Exploit table
  547. Logs = false;
  548. UI = false; -- Client UI table
  549. Admin = false; -- Admin related functions
  550. Functions = false; -- Functions table (contains functions used by the script that don't have a subcategory)
  551. Variables = true; -- Variables table
  552. API_Specific = true; -- API Specific functions
  553. }
  554.  
  555. settings.FunCommands = true -- Are fun commands enabled?
  556. settings.PlayerCommands = true -- Are players commands enabled?
  557. settings.ChatCommands = true -- If false you will not be able to run commands via the chat; Instead you MUST use the console or you will be unable to run commands
  558. settings.CreatorPowers = true -- Gives me creator level admin; This is strictly used for debugging; I can't debug without full access to the script
  559. settings.CodeExecution = true -- Enables the use of code execution in Adonis; Scripting related and a few other commands require this
  560.  
  561. settings.BanMessage = "Banned" -- Message shown to banned users
  562. settings.LockMessage = "Not Whitelisted" -- Message shown to people when they are kicked while the game is :slocked
  563. settings.SystemTitle = "System Message" -- Title to display in :sm
  564.  
  565. settings.MaxLogs = 500 -- Maximum logs to save before deleting the oldest; Too high can lag the game
  566. settings.Notification = true -- Whether or not to show the "You're an admin" and "Updated" notifications
  567. settings.SongHint = true -- Display a hint with the current song name and ID when a song is played via :music
  568.  
  569. settings.AutoClean = false -- Will auto clean service.Workspace of things like hats and tools
  570. settings.AutoCleanDelay = 60 -- Time between auto cleans
  571.  
  572. settings.CustomChat = false -- Custom chat
  573. settings.PlayerList = false -- Custom playerlist
  574. settings.Console = true -- Command console
  575.  
  576. settings.HelpSystem = true -- Allows players to call admins for help using !help
  577. settings.HelpButton = true -- Shows a little help button in the bottom right corner
  578.  
  579. settings.DonorCapes = true -- Donors get to show off their capes; Not disruptive :)
  580. settings.DonorCommands = true -- Show your support for the script and let donors use harmless commands like !sparkles
  581. settings.LocalCapes = false -- Makes Donor capes local so only the donors see their cape [All players can still disable capes locally]
  582.  
  583. settings.LocalLighting = true -- Enables local lighting; Prevents changes to Lighting and enables the ability for player specific lighting changes; Server scripts can set lighting for the server or specific players using _G.Adonis.SetLighting(property,value) or for players _G.Adonis.SetPlayerLighting(player,property,value)
  584. settings.ReplicationLogs = false -- [May cause lag] Attempts to log who makes and deletes objects in the game
  585. settings.NetworkOwners = false -- [May cause lag] Logs the first network owners of parts created in workspace; Can be used to see who made parts (only parts) in workspace
  586. settings.Detection = true -- Attempts to detect certain known exploits
  587. settings.CheckClients = true -- Checks clients every minute or two to make sure they are still active
  588.  
  589. settings.AntiNil = true -- Try's to prevent non-admins from hiding in "nil"
  590. settings.AntiSpeed = true -- Attempts to detect speed exploits
  591. settings.AntiNoclip = true -- Attempts to detect noclipping and kills the player if found
  592. settings.AntiParanoid = false -- Attempts to detect paranoid and kills the player if found
  593. settings.AntiDeleteTool = false -- [May break guns] Attempts to block use of the delete tool and other building tools
  594. settings.AntiDelete = false -- [May cause intense lag] You should enabled Filtering instead! Attempts to prevent deleting of objects in the game (may cause lag; Not recommended for complex games that constantly make/remove things; Should use Filtering instead...)
  595. settings.AntiUnAnchor = false -- [May cause lag] Attempts to prevent the unanchoring of parts
  596. settings.AntiLeak = false -- Attempts to prevent place downloading/saving; Do not use if game saves
  597. settings.AntiBillboardImage = false -- Attempts to find billboard images and remove them; These are usually used to insert inappropriate images into the game
  598. settings.AntiInsert = { -- Can cause lag; You should enabled Filtering instead! Class names blocked from being added to the game or new properties to set for them; Will alter properties if Action = "Change" or delete the object if Action = "Delete"; Add classes to alter/block
  599. Enabled = false; -- If AntiInsert is enabled or not
  600. Explosion = { -- The ClassName to look for; You can add new ClassNames by following the Format provided
  601. Action = "None"; -- Can be set to "Change" to use the set properties or "Delete" to delete the object if it's added; Set to "None" to disable
  602. Properties = { -- Properties to use if change is true; The default properties will basically nerf any explosions
  603. BlastPressure = 0;
  604. BlastRadius = 0;
  605. DestroyJoinRadiusPercent = 0;
  606. ExplosionType = "NoCraters";
  607. }
  608. };
  609. Decal = { -- I included some common classnames to replace settings like AntiDecal, NerfExplosions, and AntiSound
  610. Action = "None"; -- Set to "Delete" to prevent decals from being added
  611. };
  612. Sound = {
  613. Action = "None"; -- Set to "Delete" to prevent new sounds from being added (WARNING THIS IS ALL SOUNDS INCLDING SCRIPT MADE ONES)
  614. };
  615. }
  616.  
  617. ---------------------
  618. -- END OF SETTINGS --
  619. ---------------------
  620.  
  621. --// Setting descriptions used for the in-game settings editor;
  622.  
  623. descs.HideScript = [[ Disable if your game saves; When the game starts the Adonis_Loader model will be hidden so other scripts cannot access the settings module ]]
  624. descs.DataStore = [[ DataStore the script will use for saving data; Changing this will lose any saved data ]]
  625. descs.DataStoreKey = [[ Key used to encode all datastore entries; Changing this will lose any saved data ]]
  626. descs.DataStoreEnabled = [[ Disable if you don't want settings and admins to be saveable in-game; PlayerData will still save ]]
  627. descs.Storage = [[ Where things like tools are stored ]]
  628.  
  629. descs.Theme = [[ UI theme; ]]
  630. descs.MobileTheme = [[ Theme to use on mobile devices; Mobile themes are optimized for smaller screens; Some GUIs are disabled ]]
  631.  
  632. descs.Moderators = [[ Mods; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";} ]]
  633. descs.Admins = [[ Admins; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";} ]]
  634. descs.Owners = [[ Head Admins; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";} ]]
  635. descs.Creators = [[ Anyone to be identified as a place owner; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";} ]]
  636. descs.Banned = [[ List of people banned from the game; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";} ]]
  637. descs.Muted = [[ List of people muted; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";} ]]
  638. descs.Blacklist = [[ List of people banned from using admin; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";} ]]
  639. descs.Whitelist = [[ People who can join if whitelist enabled; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";} ]]
  640. descs.Permissions = [[ Command permissions; Format: {"Command:NewLevel";} ]]
  641. descs.MusicList = [[ List of songs to appear in the script; Format: {{Name = "somesong",ID = 1234567},{Name = "anotherone",ID = 1243562}} ]]
  642. descs.CapeList = [[ List of capes; Format: {{Name = "somecape",Material = "Fabric",Color = "Bright yellow",ID = 12345567,Reflectance = 1},{etc more stuff here}} ]]
  643. descs.CustomRanks = [[ List of custom AdminLevel ranks Format: {RankName = {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";};} ]]
  644.  
  645. descs.OnStartup = [[ List of commands ran at server start Format: {":notif TestNotif"} ]]
  646. descs.OnJoin = [[ List of commands ran as player on join (ignores adminlevel) Format: {":cmds"} ]]
  647. descs.OnSpawn = [[ List off commands ran as player on spawn (ignores adminlevel) Format: {"!fire Really red",":ff me"} ]]
  648.  
  649. descs.SaveAdmins = [[ If true anyone you :mod, :admin, or :owner in-game will save; This does not apply to helpers as they are considered temporary ]]
  650. descs.WhitelistEnabled = [[ If true enables the whitelist/server lock; Only lets admins & whitelisted users join ]]
  651.  
  652. descs.Prefix = [[ The : in :kill me ]]
  653. descs.PlayerPrefix = [[ The ! in !donate; Mainly used for commands that any player can run ]]
  654. descs.SpecialPrefix = [[ Used for things like "all", "me" and "others" (If changed to ! you would do :kill !me) ]]
  655. descs.SplitKey = [[ The space in :kill me (eg if you change it to / :kill me would be :kill/me) ]]
  656. descs.BatchKey = [[ :kill me | :ff bob | :explode scel ]]
  657. descs.ConsoleKeyCode = [[ Keybind to open the console ]]
  658.  
  659. descs.HttpWait = [[ How long things that use the HttpService will wait before updating again ]]
  660. descs.Trello_Enabled = [[ Are the Trello features enabled? ]]
  661. descs.Trello_Primary = [[ Primary Trello board ]]
  662. descs.Trello_Secondary = [[ Secondary Trello boards; Format: {"BoardID";"BoardID2","etc"} ]]
  663. descs.Trello_AppKey = [[ Your Trello AppKey; Link: https://trello.com/app-key ]]
  664. descs.Trello_Token = [[ Trello token (DON'T SHARE WITH ANYONE!); Link: https://trello.com/1/connect?name=Trello_API_Module&response_type=token&expires=never&scope=read,write&key=YOUR_APP_KEY_HERE ]]
  665.  
  666. descs.G_API = [[ If true allows other server scripts to access certain functions described in the API module through _G.Adonis ]]
  667. descs.G_Access = [[ If enabled allows other scripts to access Adonis using _G.Adonis.Access; Scripts will still be able to do things like _G.Adonis.CheckAdmin(player) ]]
  668. descs.G_Access_Key = [[ Key required to use the _G access API; Example_Key will not work for obvious reasons ]]
  669. descs.G_Access_Perms = [[ Access perms level ]]
  670. descs.Allowed_API_Calls = [[ Allowed calls ]]
  671.  
  672. descs.FunCommands = [[ Are fun commands enabled? ]]
  673. descs.PlayerCommands = [[ Are players commands enabled? ]]
  674. descs.ChatCommands = [[ If false you will not be able to run commands via the chat; Instead you MUST use the console or you will be unable to run commands ]]
  675.  
  676. descs.BanMessage = [[ Message shown to banned users ]]
  677. descs.LockMessage = [[ Message shown to people when they are kicked while the game is :slocked ]]
  678. descs.SystemTitle = [[ Title to display in :sm ]]
  679.  
  680. descs.CreatorPowers = [[ When true gives me place owner admin; This is strictly used for debugging; I can't debug without access to the script and specific owner commands ]]
  681. descs.MaxLogs = [[ Maximum logs to save before deleting the oldest; Too high can lag the game ]]
  682. descs.Notification = [[ Whether or not to show the "You're an admin" and "Updated" notifications ]]
  683. descs.CodeExecution = [[ Enables the use of code execution in Adonis; Scripting related and a few other commands require this ]]
  684. descs.SongHint = [[ Display a hint with the current song name and ID when a song is played via :music ]]
  685.  
  686. descs.AutoClean = [[ Will auto clean service.Workspace of things like hats and tools ]]
  687. descs.AutoCleanDelay = [[ Time between auto cleans ]]
  688.  
  689. descs.CustomChat = [[ Custom chat ]]
  690. descs.PlayerList = [[ Custom playerlist ]]
  691. descs.Console = [[ Command console ]]
  692.  
  693. descs.DonorCommands = [[ Show your support for the script and let donors use commands like !sparkles ]]
  694. descs.DonorCapes = [[ Determines if donors have capes ]]
  695. descs.LocalCapes = [[ Makes Donor capes local instead of removing them ]]
  696.  
  697. descs.HelpSystem = [[ Allows players to call admins for help using !help ]]
  698. descs.HelpButton = [[ Shows a little help button in the bottom right corner ]]
  699.  
  700. descs.LocalLighting = [[ Enables local lighting; Prevents changes to Lighting and enables the ability for player specific lighting changes; Server scripts can set lighting for the server or specific players using _G.Adonis.SetLighting(property,value) or for players _G.Adonis.SetPlayerLighting(player,property,value) ]]
  701. descs.ReplicationLogs = [[ Attempts to log who makes and deletes objects in the game ]]
  702. descs.NetworkOwners = [[ Logs the first network owners of parts created in workspace; Can be used to see who made parts (only parts) in workspace ]]
  703. descs.Detection = [[ Attempts to detect certain known exploits ]]
  704. descs.CheckClients = [[ Checks clients every minute or two to make sure they are still active ]]
  705.  
  706. descs.AntiNil = [[ Try's to prevent non-admins from hiding in "nil" ]]
  707. descs.AntiSpeed = [[ Attempted to detect speed exploits ]]
  708. descs.AntiNoclip = [[ Attempts to detect noclipping and kills the player if found ]]
  709. descs.AntiParanoid = [[ Attempts to detect paranoid and kills the player if found ]]
  710. descs.AntiDeleteTool = [[ Attempts to block use of the delete tool and other building tools ]]
  711. descs.AntiDelete = [[ Can cause lag; You should enabled Filtering instead! Attempts to prevent deleting of objects in the game (may cause lag; Not recommended for complex games that constantly make/remove things; Should use Filtering instead...) ]]
  712. descs.AntiUnAnchor = [[ Attempts to prevent the unanchoring of parts ]]
  713. descs.AntiLeak = [[ Attempts to prevent place downloading/saving; Do not use if game saves ]]
  714. descs.AntiBillboardImage = [[ Attempts to find billboard images and remove them; These are usually used to insert inappropriate images into the game ]]
  715. descs.AntiInsert = [[ Can cause lag; You should enabled Filtering instead! Class names blocked from being added to the game or new properties to set for them; Will alter properties if Action = "Change" or delete the object if Action = "Delete"; Add classes to alter/block ]]
  716.  
  717. order = {
  718. "HideScript";
  719. "DataStore";
  720. "DataStoreKey";
  721. "DataStoreEnabled";
  722. "Storage";
  723. " ";
  724. "Theme";
  725. "MobileTheme";
  726. " ";
  727. "Moderators";
  728. "Admins";
  729. "Owners";
  730. "Creators";
  731. "Banned";
  732. "Muted";
  733. "Blacklist";
  734. "Whitelist";
  735. "MusicList";
  736. "CapeList";
  737. "CustomRanks";
  738. " ";
  739. "OnStartup";
  740. "OnJoin";
  741. "OnSpawn";
  742. " ";
  743. "SaveAdmins";
  744. "WhitelistEnabled";
  745. " ";
  746. "Prefix";
  747. "PlayerPrefix";
  748. "SpecialPrefix";
  749. "SplitKey";
  750. "BatchKey";
  751. "ConsoleKeyCode";
  752. " ";
  753. "HttpWait";
  754. "Trello_Enabled";
  755. "Trello_Primary";
  756. "Trello_Secondary";
  757. "Trello_AppKey";
  758. "Trello_Token";
  759. " ";
  760. "G_API";
  761. "G_Access";
  762. "G_Access_Key";
  763. "G_Access_Perms";
  764. "Allowed_API_Calls";
  765. " ";
  766. "FunCommands";
  767. "PlayerCommands";
  768. "ChatCommands";
  769. "CreatorPowers";
  770. "CodeExecution";
  771. " ";
  772. "BanMessage";
  773. "LockMessage";
  774. "SystemTitle";
  775. " ";
  776. "MaxLogs";
  777. "Notification";
  778. "SongHint";
  779. "";
  780. "AutoClean";
  781. "AutoCleanDelay";
  782. " ";
  783. "CustomChat";
  784. "PlayerList";
  785. "Console";
  786. " ";
  787. "HelpSystem";
  788. "HelpButton";
  789. " ";
  790. "DonorCommands";
  791. "DonorCapes";
  792. "LocalCapes";
  793. " ";
  794. "LocalLighting";
  795. "ReplicationLogs";
  796. "NetworkOwners";
  797. "Detection";
  798. "CheckClients";
  799. " ";
  800. "AntiNil";
  801. "AntiSpeed";
  802. "AntiNoclip";
  803. "AntiParanoid";
  804. "AntiDeleteTool";
  805. "AntiDelete";
  806. "AntiUnAnchor";
  807. "AntiLeak";
  808. "AntiBillboardImage";
  809. "AntiInsert";
  810. }
  811.  
  812. return {Settings = settings, Descriptions = descs, Order = order}
  813. client = nil
  814. service = nil
  815. return function()
  816. --Acts the same as a server plugin but with client functions instead of server.
  817. --[[
  818. local window = client.UI.Make("Window",{
  819. Title = "Changing DataStore";
  820. Size = {700,300};
  821. Icon = "rbxassetid://357249130";
  822. })
  823.  
  824. window.Add("ImageLabel",{
  825. Image = "rbxassetid://531490964";
  826. })
  827.  
  828. --]]
  829. end))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement