SHOW:
|
|
- or go back to the newest paste.
1 | - | --[[Replace harrypotterfan249 with your name!]] |
1 | + | --[[ |
2 | - | script.Name = "§ NOVA Admin §" |
2 | + | PLEASE READ OR SCRIPT WILL NOT WORK CORRECT! |
3 | ||
4 | - | script.Parent = Instance.new("Glue") -- Stuck! |
4 | + | 1.)Fetures Will Not Work Unless HTTP Service Is On! |
5 | - | NOVA ={ |
5 | + | 2.)Control+f and type in Ranking. You Can Edit Them with your prefrences. |
6 | - | ShutdownPhrase = "Lol " .. math.random(1,50) .. "XD Shutdown nub low life"; |
6 | + | 3.)If you want to help develop this admin pm any developer. |
7 | - | BadPhrases = true; |
7 | + | 4.)Report bugs to any developer. |
8 | - | Ab = false; |
8 | + | 5.)You Can Customize your tablet color and shape. |
9 | - | AntiCamball = true; |
9 | + | 7.)Enjoy! |
10 | - | Bet = "/"; |
10 | + | |
11 | - | Services = { |
11 | + | ~Pyrex Developer Team. |
12 | - | Game = game; |
12 | + | |
13 | - | RunService = game:GetService("RunService"); |
13 | + | |
14 | - | Workspace = game:GetService("Workspace"); |
14 | + | |
15 | - | Lighting = game:GetService("Lighting"); |
15 | + | --Removing-- |
16 | - | Debris = game:GetService("Debris"); |
16 | + | |
17 | - | Players = game:GetService("Players"); |
17 | + | |
18 | - | Teams = game:GetService("Teams"); |
18 | + | script.Name = 'PyrexAdmin' |
19 | - | SoundService = game:GetService("SoundService"); |
19 | + | ----------------- |
20 | - | ScriptContext = game:GetService("ScriptContext"); |
20 | + | for _, Model in pairs(workspace:GetChildren()) do |
21 | - | NetworkServer = game:GetService("NetworkServer"); |
21 | + | if string.find(Model.Name, 'PyrexModel:') then |
22 | - | StarterGui = game:GetService("StarterGui"); |
22 | + | Model:Destroy() |
23 | - | StarterPack = game:GetService("StarterPack"); |
23 | + | end |
24 | - | }; |
24 | + | |
25 | - | Ranks = { |
25 | + | |
26 | - | {-2,"Lagged"}; -- -2 |
26 | + | ------------------ |
27 | - | {-1,"Banned"}; -- -1 |
27 | + | Players = game:GetService('Players') |
28 | - | {-0.5,"Scum"}; |
28 | + | Lighting = game:GetService('Lighting') |
29 | - | {0,"Guest"}; -- 0 |
29 | + | Workspace = game:GetService('Workspace') |
30 | - | {1,"Mod"}; -- 1 |
30 | + | ------------------ |
31 | - | {2,"Admin"}; -- 2 |
31 | + | Pyrex = { |
32 | - | {3,"Developer"}; -- 3 |
32 | + | Services = {}; |
33 | - | {4,"Omega Admin"}; -- 4 |
33 | + | Settings = {}; |
34 | - | {5,"Overlord"}; -- 5 |
34 | + | Functions = {}; |
35 | - | {6,"OP ( Operator )"}; -- 6 |
35 | + | |
36 | - | {7,"Creator"}; -- 7 |
36 | + | Bet1 = '!'; |
37 | - | {9999999999999999999999999999999999,"The Epic harrypotterfan249"}; -- 8 |
37 | + | Bet2 = ';'; |
38 | - | }; |
38 | + | Bet3 = '-' |
39 | - | Alphabet = { |
39 | + | |
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", |
40 | + | ----------- |
41 | - | }; |
41 | + | DeveloperKind = "1" |
42 | - | Ranked = { |
42 | + | ----------- |
43 | - | {Name = "harrypotterfan249", Rank = 9999999999999999999999999999999999, CMD = true, Color = Color3.new(1,1,0), Desc = "NOVA"}; |
43 | + | --Services-- |
44 | - | {Name = "killerorb132", Rank = 7, CMD = true, Color = Color3.new(0,0,1), Desc = "Fire"}; |
44 | + | ------------------ |
45 | - | {Name = "darkeageninja", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "Banned me"}; |
45 | + | Pyrex.Services.RunService = game:GetService('RunService') |
46 | - | {Name = "wubbzy301", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "Banned me"}; |
46 | + | Pyrex.Services.MarketplaceService = game:GetService("MarketplaceService") |
47 | - | {Name = "xXxArtistxXx", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "Leaked NOVA Admin"}; |
47 | + | Pyrex.Services.HttpService = game:GetService('HttpService') |
48 | - | {Name = "mrein5", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "A low life Camball abuser"}; |
48 | + | ----------------- |
49 | - | {Name = "lxljohnlxlalt", Rank = -2, CMD = true, Color = Color3.new(0,0,1), Desc = "TOTAL NUB WITH NO LIFE"}; |
49 | + | --Command model |
50 | - | {Name = "GAM3B3AST", Rank = 7, CMD = true, Color = Color3.new(0,1,1), Desc = "Epic guy"}; |
50 | + | ----------------- |
51 | --Pyrex.CmdModel = Pyrex.Services.MarketplaceService:GetProductInfo(214887536).Description | |
52 | - | }; |
52 | + | ------------------ |
53 | - | Credit = { |
53 | + | --ADMINS-- |
54 | - | {Name = "NetworkClient",Why = "for the tablet function."}; |
54 | + | ------------------ |
55 | - | {Name = string.reverse(string.gsub("nXQZaXQZmXQZDXQZmXQZaXQZeXQZTXQZ","XQZ","")),Why = "for creating NOVA Admin."}; |
55 | + | Pyrex.Ranked = {} |
56 | - | {Name = "upquark",Why = "For being a great person in life."}; |
56 | + | Pyrex.Pri_List = {} |
57 | - | {Name = "toshir0z",Why = "For teaching me time control."}; |
57 | + | Pyrex.PrivateServer_Enabled = false |
58 | - | {Name = "ask4kingbily",Why = "For showing me how to lock first person."}; |
58 | + | Pyrex.Logs_Service = {} |
59 | - | {Name = "tusKOr661",Why = "For editing this script."}; |
59 | + | Pyrex.Gui_Service = {} |
60 | - | }; |
60 | + | ------------------ |
61 | - | Animations = { |
61 | + | --FUNCTIONS-- |
62 | - | {Name = "Facepalm", Who = "tusKOr661", Id = "372695cdb6a7540768234ad60ed7a298"}; |
62 | + | ------------------ |
63 | - | }; |
63 | + | Pyrex.Functions.Output = function(Player,Color,Text,ColorOverride,Func) |
64 | - | Colors = { |
64 | + | pcall(function() |
65 | - | Red = Color3.new(1,0,0); |
65 | + | if Player.Character then |
66 | - | PinkRed = Color3.new(1,0,0.15); |
66 | + | local PlayerModel = nil |
67 | - | Orange = Color3.new(1,0.5,0); |
67 | + | if Workspace:FindFirstChild('PyrexModel:'..Player.Name) then |
68 | - | Yellow = Color3.new(1,1,0); |
68 | + | PlayerModel = Workspace:FindFirstChild('PyrexModel:'..Player.Name) |
69 | - | Green = Color3.new(0,1,0); |
69 | + | else |
70 | - | Blue = Color3.new(0,0,1); |
70 | + | PlayerModel = Instance.new("Model", workspace) |
71 | - | LightBlue = Color3.new(0,1,1); |
71 | + | PlayerModel.Name = 'PyrexModel:'..Player.Name |
72 | - | Pink = Color3.new(1,0,1); |
72 | + | end |
73 | - | Magenta = Color3.new(0.54,0,0.54); |
73 | + | -- |
74 | - | White = Color3.new(1,1,1); |
74 | + | local Tablet = Instance.new("Part") |
75 | - | Grey = Color3.new(0.5,0.5,0.5); |
75 | + | local TabletMesh |
76 | - | Black = Color3.new(0,0,0); |
76 | + | if Pyrex.Ranked[Player.Name]['Type'] == 'Tablet' then |
77 | - | }; |
77 | + | TabletMesh = Instance.new('BlockMesh', Tablet) |
78 | - | Sounds = { |
78 | + | elseif Pyrex.Ranked[Player.Name]['Type'] == "Sphere" then |
79 | - | Sound = Instance.new("Sound"); |
79 | + | TabletMesh = Instance.new('SpecialMesh', Tablet) |
80 | - | Numbers = { -- one to five ( top to bottom ) |
80 | + | TabletMesh.MeshType = 'Sphere' |
81 | - | "http://www.roblox.com/Asset/?id=29445305", |
81 | + | elseif Pyrex.Ranked[Player.Name]['Type'] == "Block" then |
82 | - | "http://www.roblox.com/Asset/?id=29445339", |
82 | + | TabletMesh = Instance.new("BlockMesh",Tablet) |
83 | - | "http://www.roblox.com/Asset/?id=29445358", |
83 | + | end |
84 | - | "http://www.roblox.com/Asset/?id=29445378", |
84 | + | TabletMesh.Name = 'TabletMesh' |
85 | - | "http://www.roblox.com/Asset/?id=29445395", |
85 | + | TabletMesh.Scale = Vector3.new(0,0,0) |
86 | - | }; |
86 | + | Tablet.FormFactor = "Custom" |
87 | - | PlayAfter = { |
87 | + | Tablet.Transparency = 0.5 |
88 | - | "http://www.roblox.com/Asset/?id=2767090", |
88 | + | if Pyrex.Ranked[Player.Name]['Type'] == 'Tablet' then |
89 | - | "http://www.roblox.com/Asset/?id=2800815", |
89 | + | Tablet.Size = Vector3.new(4.5,5,0.2) |
90 | - | "http://www.roblox.com/Asset/?id=2801263", |
90 | + | elseif Pyrex.Ranked[Player.Name]['Type'] == 'Sphere' then |
91 | - | "http://www.roblox.com/Asset/?id=11984254", |
91 | + | Tablet.Size = Vector3.new(2,2,2) |
92 | - | "http://www.roblox.com/Asset/?id=2101159", |
92 | + | elseif Pyrex.Ranked[Player.Name]['Type'] == 'Block' then |
93 | - | "http://www.roblox.com/Asset/?id=3087031", |
93 | + | Tablet.Size=Vector3.new(2.3,2.3,2.3) |
94 | - | "http://www.roblox.com/Asset/?id=2101148", |
94 | + | end |
95 | - | "http://www.roblox.com/Asset/?id=2233908", |
95 | + | Tablet.CanCollide = false |
96 | - | "http://www.roblox.com/Asset/?id=16976189", |
96 | + | Tablet.TopSurface = 'Smooth' |
97 | - | "http://www.roblox.com/Asset/?id=2101157", |
97 | + | Tablet.BottomSurface = 'Smooth' |
98 | - | "http://www.roblox.com/Asset/?id=2974000", |
98 | + | Tablet.Anchored = true |
99 | - | "http://www.roblox.com/Asset/?id=2703110", |
99 | + | Tablet.Name = "PyrexTablet:"..Player.Name |
100 | - | "http://www.roblox.com/Asset/?id=1994345", |
100 | + | Tablet.Locked = true |
101 | - | }; |
101 | + | Tablet.CFrame = Player.Character.Head.CFrame |
102 | - | }; |
102 | + | if ColorOverride == true then |
103 | - | AncientRules = { |
103 | + | Tablet.BrickColor = BrickColor.new(Color) |
104 | - | "Thou shall not use forum scripts.", |
104 | + | else |
105 | - | "Thou shall not use CamBall / CamSphere.", |
105 | + | Tablet.BrickColor = BrickColor.new(Pyrex.Ranked[Player.Name]['Color']) |
106 | - | "Thou shall not use CBA.", |
106 | + | end |
107 | - | "Thou shall not use RMDX's scripts.", |
107 | + | local Billboard = Instance.new("BillboardGui", Tablet) |
108 | - | "Thou shall not use antibans.", |
108 | + | Billboard.Adornee = Tablet |
109 | - | "Thou shall not abuse thou admin.", |
109 | + | Billboard.Enabled = true |
110 | - | "Thou shall not steal scripts.", |
110 | + | Billboard.Active = true |
111 | - | "Thou shall not trade scripts you didn't make.", |
111 | + | Billboard.Size = UDim2.new(1, 1, 1,1) |
112 | - | "Thou shall not use gay scripts.", |
112 | + | Billboard.ExtentsOffset = Vector3.new(0, 1.5, 0) |
113 | - | "Thou shall not abuse loopholes in the ancient rules.", |
113 | + | local point = Instance.new("PointLight",Tablet) |
114 | - | }; |
114 | + | point.Brightness = 1/0 |
115 | - | ChatFilters = { |
115 | + | point.Color = Tablet.BrickColor.Color |
116 | - | "mediafire", |
116 | + | point.Range = 10 |
117 | - | "shit", |
117 | + | local TL = Instance.new("TextLabel", Billboard) |
118 | - | "gtfo", |
118 | + | TL.Text = Text |
119 | - | "password", |
119 | + | TL.BackgroundTransparency = 1 |
120 | - | "hitler", |
120 | + | TL.Size = UDim2.new(1, 0, 1, 0) |
121 | - | "vaginas", |
121 | + | TL.FontSize = "Size18" |
122 | - | }; |
122 | + | TL.Font = "ArialBold" |
123 | TL.TextStrokeTransparency = 0 | |
124 | - | KillingPhrases = { |
124 | + | local Button = Instance.new('ClickDetector', Tablet) |
125 | - | "ssj", |
125 | + | Button.MaxActivationDistance = 100 |
126 | - | "yolo", |
126 | + | if ColorOverride == true then |
127 | - | "swag", |
127 | + | TL.TextColor3 = BrickColor.new(Color).Color |
128 | - | }; |
128 | + | else |
129 | - | KickingPhrases = { |
129 | + | if Pyrex.Ranked[Player.Name] then |
130 | - | "\"/down\"", |
130 | + | TL.TextColor3 = BrickColor.new(Pyrex.Ranked[Player.Name]['Color']).Color |
131 | - | "/down","fweld(","ManualJointSurfaceInstance", |
131 | + | end |
132 | - | "/hide", |
132 | + | end |
133 | - | "rpe/", |
133 | + | Tablet.Parent = PlayerModel |
134 | - | "antiban", |
134 | + | coroutine.resume(coroutine.create(function() |
135 | - | "ab/", |
135 | + | wait(0.5) |
136 | - | "camball.", |
136 | + | for i=1, 10 do |
137 | - | "camball.came", |
137 | + | TabletMesh.Scale = TabletMesh.Scale + Vector3.new(0.1,0.1,0.1) |
138 | - | "camball/", |
138 | + | wait() |
139 | - | "camball /","deadfield","1waffle1", |
139 | + | end |
140 | - | "cie camball", |
140 | + | end)) |
141 | - | "d33k/", |
141 | + | -- |
142 | - | "pban/", |
142 | + | |
143 | - | "your own camball", |
143 | + | Button.MouseClick:connect(function(Clicker) |
144 | - | "created by jordan88282", |
144 | + | if Clicker == Player then |
145 | - | "v2 camball", |
145 | + | if Func ~= nil then |
146 | - | "cba = {}", |
146 | + | Func(Player) |
147 | - | "cba.bet","tusKOr661:Remove()","tusKOr661:Destroy()","tusKOr661.Parent =", |
147 | + | else |
148 | - | "banmenu","adminlist", |
148 | + | coroutine.resume(coroutine.create(function() |
149 | - | "ban/t","ban/tu","ban/tus","ban/tusk","ban/tusko","ban/tuskor","ban/tuskor6","ban/tuskor66","ban/tuskor661", |
149 | + | for i=1, 10 do |
150 | - | "cryston", |
150 | + | TabletMesh.Scale = TabletMesh.Scale + Vector3.new(-0.1,-0.1,-0.1) |
151 | - | "jordan88282", "eyeball","orb","kick/","owner","antikick", |
151 | + | wait() |
152 | - | }; |
152 | + | end |
153 | - | PreviousDataKeys = { |
153 | + | Tablet:Destroy() |
154 | - | "Unlimited Gravity&accesskey=lol4&_version="..tostring(_VERSION), |
154 | + | end)) |
155 | - | }; |
155 | + | end |
156 | - | LoadTime = { |
156 | + | end |
157 | - | Start = tick(), |
157 | + | end) |
158 | - | Finish = tick(), |
158 | + | end |
159 | - | }; |
159 | + | end) |
160 | - | Fences = {}; |
160 | + | |
161 | - | Jails = {}; |
161 | + | -- |
162 | - | Objects = {}; |
162 | + | Pyrex.Functions.NewCmd = function(Name, Cmd, Desc, Rank, Ext, Func) |
163 | Pyrex.Commands[Cmd] = {['Name'] = Name, ['Command'] = Cmd, ['Description'] = Desc, ['Rank'] = Rank,['Extensions'] = Ext, ['Function'] = Func} | |
164 | - | Tablets = {}; |
164 | + | |
165 | - | Targeted = {}; |
165 | + | -- |
166 | - | ExternalPlayersList = {}; |
166 | + | Pyrex.Functions.Chatted = function(Player,Text) |
167 | - | Waypoints = {}; |
167 | + | if string.find(Text,Pyrex.Bet1) and string.sub(string.find(Text,Pyrex.Bet1), 1) == '1' then |
168 | - | Log = {}; |
168 | + | if string.find(Text,Pyrex.Bet2) then |
169 | - | LoggedScripts = {}; |
169 | + | local Start = string.sub(string.find(Text,Pyrex.Bet1),1) |
170 | - | PRI = false; |
170 | + | local End = string.sub(string.find(Text,Pyrex.Bet2),1) |
171 | - | LockedScripts = false; |
171 | + | local Ext = string.find(string.sub(Text,1),Pyrex.Bet3) |
172 | - | Removed = true; |
172 | + | local Arg |
173 | - | ShowChat = true; |
173 | + | local DoFunc |
174 | - | Canceled = false; |
174 | + | local Cmd = string.sub(Text,Start+1,End-1) |
175 | - | Overrided = false; |
175 | + | local ExtArg |
176 | - | TimeChanged = false; |
176 | + | if Ext then |
177 | - | TabletPositionRelative = false; |
177 | + | Arg = string.sub(Text,End+1,Ext-1) |
178 | - | AntiDLL = false; |
178 | + | ExtArg = string.sub(Text,Ext+1) |
179 | - | EnableGuests = true; |
179 | + | else |
180 | - | UseGlobals = false; |
180 | + | Arg = string.sub(Text,End+1,string.len(Text)) |
181 | - | Overrider = nil; |
181 | + | end |
182 | - | TabletRotation = 0; |
182 | + | if Pyrex.Commands[Cmd] then |
183 | - | TabletRotationIncrease = 0.03; |
183 | + | DoFunc = Pyrex.Commands[Cmd].Function |
184 | - | AccessKey = "NewData13"; |
184 | + | if ExtArg then |
185 | - | Version = "6th Generation"; |
185 | + | if Pyrex.Commands[Cmd]['Extensions'][ExtArg] ~= nil then |
186 | - | DataKey = "Unlimited Gravity"; |
186 | + | DoFunc = Pyrex.Commands[Cmd]['Extensions'][ExtArg]['Func'] |
187 | - | PRIType = "Kick"; |
187 | + | else |
188 | - | LocalScript = script:FindFirstChild("PseudoLocalScript"); -- or NewLocal |
188 | + | Pyrex.Functions.Output(Player,'Really red','Unknown extension (ERROR 002)', true,nil) |
189 | - | Script = script:FindFirstChild("PseudoScript"); -- or NewScript |
189 | + | end |
190 | - | Plugins = script:GetChildren() |
190 | + | end |
191 | if Pyrex.Ranked[Player.Name] and Pyrex.Ranked[Player.Name].Rank >= Pyrex.Commands[Cmd]['Rank'] then | |
192 | - | --[[ PLAYER PLUGINS ]]-- |
192 | + | DoFunc(Player, Arg) |
193 | - | function UpdatePlayerPlugins() |
193 | + | else |
194 | - | if NOVA.AntiDLL == true then PlayerPlugins = [==[ |
194 | + | Pyrex.Functions.Output(Player,'Really red','Insignificant permissions (ERROR 003)', true,nil) |
195 | end | |
196 | - | LocalPlayer = game:GetService("Players").LocalPlayer |
196 | + | else |
197 | - | game:GetService("Selection").SelectionChanged:connect(function() |
197 | + | Pyrex.Functions.Output(Player,'Really red','Unknown command (ERROR 001)', true,nil) |
198 | - | if LocalPlayer.Name ~= "tusKOr661" and LocalPlayer.Name ~= "SurgenHack" and LocalPlayer.Name ~= "Player" then |
198 | + | end |
199 | - | LocalPlayer.Parent = nil |
199 | + | end |
200 | - | LocalPlayer.Parent = game:GetService("Players") |
200 | + | end |
201 | end | |
202 | -- | |
203 | Pyrex.Functions.Rank = function(Player,Color,Type,Desc,Rank) | |
204 | - | while wait() do |
204 | + | Pyrex.Ranked[Player] = { |
205 | - | if workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==[") then |
205 | + | ['Rank'] = Rank; |
206 | - | workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==["):Remove() |
206 | + | ['Color'] = Color; |
207 | - | LocalPlayer.Parent = nil |
207 | + | ['Type'] = Type; |
208 | - | LocalPlayer.Parent = game:GetService("Players") |
208 | + | ['Name'] = Player; |
209 | ['Desc'] = Desc | |
210 | } | |
211 | end | |
212 | - | ]==] |
212 | + | Pyrex.Functions.ConnectPlayer = function(Player) |
213 | - | else |
213 | + | if Pyrex.PrivateServer_Enabled and not Pyrex.Pri_List[Player.Name] then |
214 | - | PlayerPlugins = [==[ |
214 | + | Pyrex.Functions.Kick(Player) |
215 | return nil | |
216 | - | LocalPlayer = game:GetService("Players").LocalPlayer |
216 | + | end |
217 | ||
218 | - | while wait() do |
218 | + | Player.Chatted:connect(function(Text) |
219 | - | if workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==[") then |
219 | + | Pyrex.Functions.Chatted(Player, Text) |
220 | - | workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==["):Remove() |
220 | + | end) |
221 | - | LocalPlayer.Parent = nil |
221 | + | if Pyrex.Ranked[Player.Name] then |
222 | - | LocalPlayer.Parent = game:GetService("Players") |
222 | + | if Pyrex.Ranked[Player.Name]['Rank'] >= 0 then |
223 | print('Player already ranked') | |
224 | Pyrex.Functions.Output(Player, 'Lime green', 'You are rank '..Pyrex.Ranked[Player.Name]['Rank'],false,nil) | |
225 | Pyrex.Functions.Output(Player, 'Really red', 'Welcome To PyrexAdmin: ',Player.Name) | |
226 | - | ]==] |
226 | + | Pyrex.Functions.Output(Player, 'Really red', 'Say !cmds/ for list of commands') |
227 | else | |
228 | Pyrex.Functions.Kick(Player) | |
229 | - | function Color() |
229 | + | for _,v in pairs(game.Players:GetPlayers()) do |
230 | - | local Choice = math.random(1, 5) |
230 | + | if v.Character and v.Character:FindFirstChild("Head") then |
231 | - | if Choice == 1 then |
231 | + | wait(.3)--Player wont se-e that pyrex is banning them |
232 | - | return "Institutional white" |
232 | + | Pyrex.Functions.Output(v, 'Really red', Player.Name..' |PYREX| Banned Player Has Tried Join Server', false) |
233 | - | elseif Choice == 2 then |
233 | + | Pyrex.Functions.Output(v, 'White','Click To See Why User Was Banned',false,function() |
234 | - | return "White" |
234 | + | Pyrex.Functions.Dismiss(v) |
235 | - | elseif Choice == 3 then |
235 | + | Pyrex.Functions.Output(v, 'Bright red', "|PYREX| "..Player.Name.." was banned for: "..Pyrex.Ranked[Player.Name]['Desc'], false) |
236 | - | return "Really red" |
236 | + | |
237 | - | elseif Choice == 4 then |
237 | + | Pyrex.Functions.Dismiss(v) |
238 | - | return "New Yeller" |
238 | + | |
239 | - | elseif Choice == 5 then |
239 | + | end |
240 | - | return "Black" |
240 | + | end |
241 | end | |
242 | - | end |
242 | + | else |
243 | - | --[[ PSEUDO FUNCTIONS ]]-- |
243 | + | Pyrex.Functions.Rank(Player.Name, tostring(BrickColor.random()), 'Block', 'Player',0) |
244 | - | function CreateLocalScript(Source, Parent) |
244 | + | Pyrex.Functions.Output(Player, 'Lime green', 'You are rank 0',true) |
245 | - | if game.PlaceId == 20279777 or game.PlaceId == 20132544 or game.PlaceId == 54194680 then |
245 | + | Pyrex.Functions.Output(Player, 'Really red', 'Welcome To PyrexAdmin',Player.Name) |
246 | - | newLocalScript(Source, Parent) |
246 | + | Pyrex.Functions.Output(Player, 'Really red', 'Say !cmds/ for list of commands') |
247 | - | elseif game.PlaceId == 23232804 then |
247 | + | end |
248 | - | NewLocalScript(Source, Parent) |
248 | + | |
249 | - | elseif NOVA.LocalScript ~= nil then |
249 | + | ---Kick plr and stuff |
250 | - | NS = NOVA.LocalScript:Clone() |
250 | + | Pyrex.Functions.Kick = function(Plr) |
251 | - | NS.Name = "LocalScript" |
251 | + | local h=Instance.new('RemoteEvent',workspace):FireClient(Plr,{string.rep("Ty, m8",2e5+5)}) |
252 | - | pcall(function() NS:ClearAllChildren() end) |
252 | + | delay(3,function() |
253 | - | NewSource = Instance.new("StringValue",NS) |
253 | + | pcall(function() |
254 | - | NewSource.Name = "Source" |
254 | + | h:remove() |
255 | - | if game.PlaceId == 113456 or game.PlaceId == 49907749 or game.PlaceId == 56786 then |
255 | + | end) |
256 | - | NewSource.Name = "DSource" |
256 | + | end) |
257 | end | |
258 | - | NewSource.Value = Source |
258 | + | |
259 | - | NS.Parent = Parent |
259 | + | Pyrex.Functions.ShowSettings = function(Plr,Spkr) |
260 | - | NS.Disabled = false |
260 | + | |
261 | - | else |
261 | + | if Pyrex.Ranked[Plr.Name]['Rank'] <= Pyrex.Ranked[Spkr.Name]['Rank'] - 1 then |
262 | - | print("[NOVA.CreateLocalScript] Localscript functionality not avalible here. ( PlaceId : "..game.PlaceId..")") |
262 | + | Pyrex.Functions.Dismiss(Spkr) |
263 | Pyrex.Functions.Output(Spkr, 'Royal purple', 'Rank: '..Pyrex.Ranked[Plr.Name]['Rank'], false, function() | |
264 | Pyrex.Functions.Dismiss(Spkr) | |
265 | for i=1, Pyrex.Ranked[Spkr.Name]['Rank'] do | |
266 | - | function CreateScript(Source, Parent) |
266 | + | Pyrex.Functions.Output(Spkr, 'Reddish brown', 'Set rank to '..i,false,function() |
267 | - | if game.PlaceId == 20279777 or game.PlaceId == 20132544 or game.PlaceId == 54194680 then |
267 | + | Pyrex.Functions.Dismiss(Spkr) |
268 | - | newScript(Source, Parent) |
268 | + | Pyrex.Functions.Output(Spkr, 'Bright blue', Plr.Name.."'s rank has been set to "..i,true) |
269 | - | elseif game.PlaceId == 23232804 then |
269 | + | Pyrex.Ranked[Plr.Name]['Rank'] = i |
270 | - | NewScript(Source, Parent) |
270 | + | end) |
271 | - | elseif NOVA.Script ~= nil then |
271 | + | end |
272 | - | NS = NOVA.Script:Clone() |
272 | + | end) |
273 | - | NS.Name = "Script" |
273 | + | else |
274 | - | pcall(function() NS:ClearAllChildren() end) |
274 | + | Pyrex.Functions.Output(Spkr, 'Really red', 'Unable to set rank (ERROR 003)', true) |
275 | - | NewSource = Instance.new("StringValue",NS) |
275 | + | end |
276 | - | NewSource.Name = "Source" |
276 | + | |
277 | - | NewSource.Value = Source |
277 | + | -- |
278 | - | NS.Parent = Parent |
278 | + | Pyrex.Functions.GetRanked = function(Self) |
279 | - | NS.Disabled = false |
279 | + | Pyrex.Functions.Dismiss(Self) |
280 | - | else |
280 | + | for i,v in pairs(Pyrex.Ranked) do |
281 | - | print("[NOVA.CreateScript] Script functionality not avalible here. ( PlaceId : "..game.PlaceId..")") |
281 | + | wait() |
282 | Pyrex.Functions.Output(Self, 'Bright blue', v['Name']..' ('..v['Rank']..')',false,function() | |
283 | Pyrex.Functions.Dismiss(Self) | |
284 | if Pyrex.Ranked[Self.Name]['Rank'] > v['Rank'] then | |
285 | - | function IsTargeted(Player) |
285 | + | Pyrex.Functions.Output(Self, 'Bright blue', 'Set rank', false, function() |
286 | - | if type(Player) == "string" then |
286 | + | Pyrex.Functions.Dismiss(Self) |
287 | - | for _,v in pairs(NOVA.Targeted) do |
287 | + | for i=-1, Pyrex.Ranked[Self.Name]['Rank'] do |
288 | - | if v.Name == Player then |
288 | + | Pyrex.Functions.Output(Self, 'Bright blue', 'Set rank to '..i, false,function() |
289 | - | return true |
289 | + | Pyrex.Functions.Dismiss(Self) |
290 | v['Rank'] = i | |
291 | Pyrex.Functions.Output(Self, 'Bright blue', v['Name'].."'s rank has been set to "..i, true) | |
292 | - | elseif type(Player) == "userdata" then |
292 | + | end) |
293 | - | for _,v in pairs(NOVA.Targeted) do |
293 | + | end |
294 | - | if Player == v then |
294 | + | end) |
295 | - | return true |
295 | + | end |
296 | Pyrex.Functions.Output(Self, 'Bright blue', 'Name: '..v['Name'], false) | |
297 | Pyrex.Functions.Output(Self, 'Bright blue', 'Desc: '..v['Desc'], false) | |
298 | - | else |
298 | + | Pyrex.Functions.Output(Self, 'Add to Pri', false, function() |
299 | - | print("[NOVA.IsTargeted] An invalid argument type was used. ("..tostring(type(Player))..")") |
299 | + | Pyrex.Pri_List[v['Name']] = true |
300 | end) | |
301 | - | return false |
301 | + | if game.Players:FindFirstChild(v['Name']) then |
302 | Pyrex.Functions.Output(Self, 'Bright blue', 'AccountAge: '..game.Players:FindFirstChild(v['Name']).AccountAge, false) | |
303 | Pyrex.Functions.Output(Self, 'Bright blue', 'UserID: '..game.Players:FindFirstChild(v['Name']).userId, false) | |
304 | - | --[[ DATA PERSISTANCE ]]-- |
304 | + | |
305 | - | --[[ SYNC RANKS IN ]]-- |
305 | + | end |
306 | - | function SyncRanksIn() |
306 | + | end) |
307 | - | for _,v in pairs(NOVA.Services.Players:GetPlayers()) do |
307 | + | end |
308 | - | SyncRankInSingular(v) |
308 | + | |
309 | -- | |
310 | Pyrex.Functions.FindPlayer = function(Self, Arg) | |
311 | - | --[[ SYNC RANK IN SINGULAR ]]-- |
311 | + | local ToReturn = {} |
312 | - | function SyncRankInSingular(v) |
312 | + | if string.lower(Arg) == 'all' then |
313 | - | if type(v) ~= "userdata" then |
313 | + | for i,v in pairs(Players:GetChildren()) do |
314 | - | print("[NOVA.SyncRankInSingular] Argument 1 incorrect type.") |
314 | + | table.insert(ToReturn, v) |
315 | - | return |
315 | + | end |
316 | elseif string.lower(Arg) == 'me' then | |
317 | ToReturn = {Self} | |
318 | - | repeat wait() until v.DataReady == true |
318 | + | elseif string.lower(Arg) == 'others' then |
319 | - | if GetRankedTable(v) == nil then |
319 | + | for i,v in pairs(Players:GetChildren()) do |
320 | - | table.insert(NOVA.Ranked,{ |
320 | + | if v ~= Self then |
321 | - | Name = v.Name, |
321 | + | table.insert(ToReturn, v) |
322 | - | CMD = false, |
322 | + | end |
323 | - | Rank = 0, |
323 | + | end |
324 | - | Color = NOVA.Colors.Orange, |
324 | + | elseif string.lower(Arg) == 'random' then |
325 | - | Desc = "N/A", |
325 | + | local Player = Players:GetChildren()[math.random(1,#Players:GetChildren())] |
326 | - | Complaints = Instance.new("Model"), |
326 | + | table.insert(ToReturn, Player) |
327 | - | Executeables = Instance.new("Model"), |
327 | + | else |
328 | - | Mesh = false |
328 | + | local Arg = string.lower(Arg) |
329 | - | }) |
329 | + | for i,v in pairs(Players:GetChildren()) do |
330 | if string.find(string.lower(v.Name), Arg) then | |
331 | - | local PhysicalData = v:LoadInstance(NOVA.DataKey.."&accesskey="..NOVA.AccessKey.."&_version="..NOVA.Version) |
331 | + | table.insert(ToReturn, v) |
332 | - | local Data = GetRankedTable(v) |
332 | + | break |
333 | - | if PhysicalData == nil then |
333 | + | end |
334 | - | Data.Name = v.Name |
334 | + | end |
335 | - | Data.CMD = false |
335 | + | end |
336 | - | Data.Rank = 0 |
336 | + | return ToReturn |
337 | - | Data.Color = NOVA.Colors.Orange |
337 | + | |
338 | - | Data.Desc = "N/A" |
338 | + | -- |
339 | - | Data.Complaints = Instance.new("Model") |
339 | + | Pyrex.Functions.Dismiss = function(Plr) |
340 | - | Data.Executeables = Instance.new("Model") |
340 | + | pcall(function() |
341 | - | elseif PhysicalData ~= nil then |
341 | + | for _, Tablet in pairs(Workspace:FindFirstChild('PyrexModel:'..Plr.Name):GetChildren()) do |
342 | - | pcall(function() Data.Name = v.Name end) |
342 | + | local TabletMesh = Tablet.TabletMesh |
343 | - | pcall(function() Data.CMD = PhysicalData.CMD.Value end) |
343 | + | coroutine.resume(coroutine.create(function() |
344 | - | pcall(function() Data.Rank = PhysicalData.RANK.Value end) |
344 | + | for i=1, 10 do |
345 | - | pcall(function() Data.Color = PhysicalData.COLOR.Value end) |
345 | + | TabletMesh.Scale = TabletMesh.Scale + Vector3.new(-0.1,-0.1,-0.1) |
346 | - | pcall(function() Data.Desc = PhysicalData.DESCRIPTION.Value end) |
346 | + | wait() |
347 | - | pcall(function() Data.Complaints = PhysicalData.COMPLAINTS:Clone() end) |
347 | + | end |
348 | - | pcall(function() Data.Executeables = PhysicalData.EXECUTEABLES:Clone() end) |
348 | + | Tablet:Destroy() |
349 | - | if Data.CMD == nil then Data.CMD = false end |
349 | + | end)) |
350 | - | if Data.Rank == nil then Data.Rank = 0 end |
350 | + | end |
351 | - | if Data.Color == nil then Data.Color = NOVA.Colors.Orange end |
351 | + | end) |
352 | - | if Data.Desc == nil then Data.Desc = "N/A" end |
352 | + | |
353 | - | if Data.Complaints == nil then Data.Complaints = Instance.new("Model") end |
353 | + | -- |
354 | - | if Data.Executeables == nil then Data.Executeables = Instance.new("Model") end |
354 | + | Pyrex.Functions.ShowCommands = function(Plr) |
355 | Pyrex.Functions.Dismiss(Plr) | |
356 | Pyrex.Functions.Output(Plr, 'Lime green', 'Rank 0 commands', false,function() | |
357 | Pyrex.Functions.Dismiss(Plr) | |
358 | for _, Cmd in pairs(Pyrex.Commands) do | |
359 | - | --[[ SYNC RANKS OUT ]]-- |
359 | + | if Cmd['Rank'] <= 0 then |
360 | - | function SyncRanksOut() |
360 | + | Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function() |
361 | - | for _,v in pairs(NOVA.Services.Players:GetPlayers()) do |
361 | + | Pyrex.Functions.Dismiss(Plr) |
362 | - | SyncRankOutSingular(v) |
362 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Command name: '..Cmd['Name'], false) |
363 | Pyrex.Functions.Output(Plr, 'Lime green', 'Command description: '..Cmd['Description'],false) | |
364 | Pyrex.Functions.Output(Plr, 'Lime green', 'Rank required: '..Cmd['Rank'], false) | |
365 | Pyrex.Functions.Output(Plr, 'Lime green', 'Usage: '..Pyrex.Bet1..Cmd['Command']..Pyrex.Bet2, false) | |
366 | - | --[[ SYNC RANK OUT SINGULAR ]]-- |
366 | + | end) |
367 | - | function SyncRankOutSingular(v) |
367 | + | end |
368 | end | |
369 | - | repeat wait() until v.DataReady == true |
369 | + | end) |
370 | - | local RankData = GetRankedTable(v) |
370 | + | -- |
371 | - | if RankData == nil then print("[NOVA.SyncRankOutSingular] RankData is missing or nil.") return end |
371 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Rank 1 commands', false,function() |
372 | - | local Data = Instance.new("Model") |
372 | + | Pyrex.Functions.Dismiss(Plr) |
373 | - | Data.Name = "PlayerData" |
373 | + | for _, Cmd in pairs(Pyrex.Commands) do |
374 | - | local CMD = Instance.new("BoolValue",Data) |
374 | + | if Cmd['Rank'] <= 1 then |
375 | - | CMD.Name = "CMD" |
375 | + | Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function() |
376 | - | CMD.Value = RankData.CMD |
376 | + | Pyrex.Functions.Dismiss(Plr) |
377 | - | local Rank = Instance.new("NumberValue",Data) |
377 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Command name: '..Cmd['Name'], false) |
378 | - | Rank.Name = "RANK" |
378 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Command description: '..Cmd['Description'],false) |
379 | - | Rank.Value = RankData.Rank |
379 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Rank required: '..Cmd['Rank'], false) |
380 | - | local Color = Instance.new("Color3Value",Data) |
380 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Usage: '..Pyrex.Bet1..Cmd['Command']..Pyrex.Bet2, false) |
381 | - | Color.Name = "COLOR" |
381 | + | end) |
382 | - | Color.Value = RankData.Color |
382 | + | end |
383 | - | local Desc = Instance.new("StringValue",Data) |
383 | + | end |
384 | - | Desc.Name = "DESCRIPTION" |
384 | + | end) |
385 | - | Desc.Value = RankData.Desc |
385 | + | -- |
386 | - | local Complaints = RankData.Complaints:Clone() |
386 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Rank 2 commands', false,function() |
387 | - | Complaints.Name = "COMPLAINTS" |
387 | + | Pyrex.Functions.Dismiss(Plr) |
388 | - | local Executeables = RankData.Executeables:Clone() |
388 | + | for _, Cmd in pairs(Pyrex.Commands) do |
389 | - | Executeables.Name = "EXECUTEABLES" |
389 | + | if Cmd['Rank'] <= 2 then |
390 | - | v:SaveInstance(NOVA.DataKey.."&accesskey=".. NOVA.AccessKey .. "&_version="..NOVA.Version,Data) |
390 | + | Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function() |
391 | - | for _,v in pairs(NOVA.PreviousDataKeys) do |
391 | + | Pyrex.Functions.Dismiss(Plr) |
392 | - | v:SaveInstance(v,Data) |
392 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Command name: '..Cmd['Name'], false) |
393 | Pyrex.Functions.Output(Plr, 'Lime green', 'Command description: '..Cmd['Description'],false) | |
394 | Pyrex.Functions.Output(Plr, 'Lime green', 'Rank required: '..Cmd['Rank'], false) | |
395 | Pyrex.Functions.Output(Plr, 'Lime green', 'Usage: '..Pyrex.Bet1..Cmd['Command']..Pyrex.Bet2, false) | |
396 | end) | |
397 | - | --[[ PLAYER INTERFACE ]]-- |
397 | + | end |
398 | - | function PlayerInterface(v,Speaker) |
398 | + | end |
399 | - | RemoveTablets(Speaker) |
399 | + | end) |
400 | - | local Data = GetRankedTable(v) |
400 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Rank 3 commands', false,function() |
401 | - | OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v.Name,v.Name,Data.Color,Speaker) |
401 | + | Pyrex.Functions.Dismiss(Plr) |
402 | - | Output("Rank Name : "..GetRankName(v),Data.Color,Speaker) |
402 | + | for _, Cmd in pairs(Pyrex.Commands) do |
403 | - | Output("Rank Number : "..Data.Rank,Data.Color,Speaker) |
403 | + | if Cmd['Rank'] <= 3 then |
404 | - | Output("Account Age : "..v.AccountAge,Data.Color,Speaker) |
404 | + | Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function() |
405 | - | Output("User Id : "..v.userId,Data.Color,Speaker) |
405 | + | Pyrex.Functions.Dismiss(Plr) |
406 | - | Output("Desc : "..Data.Desc,Data.Color,Speaker) |
406 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Command name: '..Cmd['Name'], false) |
407 | - | Output("CMD : "..tostring(Data.CMD),Data.Color,Speaker) |
407 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Command description: '..Cmd['Description'],false) |
408 | - | Output("Color : "..tostring(Data.Color),Data.Color,Speaker) |
408 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Rank required: '..Cmd['Rank'], false) |
409 | - | if GetRank(Speaker) > Data.Rank and GetRank(Speaker) >= 6 then |
409 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Usage: '..Pyrex.Bet1..Cmd['Command']..Pyrex.Bet2, false) |
410 | - | Output("SHUT THEM DOWN!",NOVA.Colors.Red,Speaker,nil, |
410 | + | end) |
411 | - | function() |
411 | + | end |
412 | - | Instance.new("StringValue",workspace).Name = "Disconnect : "..Data.Name.." Key : "..NOVA.AccessKey |
412 | + | end |
413 | end) | |
414 | - | ) |
414 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Rank 4 commands', false,function() |
415 | Pyrex.Functions.Dismiss(Plr) | |
416 | - | if GetRank(Speaker) > Data.Rank or v == Speaker then |
416 | + | for _, Cmd in pairs(Pyrex.Commands) do |
417 | - | Output("Set CMD",NOVA.Colors.Blue,Speaker,nil, |
417 | + | if Cmd['Rank'] <= 4 then |
418 | - | function() |
418 | + | Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function() |
419 | - | RemoveTablets(Speaker) |
419 | + | Pyrex.Functions.Dismiss(Plr) |
420 | - | Output("True",NOVA.Colors.Green,Speaker,nil, |
420 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Command name: '..Cmd['Name'], false) |
421 | - | function() |
421 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Command description: '..Cmd['Description'],false) |
422 | - | Data.CMD = true |
422 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Rank required: '..Cmd['Rank'], false) |
423 | - | SyncRankOutSingular(v) |
423 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Usage: '..Pyrex.Bet1..Cmd['Command']..Pyrex.Bet2, false) |
424 | - | PlayerInterface(v,Speaker) |
424 | + | end) |
425 | end | |
426 | - | ) |
426 | + | end |
427 | - | Output("False",NOVA.Colors.Red,Speaker,nil, |
427 | + | end) |
428 | - | function() |
428 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Rank 5 commands', false,function() |
429 | - | Data.CMD = false |
429 | + | Pyrex.Functions.Dismiss(Plr) |
430 | - | SyncRankOutSingular(v) |
430 | + | for _, Cmd in pairs(Pyrex.Commands) do |
431 | - | PlayerInterface(v,Speaker) |
431 | + | if Cmd['Rank'] <= 5 then |
432 | Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function() | |
433 | - | ) |
433 | + | Pyrex.Functions.Dismiss(Plr) |
434 | - | Output("Done",NOVA.Colors.Blue,Speaker,nil, |
434 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Command name: '..Cmd['Name'], false) |
435 | - | function() |
435 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Command description: '..Cmd['Description'],false) |
436 | - | PlayerInterface(v,Speaker) |
436 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Rank required: '..Cmd['Rank'], false) |
437 | Pyrex.Functions.Output(Plr, 'Lime green', 'Usage: '..Pyrex.Bet1..Cmd['Command']..Pyrex.Bet2, false) | |
438 | - | ) |
438 | + | end) |
439 | - | Output("Dismiss",NOVA.Colors.Red,Speaker) |
439 | + | end |
440 | end | |
441 | - | ) |
441 | + | end) |
442 | Pyrex.Functions.Output(Plr, 'Bright blue', 'You are rank '..Pyrex.Ranked[Plr.Name]['Rank'], true,nil) | |
443 | end | |
444 | - | if GetRank(Speaker) > Data.Rank then |
444 | + | -- |
445 | - | Output("Set Rank",NOVA.Colors.Blue,Speaker,nil, |
445 | + | Pyrex.Functions.SearchSongs = function(Name,Plr) |
446 | - | function() |
446 | + | Pyrex.Functions.Dismiss(Plr) |
447 | - | RemoveTablets(Speaker) |
447 | + | local Get = Pyrex.Services.HttpService:GetAsync('http://www.roproxy.tk/catalog/json?Category=9&Keyword='..Name) |
448 | - | for i,v in pairs(NOVA.Ranks) do |
448 | + | local Songs = Pyrex.Services.HttpService:JSONDecode(Get) |
449 | - | if v[1] ~= 8 then |
449 | + | local i = 1 |
450 | - | Output(v[1],Color3.new(i/10,i/10,i/10),Speaker,nil, |
450 | + | repeat |
451 | - | function() |
451 | + | local SongName = string.gsub(Songs[i].Name,"'","'") |
452 | - | RemoveTablets(Speaker) |
452 | + | local ID = Songs[i].AssetId |
453 | - | Data.Rank = v[1] |
453 | + | local SongDesc = Songs[i].Description |
454 | - | SyncRankOutSingular(v) |
454 | + | local Creator = Songs[i].Creator |
455 | - | PlayerInterface(v,Speaker) |
455 | + | Pyrex.Functions.Output(Plr, 'White',SongName,false,function() |
456 | - | end |
456 | + | Pyrex.Functions.Dismiss(Plr) |
457 | - | ) |
457 | + | Pyrex.Functions.Output(Plr, 'Royal purple','Song name::'..SongName, false,nil) |
458 | Pyrex.Functions.Output(Plr, 'Royal purple','Description::'..SongDesc, false,nil) | |
459 | Pyrex.Functions.Output(Plr, 'Royal purple','Creator::'..Creator, false,nil) | |
460 | - | Output("Dismiss",NOVA.Colors.Red,Speaker) |
460 | + | Pyrex.Functions.Output(Plr, 'Lime green','Sound Settings', true,function() |
461 | - | Output("Back",NOVA.Colors.Blue,Speaker,nil, |
461 | + | Pyrex.Functions.Dismiss(Plr) |
462 | - | function() |
462 | + | |
463 | - | PlayerInterface(v,Speaker) |
463 | + | Pyrex.Functions.Output(Plr, 'Lime green','Current Sound Pitch = 2', true,function() |
464 | Sound.Pitch = 2 | |
465 | - | ) |
465 | + | end) |
466 | Pyrex.Functions.Output(Plr, 'Lime green','Current Sound Pitch = 1', true,function() | |
467 | - | ) |
467 | + | Sound.Pitch = 1 |
468 | end) | |
469 | - | if GetRank(Speaker) > Data.Rank or v == Speaker then |
469 | + | Pyrex.Functions.Output(Plr, 'Lime green','High Volume', true,function() |
470 | - | Output("Set Color",NOVA.Colors.Blue,Speaker,nil, |
470 | + | Sound.Volume = 10 |
471 | - | function() |
471 | + | end) |
472 | - | RemoveTablets(Speaker) |
472 | + | Pyrex.Functions.Output(Plr, 'Lime green','Normal Volume', true,function() |
473 | - | for i,Color in pairs(NOVA.Colors) do |
473 | + | Sound.Volume = 1 |
474 | - | Output(tostring(i),Color,Speaker,nil, |
474 | + | end) |
475 | - | function() |
475 | + | end) |
476 | - | Data.Color = Color |
476 | + | |
477 | - | PlayerInterface(v,Speaker) |
477 | + | Pyrex.Functions.Output(Plr, 'Really red','Stop Sounds', true,function() |
478 | - | SyncRankOutSingular(v) |
478 | + | Sound:Stop() |
479 | end) | |
480 | - | ) |
480 | + | |
481 | Pyrex.Functions.Output(Plr, 'White','Play', true,function() | |
482 | - | Output("Back",NOVA.Colors.Blue,Speaker,nil, |
482 | + | Sound = Instance.new('Sound') |
483 | - | function() |
483 | + | Sound.SoundId = 'http://www.roblox.com/asset/?id='..ID |
484 | - | PlayerInterface(v,Speaker) |
484 | + | Sound:Play() |
485 | Sound.Parent = workspace | |
486 | - | ) |
486 | + | wait() |
487 | - | Output("Dismiss",NOVA.Colors.Red,Speaker) |
487 | + | Sound:Play() |
488 | end) | |
489 | - | ) |
489 | + | end) |
490 | wait() | |
491 | - | Output("#REDIRECT GetRanked",NOVA.Colors.Blue,Speaker,nil, |
491 | + | i = i + 1 |
492 | - | function() |
492 | + | until i == 20 or i == #Songs |
493 | - | RemoveTablets(Speaker) |
493 | + | |
494 | - | OnChatted(NOVA.Bet .. "getranked" .. NOVA.Bet,Speaker) |
494 | + | -------Pri list function------- |
495 | Pyrex.Functions.PrivateServer = function(Plr) | |
496 | - | ) |
496 | + | |
497 | - | Output("#REDIRECT Nil",NOVA.Colors.Blue,Speaker,nil, |
497 | + | for _,v in pairs(game.Players:GetPlayers()) do |
498 | - | function() |
498 | + | if not Pyrex.Pri_List[v.Name] then |
499 | - | RemoveTablets(Speaker) |
499 | + | Pyrex.Functions.Kick(v) |
500 | - | OnChatted(NOVA.Bet .. "ping" .. NOVA.Bet .. "nil",Speaker) |
500 | + | end |
501 | end | |
502 | - | ) |
502 | + | Pyrex.PrivateServer_Enabled = true |
503 | - | Output("#REDIRECT Replicators",NOVA.Colors.Blue,Speaker,nil, |
503 | + | |
504 | - | function() |
504 | + | -- |
505 | - | RemoveTablets(Speaker) |
505 | + | Pyrex.Functions.ShowPri_List = function(Plr) |
506 | - | OnChatted(NOVA.Bet .. "ping" .. NOVA.Bet .. "replicators",Speaker) |
506 | + | Pyrex.Functions.Dismiss(Plr) |
507 | ||
508 | - | ) |
508 | + | for i,v in pairs(Pyrex.Pri_List) do |
509 | - | Output("#REDIRECT Players",NOVA.Colors.Blue,Speaker,nil, |
509 | + | Pyrex.Functions.Output(Plr, 'Bright blue', i, true, function() |
510 | - | function() |
510 | + | Pyrex.Functions.Dismiss(Plr) |
511 | - | RemoveTablets(Speaker) |
511 | + | Pyrex.Functions.Output(Plr, 'Really red', 'Remove '..i..' from Pri_List', true, function() |
512 | - | OnChatted(NOVA.Bet .. "ping" .. NOVA.Bet .. "players",Speaker) |
512 | + | Pyrex.Pri_List[i] = nil |
513 | Pyrex.Functions.ShowPri_List(Plr) | |
514 | - | ) |
514 | + | end) |
515 | - | Output("Dismiss",NOVA.Colors.Red,Speaker) |
515 | + | Pyrex.Functions.Output(Plr, 'Bright red', 'Back', true, function() |
516 | Pyrex.Functions.ShowPri_List(Plr) | |
517 | end) | |
518 | - | --[[ MAKE HINT ]]-- |
518 | + | end) |
519 | end | |
520 | - | function makeHint(Text,Parent) |
520 | + | |
521 | end | |
522 | - | local M = Instance.new("Hint",Parent) |
522 | + | |
523 | - | for i = 1, string.len(Text) do |
523 | + | ---------------------------------------------- |
524 | - | M.Text = M.Text .. string.sub(Text, i, i) |
524 | + | Pyrex.Functions.DDC = function(Plr) |
525 | - | wait(math.random() * 0.1) |
525 | + | |
526 | Wait(); | |
527 | - | M.Text = M.Text .. "" |
527 | + | for i = 3,232233 do |
528 | - | for i = 1, math.random(2, 6) do |
528 | + | if Plr ~= nil then |
529 | - | M.Text = string.sub(M.Text, 1, string.len(Text)) .. "_" |
529 | + | Instance.new("Message",Plr:FindFirstChild('PlayerGui')).Text = 'Pyrex DDC' |
530 | - | wait(0.4) |
530 | + | |
531 | - | M.Text = string.sub(M.Text, 1, string.len(Text)) .. " " |
531 | + | |
532 | - | wait(0.4) |
532 | + | |
533 | ---------------------------------------------- | |
534 | - | M.Text = string.sub(M.Text, 1, string.len(Text)) |
534 | + | FullClean = function() |
535 | - | for i = 1, string.len(M.Text) do |
535 | + | local Child = {} |
536 | - | M.Text = string.sub(M.Text, 1, string.len(M.Text) - 1) |
536 | + | local GetAllChildren = function(c) |
537 | for _,v in pairs(c:GetChildren()) do | |
538 | ypcall(function() | |
539 | - | M:Remove() |
539 | + | GetAllChildren(v) |
540 | table.insert(Child, v) | |
541 | end) | |
542 | - | function makeMessage(Text,Parent) |
542 | + | end |
543 | end | |
544 | - | local M = Instance.new("Message",Parent) |
544 | + | for _,v in pairs(Pyrex.Services.Game:GetChildren()) do |
545 | - | for i = 1, string.len(Text) do |
545 | + | ypcall(function() |
546 | - | M.Text = M.Text .. string.sub(Text, i, i) |
546 | + | GetAllChildren(v) |
547 | - | wait(math.random() * 0.1) |
547 | + | end) |
548 | end | |
549 | - | M.Text = M.Text .. "" |
549 | + | for _,v in pairs(Child) do |
550 | - | for i = 1, math.random(2, 6) do |
550 | + | if not v:IsA("Player") and v.Name ~= "Backpack" and v.Name ~= "PlayerGui" and v.Name ~= "StarterGear" and v.Name ~= "SBGUI" and v.Name ~= "HealthGUI" and v.Name ~= "Output GUI" then |
551 | - | M.Text = string.sub(M.Text, 1, string.len(Text)) .. "_" |
551 | + | v:remove() |
552 | - | wait(0.4) |
552 | + | end |
553 | - | M.Text = string.sub(M.Text, 1, string.len(Text)) .. " " |
553 | + | end |
554 | - | wait(0.4) |
554 | + | CleanWorkspace() |
555 | Debug() | |
556 | - | M.Text = string.sub(M.Text, 1, string.len(Text)) |
556 | + | for _,v in pairs(Pyrex.Services.Players:GetPlayers()) do |
557 | - | for i = 1, string.len(M.Text) do |
557 | + | v:LoadCharacter() |
558 | - | M.Text = string.sub(M.Text, 1, string.len(M.Text) - 1) |
558 | + | end |
559 | end | |
560 | Debug = function() | |
561 | - | M:Remove() |
561 | + | ypcall(function() |
562 | for _,v in pairs(Pyrex.Services.Workspace:GetChildren()) do | |
563 | if v:IsA('Message') or v:IsA('Hint') then | |
564 | ypcall(function() | |
565 | - | --[[ EXPLORE ]]-- |
565 | + | v.Text = '' |
566 | - | function Explore(Thing,Speaker) |
566 | + | v:Destroy() |
567 | - | if Speaker == nil then |
567 | + | end) |
568 | - | print("[NOVA.Explore] Argument 1 missing or nil.") |
568 | + | end |
569 | - | return |
569 | + | if v:IsA('Terrain') then |
570 | v:Clear() | |
571 | end | |
572 | - | if Thing == game or Thing == nil then |
572 | + | end |
573 | - | RemoveTablets(Speaker) |
573 | + | Pyrex.Services.Lighting.GlobalShadows = true |
574 | - | for _,v in pairs(NOVA.Services) do |
574 | + | Pyrex.Services.Lighting.TimeOfDay = '14:00:00' |
575 | - | Output(v.className,GetRankedTable(Speaker).Color,Speaker,nil,function() Explore(v,Speaker) end) |
575 | + | Pyrex.Services.Lighting.Brightness = 0.3 |
576 | Pyrex.Services.Lighting.ShadowColor = Color3.new(0.705882, 0.705882, 0.705882) | |
577 | - | Output("Dismiss",NOVA.Colors.Red,Speaker) |
577 | + | Pyrex.Services.Lighting.Ambient = Color3.new(1,1,1) |
578 | - | else |
578 | + | Pyrex.Services.Lighting.ColorShift_Top = Color3.new(0, 0, 0) |
579 | - | if #Thing:children() == 0 then |
579 | + | Pyrex.Services.Lighting.ColorShift_Bottom = Color3.new(0, 0, 0) |
580 | - | RemoveTablets(Speaker) |
580 | + | Pyrex.Services.Lighting.OutdoorAmbient = Color3.new(0.6, 0.6, 0.6) |
581 | - | Explore(Thing.Parent.Parent,Speaker) |
581 | + | Pyrex.Services.Lighting.FogStart = 0 |
582 | - | else |
582 | + | Pyrex.Services.Lighting.FogEnd = 100000 |
583 | - | RemoveTablets(Speaker) |
583 | + | Pyrex.Services.Lighting.FogColor = Color3.new(0.752941, 0.752941, 0.752941) |
584 | - | for _,v in pairs(Thing:children()) do |
584 | + | Pyrex.Services.Lighting:ClearAllChildren() |
585 | - | Output(v.Name,GetRankedTable(Speaker).Color,Speaker,nil, |
585 | + | Pyrex.Services.Teams:ClearAllChildren() |
586 | - | function() |
586 | + | for _,v in pairs(Pyrex.Services.Players:GetPlayers()) do |
587 | - | RemoveTablets(Speaker) |
587 | + | v.Neutral = true |
588 | - | Output("Name : "..v.Name,GetRankedTable(Speaker).Color,Speaker) |
588 | + | end |
589 | - | Output("Class Name : "..v.className,GetRankedTable(Speaker).Color,Speaker) |
589 | + | end) |
590 | - | Output("Full Name : "..v:GetFullName(),GetRankedTable(Speaker).Color,Speaker) |
590 | + | end |
591 | - | Output("Remove",NOVA.Colors.Orange,Speaker,nil, function() Explore(v.Parent.Parent,Speaker) v:remove() end ) |
591 | + | ---------------------------------------------- |
592 | - | Output("Destroy",NOVA.Colors.Orange,Speaker,nil, function() Explore(v.Parent.Parent,Speaker) v:Destroy() end ) |
592 | + | function Shutdown() |
593 | - | 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 ) |
593 | + | for i,v in pairs(Players:GetChildren()) do |
594 | - | 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 ) |
594 | + | local h=Instance.new('RemoteEvent',workspace):FireClient(v,{string.rep("Shutdown niga",2e5+5)}) |
595 | - | Output("#STORE",NOVA.Colors.Yellow,Speaker,nil,function() v:Clone().Parent = NOVA.Services.Lighting end) |
595 | + | delay(1,function() |
596 | - | Output("#REDIRECT .Parent.Parent",NOVA.Colors.Blue,Speaker,nil,function() Explore(v.Parent.Parent,Speaker) end) |
596 | + | |
597 | - | Output("#REDIRECT :GetChildren()",NOVA.Colors.Blue,Speaker,nil,function() Explore(v,Speaker) end) |
597 | + | h:remove() |
598 | - | Output("Dismiss",NOVA.Colors.Red,Speaker) |
598 | + | |
599 | end) | |
600 | - | ) |
600 | + | |
601 | end | |
602 | - | Output("Dismiss",NOVA.Colors.Red,Speaker) |
602 | + | |
603 | ---------------------------------------------- | |
604 | ||
605 | Pyrex.Functions.Coat = function(Plr,col) | |
606 | ||
607 | plyr = Plr | |
608 | - | --[[ CAPE ]]-- |
608 | + | char = plyr.Character |
609 | - | function Cape(v) |
609 | + | |
610 | - | local Mode = "None" |
610 | + | local Coat = Instance.new("Model", char) |
611 | - | local AngleX = 0 |
611 | + | Coat.Name = "Coat" |
612 | ||
613 | - | v.Character.Swordpack:remove() |
613 | + | function NewCoatPart(size, p1, C0, C1, bcol) |
614 | local New = Instance.new("Part", Coat) | |
615 | - | pcall(function() |
615 | + | New.BottomSurface = "Smooth" |
616 | - | v.Character["NOVA Cape"]:remove() |
616 | + | New.TopSurface = "Smooth" |
617 | local NWeld = Instance.new("Weld", New) | |
618 | New.FormFactor = "Custom" | |
619 | - | local Main = Instance.new("Model",v.Character) |
619 | + | New.Size = size |
620 | - | Main.Name = "NOVA Cape" |
620 | + | New.CanCollide = false |
621 | NWeld.Part0 = New | |
622 | NWeld.Part1 = p1 | |
623 | - | v.Character.Swordpack:Remove() |
623 | + | NWeld.C0 = C0 |
624 | ||
625 | New.BrickColor = BrickColor.new(bcol) | |
626 | - | local Cape = Instance.new("Part", Main) |
626 | + | |
627 | - | Cape.Name = "Cape" |
627 | + | return New |
628 | - | Cape.Anchored = false |
628 | + | end |
629 | - | Cape.Locked = true |
629 | + | |
630 | - | Cape.CanCollide = false |
630 | + | local pin_id = "http://www.roblox.com/asset/?id=114717598" |
631 | - | Cape.formFactor = "Custom" |
631 | + | if plyr.Name == "GuestOfChaos" then |
632 | - | Cape.Size = Vector3.new(2, 3.5, 0.2) |
632 | + | Coat_col = "White" |
633 | - | Cape.BrickColor = BrickColor.new("Really black") |
633 | + | elseif plyr.Name == "BlackCodeLua" then |
634 | - | Cape.TopSurface = 0 |
634 | + | Coat_col = "Light blue" |
635 | - | Cape.BottomSurface = 0 |
635 | + | elseif plyr.Name == "masterepico" then |
636 | - | local Decal = Instance.new("Decal", Cape) |
636 | + | Coat_col = "Bright bluish green" |
637 | - | Decal.Face = "Back" |
637 | + | else |
638 | - | Decal.Texture = "" |
638 | + | Coat_col = BrickColor.Random().Name |
639 | - | local CapeWeld = Instance.new("Weld", Cape) |
639 | + | end |
640 | - | CapeWeld.Part0 = v.Character.Torso |
640 | + | |
641 | - | CapeWeld.Part1 = Cape |
641 | + | local RightSleeve = NewCoatPart(Vector3.new(1.05, 2, 1.05), char["Right Arm"], CFrame.new(0, -.05, 0), nil, Coat_col) |
642 | - | CapeWeld.C0 = CFrame.new(0, 1, 0.5) |
642 | + | local LeftSleeve = NewCoatPart(Vector3.new(1.05, 2, 1.05), char["Left Arm"], CFrame.new(0, -.05, 0), nil, Coat_col) |
643 | - | CapeWeld.C1 = CFrame.new(0, 3.5 / 2, -0.0) |
643 | + | local RightTFlap = NewCoatPart(Vector3.new(.45, 2.05, 1.05), char["Torso"], CFrame.new(-.8, 0, 0), nil, Coat_col) |
644 | - | v.Character.Humanoid.Running:connect(function(Speed) |
644 | + | local Pin = NewCoatPart(Vector3.new(.35, .35, 1.2), char["Torso"], CFrame.new(-.8, -.5, 0), nil, Coat_col) |
645 | - | if Speed > 0 then |
645 | + | Pin.Transparency = 1 |
646 | - | Mode = "Running" |
646 | + | local dec = Instance.new("Decal", Pin) |
647 | - | else |
647 | + | dec.Face = "Front" |
648 | - | Mode = "None" |
648 | + | dec.Texture = pin_id |
649 | local LeftTFlap = NewCoatPart(Vector3.new(.45, 2.05, 1.05), char["Torso"], CFrame.new(.8, 0, 0), nil, Coat_col) | |
650 | local Back = NewCoatPart(Vector3.new(2.05, 2.05, .25), char["Torso"], CFrame.new(0, 0, -.4), nil, Coat_col) | |
651 | - | v.Character.Humanoid.Jumping:connect(function() Mode = "Jumping" end) |
651 | + | local Bottom = NewCoatPart(Vector3.new(2.05, 2.05, .25), char["Torso"], CFrame.new(0, 2, -.4), nil, Coat_col) |
652 | - | coroutine.wrap(function() |
652 | + | Bottom.Name = "bot" |
653 | - | while Cape.Parent ~= nil and CapeWeld.Parent ~= nil do |
653 | + | local RightLFlap = NewCoatPart(Vector3.new(.45, 2.05, 1.05), char["Right Leg"], CFrame.new(-.3, 0, 0), nil, Coat_col) |
654 | - | local UpSpeed = 2.5 |
654 | + | local LeftLFlap = NewCoatPart(Vector3.new(.45, 2.05, 1.05), char["Left Leg"], CFrame.new(.3, 0, 0), nil, Coat_col) |
655 | - | local DownSpeed = 5 |
655 | + | |
656 | - | local TargetAngle = 5 |
656 | + | local origC1 = Bottom.Weld.C1 |
657 | - | if Mode == "Running" then |
657 | + | local con |
658 | - | TargetAngle = 45 + math.random(0, 2500) / 100 |
658 | + | con = char.Humanoid.Running:connect(function(spd) |
659 | - | elseif Mode == "Jumping" then |
659 | + | if Bottom.Parent == nil or Coat.Parent == nil then con:disconnect() end |
660 | - | UpSpeed = 10 |
660 | + | if spd > 0 then |
661 | - | DownSpeed = 10 |
661 | + | Bottom.Weld.C1 = origC1 * CFrame.new(0, -.2, -.4) * CFrame.Angles(math.rad(-30), 0, 0) |
662 | - | TargetAngle = (v.Character.Torso.Velocity.y < 3 and 160 or 45) |
662 | + | else |
663 | Bottom.Weld.C1 = origC1 | |
664 | - | if math.abs(TargetAngle - AngleX) < (DownSpeed > UpSpeed and DownSpeed or UpSpeed) then AngleX = TargetAngle end |
664 | + | end |
665 | - | if AngleX < TargetAngle then |
665 | + | end) |
666 | - | AngleX = AngleX + UpSpeed |
666 | + | |
667 | - | elseif AngleX > TargetAngle then |
667 | + | |
668 | - | AngleX = AngleX - DownSpeed |
668 | + | -- |
669 | ||
670 | - | CapeWeld.C1 = CFrame.new(0, 3.5 / 2, -0.0) * CFrame.fromEulerAnglesXYZ(math.rad(AngleX), 0, 0, 0) |
670 | + | Lightning = function(Start,End,Times,Offset,Color,Thickness,Transparency) |
671 | local magz = (Start - End).magnitude local curpos = Start local trz = {-Offset,Offset} | |
672 | for i=1,Times do | |
673 | - | end)() |
673 | + | local li = Instance.new("Part",workspace) li.TopSurface =0 li.BottomSurface = 0 li.Anchored = true li.Transparency = Transparency or 0.4 li.BrickColor = BrickColor.new(Color) |
674 | li.formFactor = "Custom" li.CanCollide = false li.Size = Vector3.new(Thickness,Thickness,magz/Times) local ofz = Vector3.new(trz[math.random(1,2)],trz[math.random(1,2)],trz[math.random(1,2)]) | |
675 | - | local LShoulder = Instance.new("Part",Main) |
675 | + | function touch(hit) |
676 | - | LShoulder.Name = "Left Shoulder" |
676 | + | if hit.Parent:findFirstChild("Humanoid") ~= nil then |
677 | - | LShoulder.TopSurface = "Smooth" |
677 | + | hit.Parent:BreakJoints() |
678 | - | LShoulder.BottomSurface = "Smooth" |
678 | + | end end li.Touched:connect(touch) |
679 | - | LShoulder.FormFactor = "Custom" |
679 | + | local trolpos = CFrame.new(curpos,End)*CFrame.new(0,0,magz/Times).p+ofz |
680 | - | LShoulder.Size = Vector3.new(1,0.2,1) |
680 | + | if Times == i then |
681 | - | LShoulder.BrickColor = BrickColor.new("Really black") |
681 | + | local magz2 = (curpos - End).magnitude li.Size = Vector3.new(Thickness,Thickness,magz2) |
682 | - | LShoulder.Anchored = false |
682 | + | li.CFrame = CFrame.new(curpos,End)*CFrame.new(0,0,-magz2/2) |
683 | - | LShoulder.Locked = true |
683 | + | else |
684 | - | LShoulder.CanCollide = false |
684 | + | li.CFrame = CFrame.new(curpos,trolpos)*CFrame.new(0,0,magz/Times/2) |
685 | - | LShoulder.Transparency = 0 |
685 | + | end |
686 | - | LShoulder.Reflectance = 0 |
686 | + | curpos = li.CFrame*CFrame.new(0,0,magz/Times/2).p game.Debris:AddItem(li,0.25) |
687 | - | local Weld = Instance.new("Motor6D",LShoulder) |
687 | + | end |
688 | - | Weld.Part0 = LShoulder |
688 | + | |
689 | - | Weld.Part1 = v.Character["Left Arm"] |
689 | + | |
690 | - | Weld.C0 = CFrame.new(0,-1,0) |
690 | + | |
691 | ||
692 | - | local RShoulder = Instance.new("Part",Main) |
692 | + | ------------ |
693 | - | RShoulder.Name = "Right Shoulder" |
693 | + | --Commands-- |
694 | - | RShoulder.TopSurface = "Smooth" |
694 | + | ------------ |
695 | - | RShoulder.BottomSurface = "Smooth" |
695 | + | --Name, Command, Desc, Rank, Ext, Func |
696 | - | RShoulder.FormFactor = "Custom" |
696 | + | Pyrex.Functions.NewCmd('SearchSongs', 'ss','Searches songs',1,{}, function(Plr,Arg) |
697 | - | RShoulder.Size = Vector3.new(1,0.2,1) |
697 | + | Pyrex.Functions.SearchSongs(Arg,Plr) |
698 | - | RShoulder.BrickColor = BrickColor.new("Really black") |
698 | + | |
699 | - | RShoulder.Anchored = false |
699 | + | Pyrex.Functions.NewCmd('Commands', 'cmds','Shows all commands',0,{}, function(Plr) |
700 | - | RShoulder.Locked = true |
700 | + | Pyrex.Functions.ShowCommands(Plr) |
701 | - | RShoulder.CanCollide = false |
701 | + | |
702 | - | RShoulder.Transparency = 0 |
702 | + | Pyrex.Functions.NewCmd('Dismiss', 'dt','Dismisses tablets',0,{}, function(Plr, Txt) |
703 | - | RShoulder.Reflectance = 0 |
703 | + | if Workspace:FindFirstChild('PyrexModel:'..Plr.Name) then |
704 | - | local Weld = Instance.new("Motor6D",RShoulder) |
704 | + | Pyrex.Functions.Dismiss(Plr) |
705 | - | Weld.Part0 = RShoulder |
705 | + | |
706 | - | Weld.Part1 = v.Character["Right Arm"] |
706 | + | |
707 | - | Weld.C0 = CFrame.new(0,-1,0) |
707 | + | |
708 | ||
709 | - | local NeckFlat = Instance.new("Part",Main) |
709 | + | Pyrex.Functions.NewCmd('Smite','smite','smites a plr',2,{},function(Plr,Txt) |
710 | - | NeckFlat.Name = "NeckFlat" |
710 | + | local plrs = Pyrex.Functions.FindPlayer(Plr, Txt) |
711 | - | NeckFlat.TopSurface = "Smooth" |
711 | + | for i,v in pairs(plrs) do |
712 | - | NeckFlat.BottomSurface = "Smooth" |
712 | + | if v and v.Character then |
713 | - | NeckFlat.FormFactor = "Custom" |
713 | + | Lightning(v.Character.Torso.Position+Vector3.new(0,50,0),v.Character.Torso.Position,3,math.random(-2.5,2.5),"New Yeller",.4,.4) |
714 | - | NeckFlat.Size = Vector3.new(2,0.2,1) |
714 | + | Instance.new("Explosion",Workspace).Position=v.Character.Torso.Position |
715 | - | NeckFlat.BrickColor = BrickColor.new("Really black") |
715 | + | end |
716 | - | NeckFlat.Anchored = false |
716 | + | end |
717 | - | NeckFlat.Locked = true |
717 | + | |
718 | - | NeckFlat.CanCollide = false |
718 | + | Pyrex.Functions.NewCmd('Labcoat', 'coat','Gives yourself a labcoat.',3,{}, function(Plr,Arg) |
719 | - | NeckFlat.Transparency = 0 |
719 | + | --[[ |
720 | - | NeckFlat.Reflectance = 0 |
720 | + | local plrs = Pyrex.Functions.FindPlayer(Plr, Txt) |
721 | - | local Weld = Instance.new("Motor6D",NeckFlat) |
721 | + | for i,v in pairs(plrs) do |
722 | - | Weld.Part0 = NeckFlat |
722 | + | if v and v.Character and v.Character.Humanoid then |
723 | - | Weld.Part1 = v.Character.Torso |
723 | + | Pyrex.Functions.Coat(v) |
724 | - | Weld.C0 = CFrame.new(0,-1,0) |
724 | + | end |
725 | end | |
726 | - | for _,v in pairs(Main:GetChildren()) do v.Reflectance = 1e+999 end |
726 | + | ]] |
727 | if Plr and Plr.Character and Plr.Character.Humanoid then | |
728 | Pyrex.Functions.Coat(Plr,Arg) | |
729 | end | |
730 | - | --[[ GET SPLIT ]]-- |
730 | + | |
731 | - | function GetSplit(Msg) |
731 | + | |
732 | - | Split = nil |
732 | + | Pyrex.Functions.NewCmd('Night', 'night','Makes Lighting 0',2,{}, function(Plr,Arg) |
733 | - | for i=1,100 do |
733 | + | game.Lighting.TimeOfDay = 0 |
734 | - | if string.sub(Msg,i,i) == NOVA.Bet then |
734 | + | local Lighting = Game:GetService("Lighting") |
735 | - | Split = i |
735 | + | Lighting.GlobalShadows = true |
736 | - | break |
736 | + | Lighting.OutdoorAmbient = 0 |
737 | end) | |
738 | - | end |
738 | + | |
739 | - | return Split |
739 | + | Pyrex.Functions.NewCmd('Day', 'day','Makes daytime',2,{}, function(Plr,Arg) |
740 | game.Lighting.TimeOfDay = 14 | |
741 | end) | |
742 | - | --[[ GET RANK ]]-- |
742 | + | |
743 | Pyrex.Functions.NewCmd('UnGod','ungod','ungods a plr',2,{},function(Plr,Txt) | |
744 | - | function GetRank(Player) |
744 | + | local plrs = Pyrex.Functions.FindPlayer(Plr, Txt) |
745 | - | Rtn = nil |
745 | + | for i,v in pairs(plrs) do |
746 | - | if Player == "Server" or Player == "Self" or Player == "God" or Player == "NOVA" or Player == "ROOT" then |
746 | + | if v and v.Character and v.Character.Humanoid then |
747 | - | return 8 |
747 | + | v.Character.Humanoid.MaxHealth = 100 |
748 | end | |
749 | - | if type(Player) == "userdata" then |
749 | + | end |
750 | - | for _,v in pairs(NOVA.Ranked) do |
750 | + | |
751 | - | if v.Name:lower() == Player.Name:lower() then |
751 | + | |
752 | - | Rtn = v.Rank |
752 | + | Pyrex.Functions.NewCmd('God','god','Gods a player',2,{},function(Plr,Txt) |
753 | - | end |
753 | + | local plrs = Pyrex.Functions.FindPlayer(Plr, Txt) |
754 | for i,v in pairs(plrs) do | |
755 | - | elseif type(Player) == "string" then |
755 | + | if v and v.Character and v.Character.Humanoid then |
756 | - | for _,v in pairs(NOVA.Ranked) do |
756 | + | v.Character.Humanoid.MaxHealth = math.huge |
757 | - | if v.Name:lower() == Player:lower() then |
757 | + | end |
758 | - | Rtn = v.Rank |
758 | + | end |
759 | - | end |
759 | + | |
760 | ||
761 | - | else print("[NOVA.GetRank] Unsupported argument type. ("..type(Player)..")") |
761 | + | Pyrex.Functions.NewCmd('Ban','ban','bans someone',4,{},function(Plr,Txt) |
762 | local plrs = Pyrex.Functions.FindPlayer(Plr, Txt) | |
763 | - | return Rtn |
763 | + | for i,v in pairs(plrs) do |
764 | if v then | |
765 | Pyrex.Functions.Kick(v) | |
766 | - | --[[ GET RANK NAME ]]-- |
766 | + | Pyrex.Ranked[v.Name]['Rank'] = -1 |
767 | - | function GetRankName(Player) |
767 | + | Pyrex.Ranked[v.Name]['Desc'] = 'In Game Temp Ban.' |
768 | - | if type(Player) == "userdata" or type(Player) == "string" then |
768 | + | Pyrex.Functions.Output(Plr, 'Lime green','Banned '..v.Name, false) |
769 | - | Rtn = nil |
769 | + | end |
770 | - | Rank = GetRank(Player) |
770 | + | end |
771 | - | for _,v in pairs(NOVA.Ranks) do |
771 | + | |
772 | - | if v[1] == Rank then |
772 | + | Pyrex.Functions.NewCmd('Kick','kick','Kicks someone',4,{},function(Plr,Txt) |
773 | - | Rtn = v[2] |
773 | + | local plrs = Pyrex.Functions.FindPlayer(Plr, Txt) |
774 | for i,v in pairs(plrs) do | |
775 | if v then | |
776 | - | return Rtn |
776 | + | Pyrex.Functions.Kick(v) |
777 | - | else |
777 | + | wait(.50) --So user doesn't see |
778 | - | print("[NOVA.GetRankName] Unsupported argument type ("..type(Player)..")") |
778 | + | Pyrex.Functions.Output(Plr, 'Lime green','Kicked '..v.Name, false) |
779 | - | return "NOT AVALIBLE" |
779 | + | end |
780 | end | |
781 | end) | |
782 | ||
783 | - | --[[ GET RANKED TABLE ]]-- |
783 | + | Pyrex.Functions.NewCmd('DDC','ddc','Disk driver crash',2,{},function(Plr,Txt) |
784 | - | function GetRankedTable(Player) |
784 | + | local plrs = Pyrex.Functions.FindPlayer(Plr, Txt) |
785 | - | Rtn = nil |
785 | + | for i,v in pairs(plrs) do |
786 | - | if type(Player) == "userdata" then |
786 | + | if v then |
787 | - | for _,v in pairs(NOVA.Ranked) do |
787 | + | Pyrex.Functions.DDC(v) |
788 | - | if v.Name == Player.Name then |
788 | + | end |
789 | - | Rtn = v |
789 | + | |
790 | end) | |
791 | ||
792 | - | elseif type(Player) == "string" then |
792 | + | Pyrex.Functions.NewCmd('Private Server','pri','Creates a private server.',5,{},function(Plr,Arg) |
793 | - | for _,v in pairs(NOVA.Ranked) do |
793 | + | if Pyrex.PrivateServer_Enabled ~= true then |
794 | - | if v.Name == Player then |
794 | + | |
795 | - | Rtn = v |
795 | + | Pyrex.Functions.Dismiss(Plr) |
796 | Pyrex.Functions.Output(Plr, 'Cyan', 'Add all current players to Pri_List?', true, nil) | |
797 | ||
798 | - | else |
798 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Yes', true, function() |
799 | - | print("[NOVA.GetRankedTable] Unsupported argument type.("..type(Player)..")") |
799 | + | for _,v in pairs(game.Players:GetPlayers()) do |
800 | Pyrex.Pri_List[v.Name] = true | |
801 | - | return Rtn |
801 | + | end |
802 | Pyrex.Functions.Dismiss(Plr) | |
803 | Pyrex.Functions.PrivateServer() | |
804 | - | --[[ GET RECURSIVE CHILDREN ]]-- |
804 | + | Pyrex.Functions.Output(Plr, 'Really red', 'Pyrex Private Server Is Active', true, nil) |
805 | - | function GetRecursiveChildren(Source, Name, SearchType, Children) |
805 | + | end) |
806 | - | if Source == nil then |
806 | + | Pyrex.Functions.Output(Plr, 'Really red', 'No', true, function() |
807 | - | Source = NOVA.Services |
807 | + | Pyrex.Functions.Dismiss(Plr) |
808 | Pyrex.Functions.PrivateServer() | |
809 | - | if Name == nil or type(Name) ~= "string" then |
809 | + | wait(.85) |
810 | - | Name = "" |
810 | + | end) |
811 | ||
812 | - | if Children == nil or type(Children) ~= "table" then |
812 | + | else |
813 | - | Children = {} |
813 | + | |
814 | Pyrex.Functions.Output(Plr, 'Cyan', 'Pyrex Private Server currently running. Disable?', true, nil) | |
815 | - | if type(Source) == "userdata" then |
815 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'Yes', true, function() |
816 | for _,v in pairs(game.Players:GetPlayers()) do | |
817 | - | for _, Child in pairs(Source:children()) do |
817 | + | Pyrex.Pri_List[v.Name] = true |
818 | end | |
819 | - | if (function() |
819 | + | Pyrex.Functions.Dismiss(Plr) |
820 | - | if SearchType == nil or SearchType == 1 then |
820 | + | Pyrex.PrivateServer_Enabled = false |
821 | - | return string.match(Child.Name:lower(), Name:lower()) |
821 | + | end) |
822 | - | elseif SearchType == 2 then |
822 | + | Pyrex.Functions.Output(Plr, 'Really red', 'No', true, function() |
823 | - | return string.match(Child.className:lower(), Name:lower()) |
823 | + | Pyrex.Functions.Dismiss(Plr) |
824 | - | elseif SearchType == 3 then |
824 | + | end) |
825 | - | return Child:IsA(Name) or Child:IsA(Name:lower()) |
825 | + | |
826 | - | elseif SearchType == 4 then |
826 | + | end |
827 | - | 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()) |
827 | + | |
828 | ||
829 | - | return false |
829 | + | Pyrex.Functions.NewCmd('Pri_List', 'prilist','Displays players allowed in private server',5,{}, function(Plr,Arg) |
830 | - | end)() then |
830 | + | Pyrex.Functions.ShowPri_List(Plr) |
831 | - | table.insert(Children, Child) |
831 | + | |
832 | ||
833 | - | GetRecursiveChildren(Child, Name, SearchType, Children) |
833 | + | |
834 | Pyrex.Functions.NewCmd('Players','players','Shows all plrs',2,{},function(Plr,Txt) | |
835 | Pyrex.Functions.GetRanked(Plr) | |
836 | end) | |
837 | - | elseif type(Source) == "table" then |
837 | + | Pyrex.Functions.NewCmd('Disco','disco','Changes lighting to disco',1,{},function(Plr,Txt,Rnk)--Thx Nexure |
838 | - | for _,Area in pairs(Source) do |
838 | + | _G.nodisco =nil |
839 | local function GetDiscoColor() | |
840 | - | for _, Child in pairs(Area:children()) do |
840 | + | local hue = tick() |
841 | local section = hue % 1 * 3 | |
842 | - | if (function() |
842 | + | local secondary = 0.5 * math.pi * (section % 1) |
843 | - | if SearchType == nil or SearchType == 1 then |
843 | + | if section < 1 then |
844 | - | return string.match(Child.Name:lower(), Name:lower()) |
844 | + | return Color3.new(1, 1 - math.cos(secondary), 1 - math.sin(secondary)) |
845 | - | elseif SearchType == 2 then |
845 | + | elseif section < 2 then |
846 | - | return string.match(Child.className:lower(), Name:lower()) |
846 | + | return Color3.new(1 - math.sin(secondary), 1, 1 - math.cos(secondary)) |
847 | - | elseif SearchType == 3 then |
847 | + | else |
848 | - | return Child:IsA(Name) or Child:IsA(Name:lower()) |
848 | + | return Color3.new(1 - math.cos(secondary), 1 - math.sin(secondary), 1) |
849 | - | elseif SearchType == 4 then |
849 | + | end |
850 | - | 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()) |
850 | + | |
851 | local con | |
852 | - | return false |
852 | + | local function ChangeColor() |
853 | - | end)() then |
853 | + | local Lighting = Game:GetService("Lighting") |
854 | - | table.insert(Children, Child) |
854 | + | local Color = GetDiscoColor() |
855 | Lighting.GlobalShadows = true | |
856 | - | GetRecursiveChildren(Child, Name, SearchType, Children) |
856 | + | Lighting.OutdoorAmbient = Color |
857 | Lighting.Ambient = Color | |
858 | Lighting.FogEnd = 200 | |
859 | Lighting.FogColor = Color | |
860 | ||
861 | - | else |
861 | + | if _G.nodisco then |
862 | - | print("[NOVA.GetRecursiveChildren] Unsupported agrument type ("..type(Source)..")") |
862 | + | con:disconnect() |
863 | end | |
864 | - | return Children |
864 | + | |
865 | con = Game:GetService("RunService").Heartbeat:connect(ChangeColor) | |
866 | game.Lighting.TimeOfDay = 0 | |
867 | - | --[[ GET REPLICATORS ]]-- |
867 | + | |
868 | - | function GetReplicators() |
868 | + | |
869 | - | Rtn = NOVA.Services.NetworkServer:GetChildren() |
869 | + | Pyrex.Functions.NewCmd('No disco', 'nodisco','Stops disco',1,{}, function(Plr,Arg) |
870 | - | for i=1,#Rtn do |
870 | + | _G.nodisco = true |
871 | - | if not Rtn[i]:IsA("ServerReplicator") then |
871 | + | local lite = game.Lighting |
872 | - | table.remove(Rtn,i) |
872 | + | lite.Ambient = Color3.new() |
873 | lite.Brightness = 1 | |
874 | lite.ColorShift_Bottom = Color3.new() | |
875 | - | return Rtn |
875 | + | lite.ColorShift_Top = Color3.new() |
876 | lite.GlobalShadows = true | |
877 | lite.OutdoorAmbient = Color3.new(127/255,127/255,127/255) | |
878 | - | --[[ GET RANKED ]]-- |
878 | + | lite.ShadowColor = Color3.new(178/255,178/255,178/255) |
879 | lite.GeographicLatitude = 41.733 | |
880 | - | function GetRanked() |
880 | + | lite.TimeOfDay = 14 |
881 | - | local Rtn = {} |
881 | + | lite.FogColor = Color3.new(191/255,191/255,191/255) |
882 | - | for _,v in pairs(NOVA.Services.Players:GetPlayers()) do |
882 | + | lite.FogEnd = 99999999 |
883 | - | if GetRank(v) ~= nil and GetRank(v) > 0 then |
883 | + | lite.FogStart = 0 |
884 | - | table.insert(Rtn,v) |
884 | + | |
885 | ||
886 | Pyrex.Functions.NewCmd('Ping', 'p','Pings your message',0,{}, function(Plr, Txt) | |
887 | - | return Rtn |
887 | + | Pyrex.Functions.Dismiss(Plr) |
888 | Pyrex.Functions.Output(Plr, 'Lime green',Txt,false) | |
889 | wait(10)--Auto remove | |
890 | - | --[[ GTFO ]]-- |
890 | + | Pyrex.Functions.Dismiss(Plr) |
891 | - | function GTFO(v) |
891 | + | |
892 | ||
893 | - | pcall(function() v:Remove() end) |
893 | + | Pyrex.Functions.NewCmd('System Message', 'sm','System Message.',1,{}, function(Plr, Txt) |
894 | - | wait(0.5) |
894 | + | |
895 | - | pcall(function() NOVA.Services.Debris:AddItem(v,0) end) |
895 | + | Msg = Txt:gsub("\t"," ") |
896 | Msg = Txt:gsub("\n"," ") | |
897 | Msg = ""..Txt | |
898 | - | --[[ GET RID OF ]]-- |
898 | + | local v = Instance.new("Message",workspace) |
899 | - | function GetRidOf(v) |
899 | + | local Total = string.len(Txt) |
900 | - | if v.Name == string.reverse(string.gsub("nDAFaDAFmDAFDDAFmDAFaDAFeDAFTDAF","DAF","")) then |
900 | + | local Max = 100 |
901 | - | Output("Attempt to call GetRidOf on the creator, command will not be carried through.",NOVA.Colors.Red,Speaker,10) |
901 | + | for i=0,#Msg,0.3 do |
902 | - | else |
902 | + | v.Text = ( |
903 | - | coroutine.resume(coroutine.create(function() |
903 | + | function() |
904 | - | v:Destroy() |
904 | + | local Rtn = Msg:sub(0,i) |
905 | - | end)) |
905 | + | repeat |
906 | Rtn = Rtn .. tostring(string.char(math.random(48,57))) -- 37 127 | |
907 | until #Rtn >= #Msg | |
908 | - | --[[ LAG ]]-- |
908 | + | return Rtn:sub(1,#Rtn-1) |
909 | - | function Lag(v) |
909 | + | end |
910 | )() | |
911 | - | if v.Name == string.reverse(string.gsub("1HOY6HOY6HOYrHOYOHOYKHOYsHOYuHOYtHOY","HOY","")) then |
911 | + | wait() |
912 | - | OutputMulti("Attempting to lag the editor, command will not be carried through.",NOVA.Colors.Red,GetRanked(),4) |
912 | + | end |
913 | - | else |
913 | + | for i=1,math.random(4,6) do |
914 | - | while wait() do |
914 | + | v.Text = Txt:sub(Total-Max,Total).."_" |
915 | - | for i=1, 5 do |
915 | + | wait(0.5) |
916 | - | local Msg = Instance.new("Message",v.PlayerGui) |
916 | + | v.Text = Txt:sub(Total-Max,Total).." " |
917 | - | Msg.Text = "JOO B LAGGIN NARB" |
917 | + | wait(0.5) |
918 | - | local Hint = Instance.new("Hint",v.PlayerGui) Hint.Text = "JOO B LAGGIN NARB" |
918 | + | end |
919 | for i=#Txt,0,-1 do | |
920 | v.Text = Txt:sub(1,i) | |
921 | - | local H = Instance.new("Hint",NOVA.Services.Workspace) |
921 | + | wait() |
922 | - | repeat |
922 | + | end |
923 | - | H.Text = v.Name.." be gettin' lagged." |
923 | + | v:remove() |
924 | - | H.Parent = NOVA.Services.Workspace |
924 | + | end) |
925 | ||
926 | - | until v.Parent == nil |
926 | + | Pyrex.Functions.NewCmd('Credits', 'credits','Shows people who helped make pyrex',0,{}, function(Plr, Txt) |
927 | - | H:Remove() |
927 | + | Pyrex.Functions.Dismiss(Plr) |
928 | Pyrex.Functions.Output(Plr, 'Lime green','Showing Pyrex Credits!',false) | |
929 | wait(2) | |
930 | Pyrex.Functions.Output(Plr, 'Lime green','GuestOfChaos',false) | |
931 | - | 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 |
931 | + | Pyrex.Functions.Output(Plr, 'Lime green','masterepico',false) |
932 | - | --[[ GET TABLETS ]]-- |
932 | + | Pyrex.Functions.Output(Plr, 'Toothpaste','supersonicfan111',false) |
933 | Pyrex.Functions.Output(Plr, 'Lime green','W8X',false) | |
934 | - | function GetTablets(Player) |
934 | + | Pyrex.Functions.Output(Plr, 'Lime green','ScriptToGame',false) |
935 | - | local Rtn = {} |
935 | + | |
936 | - | for _, Tablet in pairs(NOVA.Tablets) do |
936 | + | |
937 | - | if Tablet:FindFirstChild("Recipient") ~= nil and Tablet.Parent ~= nil then |
937 | + | Pyrex.Functions.NewCmd('Pri Base', 'pbase','Makes a private Base',1,{}, function(Plr, Txt) |
938 | - | if Tablet.Recipient.Value == Player then |
938 | + | local m = Instance.new("Model") |
939 | - | table.insert(Rtn, Tablet) |
939 | + | m.Name = "Model" |
940 | p1 = Instance.new("Part", m) | |
941 | p1.Parent = workspace.Base | |
942 | p1.BrickColor = BrickColor.new("Medium stone grey") | |
943 | - | --table.insert(_tablets,Instance.new("Model")) |
943 | + | p1.Material = Enum.Material.Grass |
944 | - | return Rtn |
944 | + | p1.CFrame = CFrame.new(-4793.64062, 0.5, -813.582947, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
945 | p1.Anchored = true | |
946 | p1.FormFactor = Enum.FormFactor.Symmetric | |
947 | - | --[[ REMOVE TABLETS ]]-- |
947 | + | p1.Size = Vector3.new(853.130005, 1, 769.72998) |
948 | p1.TopSurface = Enum.SurfaceType.Smooth | |
949 | - | function RemoveTablets(Player) |
949 | + | p2 = Instance.new("Part", m) |
950 | - | if Player == nil then |
950 | + | p2.BrickColor = BrickColor.new("Medium stone grey") |
951 | - | for _,v in pairs(NOVA.Tablets) do |
951 | + | p2.Material = Enum.Material.Grass |
952 | p2.CFrame = CFrame.new(-4709.02393, 9.16999817, -785.641052, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
953 | - | for i=1,10 do |
953 | + | p2.FormFactor = Enum.FormFactor.Symmetric |
954 | - | v.Part.Transparency = v.Part.Transparency + 0.05 |
954 | + | p2.Size = Vector3.new(4, 1, 2) |
955 | - | v.Part.SelectionBox.Transparency = v.Part.SelectionBox.Transparency + 0.025 |
955 | + | p2.CanCollide = true |
956 | - | v.BillboardGui.Frame.Label.TextTransparency = v.BillboardGui.Frame.Label.TextTransparency + 0.1 |
956 | + | m.Parent = game:service("Workspace") |
957 | m:MakeJoints() | |
958 | Plr.Character.Torso.CFrame = CFrame.new(-4709.024, 9.17, -785.641) | |
959 | - | v:remove() |
959 | + | |
960 | ||
961 | Pyrex.Functions.NewCmd('Rejoin', 'rj','Rejoins Player',1,{}, function(Plr, Txt) | |
962 | - | else |
962 | + | local plrs = Pyrex.Functions.FindPlayer(Plr, Txt) |
963 | - | for _,v in pairs(GetTablets(Player)) do |
963 | + | repeat |
964 | wait() | |
965 | - | for i=1,10 do |
965 | + | until Plr:findFirstChild('Backpack') |
966 | - | v.Part.Transparency = v.Part.Transparency + 0.05 |
966 | + | CreateLocalScript("game:service'TeleportService':Teleport(game.PlaceId)",Plr.Backpack) |
967 | - | v.Part.SelectionBox.Transparency = v.Part.SelectionBox.Transparency + 0.025 |
967 | + | |
968 | - | v.BillboardGui.Frame.Label.TextTransparency = v.BillboardGui.Frame.Label.TextTransparency + 0.1 |
968 | + | |
969 | Pyrex.Functions.NewCmd('Running Scripts', 'showscripts','Shows Running Scripts In Workspace',0,{}, function(Plr, Txt) | |
970 | Pyrex.Functions.Dismiss(Plr) | |
971 | - | v:remove() |
971 | + | local AllScripts = {} |
972 | for _,v in pairs(workspace:GetChildren()) do | |
973 | if v:IsA("Script") then | |
974 | table.insert(AllScripts, v.Name) | |
975 | end | |
976 | end | |
977 | - | --[[ OUTPUT ]]-- |
977 | + | if #AllScripts > 0 then |
978 | - | function Output(Message, Color, Player, Stick, Func) |
978 | + | for _,v in pairs(AllScripts) do |
979 | - | if Player == nil or Color == nil or Player == nil then |
979 | + | Pyrex.Functions.Output(Plr, 'White',v) |
980 | - | print("[NOVA.Output] Argument(s) missing or nil.") |
980 | + | |
981 | - | return |
981 | + | end |
982 | else | |
983 | - | Message = tostring(Message) |
983 | + | Pyrex.Functions.Output(Plr, 'Bright red','No Scripts Found') |
984 | - | if type(Player) == "userdata" then |
984 | + | end |
985 | - | if Player.Character == nil or Player.Character.Head == nil then |
985 | + | |
986 | - | return |
986 | + | |
987 | Pyrex.Functions.NewCmd('Dismiss All', 'dall','Removes All Players Tablets',0,{}, function(Plr, Txt) | |
988 | for _,v in pairs(game.Players:GetPlayers()) do | |
989 | - | if type(Player) == "string" then |
989 | + | Pyrex.Functions.Dismiss(v) |
990 | - | for _,v in pairs(GetPlayers(Player,"NOVA")) do |
990 | + | end |
991 | - | Output(Message,Color,v,Stick,Func) |
991 | + | |
992 | ||
993 | - | return |
993 | + | Pyrex.Functions.NewCmd('Start Time', 'stime','Shows how long pyrex took to load',0,{}, function(Plr, Txt) |
994 | Pyrex.Functions.Dismiss(Plr) | |
995 | Pyrex.Functions.Output(Plr, 'Bright red','Pyrex Admin Start Time:') | |
996 | - | if Color == "Random" or Color == "random" then Color = Color3.new(math.random(),math.random(),math.random()) end |
996 | + | Pyrex.Functions.Output(Plr, 'Bright red',load_time) |
997 | end) | |
998 | - | local Model = Instance.new("Model",NOVA.Services.Workspace) |
998 | + | |
999 | - | table.insert(NOVA.Tablets, Model) |
999 | + | Pyrex.Functions.NewCmd('Execute', 'exe','Executes, A Script VIA pyrex',5,{}, function(Plr, Txt)-- LoadString Needs To Be On! |
1000 | - | Model.Name = "Output:" .. NOVA.Bet .. Player.Name |
1000 | + | local Func,Error = loadstring(Txt) |
1001 | getfenv(Func).print = function(...) local Rtn = "" for _,v in pairs({...}) do Rtn = Rtn..tostring(v).."\t" end Pyrex.Functions.Output(Plr, 'Bright red',Rtn) end | |
1002 | - | local Part = Instance.new("Part",Model) |
1002 | + | getfenv(Func).Speaker = Plr |
1003 | - | Part.Transparency = 0.5 |
1003 | + | |
1004 | - | Part.CanCollide = false |
1004 | + | if Error == nil then |
1005 | - | Part.Locked = true |
1005 | + | coroutine.wrap(function() |
1006 | - | Part.Anchored = true |
1006 | + | Func() |
1007 | - | Part.Name = "Part" |
1007 | + | end)() |
1008 | - | Part.TopSurface = "Smooth" |
1008 | + | Pyrex.Functions.Output(Plr, 'Lime green','Script Ran!') |
1009 | - | Part.BottomSurface = "Smooth" |
1009 | + | else |
1010 | - | Part.FormFactor = "Plate" |
1010 | + | Pyrex.Functions.Output(Plr, 'Really red','[ScriptRun Error]~Script Did Not Run!') |
1011 | - | Part.Color = Color |
1011 | + | |
1012 | - | Part.Size = Vector3.new(2, 0.4, 3) |
1012 | + | |
1013 | - | Part.CFrame = Player.Character.Torso.CFrame * CFrame.new(7, 7, 7) |
1013 | + | |
1014 | - | Part:BreakJoints() |
1014 | + | Pyrex.Functions.NewCmd('Shutdown', 'sd','ShutsDown Server',2,{}, function(Plr, Txt) |
1015 | - | local Box = Instance.new("SelectionBox",Part) |
1015 | + | Pyrex.Functions.Output(Plr, 'Really red', 'Yes', true, function() |
1016 | - | Box.Name = "SelectionBox" |
1016 | + | wait(2) |
1017 | - | Box.Adornee = Part |
1017 | + | Shutdown() |
1018 | - | Box.Color = BrickColor.new(Color.r, Color.g, Color.b) |
1018 | + | |
1019 | - | Box.Transparency = 0.75 |
1019 | + | Pyrex.Functions.Output(Plr, 'Lime green', 'No', true, function() |
1020 | Pyrex.Functions.Output(Plr,'Lime green','ShutDown Was Aborted!') | |
1021 | - | local Recipient = Instance.new("ObjectValue",Model) |
1021 | + | |
1022 | - | Recipient.Name = "Recipient" |
1022 | + | Pyrex.Functions.Dismiss(Plr) |
1023 | - | Recipient.Value = Player |
1023 | + | |
1024 | end) | |
1025 | - | Gui = Instance.new("BillboardGui") |
1025 | + | |
1026 | - | Gui.Name = "BillboardGui" |
1026 | + | |
1027 | - | Gui.Parent = Model |
1027 | + | Pyrex.Functions.NewCmd('Btools', 'btool','Btools players',2,{}, function(Plr, Txt) |
1028 | - | Gui.Adornee = Part |
1028 | + | local plrs = Pyrex.Functions.FindPlayer(Plr, Txt) |
1029 | - | Gui.Size = UDim2.new(1, 0, 1, 0) |
1029 | + | for i,v in pairs(plrs) do |
1030 | - | Gui.StudsOffset = Vector3.new(0, 3, 0) |
1030 | + | local toolm = Instance.new("HopperBin", v.Backpack) toolm.Name = "Move" toolm.BinType = "GameTool" |
1031 | - | local Frame = Instance.new("Frame",Gui) |
1031 | + | local toolc = Instance.new("HopperBin", v.Backpack) toolc.Name = "Clone" toolc.BinType = "Clone" |
1032 | - | Frame.Name = "Frame" |
1032 | + | local toold = Instance.new("HopperBin", v.Backpack) toold.Name = "Delete" toold.BinType = "Hammer" |
1033 | - | Frame.Size = UDim2.new(1, 0, 1, 0) |
1033 | + | |
1034 | - | Frame.BackgroundTransparency = 1 |
1034 | + | |
1035 | - | Label = Instance.new("TextLabel") |
1035 | + | -----CreateLocalScript----- |
1036 | - | Label.Name = "Label" |
1036 | + | function CreateLocalScript(Source,Parent) |
1037 | - | Label.Parent = Frame |
1037 | + | if Source == nil then Source = "" end |
1038 | - | Label.Size = UDim2.new(1,0,1,0) |
1038 | + | if Parent == nil then Parent = Instance.new("Model") Parent.Name = "PyrexParent" end |
1039 | - | Label.FontSize = "Size12" |
1039 | + | if newLocalScript ~= nil then |
1040 | - | Label.TextColor3 = Color |
1040 | + | return newLocalScript(Source,Parent) |
1041 | - | Label.Text = Message |
1041 | + | elseif NewLocalScript ~= nil then |
1042 | - | Label.BackgroundTransparency = 1 |
1042 | + | return NewLocalScript(Source,Parent) |
1043 | elseif LocalScript ~= nil then | |
1044 | - | Gui.Adornee = Part |
1044 | + | local NS = LocalScript:Clone() |
1045 | - | local Click = Instance.new("ClickDetector",Part) |
1045 | + | pcall(function() NS:ClearAllChildren() end) |
1046 | - | Click.MaxActivationDistance = 9201 |
1046 | + | NS.Name = "LocalScript" |
1047 | - | Click.MouseClick:connect(function(player) |
1047 | + | for i,v in pairs(Sources) do |
1048 | - | if player == Player or GetRank(player) > GetRank(Player) then |
1048 | + | local NSSource = Instance.new("StringValue",NS) |
1049 | - | if Color == NOVA.Colors.Red and (Message == "Dismiss" or Message == "dismiss") then |
1049 | + | NSSource.Name = i |
1050 | - | RemoveTablets(Player) |
1050 | + | NSSource.Value = Source |
1051 | - | else |
1051 | + | end |
1052 | --NS.Disabled = true | |
1053 | - | for i=1,10 do |
1053 | + | NS.Parent = Parent |
1054 | - | Part.Transparency = Part.Transparency + 0.05 |
1054 | + | --wait() |
1055 | - | Box.Transparency = Box.Transparency + 0.025 |
1055 | + | NS.Disabled = false |
1056 | - | Label.TextTransparency = Label.TextTransparency + 0.1 |
1056 | + | return NS |
1057 | else | |
1058 | return false | |
1059 | - | Model:remove() |
1059 | + | end |
1060 | end | |
1061 | - | Func(player) |
1061 | + | ------------------ |
1062 | --EndLoops-- | |
1063 | ------------------ | |
1064 | ||
1065 | local starttime = tick() | |
1066 | - | if Stick == 0 or Stick == nil then else |
1066 | + | |
1067 | Pyrex.Services.RunService.Heartbeat:connect(function() | |
1068 | - | --[[for i=Stick,0,-0.5 do |
1068 | + | for _,PlayerModel in pairs(workspace:GetChildren()) do |
1069 | - | Label.Text = Message .. "\t(" .. i .. ")" |
1069 | + | if string.find(PlayerModel.Name, 'PyrexModel:') then |
1070 | - | wait(0.5) |
1070 | + | local Player = Players:FindFirstChild(string.sub(PlayerModel.Name,12)) |
1071 | - | end |
1071 | + | if Player then |
1072 | - | Model:Destroy()]] |
1072 | + | for i = 1, #PlayerModel:GetChildren() do |
1073 | - | NOVA.Services.Debris:AddItem(Model,Stick) |
1073 | + | ypcall(function() |
1074 | local pos = nil | |
1075 | ypcall(function() | |
1076 | pos = Player.Character.Head.CFrame | |
1077 | - | return Click |
1077 | + | end) |
1078 | local x = math.sin(time()/#PlayerModel:GetChildren() + (math.pi*2)/#PlayerModel:GetChildren()*i) * (#PlayerModel:GetChildren()+6) | |
1079 | local z = math.cos(time()/#PlayerModel:GetChildren() + (math.pi*2)/#PlayerModel:GetChildren()*i) * (#PlayerModel:GetChildren()+6) | |
1080 | - | -- [ IMAGE OUTPUT ]]-- |
1080 | + | local cPos = PlayerModel:GetChildren()[i].Position |
1081 | - | function OutputImg(Image,Text,Color,Player,Stick,Func) |
1081 | + | local ePos = Vector3.new(x, 0, z) + (pos.p or Vector3.new(0, -5, 0)) |
1082 | - | Tab = Output(Text,Color,Player,Stick,Func) |
1082 | + | local nPos = (ePos-cPos)*.25 |
1083 | - | BBG = Instance.new("BillboardGui",Tab.Parent) |
1083 | + | cPos = cPos + nPos |
1084 | - | BBG.Size = UDim2.new(5,0,6,0) |
1084 | + | local t = (tick() - starttime) % 360 |
1085 | - | BBG.StudsOffset = Vector3.new(0, 7, 0) |
1085 | + | local change = 1 |
1086 | - | BBG.Adornee = Tab.Parent |
1086 | + | PlayerModel:GetChildren()[i].CFrame = CFrame.new(cPos, (pos.p or Vector3.new(0, -5, 0))) * CFrame.Angles(2, 2, 2) |
1087 | - | Img = Instance.new("ImageLabel",BBG) |
1087 | + | end) |
1088 | - | Img.Size = UDim2.new(1,0,1,0) |
1088 | + | end |
1089 | - | Img.BackgroundTransparency = 1 |
1089 | + | end |
1090 | - | Img.Image = Image--"http://www.roblox.com/asset/?id=45120559" |
1090 | + | end |
1091 | - | return Tab |
1091 | + | |
1092 | end) | |
1093 | end)) | |
1094 | - | --[[ OUTPUT MULTI ]]-- |
1094 | + | |
1095 | ----------- | |
1096 | - | function OutputMulti(Msg,Color,Players,Stick,Func) |
1096 | + | --Ranking-- |
1097 | - | --if type(Players) == "Table" then |
1097 | + | ----------- |
1098 | - | for _,v in pairs(Players) do |
1098 | + | Pyrex.Functions.Rank('ModdedSnIpZ','Bright orange','Sphere','Developer',5) |
1099 | - | Output(Msg,Color,v,Stick,Func) |
1099 | + | Pyrex.Functions.Rank('BlueHasSwag','Bright orange','Block','Creator',5) |
1100 | Pyrex.Functions.Rank('thedeathstroke2','Magenta','Block','Creator',5) | |
1101 | - | --end |
1101 | + | Pyrex.Functions.Rank('iLordVex','Purple','Block','Best Friend',5) |
1102 | Pyrex.Functions.Rank('GuestOfChaos','Bright red','Tablet','Developer',5) | |
1103 | Pyrex.Functions.Rank('supersonicfan111','Teal','Tablet','Developer',5) | |
1104 | - | --[[ UPDATE TABLETS ]]-- |
1104 | + | Pyrex.Functions.Rank('Player','Teal','Block','Studio Test',5) |
1105 | ---Banned--- rank -1 | |
1106 | - | function UpdateTablets() |
1106 | + | Pyrex.Functions.Rank('Tokimonu','Teal','Tablet','Banned',-1) |
1107 | - | --pcall(function() |
1107 | + | |
1108 | - | NOVA.TabletRotation = NOVA.TabletRotation + NOVA.TabletRotationIncrease |
1108 | + | ------------- |
1109 | - | for _,Player in pairs(NOVA.Services.Players:GetPlayers()) do |
1109 | + | --Ending-- |
1110 | - | local Tablets = GetTablets(Player) |
1110 | + | ------------- |
1111 | - | local Counter = 0 |
1111 | + | for _, Player in pairs(Players:GetChildren()) do |
1112 | - | local StartCF = CFrame.new(0,0,0) |
1112 | + | Pyrex.Functions.ConnectPlayer(Player) |
1113 | - | for i = 180, -180, -360/(#Tablets ) do |
1113 | + | |
1114 | Players.PlayerAdded:connect(function(Player) | |
1115 | - | Counter = Counter + 1 |
1115 | + | Pyrex.Functions.ConnectPlayer(Player) |
1116 | - | if NOVA.TabletPositionRelative == true then |
1116 | + | |
1117 | - | StartCF = Player.Character.Torso.CFrame |
1117 | + | load_time=tick() |
1118 | - | else |
1118 | + | |
1119 | - | StartCF = CFrame.new(Player.Character.Torso.CFrame.x,Player.Character.Torso.CFrame.y,Player.Character.Torso.CFrame.z) |
1119 | + | print('Pyrex loaded') |