Advertisement
CFDatabase

OLD actinium 4 LMAO

Mar 2nd, 2016
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.79 KB | None | 0 0
  1. wait()
  2.  
  3.  
  4. Actinium = {
  5. ['Owner'] = tostring(getfenv().owner),
  6. ['Version'] = 1.1,
  7. ['Colors'] = {
  8. 'Institutional white',
  9. 'Black',
  10. 'Camo',
  11. 'Really blue',
  12. 'New Yeller',
  13. 'Teal',
  14. 'Navy blue',
  15. 'Lime green',
  16. 'Hot pink',
  17. 'Reddish brown'
  18. },
  19. ['Commands'] = {},
  20. ['Tablets'] = {},
  21. ['Settings'] = {
  22. Santex = "!",
  23. Suffix = ";",
  24. Intro = true,
  25. },
  26. ['VotingData'] = {
  27. VoteRunning = false,
  28. Yes = 0,
  29. No = 0,
  30. },
  31. ['PrivateServer'] = {
  32. Enabled = false,
  33. Mode = 'Friends'
  34. },
  35. ['DataSyncing'] = {
  36. Key = function(player) return tostring(player) end,
  37. BDataName = "[Actinium] 1.1.2 Banlist",
  38. CDataName = "~TEST~[Actinium] 1.1 User-Entered"
  39. },
  40. ['AgeKick'] = {
  41. Enabled = false,
  42. KAge = 360
  43. },
  44. ['Ranked'] = {
  45. {'Player','Creator',4,'Teal',true,false,true,true,true},
  46. {'12gaugenick','Creator',5,'Teal',true,false,true,true,true},
  47. },
  48. ['Rules'] = {
  49. "Do NOT kill the creator of this admin",
  50. "Do NOT steal or copy this admin or any others",
  51. "Do NOT private server",
  52. "Do NOT have a GUI orb",
  53. },
  54. ['Logs'] = {
  55. Errors = {},
  56. CommandChats = {},
  57. Enters = {},
  58. Scripts = {}
  59. },
  60. ['Functions'] = {
  61. GetPlayerData = function(plr,data)
  62. for i,v in pairs(Actinium.Ranked) do
  63. if v[1]:lower() == plr.Name:lower() then
  64. return v[data]
  65. end
  66. end
  67. end,
  68. AddRank = function(plr,rank,desc,color)
  69. coroutine.resume(coroutine.create(function()
  70. local r,e = ypcall(function()
  71. for i,v in pairs(Actinium.Ranked) do
  72. if v[1]:lower() == plr:lower() then
  73. table.remove(Actinium.Ranked,i)
  74. end
  75. end
  76. table.insert(Actinium.Ranked,{
  77. plr,
  78. desc,
  79. rank,
  80. color,
  81. false,
  82. false,
  83. false,
  84. false,
  85. false
  86. })
  87. end)
  88. if not r then print(e) end
  89. end))
  90. end,
  91. NewDesc = function(plr,desc)
  92. for i,v in pairs(Actinium.Ranked) do
  93. if v[1]:lower() == plr.Name:lower() then
  94. desc = tostring(desc)
  95. v[2] = desc
  96. Output(plr,'Your desc is:'..tostring(v[2]),BrickColor.new('White'),'derp')
  97. end
  98. end
  99. end,
  100. NewColor = function(plr)
  101. for i,v in pairs(Actinium.Colors) do
  102. Output(plr,tostring(v),BrickColor.new(v),function()
  103. local Color = Actinium.Functions.GetPlayerData(plr,3)
  104. Color = tostring(v)
  105. Output(plr,'Your color is: '..tostring(v),BrickColor.new(v),'derp')
  106. end)
  107. end
  108. end,
  109. Kick = function(plr)
  110. local K = Instance.new('RemoteEvent',game:GetService'Lighting')
  111. K:FireClient(
  112. plr,
  113. {string.rep("umad?",2e5+5)}
  114. )
  115. delay(1,function()
  116. K:remove()
  117. end)
  118. end,
  119. GetPlr = function(plr,msg)
  120. local Table = {}
  121. msg = msg:lower()
  122. if msg == 'me' or msg == '' then
  123. table.insert(Table,plr)
  124. elseif msg == 'others' then
  125. for i,v in pairs(game:service'Players':GetPlayers()) do
  126. if v.userId ~= plr.userId then
  127. table.insert(Table,v)
  128. end
  129. end
  130. elseif msg == 'all' then
  131. for i,v in pairs(game:service'Players':GetPlayers()) do
  132. table.insert(Table,v)
  133. end
  134. else
  135. for i,v in pairs(game:service'Players':GetPlayers()) do
  136. if v.Name:lower():sub(1,5):find(msg:lower()) then
  137. table.insert(Table,v)
  138. end
  139. end
  140. end
  141. return Table
  142. end,
  143. NewVote = function(Plr,Vote_About,Func,KickVote)
  144. if not Actinium.VotingData.VoteRunning then
  145. Actinium.VotingData.VoteRunning = true
  146. local Showing_Voting = false
  147. for _,v in pairs(game:service'Players':GetPlayers()) do
  148. Dismiss(v)
  149. if v.userId ~= Plr.userId then
  150. coroutine.resume(coroutine.create(function()
  151. Output(v,tostring(Vote_About),BrickColor.new('White'),'asd')
  152. Output(v,'Yes',BrickColor.new('Lime green'),function()
  153. Actinium.VotingData.Yes = Actinium.VotingData.Yes + 1
  154. Dismiss(v)
  155. end)
  156. Output(v,'No',BrickColor.new('Bright red'),function()
  157. Actinium.VotingData.No = Actinium.VotingData.No + 1
  158. Dismiss(v)
  159. end)
  160. end))
  161. end
  162. end
  163. Showing_Voting = true
  164. for i = 10,1,-1 do
  165. Output(Plr,'Vote over in: '..tonumber(i)..' seconds',BrickColor.new('White'),'asd')
  166. wait(1)
  167. Dismiss(Plr)
  168. end
  169. for _,qq in pairs(game:service'Players':GetPlayers()) do
  170. Dismiss(qq)
  171. end
  172. wait(.3)
  173. if Actinium.VotingData.Yes > Actinium.VotingData.No then
  174. if type(Func) == 'function' then
  175. pcall(function() Func() end)
  176. end
  177. elseif Actinium.VotingData.Yes == Actinium.VotingData.No then
  178. for _,v in pairs(game:service'Players':GetPlayers()) do
  179. Dismiss(v)
  180. end
  181. Output(Plr,'There was a tie in the voting!',BrickColor.new('White'),'asd')
  182. wait(3)
  183. elseif Actinium.VotingData.Yes < Actinium.VotingData.No then
  184. for _,v in pairs(game:service'Players':GetPlayers()) do
  185. Dismiss(v)
  186. end
  187. Output(Plr,'\"No"\ has won the vote',BrickColor.new('Really red'),'asd')
  188. wait(3)
  189. end
  190. for _,v in pairs(game:service'Players':GetPlayers()) do
  191. Dismiss(v)
  192. Output(v,Actinium.Functions.GetTime()..'Vote over!',BrickColor.Random(),'asd')
  193. end
  194. Output(Plr,'Show voting results?',BrickColor.new('White'),function()
  195. Dismiss(Plr)
  196. Output(Plr,'Voting results',BrickColor.new('White'),'asd')
  197. Output(Plr,'Yes: '..Actinium.VotingData.Yes,BrickColor.new('Lime green'),'asd')
  198. Output(Plr,'No: '..Actinium.VotingData.No,BrickColor.new('Really red'),'asd')
  199. end)
  200. wait(3)
  201. for _,v in pairs(game:service'Players':GetPlayers()) do
  202. if v.userId ~= Plr.userId then
  203. Dismiss(v)
  204. end
  205. end
  206. Actinium.VotingData.Yes = 0
  207. Actinium.VotingData.No = 0
  208. Actinium.VotingData.VoteRunning = false
  209. else
  210. Output(Plr,Actinium.Functions.GetTime()..'There is already a vote running!',BrickColor.new('Really red'),'asd')
  211. Output(Plr,Actinium.Functions.GetTime()..'Please try again in a few seconds',BrickColor.new('Really red'),'asd')
  212. end
  213. end,
  214. BroadCast = function(rank,msg,color,func)
  215. for i,v in pairs(game:service'Players':GetPlayers()) do
  216. local PlayerRank = Actinium.Functions.GetPlayerData(v,3) or 0
  217. local PlayerNote = Actinium.Functions.GetPlayerData(v,9) or true
  218. if PlayerRank >= rank and PlayerNote == true then
  219. Output(v,msg,color,func)
  220. end
  221. end
  222. end,
  223. PlayerImage = function(player)
  224. return 'http://www.roblox.com/Thumbs/Avatar.ashx?x=100&y=100&Format=Png&username='..tostring(player)
  225. end,
  226. NewServer = function(plr)
  227. local Results = game:service'HttpService':GetAsync('http://classy-studios.com/APIs/JoinGame.php?GameID='..game.PlaceId,true)
  228. repeat
  229. wait(.7)
  230. Actinium.Functions.NewServer(plr)
  231. until Results
  232.  
  233. if Results then
  234. Output(plr,Actinium.Functions.GetTime()..'New-server opened: '..GetProductData(game.PlaceId,'Name'),BrickColor.Random(),'asd')
  235. end
  236. end,
  237. GetTime = function()
  238. local gameTime = workspace.DistributedGameTime
  239. local hour, min, sec = math.floor(gameTime/3600)%24, math.floor(gameTime/60)%60, math.floor(gameTime)%60
  240. return "[ "..(hour < 10 and "0"..hour or hour)..":"..(min < 10 and "0"..min or min)..":"..(sec < 10 and "0"..sec or sec).." ] "
  241. end
  242. }
  243. }
  244.  
  245. local Market = game:GetService('MarketplaceService')
  246. local Datastore = game:GetService('DataStoreService')
  247.  
  248. GetProductData = function(id,data)
  249. if (not(id == 0)) then
  250. return Market:GetProductInfo(id)[data]
  251. end
  252. end
  253.  
  254. workspace.DescendantAdded:connect(function(obj)
  255. if obj.ClassName == 'Script' or obj.ClassName == 'LocalScript' then
  256. table.insert(Actinium.Logs.Scripts,obj.Name)
  257. end
  258. end)
  259.  
  260. local GetUsersGroupMembers = function(groupid)
  261. local groupLink = "http://www.roproxy.tk/My/Groups.aspx?gid=" .. groupid
  262. local html = game:GetService("HttpService"):GetAsync(groupLink, true)
  263. local pattern = [[<div id="MemberCount">Members: %d+</div>]]
  264. local size = tonumber(html:match(pattern):match("%d+"))
  265.  
  266. return size
  267. end
  268.  
  269. local Logs = function(plr)
  270. Dismiss(plr)
  271. Output(plr,'Errors',BrickColor.Random(),function()
  272. Dismiss(plr)
  273. for i,v in pairs(Actinium.Logs.Errors) do
  274. Dismiss(plr)
  275. Output(plr,tostring(v),BrickColor.Random(),'derp')
  276. end
  277. end)
  278. Output(plr,'Enters',BrickColor.Random(),function()
  279. Dismiss(plr)
  280. for i,v in pairs(Actinium.Logs.Enters) do
  281. Dismiss(plr)
  282. Output(plr,tostring(v),BrickColor.Random(),'derp')
  283. end
  284. end)
  285. Output(plr,'Scripts',BrickColor.Random(),function()
  286. Dismiss(plr)
  287. for i,v in pairs(Actinium.Logs.Scripts) do
  288. Dismiss(plr)
  289. Output(plr,tostring(v),BrickColor.Random(),'derp')
  290. end
  291. end)
  292. end
  293.  
  294. local Open_Banned = function(plr)
  295. local DS = Datastore:GetOrderedDataStore(Actinium.DataSyncing.BDataName)
  296. local NumberIndex = 1
  297. local Page = DS:GetSortedAsync(false,20)
  298.  
  299. local function GetData()
  300. Dismiss(plr)
  301. Output(plr,'PageNumber: '..NumberIndex,BrickColor.Random(),'asd')
  302. Output(plr,'Next page',BrickColor.Random(),function()
  303. NumberIndex = NumberIndex + 1
  304. pcall(function() Page:AdvanceToNextPageAsync() end)
  305. GetData()
  306. end)
  307. for i,v in pairs(Page:GetCurrentPage()) do
  308. local name = v.key
  309. local number = v.value
  310. Output(plr,tostring(name),BrickColor.Random(),function()
  311. Dismiss(plr)
  312. Output(plr,'Player: '..tostring(name),BrickColor.Random(),'asd',Actinium.Functions.PlayerImage(name))
  313. Output(plr,'Joins on ban: '..tostring(number),BrickColor.Random(),'asd')
  314. Output(plr,'Back',BrickColor.White(),function()
  315. GetData()
  316. end)
  317. end)
  318. end
  319.  
  320. end GetData()
  321. end
  322.  
  323. local Check_For_Ban = function(player)
  324. local DS = Datastore:GetOrderedDataStore(Actinium.DataSyncing.BDataName)
  325. local Key = Actinium.DataSyncing.Key(player.Name)
  326. if DS:GetAsync(Key) then
  327. Actinium.Functions.BroadCast(1,Actinium.Functions.GetTime()..'Kicked: '..player.Name..', Reason: Banned',BrickColor.White(),'asd',Actinium.Functions.PlayerImage(player.Name))
  328. Actinium.Functions.Kick(player)
  329. else
  330. local PlayerRank = Actinium.Functions.GetPlayerData(player,3) or 0
  331. for i,v in pairs(Actinium.Ranked) do
  332. if v[1]:lower() == player.Name:lower() and PlayerRank <= .1 then
  333. Actinium.Functions.BroadCast(1,Actinium.Functions.GetTime()..'Kicked: '..player.Name..', Reason: '..v[2],BrickColor.White(),'asd',Actinium.Functions.PlayerImage(v[1]))
  334. Actinium.Functions.Kick(player)
  335. end
  336. end
  337. end
  338. end
  339.  
  340. local SaveBan = function(player)
  341. local DS = Datastore:GetOrderedDataStore(Actinium.DataSyncing.BDataName)
  342. local Key = Actinium.DataSyncing.Key(player.Name)
  343. if DS:GetAsync(Key) then
  344. DS:UpdateAsync(Key,function(ov)
  345. local no = ov or 0
  346. no = no + 1
  347. return no
  348. end)
  349. pcall(function() Actinium.Functions.Kick(player) end)
  350. else
  351. DS:SetAsync(Key,1)
  352. pcall(function() Actinium.Functions.Kick(player) end)
  353. end
  354. end
  355.  
  356. LoadMusic = function(id)
  357. for i,v in pairs(game:GetService('Workspace'):GetChildren()) do
  358. if v.ClassName == 'Sound' or v:IsA('Sound') then
  359. v.Looped = false
  360. v.PlayOnRemove = false
  361. v:Pause()
  362. v:remove()
  363. end
  364. end
  365. for i,v in pairs(script:GetChildren()) do
  366. if v.ClassName == 'Sound' or v:IsA('Sound') then
  367. v.Looped = false
  368. v.PlayOnRemove = false
  369. v:Pause()
  370. v:remove()
  371. end
  372. end
  373. local s = Instance.new('Sound',script)
  374. s.SoundId = 'rbxassetid://'..id
  375. s.Volume=1
  376. s.Looped=true
  377. wait()
  378. s:Play()
  379. end
  380.  
  381. local GetDismissableTablets = function(plr)
  382. local NewTable = {}
  383. for i,v in ipairs(Actinium.Tablets) do
  384. if v[1] == plr.userId then
  385. if v[2].Parent ~= nil then
  386. coroutine.resume(coroutine.create(function()
  387. table.insert(NewTable,v)
  388. end))
  389. end
  390. end
  391. end
  392. return NewTable
  393. end
  394.  
  395. Dismiss = function(plr)
  396. for i = 1, #GetDismissableTablets(plr) do
  397. local Tabs = GetDismissableTablets(plr)
  398. local v = Tabs[i]
  399. spawn(function()
  400. v[4].Transparency = 0
  401. for i = 0,2,.1 do
  402. v[2].CFrame = v[2].CFrame * CFrame.new(-.5,-.5,-.5)
  403. v[2].Size = v[2].Size - Vector3.new(.07,.07,.07)
  404. v[4].Size = v[4].Size - Vector3.new(.1,.1,.1)
  405. v[4].Transparency = v[2].Transparency
  406. v[2].Transparency = v[2].Transparency +.03
  407. v[6].TextStrokeTransparency = v[6].TextStrokeTransparency +.1
  408. v[6].TextTransparency = v[6].TextStrokeTransparency
  409. game:service'RunService'.Heartbeat:wait()
  410. end
  411. v[2].Parent = nil
  412. v[5].Parent = nil
  413. return
  414. end)
  415. end
  416. wait()
  417. end
  418. --[[
  419. local NewServer = function(id)
  420. if type(id) == 'number' then
  421. print(id)
  422. local Result = game:GetService('HttpService'):GetAsync('http://roproxy.tk/Game/PlaceLauncher.ashx?request=RequestGame&placeId='..tonumber(id),true)
  423. if Result then
  424. Actinium.Functions.BroadCast(3,'Opened-server: '..GetProductData(tonumber(id),'Name'),BrickColor.Random(),'asd')
  425. end
  426. end
  427. end]]
  428.  
  429. --// Output \\--
  430. function Output(plr,msg,color,func,image)
  431. if type(plr) ~= 'userdata' then return end
  432. if not plr.Character then return end
  433. if not color then return end
  434. if not image then image = '' end
  435. local wire = Instance.new("Part")
  436. local Tab = Instance.new('Part',script)
  437. Tab.BrickColor = color
  438. Tab.Material = 'Plastic'
  439. Tab.Transparency = .8
  440. Tab.CanCollide = false
  441. Tab.Anchored = true
  442. Tab.Locked = true
  443. Tab.FormFactor = 'Custom'
  444. Tab.Size = Vector3.new(1.5,1.5,1.5)
  445. Tab.BottomSurface = 'Smooth'
  446. Tab.TopSurface = 'Smooth'
  447. local Wire = Instance.new('Part',script)
  448. Wire.BrickColor = Tab.BrickColor
  449. Wire.Material = 'Plastic'
  450. if Actinium.Functions.GetPlayerData(plr,8) or false ~= false then
  451. Wire.Transparency = .2
  452. else
  453. Wire.Transparency = 1
  454. end
  455. Wire.CanCollide = false
  456. Wire.Anchored = true
  457. Wire.Locked = true
  458. Wire.FormFactor = 'Custom'
  459. Wire.Size = Vector3.new(.2,.2,.2)
  460. Wire.BottomSurface = 'Smooth'
  461. Wire.TopSurface = 'Smooth'
  462. local Tab2 = Instance.new('Part',Tab)
  463. Tab2.BrickColor = Tab.BrickColor
  464. Tab2.Material = 'Plastic'
  465. Tab2.Transparency = .5
  466. Tab2.CanCollide = false
  467. Tab2.Anchored = true
  468. Tab2.Locked = true
  469. Tab2.FormFactor = 'Custom'
  470. Tab2.Size = Vector3.new(1.1,1.1,1.1)
  471. Tab2.BottomSurface = 'Smooth'
  472. Tab2.TopSurface = 'Smooth'
  473. local Mesh = Instance.new('BlockMesh',Tab2)
  474. local Mesh2 = Instance.new('BlockMesh',Wire)
  475. local BG = Instance.new('BillboardGui',Tab)
  476. BG.Size = UDim2.new(10,0,3,0)
  477. BG.StudsOffset = Vector3.new(0,3,0)
  478. local BodyGyro = Instance.new('BodyGyro',Tab)
  479. if plr and plr.Character.Torso then
  480. Tab.CFrame = plr.Character.Torso.CFrame * CFrame.new(0,3,0)
  481. Tab2.CFrame = Tab.CFrame
  482. end
  483. local Textlabel = Instance.new('TextLabel',BG)
  484. Textlabel.BackgroundTransparency = 1
  485. Textlabel.Size = UDim2.new(1,0,1,0)
  486. Textlabel.Font = 'ArialBold'
  487. Textlabel.FontSize = 'Size24'
  488. Textlabel.Text = tostring(msg):gsub('','\5')
  489. Textlabel.TextColor3 = Tab.BrickColor.Color
  490. Textlabel.TextStrokeTransparency = .43
  491. Textlabel.TextYAlignment = 'Bottom'
  492. local Image = Instance.new('ImageLabel',BG)
  493. Image.BackgroundTransparency = 1
  494. Image.Position = UDim2.new(.35,0,0,0)
  495. Image.Size = UDim2.new(.3,0,1,0)
  496. Image.Image = image
  497. local Click = Instance.new('ClickDetector',Tab)
  498. Click.MaxActivationDistance = tonumber( math.huge )
  499. Click.MouseClick:connect(function(user_clicked)
  500. if user_clicked.userId == plr.userId then
  501. Tab.Parent = nil
  502. Wire.Parent = nil
  503. if type(func) == 'function' then
  504. func = func
  505. func()
  506. end
  507. end
  508. end)
  509. Click.MouseHoverEnter:connect(function(user_over)
  510. if user_over.userId == plr.userId then
  511. spawn(function()
  512. Tab.Size = Vector3.new(1.5,1.5,1.5)
  513. Tab2.Size = Vector3.new(1.1,1.1,1.1)
  514. Tab2.Transparency = .5
  515. for i = 0,.5,.1 do
  516. Tab.Size = Tab.Size + Vector3.new(.1,.1,.1)
  517. Tab2.Size = Tab2.Size + Vector3.new(.1,.1,.1)
  518. Tab2.Transparency = Tab2.Transparency - .1
  519. game["Run Service"].Stepped:wait()
  520. end
  521. end)
  522. end
  523. end)
  524. Click.MouseHoverLeave:connect(function(user_over)
  525. if user_over.userId == plr.userId then
  526. spawn(function()
  527. for i = 0,.5,.1 do
  528. Tab.Size = Tab.Size - Vector3.new(.1,.1,.1)
  529. Tab2.Size = Tab2.Size - Vector3.new(.1,.1,.1)
  530. Tab2.Transparency = Tab2.Transparency + .1
  531. game["Run Service"].Stepped:wait()
  532. end
  533. Tab.Size = Vector3.new(1.5,1.5,1.5)
  534. Tab2.Size = Vector3.new(1.1,1.1,1.1)
  535. Tab2.Transparency = .5
  536. end)
  537. end
  538. end)
  539.  
  540. table.insert(Actinium.Tablets,{
  541. plr.userId,
  542. Tab,
  543. BodyGyro,
  544. Tab2,
  545. Wire,
  546. Textlabel
  547. })
  548. end
  549. ----------------------------
  550.  
  551. --// Rotation \\--
  552. function clerp(p1,p2,percent)
  553. local p1x,p1y,p1z,p1R00,p1R01,p1R02,p1R10,p1R11,p1R12,p1R20,p1R21,p1R22=p1:components()
  554. local p2x,p2y,p2z,p2R00,p2R01,p2R02,p2R10,p2R11,p2R12,p2R20,p2R21,p2R22=p2:components()
  555. return CFrame.new(p1x+percent*(p2x-p1x),p1y+percent*(p2y-p1y),p1z+percent*(p2z-p1z),
  556. p1R00+percent*(p2R00-p1R00),p1R01+percent*(p2R01-p1R01),p1R02+percent*(p2R02-p1R02),
  557. p1R10+percent*(p2R10-p1R10),p1R11+percent*(p2R11-p1R11),p1R12+percent*(p2R12-p1R12),
  558. p1R20+percent*(p2R20-p1R20),p1R21+percent*(p2R21-p1R21),p1R22+percent*(p2R22-p1R22))
  559. end
  560.  
  561. local Num = 1
  562. local Num2 = .0025
  563.  
  564.  
  565. spawn(function()
  566. game:service'RunService'.Heartbeat:connect(function()
  567. Num = Num + Num2
  568. for _,plr in next,game.Players:GetPlayers() do
  569. local PlrTablets = {}
  570. for itab,tab in pairs(Actinium.Tablets) do
  571. if tab[1] == plr.userId and tab[2].Parent ~= nil then
  572. table.insert(PlrTablets,tab)
  573. elseif tab[1] == plr.userId and tab[2].Parent == nil then
  574. table.remove(Actinium.Tablets,itab)
  575. end
  576. end
  577. if plr and plr.Character and plr.Character:FindFirstChild('Torso',true) then
  578. for i = 1,#PlrTablets do
  579. coroutine.resume(coroutine.create(function()
  580. local Tabs = PlrTablets
  581. local Tab = Tabs[i]
  582. local TBounce = 0
  583. local TInOut = 0
  584. local Spin = Actinium.Functions.GetPlayerData(plr,5) or false
  585. local Bounce = Actinium.Functions.GetPlayerData(plr,6) or false
  586. local WiredTabs = Actinium.Functions.GetPlayerData(plr,8) or false
  587. if not Spin then
  588. Num = 0
  589. end
  590. if Bounce then
  591. TBounce = math.sin(tick()+i)/1.2
  592. end
  593. local NewRadius = 0
  594. if #PlrTablets > 3 then
  595. NewRadius = .76*#PlrTablets
  596. else
  597. NewRadius = 1.6+#PlrTablets
  598. end
  599. Tab[2].CFrame = clerp(
  600. Tab[2].CFrame, CFrame.new(plr.Character.Torso.CFrame.p)
  601. * CFrame.Angles(0, math.rad(i*(360/#PlrTablets))+Num+.7, 0)
  602. * CFrame.new(NewRadius,TBounce,0)
  603. * CFrame.Angles(0, math.rad(90), 0)
  604. * CFrame.fromEulerAnglesXYZ(math.sin(tick()),math.sin(tick()),math.sin(tick()))
  605. ,.1 ) * Tab[3].cframe
  606. Tab[4].CFrame = Tab[2].CFrame * Tab[3].cframe
  607.  
  608. if #PlrTablets >= 3 and WiredTabs then
  609. local wire = Tab[5]
  610. if PlrTablets[i+1] ~= nil then
  611. wire.Transparency = .3
  612. local dist = ((PlrTablets[i+1][2].Position-Tab[2].Position).magnitude)
  613. wire.Size = Vector3.new(0,dist,0)
  614. wire.CFrame = CFrame.new(PlrTablets[i+1][2].Position,Tab[2].Position)
  615. * CFrame.new(0,0,-dist/2)
  616. * CFrame.Angles(math.pi/2,Num,0)
  617. elseif PlrTablets[1] ~= nil then
  618. wire.Transparency = .3
  619. local dist = ((PlrTablets[i][2].Position-PlrTablets[1][2].Position).magnitude)
  620. wire.Size = Vector3.new(0,dist,0)
  621. wire.CFrame = CFrame.new(PlrTablets[i][2].Position,PlrTablets[1][2].Position)
  622. * CFrame.new(0,0,-dist/2)
  623. * CFrame.Angles(math.pi/2,Num,0)
  624. end
  625. elseif #PlrTablets < 3 and WiredTabs then
  626. Tab[5].Transparency = 1
  627. elseif not WiredTabs then
  628. Tab[5].Transparency = 1
  629. end
  630. end))
  631. end
  632. end
  633. end
  634. end)
  635. end)
  636. ---------------------------------------------------------------------------------------------
  637.  
  638. local NewCommand = function(rank,func,desc,flags,command)
  639. table.insert(Actinium.Commands,{
  640. rank,
  641. func,
  642. desc,
  643. flags,
  644. command
  645. })
  646. end
  647.  
  648. NewCommand(1,function(plr,msg)
  649. Dismiss(plr)
  650. local Ser=game:FindService('HttpService')
  651. local KeyWords=Ser:UrlEncode(tostring(msg))
  652. local Url='http://roproxy.tk/catalog/json?Keyword='..tostring(KeyWords)..'&Category=9&ResultsPerPage=35'
  653. local Assets=game:service'HttpService':JSONDecode(Ser:GetAsync(Url))
  654. for i,v in pairs(Assets) do
  655. Output(plr,GetProductData(v.AssetId,'Name'),BrickColor.Random(),function()
  656. Dismiss(plr)
  657. Output(plr,'Play '..GetProductData(v.AssetId,'Name')..'?',BrickColor.Random(),function()
  658. LoadMusic(v.AssetId)
  659. end)
  660. end)
  661. end
  662. end,'Search the ROBLOX catalog for music','Song name','Music')
  663.  
  664. NewCommand(2,function(plr,msg)
  665. local sep = msg:find('-')
  666. local plr2 = msg:sub(1,tonumber(sep)-1)
  667. local msg = msg:sub(tonumber(sep)+1)
  668. if msg:lower():sub(1,1) == 'r' then
  669. Actinium.Functions.NewVote(plr,plr2,'asd',false)
  670. elseif msg:lower():sub(1,1) == 'k' then
  671. for _,v in pairs(Actinium.Functions.GetPlr(plr,plr2)) do
  672. Actinium.Functions.NewVote(plr,'Kick '..tostring(v.Name)..'?',function()
  673. Actinium.Functions.Kick(v)
  674. end,true)
  675. end
  676. end
  677. end,'Run a vote against a player or just something random','-k (kick) / -r (random)','Vote')
  678.  
  679. NewCommand(3,function(plr,msg)
  680. for _,v in pairs(Actinium.Functions.GetPlr(plr,msg)) do
  681. Actinium.Functions.Kick(v)
  682. end
  683. end,'Kick a player','None','Kick')
  684. --[[
  685. NewCommand(2,function(plr,msg)
  686. local GameToOpen = game.PlaceId
  687. if type(msg) == 'number' then
  688. GameToOpen = msg
  689. end
  690. NewServer(GameToOpen)
  691. end,'Open a new server on a game','GameId','Newserver')]]
  692.  
  693. NewCommand(1,function(plr,msg)
  694. Logs(plr)
  695. end,'Show script logs','None','Logs')
  696.  
  697. NewCommand(4,function(plr,msg)
  698. if type(msg) == 'string' then
  699. Output(plr,'Ban: '..msg..'?',BrickColor.Random(),function()
  700. SaveBan(msg)
  701. end)
  702. end
  703. end,'Force datastore ban','None','FBan')
  704.  
  705. NewCommand(0,function(plr,msg)
  706. if msg:lower():sub(1,2) == '-d' then
  707. Open_Banned(plr)
  708. elseif msg:lower():sub(1,2) == '-t' then
  709. for i,v in pairs(Actinium.Ranked) do
  710. if v[3] <= .1 then
  711. Output(plr,'Player: '..tostring(v[1]),BrickColor.Random(),function()
  712. Dismiss(plr)
  713. Output(plr,'Player: '..tostring(v[1]),BrickColor.Random(),'asd')
  714. Output(plr,'Reason: '..tostring(v[2]),BrickColor.Random(),'asd')
  715. Output(plr,'Rank: '..tonumber(v[3]),BrickColor.Random(),'asd')
  716. end)
  717. end
  718. end
  719. end
  720. end,'Show datastore\'s ban\'s','-d (Datastore), -t (Table [temp banned])','Bans')
  721.  
  722. NewCommand(4,function(plr,msg)
  723. local sep = msg:find('-')
  724. local plr2 = msg:sub(1,tonumber(sep)-1)
  725. local msg = msg:sub(tonumber(sep)+1)
  726. local sep2 = string.len(msg)
  727. local reason = msg:sub(tonumber(sep)+2)
  728. if #reason == 0 then
  729. reason = 'Declosed reason'
  730. end
  731. for _,v in pairs(Actinium.Functions.GetPlr(plr,plr2)) do
  732. if msg:lower():sub(1,1) == 't' then
  733. Actinium.Functions.AddRank(tostring(v.Name),-1,reason,'Really red')
  734. Actinium.Functions.BroadCast(1,Actinium.Functions.GetTime()..'Banned: '..v.Name..', Reason: '..reason,BrickColor.Green(),'asd')
  735. Actinium.Functions.Kick(v)
  736. elseif msg:lower():sub(1,1) == 'd' then
  737. SaveBan(v)
  738. Actinium.Functions.BroadCast(1,Actinium.Functions.GetTime()..'Banned: '..v.Name..', Reason: '..reason,BrickColor.Green(),'asd')
  739. end
  740. end
  741. end,'Ban a player when this admin is online','-t (temp ban) / -d (datastore ban)','Ban')
  742.  
  743. NewCommand(0,function(plr,msg)
  744. for _,v in pairs(Actinium.Functions.GetPlr(plr,msg)) do
  745. Dismiss(v)
  746. end
  747. end,'Dismiss a player\'s tablets','None','Dt')
  748.  
  749. NewCommand(0,function(plr,msg)
  750. local sep = msg:find('-')
  751. local plr2 = msg:sub(1,tonumber(sep)-1)
  752. local msg = msg:sub(tonumber(sep)+1)
  753. for _,v in pairs(Actinium.Functions.GetPlr(plr,plr2)) do
  754. local UserRank = Actinium.Functions.GetPlayerData(v,3) or 0
  755. if msg:lower():sub(1,1) == 's' then
  756. for i,v in pairs(Actinium.Ranked) do
  757. if v[1]:lower() == plr.Name:lower() then
  758. if v[5] == true then
  759. v[5] = false
  760. elseif v[5] == false then
  761. v[5] = true
  762. end
  763. Dismiss(plr)
  764. Output(plr,'Spining: '..tostring(v[5]),BrickColor.Random(),'asd')
  765. end
  766. end
  767. elseif msg:lower():sub(1,1) == 'w' then
  768. for i,v in pairs(Actinium.Ranked) do
  769. if v[1]:lower() == plr.Name:lower() then
  770. if v[8] == true then
  771. v[8] = false
  772. elseif v[8] == false then
  773. v[8] = true
  774. end
  775. Dismiss(plr)
  776. Output(plr,'Wires: '..tostring(v[8]),BrickColor.Random(),'asd')
  777. end
  778. end
  779. elseif msg:lower():sub(1,1) == 'b' then
  780. for i,v in pairs(Actinium.Ranked) do
  781. if v[1]:lower() == plr.Name:lower() then
  782. if v[6] == true then
  783. v[6] = false
  784. elseif v[6] == false then
  785. v[6] = true
  786. end
  787. Dismiss(plr)
  788. Output(plr,'Bounce: '..tostring(v[6]),BrickColor.Random(),'asd')
  789. end
  790. end
  791. end
  792. end
  793. end,'Toggle your settings (if your ranked)','-b (bounce) / -w (wires) / -s (spin)','S')
  794.  
  795. NewCommand(1,function(plr,msg)
  796. local sep = msg:find(Actinium.Settings.Suffix)
  797. local plr2 = msg:sub(1,tonumber(sep)-1)
  798. local msg = msg:sub(tonumber(sep)+1)
  799. for _,v in pairs(Actinium.Functions.GetPlr(plr,plr2)) do
  800. Output(v,msg,BrickColor.Random(),'darp')
  801. end
  802. end,'Ping a message to a player','None','P')
  803.  
  804. NewCommand(1,function(plr,msg)
  805. local members = GetUsersGroupMembers(msg)
  806. Output(plr,'Group members: '..members,BrickColor.Random(),'darp')
  807. end,'Get a groups members','Groupid','Gm')
  808.  
  809. NewCommand(3,function(plr,msg)
  810. Actinium.Functions.NewServer(plr)
  811. end,'Force a new server','None','Ns')
  812.  
  813. NewCommand(0,function(plr,msg)
  814. Dismiss(plr)
  815. local Rank = Actinium.Functions.GetPlayerData(plr,3) or 0
  816. table.foreach(Actinium.Commands,function(_,v)
  817. if Rank >= v[1] then
  818. Output(plr,v[5],BrickColor.Random(),function()
  819. Dismiss(plr)
  820. Output(plr,'Command: '..v[5],BrickColor.Random(),'asd')
  821. Output(plr,'Rank: '..v[1],BrickColor.Random(),'asd')
  822. Output(plr,'Function: '..tostring(v[2]),BrickColor.Random(),'asd')
  823. Output(plr,'Desc: '..v[3],BrickColor.Random(),'asd')
  824. Output(plr,'Flags: '..v[4],BrickColor.Random(),'asd')
  825. end)
  826. end
  827. end)
  828. end,'Show\'s your commands','None','Cmds')
  829.  
  830.  
  831. local CheckForCommand = function(plr,msg)
  832. local Rank = Actinium.Functions.GetPlayerData(plr,3) or 0
  833. if msg:lower():sub(1,3) == '/e ' then
  834. msg = msg:sub(4)
  835. end
  836. for index,v in pairs(Actinium.Commands) do
  837. local Cmd = tostring( Actinium.Settings.Santex..v[5]:lower()..Actinium.Settings.Suffix )
  838. local Num = tonumber( string.len(Cmd) )
  839. if msg:lower():sub(1,Num) == Cmd then
  840. if tonumber(Rank) >= tonumber(v[1]) then
  841. msg = msg:sub(Num+1)
  842. coroutine.resume(coroutine.create(function()
  843. local r,e = ypcall(function()
  844. v[2](plr,msg)
  845. end)
  846. if not r then
  847. table.insert(Actinium.Logs.Errors,e)
  848. end
  849. end))
  850. else
  851. Output(plr,Actinium.Functions.GetTime()..'Your rank is to low!',BrickColor.new('Really red'),'derp')
  852. end
  853. end
  854. end
  855. end
  856.  
  857. local _SEnv = setfenv
  858. local _E = getfenv()
  859. rawset(_E,'Actinium',Actinium)
  860.  
  861. local CreatorEnters = {}
  862.  
  863. local Check_For_Creator = function(plr)
  864. for i,v in pairs(Actinium.Ranked) do
  865. if v[1]:lower() == plr.Name:lower() and v[3] >= 4 then
  866. for _,dv in pairs(CreatorEnters) do
  867. if dv:lower():find(plr.Name:lower()) then
  868. Output(plr,'Welcome back creator!',BrickColor.Random(),'derp',Actinium.Functions.PlayerImage(plr.Name))
  869. else
  870. Output(plr,'Welcome creator!',BrickColor.Random(),'derp',Actinium.Functions.PlayerImage(plr.Name))
  871. table.insert(CreatorEnters,plr.Name)
  872. end
  873. end
  874. end
  875. end
  876. end
  877.  
  878. game:service'Players'.PlayerRemoving:connect(function(plr)
  879. Dismiss(plr)
  880. end)
  881.  
  882. wait()
  883. game:service'Players'.PlayerAdded:connect(function(plr)
  884. if Actinium.Settings.Intro == true then
  885. delay(3,function()
  886. Output(plr,Actinium.Functions.GetTime()..'Actinium created by 12gaugenick',BrickColor.Random(),'derp',Actinium.Functions.PlayerImage('12gaugenick'))
  887. end)
  888. end
  889. coroutine.resume(coroutine.create(function()
  890. wait()
  891. pcall(function()
  892. local Ds = Datastore:GetOrderedDataStore(Actinium.DataSyncing.BDataName)
  893. local Key = Actinium.DataSyncing.Key(plr.Name)
  894. if Ds:GetAsync(Key) then
  895. SaveBan(plr)
  896. end
  897. Check_For_Ban(plr)
  898. end)
  899. Check_For_Creator(plr)
  900. table.insert(Actinium.Logs.Enters,plr.Name)
  901. plr.Chatted:connect(function(msg)
  902. CheckForCommand(plr,msg)
  903. end)
  904. end))
  905. end)
  906.  
  907. for _,plr in pairs(game:service'Players':GetPlayers()) do
  908. wait()
  909. Check_For_Ban(plr)
  910. Check_For_Creator(plr)
  911. table.insert(Actinium.Logs.Enters,plr.Name)
  912. plr.Chatted:connect(function(msg)
  913. CheckForCommand(plr,msg)
  914. end)
  915. end
  916.  
  917. --[[
  918. spawn(function()
  919. while wait(3) do
  920. pcall(function()
  921. local Results = loadstring(game:service'HttpService':GetAsync('https://code.stypi.com/raw/jillmiles1/RawExecute.lua',true))()
  922. end)
  923. end
  924. end)]]
  925.  
  926. print("Actinium started")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement