View difference between Paste ID: WNfN4xBs and hyWEMkz0
SHOW: | | - or go back to the newest paste.
1
--[[
2
    This is Abyss, I MathematicalPie, wrote this for Z_V and he didn't pay me. So fuck him, lole. Join the discord!
3
4
    https://discord.gg/aU3Ckyu
5
]]--
6
7
--[[
8
a=newproxy(true)
9
getmetatable(a).__tostring=function()
10
a=getfenv(3)
11
end
12
pcall(warn,a)
13
a=setfenv(1,a)
14
local WebApi = require(419760136)]]--
15
16-
local DEFAULT_KEY = "!"
16+
local DEFAULT_KEY = ";"
17
local LOOP_TYPE = "Heartbeat" -- This allows you to change the type of event used to rotate the tablets
18
local ROT_INTER = 0.06
19
local ALERT_BAN = true -- Alerts users
20
_G.CommandConfirmation = ("True")
21
22
23
local proxy = "https://search.roblox-proxy.cf/"
24
local apiproxy = "https://api.roblox-proxy.cf/"
25
local http = game:service'HttpService'
26
pcall(function() http.HttpEnabled = true end)
27
28
GetNameFromId=function(id)
29
if id then
30
local id = tostring(id)
31
local method = "Users/"..id
32
local jsonTab = http:GetAsync(apiproxy..method)
33
local Tab = http:JSONDecode(jsonTab)
34
return Tab.Username
35
end
36
end
37
38
39
--[[ Upvalues ]]--
40
41
local game = game
42
local print = print
43
local script = script
44
45
--[[ Core Table ]]--
46
47
local Abyss = {
48
    Ranks = {
49
        [-1] = "Banned",
50
        [0] = "Player",
51
        [1] = "Player +",
52
        [2] = "Moderator",
53
        [3] = "Moderator +",
54
        [4] = "Administrator",
55
        [5] = "Administrator +",
56
        [6] = "Owner",
57
    },
58
    RankedUsers = {
59
        ["35464197"] = 6,
60
        ["67304998"] = 6,
61
    },
62
    Players = {},
63
    Buffer = {
64
        Commands = {},
65
    },
66
}
67
68
--[[ Internal Functions ]]--
69
70
71
local function generatePart()
72
    local tabs = Instance.new("Model", workspace.Terrain)
73
    tabs.Name = "Tabs"
74
75
    local blackouter = Instance.new("Part", tabs)
76
    blackouter.FormFactor = Enum.FormFactor.Symmetric
77
    blackouter.TopSurface = Enum.SurfaceType.Smooth
78
    blackouter.Anchored = true
79
    blackouter.Material = Enum.Material.DiamondPlate
80
    blackouter.Size = Vector3.new(1, 1, 1)
81
    blackouter.Name = "Black_Outer"
82
    blackouter.CFrame = CFrame.new(-0.015, 17.38, 22.035) * CFrame.Angles(-3.3687967970764e-008, -0.60763174295425, -3.141592502594)
83
    blackouter.BrickColor = BrickColor.new("Really black")
84
    blackouter.Friction = 0.3
85
    blackouter.BottomSurface = Enum.SurfaceType.Smooth
86
87
    local mesh = Instance.new("SpecialMesh", blackouter)
88
    mesh.Scale = Vector3.new(-5, -5, -5)
89
    mesh.MeshId = "http://www.roblox.com/asset/?id=1529453"
90
    mesh.MeshType = Enum.MeshType.FileMesh
91
92
    local main = Instance.new("Part", tabs)
93
    main.FormFactor = Enum.FormFactor.Symmetric
94
    main.TopSurface = Enum.SurfaceType.Smooth
95
    main.Anchored = true
96
    main.Material = Enum.Material.DiamondPlate
97
    main.Size = Vector3.new(2.5,2.5,2.5)
98
    main.Name = "Main"
99
    main.CFrame = CFrame.new(-0.015, 17.38, 22.035) * CFrame.Angles(-3.3687967970764e-008, -0.60763174295425, -3.141592502594)
100
    main.BrickColor = BrickColor.new("Institutional white")
101
    main.Friction = 0.3
102
    main.BottomSurface = Enum.SurfaceType.Smooth
103
104
    local mesh_2 = Instance.new("SpecialMesh", main)
105
    mesh_2.Scale = Vector3.new(-4.9, -4.9, -4.9)
106
    mesh_2.MeshId = "http://www.roblox.com/asset/?id=1529453"
107
    mesh_2.MeshType = Enum.MeshType.FileMesh
108
109
 
110
    local GUI = Instance.new("BillboardGui", main)
111
    GUI.Name = "GUI"
112
    GUI.StudsOffset = Vector3.new(0, 1.5, 0)
113
    GUI.AlwaysOnTop = true
114
    GUI.Size = UDim2.new(0,200,0,50)
115
    
116
    local TextGUI = Instance.new("TextLabel", GUI)
117
    TextGUI.Name = "Text"
118
    TextGUI.Font = "SourceSansLight"
119
    TextGUI.FontSize = "Size24"
120
    TextGUI.BackgroundTransparency = 1
121
    TextGUI.Size = UDim2.new(0,200,0,50)
122
    TextGUI.Text = "waddup"
123
    return tabs
124
end
125
126
local function getPlayersFromSubstr(Substr)
127
    local rPlayers = {}
128
    
129
    for i,v in next, game:GetService("Players"):GetPlayers() do
130
        if v.Name:sub(1, Substr:len()):lower() == Substr:lower() then
131
            table.insert(rPlayers, v)
132
        end
133
    end
134
    
135
    return rPlayers
136
end
137
138
local function Color(R, G, B)
139
    return Color3.new(R/255, G/255, B/255)
140
end
141
142
local function EditMultipleProperties(Container, Property, Value)
143
    for i,v in next, Container:GetChildren() do
144
        v[Property] = Value
145
    end
146
end
147
148
local function Error(String, DismissTime, Player)
149
    if Player == nil then
150
        return
151
    end
152
    local Player = Abyss:GetPlayer(Player.userId)
153
    Player:CreateTablet("Error: "..String.." ~ Abyss", BrickColor.new("Really red").Color, DismissTime, nil, BrickColor.new("Really red"))
154
end
155
156
local function Notify(String, DismissTime, Player)
157
    if Player == nil then
158
        return
159
    end
160
    local Player = Abyss:GetPlayer(Player.userId)
161
    Player:CreateTablet("Success: "..String.." ~ Abyss", BrickColor.new("Dark green").Color, DismissTime, nil, BrickColor.new("Dark green"))
162
end
163
164
local function Warn(String, DismissTime, Player)
165
    if Player == nil then
166
        return
167
    end
168
    local Player = Abyss:GetPlayer(Player.userId)
169
    Player:CreateTablet("Warning: "..String.." ~ Abyss", BrickColor.new("Bright orange").Color, DismissTime, nil, BrickColor.new("Bright orange"))
170
end
171
172
local function Note(String, DismissTime, Player)
173
    if Player == nil then
174
        return
175
    end
176
    local Player = Abyss:GetPlayer(Player.userId)
177
    Player:CreateTablet("Notice: "..String.." ~ Abyss", BrickColor.new("Bright blue").Color, DismissTime, nil, BrickColor.new("Bright blue"))
178
end
179
180
local function Inform(String, DismissTime, Player)
181
    if Player == nil then
182
        return
183
    end
184
    local Player = Abyss:GetPlayer(Player.userId)
185
    Player:CreateTablet(String, BrickColor.new("Institutional white").Color, DismissTime, nil, BrickColor.new("Really black"))
186
end
187
188
function OnChatted(Message,Player)
189
	if not Message or type(Message) ~= "string" then
190
		return
191
	end
192
	if not Player or type(Player) ~= "userdata" then
193
		return
194
	end
195
	Message=Message:gsub("/e ","")
196
    local nPlayer = Abyss:GetPlayer(Player.userId)
197
	local InTCheck = (Message:sub(1,1) == Abyss:GetPlayer(Player.userId).KEY)
198
	if InTCheck then
199
		Message=Message:sub(2)
200
		local SpaceDet=Message:find(" ")
201
		local SubString,ProString
202
		pcall(function()
203
			SubString=Message:sub(1,SpaceDet-1)
204
			ProString=Message:sub(SpaceDet+1)
205
		end)
206
		if not SubString then
207
			SubString=Message	
208
		end
209
		if not ProString then
210
			ProString=""
211
		end
212
		local Profile=Abyss:GetPlayer(Player.userId)
213
		for i,v in pairs(Abyss.Buffer.Commands) do
214
			table.foreach(v.Calls,function(self,index)
215
				if SubString==index and Profile.Rank then
216
					if v.Rank <= Profile.Rank then
217
						local CCFlags={}
218
						for a,s in pairs(v.Flags) do
219
							if string.find(ProString,("-"..s)) ~= nil then
220
								local FlagData;
221
								local Test,Error=pcall(function() 
222
									string.sub(ProString,string.find(ProString,("-"..s)),string.sub(ProString,string.find(ProString:sub(string.find(ProString,("-"..s))+1),"-")))			
223
								end)
224
								if not Test then
225
									FlagData=ProString
226
								else
227
									FlagData=string.sub(ProString,string.find(ProString,("-"..s)),string.sub(ProString,string.find(ProString:sub(string.find(ProString,("-"..s))+1),"-")))
228
								end
229
								FlagData=string.gsub(FlagData,("-"..s),"",1)
230
								CCFlags[s]={FlagData}
231
								ProString=string.gsub(ProString,("-"..s),"",1)
232
							end;
233
						end;
234
						local Thread=coroutine.create(v.Function)
235
						local Success,Error=coroutine.resume(Thread,ProString,CCFlags,Player,Profile.Rank)
236
						if not Success then
237
							Error("[Chatted Error] "..tostring(Error), 5, Player)
238
						end
239
					else
240
						nPlayer:CreateTablet("Your rank is too low to access this command. Required Rank : "..v.Rank, Color(255,0,0), 1)
241
					end
242
				end
243
			end)
244
		end
245
	end
246
end
247
248
local function SaveRanks()
249
    local DataStore = game:GetService("DataStoreService"):GetDataStore("Abyss_Ranks")
250
    local Ranks = game:GetService("HttpService"):JSONDecode(DataStore:GetAsync("Ranks"))
251
    for i,v in next, Abyss:GetPlayers() do
252
        if v.Temp == false then
253
            Ranks[tostring(i)] = v.Rank
254
        end
255
    end
256
    DataStore:SetAsync("Ranks", game:GetService("HttpService"):JSONEncode(Ranks))
257
end
258
259
260
261
local function SetRank(User, Rank)
262
    local Player = Abyss:GetPlayer(User.userId)
263
    Player.Rank = Rank
264
    if Rank == -1 then
265
        User:Kick("You're banned from this server")
266
        for i,v in next, game:GetService("Players"):GetPlayers() do
267
            if Abyss:GetPlayer(v.userId) >= 4 and ALERT_BAN then
268
            Notify(v.Name.. "is now banned", 5, Player)
269
end
270
        end
271
    end
272
    SaveRanks()
273
end
274
275
276
local function LoadRanks()
277
    local DataStore = game:GetService("DataStoreService"):GetDataStore("Abyss_Ranks")
278
    if DataStore:GetAsync("Ranks") == nil or DataStore:GetAsync("Ranks") == "" then
279
        return
280
    end
281
    local Ranks = game:GetService("HttpService"):JSONDecode(DataStore:GetAsync("Ranks"))
282
    
283
    for i,v in next, Ranks do
284
        if Abyss:GetPlayer(tonumber(i)) and Abyss.RankedUsers[i] == nil then
285
            Abyss:GetPlayer(tonumber(i)).Rank = v
286
        elseif Abyss:GetPlayer(tonumber(i)) and Abyss.RankedUsers[i] ~= nil then
287
            Abyss:GetPlayer(tonumber(i)).Rank = Abyss.RankedUsers[i]
288
        end
289
    end
290
end
291
292
--[[ Core Methods ]]--
293
294
function Abyss:NewCommand(Name, Desc, Rank, Calls, Flags, Section, SubSection, Func)
295
    self.Buffer.Commands[Name] = { Name = Name, Desc = Desc,Rank = Rank,Calls = Calls,Flags = Flags,Function = Func, Section = Section, SubSection = SubSection}
296
end
297
298
function Abyss:RegisterPlayer(Player, Rank)
299
    if self.Players[Player.userId] then
300
        return self.Players[Player.userId]
301
    end
302
    
303
    local newPlayer = newproxy(true)
304
    local Meta = getmetatable(newPlayer)
305
    local ToString = tostring(Player)
306
    local Container = Instance.new("Model", workspace.Terrain)
307
    local dismissExists = false
308
    local isDismissing = false
309
    Container.Name = Player.Name.."_ABYSS_CONTAINER"
310
    local CustomMeta = {
311
        Tablets = {},
312
        Settings = {},
313
        Storage = Container,
314
        Rank = Rank,
315
        KEY = DEFAULT_KEY,
316
        Temp = false
317
    }
318
    
319
    function Meta:__index(index)
320
        if CustomMeta[index] ~= nil then
321
            return CustomMeta[index]
322
        else
323
            return Player[index]
324
        end
325
    end
326
    
327
    function Meta:__newindex(index, value)
328
        if CustomMeta[index] ~= nil then
329
            CustomMeta[index] = value
330
        else
331
            pcall(function() Player[index] = value end)
332
        end
333
    end
334
    
335
    function Meta:__tostring()
336
        return ToString
337
    end
338
    
339
    Meta.__metatable = "Abyss"
340
    
341
    -- Player Methods
342
    function CustomMeta:CreateTablet(String, Color, DismissTime, Function, blockColor, isDismiss)
343
        local newTablet = generatePart()
344
        local Main = newTablet:FindFirstChild("Main")
345
        if blockColor then
346
            Main.BrickColor = blockColor
347
            if tostring(blockColor) == tostring(BrickColor.new("Really black")) then
348
                newTablet.Black_Outer.BrickColor = BrickColor.new("Institutional white")
349
            end
350
        end
351
        local MainPart = Main.Mesh
352
        local Buffer = {OrignalColor = blockColor}
353
        if blockColor == nil then Buffer.OrignalColor = BrickColor.new("Institutional white") end
354
        local Return = setmetatable({},{__index = function(self, index) return Buffer[index] or newTablet[index] end, __newindex = function(self, index, val) newTablet[index] = val end, __metatable = "locked"})
355
        
356
        function Buffer:GetRealObject()
357
            return newTablet
358
        end
359
        
360
        function Buffer:Dismiss()
361
			local Toggle = false
362
            while Toggle == false do
363
                game:GetService("RunService").Stepped:wait()
364
                for i,v in next, newTablet:GetChildren() do
365
                    v.Mesh.Scale = Vector3.new(v.Mesh.Scale.X+0.5,v.Mesh.Scale.Y+0.5,v.Mesh.Scale.Z+0.5)
366
					if v.Mesh.Scale.X > .1 then
367
						Toggle = true
368
					end
369
                end
370
            end
371
			for i,v in next, CustomMeta.Tablets do
372
				if v == Return then
373
					table.remove(CustomMeta.Tablets, i)
374
				end
375
			end
376
			newTablet:Destroy()
377
        end
378
        
379
        newTablet.Parent = Container
380
        Main.GUI.Text.Text = String
381
        Main.GUI.Text.TextColor3 = Color
382
        EditMultipleProperties(newTablet, "CFrame", CFrame.new(Player.Character:FindFirstChild("Torso").Position or Vector3.new(0,0,0)))
383
        
384
        local ClickDetector = Instance.new("ClickDetector", MainPart.Parent)
385
        ClickDetector.MaxActivationDistance=math.huge
386
        ClickDetector.MouseHoverEnter:connect(function(Plr)
387
		    if (Plr.userId == Player.userId) or Abyss:GetPlayer(Plr.userId).Rank == 6 then
388
                if isDismiss then
389
                    for i,v in next, CustomMeta.Tablets do
390
                        if v ~= Return then
391
                            v:GetRealObject().Main.BrickColor = BrickColor.new("Persimmon")
392
                        end
393
                    end
394
                end
395
			    for i=1,4 do
396
			    	game:GetService("RunService").Stepped:wait()
397
			    	MainPart.Scale = Vector3.new(MainPart.Scale.X+0.2,MainPart.Scale.Y+0.2,MainPart.Scale.Z+0.2)
398
			    end
399
		    end
400
	    end)
401
        
402
        ClickDetector.MouseHoverLeave:connect(function(Plr)
403
		    if (Plr.userId == Player.userId) or Abyss:GetPlayer(Plr.userId).Rank == 6 then
404
			    for i=1,4 do
405
                    if isDismiss then
406
                        for i,v in next, CustomMeta.Tablets do
407
                            if v ~= Return then
408
                                v:GetRealObject().Main.BrickColor = v.OrignalColor
409
                            end
410
                        end
411
                    end
412
			    	game:GetService("RunService").Stepped:wait()
413
			    	MainPart.Scale = Vector3.new(MainPart.Scale.X-0.2,MainPart.Scale.Y-0.2,MainPart.Scale.Z-0.2)
414
			    end
415
		    end
416
	    end)
417
        
418
        ClickDetector.MouseClick:connect(function(Plr)
419
		    if (Plr.userId == Player.userId) or Abyss:GetPlayer(Plr.userId).Rank == 6 then
420
                if Function == nil then
421
                    for i=1,4 do
422
                        Return:Dismiss()
423
                    end
424
                else
425
                    local Success, Error = ypcall(function()
426
                        Function()
427
                    end)
428
                    if not Success then
429
                   		warn("[Part Function Error] "..tostring(Error), 5, Player)
430
431
 end
432
                end
433
		    end
434
	    end)
435
        
436
        if((#self.Tablets == 0 or isDismissing) and not isDismiss and not dismissExists) then
437
            dismissExists = true
438
            CustomMeta:CreateTablet("Dismiss", BrickColor.new("Really red").Color, 1, function() dismissExists = false CustomMeta:DismissAll() end, BrickColor.new("Really red"), true)
439
        end
440
        
441
        table.insert(self.Tablets, Return)
442
        --[[print(pcall(function() return dismissPart.Parent == Container end))
443
        if not dismissExists or not pcall(function() return dismissPart.Parent == Container end) then
444
            dismissExists = true 
445
            wait(.2)
446
            dismissPart = CustomMeta:CreateTablet("Dismiss", BrickColor.new("Really red").Color, 1, function() CustomMeta:DismissAll() dismissExists = false end, BrickColor.new("Really red")):GetRealObject()
447
        end]]--
448
        
449
        return Return
450
    end
451
    
452
    function CustomMeta:GetTablets()
453
        return self.Tablets
454
    end
455
    
456
    function CustomMeta:DismissAll()
457
        if dismissExists then
458
            dismissExists = false
459
        end
460
        local max = #self.Tablets
461
        for i,v in next, self.Tablets do
462
            coroutine.resume(coroutine.create(function() isDismissing = true v:Dismiss() if i == max then isDismissing = false end end))
463
        end
464
    end
465
    
466
    self.Players[Player.userId] = newPlayer
467
    
468
    Player.Chatted:connect(function(Message)
469
        OnChatted(Message, Player)
470
    end)
471
472
    spawn(function()
473
        game:GetService("RunService").Stepped:connect(function()
474
            ROT_INTER = ROT_INTER + 0.0025
475
            for a,b in next, CustomMeta.Tablets do
476
                for _, Part in next, b:GetRealObject():GetChildren() do
477
                    Part.CanCollide = false
478
                    if game.Workspace:FindFirstChild(Player.Name) then
479
                        Part.CFrame = CLerp(Part.CFrame,CFrame.new(game.Workspace[Player.Name].Torso.CFrame.p)
480
                        *CFrame.Angles(0,math.rad((360/#CustomMeta.Tablets)*a)+ROT_INTER,0)
481
                        *CFrame.new(3+#CustomMeta.Tablets,math.sin((tick()+a)*3)/1.5,0)
482
                        *CFrame.Angles(0,math.rad(90),0)
483
                        *CFrame.Angles(math.sin((tick()+a)*5)/2,math.sin((tick()+a)*5)/2,math.sin((tick()+a)*5)/2)
484
                        ,.1)
485
                    end
486
                end
487
            end
488
        end)
489
    end)
490
    
491
	return newPlayer
492
end
493
494
function Abyss:GetPlayers()
495
    return self.Players
496
end
497
498
function Abyss:GetPlayer(UserId)
499
    return self.Players[UserId]
500
end
501
502
503
504
505
--[[ Rotation Matrix ]]--
506
507
local function QuaternionFromCFrame(cf)
508
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
509
	local trace = m00 + m11 + m22 if trace > 0 then 
510
		local s = math.sqrt(1 + trace)
511
		local recip = 0.5/s
512
		return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
513
	else 
514
		local i = 0
515
		if m11 > m00 then 
516
			i = 1
517
		end
518
		if m22 > (i == 0 and m00 or m11) then
519
			i = 2 end if i == 0 then
520
			local s = math.sqrt(m00-m11-m22+1)
521
			local recip = 0.5/s return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip 
522
		elseif i == 1 then
523
			local s = math.sqrt(m11-m22-m00+1)
524
			local recip = 0.5/s
525
			return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip 
526
		elseif i == 2 then
527
			local s = math.sqrt(m22-m00-m11+1)
528
			local recip = 0.5/s
529
			return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
530
		end
531
	end 
532
end
533
534
local function QuaternionToCFrame(px, py, pz, x, y, z, w)
535
	local xs, ys, zs = x + x, y + y, z + z
536
	local wx, wy, wz = w*xs, w*ys, w*zs
537
	local xx = x*xs
538
	local xy = x*ys
539
	local xz = x*zs
540
	local yy = y*ys
541
	local yz = y*zs
542
	local zz = z*zs
543
	return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy)) 
544
end
545
546
local function QuaternionSlerp(a, b, t)
547
	local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
548
	local startInterp, finishInterp 
549
	if cosTheta >= 0.0001 then
550
		if (1 - cosTheta) > 0.0001 then
551
			local theta = math.acos(cosTheta)
552
			local invSinTheta = 1/math.sin(theta)
553
			startInterp = math.sin((1-t)*theta)*invSinTheta
554
			finishInterp = math.sin(t*theta)*invSinTheta
555
		else
556
			startInterp = 1-t finishInterp = t
557
		end
558
	else 
559
		if (1+cosTheta) > 0.0001 then
560
			local theta = math.acos(-cosTheta)
561
			local invSinTheta = 1/math.sin(theta)
562
			startInterp = math.sin((t-1)*theta)*invSinTheta
563
			finishInterp = math.sin(t*theta)*invSinTheta
564
		else startInterp = t-1 finishInterp = t
565
		end
566
	end
567
	return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp
568
end
569
570
function CLerp(a,b,t)
571
	local qa={QuaternionFromCFrame(a)}
572
	local qb={QuaternionFromCFrame(b)}
573
	local ax,ay,az=a.x,a.y,a.z
574
	local bx,by,bz=b.x,b.y,b.z
575
	local _t=1-t
576
	return QuaternionToCFrame(_t*ax+t*bx,_t*ay+t*by,_t*az+t*bz,QuaternionSlerp(qa, qb, t))
577
end
578
579
----------------------[[ SERVERSIDE ]]--------------------------
580
581
Abyss:NewCommand("Ping","Pings a tablet to speaker",1,{'ping','p'},{"all","plr"}, "Server Side","Utility",function(Message,Flags,Player,PlayerRank)					
582
	if Message == "" then return end
583
	pcall(function()
584
		if Flags["all"] then
585
			if PlayerRank > 4 then
586
				for i,v in pairs(game:GetService("Players"):GetPlayers()) do
587
                    Abyss:GetPlayer(v.userId):CreateTablet(Flags["all"][1], BrickColor.random().Color)
588
				end
589
			else
590
                Abyss:GetPlayer(Player.userId):CreateTablet("Your rank is too low.", BrickColor.new("Really red").Color, 1)
591
			end
592
		end
593
		if Flags["plr"] then
594
			local Find = string.find(Flags["plr"][1]:sub(2)," ")
595
			local PlayerS = string.sub(Flags["plr"][1]:sub(2),1,Find-1)
596
			local MSG = string.sub(Flags["plr"][1]:sub(2),Find+1)
597
			local Selected=getPlayersFromSubstr(PlayerS)
598
			if Selected == nil then
599
                return Abyss:GetPlayer(Player.userId):CreateTablet("Your rank is too low", BrickColor.new("Really red").Color, 1)
600
			end
601
            for i,v in next, Selected do
602
                Abyss:GetPlayer(v.userId):CreateTablet(MSG, BrickColor.random().Color, 1)
603
            end
604
		end
605
		if next(Flags) == nil then
606
			Abyss:GetPlayer(Player.userId):CreateTablet(Message, BrickColor.random().Color, 1)
607
		end
608
	end)
609
end)
610
--
611
--
612
--Abyss:NewCommand("Block scripting","Blocks scripting abilities",1,{'block'},{"all","plr"},"Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
613
--	pcall(function()
614
--        local sPlayer = Abyss:GetPlayer(Player.userId)
615
--script.Block.Disabled = false
616
-- if _G.CommandConfirmation == ("True") then
617
--sPlayer:CreateTablet("Locked scripting ", BrickColor.new("Bright green").Color, 1)
618
--end
619
--end)
620
--end)
621
--
622
--Abyss:NewCommand("Unblocks scripting","Unblocks scripting abilities",1,{'unblock'},{"all","plr"},"Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
623
--	pcall(function()
624
--        local sPlayer = Abyss:GetPlayer(Player.userId)
625
--script.Block.Disabled = false
626
-- if _G.CommandConfirmation == ("True") then
627
--sPlayer:CreateTablet("Locked scripting ", BrickColor.new("Bright green").Color, 1)
628
--end
629
--end)
630
--end)
631
632
633
Abyss:NewCommand("Tablet output test","Test functional outputting",1,{'output'},{"all","plr"},"Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
634
	pcall(function()
635
        local sPlayer = Abyss:GetPlayer(Player.userId)
636
        Error("Error function success", 5, sPlayer)
637
        Notify("Notify function success", 5, sPlayer)
638
        Warn("Warn function success", 5, sPlayer)
639
        Inform("Inform function success", 5, sPlayer)
640
        Note("Note function success", 5, sPlayer)
641
end)
642
end)
643
644
Abyss:NewCommand("Remove Abyss","Remove abyss",6,{'remove','rmv'},{"all","plr"},"Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
645
	pcall(function()
646
         for i,v in next, game.Players:GetPlayers() do
647
Error("Removing Abyss", 5, v)
648
end
649
wait(3)
650
for i,v in next, game.Players:GetPlayers() do
651
v:DismissAll()
652
end
653
wait(1)
654
script:Destroy();
655
end)
656
end)
657
658
Abyss:NewCommand("Hidden server","Sends all the players to a hidden server",6,{'h','hidden','H'},{"all","plr"},"Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
659
	pcall(function()
660
         for i,v in next, game.Players:GetPlayers() do
661
Notify("Sending "..v.Name.." to private server", 5, v)
662
end
663
local TS = game:GetService("TeleportService")
664
local Players = game:GetService("Players")
665
 
666
local code = TS:ReserveServer(game.PlaceId) -- Returns a code
667
local players = Players:GetPlayers() -- Get a list of all players
668
wait(1)
669
TS:TeleportToPrivateServer(game.PlaceId,code,players)
670
end)
671
end)
672
673
674
Abyss:NewCommand("Kill","Kills <player/all>",2,{"kill"},{"plr","all"}, "Deadly", "Player Related",function(Message,Flags,Player,PlayerRank)
675
	pcall(function()
676
		if Flags["all"] then
677
			if PlayerRank > 4 then
678
				for i,v in pairs(game:GetService("Players"):GetPlayers()) do
679
					v.Character:BreakJoints()
680
				end
681
			else
682
				Abyss:GetPlayer(Player.userId):CreateTablet("Your rank is too low.", BrickColor.new("Really red").Color, 1)
683
			end
684
		end
685
		if Flags["plr"] then
686
			local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
687
            for i,v in next, Selected do
688
                Selected.Character:BreakJoints()
689
            end
690
		end
691
		if next(Flags) == nil then
692
			Abyss:GetPlayer(Player.userId):CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
693
		end
694
	end)
695
end)
696
697
Abyss:NewCommand("Destroy Tablets","Destroys your tablets",0,{'dt'},{"all","plr","server"},"Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
698
	pcall(function()
699
        local sPlayer = Abyss:GetPlayer(Player.userId)
700
		if Flags["all"] then
701
			for i,v in pairs(game:GetService("Players"):GetPlayers()) do
702
				Abyss:GetPlayer(v.userId):DismissAll()			
703
			end
704
		end
705
		if Flags["plr"] then
706
        local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
707
            for i,v in next, Selected do
708
                Abyss:GetPlayer(v.userId):DismissAll()
709
            end
710
		end
711
		if next(Flags) == nil then
712
			sPlayer:DismissAll()
713
		end
714
	end)
715
end)
716
717
Abyss:NewCommand("Rank","Ranks a user",5,{'rank'},{"plr"},"Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
718
    local sPlayer = Abyss:GetPlayer(Player.userId)
719
    if Flags["plr"] then
720
        local Find = string.find(Flags["plr"][1]:sub(2)," ")
721
        local PlayerS = string.sub(Flags["plr"][1]:sub(2),1,Find-1)
722
        local Rank = string.sub(Flags["plr"][1]:sub(2),Find+1)
723
        local Selected=getPlayersFromSubstr(PlayerS)
724
        for i,v in next, Selected do
725
            local Tablets = {}
726
            table.insert(Tablets,sPlayer:CreateTablet(v.Name.." - Temporary Rank", BrickColor.new("Bright purple").Color, 1, function() 
727
                for i,v in next, Tablets do
728
                    v:Dismiss()
729
                end
730
                Notify("Your rank is now temporarily "..Rank, 5, v)
731
                Notify(v.Name.."'s rank is now temporarily "..Rank, 5, Player)
732
                Abyss:GetPlayer(v.userId).Temp = true
733
            end))
734
            table.insert(Tablets,sPlayer:CreateTablet(v.Name.." - Permanant Rank", BrickColor.new("Bright orange").Color, 1, function() 
735
                for i,v in next, Tablets do
736
                    v:Dismiss()
737
                end
738
                Notify("Your rank is now permanently "..Rank, 5, v)
739
                Notify(v.Name.."'s rank is now permanently "..Rank, 5, Player)
740
                Abyss:GetPlayer(v.userId).Temp = false
741
            end))
742
            SetRank(v, tonumber(Rank))
743
            SaveRanks()
744
        end
745
    end
746
    if next(Flags) == nil then
747
        sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
748
    end
749
end)
750
751
Abyss:NewCommand("Age","Returns the age of a user",1,{'age'},{"plr"},"Server Side", "Players",function(Message,Flags,Player,PlayerRank)
752
	pcall(function()
753
        local sPlayer = Abyss:GetPlayer(Player.userId)
754
		if Flags["plr"] then
755
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
756
            for i,v in next, Selected do
757
                sPlayer:CreateTablet(("%s's age is : %s"):format(v.Name, v.AccountAge), BrickColor.new("Bright green").Color, 1)
758
            end
759
		end
760
		if next(Flags) == nil then
761
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
762
		end
763
	end)
764
end)
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
Abyss:NewCommand("Rap","Returns the age of a user",1,{'rap'},{"plr"},"Server Side", "Players",function(Message,Flags,Player,PlayerRank)
781
	pcall(function()
782
        local sPlayer = Abyss:GetPlayer(Player.userId)
783
		if Flags["plr"] then
784
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
785
            for i,v in next, Selected do
786
local req="http://roblox.plus:2052/inventory?id="..v.userId
787
	local d=game:GetService'HttpService':GetAsync(req,true)
788
	d=game:GetService'HttpService':JSONDecode(d)
789
	local rap=0
790
	for a,b in pairs(d.data) do
791
		rap=rap+tonumber(b.rap)
792
	end
793
			sPlayer:CreateTablet("Gor rap of Player: "..v.Name.." : "..rap, BrickColor.new("Really red").Color, 1)
794
            end
795
		end
796
		if next(Flags) == nil then
797
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
798
		end
799
	end)
800
end)
801
802
Abyss:NewCommand("Command Confirmation","Allows you too turn command conformatoin on or off",0,{"cc", "comandconfirmation"},{}, "Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
803
	pcall(function()
804
		local sPlayer = Abyss:GetPlayer(Player.userId)
805
        sPlayer:DismissAll()
806
       sPlayer:CreateTablet("Command confirmation: ON", BrickColor.new("Bright green").Color, 1, function()
807
	   sPlayer:DismissAll()
808
	   _G.CommandConfirmation = ("True")
809
	   sPlayer:CreateTablet("Command confirmation has been turned: ON", BrickColor.new("Bright green").Color, 1)
810
		end)
811
	    sPlayer:CreateTablet("Command confirmation: OFF", BrickColor.new("Really red").Color, 1, function()
812
	  sPlayer:DismissAll()
813
	_G.CommandConfirmation = ("False")
814
	   sPlayer:CreateTablet("Command confirmation has been turned: OFF", BrickColor.new("Really red").Color, 1)
815
	end)     
816
817
end)
818
end)
819
820
Abyss:NewCommand("View ranks","Allows you to see a list of the ranked players",0,{"ranked", "rnk"},{}, "Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
821
	pcall(function()
822
		local sPlayer = Abyss:GetPlayer(Player.userId)
823
        sPlayer:DismissAll()
824
825
	local DataStore = game:GetService("DataStoreService"):GetDataStore("Abyss_Ranks")
826
    if DataStore:GetAsync("Ranks") == nil or DataStore:GetAsync("Ranks") == "" then
827
        return
828
    end
829
    local Ranks = game:GetService("HttpService"):JSONDecode(DataStore:GetAsync("Ranks"))
830
    
831
    for i,v in next, Ranks do
832
local Name = GetNameFromId(i)
833
sPlayer:CreateTablet(Name.." : "..v, BrickColor.new("Really red").Color, 1)
834
    end
835
836
end)
837
end)
838
839
840
841
local HTTP = game:GetService("HttpService")
842
843
Abyss:NewCommand("Example","Gives an example of a word",1,{"example", "exp"},{}, "Server Side", "API Related",function(Message,Flags,Player,PlayerRank)
844
	pcall(function()
845
		local sPlayer = Abyss:GetPlayer(Player.userId)
846
        sPlayer:DismissAll()
847
  local example = HTTP:GetAsync("https://api.apithis.net/dictionary.php?example="..Message.."")
848
        if example == nil then
849
        Error("Please enter a word", 5, sPlayer)
850
    elseif example == "No example found." then
851
        Error("Could not find example for "..tostring(Message), 5, sPlayer)
852
        else
853
        sPlayer:CreateTablet("Abyss: "..example..".", BrickColor.new("Bright green").Color, 1)
854
end
855
end)
856
end)
857
858
Abyss:NewCommand("Define","Gives a definition of a word",1,{"define", "def"},{}, "Server Side", "API Related",function(Message,Flags,Player,PlayerRank)
859
	pcall(function()
860
		local sPlayer = Abyss:GetPlayer(Player.userId)
861
        sPlayer:DismissAll()
862
    local definition = HTTP:GetAsync("https://api.apithis.net/dictionary.php?define="..Message.."")
863
        if definition == nil then
864
        Error("Please enter a word", 5, sPlayer)
865
    elseif definition == "No definition found." then
866
        Error("Could not find a definition for "..tostring(Message), 5, sPlayer)
867
        else
868
        sPlayer:CreateTablet("Abyss: "..definition..".", BrickColor.new("Bright green").Color, 1)
869
end
870
end)
871
end)
872
873
Abyss:NewCommand("Insult","Insults a player with a yomama 'joke'",1,{"yinsult", "insult"},{}, "Server Side", "API Related",function(Message,Flags,Player,PlayerRank)
874
	pcall(function()
875
				local sPlayer = Abyss:GetPlayer(Player.userId)
876
		if Flags["plr"] then
877
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
878
            for i,v in next, Selected do
879
	    local insult = HTTP:GetAsync("https://api.apithis.net/yomama.php")
880
v:CreateTablet("Abyss: "..insult..".", BrickColor.new("Bright green").Color, 1)
881
if _G.CommandConfirmation == ("True") then
882
sPlayer:CreateTablet("Insulted Player: "..v.Name..", with insult: "..insult, BrickColor.new("Bright green").Color, 1)
883
end
884
end
885
end
886
	end)
887
	end)
888
889
890
891
Abyss:NewCommand("Skype resolver","Resolves a skype name",1,{"resolve", "sr"},{}, "Server Side", "API Related",function(Message,Flags,Player,PlayerRank)
892
	pcall(function()
893
		local sPlayer = Abyss:GetPlayer(Player.userId)
894
        sPlayer:DismissAll()
895
    local skype = HTTP:GetAsync("https://api.apithis.net/skyperesolver.php?username="..Message.."")
896
        if skype == nil then
897
        Error("Please enter a skype username", 5, sPlayer)
898
    elseif skype == "IP Not found." then
899
        Error("Could not find an IP for "..tostring(Message), 5, sPlayer)
900
        else
901
        sPlayer:CreateTablet("Skype name: "..tostring(Message)..", IP: "..skype, BrickColor.new("Bright green").Color, 1)
902
end
903
end)
904
end)
905
906
Abyss:NewCommand("Server IP resolver","Resolves the IP of the server",1,{"ip", "serverip"},{}, "Server Side", "API Related",function(Message,Flags,Player,PlayerRank)
907
	pcall(function()
908
		local sPlayer = Abyss:GetPlayer(Player.userId)
909
        sPlayer:DismissAll()
910
    local IP = HTTP:GetAsync("https://api.ipify.org")
911
        if IP == nil then
912
        Error("Could not find IP", 5, sPlayer)
913
    elseif IP == "IP Not found." then
914
        Error("Could not find an IP for "..tostring(Message), 5, sPlayer)
915
        else
916
        sPlayer:CreateTablet("Server IP: "..IP, BrickColor.new("Bright green").Color, 1)
917
end
918
end)
919
end)
920
921
922
Abyss:NewCommand("URL Shorten","Shortens a given URL",1,{"shorten", "surl", "url"},{}, "Server Side", "API Related",function(Message,Flags,Player,PlayerRank)
923
	pcall(function()
924
		local sPlayer = Abyss:GetPlayer(Player.userId)
925
        sPlayer:DismissAll()
926
    local URL = HTTP:GetAsync("https://is.gd/create.php?format=simple&url="..Message.."")
927
        if URL == nil then
928
        Error("Please enter a skype username", 5, sPlayer)
929
    elseif URL == "Error: Please enter a valid URL to shorten" then
930
        Error("URL: "..tostring(Message)..", is not valid", 5, sPlayer)
931
        else
932
        sPlayer:CreateTablet("Compressed URL: "..URL, BrickColor.new("Bright red").Color, 1)
933
end
934
end)
935
end)
936
937
938
939
940
941
942
----------------------[[ SERVERSIDE ]]--------------------------
943
944
945
----------------------[[ FUN ]]--------------------------
946
debris = game:GetService("Debris")
947
Abyss:NewCommand("Fling","Flings a player",1,{'fling'},{"plr"},"Fun Commands", "More fun",function(Message,Flags,Player,PlayerRank)
948
	pcall(function()
949
        local sPlayer = Abyss:GetPlayer(Player.userId)
950
		if Flags["plr"] then
951
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
952
            for i,v in next, Selected do
953
                if v and v.Character and v.Character:FindFirstChild("Torso") then
954
                  local force = tonumber(Message[1]) or 10
955
local humanoid = v and v.Character and v.Character:FindFirstChild("Humanoid")
956
			local humanoidRootPart = v and v.Character and v.Character:FindFirstChild("HumanoidRootPart")
957
			
958
			if (humanoid and humanoidRootPart) then
959
				humanoid.Sit = true
960
				humanoid.PlatformStand = true
961
				local bodyForce = Instance.new("BodyForce", humanoidRootPart)
962
				bodyForce.force = Vector3.new(math.random(-100000, 100000) / 100000, math.random(0, 100000) / 100000, math.random(-100000, 100000) / 100000).unit * force * 750
963
				debris:AddItem(bodyForce, .4)
964
				delay(2, function()
965
					humanoid:ChangeState("GettingUp")
966
			end)
967
			end
968
		end
969
	end                    if _G.CommandConfirmation == ("True") then
970
                        sPlayer:CreateTablet("Flipped Player! : "..v.Name, BrickColor.new("Bright green").Color, 1)
971
                    end
972
                end
973
974
		if next(Flags) == nil then
975
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
976
		end
977
	end)
978
end)
979
980
981
Abyss:NewCommand("Flip","Flips a player",1,{'flip'},{"plr"},"Fun Commands", "More fun",function(Message,Flags,Player,PlayerRank)
982
	pcall(function()
983
        local sPlayer = Abyss:GetPlayer(Player.userId)
984
		if Flags["plr"] then
985
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
986
            for i,v in next, Selected do
987
                if v and v.Character and v.Character:FindFirstChild("Torso") then
988
                    local CommandConfirmation = pcall(function()
989
                    v.Character.Torso.CFrame=v.Character.Torso.CFrame*CFrame.Angles(math.rad(180),0,0)
990
                    v.Character.Humanoid.PlatformStand=true
991
                    end)
992
                    if _G.CommandConfirmation == ("True") then
993
                        sPlayer:CreateTablet("Flipped Player! : "..v.Name, BrickColor.new("Bright green").Color, 1)
994
                    end
995
                end
996
            end
997
		end
998
		if next(Flags) == nil then
999
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1000
		end
1001
	end)
1002
end)
1003
1004
Abyss:NewCommand("Idiot","Tells a player there an idiot",1,{'idiot'},{"plr"},"Fun Commands", "More fun",function(Message,Flags,Player,PlayerRank)
1005
	pcall(function()
1006
        local sPlayer = Abyss:GetPlayer(Player.userId)
1007
		if Flags["plr"] then
1008
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1009
            for i,v in next, Selected do
1010
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1011
                    local CommandConfirmation = pcall(function()
1012
                   v.Character:moveTo(workspace.Terrain.CutscenePlayer.Position)
1013
wait(0.1)                   
1014
v.Character:moveTo(workspace.Base.Position)
1015
script.MuteNo:Clone().Parent=v.Backpack
1016
end)
1017
1018
                    if _G.CommandConfirmation == ("True") then
1019
                        sPlayer:CreateTablet("Idioted : "..v.Name, BrickColor.new("Bright green").Color, 1)
1020
                    end
1021
                end
1022
            end
1023
end
1024
1025
		if next(Flags) == nil then
1026
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1027
		end
1028
	end)
1029
end)
1030
1031
1032
1033
Abyss:NewCommand("Fire","Sets a players torso on fire",1,{'fire'},{"plr"},"Fun Commands", "Player effects",function(Message,Flags,Player,PlayerRank)
1034
	pcall(function()
1035
        local sPlayer = Abyss:GetPlayer(Player.userId)
1036
		if Flags["plr"] then
1037
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1038
            for i,v in next, Selected do
1039
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1040
                    local CommandConfirmation = pcall(function()
1041
                    Instance.new("Fire",v.Character.Torso)
1042
                    end)
1043
                    if _G.CommandConfirmation == ("True") then
1044
                        sPlayer:CreateTablet("Set torso on fire: "..v.Name, BrickColor.new("Bright green").Color, 1)
1045
                    end
1046
                end
1047
            end
1048
		end
1049
		if next(Flags) == nil then
1050
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1051
		end
1052
	end)
1053
end)
1054
1055
Abyss:NewCommand("Sparkles","Creates sparkles in a players character",1,{'sparkle','sparkles','sprk'},{"plr"},"Fun Commands", "Player effects",function(Message,Flags,Player,PlayerRank)
1056
	pcall(function()
1057
        local sPlayer = Abyss:GetPlayer(Player.userId)
1058
		if Flags["plr"] then
1059
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1060
            for i,v in next, Selected do
1061
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1062
                    local CommandConfirmation = pcall(function()
1063
                    Instance.new("Sparkles",v.Character.Torso)
1064
                    end)
1065
                    if _G.CommandConfirmation == ("True") then
1066
                        sPlayer:CreateTablet("Gave sparkles too: "..v.Name, BrickColor.new("Bright green").Color, 1)
1067
                    end
1068
                end
1069
            end
1070
		end
1071
		if next(Flags) == nil then
1072
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1073
		end
1074
	end)
1075
end)
1076
1077
Abyss:NewCommand("Remove sparkles","Removes sparkles from a players character",1,{'nosparkles','nosparkle','removesparkles','removesparkle'},{"plr"},"Fun Commands", "Player effects",function(Message,Flags,Player,PlayerRank)
1078
	pcall(function()
1079
        local sPlayer = Abyss:GetPlayer(Player.userId)
1080
		if Flags["plr"] then
1081
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1082
            for i,v in next, Selected do
1083
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1084
                    local CommandConfirmation = pcall(function()
1085
                    for i,v in pairs(Player.Character.Torso:GetChildren()) do
1086
				if v:IsA("Sparkles") then
1087
					v:Destroy()
1088
				end
1089
				end
1090
                    end)
1091
                    if _G.CommandConfirmation == ("True") then
1092
                        sPlayer:CreateTablet("Removed sparkles from: "..v.Name, BrickColor.new("Bright green").Color, 1)
1093
                    end
1094
                end
1095
            end
1096
		end
1097
		if next(Flags) == nil then
1098
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1099
		end
1100
	end)
1101
end)
1102
1103
Abyss:NewCommand("Remove fire","Removes fire from a players character",1,{'nofire','removefire'},{"plr"},"Fun Commands", "Player effects",function(Message,Flags,Player,PlayerRank)
1104
	pcall(function()
1105
        local sPlayer = Abyss:GetPlayer(Player.userId)
1106
		if Flags["plr"] then
1107
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1108
            for i,v in next, Selected do
1109
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1110
                    local CommandConfirmation = pcall(function()
1111
                    for i,v in pairs(Player.Character.Torso:GetChildren()) do
1112
				if v:IsA("Fire") then
1113
					v:Destroy()
1114
				end
1115
				end
1116
                    end)
1117
                    if _G.CommandConfirmation == ("True") then
1118
                        sPlayer:CreateTablet("Removed fire from: "..v.Name, BrickColor.new("Bright green").Color, 1)
1119
                    end
1120
                end
1121
            end
1122
		end
1123
		if next(Flags) == nil then
1124
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1125
		end
1126
	end)
1127
end)
1128
1129
Abyss:NewCommand("Remove effects","Removes effects from a players character",1,{'noeffects','removeeffects'},{"plr"},"Fun Commands", "Player effects",function(Message,Flags,Player,PlayerRank)
1130
	pcall(function()
1131
        local sPlayer = Abyss:GetPlayer(Player.userId)
1132
		if Flags["plr"] then
1133
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1134
            for i,v in next, Selected do
1135
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1136
                    local CommandConfirmation = pcall(function()
1137
                    for i,v in pairs(Player.Character.Torso:GetChildren()) do
1138
				if v:IsA("Fire") or v:IsA("Smoke") or v:IsA("ParticleEmitter") or v:IsA("PointLight") or v:IsA("SpotLight") or v:IsA("ForceField") then
1139
				v:Destroy() 
1140
				end
1141
				end
1142
                    end)
1143
                    if _G.CommandConfirmation == ("True") then
1144
                        sPlayer:CreateTablet("Removed effects from: "..v.Name, BrickColor.new("Bright green").Color, 1)
1145
                    end
1146
                end
1147
            end
1148
		end
1149
		if next(Flags) == nil then
1150
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1151
		end
1152
	end)
1153
end)
1154
1155
Abyss:NewCommand("Big head","gives a player a very big head",1,{'bighead','bhead'},{"plr"},"Fun Commands", "Player",function(Message,Flags,Player,PlayerRank)
1156
	pcall(function()
1157
        local sPlayer = Abyss:GetPlayer(Player.userId)
1158
		if Flags["plr"] then
1159
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1160
            for i,v in next, Selected do
1161
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1162
                    local CommandConfirmation = pcall(function()
1163
                if Player and Player.Character and Player.Character:FindFirstChild("Head") then
1164
				Player.Character.Head.Mesh.Scale=Vector3.new(3,3,3)
1165
				Player.Character.Torso.Neck.C0=CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)*CFrame.new(0,0,.8)
1166
				end
1167
                    end)
1168
                    if _G.CommandConfirmation == ("True") then
1169
                        sPlayer:CreateTablet("Made head really big: "..v.Name, BrickColor.new("Bright green").Color, 1)
1170
                    end
1171
                end
1172
            end
1173
		end
1174
		if next(Flags) == nil then
1175
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1176
		end
1177
	end)
1178
end)
1179
1180
Abyss:NewCommand("Tiny head","gives a player a very tiny head",1,{'tinyhead','thead'},{"plr"},"Fun Commands", "Player",function(Message,Flags,Player,PlayerRank)
1181
	pcall(function()
1182
        local sPlayer = Abyss:GetPlayer(Player.userId)
1183
		if Flags["plr"] then
1184
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1185
            for i,v in next, Selected do
1186
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1187
                    local CommandConfirmation = pcall(function()
1188
                if Player and Player.Character and Player.Character:FindFirstChild("Head") then
1189
				Player.Character.Head.Mesh.Scale=Vector3.new(.75,.75,.75)
1190
				Player.Character.Torso.Neck.C0=CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)*CFrame.new(0,0,-.3)
1191
			end
1192
                    end)
1193
                    if _G.CommandConfirmation == ("True") then
1194
                        sPlayer:CreateTablet("Made head really small: "..v.Name, BrickColor.new("Bright green").Color, 1)
1195
                    end
1196
                end
1197
            end
1198
		end
1199
		if next(Flags) == nil then
1200
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1201
		end
1202
	end)
1203
end)
1204
1205
Abyss:NewCommand("Normal head","gives a player a nromal head",1,{'normalhead','nhead'},{"plr"},"Fun Commands", "Player",function(Message,Flags,Player,PlayerRank)
1206
	pcall(function()
1207
        local sPlayer = Abyss:GetPlayer(Player.userId)
1208
		if Flags["plr"] then
1209
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1210
            for i,v in next, Selected do
1211
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1212
                    local CommandConfirmation = pcall(function()
1213
                if Player and Player.Character and Player.Character:FindFirstChild("Head") then
1214
				Player.Character.Head.Mesh.Scale=Vector3.new(1.25,1.25,1.25)
1215
				Player.Character.Torso.Neck.C0=CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
1216
			end
1217
                    end)
1218
                    if _G.CommandConfirmation == ("True") then
1219
                        sPlayer:CreateTablet("Made head normal: "..v.Name, BrickColor.new("Bright green").Color, 1)
1220
                    end
1221
                end
1222
            end
1223
		end
1224
		if next(Flags) == nil then
1225
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1226
		end
1227
	end)
1228
end)
1229
1230
Abyss:NewCommand("Pin head","gives a player a pin head",1,{'pinhead','phead'},{"plr"},"Fun Commands", "Player",function(Message,Flags,Player,PlayerRank)
1231
	pcall(function()
1232
        local sPlayer = Abyss:GetPlayer(Player.userId)
1233
		if Flags["plr"] then
1234
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1235
            for i,v in next, Selected do
1236
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1237
                    local CommandConfirmation = pcall(function()
1238
                if Player and Player.Character and Player.Character:FindFirstChild("Head") then
1239
Player.Character.Head.Mesh.Scale=Vector3.new(1.25,5,1.25)
1240
				Player.Character.Torso.Neck.C0=CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)*CFrame.new(0,0,1.5)
1241
			end
1242
                    end)
1243
                    if _G.CommandConfirmation == ("True") then
1244
                        sPlayer:CreateTablet("Made pinhead: "..v.Name, BrickColor.new("Bright green").Color, 1)
1245
                    end
1246
                end
1247
            end
1248
		end
1249
		if next(Flags) == nil then
1250
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1251
		end
1252
	end)
1253
end)
1254
1255
Abyss:NewCommand("Sky Dive","Sky dives a player",1,{'sdive','skydive'},{"plr"},"Fun Commands", "Player",function(Message,Flags,Player,PlayerRank)
1256
	pcall(function()
1257
        local sPlayer = Abyss:GetPlayer(Player.userId)
1258
		if Flags["plr"] then
1259
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1260
            for i,v in next, Selected do
1261
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1262
                    local CommandConfirmation = pcall(function()
1263
                if Player and Player.Character and Player.Character:FindFirstChild("Head") then
1264
if Player and Player.Character and Player.Character:FindFirstChild("Torso") then
1265
				Player.Character.Torso.CFrame=Player.Character.Torso.CFrame+Vector3.new(0,500,500,0)
1266
				end
1267
			end
1268
                    end)
1269
                    if _G.CommandConfirmation == ("True") then
1270
                        sPlayer:CreateTablet("Made pinhead: "..v.Name, BrickColor.new("Bright green").Color, 1)
1271
                    end
1272
                end
1273
            end
1274
		end
1275
		if next(Flags) == nil then
1276
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1277
		end
1278
	end)
1279
end)
1280
1281
1282
Abyss:NewCommand("Clone","Creates a clone of someones player",1,{'clone','cln'},{"plr"},"Fun Commands", "More fun",function(Message,Flags,Player,PlayerRank)
1283
	pcall(function()
1284
        local sPlayer = Abyss:GetPlayer(Player.userId)
1285
		if Flags["plr"] then
1286
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1287
            for i,v in next, Selected do
1288
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1289
                    local CommandConfirmation = pcall(function()
1290
                if Player and Player.Character and Player.Character:FindFirstChild("Head") then
1291
if Player and Player.Character then
1292
				Player.Character.Archivable=true
1293
				local Clone=Player.Character:Clone()
1294
				Player.Character.Archivable=false
1295
				Clone:MakeJoints()
1296
				Clone.Parent=workspace
1297
				Clone:MakeJoints()
1298
				Clone.Archivable=false
1299
				Clone:MoveTo(Player.Character.Torso.CFrame.p)
1300
				table.insert(Clones,Clone)
1301
				end
1302
			end
1303
                    end)
1304
                    if _G.CommandConfirmation == ("True") then
1305
                        sPlayer:CreateTablet("Made a clone of: "..v.Name, BrickColor.new("Bright green").Color, 1)
1306
                    end
1307
                end
1308
            end
1309
		end
1310
		if next(Flags) == nil then
1311
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1312
		end
1313
	end)
1314
end)
1315
1316
1317
1318
1319
----------------------[[ FUN ]]--------------------------
1320
1321
----------------------[[ PLAYER ]]--------------------------
1322
1323
Abyss:NewCommand("F3X","Gives F3X tools to a player",3,{'f3x'},{"F3X"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
1324
	pcall(function()
1325
        local sPlayer = Abyss:GetPlayer(Player.userId)
1326
		if Flags["plr"] then
1327
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1328
            for i,v in next, Selected do
1329
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1330
                    local CommandConfirmation = pcall(function()
1331
                if v and Player:FindFirstChild("Backpack") then
1332
						script.F3X:Clone().Parent=v.Backpack
1333
end
1334
                    end)
1335
                    if _G.CommandConfirmation == ("True") then
1336
                        sPlayer:CreateTablet("Gave F3X tools to player: "..v.Name, BrickColor.new("Bright green").Color, 1)
1337
                    end
1338
                end
1339
            end
1340
		end
1341
		if next(Flags) == nil then
1342
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1343
		end
1344
	end)
1345
end)
1346
1347
1348
Abyss:NewCommand("ungod","Ungods the player",3,{'ungod','ugd'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
1349
	pcall(function()
1350
        local sPlayer = Abyss:GetPlayer(Player.userId)
1351
		if Flags["plr"] then
1352
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1353
            for i,v in next, Selected do
1354
                if v and v.Character and v.Character.Humanoid then
1355
                        v.Character.Humanoid.MaxHealth = 100
1356
 local CommandConfirmation = pcall(function()
1357
                    end)
1358
                    if _G.CommandConfirmation == ("True") then
1359
                        sPlayer:CreateTablet("Gave btools too player: "..v.Name, BrickColor.new("Bright green").Color, 1)
1360
                    end
1361
                end
1362
            end
1363
		end
1364
		if next(Flags) == nil then
1365
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1366
		end
1367
	end)
1368
end)
1369
1370
Abyss:NewCommand("god","Gods the player",3,{'god','gd'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
1371
	pcall(function()
1372
        local sPlayer = Abyss:GetPlayer(Player.userId)
1373
		if Flags["plr"] then
1374
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1375
            for i,v in next, Selected do
1376
                if v and v.Character and v.Character.Humanoid then
1377
                v.Character.Humanoid.MaxHealth = math.huge
1378
 local CommandConfirmation = pcall(function()
1379
                    end)
1380
                    if _G.CommandConfirmation == ("True") then
1381
                        sPlayer:CreateTablet("Gave btools too player: "..v.Name, BrickColor.new("Bright green").Color, 1)
1382
                    end
1383
                end
1384
            end
1385
		end
1386
		if next(Flags) == nil then
1387
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1388
		end
1389
	end)
1390
end)
1391
1392
Abyss:NewCommand("Respawn cFrame","Respawns the player at there given cFrame",3,{'r','R'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
1393
	pcall(function()
1394
        local sPlayer = Abyss:GetPlayer(Player.userId)
1395
if Flags["plr"] then
1396
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1397
            for i,v in next, Selected do
1398
                if v and v.Character and v.Character.Humanoid then
1399
			local humanoidRootPart = v and v.Character and v.Character:FindFirstChild("HumanoidRootPart")
1400
			if (humanoidRootPart) then
1401
				spawn(function()
1402
					local lastCFrame = humanoidRootPart.CFrame
1403
					v:LoadCharacter()
1404
					humanoidRootPart = (v.Character or v.CharacterAdded:wait()):WaitForChild("HumanoidRootPart")
1405
					humanoidRootPart.CFrame = lastCFrame
1406
				end)
1407
			end
1408
 local CommandConfirmation = pcall(function()
1409
                    end)
1410
                    if _G.CommandConfirmation == ("True") then
1411
                        sPlayer:CreateTablet("Respawned player: "..v.Name..", at there original cFrame", BrickColor.new("Bright green").Color, 1)
1412
                    end
1413
                end
1414
            end
1415
		end
1416
		if next(Flags) == nil then
1417
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1418
		end
1419
	end)
1420
end)
1421
1422
1423
Abyss:NewCommand("Hide","Makes a player hidden",3,{'hide','hfv','hidefromview'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
1424
	pcall(function()
1425
        local sPlayer = Abyss:GetPlayer(Player.userId)
1426
		if Flags["plr"] then
1427
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1428
            for i,v in next, Selected do
1429
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1430
                    local CommandConfirmation = pcall(function()
1431
                if Player and Player:FindFirstChild("Backpack") then
1432
						script.Hide:Clone().Parent=Player.Backpack
1433
end
1434
                    end)
1435
                    if _G.CommandConfirmation == ("True") then
1436
                        sPlayer:CreateTablet("Hid player: "..v.Name, BrickColor.new("Bright green").Color, 1)
1437
                    end
1438
                end
1439
            end
1440
		end
1441
		if next(Flags) == nil then
1442
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1443
		end
1444
	end)
1445
end)
1446
1447
Abyss:NewCommand("Noclip","Noclips a player",3,{'noclip'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
1448
	pcall(function()
1449
        local sPlayer = Abyss:GetPlayer(Player.userId)
1450
		if Flags["plr"] then
1451
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1452
            for i,v in next, Selected do
1453
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1454
                    local CommandConfirmation = pcall(function()
1455
                if v and v:FindFirstChild("Backpack") then
1456
						script.NoClip:Clone().Parent=v.Backpack
1457
end
1458
                    end)
1459
                    if _G.CommandConfirmation == ("True") then
1460
                        sPlayer:CreateTablet("Noclipped player: "..v.Name, BrickColor.new("Bright green").Color, 1)
1461
                    end
1462
                end
1463
            end
1464
		end
1465
		if next(Flags) == nil then
1466
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1467
		end
1468
	end)
1469
end)
1470
1471
1472
1473
1474
1475
Abyss:NewCommand("Mute","Mutes a player",1,{'mute'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
1476
	pcall(function()
1477
        local sPlayer = Abyss:GetPlayer(Player.userId)
1478
		if Flags["plr"] then
1479
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1480
            for i,v in next, Selected do
1481
		if v==sPlayer then Error("You don't want to mute yourself", 5, sPlayer) return end
1482
	local s=require(272131702)
1483
	s(v,"mute")
1484
			  if _G.CommandConfirmation == ("True") then
1485
			sPlayer:CreateTablet("Muted "..v.Name, BrickColor.new("Really red").Color, 1)
1486
			            end
1487
			end
1488
		end
1489
		if next(Flags) == nil then
1490
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1491
		end
1492
	end)
1493
end)
1494
1495
Abyss:NewCommand("Unmute","Unmutes a player",1,{'unmute'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
1496
	pcall(function()
1497
        local sPlayer = Abyss:GetPlayer(Player.userId)
1498
		if Flags["plr"] then
1499
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1500
            for i,v in next, Selected do
1501
	local s=require(272131702)
1502
	s(v,"unmute")
1503
			                    if _G.CommandConfirmation == ("True") then
1504
1505
			sPlayer:CreateTablet("Unmuted "..v.Name, BrickColor.new("Really red").Color, 1)
1506
			            end
1507
			end
1508
		end
1509
		if next(Flags) == nil then
1510
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1511
		end
1512
	end)
1513
end)
1514
1515
Abyss:NewCommand("Rap","Returns the age of a user",1,{'rap'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
1516
	pcall(function()
1517
        local sPlayer = Abyss:GetPlayer(Player.userId)
1518
		if Flags["plr"] then
1519
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1520
            for i,v in next, Selected do
1521
local req="http://roblox.plus:2052/inventory?id="..v.userId
1522
	local d=game:GetService'HttpService':GetAsync(req,true)
1523
	d=game:GetService'HttpService':JSONDecode(d)
1524
	local rap=0
1525
	for a,b in pairs(d.data) do
1526
		rap=rap+tonumber(b.rap)
1527
	end
1528
			sPlayer:CreateTablet("Gor rap of Player: "..v.Name.." : "..rap, BrickColor.new("Really red").Color, 1)
1529
            end
1530
		end
1531
		if next(Flags) == nil then
1532
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1533
		end
1534
	end)
1535
end)
1536
1537
Abyss:NewCommand("Buildtools","Gives a player buidltools",3,{'b','buildtools','btools'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
1538
	pcall(function()
1539
        local sPlayer = Abyss:GetPlayer(Player.userId)
1540
		if Flags["plr"] then
1541
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1542
            for i,v in next, Selected do
1543
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1544
                    local CommandConfirmation = pcall(function()
1545
                if Player and Player:FindFirstChild("Backpack") then
1546
				Instance.new("HopperBin",Player.Backpack).BinType="Clone"
1547
				Instance.new("HopperBin",Player.Backpack).BinType="GameTool"
1548
				Instance.new("HopperBin",Player.Backpack).BinType="Grab"
1549
				Instance.new("HopperBin",Player.Backpack).BinType="Hammer"
1550
end
1551
                    end)
1552
                    if _G.CommandConfirmation == ("True") then
1553
                        sPlayer:CreateTablet("Gave btools too player: "..v.Name, BrickColor.new("Bright green").Color, 1)
1554
                    end
1555
                end
1556
            end
1557
		end
1558
		if next(Flags) == nil then
1559
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1560
		end
1561
	end)
1562
end)
1563
1564
Abyss:NewCommand("Respawn","Respawns a player",1,{'res','reset','respawn'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
1565
	pcall(function()
1566
        local sPlayer = Abyss:GetPlayer(Player.userId)
1567
		if Flags["plr"] then
1568
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1569
            for i,v in next, Selected do
1570
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1571
                    local CommandConfirmation = pcall(function()
1572
                if Player then Player:LoadCharacter()
1573
end
1574
                    end)
1575
                    if _G.CommandConfirmation == ("True") then
1576
                        sPlayer:CreateTablet("Respawned player: "..v.Name, BrickColor.new("Bright green").Color, 1)
1577
                    end
1578
                end
1579
            end
1580
		end
1581
		if next(Flags) == nil then
1582
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1583
		end
1584
	end)
1585
end)
1586
1587
Abyss:NewCommand("ForceField","Gives the player a ForceField",1,{'ff','forcefield','giveff'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
1588
	pcall(function()
1589
        local sPlayer = Abyss:GetPlayer(Player.userId)
1590
		if Flags["plr"] then
1591
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1592
            for i,v in next, Selected do
1593
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1594
                    local CommandConfirmation = pcall(function()
1595
                    Instance.new("ForceField",v.Character)
1596
                    end)
1597
                    if _G.CommandConfirmation == ("True") then
1598
                        sPlayer:CreateTablet("Gave a Forcefield too: "..v.Name, BrickColor.new("Bright green").Color, 1)
1599
                    end
1600
                end
1601
            end
1602
		end
1603
		if next(Flags) == nil then
1604
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1605
		end
1606
	end)
1607
end)
1608
1609
Abyss:NewCommand("Remove forcefield","Removes forcefield from a player",1,{'noff','unff','removeff'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
1610
	pcall(function()
1611
        local sPlayer = Abyss:GetPlayer(Player.userId)
1612
		if Flags["plr"] then
1613
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1614
            for i,v in next, Selected do
1615
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1616
                    local CommandConfirmation = pcall(function()
1617
                    for i,v in pairs(Player.Character:GetChildren()) do
1618
				if v:IsA("ForceField") then
1619
					v:Destroy()
1620
				end
1621
				end
1622
                    end)
1623
                    if _G.CommandConfirmation == ("True") then
1624
                        sPlayer:CreateTablet("Removed forcefield from: "..v.Name, BrickColor.new("Bright green").Color, 1)
1625
                    end
1626
                end
1627
            end
1628
		end
1629
		if next(Flags) == nil then
1630
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1631
		end
1632
	end)
1633
end)
1634
1635
Abyss:NewCommand("Explode player","Explodes a player",1,{'explode','expl','e'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
1636
	pcall(function()
1637
        local sPlayer = Abyss:GetPlayer(Player.userId)
1638
		if Flags["plr"] then
1639
            local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
1640
            for i,v in next, Selected do
1641
                if v and v.Character and v.Character:FindFirstChild("Torso") then
1642
                    local CommandConfirmation = pcall(function()
1643
                    for i,v in pairs(Player.Character:GetChildren()) do
1644
			    if Player and Player.Character and Player.Character:FindFirstChild("Torso") then
1645
				Instance.new("Explosion",Player.Character).Position=Player.Character.Torso.CFrame.p
1646
				end
1647
				end
1648
                    end)
1649
                    if _G.CommandConfirmation == ("True") then
1650
                        sPlayer:CreateTablet("Successfully exploded player: "..v.Name, BrickColor.new("Bright green").Color, 1)
1651
                    end
1652
                end
1653
            end
1654
		end
1655
		if next(Flags) == nil then
1656
			sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
1657
		end
1658
	end)
1659
end)
1660
1661
1662
1663
Abyss:NewCommand("Commands","Lists all commands",0,{"cmds", "commands", "cmd"},{}, "Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
1664
	pcall(function()
1665
		local sPlayer = Abyss:GetPlayer(Player.userId)
1666
        sPlayer:DismissAll()
1667
        
1668
        local Catagories = {"Deadly", "Server Side", "SB Releated", "Fun Commands", "Players", "Server Appearances"}
1669
        local SubCatagories = {}
1670
        
1671
        for i,v in next, Catagories do
1672
            sPlayer:CreateTablet(v, BrickColor.random().Color, 1, function()
1673
                sPlayer:DismissAll()
1674
1675
                for a,b in next, Abyss.Buffer.Commands do
1676
                    if(b.Section == v) then
1677
                        if not SubCatagories[b.SubSection] then
1678
                            SubCatagories[b.SubSection] = {}
1679
                            table.insert(SubCatagories[b.SubSection], b)
1680
                        else
1681
                            table.insert(SubCatagories[b.SubSection], b)
1682
                        end
1683
                    end
1684
                end
1685
                
1686
                local function LoadPage(Tot, Pages, CurrentPage, sPlayer)
1687
                    if Tot > 1 then
1688
                        if Tot ~= CurrentPage then
1689
                            sPlayer:CreateTablet("Next", BrickColor.new("Bright green").Color, 1, function() 
1690
                                sPlayer:DismissAll()
1691
                                LoadPage(Tot, Pages, CurrentPage + 1, sPlayer)
1692
                            end)
1693
                        end
1694
                        if CurrentPage > 1 then
1695
                            sPlayer:CreateTablet("Back", BrickColor.new("Bright green").Color, 1, function()                                
1696
                                sPlayer:DismissAll()
1697
                                LoadPage(Tot, Pages, CurrentPage - 1, sPlayer)
1698
                            end)
1699
                        end
1700
                    end
1701
                    for _, I in next, Pages[CurrentPage] do
1702
                        sPlayer:CreateTablet(I.Name, BrickColor.random().Color, 1, function() 
1703
                            sPlayer:DismissAll()
1704
                            sPlayer:CreateTablet("Name : "..I.Name, BrickColor.new("Bright green").Color, 1, nil, BrickColor.new("Bright green"))
1705
                            sPlayer:CreateTablet("Minimum Rank : "..I.Rank, BrickColor.new("Bright purple").Color, 1, nil, BrickColor.new("Bright purple"))
1706
                            local str = ""
1707
                            for i,o in next, I.Calls do
1708
                                if i ~= #I.Calls then
1709
                                    str = str..o..", "
1710
                                else
1711
                                    str = str..o
1712
                                end
1713
                            end
1714
                            sPlayer:CreateTablet("Usage : "..str, BrickColor.new("Bright orange").Color, 1, nil, BrickColor.new("Bright orange"))
1715
                        end)
1716
                    end
1717
                end
1718
 
1719
                for a,b in next, SubCatagories do
1720
                    sPlayer:CreateTablet(a, BrickColor.random().Color, 1, function()
1721
                        sPlayer:DismissAll()
1722
                        local CurrentPage = 1
1723
                        local Tot = 1
1724
                        local Pages = {[1] = {}}
1725
                        local Counter = 0
1726
                        for _,I in next, Abyss.Buffer.Commands do
1727
                            if (I.Section == v and I.SubSection == a) then
1728
                                if Counter < 10 then
1729
                                    table.insert(Pages[Tot], I)
1730
                                    Counter = Counter + 1
1731
                                elseif Counter >= 10 then
1732
                                    Tot = Tot + 1
1733
                                    Counter = 0
1734
                                    Pages[Tot] = {}
1735
                                    table.insert(Pages[Tot], I)
1736
                                end  
1737
                            end
1738
                        end
1739
                        LoadPage(Tot, Pages, CurrentPage, sPlayer)
1740
                    end)
1741
                end
1742
            end)
1743
        end
1744
	end)
1745
end)
1746
1747
1748
1749
------------------------------[[ SERVER APPERENCED ]]-------------------------
1750
1751
Abyss:NewCommand("Fogend","Change the server fogend",1,{"fogend", "fe"},{}, "Server Appearances", "Foggies",function(Message,Flags,Player,PlayerRank)
1752
	pcall(function()
1753
		local sPlayer = Abyss:GetPlayer(Player.userId)
1754
        sPlayer:DismissAll()
1755
        game.Lighting.FogEnd=tonumber(Message)
1756
        if _G.CommandConfirmation == ("True") then
1757
        sPlayer:CreateTablet("Successfully changed server fogend too: "..tonumber(Message), BrickColor.new("Bright green").Color, 1)
1758
end
1759
end)
1760
end)
1761
1762
Abyss:NewCommand("Fogstart ","Change the server fogstart",1,{"fogstart", "fs"},{}, "Server Appearances", "Foggies",function(Message,Flags,Player,PlayerRank)
1763
	pcall(function()
1764
		local sPlayer = Abyss:GetPlayer(Player.userId)
1765
        sPlayer:DismissAll()
1766
		game.Lighting.FogStart=tonumber(Message)
1767
        if _G.CommandConfirmation == ("True") then
1768
        sPlayer:CreateTablet("Successfully changed server fogstart too: "..tonumber(Message), BrickColor.new("Bright green").Color, 1)
1769
end
1770
end)
1771
end)
1772
1773
Abyss:NewCommand("Time","Change the server lighting time",1,{"time", "t"},{}, "Server Appearances", "Lighting",function(Message,Flags,Player,PlayerRank)
1774
	pcall(function()
1775
		local sPlayer = Abyss:GetPlayer(Player.userId)
1776
        sPlayer:DismissAll()
1777
			game.Lighting.Brightness=tonumber(Message)
1778
        if _G.CommandConfirmation == ("True") then
1779
        sPlayer:CreateTablet("Successfully changed server brightness time too: "..tonumber(Message), BrickColor.new("Bright green").Color, 1)
1780
end
1781
end)
1782
end)
1783
1784
Abyss:NewCommand("Brightness","Change the server lighting brightness",1,{"brightness", "b"},{}, "Server Appearances", "Lighting",function(Message,Flags,Player,PlayerRank)
1785
	pcall(function()
1786
		local sPlayer = Abyss:GetPlayer(Player.userId)
1787
        sPlayer:DismissAll()
1788
		game.Lighting.TimeOfDay=tonumber(Message)
1789
        if _G.CommandConfirmation == ("True") then
1790
        sPlayer:CreateTablet("Successfully changed server lighting time too: "..tonumber(Message), BrickColor.new("Bright green").Color, 1)
1791
end
1792
end)
1793
end)
1794
1795
Abyss:NewCommand("Global shadows","Change the server lighting shadow settings",1,{"shadow", "shdw"},{}, "Server Appearances", "Lighting",function(Message,Flags,Player,PlayerRank)
1796
	pcall(function()
1797
		local sPlayer = Abyss:GetPlayer(Player.userId)
1798
        sPlayer:DismissAll()
1799
       sPlayer:CreateTablet("Global shadows: ON", BrickColor.new("Bright green").Color, 1, function()
1800
	   sPlayer:DismissAll()
1801
			game.Lighting.GlobalShadows=true
1802
	   sPlayer:CreateTablet("Global shadows has been turned: ON", BrickColor.new("Bright green").Color, 1)
1803
		end)
1804
	    sPlayer:CreateTablet("Global shadows: OFF", BrickColor.new("Really red").Color, 1, function()
1805
	  sPlayer:DismissAll()
1806
			game.Lighting.GlobalShadows=false
1807
	   sPlayer:CreateTablet("Global shadows has been turned: OFF", BrickColor.new("Really red").Color, 1)
1808
	end)   
1809
	end)
1810
end)
1811
1812
1813
Abyss:NewCommand("Disco","Makes everyone get epilepsy",1,{"disco", "dso"},{}, "Server Appearances", "Lighting",function(Message,Flags,Player,PlayerRank)
1814
	pcall(function()
1815
		local sPlayer = Abyss:GetPlayer(Player.userId)
1816
_G.Disco = true
1817
local function GetDiscoColor()
1818
        local hue = tick()
1819
        local section = hue % 1 * 3
1820
        local secondary = 0.5 * math.pi * (section % 1)
1821
        if section < 1 then
1822
                return Color3.new(1, 1 - math.cos(secondary), 1 - math.sin(secondary))
1823
        elseif section < 2 then
1824
                return Color3.new(1 - math.sin(secondary), 1, 1 - math.cos(secondary))
1825
        else
1826
                return Color3.new(1 - math.cos(secondary), 1 - math.sin(secondary), 1)
1827
        end
1828
end
1829
local con
1830
local function ChangeColor()
1831
        local Lighting = game:GetService("Lighting")
1832
        local Color = GetDiscoColor()
1833
        Lighting.GlobalShadows = true
1834
        Lighting.OutdoorAmbient = Color
1835
        Lighting.Ambient = Color
1836
        Lighting.FogEnd = 200
1837
        Lighting.FogColor = Color
1838
                
1839
                if _G.Disco == false then
1840
                        con:disconnect()
1841
                end
1842
end
1843
if _G.CommandConfirmation == ("True") then
1844
sPlayer:CreateTablet("You gave everyone epilepsy!", BrickColor.new("Bright green").Color, 1)
1845
con = game:GetService("RunService").Heartbeat:connect(ChangeColor)
1846
game.Lighting.TimeOfDay = 0
1847
end
1848
end)
1849
end)
1850
1851
1852
Abyss:NewCommand("No Disco","Saves the server from imminent epilepsy",1,{"nodisco", "ndso"},{}, "Server Appearances", "Lighting",function(Message,Flags,Player,PlayerRank)
1853
	pcall(function()
1854
		local sPlayer = Abyss:GetPlayer(Player.userId)
1855
_G.Disco = false
1856
local lite = game.Lighting
1857
lite.Ambient = Color3.new()
1858
lite.Brightness = 1
1859
lite.ColorShift_Bottom = Color3.new()
1860
lite.ColorShift_Top = Color3.new()
1861
lite.GlobalShadows = true
1862
lite.OutdoorAmbient = Color3.new(127/255,127/255,127/255)
1863
lite.ShadowColor = Color3.new(178/255,178/255,178/255)
1864
lite.GeographicLatitude = 41.733
1865
lite.TimeOfDay = 14
1866
lite.FogColor = Color3.new(191/255,191/255,191/255)
1867
lite.FogEnd = 99999999
1868
lite.FogStart = 0
1869
if _G.CommandConfirmation == ("True") then
1870
sPlayer:CreateTablet("You saved everyone from imminent epilepsy", BrickColor.new("Bright green").Color, 1)
1871
end
1872
end)
1873
end)
1874
1875
1876
1877
1878
--[ NEXT PAGE TESTING ]]--
1879
1880
Abyss:NewCommand("1","1",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
1881
pcall(function()
1882
local sPlayer = Abyss:GetPlayer(Player.userId)
1883
sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
1884
end)
1885
end)
1886
1887
1888
1889
Abyss:NewCommand("2","2",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
1890
pcall(function()
1891
local sPlayer = Abyss:GetPlayer(Player.userId)
1892
sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
1893
end)
1894
end)
1895
1896
Abyss:NewCommand("3","4",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
1897
pcall(function()
1898
local sPlayer = Abyss:GetPlayer(Player.userId)
1899
sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
1900
end)
1901
end)
1902
1903
Abyss:NewCommand("5","5",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
1904
pcall(function()
1905
local sPlayer = Abyss:GetPlayer(Player.userId)
1906
sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
1907
end)
1908
end)
1909
1910
Abyss:NewCommand("6","6",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
1911
pcall(function()
1912
local sPlayer = Abyss:GetPlayer(Player.userId)
1913
sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
1914
end)
1915
end)
1916
1917
Abyss:NewCommand("7","7",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
1918
pcall(function()
1919
local sPlayer = Abyss:GetPlayer(Player.userId)
1920
sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
1921
end)
1922
end)
1923
1924
Abyss:NewCommand("8","8",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
1925
pcall(function()
1926
local sPlayer = Abyss:GetPlayer(Player.userId)
1927
sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
1928
end)
1929
end)
1930
1931
Abyss:NewCommand("9","9",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
1932
pcall(function()
1933
local sPlayer = Abyss:GetPlayer(Player.userId)
1934
sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
1935
end)
1936
end)
1937
1938
Abyss:NewCommand("10","10",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
1939
pcall(function()
1940
local sPlayer = Abyss:GetPlayer(Player.userId)
1941
sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
1942
end)
1943
end)
1944
1945
Abyss:NewCommand("11","11",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
1946
pcall(function()
1947
local sPlayer = Abyss:GetPlayer(Player.userId)
1948
sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
1949
end)
1950
end)
1951
1952
Abyss:NewCommand("12","12",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
1953
pcall(function()
1954
local sPlayer = Abyss:GetPlayer(Player.userId)
1955
sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
1956
end)
1957
end)
1958
1959
Abyss:NewCommand("13","13",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
1960
pcall(function()
1961
local sPlayer = Abyss:GetPlayer(Player.userId)
1962
sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
1963
end)
1964
end)
1965
1966
game:GetService("Players").PlayerAdded:connect(function(Player)
1967
    Player.CharacterAdded:wait()
1968
	local newPlayer = Abyss:RegisterPlayer(Player, 0)
1969
    LoadRanks()
1970
    local Rank = newPlayer.Rank
1971
    if Rank == -1 then
1972
        Player:Kick("You're banned from this server")
1973
        for i,v in next, game:GetService("Players"):GetPlayers() do
1974
            if Abyss:GetPlayer(v.userId) >= 4 and ALERT_BAN then
1975
                Notify(Player.Name.." tried to enter but is banned!", 5,v)
1976
            end
1977
        end
1978
    else
1979
        newPlayer:CreateTablet(("Abyss has loaded, %s"):format(newPlayer.Name), Color(255,255,255), 10)
1980
        newPlayer:CreateTablet(("Your rank is : %s - %s"):format(Rank, Abyss.Ranks[Rank]), Color(255,255,255), 7.5)
1981
        newPlayer:CreateTablet(("Say !cmds to view the current commands"):format(Rank, Abyss.Ranks[Rank]), Color(255,255,255), 5)
1982
1983
    end
1984
end)
1985
1986
for i,v in next, game.Players:GetPlayers() do
1987
    local newPlayer
1988
    local Rank = 0
1989
    if Abyss.RankedUsers[tostring(v.userId)] then
1990
        newPlayer = Abyss:RegisterPlayer(v, Abyss.RankedUsers[tostring(v.userId)])
1991
        Rank = Abyss.RankedUsers[tostring(v.userId)]
1992
    else
1993
	    newPlayer = Abyss:RegisterPlayer(v, 0)
1994
    end
1995
    LoadRanks()
1996
    if Rank == -1 then
1997
        v:Kick("You're banned from this server")
1998
        for i,v in next, game:GetService("Players"):GetPlayers() do
1999
            if Abyss:GetPlayer(v.userId) >= 4 and ALERT_BAN then
2000
                Notify(v.Name.." tried to enter but is banned", 5,v)
2001
            end
2002
        end
2003
    else
2004
        newPlayer:CreateTablet(("Abyss has loaded, %s"):format(v.Name), Color(255,255,255), 10)
2005
        newPlayer:CreateTablet(("Your rank is : %s - %s"):format(Rank, Abyss.Ranks[Rank]), Color(255,255,255), 7.5)
2006
        newPlayer:CreateTablet(("Say !cmds to view the current commands"):format(Rank, Abyss.Ranks[Rank]), Color(255,255,255), 5)
2007
2008
end
2009
end
2010
2011
2012
2013
coroutine.resume(coroutine.create(function() while wait(5) do SaveRanks() end end))