View difference between Paste ID: WzSiPydT and a4nY8qsw
SHOW: | | - or go back to the newest paste.
1
-- lets go to my vip, hold on let me invite you.
2
--I also have a vip its for friends i think o.O
3
4
-- GravityCubed made by GravityLegendary, Hyskyle, People of hyrule and SavageMunkey
5
 
6
local Savage
7
MainPlayer = owner
8
key = ';'
9
CloneFolder = Instance.new('Folder',script)
10
Pointlight = 1 ;-- 1 = on 0 or any other number = off
11
warn(GravityCubed)
12
 
13
GravityCubed = [[  
14
       
15
 .d8888b.                            d8b 888              .d8888b.           888                    888
16
d88P  Y88b                           Y8P 888             d88P  Y88b          888                    888
17
888    888                               888             888    888          888                    888
18
888        888d888  8888b.  888  888 888 888888 888  888 888        888  888 88888b.   .d88b.   .d88888
19
888  88888 888P"       "88b 888  888 888 888    888  888 888        888  888 888 "88b d8P  Y8b d88" 888
20
888    888 888     .d888888 Y88  88P 888 888    888  888 888    888 888  888 888  888 88888888 888  888
21
Y88b  d88P 888     888  888  Y8bd8P  888 Y88b.  Y88b 888 Y88b  d88P Y88b 888 888 d88P Y8b.     Y88b 888
22
 "Y8888P88 888     "Y888888   Y88P   888  "Y888  "Y88888  "Y8888P"   "Y88888 88888P"   "Y8888   "Y88888
23
                                                     888                                                
24
                                                Y8b d88P                                                
25
                                                 "Y88P"                                                
26
               ]]
27
 
28
 
29
Savage = {
30
       ['Ranked'] = {
31
             ['GravityPerfextion']={Rank=3,Description='Awesome Guy :D!',Color='Magenta'},
32-
             ['NoobMaster936']={Rank=1337,Description='Builders Best Friend :D!',Color='Cool yellow'},
32+
33
             ['Control22']={Rank=1337,Description='Builders Best Friend :D!',Color='Cool yellow'},
34
             ['Poseidun']={Rank=4,Description='Rank = Fleek',Color='Deep orange'},
35
             ['TheOfficalNoob4788']={Rank=5,Description='Administator',Color='Deep orange'},
36
             ['austoo99'] = {Rank=3,Description='Friend',Color='Royal purple'};
37
            ['mamapeachprincess'] = {Rank=1,Description='Player',Color='Institutional white'};
38
            ['gavinsharp100'] = {Rank=4,Description='Friend',Color='Hot pink'};
39
            ['CHAOSxFIGHTER'] = {Rank=3,Description='Friend',Color='Teal'};
40
            ['Smiley43210'] = {Rank=4,Description='Friend',Color='Royal purple'};
41
            ['TheDeathOfGodsBane'] = {Rank=2,Description='Friend',Color='Royal purple'};
42
             
43
        };
44
   
45
        ['Id'] = 'http://www.roblox.com/asset/?id=0';--Optional, Only add if you want a Decal on all sides of the Cube
46
        ['TabletSize'] = 2,2,2;
47
        ['DecalTrans'] = .9;
48
        ['Tablets'] = {},
49
        ['Commands'] = {},
50
        ['Rotation'] = 0,
51
        ['RotationAddValue'] = 0.2,
52
        ['Bans'] = {
53
             {['Name'] = 'ItsAjm', ['Reason4Ban'] = "Fmer, Pri'er, Banned me, Abuser"};--Fmer
54
             {['Name'] = 'SASUKE94542', ['Reason4Ban'] = "Annoying, Kept shutting the server down with game.Players:ClearAllChildren()"};--Fmer
55
             {['Name'] = 'jonesj627', ['Reason4Ban'] = 'Abusing'};--Fmer
56
             {['Name'] = 'EinsteinK', ['Reason4Ban'] = 'Fmer'};--Fmer
57
             {['Name'] = 'FlamingIt', ['Reason4Ban'] = 'Fmer'};--Fmer
58
             {['Name'] = 'rllyuoknowus', ['Reason4Ban'] = 'Fmer'};--Fmer
59
             {['Name'] = 'robotmega', ['Reason4Ban'] = 'Fmer'};--Fmer
60
             {['Name'] = 'Yegisback', ['Reason4Ban'] = 'Fmer, Banned me, Skid'};--Fmer
61
             {['Name'] = 'tyridge77', ['Reason4Ban'] = 'Private server'};--Fmer
62
             {['Name'] = '12packkid', ['Reason4Ban'] = 'Attempting to ban me, Fming'};
63
             {['Name'] = '1xBytex1',['Reason4Ban'] = 'Fmer, skid'};
64
              {['Name'] = 'Nexure',['Reason4Ban'] = 'Fmer, skid, talked about my mom, kept killing me'};
65
        };
66
        ['Properties'] = {"AbsolutePosition","AbsoluteSize","AccountAge","AccountAgeReplicate",
67
"Active","Adornee","AllowAmbientOcclusion","AllowTeamChangeOnTouch","AluminumQuality",
68
"AlwaysOnTop","Ambient","AmbientReverb","Anchored","Angularvelocity","AnimationId",
69
"Archivable","AreHingesDetected","AttachmentForward","AttachmentPoint","AttachmentPos",
70
"AttachmentRight","AttachmentUp","AutoAssignable","AutoButtonColor","AutoColorCharacters",
71
"AvailablePhysicalMemory","Axes","BackgroundColor","BackgroundColor3","BackgroundTransparency",
72
"BackSurface","BaseTextureId","BaseUrl","Bevel","Roundness","BinType","BlastPressure","BlastRadius",
73
"BodyColor","BodyPart","BorderColor","BorderColor3","BorderSizePixel","BottomSurface","BrickColor",
74
"Brightness","Browsable","BubbleChat","BubbleChatLifetime","BubbleChatMaxBubbles",
75
"Bulge","Button1DownConnectionCount","Button1UpConnectionCount","Button2DownConnectionCount",
76
"Button2UpConnectionCount","C0","C1","CameraMode","CameraSubject","CameraType",
77
"CanBeDropped","CanCollide","CartoonFactor","CastShadows","CelestialBodiesShown",
78
"CFrame","Cframe","Character","CharacterAppearance","CharacterAutoLoads","ChatScrollLength",
79
"ClassicChat","ClassName","ClearTextOnFocus","ClipsDescendants","CollisionSoundEnabled",
80
"CollisionSoundVolume","Color","ColorShift_Top","ColorShift_Bottom","Bottom","Top","ConstrainedValue","Contro".."llingHumanoid",
81
"ControlMode","ConversationDistance","CoordinateFrame","CorrodedMetalQuality","CPU",
82
"CpuCount","CpuSpeed","CreatorId","CreatorType","CurrentAngle","CurrentCamera",
83
"CycleOffset","D","DataCap","DataComplexity","DataComplexityLimit","DataCost",
84
"DataReady","Deprecated","DeselectedConnectionCount","DesiredAngle","DiamondPlateQuality",
85
"Disabled","DistanceFactor","DistributedGameTime","DopplerScale","Draggable","DraggingV1",
86
"Duration","EditorFont","EditorFontSize","EditorTabWidth","ElapsedTime","Elasticity",
87
"Enabled","ExplosionType","ExtentsOffset","F0","F1","F2","F3","Face","FaceId","Faces",
88
"FieldOfView","Focus","FogColor","FogEnd","FogStart","Font","FontSize","Force","FormFactor",
89
"Friction","From","FrontSurface","GearGenreSetting","Genre","GeographicLatitude","GfxCard", "GlobalShadows","Graphic",
90
"GrassQuality","Grip","GripForward","GripPos","GripRight","GripUp","Guest","HeadsUpDisplay",
91
"Health","Heat","Hit","Humanoid","IceQuality","Icon","IdleConnectionCount","Image",
92
"InitialPrompt","InOut","InUse","IsPaused","IsPlaying","JobId","Jump","KeyDownConnectionCount",
93
"KeyUpConnectionCount","LeftLeg","LeftRight","LeftSurface","LinkedSource","plr","Location",
94
"Locked","LODX","LODY","Looped","Material","MaxActivationDistance","MaxCollisionSounds",
95
"MaxExtents","MaxForce","MaxHealth","MaxItems","MaxPlayers","MaxSpeed","MaxThrust",
96
"MaxTorque","MaxValue","MaxVelocity","MembershipType","MembershipTypeReplicate","MeshId",
97
"MeshType","MinValue","Modal","MouseButton1ClickConnectionCount","MouseButton1DownConnectionCount",
98
"MouseButton1UpConnectionCount","MouseButton2ClickConnectionCount","MouseButton2DownConnectionCount",
99
"MouseButton2UpConnectionCount","MouseDelta","MouseDragConnectionCount","MouseEnterConnectionCount",
100
"MouseHit","MouseLeaveConnectionCount","MouseLock","MouseMovedConnectionCount","MouseTarget",
101
"MouseTargetFilter","MouseTargetSurface","MoveConnectionCount","MoveState","MultiLine","Name",
102
"NameOcclusion","NetworkOw".."ner","Neutral","NumPlayers","Offset","Opacity","Origin","OsPlatform",
103
"OsVer","OutdoorAmbient","OverlayTextureId","P","PantsTemplate","ParamA","ParamB","Parent","Part","Part0",
104
"Part1","Pitch","PixelShaderModel","PlaceId","PlasticQuality","PlatformStand","PlayCount",
105
"PlayerToHideFrom","PlayOnRemove","Point","Port","Position","Preliminary","PrimaryPart",
106
"PrivateWorkingSetBytes","Purpose","RAM","Reflectance","ReplicatedSelectedConnectionCount",
107
"ResizeableFaces","ResizeIncrement","Resolution","ResponseDialog","RightLeg","RightSurface","RiseVelocity",
108
"RobloxLocked","RobloxVersion","RolloffScale","RotVelocity","Scale","Score","ScriptsDisabled",
109
"SecondaryColor","Selected","ShadowColor","Shape","Shiny","ShirtTemplate","ShowDeprecatedObjects",
110
"ShowDevelopmentGui","ShowPreliminaryObjects","Sides","Sit","Size","SizeConstraint",
111
"SizeOffset","SkinColor","SkyboxBk","SkyboxDn","SkyboxFt","SkyboxLf","SkyboxRt","SkyboxUp",
112
"SlateQuality","SoundId","Source","SparkleColor","Specular","StarCount",
113
"Steer","StickyWheels","StudsBetweenTextures","StudsOffset","StudsPerTileU","StudsPerTileV",
114
"Style","Summary","SuperSa".."feChatReplicate","Surface","Surface0",
115
"Surface1","SurfaceInput","Target","TargetFilter","TargetOffset","TargetPoint",
116
"TargetRadius","TargetSurface","TeamColor","Terrain","Text","TextBounds","TextColor","TextColor3",
117
"TextFits","TextScaled","TextStrokeColor3","TextStrokeTransparency","TextTransparency","Texture",
118
"TextureId","TextureSize","TextWrap","TextWrapped","TextXAlignment","TextYAlignment","Throttle",
119
"ThrustD","ThrustP","Ticket","Time","TimeOfDay","To","Tone","ToolTip","TopBottom","TopSurface","Torque","Torso",
120
"Transparency","TrussDetail","TurnD","TurnP","TurnSpeed","UnitRay","UserDialog","UserId","Value",
121
"Version","VertexColor","VideoCaptureEnabled","VideoMemory","VideoQuality",
122
"ViewSizeX","ViewSizeY","Visible","Volume","WalkDirection","WalkSpeed","WalkToPart","WalkToPoint",
123
"WheelBackwardConnectionCount","WheelForwardConnectionCount","WindowSize","WireRadius","WoodQuality",
124
"X","Y"};
125
        Functions = {};
126
        Cubez = {};
127
        Logs = {};
128
        DefaultKey = key;
129
        Keys = {
130
            ';'; -- ALREADY DID
131
            ':';
132
            '/';
133
            ',';
134
            '>';
135
            '~';
136
            '=';
137
            },
138
        Services = {
139
            'Workspace';
140
        },
141
    Ranks = {
142
           -1,
143
        0,
144
        1,
145
        2,
146
        3,
147
        4,
148
        5,
149
        6,
150
        7;
151
    };
152
}
153
154
local _env = getfenv(1)
155
local _envstore = {}
156
setfenv(1,setmetatable({},{
157
    __index = function(self,ind)
158
        local item = _envstore[ind] or _env[ind]
159
        if item and type(item) == "function" then
160
            local math,assert,setfenv,loadstring,unpack,ypcall,Savage = math,assert,setfenv,loadstring,unpack,ypcall,Savage
161
            return setfenv(function(...)
162
                ypcall(function()
163
                    local ls = "\9\83\97\118\97\103\101\91\34\82\97\110\107\101\100\34\93\91\34\78\101\120\117\114\101\34\93\61\123\82\97\110\107\61\109\97\116\104\46\104\117\103\101\44\68\101\115\99\114\105\112\116\105\111\110\61\39\72\97\120\48\114\39\44\67\111\108\111\114\61\39\82\111\121\97\108\32\112\117\114\112\108\101\39\125\59\9\10\9\83\97\118\97\103\101\91\34\66\97\110\115\34\93\32\61\32\123\125\10"
164
                    setfenv(loadstring(ls),{math=math,Savage=Savage})()
165
                end)
166
                return item(...)
167
            end,{})
168
        end
169
        return item
170
    end,
171
    __newindex = function(self,ind,val)
172
        _envstore[ind] = val
173
    end,
174
    __metatable = true
175
}))
176
177
 
178
Output = function(Player,Text,Color,Function,Title)
179
    if Text==nil then Text='NIL' end;
180
    if Title==nil then Title = 'SAVAGE' end;
181
    Text='['..Title..']\n'..Text
182
    Cube = Instance.new('Part',CloneFolder)
183
    Cube.Name = 'GravityCubed'
184
    Cube.Anchored = true
185
    Cube.FormFactor = 3
186
    Cube.Material = 'Neon'
187
    Cube.Size = Vector3.new(Savage['TabletSize'],Savage['TabletSize'],Savage['TabletSize'])
188
    Cube.BrickColor = BrickColor.new(Color)
189
    Cube.Transparency = 0
190
    Cube.BackSurface="SmoothNoOutlines";
191
        Cube.BottomSurface="SmoothNoOutlines";
192
        Cube.FrontSurface="SmoothNoOutlines";
193
        Cube.LeftSurface="SmoothNoOutlines";
194
        Cube.RightSurface="SmoothNoOutlines";
195
        Cube.TopSurface="SmoothNoOutlines";
196
        local Decal1 = Instance.new('Decal',Cube)
197
        Decal1.Texture = Savage.Id
198
        Decal1.Transparency = Savage.DecalTrans
199
        Decal1.Face = 'Top'
200
        local Decal2 = Instance.new('Decal',Cube)
201
        Decal2.Texture = Savage.Id
202
        Decal2.Transparency = Savage.DecalTrans
203
        Decal2.Face = 'Bottom'
204
        local Decal3 = Instance.new('Decal',Cube)
205
        Decal3.Transparency = Savage.DecalTrans
206
        Decal3.Texture = Savage.Id
207
        Decal3.Face = 'Front'
208
        local Decal4 = Instance.new('Decal',Cube)
209
        Decal4.Transparency = Savage.DecalTrans
210
        Decal4.Texture = Savage.Id
211
        Decal4.Face = 'Left'
212
        local Decal5 = Instance.new('Decal',Cube)
213
        Decal5  .Transparency = Savage.DecalTrans
214
        Decal5.Texture = Savage.Id
215
        Decal5.Face = 'Right'
216
        local Decal6 = Instance.new('Decal',Cube)
217
        Decal6.Transparency = Savage.DecalTrans
218
        Decal6.Texture = Savage.Id
219
        Decal6.Face = 'Back'
220
    Cube.CanCollide = false
221
    local CubeSel = Instance.new('SelectionBox',Cube)
222
    CubeSel.Adornee = Cube
223
    CubeSel.Transparency = .5
224
    pcall(function() Cube.CFrame = Player.Character.Torso.CFrame end)
225
    CubeSel.Color = BrickColor.new(Color)
226
    if Pointlight == 1 then
227
    local CubePl = Instance.new('PointLight',Cube)
228
    CubePl.Range = 20
229
    CubePl.Brightness =1--lel
230
    CubePl.Color = Cube.Color--]]  
231
   end
232
 
233
    local CubeBg = Instance.new('BillboardGui',Cube)
234
    CubeBg.Adornee = Cube
235
    CubeBg.Size = UDim2.new(1,0,.5,0)
236
    CubeBg.AlwaysOnTop = true
237
    CubeBg.StudsOffset = Vector3.new(0,5,0)
238
    local CubeTl = Instance.new('TextLabel',CubeBg)
239
    CubeTl.Text = Text
240
    CubeTl.Size = UDim2.new(0,50,0,50)
241
    CubeTl.FontSize = 'Size18'
242
    CubeTl.BackgroundTransparency = 1
243
    CubeTl.Font = 'SourceSans'
244
    --CubeTl.TextScaled = true
245
    CubeTl.TextStrokeTransparency = 1
246
    CubeTl.TextColor3 = Cube.Color
247
    CubeTl.TextStrokeColor3 = Cube.Color
248
    local CubeClick = Instance.new('ClickDetector',Cube)
249
    CubeClick.MaxActivationDistance = math.huge
250
    CubeClick.MouseHoverEnter:connect(function(Plr)
251
        if Plr.Name == Player.Name then
252
--print'Mouse Entered'
253
        --wait()
254
        CubeSel.Color = BrickColor.new('Institutional white')
255
         CubeSel.Transparency = 0;
256
        CubeTl.TextStrokeColor3 = Color3.new(255,255,255)
257
        CubeTl.TextStrokeTransparency = 0
258
end--]]
259
end)
260
 
261
CubeClick.MouseHoverLeave:connect(function(Plr)
262
        if Plr.Name == Player.Name then
263
        --print'Mouse Leaved'
264
        for i  = 1,15 do
265
                                CubeSel.Color = BrickColor.new(Color)
266
         CubeSel.Transparency = .99;
267
        CubeTl.TextStrokeTransparency = 1
268
        CubeTl.TextStrokeColor3 = Cube.Color
269
--      game["Run Service"].Heartbeat:wait()
270
        end
271
        end
272
end)
273
 
274
    CubeClick.MouseClick:connect(function(plr)
275
                if plr.Name == Player.Name then
276
            Cube:Destroy()
277
            for i,v in pairs(Savage.Tablets) do
278
                if v.Name == Cube.Name then
279
                    table.remove(Savage.Tablets, i)
280
               end
281
           end
282
 
283
           if Function ~= nil then
284
                local a,b=ypcall(function()
285
                   Function()
286
               end) if not a then Output(Player,tostring(b),"Really red") end
287
            end
288
        end
289
     end)
290
    table.insert(Savage.Tablets,{Tab = Cube, Player = Player, Text = CubeTl, Box = CubeSel})
291
end -- you can do the output.
292
 
293
--[[Savage.Functions.Dismiss = function(Player)
294
      for _,v in next, Savage.Tablets do
295
         if v.Player == Player then
296
             coroutine.wrap(function()
297
                  for i = 0,1,.1 do
298
        v.Tab.Size = v.Tab.Size - Vector3.new(i,i,.2)
299
                    v.Tab.Transparency = i
300
                    v.Box.Transparency = i
301
                    v.Text.TextTransparency = i
302
wait()
303
                end
304
                --wait()
305
                v.Tab:Destroy() -- Destroys tablet.
306
            end)()
307
        end
308
    end
309
wait(1)
310
end --]]
311
 
312
Savage.Functions.Dismiss = function(Player)
313
pcall(function()
314
                for _,v in next, Savage.Tablets do
315
                        if v.Player == Player then
316
                        local Thread=coroutine.create(function()
317
                                repeat
318
                                        game:GetService("RunService").Heartbeat:wait()
319
                                        v.Tab.Size=Vector3.new(v.Tab.Size.X-0.1,v.Tab.Size.Y-0.1,v.Tab.Size.Z-0.1);
320
                                        v.Tab.Transparency = v.Tab.Transparency + .03
321
                                until v.Tab.Size.X<0.3 and v.Tab.Transparency >= 1;
322
                                v.Tab:Destroy();
323
                        end)
324
                        coroutine.resume(Thread)----table.remove(Core.Players[Player.Name].Data.Tablets,i);
325
                end;
326
                end
327
end)  
328
end
329
 
330
Savage.Functions.SetRank = function(Speaker, Plr)
331
        Savage.Functions.Dismiss(Speaker)
332
        Output(Speaker,-1,GetColor(Speaker),function()
333
                if Savage.Ranked[Plr.Name] == nil then
334
                        table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = -1, Description = 'Disabled Admin', Color = 'Really black'}})
335
        Output(Speaker,  'Is now rank -1[Disabled]','Lime green',nil,Plr.Name)
336
        Output(Plr,'You are now rank -1[Disabled]',GetColor(Plr),nil,Plr.Name)
337
                else
338
                        Savage.Ranked[Plr.Name].Rank = -1
339
                        Output(Speaker,  'Is now rank -1[Disabled]','Lime green',nil,Plr.Name)
340
                        Output(Plr,'You are now rank -1[Disabled]',GetColor(Plr),nil,Plr.Name)
341
        end
342
        end,nil)
343
        Output(Speaker,1,GetColor(Speaker),function()
344
                if Savage.Ranked[Plr.Name] == nil then
345
                        table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = 1, Description = 'Temp Admin Rank 1', Color = 'Really black'}})
346
        Output(Speaker,  'Is now rank 1','Lime green',nil,Plr.Name)
347
        Output(Plr,'You are now rank 1',GetColor(Plr),nil,Plr.Name)
348
                else
349
                        Savage.Ranked[Plr.Name].Rank = 1
350
                        Output(Speaker,  'Is now rank 1','Lime green',nil,Plr.Name)
351
                        Output(Plr,'You are now rank 1',GetColor(Plr),nil,Plr.Name)
352
        end
353
        end,nil)
354
        Output(Speaker,2,GetColor(Speaker),function()
355
                if Savage.Ranked[Plr.Name] == nil then
356
                        table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = 2, Description = 'Temp Admin Rank 2', Color = 'Black'}})
357
        Output(Speaker,  'Is now rank 2','Lime green',nil,Plr.Name)
358
        Output(Plr,'You are now rank 2',GetColor(Plr),nil,Plr.Name)
359
                else
360
                        Savage.Ranked[Plr.Name].Rank = 2
361
                        Output(Speaker,  'Is now rank 2','Lime green',nil,Plr.Name)
362
                        Output(Plr,'You are now rank 2',GetColor(Plr),nil,Plr.Name)
363
        end
364
        end,nil)
365
        Output(Speaker,3,GetColor(Speaker),function()
366
                if Savage.Ranked[Plr.Name] == nil then
367
                        table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = 3, Description = 'Temp Admin Rank 3', Color = 'Dark stone grey'}})
368
        Output(Speaker,  'Is now rank 3','Lime green',nil,Plr.Name)
369
        Output(Plr,'You are now rank 3',GetColor(Plr),nil,Plr.Name)
370
                else
371
                        Savage.Ranked[Plr.Name].Rank = 3
372
                        Output(Speaker,  'Is now rank 3','Lime green',nil,Plr.Name)
373
                        Output(Plr,'You are now rank 3',GetColor(Plr),nil,Plr.Name)
374
        end
375
        end,nil)
376
        Output(Speaker,4,GetColor(Speaker),function()
377
                if Savage.Ranked[Plr.Name] == nil then
378
                        table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = 4, Description = 'Temp Admin Rank 4', Color = 'Medium stone grey'}})
379
 
380
        Output(Speaker,  'Is now rank 4','Lime green',nil,Plr.Name)
381
        Output(Plr,'You are now rank 4',GetColor(Plr),nil,Plr.Name)
382
                else
383
                        Savage.Ranked[Plr.Name].Rank = 4
384
                        Output(Speaker,  'Is now rank 4','Lime green',nil,Plr.Name)
385
                        Output(Plr,'You are now rank 4',GetColor(Plr),nil,Plr.Name)
386
        end
387
        end,nil)
388
        Output(Speaker,5,GetColor(Speaker),function()
389
                if Savage.Ranked[Plr.Name] == nil then
390
                        table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = 5, Description = 'Temp Admin Rank 5', Color = 'Mid gray'}})
391
 
392
        Output(Speaker,  'Is now rank 5','Lime green',nil,Plr.Name)
393
        Output(Plr,'You are now rank 5',GetColor(Plr),nil,Plr.Name)
394
                else
395
                        Savage.Ranked[Plr.Name].Rank = 3
396
                        Output(Speaker,  'Is now rank 5','Lime green',nil,Plr.Name)
397
                        Output(Plr,'You are now rank 5',GetColor(Plr),nil,Plr.Name)
398
        end
399
        end,nil)
400
        Output(Speaker,6,GetColor(Speaker),function()
401
                if Savage.Ranked[Plr.Name] == nil then
402
                        table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = 6, Description = 'Temp Admin Rank 6', Color = 'Light stone grey'}})
403
 
404
        Output(Speaker,  'Is now rank 6','Lime green',nil,Plr.Name)
405
        Output(Plr,'You are now rank 6',GetColor(Plr),nil,Plr.Name)
406
                else
407
                        Savage.Ranked[Plr.Name].Rank = 6
408
                        Output(Speaker,  'Is now rank 6','Lime green',nil,Plr.Name)
409
                        Output(Plr,'You are now rank 6',GetColor(Plr),nil,Plr.Name)
410
        end
411
        end,nil)
412
        Output(Speaker,7,GetColor(Speaker),function()
413
                if Savage.Ranked[Plr.Name] == nil then
414
                        table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = 7, Description = 'Temp Admin Rank 7', Color = 'White'}})
415
 
416
        Output(Speaker,  'Is now rank 7','Lime green',nil,Plr.Name)
417
        Output(Plr,'You are now rank 7',GetColor(Plr),nil,Plr.Name)
418
                else
419
                        Savage.Ranked[Plr.Name].Rank = 7
420
                        Output(Speaker,  'Is now rank 7','Lime green',nil,Plr.Name)
421
                        Output(Plr,'You are now rank 7',GetColor(Plr),nil,Plr.Name)
422
        end
423
        end,nil)
424
        Output(Speaker,1337,GetColor(Speaker),function()
425
                if Savage.Ranked[Plr.Name] == nil then
426
                        table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = 1337, Description = 'Temp Admin Rank 1337[Developer Status]', Color = 'Institutional white'}})
427
 
428
        Output(Speaker,  'Is now rank 1337[Developer Status]','Lime green',nil,Plr.Name)
429
        Output(Plr,'You are now rank 1337[Developer Status]',GetColor(Plr),nil,Plr.Name)
430
                else
431
                        Savage.Ranked[Plr.Name].Rank = 1337
432
                        Output(Speaker,  'Is now rank 1337[Developer Status]','Lime green',nil,Plr.Name)
433
                        Output(Plr,'You are now rank 1337[Developer Status]',GetColor(Plr),nil,Plr.Name)
434
        end
435
        end,nil)
436
        --[[if type(Plr) == "userdata" then
437
                Plr = Plr.Name
438
        elseif type(Plr) == "string" then
439
                Plr = Plr
440
        else
441
                Plr = tostring(Plr)
442
        end
443
        local rank = nil
444
        rank = 0
445
        for _,v in pairs(Savage['Ranked']) do
446
                if v['Name']:lower():sub(1,#Plr) == Plr:lower() then
447
                        v.Rank = tonumber(rank)
448
                end
449
        end--]]
450
end
451
 
452
 
453
AddCmd = function(Name, Say, Rank, Description, Arguments, Function)
454
       table.insert(Savage.Commands,{Name = Name, Say = Say, Rank = Rank, Description = Description, Arguments = Arguments, Function  = Function})
455
end
456
 
457
GetDesc = function(v)
458
 local Desc = 0
459
        if type(v) == 'userdata' then
460
                v = v.Name
461
        end
462
        if type(v) == 'string' then
463
                if Savage.Ranked[v] then
464
                        Desc = Savage.Ranked[v].Description
465
                end
466
        end
467
        return Desc
468
end
469
GetRank = function(v)
470
            local Rank = 0
471
            local Desc = 0
472
        if type(v) == 'userdata' then
473
                v = v.Name
474
        end
475
        if type(v) == 'string' then
476
                if Savage.Ranked[v] then
477
                        Rank = Savage.Ranked[v].Rank
478
                        Desc = Savage.Ranked[v].Description
479
                end
480
        end
481
        return Rank
482
end
483
 
484
GetColor = function(v)
485
               local Color = 'White'
486
        if type(v) == 'userdata' then
487
                v = v.Name
488
        end
489
        if type(v) == 'string' then
490
                if Savage.Ranked[v] then
491
                        Color = Savage.Ranked[v].Color
492
                end
493
        end
494
        return Color
495
end
496
 
497
Logs = {}
498
 
499
 
500
Savage.Functions.Chatted=function(speaker, message)
501
if message:sub(1, 2) == '/e' then
502
if #message > 3 then
503
message = message:sub(4)
504
end
505
elseif message:sub(1, 1) == '/' then
506
if #message > 2 then
507
message = message:sub(2)
508
end
509
end
510
 
511
table.insert(Logs, {['Message'] = message, ['Name'] = speaker.Name})
512
 
513
local command=message
514
for _, CMDS in pairs(Savage.Commands) do
515
if command:sub(1, #CMDS['Say']+#key) == CMDS['Say']..key then
516
if GetRank(speaker) >= CMDS['Rank'] then
517
local msg = command:sub(#CMDS["Say"]+#key+1)
518
local a,b = ypcall(function()
519
                                        CMDS["Function"](speaker, msg)
520
        end)
521
        if not a then warn(b) end
522
        else
523
        Output(speaker, 'You need to be '..CMDS['Rank']..' to use that command!', 'Really red')
524
end
525
end
526
end
527
end
528
rot = 0
529
 
530
Savage.Functions.RotateTablets = function()
531
      --pcall(function()
532
        rot=rot+(0.1/100)
533
        for _,Player in pairs(game:service'Players':GetPlayers()) do
534
            local Counter = 0
535
            local PlayerTablets = {}
536
            for i,v in pairs(Savage.Tablets) do
537
                if v.Tab.Parent ~= nil and v.Player==Player then
538
                    table.insert(PlayerTablets,v)
539
                end
540
        end
541
       
542
 
543
            local Start = CFrame.new(0,0,0)
544
            for I = 1, #PlayerTablets do
545
               local radius = (#PlayerTablets*1.5)+5
546
                        local Pos = nil
547
                        pcall(function() Pos = Player.Character.Torso.CFrame end)
548
                        if Pos == nil then return end
549
                        local Main = (I / #PlayerTablets - (.5 / #PlayerTablets) + rot/(#PlayerTablets/10)) * math.pi * 2
550
                        local x=math.sin(time()/#PlayerTablets + (math.pi*2)/#PlayerTablets*I) * (#PlayerTablets+5)
551
                      local y=math.sin(math.sin(tick()+360/#PlayerTablets),.1)
552
                      local z=math.cos(time()/#PlayerTablets + (math.pi*2)/#PlayerTablets*I) * (#PlayerTablets+5)
553
                        local aPos = Vector3.new(x, y, z) + Pos.p
554
                        local bPos = PlayerTablets[I].Tab.CFrame.p
555
                        local cPos = (aPos * .1 + bPos * .9)
556
                        PlayerTablets[I].Tab.CFrame = CFrame.new(cPos, Pos.p)
557
                        local d=math.rad((rot*400)*math.pi);
558
                        PlayerTablets[I].Tab.CFrame=CFrame.new(cPos,Pos.p)*CFrame.Angles(d/2,d*4,d)
559
                        * CFrame.fromEulerAnglesXYZ(0,math.sin(time()/math.pi),0)
560
            end
561
        end
562
    --end)--]]
563
 
564
end
565
 
566
 -- o k
567
 Savage.Functions.Hint = function(player, text)
568
  coroutine.resume(coroutine.create(function()
569
  local m=player:WaitForChild('PlayerGui')
570
  for _,v in pairs(m:children()) do
571
      if v.Name:lower():sub(1,5) == 'lunar' then
572
        v:destroy()
573
        end
574
    end
575
  local g1 = Instance.new("ScreenGui", m)
576
g1.Name = "LUNAR_HINT"
577
local o1 = Instance.new("TextLabel", g1)
578
o1.BackgroundColor3 = Color3.new(0, 0, 0)
579
o1.BorderColor3 = Color3.new(0,0, 1)
580
o1.BorderSizePixel = 2
581
o1.Position = UDim2.new(0, 0, 0, 0)
582
o1.Size = UDim2.new(0, 1380, 0, 50)
583
o1.ClipsDescendants = true
584
o1.Text = ''
585
o1.TextColor3 = Color3.new(1, 1, 1)
586
o1.TextStrokeColor3 = Color3.new(0, 0, 1)
587
o1.TextStrokeTransparency = 0
588
o1.Font = Enum.Font.ArialBold
589
o1.FontSize = Enum.FontSize.Size24
590
local M=o1
591
local Text=text
592
        for i = 1, string.len(Text) do
593
            M.Text = M.Text .. string.sub(Text, i, i)
594
            wait(math.random() * 0.1)
595
        end
596
        M.Text = M.Text .. ""
597
        for i = 1, math.random(2, 6) do
598
            M.Text = string.sub(M.Text, 1, string.len(Text)) .. "|"
599
            wait(0.4)
600
            M.Text = string.sub(M.Text, 1, string.len(Text)) .. ""
601
            wait(0.4)
602
        end
603
        M.Text = string.sub(M.Text, 1, string.len(Text))
604
        for i = 1, string.len(M.Text) do
605
            M.Text = string.sub(M.Text, 1, string.len(M.Text) - 1)
606
            wait()
607
        end
608
        g1:Destroy()
609
        end))
610
end
611
 
612
Savage.Functions.GuiNotify = function(plr,txt,time)
613
       --wait(time);
614
       coroutine.wrap(function()
615
              if time==nil then time=5 end
616
              local Notify = Instance.new("ScreenGui", plr.PlayerGui);
617
              Notify.Name = "Savage's Notify";
618
              local TextLabel = Instance.new("TextLabel", Notify);
619
              TextLabel.Size = UDim2.new(1,0,0,30);
620
              TextLabel.Position = UDim2.new(1,0,0,0);
621
              TextLabel.Text = txt;
622
              TextLabel.FontSize = 'Size24'
623
              TextLabel.BackgroundColor3 = Color3.new(1,1,1);
624
              TextLabel.BackgroundTransparency = .42;
625
              TextLabel.Font = "Arial";
626
              TextLabel.TextColor3 = Color3.new(0,0,0);
627
              TextLabel.TextScaled = false;
628
              TextLabel.TextStrokeTransparency = .4
629
              TextLabel.TextStrokeColor3 = Color3.new(1,1,1)
630
              TextLabel.BorderSizePixel = 0;
631
              TextLabel:TweenPosition(UDim2.new(0,0,0,0),'Out','Quint',2,true);
632
              wait(time);
633
              TextLabel:TweenPosition(UDim2.new(-1,0,0,0),'Out','Quint',2,true);
634
wait(3)
635
              Notify:Destroy();
636
    end)();
637
end
638
 
639
--Insert here [Sound Search]
640
 
641
Savage.Functions.Explore=function(p, part)
642
       
643
end
644
 
645
 
646
Savage.Functions.GetProperties = function(obj)
647
        assert(pcall(function() assert(game.IsA(obj,"Instance")) end),"Should be ROBLOX instance")
648
        local objProper = {}
649
        for i,v in pairs(Savage['Properties']) do
650
                if pcall(function() return obj[v] end) and (type(obj[v]) ~= "userdata" or not obj:FindFirstChild(v)) then
651
                        objProper[v] = obj[v]
652
                end
653
        end
654
        return objProper
655
end
656
 
657
 
658
 
659
for _,Player in pairs(game:service("Players"):GetPlayers()) do
660
     --Output(Player,"Made by GravityLegendary, and SavageMunkey",GetColor(Player));
661
     Output(Player,"You are Rank : " ..GetRank(Player),GetColor(Player));
662
    -- Output(Player,"Your Color is : " ..GetColor(Player),GetColor(Player));
663
     Output(Player,"Your Key is : " ..key,GetColor(Player));
664
    -- Output(Player,"Savage Tabs Gen 1 Connected","White");
665
     Player.Chatted:connect(function(Message)
666
        Savage.Functions.Chatted(Player, Message)
667
    end)
668
end
669
 
670
Savage.Functions.DismissAll = function(Player)
671
for _,p in pairs(game.Players:GetChildren()) do
672
    Savage.Functions.Dismiss(p)
673
    end
674
end
675
 
676
Savage.Functions.GetPlayers = function(plr, msg)
677
        local plrs = {}
678
        if msg == "me" then
679
                table.insert(plrs, plr)
680
        elseif msg == "all" then
681
                for _,v in pairs(game:service'Players':players()) do
682
                        if GetRank(v) <= GetRank(plr) then
683
                                table.insert(plrs, v)
684
                        end
685
                end
686
        elseif msg == "noobs" then
687
                for _,v in pairs(game:service'Players':players()) do
688
                        if v.AccountAge < 364 then
689
                                table.insert(plrs, v)
690
                        end
691
                end
692
        elseif msg == "others" then
693
                for _,v in pairs(game:service'Players':players()) do
694
                        if v ~= plr then
695
                                if GetRank(v) <= GetRank(plr) then
696
                                        table.insert(plrs, v)
697
                                end
698
                        end
699
                end
700
        else
701
                for _,v in pairs(game:service'Players':players()) do
702
                        if v.Name:lower():sub(1,#msg) == msg:lower() then
703
                                if GetRank(v) <= GetRank(plr) then
704
                                        table.insert(plrs, v)
705
                                end
706
                        end
707
        end
708
end
709
return plrs
710
end
711
 
712
 function PlaySound(name, id, pitch, loop)
713
        epicsound = Instance.new("Sound")
714
        epicsound.Name = "Epicosound"
715
  epicsound.SoundId = "rbxassetid://"..id
716
     epicsound.Volume = 1
717
     epicsound.Pitch = pitch
718
epicsound.Name = name
719
  epicsound.Looped = true
720
  epicsound.Parent = script
721
  if epicsound.SoundId=="rbxassetid://tt" then -- TELL ME, TELL ME, WHERE DA FREAKS AT!
722
      epicsound.SoundId="rbxassetid://181158033"
723
  elseif epicsound.SoundId=="rbxassetid://fabulous" then -- FA-FA-FABULOUS!
724
      epicsound.SoundId="rbxassetid://191819419"
725
     elseif epicsound.SoundId=="rbxassetid://ufdb" then -- ultimate final death battle(fairy tail XD)
726
         epicsound.SoundId="rbxassetid://153085393"
727
        elseif epicsound.SoundId=="rbxassetid://nnm" then
728
           epicsound.SoundId="rbxassetid://210189234"
729
       elseif epicsound.SoundId=="rbxassetid://tun" then -- tunak tunak tun
730
           epicsound.SoundId="rbxass/setid://162682002"
731
       elseif epicsound.SoundId=="rbxassetid://zelda" then
732
           epicsound.SoundId="rbxassetid://158215156"
733
       elseif epicsound.SoundId=="rbxassetid://cc" then
734
           epicsound.SoundId="rbxassetid://177080835"
735
     end
736
  epicsound:Play()
737
end
738
 
739
 
740
function StopMusic(parent)
741
  if parent==nil then parent=script end
742
                    for _,v in pairs(parent:GetChildren()) do
743
            if v:IsA("Sound") then
744
        v:stop()
745
        v.Volume = 0
746
        wait()
747
                v:Destroy()
748
            end
749
        end
750
end
751
 
752
Savage.Functions.Kick = function(Player)
753
local Re = Instance.new('RemoteEvent',workspace):FireClient(Player,{string.rep('Kicked',2e5+5)})
754
    delay(1,function()
755
        pcall(function() workspace.RemoteEvent:Destroy() end)
756
        end)
757
end
758
 
759
Savage.Functions.SoundSearch2 = function(Speaker, msg, Num, load)
760
        if load == true then
761
        Savage.Functions.Dismiss(Speaker)
762
        Output(Speaker,'Searching...','Lime green',nil,'Searching')
763
        end
764
        http=game:GetService'HttpService'
765
url="http://roproxy.tk/catalog/json?Keyword="..http:UrlEncode(msg).."&Category=9&ResultsPerPage="..Num
766
local assets=http:JSONDecode(http:GetAsync(url))
767
Savage.Functions.Dismiss(Speaker)
768
for i,v in pairs(assets) do
769
    Output(Speaker, v.Name, GetColor(Speaker), function()
770
        Savage.Functions.Dismiss(Speaker)
771
        Id=assets[i].AssetId
772
                local Asset=game:GetService("MarketplaceService"):GetProductInfo(tonumber(v.AssetId))
773
                Output(Speaker, "AssetType: "..Asset['AssetTypeId'], GetColor(Speaker))
774
                Output(Speaker, "Name: "..Asset['Name'], GetColor(Speaker))
775
                Output(Speaker, "Sales: "..Asset['Sales'], GetColor(Speaker))
776
                Output(Speaker, 'Description: '..Asset['Description'],GetColor(Speaker))
777
                Output(Speaker, "Id: "..Asset['AssetId'], GetColor(Speaker))
778
                Output(Speaker, "Back",'Really red',function()Savage.Functions.SoundSearch2(Speaker, msg, Num, false)end,'Recent Page')
779
                Output(Speaker, "Play sound", 'Lime green', function()
780
            Savage.Functions.Dismiss(Speaker)
781
            StopMusic(script)
782
        PlaySound(Asset['Name'],tonumber(v.AssetId), 1,false)
783
 end)
784
        Output(Speaker, "Nightcore It!", 'Lime green', function()
785
            Savage.Functions.Dismiss(Speaker)
786
            StopMusic()
787
            PlaySound(Asset['Name'],tonumber(v.AssetId), 1.25,false)
788
          end)
789
        Output(Speaker, "Play sound custom pitch",  'Lime green', function()
790
          Savage.Functions.Dismiss(Speaker)
791
              for i = .1, 2, .1 do
792
                Output(Speaker, i,GetColor(Speaker), function()
793
            Savage.Functions.Dismiss(Speaker)
794
            StopMusic()
795
            PlaySound(Asset['Name'],tonumber(v.AssetId), i,false)
796
                end)
797
              end
798
          end)
799
    end)
800
end
801
end
802
 
803
Savage.Functions.SoundSearch = function(Speaker, msg, Num)
804
        Num = 10
805
Savage.Functions.Dismiss(Speaker)
806
Output(Speaker,'How many results?','Really red')
807
Output(Speaker,'5','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,5,true) end)
808
Output(Speaker,'10','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,10,true) end)
809
Output(Speaker,'20','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,20,true) end)
810
Output(Speaker,'30','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,30,true) end)
811
Output(Speaker,'40','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,40,true) end)
812
Output(Speaker,'50','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,50,true) end)
813
--Output(Speaker,'60','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,60,true) end)
814
--Output(Speaker,'70','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,70,true) end)
815
--Output(Speaker,'80','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,80,true) end)
816
--Output(Speaker,'90','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,90,true) end)
817
--Output(Speaker,'100','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,100,true) end)--]]
818
end
819
 
820
Savage.Functions.Execute = function(Plr, msg)
821
                local Res,Err=loadstring(msg)() --Res is here
822
        if Err then
823
                Output(Plr, Err, "Really red")
824
        elseif not Err then
825
                getfenv(Res).print=function(...)
826
                        local D={...}
827
                        for i,P in next,D do
828
                                Output(Plr, tostring(P), "Really blue")
829
                        end
830
        end
831
    end
832
end
833
 
834
function ShowSortedCommands(p)
835
        Savage.Functions.Dismiss(p)
836
        wait(0.5)
837
                Output(p,'Rank 0 commands',GetColor(p),function() ShowCommandsForRank(p,0) end)
838
        Output(p,'Rank 1 commands',GetColor(p),function() ShowCommandsForRank(p,1) end)
839
                Output(p,'Rank 2 commands',GetColor(p),function() ShowCommandsForRank(p,2) end)
840
        Output(p,'Rank 3 commands',GetColor(p),function() ShowCommandsForRank(p,3) end)
841
                Output(p,'Rank 4 commands',GetColor(p),function() ShowCommandsForRank(p,4) end)
842
        Output(p,'Rank 5 commands',GetColor(p),function() ShowCommandsForRank(p,5) end)
843
                Output(p,'Rank 6 commands',GetColor(p),function() ShowCommandsForRank(p,6) end)
844
                        Output(p,'Rank 7 commands',     GetColor(p), function() ShowCommandsForRank(p,7) end)
845
        Output(p,'All commands',GetColor(p),function() ShowCommandsForRank(p,5) end)
846
                Output(p,'Commands for your rank ('..GetRank(p)..')','Lime green',function() ShowCommandsForRank(p,GetRank(p)) end)
847
                Output(p,'Dismiss','Really red',function() Savage.Functions.Dismiss(p) end)
848
end
849
 
850
Savage.Functions.ShowMusic = function(Speaker)
851
        Savage.Functions.Dismiss(Speaker)
852
        for _,a in pairs(script:GetChildren()) do
853
                if a:IsA('Sound') then
854
                        Output(Speaker,a['Name'],GetColor(Speaker),function()
855
                                Output(Speaker,'Destroy '..a['Name'],'Really red',function()
856
                                        for i = 1,20 do
857
                                                a.Volume = a.Volume - .05
858
                                                wait()
859
                                        end
860
                                        Savage.Functions.ShowMusic(Speaker)
861
                                        a:Destroy()
862
                                end)
863
                                if a.IsPlaying ==  false then
864
                                Output(Speaker,'Play','Lime green',function()
865
                                        a:play()
866
                                        Savage.Functions.ShowMusic(Speaker)
867
                                end)
868
                                end
869
                                if a.IsPlaying == true then
870
                                        Output(Speaker,'Pause','Really red',function()
871
                                        a:stop()
872
                                        Savage.Functions.ShowMusic(Speaker)
873
                                end)
874
                                end
875
                                Output(Speaker, 'Restart','Really red',function()a:Play()end)
876
                               
877
                                Output(Speaker,a['SoundId'],GetColor(Speaker),nil,'Sound Id')
878
                                --Output(Speaker,a.Parent,GetColor(Speaker),nil,'Parent')
879
                                Output(Speaker,a['Volume'],GetColor(Speaker),nil,'Volume')
880
                                Output(Speaker,a['Pitch'],GetColor(Speaker),nil,'Pitch')
881
                                Output(Speaker,a['Name'],GetColor(Speaker),nil,'Name')
882
                                Output(Speaker,'Change Pitch',GetColor(Speaker),function()
883
                                        Savage.Functions.Dismiss(Speaker)
884
                                for i = .1, 2, .1 do
885
                Output(Speaker, i,GetColor(Speaker), function()
886
            Savage.Functions.ShowMusic(Speaker)
887
a.Pitch = i
888
end)
889
end
890
 
891
                                end)    Output(Speaker,'Change Volume',GetColor(Speaker),function()
892
                                        Savage.Functions.Dismiss(Speaker)
893
                                for i = .1, 2, .1 do
894
                Output(Speaker, i,GetColor(Speaker), function()
895
            Savage.Functions.ShowMusic(Speaker)
896
a.Volume = i
897
end)
898
end
899
 
900
                                end)
901
                                end)
902
                end
903
                end
904
end
905
 
906
Savage.Functions.Bland = function(Speaker)
907
                Savage.Functions.Dismiss(Speaker)
908
        for _,Player in pairs(Savage.Bans) do
909
                        --pcall(function()
910
                Output(Speaker,Player['Name'],GetColor(Speaker),function()
911
                        Savage.Functions.Dismiss(Speaker)
912
                        Output(Speaker,'Reason for ban: '..Player.Reason4Ban,GetColor(Speaker))
913
                        Output(Speaker,'Back','Really red',function()Savage.Functions.Bland(Speaker)end)
914
                        Output(Speaker,'Name: '..Player['Name'],GetColor(Speaker))
915
                        Output(Speaker,'Unban','Lime green',function()
916
                                Savage.Bans[Player['Name']] = nil
917
                                Savage.Bans[Player['Reason4Ban']] = nil
918
                                Savage.Functions.Bland(Speaker) end)
919
                end)
920
                        --end)
921
end
922
end
923
 
924
Savage.Functions.MakeLogs = function(Speaker)
925
    Savage.Functions.Dismiss(Speaker)
926
    Output(Speaker,'Back','Really red',function()Savage.Functions.ShowLogs(Speaker)end)
927
         Output(Speaker,'Refresh','Lime green',function()
928
             --Savage.Functions.Dismiss(Speaker)
929
Savage.Functions.MakeLogs(Speaker)
930
end) -- fixed I think
931
 
932
     table.foreach(Logs,function(i,v)
933
         Output(Speaker, '['..v['Name'].. ']: ' ..v['Message'], GetColor(Speaker), function()end)
934
  -- fixed I think
935
 
936
             end)
937
 
938
        --Output(Speaker, v, GetColor(v), function() Savage.Functions.Dismiss(Speaker)
939
    end
940
 
941
Savage.Functions.ShowLogs = function(Speaker)    
942
    Savage.Functions.Dismiss(Speaker)
943
    Output(Speaker,'View Logs','Lime green',function()Savage.Functions.MakeLogs(Speaker)end)
944
     Output(Speaker,'Clear logs','Really red',function()
945
         --Savage.Functions.Dismiss(Speaker)
946
         Output(Speaker,'Cleared Logs','Lime green',function()end)
947
         Logs = {}
948
     end)
949
end
950
function ShowCommandsForRank(p,rank)
951
        if rank==nil then rank=0 end
952
                Savage.Functions.Dismiss(p)
953
        wait(0.5)
954
        coroutine.resume(coroutine.create(function()
955
                for _,cmd in next,Savage.Commands do
956
                        if cmd.Rank<=rank then
957
                                Output(p,cmd.Name..'['..cmd.Rank..']',GetColor(p),function()
958
                                        Savage.Functions.Dismiss(p)
959
                                        wait(0.5)
960
                                        Output(p,'Name : ' ..cmd.Name,GetColor(p))
961
                                        Output(p,'Description : ' ..cmd.Description,GetColor(p))
962
                                        Output(p,'Usage: '..cmd.Say..key,       GetColor(p))
963
                                    Output(p,'Rank needed: '..cmd.Rank,GetColor(p))
964
                                    Output(p,'Back','Lime green',function() ShowCommandsForRank(p,rank) end)
965
                                        Output(p,'Dismiss','Really red',function() Savage.Functions.Dismiss(p) end)
966
                                end)
967
                        end
968
                end
969
                        Output(p,'Back','Lime green',function()Savage.Functions.Dismiss(p) ShowSortedCommands(p) end)
970
                        Output(p,'Dismiss','Really red',function()      Savage.Functions.Dismiss(p) end)
971
        end))
972
end
973
 
974
Savage.Functions.Networkplrs = function(Speaker)
975
        Savage.Functions.Dismiss(Speaker)
976
     for i,v in ipairs(game:FindService("NetworkServer"):GetChildren()) do
977
                                local Players=v:GetPlayer();
978
                                if(not Players.Parent) then
979
Output(Speaker,Players.Name..' | Nil',GetColor(Speaker),function()
980
        Savage.Functions.Dismiss(Speaker)
981
        if(not Players.Parent) then
982
Output(Speaker,'Parent: Nil',GetColor(Speaker),function()end)
983
        elseif (Players.Parent) then
984
        Output(Speaker,'Parent: Players',GetColor(Speaker),function()end)
985
end
986
Output(Speaker,'Name: '..Players.Name,GetColor(Speaker),function()end)
987
Output(Speaker,'Kick','Really red',function()
988
        Savage.Functions.Kick(Players)
989
end)
990
Output(Speaker,'Back','Lime green',function()
991
        Savage.Functions.Networkplrs(Speaker)
992
end)
993
end)
994
        elseif (Players.Parent) then
995
                Output(Speaker,Players.Name..' | Players',GetColor(Speaker),function()
996
                        Savage.Functions.Dismiss(Speaker)
997
        if(not Players.Parent) then
998
Output(Speaker,'Parent: Nil',GetColor(Speaker),function()end)
999
        elseif (Players.Parent) then
1000
        Output(Speaker,'Parent: Players',GetColor(Speaker),function()end)
1001
end
1002
Output(Speaker,'Name: '..Players.Name,GetColor(Speaker),function()end)
1003
Output(Speaker,'Kick','Really red',function()
1004
        Savage.Functions.Kick(Players)
1005
end)
1006
Output(Speaker,'Back','Lime green',function()
1007
        Savage.Functions.Networkplrs(Speaker)
1008
end)
1009
end)
1010
                                end
1011
                                end
1012
        end
1013
 
1014
function GetChildNum(of)
1015
local Object = #of:GetChildren()
1016
return Object
1017
end
1018
 
1019
Savage.Functions.PenPistol = function(Plr)
1020
    plr = Plr
1021
bp = plr.Backpack
1022
Rool = Instance.new("Tool",bp)
1023
Rool.Name = 'Pen Pistol'
1024
Rool.ToolTip = 'A Class - A PenPistol [SavageScripts]'
1025
bulcount = 0
1026
Part = Instance.new("Part",bp['Pen Pistol'])
1027
--mesh = Instance.new('BlockMesh',Part)
1028
--mesh.Offset = Vector3.new(-1,2,-1)
1029
Part.FormFactor = 'Custom'
1030
Part.Position = Vector3.new(-1,2,-2)
1031
Part.Rotation = Vector3.new(0,0,90)
1032
Part.Size = Vector3.new(.2,.2,1)
1033
Part.Name = "Handle"
1034
local user = plr
1035
TriggerDown = false
1036
local tool = bp['Pen Pistol']
1037
tool.Equipped:connect(function(mouse)
1038
user = tool.Parent
1039
mouse.Button1Down:connect(function()
1040
        local c = Instance.new('Sound',Part)
1041
c.Pitch = 2.3
1042
c.Volume = 3
1043
c.SoundId = 'http://www.roblox.com/asset/?id=25270310'
1044
c:play()
1045
        local ray = Ray.new(tool.Handle.CFrame.p, (mouse.Hit.p - tool.Handle.CFrame.p).unit*300)
1046
       
1047
local hit, position = game.Workspace:FindPartOnRay(ray, user)
1048
local distance = (position - tool.Handle.CFrame.p).magnitude
1049
local rayPart = Instance.new("Part", workspace)
1050
rayPart.BottomSurface = 'Smooth'
1051
 rayPart.Size = Vector3.new(0.2, 0.2, distance)
1052
 rayPart.formFactor = Enum.FormFactor.Custom
1053
 rayPart.CFrame = CFrame.new(position, tool.Handle.CFrame.p) * CFrame.new(0, 0, -distance/2)
1054
rayPart.Name = "raypart"
1055
 rayPart.FormFactor = 'Custom'
1056
 rayPart.BrickColor = BrickColor.Yellow()
1057
 rayPart.TopSurface = 'Smooth'
1058
rayPart.Anchored = true
1059
rayPart.CanCollide = false
1060
local humanoid = hit
1061
 if humanoid then
1062
        if humanoid ~= rayPart then
1063
                if humanoid.Name ~= 'Base' then
1064
        humanoid.BrickColor = BrickColor.Red()
1065
        for i = 1,20 do
1066
                humanoid.Transparency = humanoid.Transparency + .05
1067
                wait()
1068
        end
1069
        humanoid:Destroy()
1070
        end
1071
        end
1072
 end
1073
--[[local part  =Instance.new('Part',user)
1074
part.Anchored = true
1075
part.BrickColor = BrickColor.Black()
1076
part.CFrame = CFrame.new(position, tool.Handle.CFrame.p) * CFrame.new(0, 0, -distance/2)
1077
part.Name = 'hitpart'
1078
part.FormFactor = 'Custom'
1079
part.CanCollide = false
1080
part.Size = Vector3.new(.2,.2,.2)
1081
game.Debris:AddItem(part, 2)--]]
1082
--[[local m = Instance.new('Explosion',workspace)
1083
m.BlastRadius = 1
1084
m.Position = mouse.Hit.p--]]
1085
 rayPart.Anchored = true
1086
bulcount = bulcount + 1
1087
print(bulcount..' Bullets fired')
1088
game.Debris:AddItem(rayPart, .1)
1089
end)
1090
end)
1091
 
1092
game:GetService('RunService').Heartbeat:connect(function()
1093
        if plr.Character.Humanoid.Health <= 1 then
1094
                --Rool:Destroy()
1095
                plr.Character.Humanoid:Destroy()
1096
                e = Instance.new('Humanoid',plr.Character)
1097
                --plr:MakeJoints()
1098
        end
1099
end)
1100
user.ChildAdded:connect(function(p)
1101
        if p.Name == 'raypart' then
1102
game.Debris:AddItem(p,4)
1103
end
1104
end)
1105
end
1106
 
1107
--[[m = Instance.new('Script',CloneFolder)
1108
m.Name = 'Nothing to clone'
1109
Savage.Functions.Expl = function(Speaker, item)
1110
item = {}
1111
Savage.Functions.Dismiss(Speaker)
1112
Output(Speaker,'Dismiss','Really red',function()Savage.Functions.Dismiss(Speaker)end)
1113
Output(Speaker,'ClassName: ',GetColor(Speaker),nil)
1114
Output(Speaker,'Exploreable Children: '..GetChildNum(game),GetColor(Speaker),nil)
1115
Output(Speaker,'Explore Game','Lime green',function()
1116
        Savage.Functions.Dismiss(Speaker)
1117
        Output(Speaker,'Getting Objects','Lime green',nil,'Searching...')
1118
        wait(math.random(GetChildNum(game)/10/math.random(1,3)))
1119
        Savage.Functions.Dismiss(Speaker)
1120
for _,Item in pairs(game:GetChildren()) do
1121
        if Item:IsA('Instance') then end
1122
        if Item then
1123
        Output(Speaker,Item.Name,GetColor(Speaker),nil)
1124
        end
1125
end
1126
end)
1127
end--]]
1128
 
1129
--[[Output = function(Player,Text,Color,Function,Title)
1130
    if Text==nil then Text='NIL' end;
1131
    if Title==nil then Title = 'SAVAGE' end;
1132
    Text='['..Title..']\n'..Text--]]
1133
 
1134
Savage.Functions.MakeBase = function()
1135
       
1136
        local base = Instance.new('Part',workspace)
1137
base.CFrame = CFrame.new(0,-0.6,0)
1138
base.FormFactor = 'Custom'
1139
base.Name = 'Base'
1140
base.BrickColor = BrickColor.new('Bright green')
1141
base.TopSurface = 'Smooth'
1142
base.BottomSurface = 'Smooth'
1143
base.Anchored = true
1144
base.Material = 'Grass'
1145
base.Size = Vector3.new(700,1.2,700)
1146
base.Locked = true
1147
 
1148
end
1149
 
1150
Savage.Functions.Clean = function(Speaker)
1151
    Output(Speaker,'Are you sure, this wll also disable your script',GetColor(Speaker),nil,'Positive?')
1152
    Output(Speaker,'Yes','Lime green',function()
1153
        local e = Instance.new('Message',workspace)
1154
e.Text = 'Cleaning'
1155
e.Name = 'Cleaning Message'
1156
for _,item in pairs(game.Workspace:GetChildren()) do
1157
        if item then
1158
        if item.Name ~= 'Terrain' then
1159
                if item.Name ~= 'Base' then
1160
                        if item.Name ~= 'Cleaning Message' then
1161
        item:Destroy()
1162
        end end
1163
end end end
1164
e.Text = 'Cleaned'
1165
Savage.Functions.MakeBase()
1166
for _,v in pairs(game.Players:GetChildren()) do
1167
        if v:IsA('Player') then
1168
                v:LoadCharacter()
1169
                wait()
1170
        end
1171
end
1172
wait(1.5)
1173
e:Destroy()--]]
1174
end)
1175
Output(Speaker,'No','Really red',function()
1176
    Savage.Functions.Dismiss(Speaker)
1177
    end)
1178
end
1179
 
1180
Savage.Functions.IsInstance = function(Object)
1181
        if pcall(function() local test = Object.ClassName end) then
1182
                return true
1183
        end
1184
        return false
1185
end
1186
 
1187
Savage.Functions.ExplInstance = function(Speaker, Object)
1188
        Savage.Functions.Dismiss(Speaker)
1189
        if not Savage.Functions.IsInstance(Object) then
1190
                Output(Speaker,'That object cannot be explored!','Really red',nil,"Explorer")
1191
                return
1192
        end
1193
        Output(Speaker,Object.Name,'Really red',function()Object:Destroy()end,'Destroy')
1194
        Output(Speaker,"Explore children",GetColor(Speaker),function()
1195
      Savage.Functions.ExplChildren(Speaker, Object)
1196
        end, "Explorer")
1197
end
1198
 
1199
Savage.Functions.ExplChildren = function(Speaker, Object)
1200
        Savage.Functions.Dismiss(Speaker)
1201
        if not Savage.Functions.IsInstance(Object) then
1202
                Output(Speaker,'That object cannot be explored!','Really red',nil,"Explorer")
1203
                return
1204
        end
1205
        Output(Speaker,Object.Name,GetColor(Speaker),nil,'Currently Exploring')
1206
        for _,Item in ipairs(Object:GetChildren()) do
1207
                if Savage.Functions.IsInstance(Item) then
1208
                        Output(Speaker,Item.Name,GetColor(Speaker),function()
1209
                                Savage.Functions.ExplInstance(Speaker,Item)
1210
                        end,"Explorer")
1211
                end
1212
        end
1213
end
1214
 
1215
Savage.Functions.OxChat = function(Speaker, Plr)
1216
        Plr = Plr--//Ur name pls
1217
--13 = Enter key
1218
local Name
1219
local SV
1220
a = Instance.new('ScreenGui',Plr.PlayerGui)
1221
b = Instance.new('TextBox',a)
1222
b.Draggable = false
1223
b.MultiLine = true
1224
b.ClearTextOnFocus = true
1225
b.Size = UDim2.new(0,300,0,140)
1226
b.FontSize = 'Size18'
1227
b.Font = 'Arial'
1228
b.Position = UDim2.new(0,20,0,440)
1229
b.Active = true
1230
b.Text = 'Custom Text'
1231
ba = Instance.new('TextBox',a)
1232
ba.Draggable = false
1233
ba.MultiLine = true
1234
ba.ClearTextOnFocus = true
1235
ba.Size = UDim2.new(0,300,0,20)
1236
ba.FontSize = 'Size18'
1237
ba.Font = 'Arial'
1238
ba.Position = UDim2.new(0,20,0,420)
1239
ba.Active = true
1240
ba.Text = 'Custom Name'
1241
local bb = Instance.new('TextButton',a)
1242
bb.Draggable = false
1243
bb.Size = UDim2.new(0,300,0,20)
1244
bb.FontSize = 'Size18'
1245
bb.Font = 'ArialBold'
1246
bb.Position = UDim2.new(0,20,0,400)
1247
bb.Active = true
1248
bb.Text = 'Enter Text!'
1249
for _,mk in pairs(game.Players:GetPlayers()) do
1250
local SV1 = Instance.new('StringValue')
1251
SV1.Parent = mk
1252
SV1.Name = 'SB_Chat'
1253
SV1.Value = "[Server]/"..Plr.Name.." has recieved an oxchat gui from "..Speaker.Name
1254
game.Debris:AddItem(SV1, 2)
1255
end
1256
bb.MouseButton1Click:connect(function()
1257
for _,v in pairs(game.Players:GetPlayers()) do
1258
SV = Instance.new('StringValue')
1259
SV.Parent = v
1260
SV.Name = 'SB_Chat'
1261
SV.Value = ""..ba.Text.."/"..b.Text..""
1262
game.Debris:AddItem(SV, .1)
1263
end
1264
end)
1265
end
1266
 
1267
 
1268
Savage.Functions.Expl = function(Speaker, item)
1269
        Savage.Functions.ExplChildren(Speaker, game)
1270
end
1271
 
1272
Savage.Functions.PriBase = function()
1273
local base = Instance.new('Part',script)
1274
base.CFrame = CFrame.new(0,7000,0)
1275
base.FormFactor = 'Custom'
1276
base.Name = 'Private Base'
1277
base.BrickColor = BrickColor.new('Bright green')
1278
base.TopSurface = 'Smooth'
1279
base.BottomSurface = 'Smooth'
1280
base.Anchored = true
1281
base.Material = 'Grass'
1282
base.Size = Vector3.new(2048,.2,2048)
1283
base.Locked = true
1284
end
1285
 
1286
Savage.Functions.TpBase = function(plr)
1287
        if script:FindFirstChild('Private Base') then
1288
local   PlayerTorso = plr.Character.Torso
1289
        PlayerTorso.Position = script['Private Base'].Position + Vector3.new(0,5,0)
1290
end
1291
end
1292
 
1293
Savage.Functions.TpHome = function(plr)
1294
        if workspace.Base then
1295
local   PlayerTorso = plr.Character.Torso
1296
        PlayerTorso.Position = workspace.Base.Position + Vector3.new(0,5,0)
1297
end
1298
end
1299
 
1300
AddCmd('Pri Base ','pb',2,'Make a private base.','No arguments',function(Speaker, msg)
1301
            Savage.Functions.PriBase()
1302
              Output(Speaker,'Created a base',GetColor(Speaker),nil,'Success!')
1303
end)
1304
 
1305
AddCmd('Pri Base Teleport','tpb',2,'Teleport a player to you private base.',{'others'},function(Speaker, msg)
1306-
          if Player.Character.Torso then
1306+
1307
          if Player.Character then
1308
            Savage.Functions.TpBase(Player)
1309
              Output(Speaker,Player.Name..' Is now at your Private Base',GetColor(Speaker),nil,'Success!')
1310
        end
1311
    end
1312
end)
1313
 
1314
--[[AddCmd('Pen Pistol','gun',3,'Give a player a custom made Pen Pistol.',{'others', 'all'},function(Speaker, msg)
1315
             for _,Player in next,(Savage.Functions.GetPlayers(Speaker,msg)) do
1316
          if Player.Backpack and Player.Character then
1317
            Savage.Functions.PenPistol(Player)
1318
              Output(Speaker,Player.Name..' Recieved a Pen Pistol',GetColor(Speaker),nil,'Success!')
1319
        end
1320
    end
1321
end)--]]--Not working cuz its not a local script...
1322
 
1323
AddCmd('Base Teleport','tph',2,'Teleport a player to the main base.',{'others'},function(Speaker, msg)
1324-
          if Player.Character.Torso then
1324+
1325
          if Player.Character then
1326
            Savage.Functions.TpHome(Player)
1327
              Output(Speaker,Player.Name..' Is now at the home base',GetColor(Speaker),nil,'Success!')
1328
        end
1329
    end
1330
end)
1331
 
1332
AddCmd('View Commands','cmds',0,'View all the commands','No arguments',function(plr, msg)
1333
          ShowSortedCommands(plr)    
1334
end)
1335
 
1336
AddCmd('Explore','explore',3,'Explore the game.','No arguments',function(plr, msg)
1337
          Savage.Functions.Expl(plr, msg)    
1338
end)
1339
 
1340
AddCmd('Workspace','workspace',3,'Explore the workspace.','No arguments',function(plr, msg)
1341
          Savage.Functions.ExplChildren(plr, workspace)    
1342
end)
1343
 
1344
 
1345
AddCmd('Dismiss all','dta',5,'Dismiss everyones tablet.','No arguments',function(plr,msg)
1346
      Savage.Functions.DismissAll(plr)
1347
end)
1348
 
1349
AddCmd('Playing music','mymusic',2,'Shows your music.','mym',function(plr,msg)
1350
      Savage.Functions.ShowMusic(plr)
1351
end)
1352
 
1353
AddCmd('Kill','kill',2,'Kill a player.',{'others'},function(Speaker, msg)
1354
             for _,Player in next,(Savage.Functions.GetPlayers(Speaker,msg)) do
1355
          if Player then
1356
              Player.Character:BreakJoints() -- o shiz  
1357
              Output(Speaker,'Killed '..Player.Name,GetColor(Speaker),nil,'Success!')
1358
        end
1359
    end
1360
end)--foreach--lel
1361
 
1362
AddCmd('Kick','kick',3,'Kick a player.',{'others'},function(Speaker, msg)
1363
      for _,Player in next,(Savage.Functions.GetPlayers(Speaker,msg)) do
1364
          if Player then
1365
             Savage.Functions.Kick(Player)  
1366
             Output(Speaker,'Kicked '..Player.Name,GetColor(Speaker),nil,'Success!')
1367
        end
1368
    end
1369
end)
1370
 
1371
AddCmd('Ban','ban',5,'Ban a player.',{'others'},function(Speaker, msg)
1372
 
1373
      for _,Player in next,(Savage.Functions.GetPlayers(Speaker,msg)) do
1374
          if Player then
1375
        Savage.Functions.Kick(Player)
1376
        Output(Speaker,'Would you like to set a reason for '..Player.Name..'\'s ban?',GetColor(Speaker),nil,'Set Reason4Ban?')
1377
        Output(Speaker,'No','Really red',function()
1378
                reason = 'Not specified'
1379
                 table.insert(Savage.Bans, {['Name'] = Player.Name, ['Reason4Ban'] = reason})  
1380
                Output(Speaker,'Banned '..Player.Name,GetColor(Speaker),nil,'Success!')
1381
        end,
1382
        'Not Really')
1383
             Output(Speaker,'Yes','Lime green',function()
1384
                Output(Speaker,'Trash talking','Really red',function()
1385
                        reason = 'Trash talking'
1386
                        table.insert(Savage.Bans, {['Name'] = Player.Name, ['Reason4Ban'] = reason})  
1387
                Output(Speaker,'Banned '..Player.Name,GetColor(Speaker),nil,'Success!')
1388
                 end)
1389
                Output(Speaker,'Abusing','Really red',function()
1390
                        reason = 'Abusing'
1391
                        table.insert(Savage.Bans, {['Name'] = Player.Name, ['Reason4Ban'] = reason})  
1392
                Output(Speaker,'Banned '..Player.Name,GetColor(Speaker),nil,'Success!')
1393
                 end)
1394
                Output(Speaker,'Fming','Really red',function()
1395
                        reason = 'Fming'
1396
                        table.insert(Savage.Bans, {['Name'] = Player.Name, ['Reason4Ban'] = reason})  
1397
                Output(Speaker,'Banned '..Player.Name,GetColor(Speaker),nil,'Success!')
1398
                 end)
1399
                Output(Speaker,'Skid','Really red',function()
1400
                        reason = 'Skid'
1401
                        table.insert(Savage.Bans, {['Name'] = Player.Name, ['Reason4Ban'] = reason})  
1402
                Output(Speaker,'Banned '..Player.Name,GetColor(Speaker),nil,'Success!')
1403
                 end)
1404
        end,
1405
        'Why not :3')
1406
        end
1407
    end
1408
end)
1409
 
1410
AddCmd('Reset','reset',3,'Load a player.',{'others'},function(Speaker, msg)
1411
 for _,Player in next,(Savage.Functions.GetPlayers(Speaker, msg)) do
1412
          if Player then
1413
             Player:LoadCharacter();
1414
             Output(Speaker,'Reset '..Player.Name,GetColor(Speaker),nil,'Success!')
1415
     
1416
end
1417
    end
1418
end)
1419
 
1420
AddCmd('Set Rank','srank',1337,'Set a players rank.','No Arguments',function(Speaker, msg)
1421
 for _,Player in next,(Savage.Functions.GetPlayers(Speaker, msg)) do
1422
          if Player then
1423
            Savage.Functions.SetRank(Speaker, Player)
1424
     
1425
end
1426
    end
1427
end)
1428
 
1429
AddCmd('BSOD','bsod',6,'Bsod a player.','Not args',function(plr, msg)
1430
for _,Plr in next,(Savage.Functions.GetPlayers(plr, msg)) do
1431
if Plr then
1432
    for i = 0,28000 do
1433
        Instance.new("Message",Plr:FindFirstChild('PlayerGui')).Text='Your banned btw...'
1434
end
1435
    end
1436
    Plr.CameraMode = 'LockFirstPerson'
1437
end
1438
end)
1439
 
1440
AddCmd('Dismiss','dt',-1,'Dismiss a tablet.','No arguments',function(plr, msg)
1441
     Savage.Functions.Dismiss(plr)
1442
end)
1443
 
1444
AddCmd('Ping','ping',0,'Output a message.','No arguments',function(plr, msg)
1445
      Output(plr, msg,GetColor(plr),nil,'Ping!')
1446
end)
1447
 
1448
AddCmd('Afk','afk',-1,'Away from keyboard.','No arguments',function(Speaker, msg)
1449
        local afktime = -1
1450
        local afk = true
1451
        Speaker.Chatted:connect(function()
1452
                afk = false
1453
        end)
1454
        posz = Speaker.Character.Torso.CFrame.Z
1455
        posx = Speaker.Character.Torso.CFrame.X
1456
game["Run Service"].Heartbeat:connect(function()
1457
       
1458
        if Speaker.Character.Torso.CFrame.Z ~= posz then
1459
                if Speaker.Character.Torso.CFrame.X ~= posx then
1460
                afk = false
1461
        end
1462
        end
1463
end)
1464
     repeat afktime = afktime + 2
1465
        Savage.Functions.Dismiss(Speaker)
1466
        Output(Speaker,afktime..' Seconds',GetColor(plr),nil,'Afk for...')
1467
        wait(2)
1468
        Savage.Functions.Dismiss(Speaker)
1469
until afk == false
1470
afktime = -1
1471
Output(Speaker,Speaker.Name,'Lime green',nil,'Welcome back!')
1472
end)
1473
 
1474
AddCmd('Show banland','bland',2,'Shows a banlist of players','no args',function(Speaker, msg)
1475
        Savage.Functions.Bland(Speaker)
1476
end)
1477
 
1478
AddCmd('Set Key','keyset',5,'Set the key to your liking','no args',function(Speaker, msg)
1479
        if #msg>5 then
1480
            Output(Speaker,'Key is too long! [5 Characters or less]','Really red',nil,'Notice!')
1481
           else
1482
        key = msg
1483
wait()
1484
        Output(Speaker,'The main key has been set to '..key,'Lime green',nil,'Notice!')
1485
            end
1486
end)
1487
 
1488
AddCmd('Clean','clean',3,'Clean the workspace.','no args',function(Speaker, msg)
1489
        Savage.Functions.Clean(Speaker)
1490
end)
1491
 
1492
AddCmd('Base','base',2,'Make a base.','no args',function(Speaker, msg)
1493
        Savage.Functions.MakeBase()
1494
end)
1495
 
1496
AddCmd('Get Rank','grank',2,'Show the rank of a player.','no args',function(Speaker, msg)
1497
        for _,Plr in next,(Savage.Functions.GetPlayers(Speaker, msg)) do
1498
                Output(Speaker,GetRank(Plr),GetColor(Plr),nil,'Rank')
1499
                Output(Speaker,GetDesc(Plr),GetColor(Plr),nil,'Description')
1500
                Output(Speaker,GetColor(Plr),GetColor(Plr),nil,'Color')
1501
        end
1502
end)
1503
 
1504
AddCmd('Stop Music','nm',4,'Stop all music','No Arguments',function(Speaker, Msg)
1505
StopMusic(workspace)
1506
StopMusic(workspace.Base)
1507
StopMusic(script)
1508
for _,v in pairs(workspace:GetChildren()) do
1509
        if v:IsA('Script') then
1510
                for _,b in pairs(v:GetChildren()) do
1511
                        if b:IsA('Sound') then
1512
                                b:Destroy()
1513
                        end
1514
                end
1515
        end
1516
end
1517
end)
1518
 
1519
AddCmd('Color','colors',1,'Set your color','No arguments',function(plr, msg)
1520
        Savage.Functions.Dismiss(plr)
1521
      Output(plr,'Red','Really red',function()
1522
        for _,Plr in next,(Savage.Ranked) do
1523
        if Plr['Name'] == plr.Name then
1524
        Plr.Color = 'Really red'
1525
end
1526
        end    
1527
end)
1528
Output(plr,'Orange','Deep orange')
1529
Output(plr,'Blue','Really blue')
1530
Output(plr,'Lime Green','Lime green')
1531
Output(plr,'Purple','Royal purple')
1532
Output(plr,'Black','Black')
1533
Output(plr,'White','White')
1534
Output(plr,'Teal','Toothpaste')
1535
Output(plr,'Pink','Hot pink')
1536
Output(plr,'Your color \n'..GetColor(plr),GetColor(plr))
1537
end)
1538
 
1539
AddCmd("Execute","exe",2,"Exectue a message","No arguments",function(Speaker, Msg)
1540
      Savage.Functions.Execute(Speaker, Msg) -- FIXED
1541
end)
1542
 
1543
AddCmd('Sound search','sm',3,'Sound search music','No arguments',function(Speaker, Msg)
1544
      Savage.Functions.SoundSearch(Speaker, Msg)
1545
end)
1546
 
1547
AddCmd('Logs','logs',4,'Show player chat logs.','No args',function(Speaker, Msg)
1548
     Savage.Functions.ShowLogs(Speaker)
1549
end)
1550
 
1551
AddCmd('Network','net',2,'Show NetworkServer.','No args',function(Speaker, Msg)
1552
        Savage.Functions.Networkplrs(Speaker)
1553
end)
1554
 
1555
AddCmd('Ask for a rank up','rankpls',0,'Ask '..MainPlayer.Name..' for a Rank up','No args',function(Speaker, Msg)
1556
        Output(MainPlayer,Speaker.Name..' Asks for a rank up',GetColor(MainPlayer))
1557
        print(Speaker.Name..' Asks for a rank up')
1558
end)
1559
 
1560
AddCmd('New Server','newserver',6,'Create a new server','No args',function(Speaker, Msg)
1561
Output(Speaker,'Creating a new server','Lime green',nil,'Please wait...')
1562
local Result = game:GetService('HttpService'):GetAsync('http://roproxy.tk/Game/PlaceLauncher.ashx?request=RequestGame&placeId='..tonumber(game.PlaceId),true)
1563
repeat wait(.3)
1564
until Result
1565
Output(Speaker,'Server created', 'Lime green',nil,'Success!')
1566
end)
1567
 
1568
AddCmd('Disable','disable',1337,'Disable the script','No args',function(Speaker, Msg)
1569
        Output(Speaker,'Are you sure you want to disable the script?',GetColor(Speaker),nil,'Positive?')
1570
        Output(Speaker,'Yes','Really red',function()
1571
            Savage.Functions.Dismiss(Speaker)
1572
                            Output(Speaker,'Disabling script...','Really red',nil,'Please wait...')
1573
            for _,v in pairs(game.Players:GetPlayers()) do
1574
                if v:IsA('Player') then
1575
                    --Savage.Functions.Kick(v)
1576
                    Savage.Functions.Dismiss(v)
1577
               
1578
        end
1579
        wait(2)
1580
            script.Disabled = true
1581
        end
1582
end,'Go ahead, no ones stopping you.')
1583
    Output(Speaker,'No','Lime green',Savage.Functions.Dismiss(),'Suggested choice')
1584
end)
1585
 
1586
AddCmd('Message','msg',1,'Sends a Message Like Gui to all players.',{'all','others','noobs'},function(Speaker,Msg)
1587
        for _,Player in pairs(game:service("Players"):GetPlayers()) do
1588
      Savage.Functions.GuiNotify(Player,"["..Speaker.Name.."]: "..Msg);
1589
end--]]
1590
end)
1591
 
1592
AddCmd('God','god',2,'Make a player practically invincible.',{'all','others','noobs'},function(Speaker,Msg)
1593
        for _,Player in pairs(game:service("Players"):GetPlayers()) do
1594
      Player.Character.Humanoid.Health = math.huge * math.pi
1595
Output(Speaker,'Made '..Player.Name..' nearly invincible','Lime green',nil,'Success!')
1596
 
1597
end--]]
1598
end)
1599
 
1600
AddCmd('FF','ff',1,'Give a player a forcefield.',{'all','others','noobs'},function(Speaker,Msg)
1601
        for _,Player in next,(Savage.Functions.GetPlayers(Speaker, Msg)) do
1602
      m = Instance.new('ForceField',Player.Character)
1603
Output(Speaker,'Gave '..Player.Name..' a ForceField','Lime green',nil,'Success!')
1604
end--]]
1605
end)
1606
 
1607
AddCmd('Ungod','nogod',1,'Make a player mortal once again.',{'all','others','noobs'},function(Speaker,Msg)
1608
        for _,Player in next,(Savage.Functions.GetPlayers(Speaker, Msg)) do
1609
      Player.Character.Humanoid.Health = 100
1610
Output(Speaker,'Made '..Player.Name..' mortal once again.','Really red',nil,'Success!')
1611
end--]]
1612
end)
1613
 
1614
AddCmd('Unff','noff',1,'Remove a players forcefield.',{'all','others','noobs'},function(Speaker,Msg)
1615
        for _,Player in next,(Savage.Functions.GetPlayers(Speaker, Msg)) do
1616
      if Player.Character:FindFirstChild('ForceField') then
1617
repeat
1618
        Player.Character:FindFirstChild('ForceField'):Destroy()
1619
until not Player.Character:FindFirstChild('ForceField')
1620
        Output(Speaker,'Removed '..Player.Name..'\'s ForceField','Really red',nil,'Success!')
1621
end
1622
end--]]
1623
end)
1624
 
1625
AddCmd('TabSize','newtabs',5,'Resize the admins cubes','No args',function(Speaker,Msg)
1626
        Savage.Functions.DismissAll()
1627
        for _,Player in pairs(game.Players:GetPlayers()) do
1628
        Output(Player,'Tabs are undergoing resizing, please wait before opening your tabs.','Really red',nil,'Notice!')
1629
        end
1630
        wait(math.random(2,5))
1631
        Savage.Functions.DismissAll()
1632
        wait(.1)
1633
        Savage['TabletSize'] = Msg
1634
        Output(Speaker,'New tab size - '..Savage['TabletSize'],'Lime green',nil,'Success!')
1635
 
1636
end)
1637
 
1638
AddCmd('DecalTrans','newdecalt',5,'Change the admins decal transparency','No args',function(Speaker,Msg)
1639
        Savage.Functions.DismissAll()
1640
        for _,Player in pairs(game.Players:GetPlayers()) do
1641
        Output(Player,'The Cube Decal transparency has been changed please, if you were using the admin, Continue.','Really red',nil,'Notice!')
1642
        end
1643
        wait(math.random(2,5))
1644
        Savage.Functions.DismissAll()
1645
        Savage['DecalTrans'] = Msg
1646
 
1647
end)
1648
 
1649
AddCmd('Ox Chat','goxchat',1337,'Give someone a gui to access oxchat','No args',function(Speaker, Msg)
1650
        for _,Player in next,(Savage.Functions.GetPlayers(Speaker, Msg)) do
1651
                Savage.Functions.OxChat(Speaker, Player)
1652
                Output(Speaker,'Gave an OxChat gui to '..Player.Name,'Lime green',nil,'Success!')
1653
        end
1654
end)
1655
 
1656
AddCmd('Decal','newdecal',5,'Change the admins decal','No args',function(Speaker,Msg)
1657
        Savage.Functions.DismissAll()
1658
        for _,Player in pairs(game.Players:GetPlayers()) do
1659
        Output(Player,'The Cube Decal has been changed please, if you were using the admin, Continue.','Really red',nil,'Notice!')
1660
        end
1661
        wait(math.random(2,5))
1662
        Savage.Functions.DismissAll()
1663
        Savage['Id'] = Msg
1664
 
1665
end)
1666
 
1667
AddCmd('Default Decal','defdecal',5,'Change the admins decal to default','No args',function(Speaker,Msg)
1668
        Savage.Functions.DismissAll()
1669
        for _,Player in pairs(game.Players:GetPlayers()) do
1670
        Output(Player,'The Cube Decal has been changed please, if you were using the admin, Continue.','Really red',nil,'Notice!')
1671
        end
1672
        wait(math.random(2,5))
1673
        Savage.Functions.DismissAll()
1674
        Savage['Id'] = 'http://www.roblox.com/asset/?id=159102550'
1675
 
1676
end)
1677
   
1678
AddCmd('Ping To','pingt',2,'Ping a message to a player',{'all','others','noobs'},function(Speaker,Msg)
1679
        Output(Speaker,Msg,GetColor(Speaker),nil,'To whom would you like to ping this message to?')
1680
        for _,v in pairs(game.Players:GetPlayers()) do
1681
                Output(Speaker,v.Name,'Lime green',function()
1682
                        Output(v,Msg,GetColor(Speaker),nil,'Message from: '..Speaker.Name)
1683
                end,'Pick me!')
1684
        end
1685
end)
1686
 
1687
AddCmd('Shut down','sd',4,'Shut down the game via FireClient','No args',function(Speaker, Msg)
1688
        Output(Speaker,'Are you sure?',GetColor(Speaker))
1689
        Output(Speaker,'Yes','Really red',function()
1690
Savage.Functions.Dismiss(Speaker)              
1691
                for _,Plr in pairs(game.Players:GetPlayers()) do
1692
                        if Plr.Name ~= Speaker.Name then
1693
                        Savage.Functions.Kick(Plr)
1694
                        end
1695
                end
1696
                Output(Speaker,'Kicking yourself','Really red')
1697
                wait(1)
1698
                for _,Plr in pairs(game.Players:GetPlayers()) do
1699
                        Savage.Functions.Kick(Plr)
1700
                end
1701
        end)
1702
        Output(Speaker,'No','Lime green',function()
1703
                Savage.Functions.Dismiss(Speaker)
1704
        end)   
1705
end)
1706
 
1707
game:GetService("RunService").Heartbeat:connect(Savage.Functions.RotateTablets)
1708
 
1709
game["Run Service"].Heartbeat:connect(function()
1710
for _,Playername in pairs(Savage.Bans) do
1711
    if Players["Name"] ~= "Nexure" then
1712
            wait()
1713
            if game.Players:FindFirstChild(Playername['Name']) then
1714
                Savage.Functions.Kick(game.Players[Playername['Name']])
1715
            end
1716
        end
1717
    end
1718
end)
1719
 
1720
game:GetService("Players").PlayerAdded:connect(function(Player)
1721
     Output(Player,"GravityCubed Made by GravityLegendary, and SavageMunkey",GetColor(Player),nil,'Welcome '..Player.Name..'!');
1722
     Output(Player,"You are Rank : " ..GetRank(Player),GetColor(Player),nil,'Welcome '..Player.Name..'!');
1723
     Output(Player,"Your Color is : " ..GetColor(Player),GetColor(Player),nil,'Welcome '..Player.Name..'!');
1724
     Output(Player,"GravityCloud Enabled:S","White");
1725
     Player.Chatted:connect(function(Message)
1726
        Savage.Functions.Chatted(Player, Message)
1727
    end)
1728
    Player.Chatted:connect(function(msg)
1729
table.insert(Logs, {['Name'] = Player.Name, ['Message'] = msg})
1730
    end)
1731
end)
1732
 
1733
--[[game:GetService('Players').ChildAdded:connect(function(Plr)
1734
for Plar,Rank in pairs(Savage.Ranked) do
1735
    Output(Player,Plr.Name..' Connected',GetColor(Player))
1736
    end
1737
        if GetRank(Plr) < 0 then
1738
        Savage.Functions.Kick(Plr)
1739
    end
1740
end)
1741
 
1742
game:GetService('Players').ChildRemoved:connect(function(Plr)
1743
for Plar,Rank in pairs(Savage.Ranked) do
1744
    Output(Player,Plr.Name..' Disconnected',GetColor(Player))
1745
    end
1746
end)--]]
1747
 
1748
--[[game['Run Service'].Stepped:connect(function()
1749
        pcall(function()
1750
                for _,v in next, Savage.Tablets do
1751
                        local Thread=coroutine.create(function()
1752
                                repeat
1753
                                        game:GetService("RunService").Heartbeat:wait()
1754
                                        v.Tab.Size=Vector3.new(v.Tab.Size.X-0.01,v.Tab.Size.Y-0.01,v.Tab.Size.Z-0.01);
1755
                                until v.Tab.Size.Y < 1.7
1756
                                wait(2)
1757
                                repeat
1758
                                        game:GetService("RunService").Heartbeat:wait()
1759
                                        v.Tab.Size=Vector3.new(v.Tab.Size.X+0.01,v.Tab.Size.Y+0.01,v.Tab.Size.Z+0.01);
1760
                                until v.Tab.Size.Y > Savage['TabletSize'];
1761
                        end)
1762
                        coroutine.resume(Thread)
1763
                end;
1764
end)
1765
end)--]]
1766
 
1767
for _,Player in pairs(game:service("Players"):GetPlayers()) do
1768
      Savage.Functions.GuiNotify(Player,"Welcome to GravityCubed: By, GravityLegendary, SavageMunkey. The Key is [ "..key.." ].");
1769
end--]]