View difference between Paste ID: jJP7BSdS and 4ZaNb4sa
SHOW: | | - or go back to the newest paste.
1
--WOOPS NEXURE SCREWED UP THE SCRIPT! HERE IS THE FIXED ONE!!!!!!!!
2
local Bypass = false
3
if Bypass then
4
    local i=game:service'InsertService':LoadAsset(140878711)
5
    local n=i:children()[1]
6
    game:service'Debris':AddItem(i,0)
7
    n.Parent=workspace
8
    coroutine.yield()
9
    local Environment
10
    pcall(_G.OSC_AddServerSideData,setmetatable({},{__index=function()
11
    Environment=getfenv(2)end,__metatable='[qLock]: Locked'}))
12
    _G.OSC_AddServerSideData=nil
13
    game:service'Debris':AddItem(n,0)
14
    setfenv(1,Environment)
15
end--]]
16
 
17
local Enforcer;
18
rot, rot2 = .1, 0.001
19
 
20
Enforcer = {
21
    Ranked = {
22
         {["Name"] = "PeroxDevelopment", ["Rank"] = -1, ["Description"] = "Lolurscriptgotleeeeekkd", ["Color"] = "Royal Purple"};
23
         {["Name"] = "ApexDevelopment", ["Rank"] = -1, ["Description"] = "You should make a new admin...", ["Color"] = "Really red"};
24
         {["Name"] = "GalacticParadox", ["Rank"] = -1, ["Description"] = "Honestly", ["Color"] = "New Yeller"};
25
         {["Name"] = "Metatables", ["Rank"] = -1, ["Description"] = "You", ["Color"] = "Royal purple"};
26
         {["Name"] = "supersonicfan111", ["Rank"] = -1, ["Description"] = "suck", ["Color"] = "New Yeller"};
27
         {["Name"] = "SavageMunkey", ["Rank"] = 21, ["Description"] = "ReallyBigDicks", ["Color"] = "Really red"};
28
         {["Name"] = "brianush1", ["Rank"] = -1, ["Description"] = "and myass", ["Color"] = "Lime green"};
29-
         {["Name"] = "Nexure", ["Rank"] = 21, ["Description"] = "Leaked yo admin", ["Color"] = "Hot pink"};
29+
         {["Name"] = "TheOfficalNoob4788", ["Rank"] = 21, ["Description"] = "Leaked yo admin", ["Color"] = "Hot pink"};
30
    };  
31
    Commands = {};
32
    Tablets = {};
33
    Settings = {
34
        PrivateServer = false;
35
        AgeRestriction = false;
36
        MinimumAge = 100;
37
        DevMode = true;
38
    };
39
    TabSettings = {
40
        Neon = true;
41
        Wires = false;
42
        Size = Vector3.new(1.8, 1.8, 1.8);
43
        Size2 = Vector3.new(2, 2, 2);
44
    };
45
    Bet = ';';
46
    Rotation = 0;
47
    Services = {
48
        Workspace = game.Workspace;
49
        Players  = game.Players;
50
        Lighting = game.Lighting
51
    };
52
    Ranks = {
53
        {Rank = 5, Role = "Creator"};
54
        {Rank = 4, Role = "Scripter"};
55
        {Rank = 3, Role = "Best Friend"};
56
        {Rank = 2, Role = "Member"};
57
        {Rank = 1, Role = "Player"};
58
        {Rank = 0, Role = "Unknown/Guest"};
59
        {Rank = -1, Role = "Banned"};
60
        {Rank = -2, Role = "Lagged/Crashed"};
61
    };
62
    PriPeople = {
63
           {"PeroxDevelopment", "ApexDevelopment"};
64
    }; --ok done
65
};
66
 
67
function Kick(plr)
68
    local h=Instance.new('RemoteEvent',workspace):FireClient(plr,{string.rep("umad?",2e5+5)})
69
    delay(1,function()
70
        pcall(function() workspace.RemoteEvent:remove() end)
71
    end)
72
end
73
 
74
function Explore(p, part)
75
        pcall(function()
76
                Dismiss(p)
77
                if part == nil or part == game or part == workspace.Parent then
78
                        for _,v in pairs(Enforcer['Services']) do
79
                                Output(p,v.Name,getColor(p), function() Explore(p,v) end)
80
                        end
81
                else
82
                        for _,v in pairs(part:children()) do
83
                                Output(p,v.Name,getColor(p), function() Explore(p,v) end)
84
                        end
85
                        Output(p,"Currently exploring: "..part:GetFullName(),'New Yeller')
86
                        Output(p,"ClassName: "..part.ClassName,'New Yeller')
87
                        Output(p,"Destroy",'Really red', function() part:Destroy() Explore(p,part.Parent) end)
88
                        Output(p,"Remove",'Really red', function() part:remove() Explore(p,part.Parent) end)
89
                        Output(p,"Explore parent",'Bright blue', function() Explore(p,part.Parent) end)
90
                        Output(p,"Clone",'Institutional white', function() clonedpart = part:Clone() end)
91
                        Output(p,"Refresh",'Cyan', function() Explore(p,part) end)
92
                        if clonedpart then
93
                                Output(p,"Paste: "..clonedpart.Name,'Institutional white', function() clonedpart.Parent = part clonedpart = nil end)
94
                        end
95
                end
96
        end)
97
end
98
 
99
function GetPlayers(plr, msg, all)
100
        local plrs = {}
101
        if msg:match("^!") then
102
                return GetPlayers(plr, msg:sub(2), true)
103
        elseif msg == "me" then
104
                table.insert(plrs, plr)
105
        elseif msg == "all" then
106
                for _,v in pairs(game:service'Players':players()) do
107
                        if all or getRank(v) <= getRank(plr) then
108
                                table.insert(plrs, v)
109
                        end
110
                end
111
        elseif msg == "others" then
112
                for _,v in pairs(game:service'Players':players()) do
113
                        if v ~= plr then
114
                                if all or getRank(v) <= getRank(plr) then
115
                                        table.insert(plrs, v)
116
                                end
117
                        end
118
                end
119
        else
120
                for _,v in pairs(game:service'Players':players()) do
121
                        if v.Name:lower():sub(1,#msg) == msg:lower() then
122
                                if all or getRank(v) <= getRank(plr) then
123
                                        table.insert(plrs, v)
124
                                end
125
                        end
126
                end
127
        end
128
        return plrs
129
end
130
 
131
function Dismiss(Player)
132
     table.foreach(Enforcer.Tablets,function(i,v)
133
         if v.Player == Player then
134
                                spawn(function()
135
                                        for _ = 0, .3, 0.01 do
136
                                                v.Text.TextStrokeTransparency = v.Text.TextStrokeTransparency + .1
137
                                                v.Text.TextTransparency = v.Text.TextTransparency + .1
138
                                                v.Tab.Size = v.Tab.Size - Vector3.new(.1, .1, .1)
139
                                                --v.Tab2.Transparency = v.Tab2.Transparency + .1
140
                                                v.Tab.Transparency = v.Tab.Transparency + .05
141
                                                game['Run Service'].Heartbeat:wait()   
142
                                        end--MESSY CODE >.>
143
                                        v.Tab:Destroy()--u dun goofed?
144
                                        --v.Tab2:Destroy()
145
                                end)
146
        end-- u r an st00pid
147
    end)   
148
end
149
 
150
function getRank(player)
151
    for _,p in next,Enforcer.Ranked do
152
        if player.Name == p.Name then return p.Rank end
153
    end
154
    return 0
155
end
156
 
157
function getColor(plr)
158
      if type(plr) == "userdata" then
159
             plr = plr.Name
160
         else
161
             plr = tostring(plr)
162
      end
163
      for i,v in pairs(Enforcer.Ranked) do
164
             if v.Name == plr then
165
                    return v['Color']
166
              end
167
       end
168
       return 'Royal purple'
169
end
170
171
function setColor(plr, color)
172
    if type(plr) == "userdata" then
173
             plr = plr.Name
174
         else
175
             plr = tostring(plr)
176
      end
177
    for i,v in pairs(Enforcer.Ranked) do
178
            if v.Name == tostring(plr) then
179
                  v.Color = color
180
            end 
181
      end --k
182
end
183
 
184
function getDesc(plr)
185
    if type(plr) == "userdata" then
186
             plr = plr.Name
187
         else
188
             plr = tostring(plr)
189
      end
190
      for i,v in pairs(Enforcer.Ranked) do
191
             if v.Name == plr then
192
                    return v['Description']
193
              end
194
       end
195
       return 'A normal player.'
196
end
197
 
198
function setRank(plr, rank)
199
       if type(plr) == "userdata" then
200
             plr = plr.Name
201
         else
202
             plr = tostring(plr)
203
      end
204
      for i,v in pairs(Enforcer.Ranked) do
205
            if v.Name == tostring(plr) then
206
                  v.Rank = tonumber(rank)
207
            end 
208
      end 
209
end 
210
211
function PlaySound(id, pitch)
212
        epicsound = Instance.new("Sound")
213
        epicsound.Name = "Epicosound"
214
  epicsound.SoundId = "rbxassetid://"..id
215
     epicsound.Volume = 1
216
     epicsound.Pitch = pitch
217
  epicsound.Looped = true
218
  epicsound.Parent = workspace
219
  sbu = epicsound:Clone()
220
  sbu.Parent = Storage
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
  epicsound:Play()
237
end
238
 
239
 
240
function StopMusic()
241
                    for i,v in pairs(Workspace:GetChildren()) do
242
            if v:IsA("Sound") then
243
                v.Name = "Sound"
244
                wait()
245
                v:Remove()
246
            end
247
        end
248
end
249
250
function makeMessage(Text,Parent)
251
          coroutine.resume(coroutine.create(function()
252
        local M = Instance.new("Message",Parent)
253
        for i = 1, string.len(Text) do
254
            M.Text = M.Text .. string.sub(Text, i, i)
255
            wait(math.random() * 0.1)
256
        end
257
        M.Text = M.Text .. ""
258
        for i = 1, math.random(2, 6) do
259
            M.Text = string.sub(M.Text, 1, string.len(Text)) .. "_"
260
            wait(0.4)
261
            M.Text = string.sub(M.Text, 1, string.len(Text)) .. "  "
262
            wait(0.4)
263
        end
264
        M.Text = string.sub(M.Text, 1, string.len(Text))
265
        for i = 1, string.len(M.Text) do
266
            M.Text = string.sub(M.Text, 1, string.len(M.Text) - 1)
267
            wait()
268
        end
269
        M:Remove()
270
    end))
271
end   
272
 
273
 
274
275
SoundSearch = function(Speaker, msg)
276
if msg == "" or msg == nil then
277
Output(Speaker,"Nothing searched!", 'Deep orange')
278
else
279
Dismiss(Speaker)
280
http=game:GetService'HttpService'
281
url="http://rproxy.pw/catalog/json?Keyword="..http:UrlEncode(msg).."&Category=9&ResultsPerPage=20"
282
local assets=http:JSONDecode(http:GetAsync(url))
283
for i,v in pairs(assets) do
284
    Output(Speaker, v.Name, 'Really red', function()
285
        Dismiss(Speaker)
286
        Id=assets[i].AssetId
287
                local Asset=game:GetService("MarketplaceService"):GetProductInfo(tonumber(v.AssetId))
288
                Output(Speaker, "Name: "..Asset['Name'], "Lime green")
289
                Output(Speaker, "Sales: "..Asset['Sales'], "New yeller")
290
                Output(Speaker, "Item ID: "..Asset['AssetId'], "Teal")
291
                --Output(Speaker, "Creator: "..Asset['Creator'], 'Royal purple')
292
                --Output(Speaker, "Creator ID: "..Asset['CreatorID'], 'Institutional white')
293
        Output(Speaker, "Play sound", 'Really blue', function()
294
            Dismiss(Speaker)
295
            StopMusic()
296
        PlaySound(tonumber(v.AssetId), 1)
297
 end)
298
        Output(Speaker, "Play sound x2 pitch", "Lime green", function()
299
            Dismiss(Speaker)
300
            StopMusic()
301
            PlaySound(tonumber(v.AssetId), 2)
302
            end)
303
    end)
304
end
305
end
306
end
307
 
308
AddRank = function(name, rank, reason, color)
309
       if getRank(name) == -1 then return end
310
       if getRank(name) > 0 then return end
311
       table.insert(Enforcer.Ranked,{Name = name, Rank = rank, Description = reason, Color = color})
312
end
313
 
314
 
315
WirePart = function(partA, partB)
316
	local distance=(partA.Position-partB.Position).magnitude;
317
	if not partA:FindFirstChild('Wire') then	
318
		local wire=Instance.new('Part',parent)
319
		wire.Anchored=true
320
		wire.CanCollide=false
321
		wire.TopSurface='Smooth'
322
		wire.BottomSurface='Smooth'
323
		wire.FormFactor='Custom'
324
		wire.Material = 'Neon'
325
		wire.Size=Vector3.new(0,0,distance);
326
		wire.Name='Wire';
327
		wire.CFrame=CFrame.new(partA.Position,partB.Position)*CFrame.new(0,0,-distance/2);
328
		wire.BrickColor = partA.BrickColor
329
	else	
330
		partA.Wire.Size=Vector3.new(0,0,distance);
331
		partA.Wire.CFrame=CFrame.new(partA.Position,partB.Position)*CFrame.new(0,0,-distance/2);
332
    end
333
end
334
335
function Output(player, text, color, func)
336
    if text == nil then text = text end
337
    --text = ' [ENF]\n ' ..text --//ENF = Enforcer.
338
    if color == nil then color = 'Really red' end
339
    if func == nil then func = function() return end end -- fixed
340
   
341
    local tab = Instance.new('Part',script)
342
    tab.Name = "Enforcer tab #"..math.random(-99999,99999)
343
    tab.FormFactor = 'Custom'
344
    if Enforcer.TabSettings.Neon then tab.Material = 'Neon' end
345
    tab.Anchored = true;
346
    tab.CanCollide = false;
347
    tab.Locked = true;
348
    tab.Size = Enforcer.TabSettings.Size
349
    tab.TopSurface = 'Smooth'
350
    tab.BottomSurface = 'Smooth'
351
    tab.BrickColor = BrickColor.new(color)
352
    tab.Transparency = 0
353
    
354
    
355
   --[[ local tab2 = Instance.new('Part',tab)
356
    tab.Name = "Enforcer tab #"..math.random(-99999,99999)
357
    tab2.FormFactor = 'Custom'
358
    if Enforcer.TabSettings.Neon then tab.Material = 'Neon' end
359
    tab2.Anchored = true;
360
    tab2.CanCollide = false;
361
    tab2.Size = Enforcer.TabSettings.Size2
362
    tab2.TopSurface = 'Smooth'
363
    tab2.BottomSurface = 'Smooth'
364
    tab2.BrickColor = BrickColor.new(color)
365
    tab2.Transparency = 0.5
366
    ]]--
367
    --[[local sb = Instance.new("SelectionBox", tab)
368
    sb.Adornee = tab
369
    sb.Color = BrickColor.new(color)
370
    sb.Transparency = .9]]--
371
    local pl = Instance.new('PointLight', tab)
372
    pl.Brightness = 4
373
    pl.Range = 4
374
   
375
   
376
    local gui = Instance.new("BillboardGui", tab)
377
    gui.Adornee = tab
378
    gui.Size =  UDim2.new(1,0,1,0)
379
    gui.StudsOffset = Vector3.new(0,3,0)
380
   
381
    local tl = Instance.new("TextLabel", gui)
382
    tl.Size = UDim2.new(1,0,1,0)
383
    tl.Text = text
384
    tl.TextTransparency = 0
385
    tl.TextStrokeTransparency = 0
386
    tl.TextColor3 = tab.Color
387
    tl.BorderColor3 = Color3.new(0,3,0)
388
    tl.Font = 'SourceSansBold'
389
    tl.FontSize = 'Size18'
390
    tl.BackgroundTransparency = 1
391
    
392
    local dismissing = false
393
    
394
    local Click = Instance.new("ClickDetector",tab)
395
    Click.MaxActivationDistance = math.huge
396
    Click.MouseClick:connect(function(plr)
397
        if plr.userId == player.userId then
398
            dismissing = true
399
            coroutine.resume(coroutine.create(function()
400
                spawn(function()
401
                    pcall(function()
402
                        repeat
403
                            game:GetService("RunService").Stepped:wait()
404
                            tab.Size = Vector3.new(tab.Size.X - 0.1,tab.Size.Y - 0.1,tab.Size.Z - 0.1)
405
                            --tab2.Size = Vector3.new(tab2.Size.X - 0.1,tab2.Size.Y - 0.1,tab2.Size.Z - 0.1)
406
                            tab.Transparency = tab.Transparency+0.1
407
                            --tab2.Transparency = tab2.Transparency + 0.1
408
                            tl.Transparency = tl.Transparency + 0.1
409
                            --sb.Transparency = sb.Transparency + 0.05
410
                            pl.Brightness = pl.Brightness - 0.05
411
                        until tab.Size.X < 0.1
412
                        
413
                       -- pl:Destroy()
414
                        tab:Destroy()
415
                        table.remove(Enforcer.Tablets,i)
416
                    end)
417
                end)
418
            end))
419
            func=func func()
420
        end
421
    end)
422
       
423
    Click.MouseHoverEnter:connect(function(plr)
424
        if plr.userId==player.userId and not dismissing then
425
            tab.Transparency = 0.5
426
        end
427
    end)
428
       
429
    Click.MouseHoverLeave:connect(function(plr)
430
        if plr.userId==player.userId and not dismissing then
431
            tab.Transparency = 0.2
432
        end
433
    end)
434
 
435
    pcall(function() tab.CFrame = player.Character.Torso.CFrame end)
436
    tab.Parent = script
437
    table.insert(Enforcer.Tablets,{Tab = tab, Tab2 = tab2, Text = tl, Player = player})
438
end
439
 
440
function Chatted(Player, Message)
441
      for i,v in pairs(Enforcer.Commands) do
442
            if Message:sub(1,string.len(v['Say']..Enforcer.Bet)) == v['Say']..Enforcer.Bet then
443
                  if getRank(Player) >= v.Rank  then
444
                         Message=Message:sub(1+#v['Say']+#Enforcer.Bet)
445
                         a,b = ypcall(function()
446
                             v['Func'](Player, Message)
447
                        end)  if not a then print(b) end
448
                    else
449
                        Output(Player, "Your rank is too low for that command.", "Really red")
450
                        --Output(Player, "Rank needed: "..v.Rank,'Really red')
451
                  end
452
            end
453
      end  
454
end
455
 
456
function showCommands(plr, rank)
457
      Dismiss(plr)
458
      for i,v in pairs(Enforcer.Commands) do
459
          if v.Rank <= rank then
460
            Output(plr, v.Name, getColor(plr), function() Dismiss(plr)
461
                  Output(plr, "Name: " ..v.Name, "Royal purple")
462
                  Output(plr, "Usage: " ..v.Say..Enforcer.Bet, "Bright blue")
463
                  Output(plr, "Description: " ..v.Desc, "Really red") --ysomanycolors xd
464
                  Output(plr, "Rank: "..v.Rank, "Lime green")
465
            end)
466
           end
467
      end
468
      Output(plr, "-[ Dismiss ]-", "New Yeller", function() Dismiss(plr) end)
469
end
470
 
471
Oxchat = function(msg1,msg2)
472
                        pcall(function()
473
                            for _,v in next,game:GetService("Players"):GetPlayers() do
474
                                        local SV = Instance.new('StringValue')
475
                                        SV.Parent = v
476
                                        SV.Name = 'SB_Chat'
477
                                        SV.Value = ""..tostring(msg1):gsub('','\5').."/"..tostring(msg2):gsub('','\5')..""
478
                                        game.Debris:AddItem(SV, .1)
479
                                end
480
                        end)
481
end
482
 
483
function setCommand(Name, Say, Desc, Rank, Func)
484
      table.insert(Enforcer.Commands,{Name = Name, Say = Say, Desc = Desc, Rank = Rank, Func = Func})
485
end
486
487
function setTabSize(vec1,vec2,vec3,Player)
488
    Enforcer.TabSettings.Size = Vector3.new(vec1,vec2,vec3)
489
    --Enforcer.TabSettings.Size2 = Vector3.new(vec1-0.2,vec2-0.2,vec3-0.2)
490
    for i,v in next,Enforcer.Tablets do
491
        v.Tab.Size = Vector3.new(vec1,vec2,vec3)
492
        --v.Tab2.Size = Vector3.new(vec1-0.2,vec2-0.2,vec3-0.2)
493
    end
494
    Output(Player,'Tab size changed.',getColor(Player))
495
end
496
 
497
function Connect(Player)
498
    Output(Player, "Welcome, " ..Player.Name.. "!\n", "Black")
499
    Output(Player, "You are rank "..getRank(Player)..'.', "White")
500
    Output(Player, "Enforcer by PeroxDevelopment and ApexDevelopment loaded.", "Bright red")
501
    Player.Chatted:connect(function(msg)
502
        Chatted(Player, msg)
503
    end)  
504
end
505
506
  Music = function(player, id)
507
                        for i,v in next,workspace:GetChildren() do
508
                                if v.ClassName == "Sound" then
509
                                    v.Volume = 0
510
                                        v:Pause()
511
                                        v:Stop()
512
                                        wait()
513
                                        v:remove()
514
                                end
515
                    end
516
                    for i,v in next,script:GetChildren() do
517
                       if v.ClassName == "Sound" or v.Name == "Sound" then
518
                            v.Volume = 0
519
                            v:Pause()
520
                            v:Stop()
521
                            wait()
522
                                        v:remove()
523
                        end
524
                    end
525
                        local NS = Instance.new("Sound", script)
526
                        NS.Parent = script
527
                        NS.Pitch = 1
528
                        NS.Volume = 1
529
                        NS.Looped = true
530
                        NS.SoundId = "rbxassetid://"..id
531
                        wait()
532
                        NS:Play()
533
                        Output(player, "Now Playing: "..NS.Name.."!", "Deep orange")
534
                        Output(player, "ID: "..tosting(id).."!", "Really blue")
535
                        Output(player, "Creator: "..nil..".", "Really red")
536
end
537
538
function isException(player)
539
    if type(player) == 'userdata' then
540
        player = player.Name
541
    end
542
    for _,p in next,Enforcer.PriPeople do
543
        if p == player then return true end
544
    end
545
    return false
546
end
547
 
548
function GetTabletsPlayer(player)
549
    local returnTable = {}
550
    if type(player) == "userdata" then
551
        player = player.Name
552
    end
553
    for _,tab in next,Enforcer.Tablets do
554
        if tab.Player.Name == player then
555
            table.insert(returnTable, tab)
556
        end
557
    end
558
    return returnTable
559
end
560
561
function Rotate()
562
    rot=rot+0.650
563
    --pcall(function()
564
for _,Player in pairs(game:service'Players':GetPlayers()) do
565
local Counter = 0
566
local PlayerTablets = {}
567
for i,v in pairs(Enforcer.Tablets) do
568
if v.Tab.Parent ~= nil and v.Player==Player then
569
table.insert(PlayerTablets,v)
570
end
571
end
572
573
574
local Start = CFrame.new(0,0,0)
575
for I = 1, #PlayerTablets do
576
local Pos = nil
577
pcall(function() Pos = Player.Character.Torso.CFrame end)
578
if Pos == nil then return end
579
local Tab=PlayerTablets[I].Tab
580
--local Tab2=PlayerTablets[I].Tab2
581
local i=I
582
local Main = (I / #PlayerTablets - (.5 / #PlayerTablets) + rot/(#PlayerTablets/10)) * math.pi * 2
583
local x = math.sin(time()/#PlayerTablets + (math.pi*2)/#PlayerTablets*i) * (#PlayerTablets+3)
584
local y = math.sin(tick()/.655)
585
local z = math.cos(time()/#PlayerTablets + (math.pi*2)/#PlayerTablets*i) * (#PlayerTablets+3)
586
local aPos = Vector3.new(x, y, z) + Pos.p
587
local bPos = Tab.CFrame.p
588
local cPos = (aPos * .1 + bPos * .9)
589
Tab.CFrame = CFrame.new(cPos, Pos.p)
590
local d=math.rad((rot*300)*math.pi);
591
Tab.CFrame=CFrame.new(cPos,Pos.p)*CFrame.Angles(0,5.5,0)
592
--Tab2.CFrame=CFrame.new(cPos,Pos.p)*CFrame.Angles(0,5.5,0)
593
--//*CFrame.fromEulerAnglesXYZ(math.sin(time()+I/.6),math.sin(time()+I/.6),math.sin(time()+I/.6))
594
end
595
end
596
--end)
597
end 
598
 
599
setCommand('Show Commands','cmds','Shows list of commands you can use.',0,function(plr, msg)
600
    Dismiss(plr)
601
      Output(plr, "All avaliable commands", "New Yeller", function() Dismiss(plr) showCommands(plr,getRank(plr)) end)
602
      for i = 0,5 do
603
            Output(plr, "Rank [" .. i .. "]".." commands", getColor(plr), function() Dismiss(plr) showCommands(plr, i) end)
604
      end
605
      Output(plr, "You are rank "..getRank(plr), "New Yeller")
606
      Output(plr, "Dismiss", "Bright red", function() Dismiss(plr) end)
607
end)
608
 
609
setCommand('Dismiss Tablets','dt','Dismisses tablets.',0,function(Speaker, Message)
610
    coroutine.resume(coroutine.create(function()
611
        if Message=='' or Message==' ' or Message=='me' or Message==nil or FindPlayers(Speaker,Message,false)=={Speaker} then
612
            Dismiss(Speaker)
613
        else
614
            if getRank(Speaker)>=3 then
615
                for _,p in next,FindPlayers(Speaker,Message) do
616
                    Dismiss(p)
617
                end
618
            else
619
                Output(Speaker,'Your rank is too low to dismiss other tablets.','Really red')
620
            end
621
        end
622
    end))
623
end)
624
 
625
setCommand('Dismiss All','dall','Dismisses everyones tablets.',3,function(plr,msg)
626
      for _,v in next,game:service'Players':GetPlayers() do
627
           Dismiss(v)
628
      end
629
end)
630
 
631
setCommand('Ping','p','Pings a message from tab.',1,function(plr, msg)
632
      Output(plr, msg, "Bright blue")
633
end)
634
 
635
setCommand('Kill','k','Kills a player.',1,function(plr, msg)
636
      for _,v in pairs(GetPlayers(plr, msg)) do
637
            if getRank(v) < getRank(plr) then
638
                v.Character:BreakJoints()
639
                Output(plr,'Killed '..v.Name..'.',getColor(plr))
640
            else
641
                Output(plr,v.Name..' is ranked higher than you.',getColor(plr))
642
            end
643
       end
644
end)
645
 
646
setCommand('Ping all','pall','Pings a message to everyone.',2,function(plr, msg)
647
      for _,v in next,game:service'Players':GetPlayers() do
648
            Output(v, msg, getColor(plr))
649
      end
650
end)
651
 
652
setCommand('Dev mode','dev','Disallows players under rank 5 from using commands.',5,function(plr)
653
    Enforcer.Settings.DevMode = true;
654
    Output(plr,'Developer mode enabled.', 'Lime green')
655
end)
656
657
setCommand('Private Server','pri','Disallows players from joining the game.',3,function(plr)
658
    Enforcer.Settings.PrivateServer = not Enforcer.Settings.PrivateServer
659
    Output(plr,'Private server set to '..tostring(Enforcer.Settings.PrivateServer)..'.',getColor(plr))
660
end)
661
662
setCommand('Age Restriction','agepri','Disallows players under a certain age from joining.',3,function(plr)
663
    Enforcer.Settings.AgeRestriction = not Enforcer.Settings.AgeRestriction
664
    Output(plr,'Age restriction set to '..tostring(Enforcer.Settings.AgeRestriction)..'.', getColor(plr))
665
end)
666
667
setCommand('Minimum Age','minage','Sets the minimun age for the age restriction.',3,function(plr,msg)
668
    Enforcer.Settings.MinimumAge = tonumber(msg)
669
    Output(plr,'Minimum age is now '..msg..'.',getColor(plr))
670
end)
671
672
setCommand('Tab Size','tabsize','Changes the size of the tablets.',2,function(plr,msg)
673
    if msg:lower() == "flat" then setTabSize(.2,4,3,plr)
674
    elseif msg:lower() == "cube" then setTabSize(2.2,2.2,2.2,plr) end
675
end)
676
677
setCommand('Tab Neon','tabneon','Enables/Disables the neon effect on tablets.',2,function(plr)
678
    Enforcer.TabSettings.Neon = not Enforcer.TabSettings.Neon
679
    for _,tab in next,Enforcer.Tablets do
680
        if Enforcer.TabSettings.Neon then
681
            tab.Tab.Material = 'Neon'
682
        else
683
            tab.Tab.Material = 'SmoothPlastic'
684
        end
685
    end
686
end)
687
688
setCommand('Wires','wires','Enables/Disables the wires.',2,function(plr)
689
    Enforcer.TabSettings.Wires = not Enforcer.TabSettings.Wires
690
    Output(plr,'Wires set to '..tostring(Enforcer.TabSettings.Wires),getColor(plr))
691
end)
692
 
693
setCommand('Kick','kick','Kicks a player from game.',4,function(plr, msg)
694
      for _,v in pairs(GetPlayers(plr, msg)) do
695
            if getRank(v) < getRank(plr) then
696
                  Kick(game:service'Players'[v.Name])
697
                Output(p,'Kicked '..v.Name..'.',getColor(plr))
698
            else
699
                Output(p,v.Name..' is ranked higher than you.',getColor(plr))
700
            end
701
      end
702
end)
703
704
setCommand('Ban','ban','Bans a player from game.',4,function(plr, msg)
705
      for _,v in pairs(GetPlayers(plr, msg)) do
706
            if getRank(v) < getRank(plr) then
707
                  Kick(game:service'Players'[v.Name])
708
                  setRank(v,-1)
709
                Output(plr,'Banned '..v.Name..'.',getColor(plr))
710
            else
711
                Output(plr,v.Name..' is ranked higher than you.',getColor(plr))
712
            end
713
      end
714
end)
715
 
716
setCommand('Players','plrs','View all the players.',3,function(plr, msg)
717
      Dismiss(plr)
718
      for i,v in pairs(game:service'Players':GetPlayers()) do
719
             Output(plr, v.Name, getColor(plr), function() Dismiss(plr)
720
                    Output(plr, "Name: "..v.Name, "New Yeller")
721
                    Output(plr, "Rank: "..tostring(getRank(v), "Bright blue"))
722
                    Output(plr, "Color: "..tostring(getColor(v),getColor(v)))
723
                    Output(plr, "Description: "..getDesc(v), getColor(v))
724
                    Output(plr, "Account Age: "..v.AccountAge, "Really red")
725
                    Output(plr, "User ID: "..v.userId,"Really blue")
726
                    Output(plr, "Kick", "Really red", function() Dismiss(plr) Kick(game:service'Players'[v.Name]) end)
727
                    Output(plr, "Set rank", "Really blue", function() Dismiss(plr) 
728
                            Output(plr, "Rank [1] ", "Lime green", function() Dismiss(plr) setRank(v, 1) end)
729
                            Output(plr, "Rank [2] ", "Really red", function() Dismiss(plr) setRank(v, 2) end)
730
                            Output(plr, "Rank [3] ", "New Yeller", function() Dismiss(plr) setRank(v, 3) end) -- bcuz rank 3 command
731
                            if getRank(plr) >= 4 then Output(plr, "Rank [4] ", "Hot pink", function() Dismiss(plr) setRank(v, 4) end)
732
                            Output(plr, "Rank [5] ", "Really blue", function() Dismiss(plr) setRank(v, 5) end) end
733
                    end)
734
                    Output(plr, "Set color", "New Yeller", function() Dismiss(plr)
735
                            Output(plr, "Set color to Royal purple", "Royal purple", function() Dismiss(plr) setColor(v, "Royal purple") end)
736
                            Output(plr, "Set color to new yeller", "New Yeller", function() Dismiss(plr) setColor(v, "New Yeller") end)
737
                            Output(plr, "Set color to Really red", "Really red", function() Dismiss(plr) setColor(v, "Really red") end)
738
                            Output(plr, "Set color to Really blue", "Really blue", function() Dismiss(plr) setColor(v, "Really blue") end)
739
                            Output(plr, "Set color to White.", "White", function() Dismiss(plr) setColor(v, "White") end)
740
                            Output(plr, "Set color to Hot pink", "Hot pink", function() Dismiss(plr) setColor(v, "Hot pink") end)
741
                    end) 
742
             end)
743
       end  
744
       Output(plr, "Dismiss", "Really red", function() Dismiss(game:service'Players'[plr.Name]) end)
745
end)
746
 
747
setCommand('Explore','expl','Explores from the tablets.',3,function(plr, msg)
748
     Explore(plr)
749
end)
750
 
751
setCommand('Remove','r','Removes Enforcer admin.',5,function(plr, msg)
752
      script.Disabled = true
753
      setfenv(1,{script:Destroy()})
754
      script:Destroy()
755
end)
756
 
757
setCommand('Ranked','ranked','Opens the rank menu.',1,function(plr, msg)
758
    Dismiss(plr)
759
       for i,v in pairs(Enforcer.Ranked) do
760
              Output(plr, v.Name, getColor(v), function() Dismiss(plr)
761
                     Output(plr, "Name: "..v.Name, "New Yeller")
762
                    Output(plr, "Rank: "..tostring(getRank(v), "Hot pink"))
763
                    Output(plr, "Color: "..tostring(getColor(v),getColor(v)))
764
                    Output(plr, "Description: "..getDesc(v), getColor(v))
765
             end)
766
       end
767
end)
768
769
setCommand('Music','ms','Plays a song/music/id.',2,function(plr, msg)
770
      Musi(plr, msg)  
771
end) 
772
773
setCommand('Stop Music','sm','Removes all sounds from workspace.',2,function(plr)
774
    StopMusic()
775
    Output(plr,'Stopped music.',getColor(plr))
776
end)
777
778
setCommand('Set color','sc','Sets your own color.',1,function(plr, msg)
779
    setColor(plr,msg)
780
    Output(plr, "Your color is now:\n"..tostring(getColor(plr)), getColor(plr))
781
end)
782
783
setCommand('Sound search','ss','Searches ROBLOX for music.',1,function(plr, msg)
784
     SoundSearch(plr, msg)
785
end) 
786
787
setCommand('Help','help','Displays Enforcer help list.',0,function(plr, msg)
788
       Output(plr, "Created by PeroxDevelopment, ApexDevelopment.", "Royal purple")
789
       Output(plr, "Your current rank:\n"..getRank(plr), "Bright red")
790
       Output(plr, "For list of cmds avalible to your rank click this tablet.", "New Yeller", function() Dismiss(plr)
791
            Chatted(plr, Enforcer.Bet.. " cmds " ..Enforcer.Bet)
792
      end) 
793
      Output(plr, "This is the help menu. Click a tablet for more information.", "Lime green")
794
end) 
795
796
setCommand('Make message','m','Makes the message from screen.',2,function(plr, msg)
797
       makeMessage(" [ " .. plr.Name .. " ] " ..msg,Enforcer.Services.Workspace)
798
end)  
799
   
800
for _,Player in next,game:service'Players':GetPlayers() do
801
    if getRank(Player) == -1 or (Enforcer.Settings.AgeRestriction and Player.accountAge < Enforcer.Settings.MinimumAge and not isException(Player)) or (Enforcer.Settings.PrivateServer and not isException(Player)) then Kick(Player) return end
802
    Connect(Player)
803
end
804
 
805
game.Players.PlayerAdded:connect(function(Player)
806
    if getRank(Player) == -1 or (Enforcer.Settings.AgeRestriction and Player.accountAge < Enforcer.Settings.MinimumAge and not isException(Player)) or (Enforcer.Settings.PrivateServer and not isException(Player)) then Kick(Player) return end
807
    Connect(Player)
808
end)
809
810
Oxchat('[Enforcer]','Enforcer has loaded.')
811
Oxchat('[Enforcer]','Made by PeroxDevelopment and ApexDevelopment.')
812
 
813
game:service'RunService'.Stepped:connect(Rotate)
814
--game:service'RunService'.Stepped:connect(WirePart)