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