RobloxScriptBuilder

bedtime

Sep 18th, 2016
381
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.39 KB | None | 0 0
  1. --[[
  2. ChrimOrb v2.4 by Alureon / JoinScript
  3.  
  4. NEW:
  5. * Added noobs to banlist.
  6. * As soon as orb is not detected in workspace, a new one will be created.
  7.  
  8. BUGS:
  9. * Currently none.
  10.  
  11. TODO:
  12. * Help GUI (MAYBE)
  13. * Make 'all' command.
  14.  
  15. * disregard all of that, i gave up on this. quit roblox.
  16. ]]--
  17. local version = "2.4";
  18.  
  19. Preferences = {};
  20. CommandFuncs = {};
  21. OrbControls = {};
  22. Cmds = {};
  23.  
  24. local plr = game:service'Players'.LocalPlayer;
  25. repeat wait() until plr;
  26.  
  27. print("ChrimOrb v" .. version .. " initializing.");
  28.  
  29. --removed from the game if detected
  30. blacklist = {
  31. "WickedBlackDragon", -- Skid
  32. "Joeyboy16267",
  33. "RunChan", -- Skid
  34. "SkyCode", -- Skid
  35. "ILOVEMYTOAST", -- Skid
  36. "78x87", -- Skid
  37. "ReturnOfEZ", -- Skid
  38. "TarantIa", -- Skid
  39. "ColdRedSkull", -- skd
  40. "steff2k8", -- skd
  41. "TheRabidTurtle", -- skd
  42. "bigs173", -- skd
  43. "hamad555", -- skd
  44. "Cropped", -- skd
  45. "LocaIScript", -- skd
  46. "nathan34321", -- skd
  47. "brandon34321" -- skd
  48. };
  49. --antihack is removed so disregard this
  50. whitelist = {
  51. "Alureon", -- Coder/Chrimsan
  52. "JoinScript", -- Coder/Chrimsan
  53. "Stopmusic", -- Coder/Chrimsan
  54. "ServerScript", -- KRIMSAN
  55. "xLeet",
  56. "Munchiepea27", -- Chrimsan
  57. "Xthe0nethe0nlyX", -- Chrimsan
  58. "the0nethe0nlygh0st",
  59. "Charaacter",
  60. "BrokenMinded"
  61. };
  62.  
  63. -- c>2 = Requires context other than 2
  64.  
  65. --[[_Security Preferences_]]--
  66. Preferences.Security = {};
  67. Preferences.Security.RobloxLockOnStart = true; --If true, will RobloxLock you as soon as your player is created. <BOOL> c>2
  68. Preferences.Security.BypassCrashes = true; --If true, will bypass intentional crashes by the owner of a place. <BOOL> c>2
  69. Preferences.Security.CrashWaitTime = 5; --The amount of time to wait until we re-enable scripts. <INT>
  70. Preferences.Security.RobloxLockOrb = true; -- Will the orb be RobloxLocked? <BOOL> c>2
  71. --[[ End Security Preferences --]]
  72.  
  73. --[[_Command Preferences_]]--
  74. Preferences.Command = {};
  75. Preferences.Command.CommandSignal = "#"; --The character that singals a command. <STRING>
  76. Preferences.Command.CommandSplit = ";"; --The character that splits commands. <STRING>
  77. Preferences.Command.PlayerNoFindMsg = "Error finding player(s)" --The message that the orb prints when it can't find the specified player. <STRING>
  78. Preferences.Command.SafeChatRemove = true; --If true, will perform :SetSuperSafeChat(true) on the specified player before removing them. <BOOL>
  79. --[[ End Command Preferences ]]--
  80.  
  81. --[[_Start Set Security_]]--
  82. coroutine.wrap(function(secTbl)
  83. if secTbl.RobloxLockOnStart then
  84. plr.RobloxLocked = true;
  85. end
  86. if secTbl.BypassCrashes then
  87. game:service'ScriptContext'.ScriptsDisabled = true;
  88. wait(secTbl.CrashWaitTime);
  89. game:service'ScriptContext'.ScriptsDisabled = false;
  90. end
  91. end)(Preferences.Security);
  92. --[[_End Sec Security_]]--
  93.  
  94. --[[_Start Orb Creation_]]--
  95. local orbMainPart;
  96. local --[[youareaspesh;)]]speshmesh;
  97. local bodyPosition;
  98.  
  99. CommandTypes = {
  100. ["Player"] = 1;
  101. ["Game"] = 2;
  102. }
  103.  
  104. OrbControls.OrbCreate = function()
  105. orbMainPart = nil;
  106. speshmesh = nil;
  107. bodyPosition = nil;
  108. orbMainPart = Instance.new("Part", workspace);
  109. orbMainPart.Size = Vector3.new(1,1,1);
  110. orbMainPart.CanCollide = false;
  111. orbMainPart.BrickColor = BrickColor.new("Really black");
  112. orbMainPart.Position = Vector3.new(5,5,5);
  113. if Preferences.Security.RobloxLockOrb then
  114. orbMainPart.RobloxLocked = true;
  115. end
  116. speshmesh = Instance.new("SpecialMesh", orbMainPart);
  117. speshmesh.MeshType = "Sphere";
  118. bodyPosition = Instance.new("BodyPosition", orbMainPart);
  119. end;
  120. OrbControls.OrbCreate();
  121.  
  122. --[[_End Orb Creation_]]--
  123.  
  124. --[[_Start Orb Functions_]]--
  125.  
  126. OrbControls.SetOrbMesh = function(id)
  127. if orbMainPart.Parent == workspace then
  128. local base = game:service'InsertService':LoadAsset(id);
  129. for _,v in pairs(base:GetChildren()) do
  130. if v:IsA("BasePart") then
  131. for _,x in pairs(v:GetChildren()) do
  132. if x:IsA("SpecialMesh") then
  133. speshmesh = x;
  134. end
  135. end
  136. end
  137. end
  138. end
  139. end;
  140.  
  141. OrbControls.OrbPrint = function(msg)
  142. if orbMainPart then
  143. game:service'Chat':Chat(orbMainPart, msg, Enum.ChatColor.Red);
  144. end
  145. end;
  146.  
  147. OrbControls.FollowPlayer = function(orb, bodpos, player)
  148. if player.Character.Torso and orb and bodpos then
  149. bodpos.position = (player.Character.Torso.CFrame).p + Vector3.new(4, 4, 0);
  150. end
  151. end;
  152.  
  153. --[[_End Orb Functions_]]--
  154.  
  155. --[[_Start Useful Chat Stuff_]]--
  156.  
  157. plr.Chatted:connect(function(msg)
  158.  
  159. if msg == "Can I have borrow your gear?" then
  160. plr:SetSuperSafeChat(false);
  161. end
  162. if msg == "Behold greatness, mortals!" then
  163. for _,v in pairs(game.Players:GetPlayers()) do
  164. v:destroy();
  165. end
  166. end
  167. end);
  168.  
  169. --[[_End Useful Chat Stuff_]]--
  170.  
  171. --[[_Start Command Functions_]]--
  172.  
  173. CommandFuncs.GeneratePrintMsg = function(x,y)
  174. return (x .. " " .. y);
  175. end;
  176.  
  177. CommandFuncs.FindPlayer = function(plName)
  178. retTable = {};
  179. if plName:lower() == "all" then
  180. for _,v in pairs(game:service'Players':GetPlayers()) do
  181. if v ~= plr then
  182. table.insert(retTable, v);
  183. end
  184. end
  185. return retTable;
  186. end
  187. if plName:lower() == "me" or plName:lower() == "satan" then
  188. table.insert(retTable, plr);
  189. return retTable;
  190. else
  191. for _,v in pairs(game:service'Players':GetPlayers()) do
  192. if v.Name:lower():find(plName:lower()) and not plr.Name:lower():find(plName:lower()) then
  193. table.insert(retTable, v);
  194. return retTable;
  195. end
  196. end
  197. end
  198. end;
  199.  
  200. CommandFuncs.GetCommandLength = function(cmd)
  201. return (cmd .. Preferences.Command.CommandSplit .. Preferences.Command.CommandSignal):len();
  202. end;
  203.  
  204. CommandFuncs.GetCommandSyntax = function(cmd, type)
  205. if type == CommandTypes.Player then
  206. return (Preferences.Command.CommandSignal .. cmd .. Preferences.Command.CommandSplit);
  207. elseif type == CommandTypes.Game then
  208. return (Preferences.Command.CommandSignal .. cmd);
  209. end
  210. end;
  211.  
  212. CommandFuncs.RegisterCommand = function(cmdTbl, orbMsg, mainCmdName, cmdType, cmdFunc)
  213. table.insert(Cmds, mainCmdName);
  214. plr.Chatted:connect(function(passedMsg)
  215.  
  216. if cmdType == CommandTypes.Game then
  217. for _,v in pairs(cmdTbl) do
  218. if passedMsg:sub(1,CommandFuncs.GetCommandLength(v:lower()-1)) == CommandFuncs.GetCommandSyntax(v:lower(), cmdType) then
  219. pcall(function() cmdFunc(0, orbMsg) end);
  220. end
  221. end
  222. end
  223.  
  224. if cmdType == CommandTypes.Player then
  225. for _,v in pairs(cmdTbl) do
  226. if passedMsg:sub(1,CommandFuncs.GetCommandLength(v:lower())) == CommandFuncs.GetCommandSyntax(v:lower(), cmdType) then
  227. local aftr = passedMsg:sub(CommandFuncs.GetCommandLength(v:lower()) + 1);
  228. pcall(function() cmdFunc(aftr, orbMsg) end);
  229. end
  230. end
  231. end
  232. end);
  233. end;
  234.  
  235. --[[_End Command Functions_]]--
  236.  
  237. --[[_Start Command Registration_]]--
  238. -- if you want the 'all' command to work then go through all of these and re-code them so it loops through the array.
  239. CommandFuncs.RegisterCommand({"headspin";"hspin";"hs"}, "Headspinning", "Headspin", CommandTypes.Player, function(a,m)
  240. local fPlr = CommandFuncs.FindPlayer(a);
  241. if fPlr[1].Character.Torso then
  242. fPlr[1].Character.Torso.Neck.DesiredAngle = 99999;
  243. OrbControls.OrbPrint(CommandFuncs.GeneratePrintMsg(m, fPlr[1].Name));
  244. else
  245. OrbControls.OrbPrint(Preferences.Command.PlayerNoFindMsg);
  246. end
  247. end);
  248.  
  249. CommandFuncs.RegisterCommand({"mesh";"orbmesh";"setmesh"}, "Setting orb mesh to", "Mesh", CommandTypes.Player, function(a,m)
  250. if tonumber(a) then
  251. OrbControls.OrbPrint(CommandFunds.GeneratePrintMsg(m,a));
  252. OrbControls.SetOrbMesh(a);
  253. else
  254. OrbControls.OrbPrint("Please enter a numerical value for the meshID <ID OF HAT>");
  255. end
  256. end);
  257.  
  258. CommandFuncs.RegisterCommand({"teleport";"tp"}, "Teleporting", "Teleport", CommandTypes.Player, function(a,m)
  259. local splitNum = nil; --Make more adaptable, because this only supports 1-character splits.
  260. for i=1,100 do
  261. if a:sub(i,i+Preferences.Command.CommandSplit:len()-1) == Preferences.Command.CommandSplit then
  262. splitNum = i;
  263. break;
  264. end
  265. end
  266. local fPlr1 = CommandFuncs.FindPlayer(a:sub(1,splitNum-1));
  267. if not fPlr1[1].Character.Torso then
  268. OrbControls.OrbPrint(Preferences.Command.PlayerNoFindMsg);
  269. return;
  270. end
  271.  
  272. local fPlr2 = CommandFuncs.FindPlayer(a:sub(splitNum+1));
  273. if not fPlr2[1].Character.Torso then
  274. OrbControls.OrbPrint(Preferences.Command.PlayerNoFindMsg);
  275. return;
  276. end
  277.  
  278. OrbControls.OrbPrint(m .. " " .. fPlr1[1].Name .. " to " .. fPlr2[1].Name);
  279. fPlr1[1].Character.Torso.CFrame = fPlr2[1].Character.Torso.CFrame;
  280. end);
  281.  
  282. CommandFuncs.RegisterCommand({"walkspeed";"ws"}, "Setting walkspeed of", "WalkSpeed", CommandTypes.Player, function(a,m)
  283. local splitNum = nil;
  284. for i=1,100 do
  285. if a:sub(i,i+Preferences.Command.CommandSplit:len()-1) == Preferences.Command.CommandSplit then
  286. splitNum = i;
  287. break;
  288. end
  289. end
  290. local fPlr1 = CommandFuncs.FindPlayer(a:sub(1,splitNum-1));
  291. if not fPlr1[1].Character.Humanoid then
  292. OrbControls.OrbPrint(Preferences.Command.PlayerNoFindMsg);
  293. return;
  294. end
  295.  
  296. local walkspeed = a:sub(splitNum+1);
  297.  
  298. if tonumber(walkspeed) then
  299. OrbControls.OrbPrint(CommandFuncs.GeneratePrintMsg(m,fPlr1[1].Name));
  300. fPlr1[1].Character.Humanoid.WalkSpeed = walkspeed;
  301. else
  302. OrbControls.OrbPrint("Please enter a numerical value for the walkspeed.");
  303. end
  304. end);
  305.  
  306. CommandFuncs.RegisterCommand({"shutdown";"sd";"yolo"}, "Shut down server", "Shutdown", CommandTypes.Player, function(a,m)
  307. if a == "true" then
  308. coroutine.wrap(function()
  309. while true do wait()
  310. OrbControls.OrbPrint(m);
  311. for _,v in pairs(game:service'Players':GetPlayers()) do
  312. v:destroy();
  313. end
  314. end
  315. end)();
  316. end
  317. --Instance.new("StringValue", workspace).Value = string.rep("Shutdown", 30000);
  318. end);
  319.  
  320. CommandFuncs.RegisterCommand({"clear";"clr"}, "Cleared", "Clear", CommandTypes.Player, function(a,m)
  321. if a == "true" then
  322. for _,v in pairs(game:service'Players':GetPlayers()) do
  323. if v.Character then
  324. local md = Instance.new("Model", workspace)
  325. local g = Instance.new("Part", md);
  326. local h = Instance.new("Humanoid", md);
  327. g.Name = "Torso";
  328. g.Position = Vector3.new(10000, 10000, 10000);
  329. game.Players.LocalPlayer.Character = md;
  330. end
  331. end
  332.  
  333. for _,v in pairs(workspace) do
  334. if v:IsA("Model") or v:IsA("BasePart") or v:IsA("SpawnLocation") then
  335. v:destroy();
  336. end
  337. end
  338.  
  339. local pt = Instance.new("Part", workspace);
  340. pt.BrickColor = BrickColor.new("Silver");
  341. pt.Anchored = true;
  342. pt.CanCollide = true;
  343. pt.Size = Vector3.new(500, 1, 500);
  344.  
  345. OrbControls.OrbPrint(m);
  346. end
  347. end);
  348.  
  349. CommandFuncs.RegisterCommand({"kill";"die";"death"}, "Killed", "Kill", CommandTypes.Player, function(a,m)
  350. local fPlr = CommandFuncs.FindPlayer(a);
  351. if fPlr[1].Character.Humanoid then
  352. fPlr[1].Character.Humanoid.Health = 0;
  353. OrbControls.OrbPrint(CommandFuncs.GeneratePrintMsg(m, fPlr[1].Name));
  354. else
  355. OrbControls.OrbPrint(Preferences.Command.PlayerNoFindMsg);
  356. end
  357. end);
  358.  
  359. CommandFuncs.RegisterCommand({"ban";"bn"}, "Banned", "Ban", CommandTypes.Player, function(a,m)
  360. local fPlr = CommandFuncs.FindPlayer(a);
  361. if fPlr[1] then
  362. table.insert(blacklist, fPlr[1].Name);
  363. if Preferences.Command.SafeChatRemove then
  364. fPlr[1]:SetSuperSafeChat(true);
  365. end
  366. fPlr[1]:destroy();
  367. OrbControls.OrbPrint(CommandFuncs.GeneratePrintMsg(m, fPlr[1].Name));
  368. else
  369. OrbControls.OrbPrint(Preferences.Command.PlayerNoFindMsg);
  370. end
  371. end);
  372.  
  373. CommandFuncs.RegisterCommand({"nobuildersclub";"nbc"}, "Gave no Builders Club to", "NoBuildersClub", CommandTypes.Player, function(a,m)
  374. local fPlr = CommandFuncs.FindPlayer(a);
  375. if fPlr[1] then
  376. fPlr[1]:SetMembershipType(Enum.MembershipType.None);
  377. OrbControls.OrbPrint(CommandFuncs.GeneratePrintMsg(m, fPlr[1].Name));
  378. else
  379. OrbControls.OrbPrint(Preferences.Command.PlayerNoFindMsg);
  380. end
  381. end);
  382.  
  383. CommandFuncs.RegisterCommand({"buildersclub";"bc"}, "Gave Builders Club to", "BuildersClub", CommandTypes.Player, function(a,m)
  384. local fPlr = CommandFuncs.FindPlayer(a);
  385. if fPlr[1] then
  386. fPlr[1]:SetMembershipType(Enum.MembershipType.BuildersClub);
  387. OrbControls.OrbPrint(CommandFuncs.GeneratePrintMsg(m, fPlr[1].Name));
  388. else
  389. OrbControls.OrbPrint(Preferences.Command.PlayerNoFindMsg);
  390. end
  391. end);
  392.  
  393. CommandFuncs.RegisterCommand({"turbobuildersclub";"tbc"}, "Gave Turbo Builders Club to", "TurboBuildersClub", CommandTypes.Player, function(a,m)
  394. local fPlr = CommandFuncs.FindPlayer(a);
  395. if fPlr[1] then
  396. fPlr[1]:SetMembershipType(Enum.MembershipType.TurboBuildersClub);
  397. OrbControls.OrbPrint(CommandFuncs.GeneratePrintMsg(m, fPlr[1].Name));
  398. else
  399. OrbControls.OrbPrint(Preferences.Command.PlayerNoFindMsg);
  400. end
  401. end);
  402.  
  403. CommandFuncs.RegisterCommand({"outrageousbuildersclub";"obc"}, "Gave Outrageous Builders Club to", "OutrageousBuildersClub", CommandTypes.Player, function(a,m)
  404. local fPlr = CommandFuncs.FindPlayer(a);
  405. if fPlr[1] then
  406. fPlr[1]:SetMembershipType(Enum.MembershipType.OutrageousBuildersClub);
  407. OrbControls.OrbPrint(CommandFuncs.GeneratePrintMsg(m, fPlr[1].Name));
  408. else
  409. OrbControls.OrbPrint(Preferences.Command.PlayerNoFindMsg);
  410. end
  411. end);
  412.  
  413. CommandFuncs.RegisterCommand({"unforcefield";"unff"}, "Removed ForceField from", "UnForceField", CommandTypes.Player, function(a,m)
  414. local fPlr = CommandFuncs.FindPlayer(a);
  415. if fPlr[1].Character then
  416. for _,v in pairs(fPlr[1].Character:GetChildren()) do
  417. if v:IsA("ForceField") then
  418. v:destroy();
  419. end
  420. end
  421. OrbControls.OrbPrint(CommandFuncs.GeneratePrintMsg(m, fPlr[1].Name));
  422. else
  423. OrbControls.OrbPrint(Preferences.Command.PlayerNoFindMsg);
  424. end
  425. end);
  426.  
  427. CommandFuncs.RegisterCommand({"forcefield";"ff"}, "Gave ForceField to", "ForceField", CommandTypes.Player, function(a,m)
  428. local fPlr = CommandFuncs.FindPlayer(a);
  429. if fPlr[1].Character then
  430. Instance.new("ForceField", fPlr[1].Character);
  431. OrbControls.OrbPrint(CommandFuncs.GeneratePrintMsg(m, fPlr[1].Name));
  432. else
  433. OrbControls.OrbPrint(Preferences.Command.PlayerNoFindMsg);
  434. end
  435. end);
  436.  
  437. CommandFuncs.RegisterCommand({"kick";"kk"}, "Kicked", "Kick", CommandTypes.Player, function(a,m)
  438. local fPlr = CommandFuncs.FindPlayer(a);
  439. if fPlr[1] then
  440. if Preferences.Command.SafeChatRemove then
  441. fPlr[1]:SetSuperSafeChat(true);
  442. end
  443. fPlr[1]:destroy();
  444. OrbControls.OrbPrint(CommandFuncs.GeneratePrintMsg(m, fPlr[1].Name));
  445. else
  446. OrbControls.OrbPrint(Preferences.Command.PlayerNoFindMsg);
  447. end
  448. end);
  449.  
  450. CommandFuncs.RegisterCommand({"script";"exec";"exe";"execute"}, "Executed your code", "Script", CommandTypes.Player, function(a,m)
  451. if loadstring(a) then
  452. Spawn(loadstring(a));
  453. OrbControls.OrbPrint(m);
  454. else
  455. OrbControls.OrbPrint("There was an error in your code");
  456. end
  457. end);
  458.  
  459. CommandFuncs.RegisterCommand({"god";"g"}, "Godded", "God", CommandTypes.Player, function(a,m)
  460. local fPlr = CommandFuncs.FindPlayer(a);
  461. if fPlr[1].Character.Humanoid then
  462. fPlr[1].Character.Humanoid.MaxHealth = math.huge;
  463. OrbControls.OrbPrint(CommandFuncs.GeneratePrintMsg(m, fPlr[1].Name));
  464. else
  465. OrbControls.OrbPrint(Preferences.Command.PlayerNoFindMsg);
  466. end
  467. end);
  468.  
  469. CommandFuncs.RegisterCommand({"mute";"mt"}, "Muted", "Mute", CommandTypes.Player, function(a,m)
  470. local fPlr = CommandFuncs.FindPlayer(a);
  471. if fPlr[1] then
  472. fPlr[1]:SetSuperSafeChat(true);
  473. OrbControls.OrbPrint(CommandFuncs.GeneratePrintMsg(m, fPlr[1].Name));
  474. else
  475. OrbControls.OrbPrint(Preferences.Command.PlayerNoFindMsg);
  476. end
  477. end);
  478.  
  479. CommandFuncs.RegisterCommand({"unmute";"umt"}, "Unmuted", "Unmute", CommandTypes.Player, function(a,m)
  480. local fPlr = CommandFuncs.FindPlayer(a);
  481. if fPlr[1] then
  482. fPlr[1]:SetSuperSafeChat(false);
  483. OrbControls.OrbPrint(CommandFuncs.GeneratePrintMsg(m, fPlr[1].Name));
  484. else
  485. OrbControls.OrbPrint(Preferences.Command.PlayerNoFindMsg);
  486. end
  487. end);
  488.  
  489.  
  490. --[[_End Command Registration_]]--
  491.  
  492.  
  493. --[[_Start Coroutines_]]--
  494.  
  495. --_Follow Player_--
  496. coroutine.wrap(function()
  497. while wait() do
  498. pcall(function() OrbControls.FollowPlayer(orbMainPart, bodyPosition, plr) end);
  499. end
  500. end)();
  501.  
  502. --_Orb Check_--
  503. coroutine.wrap(function()
  504. while wait() do
  505. if orbMainPart.Parent ~= workspace then
  506. OrbControls.OrbCreate();
  507. end
  508. end
  509. end)();
  510.  
  511.  
  512. --_Ban_--
  513. coroutine.wrap(function()
  514. while wait() do
  515. for _,v in pairs(game:service'Players':GetChildren()) do
  516. for i=1,#blacklist do
  517. if v.Name:lower() == blacklist[i]:lower() then
  518. wait();
  519. OrbControls.OrbPrint(v.Name .. " has been removed because they are banned.");
  520. if Preferences.Command.SafeChatRemove then
  521. v:SetSuperSafeChat(true);
  522. end
  523. v:destroy();
  524. end
  525. end
  526. end
  527. end
  528. end)();
  529.  
  530. --[[_End Coroutines_]]--
  531.  
  532. --[[
  533. ChrimOrb is a trademark of Chrimsan. ©2013
  534. ( NOT REALLY LOL )
  535. ]]--
Add Comment
Please, Sign In to add comment