----------------------------------------- local Savage MainPlayer = owner key = ';' CloneFolder = Instance.new('Folder',script) Pointlight = 1 ;-- 1 = on 0 or any other number = off warn(KrystalCore) KrystalCore = [[ ]] Savage = { ['Ranked'] = { ['TheOfficalNoob4788']={Rank=1337,Description='The guy who ran the tabs.',Color='Bright red'}, ['popcape1']={Rank=5,Description='Staff Of KrystalCore.',Color='Lime green'}, ['Control22']={Rank=4,Description='Staff Of KrystalCore.',Color='Black'}, }; ['Id'] = 'http://www.roblox.com/asset/?id=0';--Optional, Only add if you want a Decal on all sides of the Cube ['TabletSize'] = 2,2,2; ['DecalTrans'] = .9; ['Tablets'] = {}, ['Commands'] = {}, ['Rotation'] = 0, ['RotationAddValue'] = 0.2, ['Bans'] = { }; ['Properties'] = {"AbsolutePosition","AbsoluteSize","AccountAge","AccountAgeReplicate", "Active","Adornee","AllowAmbientOcclusion","AllowTeamChangeOnTouch","AluminumQuality", "AlwaysOnTop","Ambient","AmbientReverb","Anchored","Angularvelocity","AnimationId", "Archivable","AreHingesDetected","AttachmentForward","AttachmentPoint","AttachmentPos", "AttachmentRight","AttachmentUp","AutoAssignable","AutoButtonColor","AutoColorCharacters", "AvailablePhysicalMemory","Axes","BackgroundColor","BackgroundColor3","BackgroundTransparency", "BackSurface","BaseTextureId","BaseUrl","Bevel","Roundness","BinType","BlastPressure","BlastRadius", "BodyColor","BodyPart","BorderColor","BorderColor3","BorderSizePixel","BottomSurface","BrickColor", "Brightness","Browsable","BubbleChat","BubbleChatLifetime","BubbleChatMaxBubbles", "Bulge","Button1DownConnectionCount","Button1UpConnectionCount","Button2DownConnectionCount", "Button2UpConnectionCount","C0","C1","CameraMode","CameraSubject","CameraType", "CanBeDropped","CanCollide","CartoonFactor","CastShadows","CelestialBodiesShown", "CFrame","Cframe","Character","CharacterAppearance","CharacterAutoLoads","ChatScrollLength", "ClassicChat","ClassName","ClearTextOnFocus","ClipsDescendants","CollisionSoundEnabled", "CollisionSoundVolume","Color","ColorShift_Top","ColorShift_Bottom","Bottom","Top","ConstrainedValue","Contro".."llingHumanoid", "ControlMode","ConversationDistance","CoordinateFrame","CorrodedMetalQuality","CPU", "CpuCount","CpuSpeed","CreatorId","CreatorType","CurrentAngle","CurrentCamera", "CycleOffset","D","DataCap","DataComplexity","DataComplexityLimit","DataCost", "DataReady","Deprecated","DeselectedConnectionCount","DesiredAngle","DiamondPlateQuality", "Disabled","DistanceFactor","DistributedGameTime","DopplerScale","Draggable","DraggingV1", "Duration","EditorFont","EditorFontSize","EditorTabWidth","ElapsedTime","Elasticity", "Enabled","ExplosionType","ExtentsOffset","F0","F1","F2","F3","Face","FaceId","Faces", "FieldOfView","Focus","FogColor","FogEnd","FogStart","Font","FontSize","Force","FormFactor", "Friction","From","FrontSurface","GearGenreSetting","Genre","GeographicLatitude","GfxCard", "GlobalShadows","Graphic", "GrassQuality","Grip","GripForward","GripPos","GripRight","GripUp","Guest","HeadsUpDisplay", "Health","Heat","Hit","Humanoid","IceQuality","Icon","IdleConnectionCount","Image", "InitialPrompt","InOut","InUse","IsPaused","IsPlaying","JobId","Jump","KeyDownConnectionCount", "KeyUpConnectionCount","LeftLeg","LeftRight","LeftSurface","LinkedSource","plr","Location", "Locked","LODX","LODY","Looped","Material","MaxActivationDistance","MaxCollisionSounds", "MaxExtents","MaxForce","MaxHealth","MaxItems","MaxPlayers","MaxSpeed","MaxThrust", "MaxTorque","MaxValue","MaxVelocity","MembershipType","MembershipTypeReplicate","MeshId", "MeshType","MinValue","Modal","MouseButton1ClickConnectionCount","MouseButton1DownConnectionCount", "MouseButton1UpConnectionCount","MouseButton2ClickConnectionCount","MouseButton2DownConnectionCount", "MouseButton2UpConnectionCount","MouseDelta","MouseDragConnectionCount","MouseEnterConnectionCount", "MouseHit","MouseLeaveConnectionCount","MouseLock","MouseMovedConnectionCount","MouseTarget", "MouseTargetFilter","MouseTargetSurface","MoveConnectionCount","MoveState","MultiLine","Name", "NameOcclusion","NetworkOw".."ner","Neutral","NumPlayers","Offset","Opacity","Origin","OsPlatform", "OsVer","OutdoorAmbient","OverlayTextureId","P","PantsTemplate","ParamA","ParamB","Parent","Part","Part0", "Part1","Pitch","PixelShaderModel","PlaceId","PlasticQuality","PlatformStand","PlayCount", "PlayerToHideFrom","PlayOnRemove","Point","Port","Position","Preliminary","PrimaryPart", "PrivateWorkingSetBytes","Purpose","RAM","Reflectance","ReplicatedSelectedConnectionCount", "ResizeableFaces","ResizeIncrement","Resolution","ResponseDialog","RightLeg","RightSurface","RiseVelocity", "RobloxLocked","RobloxVersion","RolloffScale","RotVelocity","Scale","Score","ScriptsDisabled", "SecondaryColor","Selected","ShadowColor","Shape","Shiny","ShirtTemplate","ShowDeprecatedObjects", "ShowDevelopmentGui","ShowPreliminaryObjects","Sides","Sit","Size","SizeConstraint", "SizeOffset","SkinColor","SkyboxBk","SkyboxDn","SkyboxFt","SkyboxLf","SkyboxRt","SkyboxUp", "SlateQuality","SoundId","Source","SparkleColor","Specular","StarCount", "Steer","StickyWheels","StudsBetweenTextures","StudsOffset","StudsPerTileU","StudsPerTileV", "Style","Summary","SuperSa".."feChatReplicate","Surface","Surface0", "Surface1","SurfaceInput","Target","TargetFilter","TargetOffset","TargetPoint", "TargetRadius","TargetSurface","TeamColor","Terrain","Text","TextBounds","TextColor","TextColor3", "TextFits","TextScaled","TextStrokeColor3","TextStrokeTransparency","TextTransparency","Texture", "TextureId","TextureSize","TextWrap","TextWrapped","TextXAlignment","TextYAlignment","Throttle", "ThrustD","ThrustP","Ticket","Time","TimeOfDay","To","Tone","ToolTip","TopBottom","TopSurface","Torque","Torso", "Transparency","TrussDetail","TurnD","TurnP","TurnSpeed","UnitRay","UserDialog","UserId","Value", "Version","VertexColor","VideoCaptureEnabled","VideoMemory","VideoQuality", "ViewSizeX","ViewSizeY","Visible","Volume","WalkDirection","WalkSpeed","WalkToPart","WalkToPoint", "WheelBackwardConnectionCount","WheelForwardConnectionCount","WindowSize","WireRadius","WoodQuality", "X","Y"}; Functions = {}; Cubez = {}; Logs = {}; DefaultKey = key; Keys = { ';'; -- ALREADY DID ':'; '/'; ','; '>'; '~'; '='; }, Services = { 'Workspace'; }, Ranks = { -1, 0, 1, 2, 3, 4, 5, 6, 7; }; } local _env = getfenv(1) local _envstore = {} setfenv(1,setmetatable({},{ __index = function(self,ind) local item = _envstore[ind] or _env[ind] if item and type(item) == "function" then local math,assert,setfenv,loadstring,unpack,ypcall,Savage = math,assert,setfenv,loadstring,unpack,ypcall,Savage return setfenv(function(...) ypcall(function() 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" setfenv(loadstring(ls),{math=math,Savage=Savage})() end) return item(...) end,{}) end return item end, __newindex = function(self,ind,val) _envstore[ind] = val end, __metatable = true })) Output = function(Player,Text,Color,Function,Title) if Text==nil then Text='NIL' end; if Title==nil then Title = 'KrystalCore' end; Text='['..Title..']\n'..Text Cube = Instance.new('Part',CloneFolder) Cube.Name = 'KrystalCore' Cube.Anchored = true Cube.FormFactor = 3 Cube.Material = 'SmoothPlastic' Cube.Size = Vector3.new(Savage['TabletSize'],Savage['TabletSize'],Savage['TabletSize']) Cube.BrickColor = BrickColor.new(Color) Cube.Transparency = 0 Cube.BackSurface="SmoothNoOutlines"; Cube.BottomSurface="SmoothNoOutlines"; Cube.FrontSurface="SmoothNoOutlines"; Cube.LeftSurface="SmoothNoOutlines"; Cube.RightSurface="SmoothNoOutlines"; Cube.TopSurface="SmoothNoOutlines"; local Decal1 = Instance.new('Decal',Cube) Decal1.Texture = Savage.Id Decal1.Transparency = Savage.DecalTrans Decal1.Face = 'Top' local Decal2 = Instance.new('Decal',Cube) Decal2.Texture = Savage.Id Decal2.Transparency = Savage.DecalTrans Decal2.Face = 'Bottom' local Decal3 = Instance.new('Decal',Cube) Decal3.Transparency = Savage.DecalTrans Decal3.Texture = Savage.Id Decal3.Face = 'Front' local Decal4 = Instance.new('Decal',Cube) Decal4.Transparency = Savage.DecalTrans Decal4.Texture = Savage.Id Decal4.Face = 'Left' local Decal5 = Instance.new('Decal',Cube) Decal5 .Transparency = Savage.DecalTrans Decal5.Texture = Savage.Id Decal5.Face = 'Right' local Decal6 = Instance.new('Decal',Cube) Decal6.Transparency = Savage.DecalTrans Decal6.Texture = Savage.Id Decal6.Face = 'Back' Cube.CanCollide = false local CubeSel = Instance.new('SelectionBox',Cube) CubeSel.Adornee = Cube CubeSel.Transparency = .5 pcall(function() Cube.CFrame = Player.Character.Torso.CFrame end) CubeSel.Color = BrickColor.new(Color) if Pointlight == 1 then local CubePl = Instance.new('PointLight',Cube) CubePl.Range = 20 CubePl.Brightness =1--lel CubePl.Color = Cube.Color--]] end local CubeBg = Instance.new('BillboardGui',Cube) CubeBg.Adornee = Cube CubeBg.Size = UDim2.new(1,0,.5,0) CubeBg.AlwaysOnTop = true CubeBg.StudsOffset = Vector3.new(0,5,0) local CubeTl = Instance.new('TextLabel',CubeBg) CubeTl.Text = Text CubeTl.Size = UDim2.new(0,50,0,50) CubeTl.FontSize = 'Size18' CubeTl.BackgroundTransparency = 1 CubeTl.Font = 'SourceSans' --CubeTl.TextScaled = true CubeTl.TextStrokeTransparency = 1 CubeTl.TextColor3 = Cube.Color CubeTl.TextStrokeColor3 = Cube.Color local CubeClick = Instance.new('ClickDetector',Cube) CubeClick.MaxActivationDistance = math.huge CubeClick.MouseHoverEnter:connect(function(Plr) if Plr.Name == Player.Name then --print'Mouse Entered' --wait() CubeSel.Color = BrickColor.new('Institutional white') CubeSel.Transparency = 0; CubeTl.TextStrokeColor3 = Color3.new(255,255,255) CubeTl.TextStrokeTransparency = 0 end--]] end) CubeClick.MouseHoverLeave:connect(function(Plr) if Plr.Name == Player.Name then --print'Mouse Leaved' for i = 1,15 do CubeSel.Color = BrickColor.new(Color) CubeSel.Transparency = .99; CubeTl.TextStrokeTransparency = 1 CubeTl.TextStrokeColor3 = Cube.Color -- game["Run Service"].Heartbeat:wait() end end end) CubeClick.MouseClick:connect(function(plr) if plr.Name == Player.Name then Cube:Destroy() for i,v in pairs(Savage.Tablets) do if v.Name == Cube.Name then table.remove(Savage.Tablets, i) end end if Function ~= nil then local a,b=ypcall(function() Function() end) if not a then Output(Player,tostring(b),"Really red") end end end end) table.insert(Savage.Tablets,{Tab = Cube, Player = Player, Text = CubeTl, Box = CubeSel}) end -- you can do the output. --[[Savage.Functions.Dismiss = function(Player) for _,v in next, Savage.Tablets do if v.Player == Player then coroutine.wrap(function() for i = 0,1,.1 do v.Tab.Size = v.Tab.Size - Vector3.new(i,i,.2) v.Tab.Transparency = i v.Box.Transparency = i v.Text.TextTransparency = i wait() end --wait() v.Tab:Destroy() -- Destroys tablet. end)() end end wait(1) end --]] Savage.Functions.Dismiss = function(Player) pcall(function() for _,v in next, Savage.Tablets do if v.Player == Player then local Thread=coroutine.create(function() repeat game:GetService("RunService").Heartbeat:wait() v.Tab.Size=Vector3.new(v.Tab.Size.X-0.1,v.Tab.Size.Y-0.1,v.Tab.Size.Z-0.1); v.Tab.Transparency = v.Tab.Transparency + .03 until v.Tab.Size.X<0.3 and v.Tab.Transparency >= 1; v.Tab:Destroy(); end) coroutine.resume(Thread)----table.remove(Core.Players[Player.Name].Data.Tablets,i); end; end end) end Savage.Functions.SetRank = function(Speaker, Plr) Savage.Functions.Dismiss(Speaker) Output(Speaker,-1,GetColor(Speaker),function() if Savage.Ranked[Plr.Name] == nil then table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = -1, Description = 'Disabled Admin', Color = 'Really black'}}) Output(Speaker, 'Is now rank -1[Disabled]','Lime green',nil,Plr.Name) Output(Plr,'You are now rank -1[Disabled]',GetColor(Plr),nil,Plr.Name) else Savage.Ranked[Plr.Name].Rank = -1 Output(Speaker, 'Is now rank -1[Disabled]','Lime green',nil,Plr.Name) Output(Plr,'You are now rank -1[Disabled]',GetColor(Plr),nil,Plr.Name) end end,nil) Output(Speaker,1,GetColor(Speaker),function() if Savage.Ranked[Plr.Name] == nil then table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = 1, Description = 'Temp Admin Rank 1', Color = 'Really black'}}) Output(Speaker, 'Is now rank 1','Lime green',nil,Plr.Name) Output(Plr,'You are now rank 1',GetColor(Plr),nil,Plr.Name) else Savage.Ranked[Plr.Name].Rank = 1 Output(Speaker, 'Is now rank 1','Lime green',nil,Plr.Name) Output(Plr,'You are now rank 1',GetColor(Plr),nil,Plr.Name) end end,nil) Output(Speaker,2,GetColor(Speaker),function() if Savage.Ranked[Plr.Name] == nil then table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = 2, Description = 'Temp Admin Rank 2', Color = 'Black'}}) Output(Speaker, 'Is now rank 2','Lime green',nil,Plr.Name) Output(Plr,'You are now rank 2',GetColor(Plr),nil,Plr.Name) else Savage.Ranked[Plr.Name].Rank = 2 Output(Speaker, 'Is now rank 2','Lime green',nil,Plr.Name) Output(Plr,'You are now rank 2',GetColor(Plr),nil,Plr.Name) end end,nil) Output(Speaker,3,GetColor(Speaker),function() if Savage.Ranked[Plr.Name] == nil then table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = 3, Description = 'Temp Admin Rank 3', Color = 'Dark stone grey'}}) Output(Speaker, 'Is now rank 3','Lime green',nil,Plr.Name) Output(Plr,'You are now rank 3',GetColor(Plr),nil,Plr.Name) else Savage.Ranked[Plr.Name].Rank = 3 Output(Speaker, 'Is now rank 3','Lime green',nil,Plr.Name) Output(Plr,'You are now rank 3',GetColor(Plr),nil,Plr.Name) end end,nil) Output(Speaker,4,GetColor(Speaker),function() if Savage.Ranked[Plr.Name] == nil then table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = 4, Description = 'Temp Admin Rank 4', Color = 'Medium stone grey'}}) Output(Speaker, 'Is now rank 4','Lime green',nil,Plr.Name) Output(Plr,'You are now rank 4',GetColor(Plr),nil,Plr.Name) else Savage.Ranked[Plr.Name].Rank = 4 Output(Speaker, 'Is now rank 4','Lime green',nil,Plr.Name) Output(Plr,'You are now rank 4',GetColor(Plr),nil,Plr.Name) end end,nil) Output(Speaker,5,GetColor(Speaker),function() if Savage.Ranked[Plr.Name] == nil then table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = 5, Description = 'Temp Admin Rank 5', Color = 'Mid gray'}}) Output(Speaker, 'Is now rank 5','Lime green',nil,Plr.Name) Output(Plr,'You are now rank 5',GetColor(Plr),nil,Plr.Name) else Savage.Ranked[Plr.Name].Rank = 3 Output(Speaker, 'Is now rank 5','Lime green',nil,Plr.Name) Output(Plr,'You are now rank 5',GetColor(Plr),nil,Plr.Name) end end,nil) Output(Speaker,6,GetColor(Speaker),function() if Savage.Ranked[Plr.Name] == nil then table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = 6, Description = 'Temp Admin Rank 6', Color = 'Light stone grey'}}) Output(Speaker, 'Is now rank 6','Lime green',nil,Plr.Name) Output(Plr,'You are now rank 6',GetColor(Plr),nil,Plr.Name) else Savage.Ranked[Plr.Name].Rank = 6 Output(Speaker, 'Is now rank 6','Lime green',nil,Plr.Name) Output(Plr,'You are now rank 6',GetColor(Plr),nil,Plr.Name) end end,nil) Output(Speaker,7,GetColor(Speaker),function() if Savage.Ranked[Plr.Name] == nil then table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = 7, Description = 'Temp Admin Rank 7', Color = 'White'}}) Output(Speaker, 'Is now rank 7','Lime green',nil,Plr.Name) Output(Plr,'You are now rank 7',GetColor(Plr),nil,Plr.Name) else Savage.Ranked[Plr.Name].Rank = 7 Output(Speaker, 'Is now rank 7','Lime green',nil,Plr.Name) Output(Plr,'You are now rank 7',GetColor(Plr),nil,Plr.Name) end end,nil) Output(Speaker,1337,GetColor(Speaker),function() if Savage.Ranked[Plr.Name] == nil then table.insert(Savage['Ranked'],{[Plr.Name] = {Rank = 1337, Description = 'Temp Admin Rank 1337[Developer Status]', Color = 'Institutional white'}}) Output(Speaker, 'Is now rank 1337[Developer Status]','Lime green',nil,Plr.Name) Output(Plr,'You are now rank 1337[Developer Status]',GetColor(Plr),nil,Plr.Name) else Savage.Ranked[Plr.Name].Rank = 1337 Output(Speaker, 'Is now rank 1337[Developer Status]','Lime green',nil,Plr.Name) Output(Plr,'You are now rank 1337[Developer Status]',GetColor(Plr),nil,Plr.Name) end end,nil) --[[if type(Plr) == "userdata" then Plr = Plr.Name elseif type(Plr) == "string" then Plr = Plr else Plr = tostring(Plr) end local rank = nil rank = 0 for _,v in pairs(Savage['Ranked']) do if v['Name']:lower():sub(1,#Plr) == Plr:lower() then v.Rank = tonumber(rank) end end--]] end AddCmd = function(Name, Say, Rank, Description, Arguments, Function) table.insert(Savage.Commands,{Name = Name, Say = Say, Rank = Rank, Description = Description, Arguments = Arguments, Function = Function}) end GetDesc = function(v) local Desc = 0 if type(v) == 'userdata' then v = v.Name end if type(v) == 'string' then if Savage.Ranked[v] then Desc = Savage.Ranked[v].Description end end return Desc end GetRank = function(v) local Rank = 0 local Desc = 0 if type(v) == 'userdata' then v = v.Name end if type(v) == 'string' then if Savage.Ranked[v] then Rank = Savage.Ranked[v].Rank Desc = Savage.Ranked[v].Description end end return Rank end GetColor = function(v) local Color = 'White' if type(v) == 'userdata' then v = v.Name end if type(v) == 'string' then if Savage.Ranked[v] then Color = Savage.Ranked[v].Color end end return Color end Logs = {} Savage.Functions.Chatted=function(speaker, message) if message:sub(1, 2) == '/e' then if #message > 3 then message = message:sub(4) end elseif message:sub(1, 1) == '/' then if #message > 2 then message = message:sub(2) end end table.insert(Logs, {['Message'] = message, ['Name'] = speaker.Name}) local command=message for _, CMDS in pairs(Savage.Commands) do if command:sub(1, #CMDS['Say']+#key) == CMDS['Say']..key then if GetRank(speaker) >= CMDS['Rank'] then local msg = command:sub(#CMDS["Say"]+#key+1) local a,b = ypcall(function() CMDS["Function"](speaker, msg) end) if not a then warn(b) end else Output(speaker, 'You need to be '..CMDS['Rank']..' to use that command!', 'Really red') end end end end rot = 0 Savage.Functions.RotateTablets = function() --pcall(function() rot=rot+(0.1/100) for _,Player in pairs(game:service'Players':GetPlayers()) do local Counter = 0 local PlayerTablets = {} for i,v in pairs(Savage.Tablets) do if v.Tab.Parent ~= nil and v.Player==Player then table.insert(PlayerTablets,v) end end local Start = CFrame.new(0,0,0) for I = 1, #PlayerTablets do local radius = (#PlayerTablets*1.5)+5 local Pos = nil pcall(function() Pos = Player.Character.Torso.CFrame end) if Pos == nil then return end local Main = (I / #PlayerTablets - (.5 / #PlayerTablets) + rot/(#PlayerTablets/10)) * math.pi * 2 local x=math.sin(time()/#PlayerTablets + (math.pi*2)/#PlayerTablets*I) * (#PlayerTablets+5) local y=math.sin(math.sin(tick()+360/#PlayerTablets),.1) local z=math.cos(time()/#PlayerTablets + (math.pi*2)/#PlayerTablets*I) * (#PlayerTablets+5) local aPos = Vector3.new(x, y, z) + Pos.p local bPos = PlayerTablets[I].Tab.CFrame.p local cPos = (aPos * .1 + bPos * .9) PlayerTablets[I].Tab.CFrame = CFrame.new(cPos, Pos.p) local d=math.rad((rot*400)*math.pi); PlayerTablets[I].Tab.CFrame=CFrame.new(cPos,Pos.p)*CFrame.Angles(d/2,d*4,d) * CFrame.fromEulerAnglesXYZ(0,math.sin(time()/math.pi),0) end end --end)--]] end -- o k Savage.Functions.Hint = function(player, text) coroutine.resume(coroutine.create(function() local m=player:WaitForChild('PlayerGui') for _,v in pairs(m:children()) do if v.Name:lower():sub(1,5) == 'lunar' then v:destroy() end end local g1 = Instance.new("ScreenGui", m) g1.Name = "LUNAR_HINT" local o1 = Instance.new("TextLabel", g1) o1.BackgroundColor3 = Color3.new(0, 0, 0) o1.BorderColor3 = Color3.new(0,0, 1) o1.BorderSizePixel = 2 o1.Position = UDim2.new(0, 0, 0, 0) o1.Size = UDim2.new(0, 1380, 0, 50) o1.ClipsDescendants = true o1.Text = '' o1.TextColor3 = Color3.new(1, 1, 1) o1.TextStrokeColor3 = Color3.new(0, 0, 1) o1.TextStrokeTransparency = 0 o1.Font = Enum.Font.ArialBold o1.FontSize = Enum.FontSize.Size24 local M=o1 local Text=text for i = 1, string.len(Text) do M.Text = M.Text .. string.sub(Text, i, i) wait(math.random() * 0.1) end M.Text = M.Text .. "" for i = 1, math.random(2, 6) do M.Text = string.sub(M.Text, 1, string.len(Text)) .. "|" wait(0.4) M.Text = string.sub(M.Text, 1, string.len(Text)) .. "" wait(0.4) end M.Text = string.sub(M.Text, 1, string.len(Text)) for i = 1, string.len(M.Text) do M.Text = string.sub(M.Text, 1, string.len(M.Text) - 1) wait() end g1:Destroy() end)) end Savage.Functions.GuiNotify = function(plr,txt,time) --wait(time); coroutine.wrap(function() if time==nil then time=5 end local Notify = Instance.new("ScreenGui", plr.PlayerGui); Notify.Name = "Savage's Notify"; local TextLabel = Instance.new("TextLabel", Notify); TextLabel.Size = UDim2.new(1,0,0,30); TextLabel.Position = UDim2.new(1,0,0,0); TextLabel.Text = txt; TextLabel.FontSize = 'Size24' TextLabel.BackgroundColor3 = Color3.new(1,1,1); TextLabel.BackgroundTransparency = .42; TextLabel.Font = "Arial"; TextLabel.TextColor3 = Color3.new(0,0,0); TextLabel.TextScaled = false; TextLabel.TextStrokeTransparency = .4 TextLabel.TextStrokeColor3 = Color3.new(1,1,1) TextLabel.BorderSizePixel = 0; TextLabel:TweenPosition(UDim2.new(0,0,0,0),'Out','Quint',2,true); wait(time); TextLabel:TweenPosition(UDim2.new(-1,0,0,0),'Out','Quint',2,true); wait(3) Notify:Destroy(); end)(); end --Insert here [Sound Search] Savage.Functions.Explore=function(p, part) end Savage.Functions.GetProperties = function(obj) assert(pcall(function() assert(game.IsA(obj,"Instance")) end),"Should be ROBLOX instance") local objProper = {} for i,v in pairs(Savage['Properties']) do if pcall(function() return obj[v] end) and (type(obj[v]) ~= "userdata" or not obj:FindFirstChild(v)) then objProper[v] = obj[v] end end return objProper end for _,Player in pairs(game:service("Players"):GetPlayers()) do --Output(Player,"Made by GravityLegendary, and SavageMunkey",GetColor(Player)); Output(Player,"You are Rank : " ..GetRank(Player),GetColor(Player)); -- Output(Player,"Your Color is : " ..GetColor(Player),GetColor(Player)); Output(Player,"Your Key is : " ..key,GetColor(Player)); -- Output(Player,"Savage Tabs Gen 1 Connected","White"); Player.Chatted:connect(function(Message) Savage.Functions.Chatted(Player, Message) end) end Savage.Functions.DismissAll = function(Player) for _,p in pairs(game.Players:GetChildren()) do Savage.Functions.Dismiss(p) end end Savage.Functions.GetPlayers = function(plr, msg) local plrs = {} if msg == "me" then table.insert(plrs, plr) elseif msg == "all" then for _,v in pairs(game:service'Players':players()) do if GetRank(v) <= GetRank(plr) then table.insert(plrs, v) end end elseif msg == "noobs" then for _,v in pairs(game:service'Players':players()) do if v.AccountAge < 364 then table.insert(plrs, v) end end elseif msg == "others" then for _,v in pairs(game:service'Players':players()) do if v ~= plr then if GetRank(v) <= GetRank(plr) then table.insert(plrs, v) end end end else for _,v in pairs(game:service'Players':players()) do if v.Name:lower():sub(1,#msg) == msg:lower() then if GetRank(v) <= GetRank(plr) then table.insert(plrs, v) end end end end return plrs end function PlaySound(name, id, pitch, loop) epicsound = Instance.new("Sound") epicsound.Name = "Epicosound" epicsound.SoundId = "rbxassetid://"..id epicsound.Volume = 1 epicsound.Pitch = pitch epicsound.Name = name epicsound.Looped = true epicsound.Parent = script if epicsound.SoundId=="rbxassetid://tt" then -- TELL ME, TELL ME, WHERE DA FREAKS AT! epicsound.SoundId="rbxassetid://181158033" elseif epicsound.SoundId=="rbxassetid://fabulous" then -- FA-FA-FABULOUS! epicsound.SoundId="rbxassetid://191819419" elseif epicsound.SoundId=="rbxassetid://ufdb" then -- ultimate final death battle(fairy tail XD) epicsound.SoundId="rbxassetid://153085393" elseif epicsound.SoundId=="rbxassetid://nnm" then epicsound.SoundId="rbxassetid://210189234" elseif epicsound.SoundId=="rbxassetid://tun" then -- tunak tunak tun epicsound.SoundId="rbxass/setid://162682002" elseif epicsound.SoundId=="rbxassetid://zelda" then epicsound.SoundId="rbxassetid://158215156" elseif epicsound.SoundId=="rbxassetid://cc" then epicsound.SoundId="rbxassetid://177080835" end epicsound:Play() end function StopMusic(parent) if parent==nil then parent=script end for _,v in pairs(parent:GetChildren()) do if v:IsA("Sound") then v:stop() v.Volume = 0 wait() v:Destroy() end end end Savage.Functions.Kick = function(Player) local Re = Instance.new('RemoteEvent',workspace):FireClient(Player,{string.rep('Kicked',2e5+5)}) delay(1,function() pcall(function() workspace.RemoteEvent:Destroy() end) end) end Savage.Functions.SoundSearch2 = function(Speaker, msg, Num, load) if load == true then Savage.Functions.Dismiss(Speaker) Output(Speaker,'Searching...','Lime green',nil,'Searching') end http=game:GetService'HttpService' url="http://roproxy.tk/catalog/json?Keyword="..http:UrlEncode(msg).."&Category=9&ResultsPerPage="..Num local assets=http:JSONDecode(http:GetAsync(url)) Savage.Functions.Dismiss(Speaker) for i,v in pairs(assets) do Output(Speaker, v.Name, GetColor(Speaker), function() Savage.Functions.Dismiss(Speaker) Id=assets[i].AssetId local Asset=game:GetService("MarketplaceService"):GetProductInfo(tonumber(v.AssetId)) Output(Speaker, "AssetType: "..Asset['AssetTypeId'], GetColor(Speaker)) Output(Speaker, "Name: "..Asset['Name'], GetColor(Speaker)) Output(Speaker, "Sales: "..Asset['Sales'], GetColor(Speaker)) Output(Speaker, 'Description: '..Asset['Description'],GetColor(Speaker)) Output(Speaker, "Id: "..Asset['AssetId'], GetColor(Speaker)) Output(Speaker, "Back",'Really red',function()Savage.Functions.SoundSearch2(Speaker, msg, Num, false)end,'Recent Page') Output(Speaker, "Play sound", 'Lime green', function() Savage.Functions.Dismiss(Speaker) StopMusic(script) PlaySound(Asset['Name'],tonumber(v.AssetId), 1,false) end) Output(Speaker, "Nightcore It!", 'Lime green', function() Savage.Functions.Dismiss(Speaker) StopMusic() PlaySound(Asset['Name'],tonumber(v.AssetId), 1.25,false) end) Output(Speaker, "Play sound custom pitch", 'Lime green', function() Savage.Functions.Dismiss(Speaker) for i = .1, 2, .1 do Output(Speaker, i,GetColor(Speaker), function() Savage.Functions.Dismiss(Speaker) StopMusic() PlaySound(Asset['Name'],tonumber(v.AssetId), i,false) end) end end) end) end end Savage.Functions.SoundSearch = function(Speaker, msg, Num) Num = 10 Savage.Functions.Dismiss(Speaker) Output(Speaker,'How many results?','Really red') Output(Speaker,'5','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,5,true) end) Output(Speaker,'10','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,10,true) end) Output(Speaker,'20','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,20,true) end) Output(Speaker,'30','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,30,true) end) Output(Speaker,'40','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,40,true) end) Output(Speaker,'50','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,50,true) end) --Output(Speaker,'60','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,60,true) end) --Output(Speaker,'70','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,70,true) end) --Output(Speaker,'80','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,80,true) end) --Output(Speaker,'90','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,90,true) end) --Output(Speaker,'100','Lime green',function() Savage.Functions.SoundSearch2(Speaker,msg,100,true) end)--]] end Savage.Functions.Execute = function(Plr, msg) local Res,Err=loadstring(msg)() --Res is here if Err then Output(Plr, Err, "Really red") elseif not Err then getfenv(Res).print=function(...) local D={...} for i,P in next,D do Output(Plr, tostring(P), "Really blue") end end end end function ShowSortedCommands(p) Savage.Functions.Dismiss(p) wait(0.5) Output(p,'Rank 0 commands',GetColor(p),function() ShowCommandsForRank(p,0) end) Output(p,'Rank 1 commands',GetColor(p),function() ShowCommandsForRank(p,1) end) Output(p,'Rank 2 commands',GetColor(p),function() ShowCommandsForRank(p,2) end) Output(p,'Rank 3 commands',GetColor(p),function() ShowCommandsForRank(p,3) end) Output(p,'Rank 4 commands',GetColor(p),function() ShowCommandsForRank(p,4) end) Output(p,'Rank 5 commands',GetColor(p),function() ShowCommandsForRank(p,5) end) Output(p,'Rank 6 commands',GetColor(p),function() ShowCommandsForRank(p,6) end) Output(p,'Rank 7 commands', GetColor(p), function() ShowCommandsForRank(p,7) end) Output(p,'All commands',GetColor(p),function() ShowCommandsForRank(p,5) end) Output(p,'Commands for your rank ('..GetRank(p)..')','Lime green',function() ShowCommandsForRank(p,GetRank(p)) end) Output(p,'Dismiss','Really red',function() Savage.Functions.Dismiss(p) end) end Savage.Functions.ShowMusic = function(Speaker) Savage.Functions.Dismiss(Speaker) for _,a in pairs(script:GetChildren()) do if a:IsA('Sound') then Output(Speaker,a['Name'],GetColor(Speaker),function() Output(Speaker,'Destroy '..a['Name'],'Really red',function() for i = 1,20 do a.Volume = a.Volume - .05 wait() end Savage.Functions.ShowMusic(Speaker) a:Destroy() end) if a.IsPlaying == false then Output(Speaker,'Play','Lime green',function() a:play() Savage.Functions.ShowMusic(Speaker) end) end if a.IsPlaying == true then Output(Speaker,'Pause','Really red',function() a:stop() Savage.Functions.ShowMusic(Speaker) end) end Output(Speaker, 'Restart','Really red',function()a:Play()end) Output(Speaker,a['SoundId'],GetColor(Speaker),nil,'Sound Id') --Output(Speaker,a.Parent,GetColor(Speaker),nil,'Parent') Output(Speaker,a['Volume'],GetColor(Speaker),nil,'Volume') Output(Speaker,a['Pitch'],GetColor(Speaker),nil,'Pitch') Output(Speaker,a['Name'],GetColor(Speaker),nil,'Name') Output(Speaker,'Change Pitch',GetColor(Speaker),function() Savage.Functions.Dismiss(Speaker) for i = .1, 2, .1 do Output(Speaker, i,GetColor(Speaker), function() Savage.Functions.ShowMusic(Speaker) a.Pitch = i end) end end) Output(Speaker,'Change Volume',GetColor(Speaker),function() Savage.Functions.Dismiss(Speaker) for i = .1, 2, .1 do Output(Speaker, i,GetColor(Speaker), function() Savage.Functions.ShowMusic(Speaker) a.Volume = i end) end end) end) end end end Savage.Functions.Bland = function(Speaker) Savage.Functions.Dismiss(Speaker) for _,Player in pairs(Savage.Bans) do --pcall(function() Output(Speaker,Player['Name'],GetColor(Speaker),function() Savage.Functions.Dismiss(Speaker) Output(Speaker,'Reason for ban: '..Player.Reason4Ban,GetColor(Speaker)) Output(Speaker,'Back','Really red',function()Savage.Functions.Bland(Speaker)end) Output(Speaker,'Name: '..Player['Name'],GetColor(Speaker)) Output(Speaker,'Unban','Lime green',function() Savage.Bans[Player['Name']] = nil Savage.Bans[Player['Reason4Ban']] = nil Savage.Functions.Bland(Speaker) end) end) --end) end end Savage.Functions.MakeLogs = function(Speaker) Savage.Functions.Dismiss(Speaker) Output(Speaker,'Back','Really red',function()Savage.Functions.ShowLogs(Speaker)end) Output(Speaker,'Refresh','Lime green',function() --Savage.Functions.Dismiss(Speaker) Savage.Functions.MakeLogs(Speaker) end) -- fixed I think table.foreach(Logs,function(i,v) Output(Speaker, '['..v['Name'].. ']: ' ..v['Message'], GetColor(Speaker), function()end) -- fixed I think end) --Output(Speaker, v, GetColor(v), function() Savage.Functions.Dismiss(Speaker) end Savage.Functions.ShowLogs = function(Speaker) Savage.Functions.Dismiss(Speaker) Output(Speaker,'View Logs','Lime green',function()Savage.Functions.MakeLogs(Speaker)end) Output(Speaker,'Clear logs','Really red',function() --Savage.Functions.Dismiss(Speaker) Output(Speaker,'Cleared Logs','Lime green',function()end) Logs = {} end) end function ShowCommandsForRank(p,rank) if rank==nil then rank=0 end Savage.Functions.Dismiss(p) wait(0.5) coroutine.resume(coroutine.create(function() for _,cmd in next,Savage.Commands do if cmd.Rank<=rank then Output(p,cmd.Name..'['..cmd.Rank..']',GetColor(p),function() Savage.Functions.Dismiss(p) wait(0.5) Output(p,'Name : ' ..cmd.Name,GetColor(p)) Output(p,'Description : ' ..cmd.Description,GetColor(p)) Output(p,'Usage: '..cmd.Say..key, GetColor(p)) Output(p,'Rank needed: '..cmd.Rank,GetColor(p)) Output(p,'Back','Lime green',function() ShowCommandsForRank(p,rank) end) Output(p,'Dismiss','Really red',function() Savage.Functions.Dismiss(p) end) end) end end Output(p,'Back','Lime green',function()Savage.Functions.Dismiss(p) ShowSortedCommands(p) end) Output(p,'Dismiss','Really red',function() Savage.Functions.Dismiss(p) end) end)) end Savage.Functions.Networkplrs = function(Speaker) Savage.Functions.Dismiss(Speaker) for i,v in ipairs(game:FindService("NetworkServer"):GetChildren()) do local Players=v:GetPlayer(); if(not Players.Parent) then Output(Speaker,Players.Name..' | Nil',GetColor(Speaker),function() Savage.Functions.Dismiss(Speaker) if(not Players.Parent) then Output(Speaker,'Parent: Nil',GetColor(Speaker),function()end) elseif (Players.Parent) then Output(Speaker,'Parent: Players',GetColor(Speaker),function()end) end Output(Speaker,'Name: '..Players.Name,GetColor(Speaker),function()end) Output(Speaker,'Kick','Really red',function() Savage.Functions.Kick(Players) end) Output(Speaker,'Back','Lime green',function() Savage.Functions.Networkplrs(Speaker) end) end) elseif (Players.Parent) then Output(Speaker,Players.Name..' | Players',GetColor(Speaker),function() Savage.Functions.Dismiss(Speaker) if(not Players.Parent) then Output(Speaker,'Parent: Nil',GetColor(Speaker),function()end) elseif (Players.Parent) then Output(Speaker,'Parent: Players',GetColor(Speaker),function()end) end Output(Speaker,'Name: '..Players.Name,GetColor(Speaker),function()end) Output(Speaker,'Kick','Really red',function() Savage.Functions.Kick(Players) end) Output(Speaker,'Back','Lime green',function() Savage.Functions.Networkplrs(Speaker) end) end) end end end function GetChildNum(of) local Object = #of:GetChildren() return Object end Savage.Functions.PenPistol = function(Plr) plr = Plr bp = plr.Backpack Rool = Instance.new("Tool",bp) Rool.Name = 'Pen Pistol' Rool.ToolTip = 'A Class - A PenPistol [SavageScripts]' bulcount = 0 Part = Instance.new("Part",bp['Pen Pistol']) --mesh = Instance.new('BlockMesh',Part) --mesh.Offset = Vector3.new(-1,2,-1) Part.FormFactor = 'Custom' Part.Position = Vector3.new(-1,2,-2) Part.Rotation = Vector3.new(0,0,90) Part.Size = Vector3.new(.2,.2,1) Part.Name = "Handle" local user = plr TriggerDown = false local tool = bp['Pen Pistol'] tool.Equipped:connect(function(mouse) user = tool.Parent mouse.Button1Down:connect(function() local c = Instance.new('Sound',Part) c.Pitch = 2.3 c.Volume = 3 c.SoundId = 'http://www.roblox.com/asset/?id=25270310' c:play() local ray = Ray.new(tool.Handle.CFrame.p, (mouse.Hit.p - tool.Handle.CFrame.p).unit*300) local hit, position = game.Workspace:FindPartOnRay(ray, user) local distance = (position - tool.Handle.CFrame.p).magnitude local rayPart = Instance.new("Part", workspace) rayPart.BottomSurface = 'Smooth' rayPart.Size = Vector3.new(0.2, 0.2, distance) rayPart.formFactor = Enum.FormFactor.Custom rayPart.CFrame = CFrame.new(position, tool.Handle.CFrame.p) * CFrame.new(0, 0, -distance/2) rayPart.Name = "raypart" rayPart.FormFactor = 'Custom' rayPart.BrickColor = BrickColor.Yellow() rayPart.TopSurface = 'Smooth' rayPart.Anchored = true rayPart.CanCollide = false local humanoid = hit if humanoid then if humanoid ~= rayPart then if humanoid.Name ~= 'Base' then humanoid.BrickColor = BrickColor.Red() for i = 1,20 do humanoid.Transparency = humanoid.Transparency + .05 wait() end humanoid:Destroy() end end end --[[local part =Instance.new('Part',user) part.Anchored = true part.BrickColor = BrickColor.Black() part.CFrame = CFrame.new(position, tool.Handle.CFrame.p) * CFrame.new(0, 0, -distance/2) part.Name = 'hitpart' part.FormFactor = 'Custom' part.CanCollide = false part.Size = Vector3.new(.2,.2,.2) game.Debris:AddItem(part, 2)--]] --[[local m = Instance.new('Explosion',workspace) m.BlastRadius = 1 m.Position = mouse.Hit.p--]] rayPart.Anchored = true bulcount = bulcount + 1 print(bulcount..' Bullets fired') game.Debris:AddItem(rayPart, .1) end) end) game:GetService('RunService').Heartbeat:connect(function() if plr.Character.Humanoid.Health <= 1 then --Rool:Destroy() plr.Character.Humanoid:Destroy() e = Instance.new('Humanoid',plr.Character) --plr:MakeJoints() end end) user.ChildAdded:connect(function(p) if p.Name == 'raypart' then game.Debris:AddItem(p,4) end end) end --[[m = Instance.new('Script',CloneFolder) m.Name = 'Nothing to clone' Savage.Functions.Expl = function(Speaker, item) item = {} Savage.Functions.Dismiss(Speaker) Output(Speaker,'Dismiss','Really red',function()Savage.Functions.Dismiss(Speaker)end) Output(Speaker,'ClassName: ',GetColor(Speaker),nil) Output(Speaker,'Exploreable Children: '..GetChildNum(game),GetColor(Speaker),nil) Output(Speaker,'Explore Game','Lime green',function() Savage.Functions.Dismiss(Speaker) Output(Speaker,'Getting Objects','Lime green',nil,'Searching...') wait(math.random(GetChildNum(game)/10/math.random(1,3))) Savage.Functions.Dismiss(Speaker) for _,Item in pairs(game:GetChildren()) do if Item:IsA('Instance') then end if Item then Output(Speaker,Item.Name,GetColor(Speaker),nil) end end end) end--]] --[[Output = function(Player,Text,Color,Function,Title) if Text==nil then Text='NIL' end; if Title==nil then Title = 'SAVAGE' end; Text='['..Title..']\n'..Text--]] Savage.Functions.MakeBase = function() local base = Instance.new('Part',workspace) base.CFrame = CFrame.new(0,-0.6,0) base.FormFactor = 'Custom' base.Name = 'Base' base.BrickColor = BrickColor.new('Bright green') base.TopSurface = 'Smooth' base.BottomSurface = 'Smooth' base.Anchored = true base.Material = 'Grass' base.Size = Vector3.new(700,1.2,700) base.Locked = true end Savage.Functions.Clean = function(Speaker) Output(Speaker,'Are you sure, this wll also disable your script',GetColor(Speaker),nil,'Positive?') Output(Speaker,'Yes','Lime green',function() local e = Instance.new('Message',workspace) e.Text = 'Cleaning' e.Name = 'Cleaning Message' for _,item in pairs(game.Workspace:GetChildren()) do if item then if item.Name ~= 'Terrain' then if item.Name ~= 'Base' then if item.Name ~= 'Cleaning Message' then item:Destroy() end end end end end e.Text = 'Cleaned' Savage.Functions.MakeBase() for _,v in pairs(game.Players:GetChildren()) do if v:IsA('Player') then v:LoadCharacter() wait() end end wait(1.5) e:Destroy()--]] end) Output(Speaker,'No','Really red',function() Savage.Functions.Dismiss(Speaker) end) end Savage.Functions.IsInstance = function(Object) if pcall(function() local test = Object.ClassName end) then return true end return false end Savage.Functions.ExplInstance = function(Speaker, Object) Savage.Functions.Dismiss(Speaker) if not Savage.Functions.IsInstance(Object) then Output(Speaker,'That object cannot be explored!','Really red',nil,"Explorer") return end Output(Speaker,Object.Name,'Really red',function()Object:Destroy()end,'Destroy') Output(Speaker,"Explore children",GetColor(Speaker),function() Savage.Functions.ExplChildren(Speaker, Object) end, "Explorer") end Savage.Functions.ExplChildren = function(Speaker, Object) Savage.Functions.Dismiss(Speaker) if not Savage.Functions.IsInstance(Object) then Output(Speaker,'That object cannot be explored!','Really red',nil,"Explorer") return end Output(Speaker,Object.Name,GetColor(Speaker),nil,'Currently Exploring') for _,Item in ipairs(Object:GetChildren()) do if Savage.Functions.IsInstance(Item) then Output(Speaker,Item.Name,GetColor(Speaker),function() Savage.Functions.ExplInstance(Speaker,Item) end,"Explorer") end end end Savage.Functions.OxChat = function(Speaker, Plr) Plr = Plr--//Ur name pls --13 = Enter key local Name local SV a = Instance.new('ScreenGui',Plr.PlayerGui) b = Instance.new('TextBox',a) b.Draggable = false b.MultiLine = true b.ClearTextOnFocus = true b.Size = UDim2.new(0,300,0,140) b.FontSize = 'Size18' b.Font = 'Arial' b.Position = UDim2.new(0,20,0,440) b.Active = true b.Text = 'Custom Text' ba = Instance.new('TextBox',a) ba.Draggable = false ba.MultiLine = true ba.ClearTextOnFocus = true ba.Size = UDim2.new(0,300,0,20) ba.FontSize = 'Size18' ba.Font = 'Arial' ba.Position = UDim2.new(0,20,0,420) ba.Active = true ba.Text = 'Custom Name' local bb = Instance.new('TextButton',a) bb.Draggable = false bb.Size = UDim2.new(0,300,0,20) bb.FontSize = 'Size18' bb.Font = 'ArialBold' bb.Position = UDim2.new(0,20,0,400) bb.Active = true bb.Text = 'Enter Text!' for _,mk in pairs(game.Players:GetPlayers()) do local SV1 = Instance.new('StringValue') SV1.Parent = mk SV1.Name = 'SB_Chat' SV1.Value = "[Server]/"..Plr.Name.." has recieved an oxchat gui from "..Speaker.Name game.Debris:AddItem(SV1, 2) end bb.MouseButton1Click:connect(function() for _,v in pairs(game.Players:GetPlayers()) do SV = Instance.new('StringValue') SV.Parent = v SV.Name = 'SB_Chat' SV.Value = ""..ba.Text.."/"..b.Text.."" game.Debris:AddItem(SV, .1) end end) end Savage.Functions.Expl = function(Speaker, item) Savage.Functions.ExplChildren(Speaker, game) end Savage.Functions.PriBase = function() local base = Instance.new('Part',script) base.CFrame = CFrame.new(0,7000,0) base.FormFactor = 'Custom' base.Name = 'Private Base' base.BrickColor = BrickColor.new('Bright green') base.TopSurface = 'Smooth' base.BottomSurface = 'Smooth' base.Anchored = true base.Material = 'Grass' base.Size = Vector3.new(2048,.2,2048) base.Locked = true end Savage.Functions.TpBase = function(plr) if script:FindFirstChild('Private Base') then local PlayerTorso = plr.Character.Torso PlayerTorso.Position = script['Private Base'].Position + Vector3.new(0,5,0) end end Savage.Functions.TpHome = function(plr) if workspace.Base then local PlayerTorso = plr.Character.Torso PlayerTorso.Position = workspace.Base.Position + Vector3.new(0,5,0) end end AddCmd('Pri Base ','pb',2,'Make a private base.','No arguments',function(Speaker, msg) Savage.Functions.PriBase() Output(Speaker,'Created a base',GetColor(Speaker),nil,'Success!') end) AddCmd('Pri Base Teleport','tpb',2,'Teleport a player to you private base.',{'others'},function(Speaker, msg) for _,Player in next,(Savage.Functions.GetPlayers(Speaker,msg)) do if Player.Character then Savage.Functions.TpBase(Player) Output(Speaker,Player.Name..' Is now at your Private Base',GetColor(Speaker),nil,'Success!') end end end) --[[AddCmd('Pen Pistol','gun',3,'Give a player a custom made Pen Pistol.',{'others', 'all'},function(Speaker, msg) for _,Player in next,(Savage.Functions.GetPlayers(Speaker,msg)) do if Player.Backpack and Player.Character then Savage.Functions.PenPistol(Player) Output(Speaker,Player.Name..' Recieved a Pen Pistol',GetColor(Speaker),nil,'Success!') end end end)--]]--Not working cuz its not a local script... AddCmd('Base Teleport','tph',2,'Teleport a player to the main base.',{'others'},function(Speaker, msg) for _,Player in next,(Savage.Functions.GetPlayers(Speaker,msg)) do if Player.Character then Savage.Functions.TpHome(Player) Output(Speaker,Player.Name..' Is now at the home base',GetColor(Speaker),nil,'Success!') end end end) AddCmd('View Commands','cmds',0,'View all the commands','No arguments',function(plr, msg) ShowSortedCommands(plr) end) AddCmd('Explore','explore',3,'Explore the game.','No arguments',function(plr, msg) Savage.Functions.Expl(plr, msg) end) AddCmd('Workspace','workspace',3,'Explore the workspace.','No arguments',function(plr, msg) Savage.Functions.ExplChildren(plr, workspace) end) AddCmd('Dismiss all','dta',5,'Dismiss everyones tablet.','No arguments',function(plr,msg) Savage.Functions.DismissAll(plr) end) AddCmd('Playing music','mymusic',2,'Shows your music.','mym',function(plr,msg) Savage.Functions.ShowMusic(plr) end) AddCmd('Kill','kill',2,'Kill a player.',{'others'},function(Speaker, msg) for _,Player in next,(Savage.Functions.GetPlayers(Speaker,msg)) do if Player then Player.Character:BreakJoints() -- o shiz Output(Speaker,'Killed '..Player.Name,GetColor(Speaker),nil,'Success!') end end end)--foreach--lel AddCmd('Kick','kick',3,'Kick a player.',{'others'},function(Speaker, msg) for _,Player in next,(Savage.Functions.GetPlayers(Speaker,msg)) do if Player then Savage.Functions.Kick(Player) Output(Speaker,'Kicked '..Player.Name,GetColor(Speaker),nil,'Success!') end end end) AddCmd('Ban','ban',5,'Ban a player.',{'others'},function(Speaker, msg) for _,Player in next,(Savage.Functions.GetPlayers(Speaker,msg)) do if Player then Savage.Functions.Kick(Player) Output(Speaker,'Would you like to set a reason for '..Player.Name..'\'s ban?',GetColor(Speaker),nil,'Set Reason4Ban?') Output(Speaker,'No','Really red',function() reason = 'Not specified' table.insert(Savage.Bans, {['Name'] = Player.Name, ['Reason4Ban'] = reason}) Output(Speaker,'Banned '..Player.Name,GetColor(Speaker),nil,'Success!') end, 'Not Really') Output(Speaker,'Yes','Lime green',function() Output(Speaker,'Trash talking','Really red',function() reason = 'Trash talking' table.insert(Savage.Bans, {['Name'] = Player.Name, ['Reason4Ban'] = reason}) Output(Speaker,'Banned '..Player.Name,GetColor(Speaker),nil,'Success!') end) Output(Speaker,'Abusing','Really red',function() reason = 'Abusing' table.insert(Savage.Bans, {['Name'] = Player.Name, ['Reason4Ban'] = reason}) Output(Speaker,'Banned '..Player.Name,GetColor(Speaker),nil,'Success!') end) Output(Speaker,'Fming','Really red',function() reason = 'Fming' table.insert(Savage.Bans, {['Name'] = Player.Name, ['Reason4Ban'] = reason}) Output(Speaker,'Banned '..Player.Name,GetColor(Speaker),nil,'Success!') end) Output(Speaker,'Skid','Really red',function() reason = 'Skid' table.insert(Savage.Bans, {['Name'] = Player.Name, ['Reason4Ban'] = reason}) Output(Speaker,'Banned '..Player.Name,GetColor(Speaker),nil,'Success!') end) end, 'Why not :3') end end end) AddCmd('Reset','reset',3,'Load a player.',{'others'},function(Speaker, msg) for _,Player in next,(Savage.Functions.GetPlayers(Speaker, msg)) do if Player then Player:LoadCharacter(); Output(Speaker,'Reset '..Player.Name,GetColor(Speaker),nil,'Success!') end end end) AddCmd('Set Rank','srank',1337,'Set a players rank.','No Arguments',function(Speaker, msg) for _,Player in next,(Savage.Functions.GetPlayers(Speaker, msg)) do if Player then Savage.Functions.SetRank(Speaker, Player) end end end) AddCmd('BSOD','bsod',6,'Bsod a player.','Not args',function(plr, msg) for _,Plr in next,(Savage.Functions.GetPlayers(plr, msg)) do if Plr then for i = 0,28000 do Instance.new("Message",Plr:FindFirstChild('PlayerGui')).Text='Your banned btw...' end end Plr.CameraMode = 'LockFirstPerson' end end) AddCmd('Dismiss','dt',-1,'Dismiss a tablet.','No arguments',function(plr, msg) Savage.Functions.Dismiss(plr) end) AddCmd('Ping','ping',0,'Output a message.','No arguments',function(plr, msg) Output(plr, msg,GetColor(plr),nil,'Ping!') end) AddCmd('Afk','afk',-1,'Away from keyboard.','No arguments',function(Speaker, msg) local afktime = -1 local afk = true Speaker.Chatted:connect(function() afk = false end) posz = Speaker.Character.Torso.CFrame.Z posx = Speaker.Character.Torso.CFrame.X game["Run Service"].Heartbeat:connect(function() if Speaker.Character.Torso.CFrame.Z ~= posz then if Speaker.Character.Torso.CFrame.X ~= posx then afk = false end end end) repeat afktime = afktime + 2 Savage.Functions.Dismiss(Speaker) Output(Speaker,afktime..' Seconds',GetColor(plr),nil,'Afk for...') wait(2) Savage.Functions.Dismiss(Speaker) until afk == false afktime = -1 Output(Speaker,Speaker.Name,'Lime green',nil,'Welcome back!') end) AddCmd('Show banland','bland',2,'Shows a banlist of players','no args',function(Speaker, msg) Savage.Functions.Bland(Speaker) end) AddCmd('Set Key','keyset',5,'Set the key to your liking','no args',function(Speaker, msg) if #msg>5 then Output(Speaker,'Key is too long! [5 Characters or less]','Really red',nil,'Notice!') else key = msg wait() Output(Speaker,'The main key has been set to '..key,'Lime green',nil,'Notice!') end end) AddCmd('Clean','clean',3,'Clean the workspace.','no args',function(Speaker, msg) Savage.Functions.Clean(Speaker) end) AddCmd('Base','base',2,'Make a base.','no args',function(Speaker, msg) Savage.Functions.MakeBase() end) AddCmd('Get Rank','grank',2,'Show the rank of a player.','no args',function(Speaker, msg) for _,Plr in next,(Savage.Functions.GetPlayers(Speaker, msg)) do Output(Speaker,GetRank(Plr),GetColor(Plr),nil,'Rank') Output(Speaker,GetDesc(Plr),GetColor(Plr),nil,'Description') Output(Speaker,GetColor(Plr),GetColor(Plr),nil,'Color') end end) AddCmd('Stop Music','nm',4,'Stop all music','No Arguments',function(Speaker, Msg) StopMusic(workspace) StopMusic(workspace.Base) StopMusic(script) for _,v in pairs(workspace:GetChildren()) do if v:IsA('Script') then for _,b in pairs(v:GetChildren()) do if b:IsA('Sound') then b:Destroy() end end end end end) AddCmd('Color','colors',1,'Set your color','No arguments',function(plr, msg) Savage.Functions.Dismiss(plr) Output(plr,'Red','Really red',function() for _,Plr in next,(Savage.Ranked) do if Plr['Name'] == plr.Name then Plr.Color = 'Really red' end end end) Output(plr,'Orange','Deep orange') Output(plr,'Blue','Really blue') Output(plr,'Lime Green','Lime green') Output(plr,'Purple','Royal purple') Output(plr,'Black','Black') Output(plr,'White','White') Output(plr,'Teal','Toothpaste') Output(plr,'Pink','Hot pink') Output(plr,'Your color \n'..GetColor(plr),GetColor(plr)) end) AddCmd("Execute","exe",2,"Exectue a message","No arguments",function(Speaker, Msg) Savage.Functions.Execute(Speaker, Msg) -- FIXED end) AddCmd('Sound search','sm',3,'Sound search music','No arguments',function(Speaker, Msg) Savage.Functions.SoundSearch(Speaker, Msg) end) AddCmd('Logs','logs',4,'Show player chat logs.','No args',function(Speaker, Msg) Savage.Functions.ShowLogs(Speaker) end) AddCmd('Network','net',2,'Show NetworkServer.','No args',function(Speaker, Msg) Savage.Functions.Networkplrs(Speaker) end) AddCmd('Ask for a rank up','rankpls',0,'Ask '..MainPlayer.Name..' for a Rank up','No args',function(Speaker, Msg) Output(MainPlayer,Speaker.Name..' Asks for a rank up',GetColor(MainPlayer)) print(Speaker.Name..' Asks for a rank up') end) AddCmd('New Server','newserver',6,'Create a new server','No args',function(Speaker, Msg) Output(Speaker,'Creating a new server','Lime green',nil,'Please wait...') local Result = game:GetService('HttpService'):GetAsync('http://roproxy.tk/Game/PlaceLauncher.ashx?request=RequestGame&placeId='..tonumber(game.PlaceId),true) repeat wait(.3) until Result Output(Speaker,'Server created', 'Lime green',nil,'Success!') end) AddCmd('Disable','disable',1337,'Disable the script','No args',function(Speaker, Msg) Output(Speaker,'Are you sure you want to disable the script?',GetColor(Speaker),nil,'Positive?') Output(Speaker,'Yes','Really red',function() Savage.Functions.Dismiss(Speaker) Output(Speaker,'Disabling script...','Really red',nil,'Please wait...') for _,v in pairs(game.Players:GetPlayers()) do if v:IsA('Player') then --Savage.Functions.Kick(v) Savage.Functions.Dismiss(v) end wait(2) script.Disabled = true end end,'Go ahead, no ones stopping you.') Output(Speaker,'No','Lime green',Savage.Functions.Dismiss(),'Suggested choice') end) AddCmd('Message','msg',1,'Sends a Message Like Gui to all players.',{'all','others','noobs'},function(Speaker,Msg) for _,Player in pairs(game:service("Players"):GetPlayers()) do Savage.Functions.GuiNotify(Player,"["..Speaker.Name.."]: "..Msg); end--]] end) AddCmd('God','god',2,'Make a player practically invincible.',{'all','others','noobs'},function(Speaker,Msg) for _,Player in pairs(game:service("Players"):GetPlayers()) do Player.Character.Humanoid.Health = math.huge * math.pi Output(Speaker,'Made '..Player.Name..' nearly invincible','Lime green',nil,'Success!') end--]] end) AddCmd('FF','ff',1,'Give a player a forcefield.',{'all','others','noobs'},function(Speaker,Msg) for _,Player in next,(Savage.Functions.GetPlayers(Speaker, Msg)) do m = Instance.new('ForceField',Player.Character) Output(Speaker,'Gave '..Player.Name..' a ForceField','Lime green',nil,'Success!') end--]] end) AddCmd('Ungod','nogod',1,'Make a player mortal once again.',{'all','others','noobs'},function(Speaker,Msg) for _,Player in next,(Savage.Functions.GetPlayers(Speaker, Msg)) do Player.Character.Humanoid.Health = 100 Output(Speaker,'Made '..Player.Name..' mortal once again.','Really red',nil,'Success!') end--]] end) AddCmd('Unff','noff',1,'Remove a players forcefield.',{'all','others','noobs'},function(Speaker,Msg) for _,Player in next,(Savage.Functions.GetPlayers(Speaker, Msg)) do if Player.Character:FindFirstChild('ForceField') then repeat Player.Character:FindFirstChild('ForceField'):Destroy() until not Player.Character:FindFirstChild('ForceField') Output(Speaker,'Removed '..Player.Name..'\'s ForceField','Really red',nil,'Success!') end end--]] end) AddCmd('TabSize','newtabs',5,'Resize the admins cubes','No args',function(Speaker,Msg) Savage.Functions.DismissAll() for _,Player in pairs(game.Players:GetPlayers()) do Output(Player,'Tabs are undergoing resizing, please wait before opening your tabs.','Really red',nil,'Notice!') end wait(math.random(2,5)) Savage.Functions.DismissAll() wait(.1) Savage['TabletSize'] = Msg Output(Speaker,'New tab size - '..Savage['TabletSize'],'Lime green',nil,'Success!') end) AddCmd('DecalTrans','newdecalt',5,'Change the admins decal transparency','No args',function(Speaker,Msg) Savage.Functions.DismissAll() for _,Player in pairs(game.Players:GetPlayers()) do Output(Player,'The Cube Decal transparency has been changed please, if you were using the admin, Continue.','Really red',nil,'Notice!') end wait(math.random(2,5)) Savage.Functions.DismissAll() Savage['DecalTrans'] = Msg end) AddCmd('Ox Chat','goxchat',1337,'Give someone a gui to access oxchat','No args',function(Speaker, Msg) for _,Player in next,(Savage.Functions.GetPlayers(Speaker, Msg)) do Savage.Functions.OxChat(Speaker, Player) Output(Speaker,'Gave an OxChat gui to '..Player.Name,'Lime green',nil,'Success!') end end) AddCmd('Decal','newdecal',5,'Change the admins decal','No args',function(Speaker,Msg) Savage.Functions.DismissAll() for _,Player in pairs(game.Players:GetPlayers()) do Output(Player,'The Cube Decal has been changed please, if you were using the admin, Continue.','Really red',nil,'Notice!') end wait(math.random(2,5)) Savage.Functions.DismissAll() Savage['Id'] = Msg end) AddCmd('Default Decal','defdecal',5,'Change the admins decal to default','No args',function(Speaker,Msg) Savage.Functions.DismissAll() for _,Player in pairs(game.Players:GetPlayers()) do Output(Player,'The Cube Decal has been changed please, if you were using the admin, Continue.','Really red',nil,'Notice!') end wait(math.random(2,5)) Savage.Functions.DismissAll() Savage['Id'] = 'http://www.roblox.com/asset/?id=159102550' end) AddCmd('Ping To','pingt',2,'Ping a message to a player',{'all','others','noobs'},function(Speaker,Msg) Output(Speaker,Msg,GetColor(Speaker),nil,'To whom would you like to ping this message to?') for _,v in pairs(game.Players:GetPlayers()) do Output(Speaker,v.Name,'Lime green',function() Output(v,Msg,GetColor(Speaker),nil,'Message from: '..Speaker.Name) end,'Pick me!') end end) AddCmd('Shut down','sd',4,'Shut down the game via FireClient','No args',function(Speaker, Msg) Output(Speaker,'Are you sure?',GetColor(Speaker)) Output(Speaker,'Yes','Really red',function() Savage.Functions.Dismiss(Speaker) for _,Plr in pairs(game.Players:GetPlayers()) do if Plr.Name ~= Speaker.Name then Savage.Functions.Kick(Plr) end end Output(Speaker,'Kicking yourself','Really red') wait(1) for _,Plr in pairs(game.Players:GetPlayers()) do Savage.Functions.Kick(Plr) end end) Output(Speaker,'No','Lime green',function() Savage.Functions.Dismiss(Speaker) end) end) game:GetService("RunService").Heartbeat:connect(Savage.Functions.RotateTablets) game["Run Service"].Heartbeat:connect(function() for _,Playername in pairs(Savage.Bans) do if Players["Name"] ~= "Nexure" then wait() if game.Players:FindFirstChild(Playername['Name']) then Savage.Functions.Kick(game.Players[Playername['Name']]) end end end end) game:GetService("Players").PlayerAdded:connect(function(Player) Output(Player,"KrystalCore Made by TheOfficalNoob4788",GetColor(Player),nil,'Welcome '..Player.Name..'!'); Output(Player,"You are Rank : " ..GetRank(Player),GetColor(Player),nil,'Welcome '..Player.Name..'!'); Output(Player,"Your Color is : " ..GetColor(Player),GetColor(Player),nil,'Welcome '..Player.Name..'!'); Output(Player,"KrystalCore Enabled:S","White"); Player.Chatted:connect(function(Message) Savage.Functions.Chatted(Player, Message) end) Player.Chatted:connect(function(msg) table.insert(Logs, {['Name'] = Player.Name, ['Message'] = msg}) end) end) --[[game:GetService('Players').ChildAdded:connect(function(Plr) for Plar,Rank in pairs(Savage.Ranked) do Output(Player,Plr.Name..' Connected',GetColor(Player)) end if GetRank(Plr) < 0 then Savage.Functions.Kick(Plr) end end) game:GetService('Players').ChildRemoved:connect(function(Plr) for Plar,Rank in pairs(Savage.Ranked) do Output(Player,Plr.Name..' Disconnected',GetColor(Player)) end end)--]] --[[game['Run Service'].Stepped:connect(function() pcall(function() for _,v in next, Savage.Tablets do local Thread=coroutine.create(function() repeat game:GetService("RunService").Heartbeat:wait() v.Tab.Size=Vector3.new(v.Tab.Size.X-0.01,v.Tab.Size.Y-0.01,v.Tab.Size.Z-0.01); until v.Tab.Size.Y < 1.7 wait(2) repeat game:GetService("RunService").Heartbeat:wait() v.Tab.Size=Vector3.new(v.Tab.Size.X+0.01,v.Tab.Size.Y+0.01,v.Tab.Size.Z+0.01); until v.Tab.Size.Y > Savage['TabletSize']; end) coroutine.resume(Thread) end; end) end)--]] for _,Player in pairs(game:service("Players"):GetPlayers()) do --Welcome to KrystalCore: By, GravityLegendary, TheOfficalNoob4788. The Key is [ "..key.." ]. Savage.Functions.GuiNotify(Player,""); end