RobloxScripty

Untitled

Jul 9th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 32.39 KB | None | 0 0
  1. script.Parent = nil
  2.  
  3. local LocalScriptCode = [[
  4.  
  5. wait(1)
  6.  
  7. script.Parent = nil
  8.  
  9. local Rotation = 0
  10. local Rotation2 = 0
  11.  
  12. Workspace.CurrentCamera:ClearAllChildren()
  13.  
  14. local Players = game:GetService("Players")
  15. local Player = Players.LocalPlayer
  16. local Char = Player.Character
  17. local Geometry = game:GetService("Lighting")
  18. local BTablets = {}
  19. local CurTabs = {}
  20. local Tablets = {}
  21.  
  22. FindCharacter = function(Str)
  23. local Found = nil
  24. for i = 1,#Str do
  25. if string.gmatch(string.sub(Str:lower(),i,i), "[%p/%s]+") then
  26. for i2 in string.gmatch(string.sub(Str:lower(),i,i), "[%p/%s]+") do
  27. if i2 ~= "-" then
  28. Found = i
  29. end
  30. end
  31. end
  32. end
  33. return Found
  34. end
  35.  
  36. function _G.QuaternionFromCFrame(cf)
  37. local mx, my, mz,
  38. m00, m01, m02,
  39. m10, m11, m12,
  40. m20, m21, m22 = cf:components()
  41. local trace = m00 + m11 + m22
  42. if trace > 0 then
  43. local s = math.sqrt(1 + trace)
  44. local recip = 0.5/s
  45. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
  46. else
  47. local i = 0
  48. if m11 > m00 then i = 1 end
  49. if m22 > (i == 0 and m00 or m11) then i = 2 end
  50. if i == 0 then
  51. local s = math.sqrt(m00-m11-m22+1)
  52. local recip = 0.5/s
  53. return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
  54. elseif i == 1 then
  55. local s = math.sqrt(m11-m22-m00+1)
  56. local recip = 0.5/s
  57. return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
  58. elseif i == 2 then
  59. local s = math.sqrt(m22-m00-m11+1)
  60. local recip = 0.5/s
  61. return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
  62. end
  63. end
  64. end
  65.  
  66. function _G.QuaternionToCFrame(px, py, pz, x, y, z, w)
  67. local xs, ys, zs = x + x, y + y, z + z
  68. local wx, wy, wz = w*xs, w*ys, w*zs
  69. --
  70. local xx = x*xs
  71. local xy = x*ys
  72. local xz = x*zs
  73. local yy = y*ys
  74. local yz = y*zs
  75. local zz = z*zs
  76. --
  77. return CFrame.new(px, py, pz,
  78. 1-(yy+zz), xy - wz, xz + wy,
  79. xy + wz, 1-(xx+zz), yz - wx,
  80. xz - wy, yz + wx, 1-(xx+yy))
  81. end
  82.  
  83. function _G.QuaternionSlerp(a, b, t)
  84. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
  85. local startInterp, finishInterp;
  86. if cosTheta >= 0.0001 then
  87. if (1 - cosTheta) > 0.0001 then
  88. local theta = math.acos(cosTheta)
  89. local invSinTheta = 1/math.sin(theta)
  90. startInterp = math.sin((1-t)*theta)*invSinTheta
  91. finishInterp = math.sin(t*theta)*invSinTheta
  92. else
  93. startInterp = 1-t
  94. finishInterp = t
  95. end
  96. else
  97. if (1+cosTheta) > 0.0001 then
  98. local theta = math.acos(-cosTheta)
  99. local invSinTheta = 1/math.sin(theta)
  100. startInterp = math.sin((t-1)*theta)*invSinTheta
  101. finishInterp = math.sin(t*theta)*invSinTheta
  102. else
  103. startInterp = t-1
  104. finishInterp = t
  105. end
  106. end
  107. return a[1]*startInterp + b[1]*finishInterp,
  108. a[2]*startInterp + b[2]*finishInterp,
  109. a[3]*startInterp + b[3]*finishInterp,
  110. a[4]*startInterp + b[4]*finishInterp
  111. end
  112.  
  113. local TweenVar = 0
  114.  
  115. function _G.TweenCFrame(part, b, length)
  116. TweenVar = TweenVar+1
  117. coroutine.resume(coroutine.create(function()
  118. local a = part.CFrame
  119. local TVar = TweenVar
  120. local qa = {_G.QuaternionFromCFrame(a)}
  121. local qb = {_G.QuaternionFromCFrame(b)}
  122. local ax, ay, az = a.x, a.y, a.z
  123. local bx, by, bz = b.x, b.y, b.z
  124. --
  125. local c = 0
  126. local tot = 0
  127. --
  128. local startTime = tick()
  129. while true do
  130. if TweenVar ~= TVar then
  131. break
  132. end
  133. wait(0.0000000000000000000000000000000000000000000000000000000000001)
  134. local t = (tick()-startTime)/length
  135. local _t = 1-t
  136. if t > 1 then break end
  137. local startT = tick()
  138. local cf = _G.QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,
  139. _G.QuaternionSlerp(qa, qb, t))
  140. tot = tot+(tick()-startT)
  141. c = c + 1
  142. part.CFrame = cf
  143. end
  144. end))
  145. end
  146.  
  147. CreateTablet = function(Plr,Msg,Func,Dur)
  148. local Val = Instance.new("StringValue",Geometry)
  149. Val.Name = "CreatePing"
  150. Val.Value = Plr
  151. local Val2 = Instance.new("StringValue",Val)
  152. Val2.Name = "Message"
  153. Val2.Value = Msg
  154. local Val3 = Instance.new("NumberValue",Val)
  155. Val3.Name = "Func"
  156. Val3.Value = Func
  157. if Dur then
  158. if type(Dur) == "Number" then
  159. local Val3 = Instance.new("NumberValue",Val)
  160. Val3.Name = "Dur"
  161. Val3.Value = Dur
  162. else
  163. local Val3 = Instance.new("StringValue",Val)
  164. Val3.Name = "Color"
  165. Val3.Value = Dur
  166. end
  167. end
  168. end
  169.  
  170. function GetTablets(Player)
  171. local Tabs = {}
  172. for i,v in pairs(Tablets) do
  173. if v[3] == Player.Name then
  174. table.insert(Tabs,{BTablets[i],v[4],v[3]})
  175. end
  176. end
  177. return Tabs
  178. end
  179.  
  180. local InTablet = false
  181.  
  182. tablefind = function(tab,index,op)
  183. local Found = nil
  184. for i,v in pairs(tab) do
  185. if not op then
  186. if index == v then
  187. Found = i
  188. break
  189. end
  190. else
  191. if index == v[op] then
  192. Found = i
  193. break
  194. end
  195. end
  196. end
  197. return Found
  198. end
  199.  
  200. while true do
  201. Char = Player.Character
  202. if Geometry:FindFirstChild("ShutdownAdmin") or Geometry:FindFirstChild(Player.Name) then
  203. Shutdown = true
  204. Workspace.CurrentCamera:ClearAllChildren()
  205. pcall(function()
  206. game.Debris:AddItem(Geometry:FindFirstChild("ShutdownAdmin"),0.1)
  207. end)
  208. pcall(function()
  209. game.Debris:AddItem(Geometry:FindFirstChild(Player.Name),0.1)
  210. end)
  211. end
  212. if not Shutdown then
  213. if Geometry:FindFirstChild("Tablets") then
  214. Tablets = loadstring("return " .. Geometry.Tablets.Value)()
  215. if #Tablets ~= #BTablets then
  216. InTablet = false
  217. for i,v in pairs(BTablets) do
  218. v:Destroy()
  219. end
  220. BTablets = {}
  221. local Used = {}
  222. for i,v in pairs(Tablets) do
  223. pcall(function()
  224. local AlertP = Instance.new("Part",Workspace.CurrentCamera)
  225. AlertP.Anchored = true
  226. AlertP.CanCollide = false
  227. AlertP.FormFactor = "Custom"
  228. AlertP.BrickColor = BrickColor.new(v[2])
  229. AlertP.Transparency = 0.35
  230. AlertP.Size = Vector3.new(2,3,0)
  231. AlertP.Name = "AlertPart"
  232. local Box = Instance.new("SelectionBox",AlertP)
  233. Box.Adornee = AlertP
  234. Box.Color = BrickColor.new(v[2])
  235. Box.Transparency = 0.35
  236. local CFR = Char.Torso.CFrame
  237. if #CurTabs > 0 then
  238. for i3,v3 in pairs(CurTabs) do
  239. if v3[2][1] == v[1] and v3[2][2] == v[2] and v3[2][3] == v[3] and v3[2][4] == v[4] and not tablefind(Used,i3) then
  240. CFR = v3[1]
  241. table.insert(Used,i3)
  242. break
  243. end
  244. end
  245. end
  246. AlertP.CFrame = CFR
  247. if v[4] and v[4] ~= 0 then
  248. local Lasso = Instance.new("SelectionPartLasso",AlertP)
  249. Lasso.Color = BrickColor.new(v[2])
  250. local CD = Instance.new("ClickDetector",AlertP)
  251. CD.MaxActivationDistance = math.huge
  252. CD.MouseHoverEnter:connect(function(p)
  253. if p.Name == v[3] then
  254. pcall(function()
  255. InTablet = true
  256. Lasso.Humanoid = p.Character.Humanoid
  257. Lasso.Part = AlertP
  258. end)
  259. end
  260. end)
  261. CD.MouseClick:connect(function(p)
  262. if p.Name == v[3] then
  263. pcall(function()
  264. InTablet = false
  265. if v[4] == 1 then
  266. local Val = Instance.new("StringValue",Geometry)
  267. Val.Name = "RemoveTablet"
  268. Val.Value = i
  269. AlertP:Destroy()
  270. elseif v[4] == 2 then
  271. for i,v in pairs(BTablets) do
  272. if Tablets[i][3] == p.Name then
  273. v:Destroy()
  274. end
  275. end
  276. local Val = Instance.new("StringValue",Geometry)
  277. Val.Name = "ClearPings"
  278. Val.Value = p.Name
  279. elseif v[4] == 3 then
  280. for i,v in pairs(BTablets) do
  281. if Tablets[i][3] == p.Name then
  282. v:Destroy()
  283. end
  284. end
  285. local Plr = Players:FindFirstChild(v[5])
  286. local Val = Instance.new("StringValue",Geometry)
  287. Val.Name = "ClearPings"
  288. Val.Value = p.Name
  289. CreateTablet(p.Name,"Showing Info For "..Plr.Name,0)
  290. CreateTablet(p.Name,"Account Age: "..math.floor(Plr.AccountAge/365).." Years and "..(Plr.AccountAge/365-math.floor(Plr.AccountAge/365))*365 .." Days",0)
  291. CreateTablet(p.Name,"UserId: "..Plr.userId,0)
  292. CreateTablet(p.Name,"Membership Type: "..string.sub(tostring(Plr.MembershipType),FindCharacter(tostring(Plr.MembershipType))+1),0)
  293. CreateTablet(p.Name,"Is Game Owner: "..tostring(Plr.userId==game.CreatorId),0)
  294. CreateTablet(p.Name,"Dismiss",2,"Bright red")
  295. end
  296. end)
  297. end
  298. end)
  299. CD.MouseHoverLeave:connect(function(p)
  300. if p.Name == v[3] then
  301. pcall(function()
  302. InTablet = false
  303. Lasso.Humanoid = nil
  304. Lasso.Part = nil
  305. end)
  306. end
  307. end)
  308. end
  309. local BGUI = Instance.new("BillboardGui")
  310. BGUI.Name = "AdminGUI"
  311. BGUI.Size = UDim2.new(0,1,0,1)
  312. BGUI.StudsOffset = Vector3.new(0,2.5,0)
  313. BGUI.Parent = AlertP
  314. BGUI.Adornee = AlertP
  315. local BText = Instance.new("TextLabel",BGUI)
  316. BText.Name = "Text"
  317. BText.FontSize = "Size14"
  318. BText.TextStrokeTransparency = 0
  319. BText.TextColor3 = AlertP.Color
  320. BText.Font = "ArialBold"
  321. BText.Text = v[1]
  322. table.insert(BTablets,AlertP)
  323. end)
  324. end
  325. end
  326. end
  327. if not InTablet then
  328. Rotation = Rotation+0.000075
  329. end
  330. Rotation2 = Rotation2+0.000075
  331. if Rotation >= 360 then
  332. Rotation = 0
  333. end
  334. for i2,v2 in pairs(Players:GetChildren()) do
  335. pcall(function()
  336. local Tabs = GetTablets(v2)
  337. local Num = 0
  338. local Done = false
  339. local counter = 0
  340. local counter2 = 0
  341. for i,v in pairs(Tabs) do
  342. if v[2] == 2 then
  343. Num = Num+1
  344. end
  345. end
  346. for i,v in pairs(Tabs) do
  347. if workspace.CurrentCamera then
  348. if (workspace.CurrentCamera.CoordinateFrame.p-v[1].Position).Magnitude > 200 then
  349. v[1].AdminGUI.Text.Visible = false
  350. else
  351. v[1].AdminGUI.Text.Visible = true
  352. end
  353. end
  354. if v[2] ~= 2 then
  355. counter2 = counter2+1
  356. local Pos = v2.Character.Torso.CFrame
  357. local Radius = 5 + (#Tabs-Num*0.7)
  358. local X = 0
  359. local Z = 0
  360. if v[3] == Player.Name then
  361. X = math.cos((counter2/(#Tabs-Num) - ((0.5/(#Tabs-Num))+Rotation*2)) * math.pi*2) * Radius
  362. Z = math.sin((counter2/(#Tabs-Num) - ((0.5/(#Tabs-Num))+Rotation*2)) * math.pi*2) * Radius
  363. else
  364. X = math.cos((counter2/(#Tabs-Num) - ((0.5/(#Tabs-Num))+Rotation2*2)) * math.pi*2) * Radius
  365. Z = math.sin((counter2/(#Tabs-Num) - ((0.5/(#Tabs-Num))+Rotation2*2)) * math.pi*2) * Radius
  366. end
  367. local tabletPosition = Pos * CFrame.Angles(0,math.rad(90),0):toWorldSpace(CFrame.new(X,0,Z):inverse())
  368. local WantedCFrame = tabletPosition
  369. WantedCFrame = CFrame.new(WantedCFrame.p,Pos.p) * CFrame.Angles(math.rad(30), 0, 0)
  370. _G.TweenCFrame(v[1],WantedCFrame,0.075)
  371. elseif v[2] == 2 and not Done then
  372. local Pos = v2.Character.Torso.CFrame
  373. counter = counter+1
  374. local Radius = 3 + (counter*0.7)
  375. local X = math.cos((counter/1 - ((0.5/1))) * math.pi*2) * Radius
  376. local Z = math.sin((counter/1 - ((0.5/1))) * math.pi*2) * Radius
  377. local tabletPosition = Pos * CFrame.new(0,3,0) * CFrame.Angles(0,math.rad(90),0):toWorldSpace(CFrame.new(X,0,Z):inverse())
  378. local WantedCFrame = tabletPosition
  379. WantedCFrame = CFrame.new(WantedCFrame.p,Pos.p)
  380. _G.TweenCFrame(v[1],WantedCFrame,0.075)
  381. Done = true
  382. else
  383. local Pos = v2.Character.Torso.CFrame
  384. local X = math.huge
  385. local Z = math.huge
  386. local tabletPosition = Pos * CFrame.new(0,3,0) * CFrame.Angles(0,math.rad(90),0):toWorldSpace(CFrame.new(X,0,Z):inverse())
  387. local WantedCFrame = tabletPosition
  388. WantedCFrame = CFrame.new(WantedCFrame.p,Pos.p)
  389. _G.TweenCFrame(v[1],WantedCFrame,0.075)
  390. end
  391. CurTabs = {}
  392. for i,v in pairs(BTablets) do
  393. table.insert(CurTabs,{v.CFrame,Tablets[i]})
  394. end
  395. end
  396. end)
  397. end
  398. else
  399. break
  400. end
  401. wait(0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001)
  402. end
  403.  
  404. ]]
  405.  
  406. local RejoinCode = 'game:GetService("TeleportService"):Teleport('..game.PlaceId..')'
  407.  
  408. local Players = game:GetService("Players")
  409. local Workspace = game:GetService("Workspace")
  410. local Geometry = game:GetService("Lighting")
  411.  
  412. if not NLS then
  413. NLS = function(Source,Parent)
  414. local Scr = script.NLS:Clone()
  415. Scr.Code.Value = Source
  416. Scr.Parent = Parent
  417. return Scr
  418. end
  419. end
  420.  
  421. oldtonumber = tonumber
  422.  
  423. tonumber = function(str)
  424. if string.sub(str,1,1) == "-" then
  425. return oldtonumber(string.sub(str,2))*-1
  426. else
  427. return oldtonumber(str)
  428. end
  429. end
  430.  
  431. tablefind = function(tab,index,op)
  432. local Found = nil
  433. for i,v in pairs(tab) do
  434. if not op then
  435. if index == v then
  436. Found = i
  437. break
  438. end
  439. else
  440. if index == v[op] then
  441. Found = i
  442. break
  443. end
  444. end
  445. end
  446. return Found
  447. end
  448.  
  449. local Zoticus = {}
  450.  
  451. Zoticus["Ranks"] = {
  452. [-2] = "Lagged",
  453. [-1] = "Banned",
  454. [0] = "Guest",
  455. [1] = "Member",
  456. [2] = "Mod",
  457. [3] = "Ultra Mod",
  458. [4] = "Admin",
  459. [5] = "Ultra Admin",
  460. [6] = "Developer",
  461. [7] = "Owner",
  462. }
  463.  
  464. Zoticus["Colors"] = {
  465. [-2] = "Black",
  466. [-1] = "Black",
  467. [0] = "Neon orange",
  468. [1] = "Bright blue",
  469. [2] = "Bright red",
  470. [3] = "Bright green",
  471. [4] = "Bright violet",
  472. [5] = "Medium green",
  473. [6] = "Bright orange",
  474. [7] = "New Yeller",
  475. }
  476.  
  477. Zoticus["Players"] = {
  478. {"rigletto",7},
  479. {"Player",7},
  480. }
  481.  
  482. Zoticus["Highlight"] = function(Obj, Color)
  483. if Obj:IsA("BasePart") then
  484. local SelectionBox = Instance.new("SelectionBox",Obj)
  485. SelectionBox.Adornee = Obj
  486. SelectionBox.Transparency = 0.5
  487. SelectionBox.Color = BrickColor.new(Color)
  488. end
  489. for i,v in pairs(Obj:GetChildren()) do
  490. Zoticus.Highlight(v, Color)
  491. end
  492. end
  493.  
  494. Zoticus["UnHighlight"] = function(Obj)
  495. for i,v in pairs(Obj:GetChildren()) do
  496. if v:IsA("SelectionBox") then
  497. v:Destroy()
  498. end
  499. Zoticus.UnHighlight(v)
  500. end
  501. end
  502.  
  503. Zoticus["Fire"] = function(Obj, Color)
  504. if Obj:IsA("BasePart") then
  505. local Fire = Instance.new("Fire",Obj)
  506. Fire.Color = BrickColor.new(Color).Color
  507. Fire.SecondaryColor = Color3.new(0,0,0)
  508. end
  509. for i,v in pairs(Obj:GetChildren()) do
  510. Zoticus.Fire(v, Color)
  511. end
  512. end
  513.  
  514. Zoticus["UnFire"] = function(Obj)
  515. for i,v in pairs(Obj:GetChildren()) do
  516. if v:IsA("Fire") then
  517. v:Destroy()
  518. end
  519. Zoticus.UnFire(v)
  520. end
  521. end
  522.  
  523. Zoticus["GetRank"] = function(Plr)
  524. if tablefind(Zoticus.Players,Plr.Name,1) then
  525. return Zoticus.Players[tablefind(Zoticus.Players,Plr.Name,1)][2], Zoticus.Ranks[Zoticus.Players[tablefind(Zoticus.Players,Plr.Name,1)][2]]
  526. end
  527. end
  528.  
  529. Zoticus["Tablets"] = {}
  530.  
  531. Zoticus["Alert"] = function(Mesg,Color,Plr,Func,Debris,Extra)
  532. coroutine.resume(coroutine.create(function()
  533. local Tab = {Mesg,Color,Plr,Func,Extra}
  534. table.insert(Zoticus.Tablets,Tab)
  535. if Debris and Debris > 0 then
  536. wait(Debris)
  537. if tablefind(Zoticus.Tablets,Tab) then
  538. table.remove(Zoticus.Tablets,tablefind(Zoticus.Tablets,Tab))
  539. end
  540. end
  541. end))
  542. end
  543.  
  544. Zoticus["Connections"] = {}
  545.  
  546. Zoticus["Remove"] = function(Objects,Plr)
  547. if Objects == "Tablets" then
  548. if Plr then
  549. for i = 1,#Zoticus.Tablets do
  550. for i,v in pairs(Zoticus.Tablets) do
  551. if v[3].Name == tostring(Plr) then
  552. table.remove(Zoticus.Tablets,i)
  553. end
  554. end
  555. end
  556. else
  557. Zoticus.Tablets = {}
  558. end
  559. else
  560. for i,v in pairs(Zoticus.Connections) do
  561. v:disconnect()
  562. end
  563. pcall(function() Geometry.Tablets:Destroy() end)
  564. Zoticus.Remove("Tablets")
  565. script.Disabled = true
  566. script:Destroy()
  567. for i,v in pairs(Players:GetChildren()) do
  568. Instance.new("StringValue",Geometry).Name = v.Name
  569. end
  570. Zoticus = {}
  571. error("You have removed Zoticus admin.")
  572. end
  573. end
  574.  
  575. Zoticus["MatchPlayers"] = function(Str,Plr)
  576. local Found = {}
  577. for i in string.gmatch(Str:lower(), "[%w_/%s]+") do
  578. if i == "me" and not tablefind(Found,Plr) then
  579. table.insert(Found,Plr)
  580. elseif i == "all" then
  581. for i2,v2 in pairs(Players:GetChildren()) do
  582. if not tablefind(Found,v2) then
  583. table.insert(Found,v2)
  584. end
  585. end
  586. elseif i == "others" then
  587. for i2,v2 in pairs(Players:GetChildren()) do
  588. if not tablefind(Found,v2) and v2 ~= Plr then
  589. table.insert(Found,v2)
  590. end
  591. end
  592. elseif string.sub(i,1,4) == "rank" and string.sub(i,5) ~= "ed" then
  593. for i2,v2 in pairs(Players:GetChildren()) do
  594. if not tablefind(Found,v2) and Zoticus.GetRank(v2) == tonumber(string.sub(i,5)) then
  595. table.insert(Found,v2)
  596. end
  597. end
  598. elseif i == "ranked" then
  599. for i2,v2 in pairs(Players:GetChildren()) do
  600. if not tablefind(Found,v2) and Zoticus.GetRank(v2) > 0 then
  601. table.insert(Found,v2)
  602. end
  603. end
  604. elseif i == "nonranked" then
  605. for i2,v2 in pairs(Players:GetChildren()) do
  606. if not tablefind(Found,v2) and Zoticus.GetRank(v2) < 1 then
  607. table.insert(Found,v2)
  608. end
  609. end
  610. else
  611. for i2,v2 in pairs(Players:GetChildren()) do
  612. if string.find(v2.Name:lower(),i) and not tablefind(Found,v2) then
  613. table.insert(Found,v2)
  614. end
  615. end
  616. end
  617. end
  618. return Found
  619. end
  620.  
  621. Zoticus["FindCharacter"] = function(Str)
  622. local Found = nil
  623. for i = 1,#Str do
  624. if string.gmatch(string.sub(Str:lower(),i,i), "[%p/%s]+") then
  625. for i2 in string.gmatch(string.sub(Str:lower(),i,i), "[%p/%s]+") do
  626. if i2 ~= "-" then
  627. Found = i
  628. end
  629. end
  630. end
  631. end
  632. return Found
  633. end
  634.  
  635. Zoticus["Chatted"] = function(Msg, Plr)
  636. local Rk = Zoticus.GetRank(Plr)
  637. if Rk >= 0 then
  638. if Msg:lower() == "reset" then
  639. Plr:LoadCharacter()
  640. end
  641. end
  642. if Rk >= 1 then
  643. if string.sub(Msg:lower(),1,4) == "ping" then
  644. local PingEnd = string.sub(Msg,6)
  645. if PingEnd == "players" then
  646. for i,v in pairs(Zoticus.Players) do
  647. if Players:FindFirstChild(v[1]) then
  648. Zoticus.Alert(v[1].." || Rank "..v[2].."("..Zoticus.Ranks[v[2]]..")",Zoticus.Colors[v[2]],Plr,3,0,v[1])
  649. end
  650. end
  651. Zoticus.Alert("Dismiss","Bright red",Plr,2)
  652. elseif PingEnd == "ranks" then
  653. for i = -2,7 do
  654. Zoticus.Alert("Rank "..i.."("..Zoticus.Ranks[i]..")",Zoticus.Colors[i],Plr,0)
  655. end
  656. Zoticus.Alert("Dismiss","Bright red",Plr,2)
  657. else
  658. if loadstring("return "..PingEnd) and loadstring("return "..PingEnd)() then
  659. pcall(function()
  660. Zoticus.Alert(tostring(loadstring("return "..PingEnd)()),Zoticus.Colors[Rk],Plr,1)
  661. end)
  662. else
  663. Zoticus.Alert(PingEnd,Zoticus.Colors[Rk],Plr,1)
  664. end
  665. end
  666. end
  667.  
  668. if string.sub(Msg:lower(),1,4) == "test" then
  669. local PingEnd = tonumber(string.sub(Msg,6))
  670. if PingEnd then
  671. for i = 1,PingEnd do
  672. Zoticus.Alert("Test "..i,Zoticus.Colors[Rk],Plr,0)
  673. end
  674. Zoticus.Alert("Dismiss","Bright red",Plr,2)
  675. end
  676. end
  677.  
  678. if string.sub(Msg:lower(),1,5) == "reset" and #Msg > 5 then
  679. local FoundPlrs = Zoticus.MatchPlayers(string.sub(Msg:lower(),7),Plr)
  680. for i,v in pairs(FoundPlrs) do
  681. pcall(function()
  682. v:LoadCharacter()
  683. Zoticus.Highlight(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  684. Zoticus.Fire(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  685. coroutine.resume(coroutine.create(function()
  686. wait(3)
  687. Zoticus.UnHighlight(v.Character)
  688. Zoticus.UnFire(v.Character)
  689. end))
  690. end)
  691. end
  692. end
  693.  
  694. if string.sub(Msg:lower(),1,3) == "fix" then
  695. local MsgEnd = string.sub(Msg:lower(),5)
  696. if MsgEnd == "local" or MsgEnd == "locals" then
  697. for i,v in pairs(Players:GetChildren()) do
  698. Instance.new("StringValue",Geometry).Name = v.Name
  699. end
  700. wait()
  701. for i,v in pairs(Players:GetChildren()) do
  702. if Zoticus.GetRank(v) and Zoticus.GetRank(v) > 0 then
  703. pcall(function()
  704. local Scr = NLS(LocalScriptCode,v.Character)
  705. wait()
  706. Scr.Disabled = false
  707. end)
  708. end
  709. end
  710. end
  711. end
  712.  
  713. if string.sub(Msg:lower(),1,4) == "trip" then
  714. local FoundPlrs = Zoticus.MatchPlayers(string.sub(Msg:lower(),6),Plr)
  715. for i,v in pairs(FoundPlrs) do
  716. pcall(function()
  717. v.Character.Humanoid.PlatformStand = true
  718. v.Character.Torso.CFrame = v.Character.Torso.CFrame * CFrame.Angles(math.rad(-90),0,0)
  719. Zoticus.Highlight(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  720. Zoticus.Fire(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  721. coroutine.resume(coroutine.create(function()
  722. wait(3)
  723. Zoticus.UnHighlight(v.Character)
  724. Zoticus.UnFire(v.Character)
  725. end))
  726. end)
  727. end
  728. end
  729.  
  730. if string.sub(Msg:lower(),1,4) == "info" then
  731. local FoundPlayers = Zoticus.MatchPlayers(string.sub(Msg:lower(),6),Plr)
  732. for i,v in pairs(FoundPlayers) do
  733. pcall(function()
  734. Zoticus.Alert("Showing Info For "..v.Name,Zoticus.Colors[Rk],Plr,0)
  735. Zoticus.Alert("Account Age: "..math.floor(v.AccountAge/365).." Years and "..(v.AccountAge/365-math.floor(v.AccountAge/365))*365 .." Days",Zoticus.Colors[Rk],Plr,0)
  736. Zoticus.Alert("UserId: "..v.userId,Zoticus.Colors[Rk],Plr,0)
  737. Zoticus.Alert("Membership Type: "..string.sub(tostring(v.MembershipType),Zoticus.FindCharacter(tostring(v.MembershipType))+1),Zoticus.Colors[Rk],Plr,0)
  738. Zoticus.Alert("Is Game Owner: "..tostring(v.userId==game.CreatorId),Zoticus.Colors[Rk],Plr,0)
  739. Zoticus.Alert("Dismiss","Bright red",Plr,2)
  740. end)
  741. end
  742. end
  743.  
  744. if string.sub(Msg:lower(),1,2) == "ps" then
  745. local FoundPlrs = Zoticus.MatchPlayers(string.sub(Msg:lower(),4),Plr)
  746. for i,v in pairs(FoundPlrs) do
  747. pcall(function()
  748. v.Character.Humanoid.PlatformStand = not v.Character.Humanoid.PlatformStand
  749. Zoticus.Highlight(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  750. Zoticus.Fire(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  751. coroutine.resume(coroutine.create(function()
  752. wait(3)
  753. Zoticus.UnHighlight(v.Character)
  754. Zoticus.UnFire(v.Character)
  755. end))
  756. end)
  757. end
  758. end
  759.  
  760. if string.sub(Msg:lower(),1,3) == "sit" then
  761. local FoundPlrs = Zoticus.MatchPlayers(string.sub(Msg:lower(),5),Plr)
  762. for i,v in pairs(FoundPlrs) do
  763. pcall(function()
  764. v.Character.Humanoid.Sit = not v.Character.Humanoid.Sit
  765. Zoticus.Highlight(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  766. Zoticus.Fire(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  767. coroutine.resume(coroutine.create(function()
  768. wait(3)
  769. Zoticus.UnHighlight(v.Character)
  770. Zoticus.UnFire(v.Character)
  771. end))
  772. end)
  773. end
  774. end
  775.  
  776. if string.sub(Msg:lower(),1,4) == "jump" then
  777. local FoundPlrs = Zoticus.MatchPlayers(string.sub(Msg:lower(),6),Plr)
  778. for i,v in pairs(FoundPlrs) do
  779. pcall(function()
  780. v.Character.Humanoid.Jump = true
  781. Zoticus.Highlight(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  782. Zoticus.Fire(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  783. coroutine.resume(coroutine.create(function()
  784. wait(3)
  785. Zoticus.UnHighlight(v.Character)
  786. Zoticus.UnFire(v.Character)
  787. end))
  788. end)
  789. end
  790. end
  791.  
  792. if string.sub(Msg:lower(),1,4) == "kill" then
  793. local FoundPlrs = Zoticus.MatchPlayers(string.sub(Msg:lower(),6),Plr)
  794. for i,v in pairs(FoundPlrs) do
  795. pcall(function()
  796. v.Character.Humanoid.Health = 0
  797. v.Character.Humanoid.MaxHealth = 100
  798. Zoticus.Highlight(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  799. Zoticus.Fire(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  800. coroutine.resume(coroutine.create(function()
  801. wait(3)
  802. Zoticus.UnHighlight(v.Character)
  803. Zoticus.UnFire(v.Character)
  804. end))
  805. end)
  806. end
  807. end
  808.  
  809. if string.sub(Msg:lower(),1,7) == "explode" then
  810. local FoundPlrs = Zoticus.MatchPlayers(string.sub(Msg:lower(),9),Plr)
  811. for i,v in pairs(FoundPlrs) do
  812. pcall(function()
  813. Instance.new("Explosion",workspace).Position = v.Character.Torso.Position
  814. Zoticus.Highlight(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  815. Zoticus.Fire(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  816. coroutine.resume(coroutine.create(function()
  817. wait(3)
  818. Zoticus.UnHighlight(v.Character)
  819. Zoticus.UnFire(v.Character)
  820. end))
  821. end)
  822. end
  823. end
  824.  
  825. if string.sub(Msg:lower(),1,3) == "exp" then
  826. local FoundPlrs = Zoticus.MatchPlayers(string.sub(Msg:lower(),5),Plr)
  827. for i,v in pairs(FoundPlrs) do
  828. pcall(function()
  829. Instance.new("Explosion",workspace).Position = v.Character.Torso.Position
  830. Zoticus.Highlight(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  831. Zoticus.Fire(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  832. coroutine.resume(coroutine.create(function()
  833. wait(3)
  834. Zoticus.UnHighlight(v.Character)
  835. Zoticus.UnFire(v.Character)
  836. end))
  837. end)
  838. end
  839. end
  840.  
  841. if Msg:lower() == "dismiss" then
  842. Zoticus.Remove("Tablets",Plr)
  843. end
  844.  
  845. if string.sub(Msg:lower(),1,4) == "warp" then
  846. local FoundPlayers = Zoticus.MatchPlayers(string.sub(Msg:lower(),6,Zoticus.FindCharacter(Msg:lower())-1),Plr)
  847. local DesiredWarp = tonumber(string.sub(Msg:lower(),Zoticus.FindCharacter(Msg:lower())+1))
  848. for i,v in pairs(FoundPlayers) do
  849. pcall(function()
  850. v.Character.Torso.CFrame = v.Character.Torso.CFrame * CFrame.new(0,0,-DesiredWarp)
  851. Zoticus.Highlight(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  852. Zoticus.Fire(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  853. coroutine.resume(coroutine.create(function()
  854. wait(3)
  855. Zoticus.UnHighlight(v.Character)
  856. Zoticus.UnFire(v.Character)
  857. end))
  858. end)
  859. end
  860. end
  861.  
  862. if string.sub(Msg:lower(),1,3) == "box" then
  863. local FoundPlayers = Zoticus.MatchPlayers(string.sub(Msg:lower(),5),Plr)
  864. for i,v in pairs(FoundPlayers) do
  865. pcall(function()
  866. Zoticus.Highlight(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  867. end)
  868. end
  869. end
  870.  
  871. if string.sub(Msg:lower(),1,5) == "unbox" then
  872. local FoundPlayers = Zoticus.MatchPlayers(string.sub(Msg:lower(),7),Plr)
  873. for i,v in pairs(FoundPlayers) do
  874. pcall(function()
  875. Zoticus.UnHighlight(v.Character)
  876. end)
  877. end
  878. end
  879.  
  880. if string.sub(Msg:lower(),1,4) == "fire" then
  881. local FoundPlayers = Zoticus.MatchPlayers(string.sub(Msg:lower(),6),Plr)
  882. for i,v in pairs(FoundPlayers) do
  883. pcall(function()
  884. Zoticus.Fire(v.Character,Zoticus.Colors[Zoticus.GetRank(v)])
  885. end)
  886. end
  887. end
  888.  
  889. if string.sub(Msg:lower(),1,6) == "unfire" then
  890. local FoundPlayers = Zoticus.MatchPlayers(string.sub(Msg:lower(),8),Plr)
  891. for i,v in pairs(FoundPlayers) do
  892. pcall(function()
  893. Zoticus.UnFire(v.Character)
  894. end)
  895. end
  896. end
  897. end
  898. if Rk >= 2 then
  899. if string.sub(Msg:lower(),1,5) == "clear" then
  900. local RemoveStr = string.sub(Msg:lower(),7)
  901. if RemoveStr == "tablets" or RemoveStr == "pings" then
  902. Zoticus.Remove("Tablets",Plr)
  903. end
  904. end
  905.  
  906. if string.sub(Msg:lower(),1,4) == "kick" then
  907. local FoundPlayers = Zoticus.MatchPlayers(string.sub(Msg:lower(),6),Plr)
  908. for i,v in pairs(FoundPlayers) do
  909. pcall(function()
  910. if Zoticus.GetRank(v) and Rk > Zoticus.GetRank(v) and v ~= Plr then
  911. v:Destroy()
  912. end
  913. end)
  914. end
  915. end
  916.  
  917. if Msg:lower() == "rejoin" then
  918. local Scr = NLS(RejoinCode,Plr.Character)
  919. wait()
  920. Scr.Disabled = false
  921. end
  922. end
  923. if Rk >= 3 then
  924.  
  925. end
  926. if Rk >= 4 then
  927.  
  928. end
  929. if Rk >= 5 then
  930. if string.sub(Msg:lower(),1,4) == "rank" then
  931. local FoundPlayers = Zoticus.MatchPlayers(string.sub(Msg:lower(),6,Zoticus.FindCharacter(Msg:lower())-1),Plr)
  932. local DesiredRank = tonumber(string.sub(Msg:lower(),Zoticus.FindCharacter(Msg:lower())+1))
  933. local DesiredRankName = Zoticus.Ranks[DesiredRank]
  934. for i,v in pairs(FoundPlayers) do
  935. if Zoticus.GetRank(v) and Zoticus.GetRank(v) <= Rk and DesiredRank <= Rk and v ~= Plr then
  936. if DesiredRank < 1 then
  937. Instance.new("StringValue",Geometry).Name = v.Name
  938. for i2,v2 in pairs(Zoticus.Connections) do
  939. v2:disconnect()
  940. end
  941. for i2,v2 in pairs(Players:GetChildren()) do
  942. if Zoticus.GetRank(v2) and Zoticus.GetRank(v2) > 0 and v2 ~= v then
  943. local ChatCon = v2.Chatted:connect(function(m) Zoticus.Chatted(m, v2) end)
  944. table.insert(Zoticus.Connections,ChatCon)
  945. end
  946. end
  947. end
  948. if Zoticus.GetRank(v) == 0 then
  949. local Scr = NLS(LocalScriptCode,v.Character)
  950. wait()
  951. Scr.Disabled = false
  952. local ChatCon = v.Chatted:connect(function(m) Zoticus.Chatted(m, v) end)
  953. table.insert(Zoticus.Connections,ChatCon)
  954. end
  955. Zoticus.Alert("You are rank " .. DesiredRank .. " (" .. DesiredRankName .. ") in Zoticus admin.",Zoticus.Colors[DesiredRank],v,1,10)
  956. Zoticus.Players[tablefind(Zoticus.Players,v.Name,1)][2] = DesiredRank
  957. end
  958. end
  959. end
  960. end
  961. if Rk >= 6 then
  962.  
  963. end
  964. if Rk >= 7 then
  965. if string.sub(Msg:lower(),1,6) == "remove" then
  966. local RemoveStr = string.sub(Msg:lower(),8)
  967. if RemoveStr == "script" or RemoveStr == "admin" or RemoveStr == "self" then
  968. Zoticus.Remove("Self")
  969. Shutdown = true
  970. elseif RemoveStr == "tablets" or RemoveStr == "pings" then
  971. Zoticus.Remove("Tablets")
  972. end
  973. end
  974.  
  975. if Msg:lower() == "shutdown" then
  976. Instance.new("ManualSurfaceJointInstance")
  977. end
  978. end
  979. end
  980.  
  981. Zoticus["TabletsString"] = function()
  982. local String = ""
  983. if #Zoticus.Tablets > 0 then
  984. for i,v in pairs(Zoticus.Tablets) do
  985. if i == 1 then
  986. if #Zoticus.Tablets == 1 then
  987. String = '{ {[[' .. v[1] .. ']], [[' .. v[2] .. ']], [[' .. tostring(v[3]) .. ']], ' .. tostring(v[4]) .. ', [[' .. tostring(v[5]) .. ']]} }'
  988. else
  989. String = '{ {[[' .. v[1] .. ']], [[' .. v[2] .. ']], [[' .. tostring(v[3]) .. ']], ' .. tostring(v[4]) .. ', [[' .. tostring(v[5]) .. ']]}, '
  990. end
  991. elseif i == #Zoticus.Tablets then
  992. String = String .. '{[[' .. v[1] .. ']], [[' .. v[2] .. ']], [[' .. tostring(v[3]) .. ']], ' .. tostring(v[4]) .. ', [[' .. tostring(v[5]) .. ']]} }'
  993. else
  994. String = String .. '{[[' .. v[1] .. ']], [[' .. v[2] .. ']], [[' .. tostring(v[3]) .. ']], ' .. tostring(v[4]) .. ', [[' .. tostring(v[5]) .. ']]}, '
  995. end
  996. end
  997. else
  998. String = "{}"
  999. end
  1000. return String
  1001. end
  1002.  
  1003. Zoticus["PlayerAdded"] = function(Player)
  1004. if FirstOne then
  1005. for i,v in pairs(Players:GetChildren()) do
  1006. if v ~= Player and Zoticus.GetRank(v) and Zoticus.GetRank(v) > 0 then
  1007. Zoticus.Alert(Player.Name .. " has entered the server!",Zoticus.Colors[Zoticus.GetRank(v)],v,1,5)
  1008. end
  1009. end
  1010. end
  1011. Rank, RankName = Zoticus.GetRank(Player)
  1012. if Rank then
  1013. if Rank == -1 then
  1014. Player:Destroy()
  1015. end
  1016. local ChatCon = Player.Chatted:connect(function(m) Zoticus.Chatted(m, Player) end)
  1017. table.insert(Zoticus.Connections,ChatCon)
  1018. if Rank > 0 then
  1019. if not Player.Character then
  1020. repeat wait() until Player.Character
  1021. end
  1022. Zoticus.Alert("You are rank " .. Rank .. " (" .. RankName .. ") in Zoticus admin.",Zoticus.Colors[Rank],Player,1,10)
  1023. local Scr = NLS(LocalScriptCode,Player.Character)
  1024. wait()
  1025. Scr.Disabled = false
  1026. end
  1027. else
  1028. table.insert(Zoticus.Players,{Player.Name,0})
  1029. Rank = 0
  1030. RankName = "Guest"
  1031. end
  1032. end
  1033.  
  1034. local AddedCon = Players.PlayerAdded:connect(Zoticus.PlayerAdded)
  1035. table.insert(Zoticus.Connections,AddedCon)
  1036.  
  1037. for i,v in pairs(Players:GetChildren()) do
  1038. Zoticus.PlayerAdded(v)
  1039. end
  1040.  
  1041. FirstOne = true
  1042.  
  1043. while true do
  1044. if not Shutdown then
  1045. if Geometry:FindFirstChild("Shutdown") then
  1046. Shutdown = true
  1047. Zoticus.Remove("Self")
  1048. Instance.new("StringValue",Geometry).Name = "ShutdownAdmin"
  1049. Geometry:FindFirstChild("Shutdown"):Destroy()
  1050. break
  1051. end
  1052. for i,v in pairs(Geometry:GetChildren()) do
  1053. if v.Name == "Tablets" and v ~= TabletValue then
  1054. v:Destroy()
  1055. end
  1056. end
  1057. if Geometry:FindFirstChild("RemoveTablet") then
  1058. pcall(function()
  1059. table.remove(Zoticus.Tablets,Geometry:FindFirstChild("RemoveTablet").Value)
  1060. Geometry:FindFirstChild("RemoveTablet"):Destroy()
  1061. end)
  1062. end
  1063. if Geometry:FindFirstChild("ClearPings") then
  1064. pcall(function()
  1065. Zoticus.Remove("Tablets",Geometry:FindFirstChild("ClearPings").Value)
  1066. Geometry:FindFirstChild("ClearPings"):Destroy()
  1067. end)
  1068. end
  1069. for i,v in pairs(Geometry:GetChildren()) do
  1070. if v.Name == "CreatePing" then
  1071. local Rk = Zoticus.GetRank(Players[v.Value])
  1072. if v:FindFirstChild("Color") then
  1073. Zoticus.Alert(v.Message.Value,v.Color.Value,Players[v.Value],v.Func.Value)
  1074. else
  1075. Zoticus.Alert(v.Message.Value,Zoticus.Colors[Rk],Players[v.Value],v.Func.Value)
  1076. end
  1077. v:Destroy()
  1078. end
  1079. end
  1080. if not TabletValue or TabletValue.Parent == nil then
  1081. TabletValue = Instance.new("StringValue", Geometry)
  1082. TabletValue.Name = "Tablets"
  1083. end
  1084. TabletValue.Value = Zoticus.TabletsString()
  1085. else
  1086. break
  1087. end
  1088. wait(0)
  1089. end
  1090.  
  1091. --MediaFire
Add Comment
Please, Sign In to add comment