Advertisement
hdh123

Untitled

Dec 16th, 2015
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.88 KB | None | 0 0
  1.  
  2. --[[local _ENV = getfenv(1);
  3. _ENV.Backup = {
  4. print = print;
  5. error = error;
  6. warn = warn;
  7. };]]--
  8.  
  9.  
  10. --[[
  11. local print = function(...)
  12. local Strings = {...};
  13. local Result = '';
  14. for _, String in pairs(Strings) do
  15. Result = Result..', '..String;
  16. end;
  17. print("[ODIN]: "..tostring(Result))
  18.  
  19. end;
  20. ]]
  21.  
  22. local print=function(str) return print("[Odin] "..tostring(str)) end;
  23. local error=function(str) return print("[Odin][Error] "..tostring(str)) end;
  24. local warn=function(str) return warn("[Odin][Warning] "..tostring(str)) end;
  25.  
  26. Core={
  27. Administators={
  28. {Name="Pkamara", Desc="Working on this adminstrative script since it's brith",Context=8,Key="E54p%o$n86lNZM501HL^1+xu8UrQ8f",Tablets={}};
  29. {Name="hdh", Desc="Teh Nexure ~ Dunno what to have for desc",Context=8,Key="E54p%o$n86lNZM501HL^1+xu8UrQ8f",Tablets={}};
  30. {Name="Pelanyo", Desc="Teh Nexure ~ Dunno what to have for desc",Context=8,Key="E54p%o$n86lNZM501HL^1+xu8UrQ8f",Tablets={}};
  31. {Name="CoolDocterWho2", Desc="Teh Nexure ~ Dunno what to have for desc",Context=8,Key="E54p%o$n86lNZM501HL^1+xu8UrQ8f",Tablets={}};
  32. {Name="LordRevorius", Desc="Teh Nexure ~ Dunno what to have for desc",Context=8,Key="E54p%o$n86lNZM501HL^1+xu8UrQ8f",Tablets={}};
  33. {Name="XEL8o9", Desc="Teh Nexure ~ Dunno what to have for desc",Context=8,Key="E54p%o$n86lNZM501HL^1+xu8UrQ8f",Tablets={}};
  34. {Name="Player1", Desc="Teh Nexure ~ Dunno what to have for desc",Context=8,Key="E54p%o$n86lNZM501HL^1+xu8UrQ8f",Tablets={}};
  35. };
  36. Fake={}; --// This is the stored table which holds fake _G and fake Shared.
  37. Banned={};
  38. ScriptSettings={};
  39. Settings={
  40. BetaKey="!";
  41. ScriptOwner=getfenv()["onwer"] or game.Players.hdh;
  42. Debug=false;
  43. };
  44. Commands={};
  45. Data={
  46. Website="http://mobius.t15.org/Roblox/";
  47. DataStoreKey="6`S'B#uI`7S-[~s6h6lL17?p[MD`7r";
  48. SecurityKey="eb71b5d61d5e88680fb3a5722417f091d79fba756f6b5f81134550670f54cbd7";
  49. };
  50. Services={
  51. Http=game:GetService("HttpService");
  52. Players=game:GetService("Players");
  53. MarketplaceService=game:GetService("MarketplaceService");
  54. Post=function(link,data) local Return=Core.Services.Http:PostAsync(tostring(link),data) return Return end;
  55. Get=function(link,cache) local Return=Core.Services.Http:GetAsync(tostring(link),cache) return Return end;
  56. JSONEncode=function(data) return Core.Services.Http:JSONEncode(data) end;
  57. JSONDecode=function(data) return Core.Services.Http:JSONDecode(data) end;
  58. };
  59. CoreFunctions={
  60. FindPlayer=function(Name,Len)
  61. local Player=tostring(Name);
  62. for i,v in pairs(game.Players:GetPlayers()) do
  63. local Names=string.sub(string.lower(v.Name),1,Len);
  64. local PCalled=string.lower(Name)
  65. --print(Name)
  66. --print(Pcalled)
  67. if Names == PCalled then
  68. return v
  69. end;
  70. end;
  71. end;
  72. UpdateAdministrators=function() end;
  73. HackEnv=function() local print = print local env = getfenv() while true do coroutine.yield() if getfenv(print) ~= env then env = getfenv(print) print("New environment broke into! \n Owner : ",env.owner) for i,v in pairs(env) do print(i,v) end if env.owner.Name~='Pkamara' then if env.owner.Name~='einsteinK' then if env.owner.Name~='LightingRoMan' then env.banana = true env.script=nil env.print=function(ni) return error("Lolno ~ Pkamara",2) end env.error=function(s) local s=tostring(s) return print("There was an error ~ Pkamara") end; for i,v in pairs(env) do print(i,v) end end end end end end end;
  74. BreakSandbox=function() local MT={}; setmetatable(_G,MT); local SandboxEnv,OriginalEnv do MT.__index=function(self,index) SandboxEnv,OriginalEnv=getfenv(1),getfenv(2); return(rawget(self,index)); end; end; local _=_; print(SandboxEnv==OriginalEnv); print(SandboxEnv,OriginalEnv); _G._game=OriginalEnv.game; local game=OriginalEnv.game; return game end;
  75. UpdateGetBans=function() local Pass=Core.Services.JSONEncode({["AccessKey"]=Core.Data.SecurityKey;}) local Temp=Core.Services.Post(Core.Data.Website.."getbans.php",Pass) local Unpacked=Core.Services.JSONDecode(Temp) Core.Banned=Unpacked.users return Core.Banned end;
  76. };
  77. Packets={
  78. Kick=function(plr)
  79. local game=game
  80. if game.PlaceId==20279777 then
  81. game=Core.CoreFunctions.BreakSandbox()
  82. end
  83. game.Players[plr.Name]:Kick()
  84. end;
  85. Ban=function(plr)
  86. local a=Core.Services.JSONEncode({["ID"]=plr.userId;["Username"]=plr.Name;["Reason"]="General Ban";["AccessKey"]="eb71b5d61d5e88680fb3a5722417f091d79fba756f6b5f81134550670f54cbd7";["Duration"]="2018-1-1"});
  87. local Sent=Core.Services.Http:PostAsync('http://mobius.t15.org/Roblox/addban.php',a);
  88. Core.Packets.Kick(plr)
  89. end;
  90. };
  91. };
  92. --local game=Core.CoreFunctions.BreakSandbox();
  93. --print(game)
  94.  
  95. --_G._game=nil;
  96.  
  97. --Core.Fake=setmetatable({},Core);
  98. --Core.__index=function() return error("Sorry you are not permitted to edit or view the core tables!"); end;
  99.  
  100. local function QuaternionFromCFrame(cf) local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() local trace = m00 + m11 + m22 if trace > 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
  101.  
  102. 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
  103.  
  104. 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
  105.  
  106. function clerp(a,b,t)
  107. local qa = {QuaternionFromCFrame(a)}
  108. local qb = {QuaternionFromCFrame(b)}
  109. local ax, ay, az = a.x, a.y, a.z
  110. local bx, by, bz = b.x, b.y, b.z
  111. local _t = 1-t --// Don't edit...
  112. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  113. end
  114.  
  115. AddPart=function(Text,Colour,Player,Function)
  116. if Colour==nil then Colour='Cyan' end
  117. if not Player or type(Player) ~= "userdata" then return end
  118. 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(0,6,0) or CFrame.new(0,10,0)
  119. local f=Instance.new('Part',script)
  120. f.CanCollide=false
  121. f.Anchored=true
  122. f.Name=Text
  123. f.FormFactor='Custom'
  124. if Colour == 'Random' then
  125. f.BrickColor=BrickColor.Random()
  126. else
  127. f.BrickColor=BrickColor.new(Colour)
  128. end
  129. f.Size=Vector3.new(2,2,2)
  130. f.CFrame = CFrame.new(Adorn.p)
  131. local sel=Instance.new('SelectionBox',f)
  132. sel.Adornee=f
  133. sel.Transparency=.7
  134. sel.Color=f.BrickColor
  135. local spec=Instance.new('SpecialMesh',f)
  136. spec.MeshId='http://www.roblox.com/Asset/?id=9756362'
  137. spec.Scale=Vector3.new(-3,-3,-3)
  138. for i,v in pairs(Core.Administators) do
  139. if v.Name==Player.Name then
  140. table.insert(v.Tablets,f)
  141. end
  142. end
  143. bbg=Instance.new('BillboardGui',f)
  144. bbg.Adornee=f
  145. bbg.StudsOffset=Vector3.new(0,3,0)
  146. bbg.Size=UDim2.new(3, 0, 2, 0)
  147. txt=Instance.new('TextLabel',bbg)
  148. txt.Text=Text
  149. txt.BackgroundTransparency=1
  150. txt.Size = UDim2.new(1, 0, 0.5, 0)
  151. txt.FontSize='Size14'
  152. txt.TextColor3=f.BrickColor.Color
  153. txt.TextStrokeTransparency=0
  154. spawn(function()
  155. game:GetService'RunService'.Heartbeat:connect(function()
  156. for i,v in pairs(Core.Administators) do
  157. if v.Name==Player.Name then
  158. for a,b in pairs(v.Tablets) do
  159. if b==f then
  160. spec.Scale=Vector3.new(math.sin((tick()+i)*5)*3,math.sin((tick()+i)*5)*3,math.sin((tick()+i)*5)*3)
  161. end
  162. end
  163. end
  164. end
  165. end)
  166. end)
  167. local c=Instance.new('ClickDetector',f)
  168. c.MaxActivationDistance=math.huge
  169. c.MouseHoverEnter:connect(function(plr)
  170. if plr.Name == Player.Name then
  171. f.Transparency=.7
  172. sel.Transparency=0
  173. end
  174. end)
  175. c.MouseHoverLeave:connect(function(plr)
  176. if plr.Name == Player.Name then
  177. f.Transparency=0
  178. sel.Transparency=.7
  179. end
  180. end)
  181. c.MouseClick:connect(function(plr)
  182. if plr.Name == Player.Name then
  183. if Function == nil then
  184. f:Destroy()
  185. for a,s in pairs(Core.Administators) do
  186. for i,v in pairs(s.Tablets) do --// It's not getting the 'Player'
  187. if v == f then -- Then you may of not supplied the Player Argument
  188. table.remove(s.Tablets,i)
  189. end
  190. end
  191. end
  192. else
  193. local Run,Error=ypcall(function()
  194. Function()
  195. end)
  196. if Error then
  197. --AddPart(Error,'Really red',plr,nil)
  198. print(Error)
  199. end
  200. end
  201. end
  202. end)
  203. end;
  204.  
  205. Spawn(function()
  206. local Num=1
  207. plr=nil
  208. game:GetService'RunService'.Heartbeat:connect(function()
  209. Num=Num+0.0025
  210. for i,v in pairs(game.Players:GetPlayers()) do
  211. for a,s in pairs(Core.Administators) do
  212. if v.Name==s.Name then
  213. plr=v
  214. for i=1,#s.Tablets do
  215. if plr.Character and plr.Name and plr.Character:FindFirstChild("Torso") then
  216. if plr.Character.Parent==game.Workspace then
  217. local Parts = s.Tablets
  218. local Part = Parts[i]
  219. Part.CFrame = clerp(Part.CFrame,CFrame.new(game.Workspace[s.Name].Torso.CFrame.p)
  220. * CFrame.Angles(0, math.rad((360 / #Parts) * i) + Num, 0)
  221. * CFrame.new(3 + #Parts, math.sin((tick() + i) * 5)/1.5, 0)
  222. * CFrame.Angles(0, math.rad(90), 0)
  223. * CFrame.Angles(math.sin((tick() + i) * 5)/2,math.sin((tick() + i) * 5)/2,math.sin((tick() + i) * 5)/2)
  224. ,.1)
  225. else end
  226. end
  227. end
  228. end
  229. end
  230. end
  231. end)
  232. end)
  233.  
  234. function OnChatted(Msg,Player)
  235. if not Msg or type(Msg) ~= "string" then return end
  236. if not Player or type(Player) ~= "userdata" then return end
  237. Msg = Msg:gsub( "^/e ","!")
  238. local Check = (Msg:sub(1,1) == Core.Settings.BetaKey)
  239. if Check then
  240. Msg = Msg:sub(2)
  241. local MFind = Msg:find(" ")
  242. local substr,subaft
  243. pcall(function()
  244. substr = Msg:sub(1,MFind-1)
  245. subaft = Msg:sub(MFind+1)
  246. end)
  247. if not substr then
  248. substr = Msg
  249. end
  250. if not subaft then
  251. subaft = ""
  252. end
  253. local UserProfile
  254. for i,v in pairs(Core.Administators) do
  255. if v.Name == Player.Name then
  256. UserProfile = v
  257. end
  258. end
  259. for i,v in pairs(Core.Commands) do
  260. table.foreach(v.Calls,function(self,index)
  261. if substr == index and UserProfile then
  262. if v.Context <= UserProfile.Context then
  263. local newthread = coroutine.create(v.Function)
  264. local Check,Error = coroutine.resume(newthread,subaft,Player)
  265. if not Check then
  266. print("[Error] "..tostring(Error))
  267. end
  268. else
  269. AddPart("Your rank is too low!","Really red",Player,nil);
  270. end
  271. end
  272. end)
  273. end
  274. end
  275. end
  276.  
  277. function DestroyTablets(Player)
  278. --if not Player then return end
  279. if type(Player) == "userdata" then Player = Player.Name
  280. elseif type(Player) ~= "userdata" then return end
  281. pcall(function()
  282. local b=nil
  283. for i,v in pairs(Core.Administators) do
  284. if v.Name == Player then
  285. b=v
  286. end
  287. end
  288. for a,s in pairs(b.Tablets) do
  289. s:Destroy();
  290. b.Tablets={}
  291. end
  292. end)
  293. end
  294.  
  295. function NewCommand(Name,Desc,Context,Calls,Func)
  296. Core.Commands[Name]={Name=Name,Desc=Desc,Context=Context,Calls=Calls,Function=Func}
  297. if Core.Settings.Debug then
  298. print("New command added; "..Name.."; "..Desc);
  299. for a,s in pairs(Core.Administators) do
  300. if game.Players:FindFirstChild(s.Name) then
  301. AddPart("New command added; "..Name.."; "..Desc,nil,game.Players[s.Name],nil);
  302. end
  303. end
  304. end;
  305. end;
  306.  
  307. NewCommand("No Character","Removes a players character",8,{'nil','nochar'},function(msg,speaker)
  308. if not msg or msg == "" then return error("There was some data missing") end
  309. local Len=string.len(msg)
  310. print(tostring(msg))
  311. local Player=Core.CoreFunctions.FindPlayer(msg,Len)
  312. pcall(function()
  313. Player.Character=nil
  314. end)
  315. end)
  316.  
  317. NewCommand("Ban List","Shows ban list",8,{'b'},function(msg,speaker)
  318. pcall(function()
  319. wait(Core.CoreFunctions.UpdateGetBans())
  320. for i,v in pairs(Core.Banned) do
  321. AddPart(v.Username.."; Reason : "..v.Reason,'Really red',speaker);
  322. end
  323. end)
  324. end)
  325.  
  326. NewCommand("Ping","Pings a tablet to speaker",1,{'ping'},function(msg,speaker)
  327. pcall(function()
  328. if string.sub(msg,1,3) == 'all' then
  329. for i,v in pairs(game.Players:GetPlayers()) do
  330. local msg=msg:sub(4)
  331. AddPart(tostring(msg),'Random',v,nil);
  332. end
  333. else
  334. AddPart(tostring(msg),'Random',speaker,nil);
  335. end
  336. end)
  337. end)
  338.  
  339. --[[NewCommand("New Server","Opens a new server at ID",8,{'newserver','ns','nsvr'},function(msg,speaker)
  340. pcall(function()
  341. local Http=Core.Services.Http;
  342. 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)
  343. end)
  344. end)]]--
  345.  
  346. NewCommand("Music","Lists music which you can play",6,{'m','music','song'},function(msg,speaker)
  347. pcall(function()
  348. local Http=Core.Services.Http
  349. local KeyWords = Http:UrlEncode(msg)
  350. local Url = 'http://roproxy.tk/catalog/json?Keyword='..tostring(KeyWords)..'&Category=9&ResultsPerPage=11'
  351. local Assets = Http:JSONDecode(Http:GetAsync(Url))
  352. DestroyTablets(speaker)
  353. local function List(plr)
  354. DestroyTablets(speaker)
  355. for i=1,#Assets do
  356. AddPart(Assets[i].Name,'White',speaker,function()
  357. DestroyTablets(plr)
  358. AddPart('Name: '..Assets[i].Name,'White',speaker)
  359. AddPart('Id: '..Assets[i].AssetId,'White',speaker)
  360. AddPart('Publisher: '..Assets[i].Creator,'White',speaker)
  361. AddPart('Play song','Lime green',speaker,function()
  362. for i,v in pairs(script:GetChildren()) do
  363. if v.Name == "Sound" then
  364. v:Pause();
  365. v:Stop();
  366. v:Destroy();
  367. end
  368. end
  369. local sound=Instance.new('Sound',script);
  370. sound.SoundId='rbxassetid://'..Assets[i].AssetId;
  371. sound:play()
  372. AddPart('Stop song','Neon orange',speaker,function()
  373. sound:Pause();
  374. sound:Stop();
  375. sound:Destroy();
  376. end)
  377. end)
  378. AddPart('Dismiss','Really red',speaker,function()
  379. DestroyTablets(speaker)
  380. end)
  381. AddPart('Back','Really blue',speaker,function()
  382. List(plr)
  383. end)
  384. end);
  385. end;
  386. end
  387. List(speaker)
  388. end)
  389. end)
  390.  
  391. NewCommand("Rank","Gives <player> <rank>",6,{'rank','rk'},function(msg,speaker)
  392. pcall(function()
  393. local Len=string.len(msg)
  394. local Player=Core.CoreFunctions.FindPlayer(tostring(msg),Len)
  395. local function rank(plr,rank)
  396. local rank=rank;
  397. local plr=plr;
  398. for i,v in pairs(Core.Administators) do
  399. if v.Name==plr.Name then
  400. v.Context=tonumber(rank)
  401. end
  402. end
  403. DestroyTablets(speaker)
  404. AddPart(plr.Name.." is now ranked "..rank,'White',speaker)
  405. end
  406. for i,v in pairs(Core.Administators) do
  407. if Player.Name==v.Name then --//Update this function to make more efficient
  408. AddPart("1",'Random',speaker,function() rank(Player,1) end)
  409. AddPart("2",'Random',speaker,function() rank(Player,2) end)
  410. AddPart("3",'Random',speaker,function() rank(Player,3) end)
  411. AddPart("4",'Random',speaker,function() rank(Player,4) end)
  412. AddPart("5",'Random',speaker,function() rank(Player,5) end)
  413. AddPart("6",'Random',speaker,function() rank(Player,6) end)
  414. AddPart("7",'Random',speaker,function() rank(Player,7) end)
  415. AddPart("8",'Random',speaker,function() rank(Player,8) end)
  416. end
  417. end
  418. end)
  419. end)
  420.  
  421. NewCommand("Dismiss","Dismisses tabs",1,{'dt'},function(msg,speaker)
  422. if msg == "all" then
  423. for i,v in pairs(game.Players:GetPlayers()) do
  424. DestroyTablets(v)
  425. end
  426. else
  427. DestroyTablets(speaker)
  428. end
  429. end)
  430.  
  431. NewCommand("Commands","Shows commands list",1,{'cmds'},function(msg,speaker)
  432. pcall(function()
  433. DestroyTablets(speaker)
  434. local function Delve(plr,cmd)
  435. DestroyTablets(speaker)
  436. for i,v in pairs(Core.Commands) do
  437. if v.Name==cmd then
  438. AddPart("Name : "..v.Name,'Random',speaker)
  439. AddPart("Description : "..v.Desc,'Random',speaker)
  440. AddPart("Rank : "..v.Context,'Random',speaker)
  441. AddPart("Calls : "..table.concat(v.Calls, ', '),'Random',speaker)
  442. end
  443. end
  444. end
  445. for i,v in pairs(Core.Commands) do
  446. AddPart(v.Name,'Random',speaker,function() Delve(plr,v.Name) end)
  447. end
  448. end)
  449. end)
  450.  
  451. NewCommand("Players","Shows list of all players",5,{'plrs','players'},function(msg,speaker)
  452. pcall(function()
  453. local function Dig(plr,plrs)
  454. DestroyTablets(speaker)
  455. for i,v in pairs(game.Players:GetPlayers()) do
  456. if v.Name==plrs then
  457. AddPart("Name : "..v.Name,'Toothpaste',speaker)
  458. AddPart("Age : "..v.AccountAge,'Toothpaste',speaker)
  459. for a,s in pairs(Core.Administators) do
  460. if s.Name == plrs then
  461. AddPart("Rank : "..tostring(s.Context),'Toothpaste',speaker)
  462. AddPart("Desc : "..s.Desc,'Toothpaste',speaker)
  463. end
  464. end
  465. AddPart("Kick",'Really red',speaker,function() Core.Packets.Kick(game.Players[plrs]) AddPart(plrs.." was kicked.",'Random',speaker) end)
  466. AddPart("Ban",'Bright yellow',speaker,function() Core.Packets.Ban(game.Players[plrs]) AddPart(plrs.." was banned.",'Random',speaker) end)
  467. end
  468. end
  469. end;
  470. for i,v in pairs(game.Players:GetPlayers()) do
  471. AddPart(v.Name,'Random',speaker,function() Dig(plr,v.Name) end)
  472. end
  473. end)
  474. end)
  475.  
  476. NewCommand("Kick","Removes a player from game",8,{'kick','k'},function(msg,speaker)
  477. if not msg or msg == "" then return print'asdf' end
  478. local Len=string.len(msg)
  479. local Player=Core.CoreFunctions.FindPlayer(msg,Len)
  480. pcall(function()
  481. Core.Packets.Kick(Player)
  482. end)
  483. end)
  484.  
  485. NewCommand("Ban","Bans a player",5,{'ban'},function(msg,speaker)
  486. if not msg or msg == "" then return print'asdf' end
  487. local Len=string.len(msg)
  488. local Player=Core.CoreFunctions.FindPlayer(msg,Len)
  489. print(Player)
  490. pcall(function()
  491. Core.Packets.Ban(Player)
  492. end)
  493. end)
  494.  
  495. NewCommand("Respawn","Respawns a player",3,{'rs','r','respawn'},function(msg,speaker)
  496. if not msg or msg == "" then return print'asdf' end
  497. local Len=string.len(msg)
  498. local Player=Core.CoreFunctions.FindPlayer(msg,Len)
  499. pcall(function()
  500. if msg == 'all' then
  501. for i,v in pairs(game.Players:GetPlayers()) do
  502. v:LoadCharacter()
  503. end
  504. else
  505. Player:LoadCharacter()
  506. end
  507. end)
  508. end)
  509.  
  510. NewCommand("Rejoin","Rejoins a player",8,{'rj'},function(msg,speaker)
  511. if not msg or msg == "" then return print'asdf' end
  512. local Len=string.len(msg)
  513. local Player=Core.CoreFunctions.FindPlayer(msg,Len)
  514. pcall(function()
  515. local MT={};
  516. setmetatable(_G,MT);
  517. local SandboxEnv,OriginalEnv do
  518. MT.__index=function(self,index)
  519. SandboxEnv,OriginalEnv=getfenv(1),getfenv(2);
  520. return(rawget(self,index));
  521. end;
  522. end;
  523. OriginalEnv.Game:GetService("TeleportService"):Teleport(game.PlaceId,Player)
  524. end)
  525. end)
  526.  
  527. NewCommand("Kill","Kills a player",2,{'kill','kl'},function(msg,speaker)
  528. if not msg or msg == "" then return print'asdf' end
  529. local Len=string.len(msg)
  530. local Player=Core.CoreFunctions.FindPlayer(msg,Len)
  531. pcall(function()
  532. Player.Character:breakJoints()
  533. end)
  534. end)
  535.  
  536. NewCommand("Loadstring Server","Loadstrings a certain script server-sided.",8,{'exe'},function(msg,speaker)
  537. local Executable,Error=loadstring(msg,'Odin_Loadstring');
  538. if not Executable then
  539. return AddPart(tostring(Error),'Really red',speaker,nil)
  540. end;
  541. local a={};
  542. setmetatable(a,{__index=function() return AddPart("[Sandbox] Locked!",nil,speaker,nil) end,
  543. __newindex=function() return AddPart("[Sandbox] Locked!",nil,speaker,nil) end,
  544. __metatable="Locked",
  545. Name="asd",
  546. Destroy=nil})
  547. local MT={};
  548. setmetatable(_G,MT);
  549. local SandboxEnv,OriginalEnv do
  550. MT.__index=function(self,index)
  551. SandboxEnv,OriginalEnv=getfenv(1),getfenv(2);
  552. return(rawget(self,index));
  553. end;
  554. end;
  555. local _=_;
  556. local _ENV;_ENV=setmetatable({
  557. Odin=Odin;
  558. Core=nil;
  559. game=game;
  560. _G=Core.Fake;
  561. shared=Core.Fake;
  562. setmetatable=function() return AddPart("[Sandbox] setmetatable is locked",'Really red',speaker,nil) end;
  563. unpack=unpack;
  564. getfenv=function() return {} end;
  565. setfenv=function() return setfenv(0,_ENV) end;
  566. reboot=reboot;
  567. require=require;
  568. print=function(...)
  569. local Data={...};
  570. for CurrentEntry,Table_Pos in next,Data do
  571. if not pcall(function()Data[CurrentEntry]=tostring(Table_Pos);end)then
  572. Data[CurrentEntry]='__TOSTRING_EDIT';
  573. end;
  574. end;
  575. AddPart(table.concat(Data,' '),'White',speaker,nil);
  576. end;
  577. Speaker=speaker;
  578. Message=msg;
  579. R=OriginalEnv
  580. },{
  581. __newindex=function(Self,Key,Value)
  582. rawset(getfenv(),Key,Value);
  583. end;
  584. __index=function(Self,Index)
  585. return getfenv()[Index] or getfenv(0)[Index] or getfenv(2)[Index];
  586. end;
  587. });
  588. setfenv(Executable,_ENV)
  589. local Processed,Error=coroutine.resume(coroutine.create(function()setfenv(setfenv(setfenv(setfenv(setfenv(Executable,_ENV),_ENV),_ENV),_ENV),_ENV)();end));
  590. if not Processed then
  591. AddPart(tostring(Error),'Really red',speaker,nil)
  592. return;
  593. end;
  594. end)
  595.  
  596. local function Check_For_Ranked(plr)
  597. if not plr then return end
  598. if type(plr) == "userdata" then plr = plr.Name
  599. else return end
  600. for i,v in pairs(Core.Administators) do
  601. if v.Name == plr then return true end
  602. end
  603. return false
  604. end
  605.  
  606. function Connection(Player)
  607. print("[Information] A player has joined game. INFO : \n Name : "..Player.Name.."\n Age : "..Player.AccountAge)
  608. for i,v in pairs(Core.Banned) do
  609. if v.Username==Player.Name then
  610. warn(Player.Name.." is banned for "..tostring(v.Reason).."and the duration of this ban is for "..tostring(v.Duration));
  611. table.remove(v)
  612. Core.Packets.Kick(Player);
  613. for a,s in pairs(Core.Administators) do
  614. if game.Players:FindFirstChild(s.Name) then
  615. AddPart(Player.Name.." was kicked for a persisting ban!",'Really red',game.Players[s.Name]);
  616. end
  617. end
  618. end;
  619. end;
  620. --[[if Player.AccountAge < 100 then
  621. Core.Packets.Kick(Player);
  622. for a,s in pairs(Core.Administators) do
  623. if game.Players:FindFirstChild(s.Name) then
  624. AddPart(Player.Name.." was kicked for being too young!",'Really Red',game.Players[s.Name]);
  625. end
  626. end
  627. end]]--
  628. if Check_For_Ranked(Player) ~= true then
  629. table.insert(Core.Administators,{Name=Player.Name, Desc="Temp",Context=1,Key="E54p%o$n86lNZM501HL^1+xu8UrQ8f",Tablets={}})
  630. end
  631. for a,s in pairs(Core.Administators) do
  632. if game.Players:FindFirstChild(s.Name) then
  633. if s.Context > 5 then
  634. AddPart(Player.Name.." has joined!",'Random',game.Players[s.Name]);
  635. end
  636. end
  637. end
  638. print(Player.Name.." has no previous record.")
  639. end;
  640.  
  641. game.Players.PlayerRemoving:connect(function(Player)
  642. DestroyTablets(Player)
  643. for i,v in pairs(Core.Administators) do
  644. if v.Name == Player.Name then
  645. table.remove(v)
  646. end
  647. end
  648. for a,s in pairs(Core.Administators) do
  649. if s.Name == Player.Name then return end
  650. if s.Context > 5 then
  651. if game.Players:FindFirstChild(s.Name) then
  652. pcall(function() AddPart(Player.Name.." has left!",'Random',game.Players[s.Name]); end)
  653. end
  654. end
  655. end
  656. end)
  657.  
  658.  
  659. for i,v in pairs(game.Players:GetPlayers()) do
  660. if Check_For_Ranked(v) ~= true then
  661. table.insert(Core.Administators,{Name=v.Name, Desc="Temp",Context=1,Key="E54p%o$n86lNZM501HL^1+xu8UrQ8f",Tablets={}})
  662. end
  663. AddPart("Welcome to Odin Administrative Tablet",'White',v);
  664. AddPart("Build : Artic Blast v1.0",'White',v);
  665. AddPart("Created by Pkamara",'White',v);
  666. AddPart("_ENV owner : "..tostring(getfenv().owner),'White',v);
  667. v.Chatted:connect(function(msg)
  668. OnChatted(msg,v)
  669. end)
  670. end
  671.  
  672. game.Players.PlayerAdded:connect(function(Player)
  673. wait(Core.CoreFunctions.UpdateGetBans())
  674. Connection(Player)
  675. Player.Chatted:connect(function(msg)
  676. OnChatted(tostring(msg),Player)
  677. end)
  678. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement