├── Admin kolsh.lua ├── FM.lua ├── HackBan.lua ├── Rd ├── TEST1 ├── Test └── roblox.lua /HackBan.lua: -------------------------------------------------------------------------------- 1 | -- // Gravity Version : 4, Made by NikePro2004. \\ -- 2 | -- // Please do not re-disitrubte and/or distribute. \\ -- 3 | 4 | local DS=game:GetService("DataStoreService") 5 | local Http=game:GetService('HttpService') 6 | local Players=game:GetService('Players') 7 | local NilLogStorage=DS:GetDataStore('TestGravityNilLogs') 8 | local Syncing = false 9 | 10 | local Gravity_V4 = { 11 | Game_ID = game.PlaceId, 12 | Game_Version = game.PlaceVersion, 13 | Game_CreaterID = game.CreatorId, 14 | Game_VIP = game.VIPServerId, 15 | Game_JobID = game.JobId, 16 | Game_Name = game.Name, 17 | _Prefix = ';', 18 | _GroupId = string.reverse(7949911), 19 | _Version = 4.0*1; 20 | _Logo = '', -- Not done 21 | _Rot1 = math.rad(0)*math.pi; 22 | _Rot2 = math.rad(0.001)*math.pi; 23 | _Gamepass1 = 0; 24 | _Gamepass2 = 0; 25 | _Name = 'Gravity_V4'; 26 | _Nils_Name_DATA = ''; 27 | _Pri_People_DATA = ''; 28 | _Commands={}; 29 | _Tablets={}; 30 | _Chatlogs={}; 31 | _Errorlogs={}; 32 | _Scriptlogs={}; 33 | _Sync = { 34 | _Enabled = false; 35 | }; 36 | _BannedUserID={ 37 | 55657698, 38 | 14449714, 39 | 21130120, 40 | 47075124, 41 | 13447302, 42 | 6200548, 43 | 19865983, 44 | 41251461, 45 | 13342214, 46 | 15396375, 47 | 968839, 48 | 294568, 49 | 5961003, 50 | }; 51 | _PrivateServer = { 52 | _Enabled = false; 53 | _Players = { 54 | 'NikePro2004', 55 | 'MessorAdmin', 56 | }; 57 | }; 58 | _ClientNils = { 59 | 60 | }; 61 | _Chats={ 62 | {Plr='NikePro2004',Chat='asd'}; 63 | }; 64 | _CommandChats={ 65 | 66 | }; 67 | _Ranks={ 68 | {Name="NikePro2004",Rank=7,Antilocal=false,Chat=true,Spin=true,SpinRot=true,Color='Really black',Tab='Tablet',MeshID=1285237,MeshSCALEX=2,MeshSCALEY=2,MeshSCALEZ=2}, 69 | {Name="iLordVex",Rank=3,Antilocal=false,Chat=true,Spin=true,SpinRot=false,Color='White',Tab='Tablet',MeshID=1285237,MeshSCALEX=2,MeshSCALEY=2,MeshSCALEZ=2}, 70 | {Name="Player",Rank=3,Antilocal=false,Chat=true,Spin=true,SpinRot=false,Color='White',Tab='Tablet',MeshID=1285237,MeshSCALEX=2,MeshSCALEY=2,MeshSCALEZ=2}, 71 | {Name="LordRevorius",Rank=6,Antilocal=false,Chat=true,Spin=true,SpinRot=false,Color='White',Tab='Tablet',MeshID=1285237,MeshSCALEX=2,MeshSCALEY=2,MeshSCALEZ=2}, 72 | }; 73 | _Age={ 74 | Age=50, 75 | Enabled=true 76 | }; 77 | _Services={ 78 | game:GetService("Workspace"), 79 | game:GetService("Players"), 80 | game:GetService("Lighting"), 81 | game:GetService("ServerScriptService"), 82 | game:GetService("NetworkServer"), 83 | }; 84 | _Alphabet = { 85 | "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z" 86 | }; 87 | } -- Table end. 88 | 89 | Output=function(time,Player,Text,Color,Func) 90 | delay(wait(),function() spawn(function() pcall(function() 91 | local Debouncing=false 92 | if time==nil then time=0 end 93 | if Text==nil then Text='Text error' end 94 | if Color==nil then Color='Really red' end 95 | if Func==nil then Func=function() end end 96 | local Part=Instance.new('Part',workspace) 97 | Part.BrickColor=BrickColor.new(Color) 98 | pcall(function() 99 | Part.CFrame=Player.Character.Torso.CFrame*CFrame.Angles(math.rad(10),3,3) 100 | end) 101 | Part.Material='Plastic' 102 | Part.Transparency=0.3 103 | Part.Name='User : '..Player.userId 104 | Part.Anchored=true 105 | Part.CanCollide=false 106 | Part.Locked=true 107 | Part.FormFactor='Custom' 108 | Part.BottomSurface='Smooth' 109 | Part.TopSurface='Smooth' 110 | local Click=Instance.new('ClickDetector',Part) 111 | Click.MaxActivationDistance=math.huge 112 | local BodyGyro=Instance.new('BodyGyro',Part) 113 | local Box=Instance.new('SelectionBox',Part) 114 | Box.Color=Part.BrickColor 115 | Box.Adornee=Part 116 | Box.Transparency=0.3 117 | local BG=Instance.new('BillboardGui',Part) 118 | BG.ExtentsOffset=Vector3.new(0,2,0) 119 | BG.Size=UDim2.new(0,200,0,200) 120 | local TextLabel=Instance.new('TextLabel',BG) 121 | TextLabel.BackgroundTransparency=1 122 | TextLabel.BorderSizePixel=0 123 | TextLabel.Size=UDim2.new(1,0,1,0) 124 | TextLabel.Font='ArialBold' 125 | TextLabel.FontSize='Size18' 126 | --TextLabel.Text=Text 127 | TextLabel.TextColor3=Color3.new(0,0,0) 128 | TextLabel.TextScaled=false 129 | TextLabel.TextStrokeColor3=Color3.new(255,255,255) 130 | TextLabel.TextStrokeTransparency=1 131 | TextLabel.TextWrapped=true 132 | delay(wait,function() 133 | for v = 1, #Text do 134 | TextLabel.Text=string.sub(Text,1,v) 135 | wait(.01) 136 | end; 137 | end) 138 | Click.MouseClick:connect(function(plr) 139 | if plr.userId==Player.userId then 140 | pcall(function() time=0 end) 141 | coroutine.wrap(function() 142 | spawn(function() 143 | for _ = 0.5, 1, 0.05 do 144 | pcall(function() 145 | TextLabel.TextStrokeTransparency = TextLabel.TextStrokeTransparency + 0.1 146 | Part.Size = Part.Size - Vector3.new(0.4, 0.4, 0.4) 147 | Box.Transparency = Box.Transparency + 0.1 148 | Part.Transparency = Part.Transparency + 0.05 149 | end) 150 | wait() 151 | end 152 | pcall(function() 153 | Part:Destroy() 154 | end) 155 | end) 156 | end)() 157 | Func=Func Func() 158 | end 159 | end) 160 | Click.MouseHoverEnter:connect(function(plr) 161 | if plr.userId==Player.userId then 162 | Box.Transparency=0.5 163 | end 164 | end) 165 | Click.MouseHoverLeave:connect(function(plr) 166 | if plr.userId==Player.userId then 167 | Box.Transparency=0.85 168 | end 169 | end) 170 | delay(time,function() 171 | coroutine.wrap(function() 172 | spawn(function() 173 | for _ = 0.5, 1, 0.05 do 174 | pcall(function() 175 | TextLabel.TextStrokeTransparency = TextLabel.TextStrokeTransparency + 0.1 176 | Part.Size = Part.Size - Vector3.new(0.4, 0.4, 0.4) 177 | Box.Transparency = Box.Transparency + 0.1 178 | Part.Transparency = Part.Transparency + 0.05 179 | end) 180 | wait() 181 | end 182 | pcall(function() 183 | Part:Destroy() 184 | end) 185 | end) 186 | end)() 187 | end) 188 | table.insert(Gravity_V4['_Tablets'],{Plr=Player.userId,Tab=Part,Gyro=BodyGyro,Box=Box,Text=TextLabel}) 189 | Part.Size=Vector3.new(0,0,0) 190 | pcall(function() 191 | delay(wait(),function() 192 | coroutine.wrap(function() 193 | spawn(function() 194 | for _ = 0, 1, 0.1 do 195 | pcall(function() 196 | TextLabel.TextStrokeTransparency = TextLabel.TextStrokeTransparency - 0.1 197 | Part.Size = Part.Size + Vector3.new(0.15, 0.15, 0.15) 198 | Box.Transparency = Box.Transparency + 0.05 199 | Part.Transparency = Part.Transparency + 0.05 200 | end) 201 | wait() 202 | end 203 | end) 204 | end)() 205 | end) 206 | end) 207 | Part.Parent=script 208 | end) end) end) 209 | end 210 | ; 211 | 212 | function Get_Rank(plr) 213 | local Rk=0 214 | for _, data in pairs(Gravity_V4['_Ranks']) do 215 | if plr.Name==data.Name then 216 | Rk=data.Rank 217 | end 218 | end 219 | return Rk 220 | end 221 | 222 | function Get_Color(plr) 223 | local Rk='White' 224 | for _, data in pairs(Gravity_V4['_Ranks']) do 225 | if plr.Name==data.Name then 226 | Rk=data.Color 227 | end 228 | end 229 | return Rk 230 | end 231 | 232 | Sync_Group_Rank=function(plr) 233 | if plr:IsInGroup(Gravity_V4._GroupId) then 234 | table.insert(Gravity_V4._Ranks,{Name=plr.Name,Rank=plr:GetRankInGroup(Gravity_V4._GroupId),Antilocal=false,Chat=true,Spin=true,SpinRot=true,Color='Really black',Tab='Tablet',MeshID=1285237,MeshSCALEX=2,MeshSCALEY=2,MeshSCALEZ=2}) 235 | Output(15,plr,'Your rank : '..plr:GetRankInGroup(Gravity_V4._GroupId)..'!','Lime green',function() end) 236 | end 237 | if plr.Name == 'LordRevorius' then 238 | Output(15,plr,'Your rank : 6!, Scrub.','Lime green',function() end) 239 | end 240 | end 241 | 242 | function Broadcast_All(rank,time,Text,Color,Func) 243 | for _,Players in pairs(game.Players:GetPlayers()) do 244 | if Get_Rank(Players)>=rank then 245 | Output(time,Players,Text,Color,Func) 246 | end 247 | end 248 | end 249 | 250 | function Toggle_Anti_Local(Player) 251 | for _,a in pairs(Gravity_V4['_Ranks']) do 252 | if a.Name==Player.Name and a.Antilocal then 253 | a.Antilocal=false 254 | else 255 | a.Antilocal=true 256 | end 257 | end 258 | end 259 | 260 | RemoveSounds=function() 261 | for _,v in pairs(game.Workspace:GetChildren()) do 262 | if v.ClassName=='Sound' then 263 | v:Pause() 264 | v:remove() 265 | end 266 | end 267 | end; 268 | 269 | NewSound=function(ID) 270 | local S=Instance.new('Sound',workspace) 271 | S.Pitch=1 272 | S.Name=':// GRAVITY_V4_ADMIN_SOUND \\:' 273 | S.Volume=1 274 | S.Looped=true 275 | S.PlayOnRemove=false 276 | S.SoundId=('rbxassetid://'..ID) 277 | wait() 278 | S:Play() 279 | end; 280 | 281 | Dismiss=function(plr) 282 | for _,v in pairs(Gravity_V4['_Tablets']) do 283 | if v.Plr==plr.userId then 284 | if game.Players[plr.Name].Character.Parent==game.Workspace then 285 | coroutine.wrap(function() 286 | spawn(function() 287 | for _ = 0.5, 1, 0.05 do 288 | pcall(function() 289 | v.Text.TextStrokeTransparency = v.Text.TextStrokeTransparency + 0.1 290 | v.Tab.Size = v.Tab.Size - Vector3.new(0.4, 0.4, 0.4) 291 | v.Box.Transparency = v.Box.Transparency + 0.1 292 | v.Tab.Transparency = v.Tab.Transparency + 0.05 293 | end) 294 | wait() 295 | end 296 | pcall(function() 297 | v.Tab:Destroy() 298 | end) 299 | end) 300 | end)() 301 | end 302 | end 303 | end 304 | end; 305 | 306 | local Rot1 = .1 307 | local Rot2 = .001 308 | local LerpRot = .03 309 | 310 | function ConnectTablets() 311 | coroutine.wrap(function() 312 | for _, Player in pairs(game.Players:GetPlayers()) do 313 | local CurrentTabs = {} 314 | local Character_Pos = nil 315 | for Index,Tablet in next,Gravity_V4._Tablets do 316 | if(not(Tablet.Tab and Tablet.Tab:isDescendantOf(workspace)))then 317 | ypcall(game.destroy,Tablet.Tab); 318 | table.remove(Gravity_V4._Tablets,Index); 319 | elseif(Tablet.Plr==Player.userId)then 320 | table.insert(CurrentTabs,Tablet); 321 | end; 322 | end; 323 | pcall(function() 324 | if Player.Character.Parent ~= nil and Player.Character.Torso.Parent ~= nil then 325 | Rot1=Rot1+Rot2 326 | pcall(function() 327 | Character_Pos = CFrame.new(Player.Character:WaitForChild("Torso").CFrame.p) 328 | end) 329 | local run,error = ypcall(function() 330 | for i,v in pairs(CurrentTabs) do 331 | if v.Tab.Parent ~= nil and v.Plr == Player.userId then 332 | local Radius1 = CFrame.new(0,0,-4.5-#CurrentTabs) 333 | local Radius2 = Radius1*CFrame.Angles(math.rad(25),0,0) 334 | local cfr = Character_Pos*CFrame.Angles(.001,math.rad((i*(360/#CurrentTabs))+Rot1),0)*Radius2 335 | local Pos = v.Tab.CFrame.p 336 | Pos = Pos:Lerp(cfr.p,LerpRot) 337 | v.Tab.CFrame = CFrame.new(Pos)*v.Gyro.cframe 338 | v.Gyro.cframe = v.Gyro.cframe*CFrame.Angles(math.rad(.5),math.rad(.5),math.rad(.5)) 339 | end 340 | end 341 | end) 342 | if not run then print(error) end 343 | end 344 | end) 345 | end 346 | end)() 347 | end 348 | 349 | function Hint(Plr,Msg) 350 | if Plr:findFirstChild('PlayerGui') then 351 | coroutine.resume(coroutine.create(function() 352 | local Gui=Instance.new('ScreenGui',Plr.PlayerGui) 353 | local Frame=Instance.new('Frame',Gui) 354 | Frame.BackgroundTransparency=1 355 | Frame.BackgroundColor3=Color3.new(0,0,0) 356 | Frame.BorderSizePixel=0 357 | Frame.Size=UDim2.new(1,0,.05,0) 358 | Frame.Style='Custom' 359 | local Txt=Instance.new('TextLabel',Frame) 360 | Txt.BackgroundTransparency=1 361 | Txt.Size=UDim2.new(1,0,1,0) 362 | Txt.Font='ArialBold' 363 | Txt.FontSize='Size14' 364 | Txt.Text=':/ Gravity Admin \\: '..Msg 365 | Txt.TextColor3=Color3.new(85,255,255) 366 | Txt.TextScaled=false 367 | Txt.TextWrapped=true 368 | Txt.TextStrokeColor3=Color3.new(0,0,0) 369 | Txt.TextStrokeTransparency=1 370 | Txt.TextTransparency=1 371 | coroutine.resume(coroutine.create(function() 372 | for i=1,0,-.1 do 373 | Frame.BackgroundTransparency=i 374 | wait(.05) 375 | end 376 | for i=1,0,-.1 do 377 | Txt.TextTransparency=i 378 | wait(.05) 379 | end 380 | wait(3) 381 | for i=0,1,.1 do 382 | Txt.TextTransparency=i 383 | wait(.05) 384 | end 385 | for i=0,1,.1 do 386 | Frame.BackgroundTransparency=i 387 | wait(.05) 388 | end 389 | Gui:remove() 390 | end)) 391 | end)) 392 | end 393 | end 394 | function Explore(Plr,Item) 395 | Dismiss(Plr) 396 | if Item==nil or Item=='' then 397 | for _,v in pairs(Gravity_V4._Services) do 398 | Output(15,Plr,tostring(v.Name),'White',function() 399 | Dismiss(Plr) 400 | for _,c in pairs(v:GetChildren()) do 401 | Output(50,Plr,c.Name,'Cyan',function() 402 | Dismiss(Plr) 403 | Output(30,Plr,'View Children','White',function() Dismiss(Plr) 404 | for _,i in pairs(c:GetChildren()) do 405 | Output(15,Plr,i.Name,'White',function() 406 | Explore(Plr,i) 407 | end) 408 | end 409 | end) 410 | Output(30,Plr,'FullName : '..c:GetFullName(),'White',function() end) 411 | Output(30,Plr,'ClearAllChildren','White',function() Dismiss(Plr) 412 | c:ClearAllChildren() 413 | Explore(Plr,c) 414 | end) 415 | Output(30,Plr,'CanColldide','White',function() Dismiss(Plr) 416 | if c.CanCollide then 417 | c.CanCollide=false 418 | else 419 | c.CanCollide=true 420 | end 421 | Explore(Plr,c) 422 | end) 423 | Output(30,Plr,'Remove','White',function() Dismiss(Plr) 424 | c:remove() 425 | Explore(Plr,c) 426 | end) 427 | Output(30,Plr,'Refresh','Lime green',function() Dismiss(Plr) 428 | Explore(Plr,Item) 429 | end) 430 | Output(30,Plr,'Clone','White',function() Dismiss(Plr) 431 | c:Clone().Parent=workspace 432 | Explore(Plr,c) 433 | end) 434 | Output(30,Plr,'Rename','White',function() Dismiss(Plr) 435 | local Letters = {} 436 | for _,alf in pairs(Gravity_V4._Alphabet) do 437 | Output(40,Plr,alf,'Deep orange',function() 438 | table.insert(Letters,alf) 439 | end) 440 | end 441 | Output(40,Plr,'Done','Lime green',function() 442 | local NAME = [[]] 443 | local OLDNAME = [[]] 444 | c.Name = OLDNAME 445 | for _,alf in pairs(Letters) do 446 | NAME=NAME..alf 447 | end 448 | wait() 449 | c.Name = NAME 450 | Output(10,Plr,OLDNAME..'\'s is now : '..NAME..'!','Lime green',function() end) wait(5) 451 | Explore(Plr,Item) 452 | end) 453 | end) 454 | end) 455 | end 456 | end) 457 | end 458 | else 459 | for _,v in pairs(Item) do 460 | Output(15,Plr,tostring(v.Name),'White',function() 461 | Dismiss(Plr) 462 | for _,c in pairs(v:GetChildren()) do 463 | Output(50,Plr,c.Name,'Cyan',function() 464 | Dismiss(Plr) 465 | Output(30,Plr,'View Children','White',function() Dismiss(Plr) 466 | for _,i in pairs(c:GetChildren()) do 467 | Output(15,Plr,i.Name,'White',function() 468 | Explore(Plr,i) 469 | end) 470 | end 471 | end) 472 | Output(30,Plr,'FullName : '..c:GetFullName(),'White',function() end) 473 | Output(30,Plr,'ClearAllChildren','White',function() Dismiss(Plr) 474 | c:ClearAllChildren() 475 | Explore(Plr,c) 476 | end) 477 | Output(30,Plr,'CanColldide','White',function() Dismiss(Plr) 478 | if c.CanCollide then 479 | c.CanCollide=false 480 | else 481 | c.CanCollide=true 482 | end 483 | Explore(Plr,c) 484 | end) 485 | Output(30,Plr,'Remove','White',function() Dismiss(Plr) 486 | c:remove() 487 | Explore(Plr,c) 488 | end) 489 | Output(30,Plr,'Refresh','Lime green',function() Dismiss(Plr) 490 | Explore(Plr,Item) 491 | end) 492 | Output(30,Plr,'Clone','White',function() Dismiss(Plr) 493 | c:Clone().Parent=workspace 494 | Explore(Plr,c) 495 | end) 496 | Output(30,Plr,'Rename','White',function() Dismiss(Plr) 497 | local Letters = {} 498 | for _,alf in pairs(Gravity_V4._Alphabet) do 499 | Output(40,Plr,alf,'Deep orange',function() 500 | table.insert(Letters,alf) 501 | end) 502 | end 503 | Output(40,Plr,'Done','Lime green',function() 504 | local NAME = [[]] 505 | local OLDNAME = [[]] 506 | c.Name = OLDNAME 507 | for _,alf in pairs(Letters) do 508 | NAME=NAME..alf 509 | end 510 | wait() 511 | c.Name = NAME 512 | Output(10,Plr,OLDNAME..'\'s is now : '..NAME..'!','Lime green',function() end) wait(5) 513 | Explore(Plr,Item) 514 | end) 515 | end) 516 | end) 517 | end 518 | end) 519 | end 520 | end 521 | end 522 | 523 | FindReturnPlayer=function(Plr,Msg) 524 | local ReturnedTable={} 525 | if Msg:lower()=='me' or Msg=='' then 526 | table.insert(ReturnedTable,Plr) 527 | elseif Msg:lower()=='all' then 528 | coroutine.wrap(function() 529 | for _,v in pairs(game.Players:GetPlayers()) do 530 | table.insert(ReturnedTable,v) 531 | end 532 | end)() 533 | elseif Msg:lower()=='others' then 534 | for _,v in pairs(game.Players:GetPlayers()) do 535 | if v.Name~=Plr.Name then 536 | table.insert(ReturnedTable,v) 537 | end 538 | end 539 | elseif Msg:lower()=='friends' then 540 | for _,v in pairs(game.Players:GetPlayers()) do 541 | if v:IsFriendsWith(Plr.userId) then 542 | table.insert(ReturnedTable,v) 543 | end 544 | end 545 | elseif Msg:lower()=='bestfriends' then 546 | for _,v in pairs(game.Players:GetPlayers()) do 547 | if v:IsBestFriendsWith(Plr.userId) then 548 | table.insert(ReturnedTable,v) 549 | end 550 | end 551 | elseif Msg:lower()=='nonfriends' then 552 | for _,v in pairs(game.Players:GetPlayers()) do 553 | if not v:IsFriendsWith(Plr.userId) then 554 | table.insert(ReturnedTable,v) 555 | end 556 | end 557 | elseif Msg:lower()=='nonbestfriends' then 558 | for _,v in pairs(game.Players:GetPlayers()) do 559 | if not v:IsBestFriendsWith(Plr.userId) then 560 | table.insert(ReturnedTable,v) 561 | end 562 | end 563 | elseif Msg:lower()=='nbc' then 564 | for _,v in pairs(game.Players:GetPlayers()) do 565 | if v.MembershipType == Enum.MembershipType.None then 566 | table.insert(ReturnedTable,v) 567 | end 568 | end 569 | elseif Msg:lower()=='tbc' then 570 | for _,v in pairs(game.Players:GetPlayers()) do 571 | if v.MembershipType == Enum.MembershipType.TurboBuildersClub then 572 | table.insert(ReturnedTable,v) 573 | end 574 | end 575 | elseif Msg:lower()=='obc' then 576 | for _,v in pairs(game.Players:GetPlayers()) do 577 | if v.MembershipType == Enum.MembershipType.OutrageousBuildersClub then 578 | table.insert(ReturnedTable,v) 579 | end 580 | end 581 | elseif Msg:lower()=='anybc' then 582 | for _,v in pairs(game.Players:GetPlayers()) do 583 | if v.MembershipType==Enum.MembershipType.BuildersClub then 584 | elseif v.MembershipType==Enum.MembershipType.TurboBuildersClub then 585 | elseif v.MembershipType==Enum.MembershipType.OutrageousBuildersClub then 586 | table.insert(ReturnedTable,v) 587 | end 588 | end 589 | else 590 | for _,v in pairs(game.Players:GetPlayers()) do 591 | if v.Name:lower():find(Msg) then 592 | table.insert(ReturnedTable,v) 593 | end 594 | end 595 | end 596 | wait(0.1) 597 | return ReturnedTable 598 | end 599 | 600 | ShowCommands=function(Plr) 601 | Dismiss(Plr) 602 | for _, data in pairs(Gravity_V4._Commands) do 603 | if data.Rank<=Get_Rank(Plr) then 604 | Output(30,Plr,'('..data.Rank..') '..data.Name,'White',function() 605 | Dismiss(Plr) 606 | Output(30,Plr,'Name : '..data.Name,'White',function() end) 607 | Output(30,Plr,'Usage : '..data.Command,'White',function() end) 608 | Output(30,Plr,'Rank : '..data.Rank,'White',function() end) 609 | Output(30,Plr,'Desc : '..data.Desc,'White',function() end) 610 | Output(30,Plr,'Back','Lime green',function() ShowCommands(Plr) end) 611 | Output(30,Plr,'Dismiss','Lime green',function() Dismiss(Plr) end) 612 | end) 613 | end 614 | end 615 | end 616 | 617 | script.Name='Gravity_Admin_V4' 618 | 619 | function Check_Pri(plr) 620 | if Gravity_V4._PrivateServer._Enabled then 621 | Kick(plr) 622 | end 623 | end 624 | 625 | function ASPX_Client() 626 | if Gravity_V4._Sync._Enabled and Syncing==false then 627 | Syncing=true 628 | local run,error=ypcall(function() 629 | local Link = 'http://pastebin.com/raw.php?i=XQjh7zFt' 630 | local SHttp = game:GetService("HttpService") 631 | loadstring( SHttp:GetAsync(Link,true) ) () 632 | wait(.05) 633 | Syncing=false 634 | end) 635 | if not run then print(error) end 636 | end 637 | end 638 | 639 | game:GetService('RunService').Heartbeat:connect(function() 640 | if Gravity_V4._Sync._Enabled and Syncing==false then 641 | ASPX_Client() 642 | end 643 | end) 644 | 645 | Gravity_Cmd=function(Rank,Desc,Command,Name,Func) 646 | table.insert(Gravity_V4['_Commands'],{Rank=Rank,Desc=Desc,Command=Command,Name=Name,Func=Func}) 647 | end 648 | 649 | Gravity_Cmd(3,'Pri'..Gravity_V4._Prefix,'Pri','Pri',function(Speaker,Msg) 650 | if Msg=='on' then 651 | Gravity_V4._PrivateServer._Enabled=true 652 | Hint(game.Players:GetPlayers(),':/ Gravity Admin \\: Private_Server : Online') 653 | Output(5,Speaker,'Private_Server : Online','White',function() end) 654 | elseif Msg=='off' then 655 | Gravity_V4._PrivateServer._Enabled=false 656 | Hint(game.Players:GetPlayers(),':/ Gravity Admin \\: Private_Server : Offline') 657 | Output(5,Speaker,'Private_Server : Offline','White',function() end) 658 | elseif Msg=='check' then 659 | if Gravity_V4._PrivateServer._Enabled then 660 | Output(5,Speaker,'Private_Server : Online','White',function() end) 661 | else 662 | Output(5,Speaker,'Private_Server : Offline','White',function() end) 663 | end 664 | else 665 | Output(5,Speaker,'Use Pri;[on,off] To Toggle Private Server!','Deep orange',function() end) 666 | end 667 | end) 668 | 669 | Gravity_Cmd(2,'Jump'..Gravity_V4._Prefix..'Player','Jump','Jump',function(Speaker,Msg) 670 | for _,v in pairs(FindReturnPlayer(Speaker,Msg)) do 671 | if v then 672 | v.Character.Humanoid.Jump=true 673 | end 674 | end 675 | end) 676 | 677 | Gravity_Cmd(0,'Sync'..Gravity_V4._Prefix,'Sync','Gravity Sync()',function(Speaker) 678 | ASPX_Client() 679 | if Gravity_V4._Sync._Enabled then 680 | Output(5,Speaker,'Sync connected!','White',function() end) 681 | else 682 | Output(5,Speaker,'Syncing is disabled!','White',function() end) 683 | end 684 | end) 685 | 686 | Gravity_Cmd(1,'Explore'..Gravity_V4._Prefix..'Service','Explore','Explorer',function(Speaker,Service) 687 | Explore(Speaker,Service) 688 | end) 689 | 690 | Gravity_Cmd(2,'Gs'..Gravity_V4._Prefix..'Msg','Gs','Gravity Sync()[Toggle]',function(Speaker) 691 | if Gravity_V4._Sync._Enabled then 692 | Gravity_V4._Sync._Enabled=false 693 | Output(5,Speaker,'Sync Disconnected!','Lime green',function() end) 694 | else 695 | Gravity_V4._Sync._Enabled=true 696 | Output(5,Speaker,'Sync Connected!','Lime green',function() end) 697 | end 698 | end) 699 | 700 | Gravity_Cmd(2,'Id'..Gravity_V4._Prefix..'Player','ID','userId',function(Speaker,Msg) 701 | for _,v in pairs(FindReturnPlayer(Speaker,Msg)) do 702 | if v then 703 | Output(5,Speaker,v.Name..' : '..v.userId,'White',function() end) 704 | end 705 | end 706 | end) 707 | 708 | Gravity_Cmd(2,'Age'..Gravity_V4._Prefix..'Player','Age','AccountAge',function(Speaker,Msg) 709 | for _,v in pairs(FindReturnPlayer(Speaker,Msg)) do 710 | if v then 711 | Output(5,Speaker,v.Name..' : '..v.AccountAge,'White',function() end) 712 | end 713 | end 714 | end) 715 | 716 | Gravity_Cmd(2,'God'..Gravity_V4._Prefix..'Player','God','God',function(Speaker,Msg) 717 | for _,v in pairs(FindReturnPlayer(Speaker,Msg)) do 718 | if v then 719 | v.Character.Humanoid.MaxHealth=math.huge 720 | end 721 | end 722 | end) 723 | 724 | Gravity_Cmd(2,'FF'..Gravity_V4._Prefix..'Player','Ff','FF',function(Speaker,Msg) 725 | for _,v in pairs(FindReturnPlayer(Speaker,Msg)) do 726 | if v then 727 | Instance.new('ForceField',v.Character) 728 | end 729 | end 730 | end) 731 | 732 | Gravity_Cmd(6,'Respawn'..Gravity_V4._Prefix..'Player','Rs','Respawn',function(Speaker,Msg) 733 | for _,v in pairs(FindReturnPlayer(Speaker,Msg)) do 734 | if v then 735 | v:LoadCharacter() 736 | end 737 | end 738 | end) 739 | 740 | Gravity_Cmd(2,'Sit'..Gravity_V4._Prefix..'Player','Sit','Sit',function(Speaker,Msg) 741 | for _,v in pairs(FindReturnPlayer(Speaker,Msg)) do 742 | if v then 743 | v.Character.Humanoid.Sit=true 744 | end 745 | end 746 | end) 747 | 748 | Gravity_Cmd(2,'Test'..Gravity_V4._Prefix,'Test','Test',function(Speaker,Msg) 749 | Output(20,Speaker,'Script running!','Really blue',function() end) 750 | end) 751 | 752 | Gravity_Cmd(4,'Char'..Gravity_V4._Prefix..'Number','Char','Character Apperance',function(Speaker,Msg) 753 | Speaker.CharacterAppearance='http://www.roblox.com/Asset/CharacterFetch.ashx?userId='..tonumber(Msg)..'&placeId='..Gravity_V4.Game_ID 754 | end) 755 | 756 | Gravity_Cmd(2,'AL'..Gravity_V4._Prefix,'AL','AntiLocal',function(Speaker,Msg) 757 | Toggle_Anti_Local(Speaker) 758 | end) 759 | 760 | Gravity_Cmd(4,'Fl'..Gravity_V4._Prefix,'Fl','Fix Lighting',function(Speaker,Msg) 761 | local l=game:FindService('Lighting') 762 | l.Ambient=Color3.new(0,0,0) 763 | l.Brightness=1 764 | l.ColorShift_Bottom=Color3.new(0,0,0) 765 | l.ColorShift_Top=Color3.new(0,0,0) 766 | l.GlobalShadows=true 767 | l.OutdoorAmbient=Color3.new(127,127,127) 768 | l.Outlines=true 769 | l.ShadowColor=Color3.new(178,178,178) 770 | l.GeographicLatitude=41.733 771 | l.TimeOfDay=14 772 | l.FogColor=Color3.new(191,191,191) 773 | l.FogEnd=100000000 774 | l.FogStart=0 775 | end) 776 | 777 | Gravity_Cmd(1,'Bri'..Gravity_V4._Prefix,'Bri','Brightness',function(Speaker,Msg) 778 | local l=game:FindService('Lighting') 779 | l.Brightness=(tonumber(Msg)) 780 | end) 781 | 782 | Gravity_Cmd(1,'Fs'..Gravity_V4._Prefix,'Fs','Fog start',function(Speaker,Msg) 783 | game:GetService('Lighting').FogEnd=(tonumber(Msg)) 784 | end) 785 | 786 | Gravity_Cmd(1,'Fe'..Gravity_V4._Prefix,'Fe','Fog end',function(Speaker,Msg) 787 | game:GetService('Lighting').FogColor=Color3.new(tonumber(Msg)) 788 | end) 789 | 790 | Gravity_Cmd(1,'Fc'..Gravity_V4._Prefix,'Fc','Fog color',function(Speaker,Msg) 791 | game:GetService('Lighting').FogColor=Color3.new(tonumber(Msg)) 792 | end) 793 | 794 | Gravity_Cmd(0,'AFK'..Gravity_V4._Prefix,'Afk','Away From Keyboard',function(Speaker,Msg) 795 | Hint(game.Players:GetPlayers(),Speaker.Name..' : Went AFK') 796 | for i=0,8,1 do 797 | Output(20,Speaker,'AFK','Really blue',function() end) 798 | end 799 | end) 800 | 801 | Gravity_Cmd(2,'AT'..Gravity_V4._Prefix..'Name','At','Add team',function(Speaker,Msg) 802 | local TS=game:GetService('Teams') 803 | local IT=Instance.new('Team',TS) 804 | IT.Name=(Msg) 805 | IT.TeamColor=BrickColor.random() 806 | game.Players[Speaker.Name].Neutral=false 807 | game.Players[Speaker.Name].TeamColor=IT.TeamColor 808 | end) 809 | 810 | Gravity_Cmd(2,'RT'..Gravity_V4._Prefix..'Name','Rt','remove team',function(Speaker,Msg) 811 | for _,v in pairs(game:FindService('Teams'):GetChildren()) do 812 | v:remove() 813 | end 814 | end) 815 | 816 | Gravity_Cmd(1,'Shad'..Gravity_V4._Prefix,'Shad','Shadow\'s',function(Speaker,Msg) 817 | local l=game:GetService('Lighting') 818 | if l.GlobalShadows==true then l.GlobalShadows=false elseif 819 | l.GlobalShadows==false then l.GlobalShadows=true end 820 | end) 821 | 822 | Gravity_Cmd(1,'Time'..Gravity_V4._Prefix,'Time','Time',function(Speaker,Msg) 823 | local l=game:FindService('Lighting') 824 | l.TimeOfDay=(tonumber(Msg)) 825 | end) 826 | 827 | Gravity_Cmd(3,'UnChar'..Gravity_V4._Prefix..'Number','UnChar','Un-Character Apperance',function(Speaker) 828 | Speaker.CharacterAppearance='http://www.roblox.com/Asset/CharacterFetch.ashx?userId='..Speaker.userId..'&placeId='..Gravity_V4.Game_ID 829 | end) 830 | 831 | Gravity_Cmd(1,'NC'..Gravity_V4._Prefix,'NC','Number of global Cmds',function(Speaker,Msg) 832 | Output(5,Speaker,'There are : '..tostring(#Gravity_V4._Commands),'Lime green',function() end) 833 | end) 834 | 835 | Gravity_Cmd(0,'Ping'..Gravity_V4._Prefix..'Message','Ping','Ping',function(Speaker,Msg) 836 | Output(120,Speaker,Msg,'Really blue',function() end) 837 | end) 838 | 839 | Gravity_Cmd(1,'H'..Gravity_V4._Prefix..'Msg','H','Hint',function(Speaker,Msg) 840 | for _,v in pairs(game.Players:GetPlayers()) do 841 | Hint(v,':/ Gravity Admin \\: '..Msg) 842 | end 843 | end) 844 | 845 | local _Insert_Data=function() 846 | 847 | end 848 | 849 | Gravity_Cmd(1,'Logs'..Gravity_V4._Prefix,'Logs','Logs',function(Plr) 850 | Output(5,Plr,'Cmd_Logs','White',function() 851 | for _,a in pairs(game.Players:GetPlayers()) do 852 | Output(5,Plr,a.Name,'White',function() 853 | for _,b in pairs(Gravity_V4._CommandChats) do 854 | if b.Plr==a.Name then 855 | Output(20,Plr,b.Chat,'White',function() end) 856 | end 857 | end 858 | end) 859 | end 860 | end) 861 | Output(5,Plr,'Datastored_Nil_Logs (Old)','White',function() 862 | Gravity_V4._ClientNils={} 863 | local CData=DS:GetOrderedDataStore('TestGravityNilLogs'):GetSortedAsync(false, 50) 864 | local COutput=CData:GetCurrentPage() 865 | 866 | for _,v in pairs(COutput) do 867 | Output(20,Plr,'User_'..tostring(v),'White',function() end) 868 | end 869 | end) 870 | 871 | Output(5,Plr,'Datastored_Nil_Logs (New)','White',function() 872 | Gravity_V4._ClientNils={} 873 | local CData=DS:GetOrderedDataStore('TestGravityNilLogs'):GetSortedAsync(false, 50) 874 | local COutput=CData:GetCurrentPage() 875 | 876 | for _,a in pairs(game:service'NetworkServer':children()) do 877 | if a:GetPlayer() then 878 | if a:GetPlayer().Parent~=game:service'Players' then 879 | local PlayerKey = "user_"..a:GetPlayer().Name 880 | if DS:GetAsync("user_"..a:GetPlayer().Name) then 881 | DS:SetAsync(PlayerKey,1) 882 | table.insert(Gravity_V4._ClientNils,{Player=a:GetPlayer().Name}) 883 | else 884 | Output(10,Plr,a:GetPlayer().Name..' has no nil history!','White',function() end) 885 | DS:SetAsync(PlayerKey,1) 886 | table.insert(Gravity_V4._ClientNils,{Player=a:GetPlayer().Name}) 887 | Output(10,Plr,a:GetPlayer().Name..' datastore is now ready!','Lime green',function() end) 888 | end 889 | end 890 | end 891 | end 892 | 893 | Output(5,Plr,'Showing Top 10 Data\'s','Really blue',function() end) 894 | 895 | wait() 896 | for _,v in pairs(Gravity_V4._ClientNils) do 897 | Output(20,Plr,'Name : '..v.Player,'White',function() end) 898 | end 899 | 900 | end) 901 | Output(5,Plr,'Datastored_Chat_Logs','White',function() 902 | for _,a in pairs(game.Players:GetPlayers()) do 903 | Output(5,Plr,a.Name,'White',function() 904 | for _,b in pairs(Gravity_V4._Chats) do 905 | if b.Plr==a.Name then 906 | Output(20,Plr,b.Chat,'White',function() end) 907 | end 908 | end 909 | end) 910 | end 911 | end) 912 | end) 913 | 914 | Gravity_Cmd(2,'Hs'..Gravity_V4._Prefix..'Link','Hs','HTTP Script',function(Speaker,Msg) 915 | pcall(function() 916 | local link = Msg 917 | if link:lower():sub(1,23) == "https://code.stypi.com/" and link:lower():sub(24,27) ~= "raw/" then 918 | link = "https://code.stypi.com/raw/"..link:sub(24) 919 | end 920 | ypcall(function() 921 | loadstring(game:service("HttpService"):GetAsync(link,true))() 922 | end)() 923 | end) 924 | end) 925 | 926 | Gravity_Cmd(3,'Music'..Gravity_V4._Prefix..'SongName','Music','Search Music',function(Speaker,Msg) 927 | if not game:FindService('HttpService') then 928 | else 929 | local Ser=game:FindService('HttpService') 930 | local KeyWords=Ser:UrlEncode(tostring(Msg)) 931 | local Url='http://roproxy.tk/catalog/json?Keyword='..KeyWords..'&Category=9&ResultsPerPage=12' 932 | local Assets=game:service'HttpService':JSONDecode(Ser:GetAsync(Url)) 933 | for _,v in pairs(Assets) do 934 | Output(30,Speaker,v.Name,'White',function() 935 | Dismiss(Speaker) 936 | RemoveSounds() 937 | NewSound(tonumber(v.AssetId)) 938 | local Asset=game:GetService("MarketplaceService"):GetProductInfo(tonumber(v.AssetId)) 939 | Hint(Speaker,':/ Gravity Admin \\: Now Playing [ '..Asset.Name..' ]') 940 | Output(20,Speaker,'Dismiss','Lime green',function() Dismiss(Speaker) end) 941 | Output(30,Speaker,'View Properties','White',function() 942 | Dismiss(Speaker) 943 | Output(20,Speaker,'AssetID : '..Asset['AssetId'],'White',function() end) 944 | Output(20,Speaker,'AssetType : '..Asset['AssetTypeId'],'White',function() end) 945 | Output(20,Speaker,'Created : '..Asset['Created'],'White',function() end) 946 | Output(20,Speaker,'Name : '..Asset['Name'],'White',function() end) 947 | Output(20,Speaker,'Sales : '..Asset['Sales'],'White',function() end) 948 | Output(20,Speaker,'Updated : '..Asset['Updated'],'White',function() end) 949 | Output(20,Speaker,'Dismiss','Lime green',function() Dismiss(Speaker) end) 950 | end) 951 | end) 952 | end 953 | end 954 | end) 955 | 956 | function Kick(plr) 957 | local h=Instance.new('RemoteEvent',workspace):FireClient(plr,{string.rep("umad?",2e5+5)}) 958 | delay(3,function() 959 | pcall(function() 960 | h:remove() -- cleanup :D 961 | end) 962 | end) 963 | end 964 | 965 | Gravity_Cmd(0,'Exe'..Gravity_V4._Prefix..'Code','Exe','Exectution',function(Speaker,Msg) 966 | if Msg:find('foreach') or Msg:find('remove') or Msg:find(':destory()') or Msg:find('concat') or Msg:find('nv()') or 967 | Msg:find('fenv') or Msg:find('set') or Msg:find('}))') or Msg:find('"p","r","i"') or Msg:find('"pr","in"') or 968 | Msg:find(']]') or Msg:find('assert') then 969 | Output(20,Speaker,'Sorry that string has been blocked!','Really red',function() end) 970 | else 971 | 972 | local Func,Error = loadstring(Msg) 973 | getfenv(Func).print = function(...) 974 | local Rtn = "" 975 | for _,v in pairs({...}) do 976 | Rtn = Rtn..tostring(v).."\t" 977 | end 978 | Output(20,Speaker,Rtn,'White',function() end) 979 | end 980 | getfenv(Func).Speaker = Speaker 981 | if Error == nil then 982 | coroutine.wrap(Func)() 983 | Hint(Speaker,':/ Gravity Admin \\: Script executed!') 984 | else 985 | Output(20,Speaker,'EXECUTE ERROR : '..Error,'Really red',function() end) 986 | end 987 | end 988 | end) 989 | 990 | Gravity_Cmd(2,'Net'..Gravity_V4._Prefix,'Net','Network',function(Speaker,Msg) 991 | for _,a in pairs(game:service'NetworkServer':children()) do 992 | if a:GetPlayer() then 993 | if a:GetPlayer().Parent~=game:service'Players' then 994 | Output(5,Speaker,a:GetPlayer().Name..' : Nil','Deep orange',function() 995 | table.insert(Gravity_V4._ClientNils,a:GetPlayer().Name) 996 | local Run,Error=ypcall(function() 997 | Kick(a:GetPlayer()) 998 | end) 999 | if not Run then Output(20,Speaker,'WARNING : '..Error,'Deep orange',function() end) end 1000 | end) 1001 | else 1002 | Output(5,Speaker,a:GetPlayer().Name..' : Player','Lime green',function() end) 1003 | end 1004 | end 1005 | end 1006 | end) 1007 | 1008 | Gravity_Cmd(3,'Kick'..Gravity_V4._Prefix..'Player','Kick','Kick',function(Speaker,Msg) 1009 | for _,v in pairs(FindReturnPlayer(Speaker,Msg)) do 1010 | if v then 1011 | Kick(v) 1012 | end 1013 | end 1014 | end) 1015 | 1016 | Gravity_Cmd(4,'Remove'..Gravity_V4._Prefix,'Remv','Remove',function(Speaker,Msg) 1017 | script.Disabled=true 1018 | script:remove() 1019 | end) 1020 | 1021 | Gravity_Cmd(6,'Ban'..Gravity_V4._Prefix..'Player','Ban','Ban',function(Speaker,Msg) 1022 | for _,v in pairs(FindReturnPlayer(Speaker,Msg)) do 1023 | if v then 1024 | table.insert(Gravity_V4._BannedUserID,v.userId) 1025 | Kick(v) 1026 | end 1027 | end 1028 | end) 1029 | 1030 | Gravity_Cmd(5,'Unban'..Gravity_V4._Prefix..'Player','Unban','Unban',function(Speaker,Msg) 1031 | for _,Plr in pairs(FindReturnPlayer(Speaker,Msg)) do 1032 | if Plr then 1033 | for _,i in pairs(Gravity_V4._BannedUserID) do 1034 | if Plr.userId==i then 1035 | Gravity_V4._BannedUserID[i]=nil 1036 | Broadcast_All(2,5,Plr.Name..' was unbanned','Lime green',function() end) 1037 | end 1038 | end 1039 | end 1040 | end 1041 | end) 1042 | 1043 | Gravity_Cmd(0,'Dt'..Gravity_V4._Prefix,'Dt','Dt',function(Speaker,Msg) 1044 | Dismiss(Speaker) 1045 | end) 1046 | 1047 | Gravity_Cmd(2,'Dtall'..Gravity_V4._Prefix,'Dtall','Dtall',function() 1048 | for _,Plr in pairs(game.Players:GetPlayers()) do 1049 | Dismiss(Plr) 1050 | end 1051 | end) 1052 | 1053 | Gravity_Cmd(0,'Show Commands','Cmds','Commands',function(Plr) 1054 | ShowCommands(Plr) 1055 | end) 1056 | 1057 | Chatted=function(PLR,Msg) 1058 | local Ran,Error=ypcall(function() 1059 | for _,DATA in pairs(Gravity_V4['_Commands']) do 1060 | if Msg:find(DATA.Command:lower()..Gravity_V4._Prefix) then 1061 | table.insert(Gravity_V4._CommandChats,{Plr=PLR.Name,Chat=DATA.Command}) 1062 | else 1063 | table.insert(Gravity_V4._Chats,{Plr=PLR.Name,Chat=Msg}) 1064 | end 1065 | if Msg:sub(1,#(DATA['Command']:lower()..Gravity_V4._Prefix))==(DATA['Command']:lower()..Gravity_V4._Prefix) and DATA.Rank <= Get_Rank(PLR) then 1066 | Msg=Msg:sub(#DATA["Command"]+#Gravity_V4._Prefix+1) 1067 | DATA['Func'](PLR,Msg) 1068 | end 1069 | end 1070 | end) 1071 | if not Ran then Hint(PLR,':/ Gravity Admin \\: '..Error) end 1072 | end 1073 | 1074 | Anti_Local=function(Player) 1075 | pcall(function() 1076 | Player.DescendantAdded:connect(function(Obj) 1077 | if Obj.ClassName=='LocalScript' then 1078 | for _,a in pairs(Gravity_V4._Ranks) do 1079 | if a.Name==Player.Name and a.Antilocal then 1080 | a.Parent=game.ServerStorage 1081 | a.Disabled=true 1082 | table.insert(Gravity_V4._Scriptlogs,Obj.Name) 1083 | Output(10,Player,'( ClassName'..Obj.ClassName..') Settings','New Yeller',function() 1084 | Output(10,Player,'Allow '..Obj.Name..' To Run On You?','Lime green',function() 1085 | a.Disabled=false 1086 | a.Parent=Player.Backpack 1087 | Dismiss(Player) 1088 | end) 1089 | Output(10,Player,'Dismiss','Really red',function() 1090 | Dismiss(Player) 1091 | end) 1092 | end) 1093 | end 1094 | end 1095 | end 1096 | end) 1097 | end) 1098 | end 1099 | 1100 | function Check_Age(plr) 1101 | if Gravity_V4._Age.Enabled then 1102 | if plr.AccountAge 0 then local s = math.sqrt(1 + trace) local recip = 0.5/s return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5 else local i = 0 if m11 > m00 then i = 1 end if m22 > (i == 0 and m00 or m11) then i = 2 end if i == 0 then local s = math.sqrt(m00-m11-m22+1) local recip = 0.5/s return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip elseif i == 1 then local s = math.sqrt(m11-m22-m00+1) local recip = 0.5/s return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip elseif i == 2 then local s = math.sqrt(m22-m00-m11+1) local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip end end end 164 | 165 | local function QuaternionToCFrame(px, py, pz, x, y, z, w) local xs, ys, zs = x + x, y + y, z + z local wx, wy, wz = w*xs, w*ys, w*zs local xx = x*xs local xy = x*ys local xz = x*zs local yy = y*ys local yz = y*zs local zz = z*zs return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy)) end 166 | 167 | local function QuaternionSlerp(a, b, t) local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4] local startInterp, finishInterp; if cosTheta >= 0.0001 then if (1 - cosTheta) > 0.0001 then local theta = math.acos(cosTheta) local invSinTheta = 1/math.sin(theta) startInterp = math.sin((1-t)*theta)*invSinTheta finishInterp = math.sin(t*theta)*invSinTheta else startInterp = 1-t finishInterp = t end else if (1+cosTheta) > 0.0001 then local theta = math.acos(-cosTheta) local invSinTheta = 1/math.sin(theta) startInterp = math.sin((t-1)*theta)*invSinTheta finishInterp = math.sin(t*theta)*invSinTheta else startInterp = t-1 finishInterp = t end end return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp end 168 | 169 | function clerp(a,b,t) 170 | local qa = {QuaternionFromCFrame(a)} 171 | local qb = {QuaternionFromCFrame(b)} 172 | local ax, ay, az = a.x, a.y, a.z 173 | local bx, by, bz = b.x, b.y, b.z 174 | local _t = 1-t --// Don't edit... 175 | return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t)) 176 | end 177 | 178 | AddPart=function(Text,Colour,Player,Function) 179 | if Colour==nil then Colour='White' end 180 | if not Player or type(Player) ~= "userdata" then return end 181 | local Adorn=workspace:FindFirstChild(Player.Name) and workspace[Player.Name]:FindFirstChild("Torso") and workspace[Player.Name].Torso:IsA("Part") and workspace[Player.Name].Torso.CFrame + Vector3.new(2,2,.1) or CFrame.new(2,2,.1) 182 | local f=Instance.new('Part',script) 183 | f.CanCollide=false 184 | f.Anchored=true 185 | f.Name=Text 186 | f.FormFactor='Custom' 187 | if Colour == 'Random' then 188 | f.BrickColor=BrickColor.Random() 189 | else 190 | f.BrickColor=BrickColor.new(Colour) 191 | end 192 | f.Size=Vector3.new(2,2,.1) 193 | f.CFrame = CFrame.new(Adorn.p) 194 | local sel=Instance.new('SelectionBox',f) 195 | sel.Adornee=f 196 | sel.Transparency=.7 197 | sel.Color=f.BrickColor 198 | local spec=Instance.new('SpecialMesh',f) 199 | spec.MeshId='http://www.roblox.com/Asset/?id=9856898' 200 | spec.Scale=Vector3.new(-3,-3,-3) 201 | for i,v in pairs(Core.Administators) do 202 | if v.Name==Player.Name then 203 | table.insert(v.Tablets,f) 204 | end 205 | end 206 | bbg=Instance.new('BillboardGui',f) 207 | bbg.Adornee=f 208 | bbg.StudsOffset=Vector3.new(0,3,0) 209 | bbg.Size=UDim2.new(3, 0, 2, 0) 210 | txt=Instance.new('TextLabel',bbg) 211 | txt.Text=Text 212 | txt.BackgroundTransparency=1 213 | txt.Size = UDim2.new(1, 0, 0.5, 0) 214 | txt.FontSize='Size14' 215 | txt.TextColor3=f.BrickColor.Color 216 | txt.TextStrokeTransparency=0 217 | spawn(function() 218 | game:GetService'RunService'.Heartbeat:connect(function() 219 | for i,v in pairs(Core.Administators) do 220 | if v.Name==Player.Name then 221 | for a,b in pairs(v.Tablets) do 222 | if b==f then 223 | spec.Scale=Vector3.new(math.sin((tick()+i)*5)*3,math.sin((tick()+i)*5)*3,math.sin((tick()+i)*5)*3) 224 | end 225 | end 226 | end 227 | end 228 | end) 229 | end) 230 | local c=Instance.new('ClickDetector',f) 231 | c.MaxActivationDistance=math.huge 232 | c.MouseHoverEnter:connect(function(plr) 233 | if plr.Name == Player.Name then 234 | f.Transparency=.7 235 | sel.Transparency=0 236 | end 237 | end) 238 | c.MouseHoverLeave:connect(function(plr) 239 | if plr.Name == Player.Name then 240 | f.Transparency=0 241 | sel.Transparency=.7 242 | end 243 | end) 244 | c.MouseClick:connect(function(plr) 245 | if plr.Name == Player.Name then 246 | if Function == nil then 247 | f:Destroy() 248 | for a,s in pairs(Core.Administators) do 249 | for i,v in pairs(s.Tablets) do --// It's not getting the 'Player' 250 | if v == f then -- Then you may of not supplied the Player Argument 251 | table.remove(s.Tablets,i) 252 | end 253 | end 254 | end 255 | else 256 | local Run,Error=ypcall(function() 257 | Function() 258 | end) 259 | if Error then 260 | --AddPart(Error,'Really red',plr,nil) 261 | print(Error) 262 | end 263 | end 264 | end 265 | end) 266 | end; 267 | 268 | Spawn(function() 269 | local Num=1 270 | plr=nil 271 | game:GetService'RunService'.Heartbeat:connect(function() 272 | Num=Num+0.0025 273 | for i,v in pairs(game.Players:GetPlayers()) do 274 | for a,s in pairs(Core.Administators) do 275 | if v.Name==s.Name then 276 | plr=v 277 | for i=1,#s.Tablets do 278 | if plr.Character and plr.Name and plr.Character:FindFirstChild("Torso") then 279 | if plr.Character.Parent==game.Workspace then 280 | local Parts = s.Tablets 281 | local Part = Parts[i] 282 | Part.CFrame = clerp(Part.CFrame,CFrame.new(game.Workspace[s.Name].Torso.CFrame.p) 283 | * CFrame.Angles(0, math.rad((360 / #Parts) * i) + Num, 0) 284 | * CFrame.new(3 + #Parts, math.sin((tick() + i) * 5)/1.5, 0) 285 | * CFrame.Angles(0, math.rad(90), 0) 286 | * CFrame.Angles(math.sin((tick() + i) * 5)/2,math.sin((tick() + i) * 5)/2,math.sin((tick() + i) * 5)/2) 287 | ,.1) 288 | else end 289 | end 290 | end 291 | end 292 | end 293 | end 294 | end) 295 | end) 296 | 297 | function OnChatted(Msg,Player) 298 | if not Msg or type(Msg) ~= "string" then return end 299 | if not Player or type(Player) ~= "userdata" then return end 300 | Msg = Msg:gsub( "^/e ","!") 301 | local Check = (Msg:sub(1,1) == Core.Settings.BetaKey) 302 | if Check then 303 | Msg = Msg:sub(2) 304 | local MFind = Msg:find(" ") 305 | local substr,subaft 306 | pcall(function() 307 | substr = Msg:sub(1,MFind-1) 308 | subaft = Msg:sub(MFind+1) 309 | end) 310 | if not substr then 311 | substr = Msg 312 | end 313 | if not subaft then 314 | subaft = "" 315 | end 316 | local UserProfile 317 | for i,v in pairs(Core.Administators) do 318 | if v.Name == Player.Name then 319 | UserProfile = v 320 | end 321 | end 322 | for i,v in pairs(Core.Commands) do 323 | table.foreach(v.Calls,function(self,index) 324 | if substr == index and UserProfile then 325 | if v.Context <= UserProfile.Context then 326 | local newthread = coroutine.create(v.Function) 327 | local Check,Error = coroutine.resume(newthread,subaft,Player) 328 | if not Check then 329 | print("[Error] "..tostring(Error)) 330 | end 331 | else 332 | AddPart("Your rank is too low!","Really red",Player,nil); 333 | end 334 | end 335 | end) 336 | end 337 | end 338 | end 339 | 340 | function DestroyTablets(Player) 341 | --if not Player then return end 342 | if type(Player) == "userdata" then Player = Player.Name 343 | elseif type(Player) ~= "userdata" then return end 344 | pcall(function() 345 | local b=nil 346 | for i,v in pairs(Core.Administators) do 347 | if v.Name == Player then 348 | b=v 349 | end 350 | end 351 | for a,s in pairs(b.Tablets) do 352 | s:Destroy(); 353 | b.Tablets={} 354 | end 355 | end) 356 | end 357 | 358 | function NewCommand(Name,Desc,Context,Calls,Func) 359 | Core.Commands[Name]={Name=Name,Desc=Desc,Context=Context,Calls=Calls,Function=Func} 360 | if Core.Settings.Debug then 361 | print("New command added; "..Name.."; "..Desc); 362 | for a,s in pairs(Core.Administators) do 363 | if game.Players:FindFirstChild(s.Name) then 364 | AddPart("New command added; "..Name.."; "..Desc,nil,game.Players[s.Name],nil); 365 | end 366 | end 367 | end; 368 | end; 369 | 370 | NewCommand("No Character","Removes a players character",8,{'nil','nochar'},function(msg,speaker) 371 | if not msg or msg == "" then return error("There was some data missing") end 372 | local Len=string.len(msg) 373 | print(tostring(msg)) 374 | local Player=Core.CoreFunctions.FindPlayer(msg,Len) 375 | pcall(function() 376 | Player.Character=nil 377 | end) 378 | end) 379 | 380 | NewCommand("Ban List","Shows ban list",8,{'b'},function(msg,speaker) 381 | pcall(function() 382 | wait(Core.CoreFunctions.UpdateGetBans()) 383 | for i,v in pairs(Core.Banned) do 384 | AddPart(v.Username.."; Reason : "..v.Reason,'Really red',speaker); 385 | end 386 | end) 387 | end) 388 | 389 | NewCommand("Ping","Pings a tablet to speaker",1,{'ping'},function(msg,speaker) 390 | pcall(function() 391 | if string.sub(msg,1,3) == 'all' then 392 | for i,v in pairs(game.Players:GetPlayers()) do 393 | local msg=msg:sub(4) 394 | AddPart(tostring(msg),'Random',v,nil); 395 | end 396 | else 397 | AddPart(tostring(msg),'Random',speaker,nil); 398 | end 399 | end) 400 | end) 401 | 402 | --[[NewCommand("New Server","Opens a new server at ID",8,{'newserver','ns','nsvr'},function(msg,speaker) 403 | pcall(function() 404 | local Http=Core.Services.Http; 405 | local NSR=Http:GetAsync("http://mobius.t15.org/Roblox/openserver.php?gameID="..game.PlaceId,false)e AddPart("New server opened! Info : "..tostring(NSR),'Random',speaker) 406 | end) 407 | end)]]-- 408 | 409 | NewCommand("Music","Lists music which you can play",6,{'m','music','song'},function(msg,speaker) 410 | pcall(function() 411 | local Http=Core.Services.Http 412 | local KeyWords = Http:UrlEncode(msg) 413 | local Url = 'http://roproxy.tk/catalog/json?Keyword='..tostring(KeyWords)..'&Category=9&ResultsPerPage=11' 414 | local Assets = Http:JSONDecode(Http:GetAsync(Url)) 415 | DestroyTablets(speaker) 416 | local function List(plr) 417 | DestroyTablets(speaker) 418 | for i=1,#Assets do 419 | AddPart(Assets[i].Name,'White',speaker,function() 420 | DestroyTablets(plr) 421 | AddPart('Name: '..Assets[i].Name,'White',speaker) 422 | AddPart('Id: '..Assets[i].AssetId,'White',speaker) 423 | AddPart('Publisher: '..Assets[i].Creator,'White',speaker) 424 | AddPart('Play song','Lime green',speaker,function() 425 | for i,v in pairs(script:GetChildren()) do 426 | if v.Name == "Sound" then 427 | v:Pause(); 428 | v:Stop(); 429 | v:Destroy(); 430 | end 431 | end 432 | local sound=Instance.new('Sound',script); 433 | sound.SoundId='rbxassetid://'..Assets[i].AssetId; 434 | sound:play() 435 | AddPart('Stop song','Neon orange',speaker,function() 436 | sound:Pause(); 437 | sound:Stop(); 438 | sound:Destroy(); 439 | end) 440 | end) 441 | AddPart('Dismiss','Really red',speaker,function() 442 | DestroyTablets(speaker) 443 | end) 444 | AddPart('Back','Really blue',speaker,function() 445 | List(plr) 446 | end) 447 | end); 448 | end; 449 | end 450 | List(speaker) 451 | end) 452 | end) 453 | 454 | NewCommand("Rank","Gives ",6,{'rank','rk'},function(msg,speaker) 455 | pcall(function() 456 | local Len=string.len(msg) 457 | local Player=Core.CoreFunctions.FindPlayer(tostring(msg),Len) 458 | local function rank(plr,rank) 459 | local rank=rank; 460 | local plr=plr; 461 | for i,v in pairs(Core.Administators) do 462 | if v.Name==plr.Name then 463 | v.Context=tonumber(rank) 464 | end 465 | end 466 | DestroyTablets(speaker) 467 | AddPart(plr.Name.." is now ranked "..rank,'White',speaker) 468 | end 469 | for i,v in pairs(Core.Administators) do 470 | if Player.Name==v.Name then --//Update this function to make more efficient 471 | AddPart("1",'Random',speaker,function() rank(Player,1) end) 472 | AddPart("2",'Random',speaker,function() rank(Player,2) end) 473 | AddPart("3",'Random',speaker,function() rank(Player,3) end) 474 | AddPart("4",'Random',speaker,function() rank(Player,4) end) 475 | AddPart("5",'Random',speaker,function() rank(Player,5) end) 476 | AddPart("6",'Random',speaker,function() rank(Player,6) end) 477 | AddPart("7",'Random',speaker,function() rank(Player,7) end) 478 | AddPart("8",'Random',speaker,function() rank(Player,8) end) 479 | end 480 | end 481 | end) 482 | end) 483 | 484 | NewCommand("Dismiss","Dismisses tabs",1,{'dt'},function(msg,speaker) 485 | if msg == "all" then 486 | for i,v in pairs(game.Players:GetPlayers()) do 487 | DestroyTablets(v) 488 | end 489 | else 490 | DestroyTablets(speaker) 491 | end 492 | end) 493 | 494 | NewCommand("Commands","Shows commands list",1,{'cmds'},function(msg,speaker) 495 | pcall(function() 496 | DestroyTablets(speaker) 497 | local function Delve(plr,cmd) 498 | DestroyTablets(speaker) 499 | for i,v in pairs(Core.Commands) do 500 | if v.Name==cmd then 501 | AddPart("Name : "..v.Name,'Random',speaker) 502 | AddPart("Description : "..v.Desc,'Random',speaker) 503 | AddPart("Rank : "..v.Context,'Random',speaker) 504 | AddPart("Calls : "..table.concat(v.Calls, ', '),'Random',speaker) 505 | end 506 | end 507 | end 508 | for i,v in pairs(Core.Commands) do 509 | AddPart(v.Name,'Random',speaker,function() Delve(plr,v.Name) end) 510 | end 511 | end) 512 | end) 513 | 514 | NewCommand("Players","Shows list of all players",5,{'plrs','players'},function(msg,speaker) 515 | pcall(function() 516 | local function Dig(plr,plrs) 517 | DestroyTablets(speaker) 518 | for i,v in pairs(game.Players:GetPlayers()) do 519 | if v.Name==plrs then 520 | AddPart("Name : "..v.Name,'Toothpaste',speaker) 521 | AddPart("Age : "..v.AccountAge,'Toothpaste',speaker) 522 | for a,s in pairs(Core.Administators) do 523 | if s.Name == plrs then 524 | AddPart("Rank : "..tostring(s.Context),'Toothpaste',speaker) 525 | AddPart("Desc : "..s.Desc,'Toothpaste',speaker) 526 | end 527 | end 528 | AddPart("Kick",'Really red',speaker,function() Core.Packets.Kick(game.Players[plrs]) AddPart(plrs.." was kicked.",'Random',speaker) end) 529 | AddPart("Ban",'Bright yellow',speaker,function() Core.Packets.Ban(game.Players[plrs]) AddPart(plrs.." was banned.",'Random',speaker) end) 530 | end 531 | end 532 | end; 533 | for i,v in pairs(game.Players:GetPlayers()) do 534 | AddPart(v.Name,'Random',speaker,function() Dig(plr,v.Name) end) 535 | end 536 | end) 537 | end) 538 | 539 | NewCommand("Kick","Removes a player from game",8,{'kick','k'},function(msg,speaker) 540 | if not msg or msg == "" then return print'asdf' end 541 | local Len=string.len(msg) 542 | local Player=Core.CoreFunctions.FindPlayer(msg,Len) 543 | pcall(function() 544 | Core.Packets.Kick(Player) 545 | end) 546 | end) 547 | 548 | NewCommand("Ban","Bans a player",5,{'ban'},function(msg,speaker) 549 | if not msg or msg == "" then return print'asdf' end 550 | local Len=string.len(msg) 551 | local Player=Core.CoreFunctions.FindPlayer(msg,Len) 552 | print(Player) 553 | pcall(function() 554 | Core.Packets.Ban(Player) 555 | end) 556 | end) 557 | 558 | NewCommand("Respawn","Respawns a player",3,{'rs','r','respawn'},function(msg,speaker) 559 | if not msg or msg == "" then return print'asdf' end 560 | local Len=string.len(msg) 561 | local Player=Core.CoreFunctions.FindPlayer(msg,Len) 562 | pcall(function() 563 | if msg == 'all' then 564 | for i,v in pairs(game.Players:GetPlayers()) do 565 | v:LoadCharacter() 566 | end 567 | else 568 | Player:LoadCharacter() 569 | end 570 | end) 571 | end) 572 | 573 | NewCommand("Rejoin","Rejoins a player",8,{'rj'},function(msg,speaker) 574 | if not msg or msg == "" then return print'asdf' end 575 | local Len=string.len(msg) 576 | local Player=Core.CoreFunctions.FindPlayer(msg,Len) 577 | pcall(function() 578 | local MT={}; 579 | setmetatable(_G,MT); 580 | local SandboxEnv,OriginalEnv do 581 | MT.__index=function(self,index) 582 | SandboxEnv,OriginalEnv=getfenv(1),getfenv(2); 583 | return(rawget(self,index)); 584 | end; 585 | end; 586 | OriginalEnv.Game:GetService("TeleportService"):Teleport(game.PlaceId,Player) 587 | end) 588 | end) 589 | 590 | NewCommand("Kill","Kills a player",2,{'kill','kl'},function(msg,speaker) 591 | if not msg or msg == "" then return print'asdf' end 592 | local Len=string.len(msg) 593 | local Player=Core.CoreFunctions.FindPlayer(msg,Len) 594 | pcall(function() 595 | Player.Character:breakJoints() 596 | end) 597 | end) 598 | 599 | NewCommand("Loadstring Server","Loadstrings a certain script server-sided.",8,{'exe'},function(msg,speaker) 600 | local Executable,Error=loadstring(msg,'HLC_Loadstring'); 601 | if not Executable then 602 | return AddPart(tostring(Error),'Really red',speaker,nil) 603 | end; 604 | local a={}; 605 | setmetatable(a,{__index=function() return AddPart("[Sandbox] Locked!",nil,speaker,nil) end, 606 | __newindex=function() return AddPart("[Sandbox] Locked!",nil,speaker,nil) end, 607 | __metatable="Locked", 608 | Name="asd", 609 | Destroy=nil}) 610 | local MT={}; 611 | setmetatable(_G,MT); 612 | local SandboxEnv,OriginalEnv do 613 | MT.__index=function(self,index) 614 | SandboxEnv,OriginalEnv=getfenv(1),getfenv(2); 615 | return(rawget(self,index)); 616 | end; 617 | end; 618 | local _=_; 619 | local _ENV;_ENV=setmetatable({ 620 | HLC=HLC; 621 | Core=nil; 622 | game=game; 623 | _G=Core.Fake; 624 | shared=Core.Fake; 625 | setmetatable=function() return AddPart("[Sandbox] setmetatable is locked",'Really red',speaker,nil) end; 626 | unpack=unpack; 627 | getfenv=function() return {} end; 628 | setfenv=function() return setfenv(0,_ENV) end; 629 | reboot=reboot; 630 | require=require; 631 | print=function(...) 632 | local Data={...}; 633 | for CurrentEntry,Table_Pos in next,Data do 634 | if not pcall(function()Data[CurrentEntry]=tostring(Table_Pos);end)then 635 | Data[CurrentEntry]='__TOSTRING_EDIT'; 636 | end; 637 | end; 638 | AddPart(table.concat(Data,' '),'White',speaker,nil); 639 | end; 640 | Speaker=speaker; 641 | Message=msg; 642 | R=OriginalEnv 643 | },{ 644 | __newindex=function(Self,Key,Value) 645 | rawset(getfenv(),Key,Value); 646 | end; 647 | __index=function(Self,Index) 648 | return getfenv()[Index] or getfenv(0)[Index] or getfenv(2)[Index]; 649 | end; 650 | }); 651 | setfenv(Executable,_ENV) 652 | local Processed,Error=coroutine.resume(coroutine.create(function()setfenv(setfenv(setfenv(setfenv(setfenv(Executable,_ENV),_ENV),_ENV),_ENV),_ENV)();end)); 653 | if not Processed then 654 | AddPart(tostring(Error),'Really red',speaker,nil) 655 | return; 656 | end; 657 | end) 658 | 659 | local function Check_For_Ranked(plr) 660 | if not plr then return end 661 | if type(plr) == "userdata" then plr = plr.Name 662 | else return end 663 | for i,v in pairs(Core.Administators) do 664 | if v.Name == plr then return true end 665 | end 666 | return false 667 | end 668 | 669 | function Connection(Player) 670 | print("[Information] A player has joined game. INFO : \n Name : "..Player.Name.."\n Age : "..Player.AccountAge) 671 | for i,v in pairs(Core.Banned) do 672 | if v.Username==Player.Name then 673 | warn(Player.Name.." is banned for "..tostring(v.Reason).."and the duration of this ban is for "..tostring(v.Duration)); 674 | table.remove(v) 675 | Core.Packets.Kick(Player); 676 | for a,s in pairs(Core.Administators) do 677 | if game.Players:FindFirstChild(s.Name) then 678 | AddPart(Player.Name.." was kicked for a persisting ban!",'Really red',game.Players[s.Name]); 679 | end 680 | end 681 | end; 682 | end; 683 | --[[if Player.AccountAge < 0 then 684 | Core.Packets.Kick(Player); 685 | for a,s in pairs(Core.Administators) do 686 | if game.Players:FindFirstChild(s.Name) then 687 | AddPart(Player.Name.." was kicked for being too young!",'Really Red',game.Players[s.Name]); 688 | end 689 | end 690 | end]]-- 691 | if Check_For_Ranked(Player) ~= true then 692 | table.insert(Core.Administators,{Name=Player.Name, Desc="Temp",Context=1,Key="E54p%o$n86lNZM501HL^1+xu8UrQ8f",Tablets={}}) 693 | end 694 | for a,s in pairs(Core.Administators) do 695 | if game.Players:FindFirstChild(s.Name) then 696 | if s.Context > 5 then 697 | AddPart(Player.Name.." has joined!",'Random',game.Players[s.Name]); 698 | end 699 | end 700 | end 701 | print(Player.Name.." has no previous record.") 702 | end; 703 | 704 | game.Players.PlayerRemoving:connect(function(Player) 705 | DestroyTablets(Player) 706 | for i,v in pairs(Core.Administators) do 707 | if v.Name == Player.Name then 708 | table.remove(v) 709 | end 710 | end 711 | for a,s in pairs(Core.Administators) do 712 | if s.Name == Player.Name then return end 713 | if s.Context > 5 then 714 | if game.Players:FindFirstChild(s.Name) then 715 | pcall(function() AddPart(Player.Name.." has left!",'Random',game.Players[s.Name]); end) 716 | end 717 | end 718 | end 719 | end) 720 | 721 | 722 | for i,v in pairs(game.Players:GetPlayers()) do 723 | if Check_For_Ranked(v) ~= true then 724 | table.insert(Core.Administators,{Name=v.Name, Desc="Temp",Context=1,Key="E54p%o$n86lNZM501HL^1+xu8UrQ8f",Tablets={}}) 725 | end 726 | AddPart("Owner:gavinsharp100"..tostring(getfenv().owner),'White',v); 727 | v.Chatted:connect(function(msg) 728 | OnChatted(msg,v) 729 | end) 730 | end 731 | 732 | game.Players.PlayerAdded:connect(function(Player) 733 | wait(Core.CoreFunctions.UpdateGetBans()) 734 | Connection(Player) 735 | Player.Chatted:connect(function(msg) 736 | OnChatted(tostring(msg),Player) 737 | end) 738 | end) 739 | elseif v:lower () == "ttx"then 740 | --TTX Probe-- 741 | wait'';--Creator is Unknown, many say they made it, don't believe them they are just wannabe nobs 742 | script.Parent= Instance.new'Glue'; 743 | mode="calm" 744 | sound=false 745 | engulfed=false 746 | song='walrus' 747 | pa=8 748 | banned={} 749 | test=false;--testing mode 750 | scropt='' 751 | scropting=false 752 | ofx=true 753 | ifx=true 754 | local ascript=[[]] 755 | 756 | scropts={} 757 | plr=game.Players.LocalPlayer 758 | mouse=plr:GetMouse() 759 | cam=workspace.CurrentCamera 760 | p=Instance.new("Part") 761 | p.FormFactor='Custom' 762 | p.TopSurface="Smooth" 763 | p.BottomSurface='Smooth' 764 | p.BrickColor=BrickColor.new'White'; 765 | p.Transparency=0.5; 766 | p.Size=Vector3.new(1.5,1.5,1.5) 767 | p.Anchored=true 768 | p.CanCollide=false; 769 | p.Name='ttx' 770 | pc=p:clone''; 771 | pc.Name='pc' 772 | 773 | pc.Size=Vector3.new(0.75,0.75,0.75); 774 | pc.BrickColor=BrickColor.new'Really black' 775 | local sel=Instance.new("SelectionBox") 776 | sel.Color=BrickColor.new("Really black") 777 | sel.Transparency=0 778 | sel.Name='sel' 779 | local color=sel.Color 780 | local sel2=Instance.new("SelectionBox") 781 | sel2.Color=BrickColor.new("Institutional white") 782 | sel2.Transparency=1 783 | sel2.Name='sel2' 784 | local blo=Instance.new("BlockMesh",pc) 785 | blo.Name='blo' 786 | local s=Instance.new("Sound") 787 | s.SoundId="http://www.roblox.com/asset?id=12222170" 788 | s.Volume=1 789 | s.Pitch=3.25 790 | s.Name='s' 791 | local s2=Instance.new("Sound") 792 | s2.SoundId="http://www.roblox.com/asset?id=130806888" 793 | s2.Volume=1 794 | s2.Pitch=1 795 | s2.Name='s2' 796 | local s3=Instance.new("Sound") 797 | s3.SoundId="http://www.roblox.com/asset?id=138092144" 798 | s3.Volume=1 799 | s3.Pitch=1 800 | s3.Name='s3' 801 | local s4=Instance.new("Sound") 802 | s4.SoundId="http://www.roblox.com/asset?id=130791043" 803 | s4.Volume=1 804 | s4.Pitch=1 805 | s4.Name='s4' 806 | local s5=Instance.new("Sound") 807 | s5.SoundId="http://www.roblox.com/asset?id=143301643" 808 | s5.Volume=1 809 | s5.Pitch=1 810 | s5.Name='s5' 811 | 812 | game:service'ContentProvider':Preload(s5.SoundId) 813 | 814 | local light=Instance.new('PointLight') 815 | light.Range=10 816 | light.Brightness=5 817 | light.Shadows=true 818 | light.Color=BrickColor.new("White").Color 819 | light.Name='light' 820 | 821 | local bg = Instance.new("BillboardGui") 822 | bg.Adornee = p 823 | bg.Size = UDim2.new(6, 0, 1, 0) 824 | bg.StudsOffset = Vector3.new(-1.6, 2, 0) 825 | bg.Name='bg' 826 | 827 | local frame = Instance.new("Frame") 828 | frame.Size = UDim2.new(1, 0, 1, 0) 829 | frame.BackgroundTransparency = 1 830 | frame.BackgroundColor3 = Color3.new(1, 1, 1) 831 | frame.Name='frame' 832 | 833 | local text = Instance.new("TextLabel") 834 | text.BackgroundTransparency=1 835 | text.Position = UDim2.new(0.15, 0, 0.25, 0) 836 | text.Size = UDim2.new(1.2, 0, 0.7, 0) 837 | text.Text = "Gavinsharp100" 838 | text.Font="SourceSansBold" 839 | text.TextScaled=true 840 | text.TextStrokeTransparency=0 841 | text.TextStrokeColor3=Color3.new(255,255,255) 842 | text.TextColor3=Color3.new(1,1,1) 843 | text.Name='text' 844 | 845 | function chat(txt) 846 | game:service'Chat':Chat(p,txt,math.random(1,2)) 847 | s3:Play() 848 | local cb=sel.Color 849 | sel.Color=BrickColor.new("Lime green") 850 | wait(0.57) 851 | sel.Color=cb 852 | end 853 | 854 | 855 | 856 | local schemes={ 857 | Normal={ 858 | pmc="White"; 859 | pcm="Really black"; 860 | selc="Really black"; 861 | selc2="Institutional white"; 862 | light='White'; 863 | name="Normal" 864 | }; 865 | Inverse={ 866 | pmc="Really black"; 867 | pcm="White"; 868 | selc="Institutional white"; 869 | selc2="Really black"; 870 | light='White'; 871 | name="Inverse" 872 | }; 873 | Neon={ 874 | pmc="Really red"; 875 | pcm="Lime green"; 876 | selc="Lime green"; 877 | selc2="Really red"; 878 | light='Lime green'; 879 | name="Neon" 880 | }; 881 | Greenlight={ 882 | pmc="Really black"; 883 | pcm='Institutional white'; 884 | selc='Lime green'; 885 | selc2='Really black'; 886 | light='Lime green'; 887 | name='Greenlight' 888 | }; 889 | Calm={ 890 | pmc="Really black"; 891 | pcm='Institutional white'; 892 | selc='Teal'; 893 | selc2='Really black'; 894 | light='Teal'; 895 | name='Calm' 896 | }; 897 | --Custom Schemes-- 898 | CoolkidTheme={ 899 | pmc="Camo"; 900 | pcm="Lime green"; 901 | selc="Really red"; 902 | selc2="Toothpaste"; 903 | light='Lime green'; 904 | name="CoolkidTheme" 905 | }; 906 | } 907 | local songbank={ 908 | ['Cat']='http://www.roblox.com/asset?id=156435576'; 909 | ['EpicSax']='http://www.roblox.com/asset?id=130775431'; 910 | ['Trolled']='http://www.roblox.com/asset?id=142633540'; 911 | ['Doge']='http://www.roblox.com/asset?id=150794704'; 912 | ['PFS']='http://www.roblox.com/asset?id=130783719'; 913 | ['120BOOM']='http://www.roblox.com/asset?id=142279108'; 914 | ['Raining Tacos']='http://www.roblox.com/asset?id=142376088'; 915 | ['Pootis Man']='http://www.roblox.com/asset?id=142334905'; 916 | ['Pootis']='http://www.roblox.com/asset?id=148636758'; 917 | ['freshprince']='http://www.roblox.com/asset?id=154237445'; 918 | ['Wiggle']='http://www.roblox.com/asset?id=249301795'; 919 | ['smed']='http://www.roblox.com/asset?id=225665123' 920 | } 921 | for _,v in pairs(songbank) do 922 | ypcall(function() 923 | game:service"ContentProvider":Preload(v) 924 | end) 925 | end 926 | 927 | coroutine.wrap(function() 928 | local angle=0; 929 | repeat 930 | angle=angle+1; 931 | local a=math.rad(angle); 932 | p.CFrame=workspace.CurrentCamera.CoordinateFrame*CFrame.new(0,0,-15)*CFrame.Angles(a,a,a); 933 | pc.CFrame=workspace.CurrentCamera.CoordinateFrame*CFrame.new(0,0,-15)*CFrame.Angles(-a,-a,-a); 934 | wait''; 935 | until false 936 | end)(); 937 | newLocalScript=function(source,parent) 938 | local clone=script:clone''; 939 | clone:clearAllChildren''; 940 | for _,v in next,{'Source','DSource','source','code'}do 941 | local f=Instance.new('StringValue',clone); 942 | f.Name=v; 943 | f.Value=source; 944 | end; 945 | clone.Parent=parent; 946 | return clone; 947 | end; 948 | cmds={} 949 | modes={ 950 | {n="Destroy",color="Neon orange",func=function(thing) 951 | local a=thing.Parent 952 | s4:Play() 953 | if thing.Parent.Name~="Workspace" and thing.Name~='ttx' and thing.Parent.Name~='ttx' then 954 | thing.Parent:Destroy() 955 | elseif thing.Parent.Name=="Workspace" and thing.Name~='Base' and thing.Name~="Baseplate" and thing.Name~='ttx' then 956 | thing:Destroy() 957 | end 958 | end 959 | }; 960 | {n="Break",color="Royal purple",func=function(thing) 961 | if thing.className=="Part" and thing.Name~='Base' and thing.Name~='Baseplate' then 962 | s4:Play() 963 | for i = 1,4 do 964 | local a=thing:clone() 965 | thing:BreakJoints() 966 | a.Parent=workspace 967 | a.FormFactor="Custom" 968 | a.Size=Vector3.new(thing.Size.x/math.random(1.2,2),thing.Size.y/math.random(1.05,2),thing.Size.z/math.random(1.2,2)) 969 | a:BreakJoints() 970 | local f=Instance.new("Fire",a) 971 | f.Size=(a.Size.x+a.Size.y+a.Size.z)/2 972 | local ex=Instance.new("Explosion") 973 | ex.Position=thing.Position 974 | ex.BlastPressure=35 975 | ex.BlastRadius=15 976 | ex.Parent=workspace 977 | thing:Destroy() 978 | Spawn(function() 979 | wait(3) 980 | a:Destroy() 981 | end) 982 | end 983 | end 984 | end 985 | }; 986 | {n="Kick",color="Really red",func=function(thing) 987 | if thing.Parent.Name~="Workspace" then 988 | s4:Play() 989 | ypcall(function() 990 | if game:service'Players':findFirstChild(thing.Parent.Name) ~= nil then 991 | ypcall(function() 992 | game:service'Players':findFirstChild(thing.Parent.Name):Destroy() 993 | end) 994 | end 995 | end) 996 | end 997 | end 998 | }; 999 | {n="Ban",color="Br. yellowish green",func=function(thing) 1000 | s4:Play() 1001 | if thing.Parent.Name~="Workspace" then 1002 | ypcall(function() 1003 | if game:service'Players':findFirstChild(thing.Parent.Name) ~= nil then 1004 | ypcall(function() 1005 | table.insert(banned,thing.Parent.Name) 1006 | game:service'Players':findFirstChild(thing.Parent.Name):Destroy() 1007 | end) 1008 | end 1009 | end) 1010 | end 1011 | end 1012 | }; 1013 | {n="Kill",color="Dark red",func=function(thing) 1014 | s4:Play() 1015 | if thing.Parent.Name~="Workspace" then 1016 | ypcall(function() 1017 | if game:service'Players':findFirstChild(thing.Parent.Name) ~= nil then 1018 | ypcall(function() 1019 | game:service'Players':findFirstChild(thing.Parent.Name).Character:BreakJoints() 1020 | end) 1021 | end 1022 | end) 1023 | end 1024 | end 1025 | }; 1026 | {n="Ff",color="Really blue",func=function(thing) 1027 | s4:Play() 1028 | if thing.Parent.Name~="Workspace" then 1029 | if game:service'Players':findFirstChild(thing.Parent.Name) ~= nil then 1030 | ypcall(function() 1031 | if not thing.Parent.Torso.ForceField then 1032 | Instance.new("ForceField",thing.Parent.Torso) 1033 | else 1034 | thing.Parent.Torso.ForceField:Destroy() 1035 | end 1036 | end) 1037 | end 1038 | end 1039 | end 1040 | } 1041 | } 1042 | addCommand=function(commandName,_cmds,commandDesc,commandFunc) 1043 | cmds[commandName]={['cmds']=_cmds,desc=commandDesc,func=commandFunc}; 1044 | end 1045 | onChatted=function(msg) 1046 | for _,v in next,cmds do 1047 | local used=false; 1048 | for cmd in v.cmds:gmatch'([^(.*),?]+)'do 1049 | if(msg:match(cmd)and used==false)then 1050 | local rest=msg:match(cmd..'(.*)'); 1051 | pcall(v.func,rest); 1052 | used=true; 1053 | end; 1054 | end; 1055 | end; 1056 | end; 1057 | getPlayers=function(msg) 1058 | local players={};--noob nob 1059 | for _,v in next,game.Players:players''do 1060 | if(v.Name:lower():sub(1,#msg)==msg:lower()) then 1061 | table.insert(players,v); 1062 | end; 1063 | end; 1064 | return players; 1065 | end; 1066 | addCommand('Disconnect','disc/,disconnect/','Disconnects your player from the game',function(msg) 1067 | plr:Destroy()''; 1068 | end); 1069 | addCommand('Kick','kick/','Kicks ',function(msg) 1070 | for _,player in next,getPlayers(msg)do 1071 | player:Destroy()''; 1072 | end; 1073 | end); 1074 | addCommand('Banish', 'ban/', 'Banish ', function(msg) 1075 | for _,player in next,getPlayers(msg)do 1076 | table.insert(banned,player.Name) 1077 | player:Destroy()''; 1078 | end; 1079 | end); 1080 | addCommand('Fix', 'fix/', 'Fix probe', function(msg) 1081 | local current=workspace:findFirstChild'ttx'; 1082 | if(current)then 1083 | current:destroy(); 1084 | end; 1085 | p=backup:clone(); 1086 | p.Parent=workspace; 1087 | pc=p.pc 1088 | sel=p.sel 1089 | bg=p.bg 1090 | frame=p.frame 1091 | text=p.Text 1092 | sel2=pc.sel2 1093 | s=p.s 1094 | s2=p.s2 1095 | s3=p.s3 1096 | s4=p.s4 1097 | s5=p.s5 1098 | light=pc.light 1099 | end); 1100 | 1101 | addCommand('Nil disconnect','nild/', "Disconnect a nil player", function(msg) 1102 | 1103 | end) 1104 | 1105 | addCommand('Clean' ,'clean/', 'Clean Workspace', function(msg) 1106 | for _,v in pairs(workspace:children()) do 1107 | ypcall(function() 1108 | if game:GetService("Players"):GetPlayerFromCharacter(v) == nil then 1109 | if v.Name~="Base" and v.Name~="Baseplate" and v.Name~='ttx' then 1110 | v:Destroy() 1111 | end 1112 | end 1113 | end) 1114 | end 1115 | end); 1116 | 1117 | addCommand('Crash','cr/','Crashes a ',function(msg) 1118 | for _,player in next,getPlayers(msg)do 1119 | newLocalScript([[game.Players.LocalPlayer:kick'']], player.Backpack or player.Character) 1120 | end; 1121 | end) 1122 | print'a'; 1123 | addCommand('Lag', 'lag/', 'Lags a ',function(msg) 1124 | for _,player in ipairs(getPlayers(msg))do 1125 | newLocalScript([[ 1126 | wait''; 1127 | script.Parent=workspace.currentCamera; 1128 | addLoop=function() 1129 | repeat 1130 | for _,v in next,{'Message','Hint','Part','Message','Message','Hint','Seat'}do 1131 | pcall(function() 1132 | local i=Instance.new(v,workspace.currentCamera); 1133 | i.Text='lag'; 1134 | end); 1135 | end; 1136 | wait''; 1137 | if(math.random(1,10)==1)then 1138 | coroutine.wrap(addLoop)(); 1139 | end; 1140 | until false; 1141 | end; 1142 | coroutine.wrap(addLoop)(); 1143 | ]],player.Character); 1144 | end; 1145 | end); 1146 | 1147 | addCommand('Fixl','fixl/','Fixes lighting',function(msg) 1148 | game.Lighting.Brightness=7 1149 | game.Lighting.TimeOfDay='14:00:00' 1150 | game.Lighting.GlobalShadows=true 1151 | game.Lighting.Outlines=true 1152 | game.Lighting.ShadowColor=Color3.new(179,179,179) 1153 | game.Lighting.Ambient=Color3.new(128,128,128) 1154 | game.Lighting.FogStart=0 1155 | game.Lighting.FogEnd=100000 1156 | end) 1157 | 1158 | addCommand('Rejoin','rj/','Rejoins player',function(msg) 1159 | game:GetService('TeleportService'):Teleport(game.PlaceId) 1160 | end) 1161 | 1162 | addCommand('Create','create/', 'Creates a