SHOW:
|
|
- or go back to the newest paste.
1 | --[[ | |
2 | ||
3 | _____ _ _____ ___ | |
4 | / ____| (_) / ____| |__ \ | |
5 | | | _ __ _ _ __ ___ ___ ___ _ __ | | __ ___ _ __ ) | | |
6 | | | | '__| | '_ ` _ \/ __|/ _ \| '_ \ | | |_ |/ _ \ '_ \ / / | |
7 | | |____| | | | | | | | \__ \ (_) | | | | | |__| | __/ | | | / /_ | |
8 | \_____|_| |_|_| |_| |_|___/\___/|_| |_| \_____|\___|_| |_| |____| | |
9 | ||
10 | Crimson Generation 2.0 | |
11 | Copyright (c) 2015 ApexDevelopment. | |
12 | v1.0 by ApexDevelopment. | |
13 | ||
14 | ]]-- | |
15 | ||
16 | local Crimson; | |
17 | Crimson = { | |
18 | Bet = '>'; | |
19 | rot = .1; | |
20 | rot2 = 0.001; | |
21 | Commands = {}; | |
22 | Tablets = {}; | |
23 | Ranked = { | |
24 | - | {Name = "GalacticParadox", Rank = 5, Description = "Creator of Crimson Gen 2.", Color = "Toothpaste"}; -- keep me in there |
24 | + | {Name = "BlueHasSwag", Rank = 5, Description = "Creator of Crimson Gen 2.", Color = "Toothpaste"}; -- keep me in there |
25 | }; | |
26 | PriExceptions = {"ApexDevelopment"}; -- keep me in there | |
27 | Settings = { | |
28 | PrivateServer = false; | |
29 | AgeRestriction = false; | |
30 | MinimumAge = 100; | |
31 | DevMode = false; | |
32 | }; | |
33 | TabSettings = { | |
34 | Size = Vector3.new(2,2,2); | |
35 | Size2 = Vector3.new(1,1,1); | |
36 | Neon = false; | |
37 | }; | |
38 | } | |
39 | ||
40 | Get = { | |
41 | Rank = function(player) | |
42 | if type(player) == "userdata" then player = player.Name end | |
43 | for _,obj in next,Crimson.Ranked do | |
44 | if obj.Name == player then | |
45 | return obj.Rank | |
46 | end | |
47 | end | |
48 | return 0 | |
49 | end; | |
50 | ||
51 | Desc = function(player) | |
52 | if type(player) == "userdata" then player = player.Name end | |
53 | for _,obj in next,Crimson.Ranked do | |
54 | if obj.Name == player then | |
55 | return obj.Description | |
56 | end | |
57 | end | |
58 | return "Just a player." | |
59 | end; | |
60 | ||
61 | Color = function(player) | |
62 | if type(player) == "userdata" then player = player.Name end | |
63 | for _,obj in next,Crimson.Ranked do | |
64 | if obj.Name == player then | |
65 | return obj.Color | |
66 | end | |
67 | end | |
68 | return "Bright blue" | |
69 | end | |
70 | } | |
71 | ||
72 | Set = { | |
73 | Rank = function(player, newRank) | |
74 | if type(player) == "userdata" then player = player.Name end | |
75 | for _,obj in next,Crimson.Ranked do | |
76 | if obj.Name == player then | |
77 | obj.Rank = newRank | |
78 | return | |
79 | end | |
80 | end | |
81 | Add.Ranked(player,newRank,"Just a player.","Bright blue") | |
82 | end; | |
83 | ||
84 | Desc = function(player, newDesc) | |
85 | if type(player) == "userdata" then player = player.Name end | |
86 | for _,obj in next,Crimson.Ranked do | |
87 | if obj.Name == player then | |
88 | obj.Description = newDesc | |
89 | return | |
90 | end | |
91 | end | |
92 | Add.Ranked(player,0,newDesc,"Bright blue") | |
93 | end; | |
94 | ||
95 | Color = function(player, newColor) | |
96 | if type(player) == "userdata" then player = player.Name end | |
97 | for _,obj in next,Crimson.Ranked do | |
98 | if obj.Name == player then | |
99 | obj.Color = newColor | |
100 | return | |
101 | end | |
102 | end | |
103 | Add.Ranked(player,0,"Just a player.",newColor) | |
104 | end | |
105 | } | |
106 | ||
107 | Add = { | |
108 | Command = function(Name, Say, Desc, Rank, Func) | |
109 | table.insert(Crimson.Commands,{Name = Name, Say = Say, Desc = Desc, Rank = Rank, Func = Func}) | |
110 | end; | |
111 | ||
112 | Ranked = function(Name, Rank, Description, Color) | |
113 | if type(Name) == "userdata" then Name = Name.Name end | |
114 | table.insert(Crimson.Ranked,{Name = Name, Rank = Rank, Description = Description, Color = Color}) | |
115 | end | |
116 | } | |
117 | ||
118 | Kick = function(plr) | |
119 | local h=Instance.new('RemoteEvent',workspace):FireClient(plr,{string.rep("umad?",2e5+5)}) | |
120 | delay(1,function() | |
121 | pcall(function() workspace.RemoteEvent:remove() end) | |
122 | end) | |
123 | end | |
124 | ||
125 | FindPlayers = function(plr, msg) | |
126 | local plrs = {} | |
127 | ||
128 | if msg:match("^!") then | |
129 | return FindPlayers(plr, msg:sub(2), true) | |
130 | elseif msg == "me" then | |
131 | table.insert(plrs, plr) | |
132 | elseif msg == "all" then | |
133 | for _,v in pairs(game:service'Players':players()) do | |
134 | table.insert(plrs, v) | |
135 | end | |
136 | elseif msg == "others" then | |
137 | for _,v in pairs(game:service'Players':players()) do | |
138 | if v ~= plr then | |
139 | table.insert(plrs, v) | |
140 | end | |
141 | end | |
142 | else | |
143 | for _,v in pairs(game:service'Players':players()) do | |
144 | if v.Name:lower():sub(1,#msg) == msg:lower() then | |
145 | table.insert(plrs, v) | |
146 | end | |
147 | end | |
148 | end | |
149 | return plrs | |
150 | end | |
151 | ||
152 | function isException(player) | |
153 | if type(player) == 'userdata' then | |
154 | player = player.Name | |
155 | end | |
156 | for _,p in next,Crimson.PriExceptions do | |
157 | if p == player then return true end | |
158 | end | |
159 | return false | |
160 | end | |
161 | ||
162 | SetTabSize = function(vec1,vec2,vec3,vec4,vec5,vec6,Player) | |
163 | Crimson.TabSettings.Size = Vector3.new(vec1,vec2,vec3) | |
164 | Crimson.TabSettings.Size2 = Vector3.new(vec4,vec5,vec6) | |
165 | ||
166 | for i,v in next,Crimson.Tablets do | |
167 | v.Tab.Size = Crimson.TabSettings.Size | |
168 | v.Tab2.Size = Crimson.TabSettings.Size2 | |
169 | end | |
170 | ||
171 | Output(Player,'Tab size changed.',Get.Color(Player)) | |
172 | end | |
173 | ||
174 | function Rotate() | |
175 | Crimson.rot=Crimson.rot+0.650 | |
176 | ||
177 | for _,Player in pairs(game:service'Players':GetPlayers()) do | |
178 | local Counter = 0 | |
179 | local PlayerTablets = {} | |
180 | local Start = CFrame.new(0,0,0) | |
181 | ||
182 | for i,v in pairs(Crimson.Tablets) do | |
183 | if v.Tab.Parent ~= nil and v.Player==Player then | |
184 | table.insert(PlayerTablets,v) | |
185 | end | |
186 | end | |
187 | ||
188 | for I = 1, #PlayerTablets do | |
189 | local Pos = nil | |
190 | pcall(function() Pos = PlayerTablets[I].Player.Character.Torso.CFrame end) | |
191 | if Pos == nil then return end | |
192 | local Tab=PlayerTablets[I].Tab | |
193 | local Tab2 = PlayerTablets[I].Tab2 | |
194 | local i=I | |
195 | local Main = (I / #PlayerTablets - (.5 / #PlayerTablets) + Crimson.rot/(#PlayerTablets/10)) * math.pi * 2 | |
196 | local x = math.sin(time()/#PlayerTablets + (math.pi*2)/#PlayerTablets*i) * (#PlayerTablets+3) | |
197 | local y = math.sin(tick()/.655) | |
198 | local z = math.cos(time()/#PlayerTablets + (math.pi*2)/#PlayerTablets*i) * (#PlayerTablets+3) | |
199 | local aPos = Vector3.new(x, y, z) + Pos.p | |
200 | local bPos = Tab.CFrame.p | |
201 | local cPos = (aPos * .1 + bPos * .9) | |
202 | local d=math.rad((Crimson.rot*300)*math.pi); | |
203 | Tab.CFrame=CFrame.new(cPos,Pos.p)*CFrame.Angles(0,4.8,0) | |
204 | Tab2.CFrame = Tab.CFrame | |
205 | end | |
206 | end | |
207 | end | |
208 | ||
209 | function PlaySound(id, pitch) | |
210 | epicsound = Instance.new("Sound") | |
211 | epicsound.Name = "Epicosound" | |
212 | epicsound.SoundId = "rbxassetid://"..id | |
213 | epicsound.Volume = 1 | |
214 | epicsound.Pitch = pitch | |
215 | epicsound.Looped = true | |
216 | epicsound.Parent = workspace | |
217 | ||
218 | sbu = epicsound:Clone() | |
219 | sbu.Parent = Storage | |
220 | ||
221 | if epicsound.SoundId=="rbxassetid://tt" then -- TELL ME, TELL ME, WHERE DA FREAKS AT! | |
222 | epicsound.SoundId="rbxassetid://181158033" | |
223 | elseif epicsound.SoundId=="rbxassetid://fabulous" then -- FA-FA-FABULOUS! | |
224 | epicsound.SoundId="rbxassetid://191819419" | |
225 | elseif epicsound.SoundId=="rbxassetid://ufdb" then -- ultimate final death battle(fairy tail XD) | |
226 | epicsound.SoundId="rbxassetid://153085393" | |
227 | elseif epicsound.SoundId=="rbxassetid://nnm" then | |
228 | epicsound.SoundId="rbxassetid://210189234" | |
229 | elseif epicsound.SoundId=="rbxassetid://tun" then -- tunak tunak tun | |
230 | epicsound.SoundId="rbxass/setid://162682002" | |
231 | elseif epicsound.SoundId=="rbxassetid://zelda" then | |
232 | epicsound.SoundId="rbxassetid://158215156" | |
233 | elseif epicsound.SoundId=="rbxassetid://cc" then | |
234 | epicsound.SoundId="rbxassetid://177080835" | |
235 | end | |
236 | ||
237 | wait() | |
238 | epicsound:Play() | |
239 | end | |
240 | ||
241 | function StopMusic() | |
242 | for _,v in next,workspace:children() do | |
243 | if v:IsA("Sound") then | |
244 | v.Name = "Sound" | |
245 | wait() | |
246 | v:Remove() | |
247 | end | |
248 | end | |
249 | end | |
250 | ||
251 | OxChat = function(msg1,msg2) | |
252 | pcall(function() | |
253 | for _,v in next,game:GetService("Players"):GetPlayers() do | |
254 | local SV = Instance.new('StringValue') | |
255 | SV.Parent = v | |
256 | SV.Name = 'SB_Chat' | |
257 | SV.Value = ""..tostring(msg1):gsub('','\5').."/"..tostring(msg2):gsub('','\5').."" | |
258 | game.Debris:AddItem(SV, .1) | |
259 | end | |
260 | end) | |
261 | end | |
262 | ||
263 | function Chatted(Player, Message) | |
264 | for i,v in pairs(Crimson.Commands) do | |
265 | if Message:sub(1,string.len(v['Say']..Crimson.Bet)) == v['Say']..Crimson.Bet then | |
266 | if Get.Rank(Player) >= v.Rank then | |
267 | Message=Message:sub(1+#v['Say']+#Crimson.Bet) | |
268 | a,b = ypcall(function() | |
269 | v['Func'](Player, Message) | |
270 | end) if not a then print(b) end | |
271 | else | |
272 | Output(Player, "Your rank is too low for that command.", "Really red") | |
273 | end | |
274 | end | |
275 | end | |
276 | end | |
277 | ||
278 | function Output(player, text, color, func) | |
279 | if text == nil then text = text end | |
280 | if color == nil then color = 'Really red' end | |
281 | if func == nil then func = function() return end end | |
282 | ||
283 | local tab = Instance.new('Part',script) | |
284 | tab.Name = "Crimson tab #"..math.random(-99999,99999).." text "..text | |
285 | tab.FormFactor = 'Custom' | |
286 | if Crimson.TabSettings.Neon then tab.Material = 'Neon' end | |
287 | tab.Anchored = true; | |
288 | tab.CanCollide = false; | |
289 | tab.Locked = true; | |
290 | tab.Size = Crimson.TabSettings.Size | |
291 | tab.TopSurface = 'Smooth' | |
292 | tab.BottomSurface = 'Smooth' | |
293 | tab.BrickColor = BrickColor.new(color) | |
294 | tab.Transparency = 0.5 | |
295 | ||
296 | local tab2 = Instance.new('Part',tab) | |
297 | tab2.Name = "Crimson tab2 #"..math.random(-99999,99999) | |
298 | tab2.FormFactor = 'Custom' | |
299 | if Crimson.TabSettings.Neon then tab2.Material = 'Neon' end | |
300 | tab2.Anchored = true; | |
301 | tab2.CanCollide = false; | |
302 | tab2.Size = Crimson.TabSettings.Size2 | |
303 | tab2.TopSurface = 'Smooth' | |
304 | tab2.BottomSurface = 'Smooth' | |
305 | tab2.BrickColor = BrickColor.new(color) | |
306 | tab2.Transparency = 0 | |
307 | ||
308 | --[[local sb = Instance.new("SelectionBox", tab) | |
309 | sb.Adornee = tab | |
310 | sb.Color = BrickColor.new(color) | |
311 | sb.Transparency = .9]]-- | |
312 | ||
313 | local pl = Instance.new('PointLight', tab) | |
314 | pl.Brightness = 4 | |
315 | pl.Range = 4 | |
316 | ||
317 | ||
318 | local gui = Instance.new("BillboardGui", tab) | |
319 | gui.Adornee = tab | |
320 | gui.Size = UDim2.new(1,0,1,0) | |
321 | gui.StudsOffset = Vector3.new(0,3,0) | |
322 | ||
323 | local tl = Instance.new("TextLabel", gui) | |
324 | tl.Size = UDim2.new(1,0,1,0) | |
325 | tl.Text = text | |
326 | tl.TextTransparency = 0 | |
327 | tl.TextStrokeTransparency = 0 | |
328 | tl.TextColor3 = tab.Color | |
329 | tl.BorderColor3 = Color3.new(0,3,0) | |
330 | tl.Font = 'SourceSansBold' | |
331 | tl.FontSize = 'Size18' | |
332 | tl.BackgroundTransparency = 1 | |
333 | ||
334 | local dismissing = false; | |
335 | ||
336 | local Click = Instance.new("ClickDetector",tab) | |
337 | Click.MaxActivationDistance = math.huge | |
338 | Click.MouseClick:connect(function(plr) | |
339 | if plr.userId == player.userId then | |
340 | dismissing = true; | |
341 | coroutine.resume(coroutine.create(function() | |
342 | spawn(function() | |
343 | pcall(function() | |
344 | repeat | |
345 | game:GetService("RunService").Heartbeat:wait() | |
346 | ||
347 | tab.Size = Vector3.new(tab.Size.X - 0.1, tab.Size.Y - 0.1, tab.Size.Z - 0.1) | |
348 | tab.Transparency = tab.Transparency + 0.1 | |
349 | ||
350 | tab2.Size = Vector3.new(tab2.Size.X - 0.1, tab2.Size.Y - 0.1, tab2.Size.Z - 0.1) | |
351 | tab2.Transparency = tab2.Transparency + 0.1 | |
352 | ||
353 | tl.Transparency = tl.Transparency + 0.1 | |
354 | pl.Brightness = pl.Brightness - 0.1 | |
355 | until tab.Size.X<0.5 | |
356 | ||
357 | for num,v in next,Crimson.Tablets do | |
358 | if v.Tab == tab and v.Tab2 == tab2 and v.Tab.Name == tab.Name then | |
359 | table.remove(Crimson.Tablets,num) | |
360 | tab:Destroy() | |
361 | end | |
362 | end | |
363 | end) | |
364 | end) | |
365 | end)) | |
366 | func=func func() | |
367 | end | |
368 | end) | |
369 | ||
370 | Click.MouseHoverEnter:connect(function(plr) | |
371 | if plr.userId==player.userId and not dismissing then | |
372 | tab.Size = Crimson.TabSettings.Size + Vector3.new(0.2,0.2,0.2) | |
373 | tab.Transparency = 0.2 | |
374 | end | |
375 | end) | |
376 | ||
377 | Click.MouseHoverLeave:connect(function(plr) | |
378 | if plr.userId==player.userId and not dismissing then | |
379 | tab.Size = Crimson.TabSettings.Size | |
380 | tab.Transparency = 0.5 | |
381 | end | |
382 | end) | |
383 | ||
384 | pcall(function() tab.CFrame = player.Character.Torso.CFrame end) | |
385 | tab.Parent = script | |
386 | table.insert(Crimson.Tablets,{Tab = tab, Tab2 = tab2, Text = tl, PointLight = pl, Player = player}) | |
387 | end | |
388 | ||
389 | Dismiss = function(plr, doWait) | |
390 | spawn(function() | |
391 | for i,v in pairs(Crimson.Tablets) do | |
392 | spawn(function() | |
393 | if v.Tab.Parent ~= nil and v.Player==plr then | |
394 | repeat | |
395 | game:GetService("RunService").Heartbeat:wait() | |
396 | ||
397 | v.Tab.Size = Vector3.new(v.Tab.Size.X - 0.1, v.Tab.Size.Y - 0.1, v.Tab.Size.Z - 0.1) | |
398 | v.Tab.Transparency = v.Tab.Transparency + 0.1 | |
399 | ||
400 | v.Tab2.Size = Vector3.new(v.Tab2.Size.X - 0.1, v.Tab2.Size.Y - 0.1, v.Tab2.Size.Z - 0.1) | |
401 | v.Tab2.Transparency = v.Tab2.Transparency + 0.1 | |
402 | ||
403 | v.Text.Transparency = v.Text.Transparency + 0.1 | |
404 | v.PointLight.Brightness = v.PointLight.Brightness - 0.1 | |
405 | until v.Tab.Size.X<0.5 | |
406 | ||
407 | v.Tab:Destroy() | |
408 | end | |
409 | end) | |
410 | end | |
411 | end) | |
412 | if doWait then wait(0.5) end | |
413 | end | |
414 | ||
415 | SortedCommands = function(Player) | |
416 | Dismiss(Player,true) | |
417 | Output(Player,'Commands for your rank ('..tostring(Get.Rank(Player))..')','Lime green',function() CommandsRank(Player,Get.Rank(Player)) end) | |
418 | Output(Player,'-=[ COMMANDS ]=-',Get.Color(Player)) | |
419 | Output(Player,'Dismiss','Really red',function() Dismiss(Player,false) end) | |
420 | Output(Player,'Rank 0',Get.Color(Player),function() CommandsRank(Player,0) end) | |
421 | Output(Player,'Rank 1',Get.Color(Player),function() CommandsRank(Player,1) end) | |
422 | Output(Player,'Rank 2',Get.Color(Player),function() CommandsRank(Player,2) end) | |
423 | Output(Player,'Rank 3',Get.Color(Player),function() CommandsRank(Player,3) end) | |
424 | Output(Player,'Rank 4',Get.Color(Player),function() CommandsRank(Player,4) end) | |
425 | Output(Player,'Rank 5',Get.Color(Player),function() CommandsRank(Player,5) end) | |
426 | end | |
427 | ||
428 | CommandsRank = function(Player, rank) | |
429 | Dismiss(Player,true) | |
430 | Output(Player,'Back','New Yeller',function() SortedCommands(Player) end) | |
431 | Output(Player,'-=[ RANK '..tostring(rank)..' COMMANDS ]=-',Get.Color(Player)) | |
432 | Output(Player,'Dismiss','Really red',function() Dismiss(Player,false) end) | |
433 | for _,cmd in next,Crimson.Commands do | |
434 | Output(Player,cmd.Name,Get.Color(Player),function() | |
435 | Dismiss(Player,true) | |
436 | Output(Player,'Back','New Yeller',function() CommandsRank(Player,rank) end) | |
437 | Output(Player,"-=[ "..cmd.Name.." ]=-",Get.Color(Player)) | |
438 | Output(Player,'Dismiss','Really red',function() Dismiss(Player) end) | |
439 | Output(Player,"Description: "..cmd.Desc,Get.Color(Player)) | |
440 | Output(Player,"Usage: "..cmd.Say..Crimson.Bet,Get.Color(Player)) | |
441 | Output(Player,"Rank needed: "..cmd.Rank,Get.Color(Player)) | |
442 | end) | |
443 | end | |
444 | end | |
445 | ||
446 | PlayerMenu = function(Player) | |
447 | Dismiss(Player,true) | |
448 | Output(Player,'Dismiss','Really red',function() Dismiss(Player,false) end) | |
449 | for _,p in next,game:service'Players':GetPlayers() do | |
450 | Output(Player,p.Name,Get.Color(Player),function() | |
451 | Dismiss(Player,true) | |
452 | Output(Player,'Back','New Yeller',function() PlayerMenu(Player) end) | |
453 | Output(Player,'-=[ '..p.Name..' ]=-',Get.Color(Player)) | |
454 | Output(Player,'Dismiss','Really red',function() Dimiss(Player,false) end) | |
455 | Output(Player,'User ID: '..p.userId,Get.Color(Player)) | |
456 | Output(Player,'AccountAge: '..p.AccountAge,Get.Color(Player)) | |
457 | Output(Player,'Rank: '..Get.Rank(p),Get.Color(Player)) | |
458 | Output(Player,'Description: '..Get.Desc(p),Get.Color(Player)) | |
459 | Output(Player,'Color: '..Get.Color(p),Get.Color(p)) | |
460 | if Get.Rank(Player) >= 3 and Get.Rank(Player) >= Get.Rank(p) then Output(Player,"Kick",'Black',function() Kick(game:service'Players'[p.Name]) PlayerMenu(Player) end) end | |
461 | if Get.Rank(Player) >= 4 and Get.Rank(Player) >= Get.Rank(p) then Output(Player,"Ban",'Black',function() Set.Rank(p,-1) Kick(game:service'Players'[p.Name]) PlayerMenu(Player) end) end | |
462 | if Get.Rank(Player) >= Get.Rank(p) then | |
463 | Output(Player,'Settings','New Yeller',function() | |
464 | Dismiss(Player,true) | |
465 | Output(Player,'Cancel','Really red',function() PlayerMenu(Player) end) | |
466 | Output(Player,'Change color',Get.Color(p),function() | |
467 | Dismiss(Player,true) | |
468 | Output(Player,'Cancel','Really red',function() PlayerMenu(Player) end) | |
469 | Output(Player,"Really red",'Really red',function() Dismiss(Player) Set.Color(p,'Really red') Output(p,'Your color is now '..Get.Color(p)..'.',Get.Color(p)) end) | |
470 | Output(Player,"New Yeller",'New Yeller',function() Dismiss(Player) Set.Color(p,'New Yeller') Output(p,'Your color is now '..Get.Color(p)..'.',Get.Color(p)) end) | |
471 | Output(Player,"Lime green",'Lime green',function() Dismiss(Player) Set.Color(p,'Lime green') Output(p,'Your color is now '..Get.Color(p)..'.',Get.Color(p)) end) | |
472 | Output(Player,"Cyan",'Cyan',function() Dismiss(Player) Set.Color(p,'Cyan') Output(p,'Your color is now '..Get.Color(p)..'.',Get.Color(p)) end) | |
473 | Output(Player,"Bright blue",'Bright blue',function() Dismiss(Player) Set.Color(p,'Bright blue') Output(p,'Your color is now '..Get.Color(p)..'.',Get.Color(p)) end) | |
474 | Output(Player,"Really blue",'Really blue',function() Dismiss(Player) Set.Color(p,'Really blue') Output(p,'Your color is now '..Get.Color(p)..'.',Get.Color(p)) end) | |
475 | Output(Player,"Royal purple",'Royal purple',function() Dismiss(Player) Set.Color(p,'Royal purple') Output(p,'Your color is now '..Get.Color(p)..'.',Get.Color(p)) end) | |
476 | end) | |
477 | Output(Player,'Change rank',Get.Color(p),function() | |
478 | Dismiss(Player,true) | |
479 | Output(Player,'Cancel','Really red',function() PlayerMenu(Player) end) | |
480 | if Get.Rank(Player) >= 0 then Output(Player,'Rank 0',Get.Color(Player),function() Dismiss(Player) Set.Rank(p,0) Output(p,'Your new rank is '..Get.Rank(p)..'.') end) end | |
481 | if Get.Rank(Player) >= 1 then Output(Player,'Rank 1',Get.Color(Player),function() Dismiss(Player) Set.Rank(p,1) Output(p,'Your new rank is '..Get.Rank(p)..'.') end) end | |
482 | if Get.Rank(Player) >= 2 then Output(Player,'Rank 2',Get.Color(Player),function() Dismiss(Player) Set.Rank(p,2) Output(p,'Your new rank is '..Get.Rank(p)..'.') end) end | |
483 | if Get.Rank(Player) >= 3 then Output(Player,'Rank 3',Get.Color(Player),function() Dismiss(Player) Set.Rank(p,3) Output(p,'Your new rank is '..Get.Rank(p)..'.') end) end | |
484 | if Get.Rank(Player) >= 4 then Output(Player,'Rank 4',Get.Color(Player),function() Dismiss(Player) Set.Rank(p,4) Output(p,'Your new rank is '..Get.Rank(p)..'.') end) end | |
485 | if Get.Rank(Player) >= 5 then Output(Player,'Rank 5',Get.Color(Player),function() Dismiss(Player) Set.Rank(p,5) Output(p,'Your new rank is '..Get.Rank(p)..'.') end) end | |
486 | end) | |
487 | end) | |
488 | end | |
489 | end) | |
490 | end | |
491 | end | |
492 | ||
493 | GetRanked = function(Player) | |
494 | Dismiss(Player,true) | |
495 | Output(Player,'Dismiss','Really red',function() Dismiss(Player,false) end) | |
496 | for _,p in next,game:service'Players':GetPlayers() do | |
497 | Output(Player,p.Name,Get.Color(Player),function() | |
498 | Dismiss(Player,true) | |
499 | Output(Player,'Back','New Yeller',function() PlayerMenu(Player) end) | |
500 | Output(Player,'-=[ '..p.Name..' ]=-',Get.Color(Player)) | |
501 | Output(Player,'Dismiss','Really red',function() Dimiss(Player,false) end) | |
502 | Output(Player,'Rank: '..Get.Rank(p),Get.Color(Player)) | |
503 | Output(Player,'Description: '..Get.Desc(p),Get.Color(Player)) | |
504 | Output(Player,'Color: '..Get.Color(p),Get.Color(p)) | |
505 | if Get.Rank(Player) >= Get.Rank(p) then | |
506 | Output(Player,'Settings','New Yeller',function() | |
507 | Dismiss(Player,true) | |
508 | Output(Player,'Cancel','Really red',function() PlayerMenu(Player) end) | |
509 | Output(Player,'Change color',Get.Color(p),function() | |
510 | Dismiss(Player,true) | |
511 | Output(Player,'Cancel','Really red',function() PlayerMenu(Player) end) | |
512 | Output(Player,"Really red",'Really red',function() Dismiss(Player) Set.Color(p,'Really red') Output(p,'Your color is now '..Get.Color(p)..'.',Get.Color(p)) end) | |
513 | Output(Player,"New Yeller",'New Yeller',function() Dismiss(Player) Set.Color(p,'New Yeller') Output(p,'Your color is now '..Get.Color(p)..'.',Get.Color(p)) end) | |
514 | Output(Player,"Lime green",'Lime green',function() Dismiss(Player) Set.Color(p,'Lime green') Output(p,'Your color is now '..Get.Color(p)..'.',Get.Color(p)) end) | |
515 | Output(Player,"Cyan",'Cyan',function() Dismiss(Player) Set.Color(p,'Cyan') Output(p,'Your color is now '..Get.Color(p)..'.',Get.Color(p)) end) | |
516 | Output(Player,"Bright blue",'Bright blue',function() Dismiss(Player) Set.Color(p,'Bright blue') Output(p,'Your color is now '..Get.Color(p)..'.',Get.Color(p)) end) | |
517 | Output(Player,"Really blue",'Really blue',function() Dismiss(Player) Set.Color(p,'Really blue') Output(p,'Your color is now '..Get.Color(p)..'.',Get.Color(p)) end) | |
518 | Output(Player,"Royal purple",'Royal purple',function() Dismiss(Player) Set.Color(p,'Royal purple') Output(p,'Your color is now '..Get.Color(p)..'.',Get.Color(p)) end) | |
519 | end) | |
520 | Output(Player,'Change rank',Get.Color(p),function() | |
521 | Dismiss(Player,true) | |
522 | Output(Player,'Cancel','Really red',function() PlayerMenu(Player) end) | |
523 | if Get.Rank(Player) >= 0 then Output(Player,'Rank 0',Get.Color(Player),function() Dismiss(Player) Set.Rank(p,0) Output(p,'Your new rank is '..Get.Rank(p)..'.',Get.Color(p)) end) end | |
524 | if Get.Rank(Player) >= 1 then Output(Player,'Rank 1',Get.Color(Player),function() Dismiss(Player) Set.Rank(p,1) Output(p,'Your new rank is '..Get.Rank(p)..'.',Get.Color(p)) end) end | |
525 | if Get.Rank(Player) >= 2 then Output(Player,'Rank 2',Get.Color(Player),function() Dismiss(Player) Set.Rank(p,2) Output(p,'Your new rank is '..Get.Rank(p)..'.',Get.Color(p)) end) end | |
526 | if Get.Rank(Player) >= 3 then Output(Player,'Rank 3',Get.Color(Player),function() Dismiss(Player) Set.Rank(p,3) Output(p,'Your new rank is '..Get.Rank(p)..'.',Get.Color(p)) end) end | |
527 | if Get.Rank(Player) >= 4 then Output(Player,'Rank 4',Get.Color(Player),function() Dismiss(Player) Set.Rank(p,4) Output(p,'Your new rank is '..Get.Rank(p)..'.',Get.Color(p)) end) end | |
528 | if Get.Rank(Player) >= 5 then Output(Player,'Rank 5',Get.Color(Player),function() Dismiss(Player) Set.Rank(p,5) Output(p,'Your new rank is '..Get.Rank(p)..'.',Get.Color(p)) end) end | |
529 | end) | |
530 | end) | |
531 | end | |
532 | end) | |
533 | end | |
534 | end | |
535 | ||
536 | ---- | |
537 | ||
538 | Add.Command('Commands','cmds','Shows all commands.',0,function(Player) | |
539 | SortedCommands(Player) | |
540 | end) | |
541 | ||
542 | Add.Command('Dismiss','dt',"Dismisses your tablets.",0,function(Player) | |
543 | Dismiss(Player) | |
544 | end) | |
545 | ||
546 | Add.Command('Dismiss All','dtall',"Dismisses everyone's tablets.",3,function() | |
547 | for _,plr in next,game.Players:GetPlayers() do | |
548 | Dismiss(plr,false) | |
549 | end | |
550 | end) | |
551 | ||
552 | Add.Command('Ping','ping','Pings a message on a tablet.',0,function(Player, Message) | |
553 | Output(Player,Message,Get.Color(Player)) | |
554 | end) | |
555 | ||
556 | Add.Command('Set Color','sc','Sets your tablet color.',0,function(Player, Message) | |
557 | Set.Color(Player,Message) | |
558 | Output(Player,'Your color is now '..Message..'.',Get.Color(Player)) | |
559 | end) | |
560 | ||
561 | Add.Command('Kick','kick','Kicks a player from the game.',3,function(Player,Message) | |
562 | for _,p in next,FindPlayers(Player,Message) do | |
563 | if Get.Rank(Player) >= Get.Rank(p) then | |
564 | Output(Player,'Kicked '..p.Name..'.',Get.Color(Player)) | |
565 | Kick(game:service'Players'[p.Name]) | |
566 | else | |
567 | Output(Player,p.Name..' has a higher rank than you.','Really red') | |
568 | end | |
569 | end | |
570 | end) | |
571 | ||
572 | Add.Command('Ban','ban','Bans a player from the game.',4,function(Player,Message) | |
573 | for _,p in next,FindPlayers(Player,Message) do | |
574 | if Get.Rank(Player) >= Get.Rank(p) then | |
575 | Output(Player,'Banned '..p.Name..'.',Get.Color(Player)) | |
576 | Set.Rank(p,-1) | |
577 | Kick(game:service'Players'[p.Name]) | |
578 | else | |
579 | Output(Player,p.Name..' has a higher rank than you.','Really red') | |
580 | end | |
581 | end | |
582 | end) | |
583 | ||
584 | Add.Command('Player Menu','plrs','Shows the player menu.',1,function(Player) | |
585 | PlayerMenu(Player) | |
586 | end) | |
587 | ||
588 | Add.Command('Get Ranked','ranked','Gets ranked players.',1,function(Player) | |
589 | GetRanked(Player) | |
590 | end) | |
591 | ||
592 | Add.Command('Tab Size','tsize','Changes the tab size.',2,function(Player,Message) | |
593 | if Message:lower() == "flat" then | |
594 | SetTabSize(.4,4,3,.2,3.8,2.8,Player) | |
595 | elseif Message:lower() == "cube" then | |
596 | SetTabSize(2,2,2,1,1,1,Player) | |
597 | end | |
598 | end) | |
599 | ||
600 | Add.Command('Tab Neon','tneon','Toggles the tab neon material.',2,function(Player) | |
601 | Crimson.TabSettings.Neon = not Crimson.TabSettings.Neon | |
602 | for _,t in next,Crimson.Tablets do | |
603 | if Crimson.TabSettings.Neon then | |
604 | t.Tab.Material = "Neon" | |
605 | t.Tab2.Material = "Neon" | |
606 | else | |
607 | t.Tab.Material = "SmoothPlastic" | |
608 | t.Tab2.Material = "SmoothPlastic" | |
609 | end | |
610 | end | |
611 | Output(Player,'Tab neon set to '..tostring(Crimson.TabSettings.Neon)..'.',Get.Color(Player)) | |
612 | end) | |
613 | ||
614 | Add.Command('Private Server','pri','Stops new players from joining.',3,function(player) | |
615 | Crimson.Settings.PrivateServer = not Crimson.Setings.PrivateServer | |
616 | Output(player,'Private server toggled to '..tostring(Crimson.Settings.PrivateServer)..'.',Get.Color(player)) | |
617 | end) | |
618 | ||
619 | Add.Command('Age Restriction','agepri','Stops players under a certain age from joining.',3,function(player) | |
620 | Crimson.Settings.AgeRestriction = not Crimson.Setings.AgeRestriction | |
621 | Output(player,'Age restriction toggled to '..tostring(Crimson.Settings.AgeRestriction)..'.',Get.Color(player)) | |
622 | end) | |
623 | ||
624 | Add.Command('Minimum Age','minage','Sets the minimum age for age restriction.',3,function(player,number) | |
625 | Crimson.Settings.MinimumAge = tonumber(number) | |
626 | Output(player,'The minimum age is now '..tostring(Crimson.Settings.MinimumAge)..'.',Get.Color(player)) | |
627 | end) | |
628 | ||
629 | ---- | |
630 | ||
631 | for _,Player in next,game:service'Players':GetPlayers() do | |
632 | if Get.Rank(Player) == -1 or (Crimson.Settings.AgeRestriction and Player.accountAge < Crimson.Settings.MinimumAge and not isException(Player)) then return end | |
633 | Output(Player,'Hello, '..Player.Name..'.',Get.Color(Player)) | |
634 | Output(Player,'Crimson generation 2 is initialized.','Lime green') | |
635 | if Crimson.Settings.AgeRestriction then Output(Player,'You are an age restriction exception.',Get.Color(Player)) end | |
636 | Player.Chatted:connect(function(msg) | |
637 | Chatted(Player,msg) | |
638 | end) | |
639 | end | |
640 | ||
641 | game.Players.PlayerAdded:connect(function(Player) | |
642 | if Get.Rank(Player) == -1 or (Crimson.Settings.AgeRestriction and Player.accountAge < Crimson.Settings.MinimumAge and not isException(Player)) or (Crimson.Settings.PrivateServer and not isException(Player)) then Kick(Player) return end | |
643 | Output(Player,'Hello, '..Player.Name..'.',Get.Color(Player)) | |
644 | Output(Player,'Crimson generation 2 is initialized.','Lime green') | |
645 | if Crimson.Settings.AgeRestriction or Crimson.Settings.PrivateServer then Output(Player,'You are a private server exception.',Get.Color(Player)) end | |
646 | Player.Chatted:connect(function(msg) | |
647 | Chatted(Player,msg) | |
648 | end) | |
649 | end) | |
650 | ||
651 | game:service'RunService'.Stepped:connect(Rotate) |