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