Advertisement
RobloxLuaDeveloper

MM2 PREMIUMHUB SCRIPT

Feb 22nd, 2024 (edited)
1,081
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 57.45 KB | None | 0 0
  1. local PlaceId = 142823291
  2. local ScriptVersion = "BETA"
  3.  
  4. if game.PlaceId ~= PlaceId then
  5. game:GetService("TeleportService"):Teleport(PlaceId,game:GetService("Players").LocalPlayer)
  6. return game:GetService("Players").LocalPlayer:Kick("\nJoining MM2 ...")
  7. end
  8.  
  9. local cloneref = cloneref or function(o) return o end
  10. local StarterGui = cloneref(game:GetService("StarterGui"))
  11. local function LegacyNotif(Title, Message, Time)
  12. StarterGui:SetCore("SendNotification", {
  13. Title = Title,
  14. Text = Message,
  15. Duration = Time or 5
  16. })
  17. end
  18.  
  19. if not game:IsLoaded() then
  20. LegacyNotif("Waiting game to Load.","Please Wait.")
  21. print("Waiting game to Load. Please Wait!")
  22. game.Loaded:Wait()
  23. end
  24.  
  25. if _G.MurderMystery2ScriptLoaded then
  26. return LegacyNotif("Already Loaded","Please re-Join if needed.")
  27. end
  28.  
  29. warn("Loaded : 1 / 2")
  30.  
  31. -- Locals
  32. _G.MurderMystery2ScriptLoaded = true
  33.  
  34. local HiddenUI = cloneref(gethui() or game:GetService("CoreGui"))
  35. local Players = cloneref(game:GetService("Players"))
  36. local LocalPlayer = Players.LocalPlayer
  37. local Mouse = LocalPlayer:GetMouse()
  38. local ReplicatedStorage = cloneref(game:GetService("ReplicatedStorage"))
  39. local Workspace = cloneref(game:GetService("Workspace"))
  40. local RunService = cloneref(game:GetService("RunService"))
  41. local TeleportService = cloneref(game:GetService("TeleportService"))
  42. local UserInputService = cloneref(game:GetService("UserInputService"))
  43. local HttpService = cloneref(game:GetService("HttpService"))
  44. local MarketplaceService = cloneref(game:GetService("MarketplaceService"))
  45. local CollectionService = cloneref(game:GetService("CollectionService"))
  46.  
  47. local LocalPlayerData = {
  48. CollectedCoins = {}
  49. }
  50.  
  51. local function RandomStrings()
  52. local length = math.random(10,20)
  53. local array = {}
  54. for i = 1, length do
  55. array[i] = string.char(math.random(32, 126))
  56. end
  57. return table.concat(array)
  58. end
  59.  
  60. local VisualGUI = Instance.new("ScreenGui",HiddenUI)
  61. VisualGUI.ResetOnSpawn = false
  62. VisualGUI.DisplayOrder = 999999999
  63. VisualGUI.Name = RandomStrings()
  64.  
  65. local VisualHolder = Instance.new("Folder",VisualGUI)
  66. VisualHolder.Name = "VisualHolder"
  67.  
  68. local EspHolder = Instance.new("Folder",VisualHolder)
  69. EspHolder.Name = "Esp"
  70. local GunHolder = Instance.new("Folder",EspHolder)
  71. GunHolder.Name = "Gun"
  72. local PlayerHolder = Instance.new("Folder",EspHolder)
  73. PlayerHolder.Name = "Player"
  74.  
  75. local NameHolder = Instance.new("Folder",PlayerHolder)
  76. NameHolder.Name = "Name"
  77. local ChamHolder = Instance.new("Folder",PlayerHolder)
  78. ChamHolder.Name = "Cham"
  79.  
  80. local PartHolder = Instance.new("Folder",Workspace)
  81. PartHolder.Name = RandomStrings()
  82.  
  83. --[[
  84. local PredictionBox = Instance.new("Part",PartHolder)
  85. PredictionBox.Name = RandomStrings()
  86. PredictionBox.Transparency = 1
  87. PredictionBox.Size = Vector3.new(.5,.5,.5)
  88. PredictionBox.Anchored = true
  89. PredictionBox.CanCollide = false
  90. PredictionBox.CastShadow = false
  91. PredictionBox.Shape = Enum.PartType.Ball
  92. PredictionBox.Massless = true
  93. PredictionBox.Position = Vector3.zero
  94. local Highlight = Instance.new("Highlight",PredictionBox)
  95. Highlight.Adornee = PredictionBox
  96. Highlight.FillTransparency = 0
  97. Highlight.FillColor = Color3.new(1,0,0)
  98. Highlight.OutlineTransparency = 0.5
  99. Highlight.Enabled = true
  100.  
  101. ]]
  102.  
  103. local OrionLib
  104. local IconsTable = {}
  105.  
  106. -- Library & Icons
  107.  
  108. local Success, Error = pcall(function()
  109. OrionLib, IconsTable = loadstring(game:HttpGet(('https://pastebin.com/raw/zR2ainN8')))(), HttpService:JSONDecode(game:HttpGetAsync("https://raw.githubusercontent.com/evoincorp/lucideblox/master/src/modules/util/icons.json")).icons
  110. end)
  111.  
  112. if Error then
  113. warn("\nOrion Library - Failed to load GUI. Error code: " .. Error .. "\n")
  114. VisualGUI:Destroy()
  115. PartHolder:Destroy()
  116. return LegacyNotif("Script Error", "Try to Execute it again.")
  117. end
  118.  
  119. local function GetIcon(IconName)
  120. if IconName and tostring(IconName) then
  121. return IconsTable[IconName]
  122. end
  123. return nil
  124. end
  125.  
  126. local function Notify(Title, Message, Time, Icon)
  127. OrionLib:MakeNotification({
  128. Name = Title,
  129. Content = Message,
  130. Image = Icon or "rbxassetid://4483345998",
  131. Time = Time
  132. })
  133. end
  134.  
  135. local function GetPlaceName()
  136. local GameInfo
  137. pcall(function()
  138. GameInfo = MarketplaceService:GetProductInfo(game.PlaceId, Enum.InfoType.Asset)
  139. end)
  140. return GameInfo and GameInfo.Name or "Murder Mystery 2"
  141. end
  142.  
  143. local Window = OrionLib:MakeWindow({Name = GetPlaceName().." ["..ScriptVersion.."]", HidePremium = true, SaveConfig = true, ConfigFolder = "MurderMystery2BETA", IntroEnabled = false})
  144.  
  145. -- ICONS --
  146.  
  147. local Icons = {
  148. Cross = GetIcon("x-circle"),
  149. Check = GetIcon("check-circle"),
  150. Info = GetIcon("info"),
  151. Alert = GetIcon("alert-circle"),
  152. ThumbsUp = GetIcon("thumbs-up")
  153. }
  154.  
  155. local function GetPlayer(String)
  156. local Found = {}
  157. local strl = String:lower()
  158. for i,v in pairs(Players:GetPlayers()) do
  159. if v ~= LocalPlayer and v.Name:lower():sub(1, #String) == strl or v.DisplayName:lower():sub(1, #String) == strl then
  160. table.insert(Found,v)
  161. end
  162. end
  163. return Found
  164. end
  165.  
  166. local function FindChildsInWorkspace(string)
  167. if string and not tostring(string) then return nil end
  168. local Results = {}
  169. local Childrens = Workspace:GetChildren()
  170. if string then
  171. for _, Child in pairs(Childrens) do
  172. if string and Child.Name:lower() == string:lower() then
  173. table.insert(Results, Child)
  174. end
  175. end
  176. end
  177. return string and Results ~= {} and Results or not string and Childrens or nil
  178. end
  179.  
  180. -- TOGGLES --
  181. local Toggles = {
  182. EnableESP,
  183. EnableChams,
  184. GunESP,
  185. EnableWalkSpeed,
  186. EnableJumpPower,
  187. EnableGravity,
  188. TeleportTool,
  189. AntiLag,
  190. AntiTrap,
  191. AntiLock,
  192. MuteRadios,
  193. AntiFling,
  194. SecondLife,
  195. AutoGrabGun,
  196. AutoBreakGun,
  197. AutoBreakGunWhenMurder,
  198. Noclip,
  199. AntiVoid,
  200. InfiniteJump
  201. }
  202.  
  203. -- SAVED LOCALS --
  204.  
  205. local SavedLocals = {}
  206. local Data = OrionLib:GetSavedLocals()
  207. if Data then
  208. SavedLocals = Data
  209. end
  210.  
  211. -- TIMER --
  212.  
  213. local DontDisturb = false
  214. local Timer = {
  215. TimePassed = 0,
  216. StopTimer = false
  217. }
  218.  
  219. function Timer:Start()
  220. self.StopTimer = false
  221. task.spawn(function()
  222. while not self.StopTimer do
  223. task.wait(1)
  224. self.TimePassed = self.TimePassed + 1
  225. if self.StopTimer then
  226. break
  227. end
  228. end
  229. end)
  230. end
  231.  
  232. function Timer:Stop()
  233. self.StopTimer = true
  234. self.TimePassed = 0
  235. end
  236.  
  237. -- COLORS --
  238.  
  239. local Colors = {
  240. ChromaTexture = "rbxassetid://18364488166"
  241. }
  242.  
  243. function Colors:GetColor(Object, Type)
  244. local colors = {
  245. Innocent = {
  246. Solid = Color3.new(0, 255, 0),
  247. Cham = Color3.fromRGB(75, 151, 75),
  248. ESP = Color3.fromRGB(75, 255, 75)
  249. },
  250. Sheriff = {
  251. Solid = Color3.new(0, 0, 255),
  252. Cham = Color3.fromRGB(98, 37, 209),
  253. ESP = Color3.fromRGB(75, 75, 255)
  254. },
  255. Murderer = {
  256. Solid = Color3.new(255, 0, 0),
  257. Cham = Color3.fromRGB(196, 40, 28),
  258. ESP = Color3.fromRGB(255, 40, 29)
  259. },
  260. Hero = {
  261. Solid = Color3.new(255, 255, 0),
  262. Cham = Color3.fromRGB(245, 205, 48),
  263. ESP = Color3.fromRGB(245, 205, 48)
  264. },
  265. Gun = {
  266. Cham = Color3.fromRGB(121, 39, 176),
  267. ESP = Color3.fromRGB(98, 37, 209)
  268. }
  269. }
  270.  
  271. return Object and Type and colors[Object][Type] or Object and not Type and colors[Object] or colors or nil
  272. end
  273.  
  274. -- ROLES --
  275.  
  276. local Roles = {
  277. RoleTable = nil,
  278. Murderer = "",
  279. Sheriff = "",
  280. Hero = "",
  281. CurrentGameMode = ""
  282. }
  283.  
  284. local BreakedGun = nil
  285.  
  286. function Roles:GetRole(Player)
  287. if not Player or not self.RoleTable then return "none" end
  288. local roleData = self.RoleTable[Player.Name]
  289. return roleData and roleData.Role or "none"
  290. end
  291.  
  292. function Roles:IsAlive(Player)
  293. for i, v in pairs(self.RoleTable or {}) do
  294. if Player.Name == i then
  295. return not v.Dead
  296. end
  297. end
  298. return nil
  299. end
  300.  
  301. function Roles:SetRoleTable()
  302. local GetPlayerData = ReplicatedStorage:FindFirstChild("Remotes") and ReplicatedStorage.Remotes:FindFirstChild("Extras") and ReplicatedStorage.Remotes.Extras:FindFirstChild("GetPlayerData")
  303. if not GetPlayerData then return end
  304.  
  305. pcall(function()
  306. self.RoleTable = GetPlayerData:InvokeServer()
  307. end)
  308. end
  309.  
  310. function Roles:UpdateRole()
  311. task.spawn(function() self:SetRoleTable() end)
  312. if not self.RoleTable then print("Waiting for Role Table.") end
  313.  
  314. local function UpdateVisual(PlayerName, Role)
  315. local TextLabel = NameHolder:FindFirstChild(PlayerName) and NameHolder[PlayerName]:FindFirstChildOfClass("BillboardGui") and NameHolder[PlayerName]:FindFirstChildOfClass("BillboardGui"):FindFirstChild(PlayerName)
  316. if TextLabel then
  317. TextLabel.TextColor3 = Colors:GetColor(Role, "ESP")
  318. end
  319.  
  320. local ChamFolder = ChamHolder:FindFirstChild(PlayerName .. "_CHM")
  321. if ChamFolder then
  322. for _, Cham in pairs(ChamFolder:GetChildren()) do
  323. Cham.Color3 = Colors:GetColor(Role, "Cham")
  324. end
  325. end
  326. end
  327.  
  328. for i, v in pairs(self.RoleTable or {}) do
  329. local thePlayer = Players:FindFirstChild(i)
  330. if not thePlayer then break end
  331. if v.Role == "Murderer" and self:IsAlive(thePlayer) then
  332. self.Murderer = thePlayer.Name
  333. if i ~= LocalPlayer.Name then
  334. UpdateVisual(i, v.Role)
  335. end
  336. elseif v.Role == "Sheriff" and self:IsAlive(thePlayer) then
  337. self.Sheriff = thePlayer.Name
  338. if i ~= LocalPlayer.Name then
  339. UpdateVisual(i, v.Role)
  340. end
  341. elseif thePlayer.Name == self.Hero and self:IsAlive(thePlayer) and not Players:FindFirstChild(self.Sheriff) then
  342. if i ~= LocalPlayer.Name then
  343. UpdateVisual(i, "Hero")
  344. end
  345. else
  346. for Role, Player in pairs(self) do
  347. if Player == thePlayer.Name then
  348. warn("[Reset Role] : ("..thePlayer.Name..")")
  349. if Player == self.Sheriff or Player == self.Hero then
  350. warn("[Reset BreakedGun] : ("..thePlayer.Name..")")
  351. BreakedGun = nil
  352. end
  353. self[Role] = ""
  354. break
  355. end
  356. end
  357.  
  358. if i ~= LocalPlayer.Name then
  359. UpdateVisual(i, "Innocent")
  360. end
  361. end
  362. end
  363. end
  364.  
  365. function Roles:FindKnife(Player, GetInstance)
  366. local function CheckKnife(Knife)
  367. if Knife and Knife:IsA("Tool") then
  368. local Handle = Knife:FindFirstChild("Handle")
  369. local KnifeServer = Knife:FindFirstChild("KnifeServer")
  370. local Stab = Knife:FindFirstChild("Stab")
  371. local Throw = Knife:FindFirstChild("Throw")
  372. if not (Handle and KnifeServer and Stab and Throw) then return end
  373. return GetInstance and {KnifeServer = KnifeServer, Stab = Stab, Throw = Throw, Handle = Handle} or true
  374. end
  375. end
  376.  
  377. local Parents = {
  378. Player.Character,
  379. Player:FindFirstChildOfClass("Backpack")
  380. }
  381.  
  382. for _,Parent in pairs(Parents) do
  383. if Parent then
  384. local Knife = Parent:FindFirstChild("Knife")
  385. local Result = Knife and CheckKnife(Knife)
  386. if Result then return Result end
  387. end
  388. end
  389.  
  390. return false
  391. end
  392.  
  393. function Roles:FindGun(Player, GetInstance)
  394. local function CheckGun(Gun, IsLocal)
  395. if Gun and Gun:IsA("Tool") then
  396. local Handle = Gun:FindFirstChild("Handle")
  397. local IsGun = Gun:FindFirstChild("IsGun")
  398. local KnifeServer = Gun:FindFirstChild("KnifeServer")
  399. if not (Handle and IsGun and KnifeServer) then return end
  400. local ShootGun = IsLocal and Gun:FindFirstChild("KnifeLocal") and Gun.KnifeLocal:FindFirstChild("CreateBeam") and Gun.KnifeLocal.CreateBeam.RemoteFunction or KnifeServer:FindFirstChild("ShootGun")
  401. return ShootGun and (GetInstance and {KnifeServer = KnifeServer, ShootGun = ShootGun, Handle = Handle} or true)
  402. end
  403. return false
  404. end
  405.  
  406. local Parents = {
  407. Player.Character,
  408. Player:FindFirstChildOfClass("Backpack")
  409. }
  410.  
  411. for _,Parent in pairs(Parents) do
  412. if Parent then
  413. local Gun = Parent:FindFirstChild("Gun")
  414. local Result = Gun and CheckGun(Gun, Player == LocalPlayer)
  415. if Result then return Result end
  416. end
  417. end
  418.  
  419. return false
  420. end
  421.  
  422. function Roles:UpdateGameMode()
  423. for _, Player in pairs(Players:GetPlayers()) do
  424. for _, FindFunction in pairs({self[FindGun], self[FindKnife]}) do
  425. local Weapon = FindFunction(Player, true)
  426. if Weapon and Weapon.KnifeServer then
  427. local GameMode = Weapon.KnifeServer:FindFirstChild("GameMode")
  428. if GameMode and GameMode:IsA("StringValue") then
  429. self.CurrentGameMode = tostring(GameMode.Value)
  430. print("Current Game Mode:", self.CurrentGameMode)
  431. end
  432. end
  433. end
  434. end
  435. end
  436.  
  437. -- RAYS & INSTANCES --
  438.  
  439. local function ToObject(string)
  440. local object = game
  441. for _, name in ipairs(string.split(string, ".")) do
  442. object = object:FindFirstChild(name)
  443. if not object then return nil end
  444. end
  445. return object
  446. end
  447.  
  448. local function IsPredictBehindWallFromPart(Part, OtherCharacter, Local)
  449. if Local and Local.Character and Part and OtherCharacter and PredictionBox then
  450. local Ignored = {Local.Character, OtherCharacter}
  451. local Ray = Ray.new(Part.Position, (PredictionBox.Position - Part.Position).unit * 9e9)
  452. local Hit = Workspace:FindPartOnRayWithIgnoreList(Ray, Ignored, false, true)
  453. return Hit and Hit:IsDescendantOf(Workspace) and Hit ~= PredictionBox
  454. end
  455. end
  456.  
  457. --[[
  458. local function IsBehindWallFromRay(Player, Local)
  459. if Local and Local.Character and Player.Character and RayPart and RayPart.Parent then
  460. local Root = Player.Character and Player.Character.PrimaryPart
  461. if Root then
  462. local Ignored = {Local.Character, PredictionBox}
  463. local Ray = Ray.new(RayPart.Position, (Root.Position - RayPart.Position).unit * 9e9)
  464. local Hit = Workspace:FindPartOnRayWithIgnoreList(Ray, Ignored, false, true)
  465. return Hit and not Hit:IsDescendantOf(Player.Character)
  466. end
  467. end
  468. end
  469. ]]
  470.  
  471. local function ClosestNotBehindWallPlayer()
  472. local closestPlayer, closestDistance = nil, math.huge
  473. for _, Player in pairs(Players:GetPlayers()) do
  474. if Player ~= LocalPlayer then
  475. local Root = LocalPlayer.Character and LocalPlayer.Character.PrimaryPart
  476. local Root2 = Player.Character and Player.Character.PrimaryPart
  477. if Root and Root2 then
  478. local distance = (Root.Position - Root2.Position).Magnitude
  479. if distance < closestDistance and Roles:IsAlive(Player) and not isBehindWallFromRay(Player, LocalPlayer) then
  480. closestPlayer = Player
  481. closestDistance = distance
  482. end
  483. end
  484. end
  485. end
  486. return closestPlayer
  487. end
  488.  
  489. -- VISUALS --
  490.  
  491. local Visual = {
  492. Transparency = SavedLocals["Transparency"] or 0.7
  493. }
  494.  
  495. function Visual:Esp(Player)
  496. repeat task.wait() until Player.Character and Player.Character:FindFirstChildOfClass("Humanoid") and Player.Character.Humanoid.RootPart and Player.Character:FindFirstChild("Head")
  497. local Head = Player.Character.Head
  498. local NameFolder = Instance.new("Folder", NameHolder)
  499. NameFolder.Name = Player.Name
  500. local BillboardGui = Instance.new("BillboardGui", NameFolder)
  501. BillboardGui.Adornee = Head
  502. BillboardGui.Name = Head.Name
  503. BillboardGui.Size = UDim2.new(0, 100, 0, 150)
  504. BillboardGui.StudsOffset = Vector3.new(0, 1, 0)
  505. BillboardGui.AlwaysOnTop = true
  506. local TextLabel = Instance.new("TextLabel", BillboardGui)
  507. TextLabel.BackgroundTransparency = 1
  508. TextLabel.Position = UDim2.new(0, 0, 0, -50)
  509. TextLabel.Size = UDim2.new(0, 100, 0, 100)
  510. TextLabel.Font = Enum.Font.Gotham
  511. TextLabel.TextSize = 12
  512. TextLabel.TextColor3 = Colors:GetColor("Innocent", "ESP")
  513. TextLabel.TextStrokeTransparency = 0
  514. TextLabel.TextYAlignment = Enum.TextYAlignment.Bottom
  515. TextLabel.Text = Player.Name
  516. TextLabel.ZIndex = 0
  517. TextLabel.Name = Player.Name
  518. end
  519.  
  520. function Visual:PEsp(Adornee,Parent,Color3)
  521. local a = Instance.new("BoxHandleAdornment",Parent)
  522. a.Name = Adornee.Name.."_PESP"
  523. a.Adornee = Adornee
  524. a.AlwaysOnTop = true
  525. a.ZIndex = 0
  526. a.Size = Adornee.Size
  527. a.Transparency = Visual.Transparency
  528. a.Color3 = Color3
  529. end
  530.  
  531. function Visual:NEsp(Adornee,Parent,Color3,Text)
  532. local BillboardGui = Instance.new("BillboardGui",Parent)
  533. BillboardGui.Adornee = Adornee
  534. BillboardGui.Name = Adornee.Name.."_NESP"
  535. BillboardGui.Size = UDim2.new(0,100,0,150)
  536. BillboardGui.StudsOffset = Vector3.new(0,1,0)
  537. BillboardGui.AlwaysOnTop = true
  538. local TextLabel = Instance.new("TextLabel",BillboardGui)
  539. TextLabel.BackgroundTransparency = 1
  540. TextLabel.Position = UDim2.new(0,0,0,-50)
  541. TextLabel.Size = UDim2.new(0,100,0,100)
  542. TextLabel.Font = Enum.Font.Gotham
  543. TextLabel.TextSize = 12
  544. TextLabel.TextColor3 = Color3
  545. TextLabel.TextStrokeTransparency = 0
  546. TextLabel.TextYAlignment = Enum.TextYAlignment.Bottom
  547. TextLabel.Text = Text
  548. TextLabel.ZIndex = 0
  549. end
  550.  
  551. function Visual:Cham(Player)
  552. local ChamFolder = Instance.new("Folder", ChamHolder)
  553. ChamFolder.Name = Player.Name .. "_CHM"
  554. repeat task.wait() until Player.Character and Player.Character:FindFirstChildOfClass("Humanoid") and Player.Character.Humanoid.RootPart and Player.Character:FindFirstChild("Head")
  555. local Character = Player.Character
  556. if not Character then return Visual:Cham(Player) end
  557. for _, Part in ipairs(Character:GetChildren()) do
  558. if Part:IsA("BasePart") and Part.Name ~= ("Radio" and "HumanoidRootPart") then
  559. local Adornment = Instance.new("BoxHandleAdornment", ChamFolder)
  560. Adornment.Name = Part.Name
  561. Adornment.Adornee = Part
  562. Adornment.AlwaysOnTop = true
  563. Adornment.ZIndex = 0
  564. Adornment.Size = Part.Size
  565. Adornment.Transparency = Visual.Transparency
  566. Adornment.Color3 = Colors:GetColor("Innocent", "Cham")
  567. end
  568. end
  569. end
  570.  
  571. function Visual:HandleChroma(ChromaDecal)
  572. if not ChromaDecal:IsA("Decal") then return end
  573. local Rainbow = ChromaDecal:Clone()
  574. Rainbow.Name, Rainbow.Texture, Rainbow.Parent = "Rainbow", Colors.ChromaTexture, ChromaDecal.Parent
  575. ChromaDecal:Destroy()
  576. end
  577.  
  578. -- GUN DROP --
  579.  
  580. local GrabGun = {
  581. DroppedGun = nil,
  582. isGrabGun = false
  583. }
  584.  
  585. --[[ ⚠️ NO USE ⚠️
  586. if DontDisturb then
  587. if Auto then
  588. repeat task.wait() until not DontDisturb or not Toggles.AutoGrabGun
  589. else
  590. GrabGun["isGrabGun"] = false
  591. return Notify("Grab Gun","Cant grab gun right now.",3,Icons.Info)
  592. end
  593. end
  594.  
  595. DontDisturb = true
  596. if not Auto then
  597. Timer:Start()
  598. end
  599.  
  600. local theMurderer = Players:FindFirstChild(Roles.Murderer)
  601. if GrabGun["DroppedGun"] and GrabGun["DroppedGun"].Parent and not Roles:FindGun(LocalPlayer,false) and Roles:GetRole(LocalPlayer) == "Innocent" and Roles:IsAlive(LocalPlayer) and theMurderer then
  602. local GunCFrame = CFrame.new(GrabGun["DroppedGun"].Position + Vector3.new(0, -3, 0)) * CFrame.Angles(math.pi * .5, 0, 0)
  603. local Character = LocalPlayer.Character
  604. local Character2 = theMurderer.Character
  605. if Character and Character2 then
  606. local Root = Character:FindFirstChild("HumanoidRootPart")
  607. local Humanoid = Character:FindFirstChildOfClass("Humanoid")
  608. local Root2 = Character2:FindFirstChild("HumanoidRootPart")
  609. if Root and Humanoid and Root2 then
  610. if Auto then
  611. repeat task.wait() until (GrabGun["DroppedGun"].Position - Root2.Position).Magnitude > 5 or not GrabGun["DroppedGun"].Parent or not Root.Parent or not Root2.Parent or not Toggles.AutoGrabGun
  612. else
  613. repeat task.wait() until (GrabGun["DroppedGun"].Position - Root2.Position).Magnitude > 5 or not GrabGun["DroppedGun"].Parent or not Root.Parent or not Root2.Parent
  614. end
  615. local lastCFrame = Root.CFrame
  616. local lastNoclipState = Toggles.Noclip
  617. local lastAntiVoidState = Toggles.AntiVoid
  618. if Auto then
  619. repeat
  620. if GrabGun["DroppedGun"].Parent and Root.Parent then
  621. Workspace.CurrentCamera.CameraType = Enum.CameraType.Scriptable
  622. Toggles.Noclip = true
  623. Toggles.AntiVoid = false
  624. Root.CFrame = GunCFrame
  625. end
  626. RunService.Stepped:Wait()
  627. until not GrabGun["DroppedGun"].Parent or Roles:FindGun(LocalPlayer,false) or not Root.Parent or Roles:GetRole(LocalPlayer) ~= "Innocent" or not Roles:IsAlive(LocalPlayer) or not Toggles.AutoGrabGun
  628. else
  629. repeat
  630. if GrabGun["DroppedGun"].Parent and Root.Parent then
  631. Workspace.CurrentCamera.CameraType = Enum.CameraType.Scriptable
  632. Toggles.Noclip = true
  633. Toggles.AntiVoid = false
  634. Root.CFrame = GunCFrame
  635. end
  636. RunService.Stepped:Wait()
  637. until not GrabGun["DroppedGun"].Parent or Roles:FindGun(LocalPlayer,false) or not Root.Parent or Roles:GetRole(LocalPlayer) ~= "Innocent" or not Roles:IsAlive(LocalPlayer) or Timer["TimePassed"] > 2
  638. end
  639. Toggles.Noclip = lastNoclipState
  640. Toggles.AntiVoid = lastAntiVoidState
  641. if Humanoid and Root and lastCFrame then
  642. Humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
  643. Root.CFrame = lastCFrame
  644. Root.AssemblyLinearVelocity = Vector3.zero
  645. Root.AssemblyAngularVelocity = Vector3.zero
  646. end
  647. Workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
  648. Success = true
  649. end
  650. end
  651. end
  652. ]]
  653.  
  654. function GrabGun:Start(Auto)
  655. task.spawn(function()
  656. if self.isGrabGun or not self.DroppedGun then
  657. return not Auto and Notify("Grab Gun", "Can't grab gun right now.", 3, Icons.Info)
  658. end
  659.  
  660. self.isGrabGun = true
  661. local Success = false
  662.  
  663. if Roles:GetRole(LocalPlayer) == "Innocent" and self.DroppedGun and self.DroppedGun.Parent then
  664. local Root = LocalPlayer.Character and LocalPlayer.Character.PrimaryPart
  665. if Root then
  666. if Auto then
  667. repeat
  668. if self.DroppedGun.Parent and Root.Parent then
  669. self.DroppedGun.CFrame = Root.CFrame
  670. end
  671. RunService.Stepped:Wait()
  672. until not self.DroppedGun.Parent or Roles:FindGun(LocalPlayer, false) or not Root.Parent or Roles:GetRole(LocalPlayer) ~= "Innocent" or not Toggles.AutoGrabGun
  673. else
  674. self.DroppedGun.CFrame = Root.CFrame
  675. end
  676. Success = true
  677. end
  678. end
  679.  
  680. self.isGrabGun = false
  681. return not Auto and Notify("Grab Gun", Success and "Successfully Grab Gun!" or "Try again later.", 3, Success and Icons.Check or Icons.Info)
  682. end)
  683. end
  684.  
  685. -- MAP --
  686.  
  687. local Map = {}
  688.  
  689. function Map:IsMap(Model, GetInstance)
  690. local Spawns = Model:FindFirstChild("Spawns")
  691. local CoinContainer = Model:FindFirstChild("CoinAreas") or Model:FindFirstChild("CoinContainer")
  692. if Model:IsA("Model") and not Players:GetPlayerFromCharacter(Model) and Spawns and CoinContainer then
  693. return GetInstance and {Map = Model, Spawns = Spawns, CoinContainer = CoinContainer} or true
  694. end
  695. return
  696. end
  697.  
  698. function Map:GetCurrentMap(GetInstance)
  699. local ResultTable
  700. for _, Childs in pairs(FindChildsInWorkspace() or {}) do
  701. local Result = self:IsMap(Childs, true)
  702. if Result then
  703. ResultTable = Result
  704. break
  705. end
  706. end
  707. if not ResultTable then return end
  708. return GetInstance and ResultTable or true
  709. end
  710.  
  711. --[[
  712. function Map:CheckMap()
  713. local function ProcessGroup(Group)
  714. if Group:IsA("BasePart") and Group.Name == "GunDrop" then
  715. GrabGun.DroppedGun = Group
  716. if Toggles.AutoGrabGun then
  717. GrabGun:Start(true)
  718. end
  719. Visual:PEsp(Group, GunHolder, Colors:GetColor("Gun", "Cham"))
  720. Visual:NEsp(Group, GunHolder, Colors:GetColor("Gun", "ESP"), "Gun")
  721. if Roles:GetRole(LocalPlayer) == "Innocent" then
  722. Group.Size = Vector3.new(10, 10, 10)
  723. end
  724. Group.Changed:Connect(function()
  725. if not Group.Parent then
  726. for _, Childs in pairs(GunHolder:GetChildren()) do
  727. if Childs.Adornee == Group then
  728. Childs:Destroy()
  729. end
  730. end
  731. end
  732. end)
  733. elseif Group.Name ~= "CoinAreas" and Group.Name ~= "CoinContainer" then
  734. for _, Instance in pairs(Group:GetDescendants()) do
  735. if Instance:IsA("Decal") and Instance.Name == "Chroma" and Toggles.AntiLag then
  736. Visual:HandleChroma(Instance)
  737. end
  738. end
  739. Group.DescendantAdded:Connect(function(Instance)
  740. if Instance:IsA("Decal") and Instance.Name == "Chroma" and Toggles.AntiLag then
  741. task.wait()
  742. Visual:HandleChroma(Instance)
  743. end
  744. end)
  745. end
  746. end
  747.  
  748. local MapAvailable
  749.  
  750. local function CheckCurrentMap()
  751. local MapResult = self:GetCurrentMap(true)
  752. if MapResult then
  753. for _, Group in pairs(MapResult.Map:GetChildren()) do
  754. ProcessGroup(Group)
  755. end
  756. MapResult.Map.ChildAdded:Connect(ProcessGroup)
  757. MapResult.Map.Changed:Connect(function()
  758. if not MapResult.Map.Parent then MapAvailable = false end
  759. end)
  760. end
  761. end
  762.  
  763. CheckCurrentMap()
  764.  
  765. Workspace.ChildAdded:Connect(function(Child)
  766. if Child.Name == "Footsteps" and Child:IsA("Folder") and Toggles.AntiLag then
  767. task.wait()
  768. Child:Destroy() -- Anti Lag :)
  769. elseif Child:IsA("Model") and not (Players:GetPlayerFromCharacter(Child) and MapAvailable) then
  770. task.spawn(function()
  771. repeat task.wait(5) until self:IsMap(Child, false) or MapAvailable or not Child
  772. if Child then
  773. MapAvailable = true
  774. CheckCurrentMap()
  775. end
  776. end)
  777. end
  778. end)
  779. end
  780. ]]
  781.  
  782. function Map:CheckMap()
  783. local function ProcessGroup(Group)
  784. if Group:IsA("BasePart") and Group.Name == "GunDrop" then
  785. GrabGun.DroppedGun = Group
  786. if Toggles.AutoGrabGun then
  787. GrabGun:Start(true)
  788. end
  789. Visual:PEsp(Group, GunHolder, Colors:GetColor("Gun", "Cham"))
  790. Visual:NEsp(Group, GunHolder, Colors:GetColor("Gun", "ESP"), "Gun")
  791. if Roles:GetRole(LocalPlayer) == "Innocent" then
  792. Group.Size = Vector3.new(10, 10, 10)
  793. end
  794.  
  795. local connection
  796. connection = Group.Changed:Connect(function()
  797. if not Group.Parent then
  798. for _, Childs in ipairs(GunHolder:GetChildren()) do
  799. if Childs.Adornee == Group then
  800. Childs:Destroy()
  801. end
  802. end
  803. connection:Disconnect()
  804. end
  805. end)
  806.  
  807. elseif Group.Name ~= "CoinAreas" and Group.Name ~= "CoinContainer" then
  808. for _, Instance in ipairs(Group:GetDescendants()) do
  809. if Instance:IsA("Decal") and Instance.Name == "Chroma" and Toggles.AntiLag then
  810. Visual:HandleChroma(Instance)
  811. end
  812. end
  813.  
  814. Group.DescendantAdded:Connect(function(Instance)
  815. if Instance:IsA("Decal") and Instance.Name == "Chroma" and Toggles.AntiLag then
  816. Visual:HandleChroma(Instance)
  817. end
  818. end)
  819. end
  820. end
  821.  
  822. local MapAvailable = false
  823.  
  824. local function CheckCurrentMap()
  825. local MapResult = self:GetCurrentMap(true)
  826. if MapResult then
  827. for _, Group in ipairs(MapResult.Map:GetChildren()) do
  828. ProcessGroup(Group)
  829. end
  830.  
  831. MapResult.Map.ChildAdded:Connect(ProcessGroup)
  832. MapResult.Map.Changed:Connect(function()
  833. if not MapResult.Map.Parent then
  834. MapAvailable = false
  835. end
  836. end)
  837. end
  838. end
  839.  
  840. CheckCurrentMap()
  841.  
  842. Workspace.ChildAdded:Connect(function(Child)
  843. if Child.Name == "Footsteps" and Child:IsA("Folder") and Toggles.AntiLag then
  844. task.wait()
  845. Child.ChildAdded:Connect(function(Step)
  846. task.wait()
  847. Step:Destroy()
  848. end)
  849. elseif Child:IsA("Model") and not Players:GetPlayerFromCharacter(Child) and not MapAvailable then
  850. task.spawn(function()
  851. while not self:IsMap(Child, false) and not MapAvailable do
  852. task.wait(5)
  853. end
  854. if Child then
  855. MapAvailable = true
  856. CheckCurrentMap()
  857. end
  858. end)
  859. end
  860. end)
  861. end
  862.  
  863. -- PLAYER CONNECTION --
  864.  
  865. local PlayerConnection = {
  866. Connection = {}
  867. }
  868.  
  869. function PlayerConnection:BrokeTrap(Trap)
  870. if Trap then
  871. local TouchTransmitter = Trap:FindFirstChild("Trigger") and Trap.Trigger:WaitForChild("TouchInterest")
  872. if not TouchTransmitter then return end
  873. TouchTransmitter:Destroy()
  874. end
  875. end
  876.  
  877. function PlayerConnection:ProcessChild(Child, Player)
  878. if Toggles.AntiLag and Child.Name == "Pet" then
  879. Child:Destroy()
  880. elseif Child.Name == "Trap" and Child:IsA("Model") and Player ~= LocalPlayer and Toggles.AntiTrap then
  881. task.spawn(function() self:BrokeTrap(Child) end)
  882. end
  883. end
  884.  
  885. function PlayerConnection:HandleCharacter(Character, Player)
  886. if not Character then return end
  887. for _, Childs in pairs(Character:GetChildren()) do
  888. self:ProcessChild(Childs, Player)
  889. end
  890. self.Connection[Player.Name .. "_Connection"] = Character.ChildAdded:Connect(function(Child)
  891. if Child:IsA("Tool") and (Child.Name == "Gun" or Child.Name == "Knife") then
  892. task.spawn(function()
  893. local Chroma = Child:FindFirstChild("Handle") and Child.Handle:FindFirstChild("Chroma")
  894. if Chroma and Chroma:IsA("Decal") and Toggles.AntiLag then
  895. task.wait()
  896. Visual:HandleChroma(Chroma)
  897. end
  898. end)
  899. else
  900. task.wait()
  901. self:ProcessChild(Child, Player)
  902. end
  903. end)
  904. end
  905.  
  906. function PlayerConnection:ConnectPlayer(Player)
  907. self:HandleCharacter(Player.Character, Player)
  908. Player.CharacterAdded:Connect(function(Character)
  909. self:HandleCharacter(Character, Player)
  910. end)
  911. end
  912.  
  913. function PlayerConnection:HandlePlayer(Player)
  914. if Player ~= LocalPlayer then
  915. task.spawn(function()
  916. Visual:Esp(Player)
  917. Visual:Cham(Player)
  918. end)
  919. end
  920. task.spawn(function() self:ConnectPlayer(Player) end)
  921. end
  922.  
  923. -- SHOOT / BREAK GUN --
  924.  
  925. local function BreakGun(Player, Notif)
  926. if BreakedGun or not Player then
  927. return Notif and Notify("Break Gun", "Try again later.", 3, Icons.Cross)
  928. end
  929.  
  930. local Gun = Roles:FindGun(Player, true)
  931. local ShootGun = Gun and Gun.ShootGun
  932. if not ShootGun then return Notif and Notify("Break Gun", "Cannot find Gun.", 3, Icons.Cross) end
  933. local args = {
  934. [1] = 1,
  935. [2] = Vector2.new(),
  936. [3] = "AH2"
  937. }
  938. task.spawn(function()
  939. local Success, Error = pcall(function()
  940. ShootGun:InvokeServer(unpack(args))
  941. end)
  942. if Error then
  943. BreakedGun = Player.Name
  944. warn("[Success] : Break Gun ("..BreakedGun..")")
  945. end
  946. return Notif and Notify("Break Gun", Error and "Successfully break the Gun." or "Try again later.", 3, Error and Icons.Check or Icons.Cross)
  947. end)
  948. end
  949.  
  950. -- LOCALPLAYER --
  951.  
  952. local function SecondLife(boolean)
  953. local Humanoid = LocalPlayer.Character and LocalPlayer.Character:WaitForChild("Humanoid")
  954. if not Humanoid then return end
  955. Humanoid:SetStateEnabled(Enum.HumanoidStateType.Dead, not boolean)
  956. end
  957.  
  958. local function SetTempTool(boolean)
  959. local Parents = {
  960. Character = LocalPlayer.Character,
  961. Backpack = LocalPlayer:FindFirstChildOfClass("Backpack")
  962. }
  963. for _,Parent in pairs(Parents) do
  964. if not Parent then break end
  965. local TemporaryTool = Parent:FindFirstChild("TempTool")
  966. if boolean and Parent:IsA("Backpack") then
  967. if not TemporaryTool then
  968. local Tool = Instance.new("Tool")
  969. Tool.Name = "TempTool"
  970. Tool.Parent = Parent
  971. end
  972. break
  973. elseif not boolean and TemporaryTool then
  974. TemporaryTool:Destroy()
  975. break
  976. end
  977. end
  978. end
  979.  
  980. local function SetTpTool(boolean)
  981. local Parents = {
  982. Character = LocalPlayer.Character,
  983. Backpack = LocalPlayer:FindFirstChildOfClass("Backpack")
  984. }
  985. for _,Parent in pairs(Parents) do
  986. if not Parent then break end
  987. local TpTool = Parent:FindFirstChild("Teleport Tool")
  988. if boolean and Parent:IsA("Backpack") then
  989. if not TpTool then
  990. SetTempTool(true)
  991. local Tool = Instance.new("Tool")
  992. Tool.Name = "Teleport Tool"
  993. Tool.RequiresHandle = false
  994. Tool.Parent = Parent
  995. Tool.Activated:Connect(function()
  996. local Humanoid = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
  997. if not Humanoid or not Humanoid.RootPart then return end
  998. Humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
  999. Humanoid.RootPart.CFrame = CFrame.new(Mouse.Hit.X, Mouse.Hit.Y + 3, Mouse.Hit.Z, select(4, Humanoid.RootPart.CFrame:components()))
  1000. end)
  1001. SetTempTool(false)
  1002. end
  1003. break
  1004. elseif not boolean and TpTool then
  1005. TpTool:Destroy()
  1006. break
  1007. end
  1008. end
  1009. end
  1010.  
  1011. local InfiniteJumpConnection
  1012.  
  1013. local function InfiniteJump()
  1014. if InfiniteJumpConnection then
  1015. InfiniteJumpConnection:Disconnect()
  1016. end
  1017. InfiniteJumpConnection = UserInputService.JumpRequest:Connect(function()
  1018. local Humanoid = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
  1019. if Toggles.InfiniteJump and Humanoid then
  1020. Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
  1021. else
  1022. InfiniteJumpConnection:Disconnect()
  1023. end
  1024. end)
  1025. end
  1026.  
  1027. -- GOD MODE --
  1028.  
  1029. local GodMode = {
  1030. isGodModeProcess = false,
  1031. lastCFrame = nil,
  1032. isGodMode = false
  1033. }
  1034.  
  1035. function GodMode:Start(Notif)
  1036. if Roles:GetRole(LocalPlayer) == "Murderer" or not Roles:IsAlive(LocalPlayer) or self.isGodModeProcess then
  1037. return Notif and Notify("God Mode", "Try again later.", 3, Icons.Info)
  1038. end
  1039. local Humanoid = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
  1040. if not (Humanoid or Humanoid.RootPart and Humanoid.Parent:FindFirstChild("Head")) then return end
  1041. self.isGodModeProcess = true
  1042. self.lastCFrame = Humanoid.RootPart.CFrame
  1043. Humanoid:SetStateEnabled(Enum.HumanoidStateType.Dead, true)
  1044. Humanoid.Parent.Head:Destroy()
  1045. Humanoid.Health = -9e9
  1046. end
  1047.  
  1048. -- FLING --
  1049.  
  1050. local Fling = {
  1051. isFlinging = false,
  1052. FlingPower = 9999999e12,
  1053. lastFlingedCFrame = nil
  1054. }
  1055.  
  1056. function Fling:Start(Player, Auto)
  1057. task.spawn(function()
  1058. if DontDisturb or self.isFlinging then
  1059. if not Auto then
  1060. return Notify("Fling Player", "Cant fling player right now.", 3, Icons.Info)
  1061. end
  1062. return
  1063. end
  1064.  
  1065. DontDisturb = true
  1066. self.isFlinging = true
  1067. local Success = false
  1068.  
  1069. if not Auto then
  1070. Timer:Start()
  1071. end
  1072.  
  1073. local theConnection
  1074.  
  1075. --
  1076. local LocalHumanoid = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
  1077. local OtherRoot = Player.Character and Player.Character.PrimaryPart
  1078.  
  1079. if LocalHumanoid and LocalHumanoid.RootPart and OtherRoot then
  1080. local lastCFrame = LocalHumanoid.RootPart.CFrame
  1081. local lastNoclipState = Toggles.Noclip
  1082. local lastAntiVoidState = Toggles.AntiVoid
  1083.  
  1084. local function ResetCharacter()
  1085. if Toggles.Noclip ~= lastNoclipState then Toggles.Noclip = lastNoclipState end
  1086. if Toggles.AntiVoid ~= lastAntiVoidState then Toggles.AntiVoid = lastAntiVoidState end
  1087. if LocalHumanoid and LocalHumanoid.RootPart and lastCFrame then
  1088. Workspace.CurrentCamera.CameraSubject = LocalHumanoid
  1089. LocalHumanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
  1090. LocalHumanoid.RootPart.CFrame = lastCFrame
  1091. LocalHumanoid.RootPart.AssemblyLinearVelocity = Vector3.zero
  1092. LocalHumanoid.RootPart.AssemblyAngularVelocity = Vector3.zero
  1093. end
  1094. end
  1095. theConnection = RunService.Heartbeat:Connect(function()
  1096. if (Auto or Timer.TimePassed < 5 and OtherRoot and OtherRoot.AssemblyLinearVelocity.Magnitude < 250) and LocalHumanoid.Parent and LocalHumanoid.RootPart and LocalHumanoid.RootPart.Parent and OtherRoot.Parent then
  1097. Workspace.CurrentCamera.CameraSubject = OtherRoot.Parent
  1098. Toggles.Noclip, Toggles.AntiVoid = true, true
  1099. local Velocity = OtherRoot.AssemblyLinearVelocity
  1100. local Prediction = OtherRoot.Position + ((Velocity * Vector3.new(1, 0, 1) * .5 + Vector3.new(0, Velocity.Y / 10, 0)) * math.random(-2, 2))
  1101. local Velocity2 = LocalHumanoid.RootPart.AssemblyLinearVelocity
  1102. LocalHumanoid.RootPart.CFrame = CFrame.new(Prediction.X, Prediction.Y, Prediction.Z, select(4, OtherRoot.CFrame:components()))
  1103. LocalHumanoid.RootPart.AssemblyLinearVelocity = Vector3.new(0, -self.FlingPower, 0)
  1104. RunService.RenderStepped:Wait()
  1105. LocalHumanoid.RootPart.AssemblyLinearVelocity = Velocity2
  1106. else
  1107. ResetCharacter()
  1108. self.isFlinging = false
  1109. Success = true
  1110. theConnection:Disconnect()
  1111. theConnection = nil
  1112. end
  1113. end)
  1114. end
  1115.  
  1116. repeat task.wait() until not theConnection
  1117. self.isFlinging = false
  1118. DontDisturb = false
  1119.  
  1120. if not Auto then
  1121. Timer:Stop()
  1122. return not Auto and Notify("Fling Player", Success and "Successfully fling Player!" or "Try again later.", 3, Success and Icons.Check or Icons.Info)
  1123. end
  1124. end)
  1125. end
  1126.  
  1127. --[[
  1128. --POWER & PERKS -- !! MOSTLY BROKEN
  1129.  
  1130. local Power = {}
  1131.  
  1132. function Power:SetPower(PowerType, Args1)
  1133. local Remotes = ReplicatedStorage:FindFirstChild("Remotes")
  1134.  
  1135. if PowerType == "Ghost" then
  1136. local Stealth = Remotes and Remotes:FindFirstChild("Gameplay") and Remotes.Gameplay:FindFirstChild("Stealth")
  1137. if Stealth then
  1138. pcall(function()
  1139. Stealth:FireServer(Args1)
  1140. end)
  1141. end
  1142. elseif PowerType == "Trap" then
  1143. local PlaceTrap = ReplicatedStorage:FindFirstChild("TrapSystem") and ReplicatedStorage.TrapSystem:FindFirstChild("PlaceTrap")
  1144. if PlaceTrap then
  1145. pcall(function()
  1146. PlaceTrap:InvokeServer(Args1)
  1147. end)
  1148. end
  1149. elseif PowerType == "FakeGun" then
  1150. local FakeGun = Remotes and Remotes:FindFirstChild("Gameplay") and Remotes.Gameplay:FindFirstChild("FakeGun")
  1151. if FakeGun then
  1152. pcall(function()
  1153. FakeGun:FireServer(Args1)
  1154. end)
  1155. end
  1156. elseif PowerType == "Trails" then
  1157. local Character = LocalPlayer.Character
  1158. local SpeedTrail = Character and Character:FindFirstChild("SpeedTrail")
  1159. local Toggle = SpeedTrail and SpeedTrail:FindFirstChild("Toggle")
  1160. if Toggle then
  1161. pcall(function()
  1162. Toggle:FireServer(Args1)
  1163. end)
  1164. end
  1165. else
  1166. return nil
  1167. end
  1168. end
  1169. ]]
  1170.  
  1171. -- [VISUAL] --
  1172. local Visual_Tab = Window:MakeTab({
  1173. Name = "Visual",
  1174. Icon = GetIcon("eye")
  1175. })
  1176.  
  1177. local FieldOfView = SavedLocals["FOV"] or 70
  1178.  
  1179. Visual_Tab:AddLabel("Visual :")
  1180.  
  1181. Visual_Tab:AddToggle({
  1182. Name = "All ESP",
  1183. Default = false,
  1184. Save = true,
  1185. Flag = "All ESP",
  1186. Callback = function(Value)
  1187. Toggles.EnableESP = Value
  1188. end
  1189. })
  1190.  
  1191. Visual_Tab:AddToggle({
  1192. Name = "All Chams",
  1193. Default = false,
  1194. Save = true,
  1195. Flag = "All Chams",
  1196. Callback = function(Value)
  1197. Toggles.EnableChams = Value
  1198. end
  1199. })
  1200.  
  1201. Visual_Tab:AddToggle({
  1202. Name = "Dropped Gun ESP",
  1203. Default = false,
  1204. Save = true,
  1205. Flag = "Dropped Gun ESP",
  1206. Callback = function(Value)
  1207. Toggles.GunESP = Value
  1208. end
  1209. })
  1210.  
  1211. Visual_Tab:AddTextbox({
  1212. Name = "ESP Transparency [0 - 0.9]",
  1213. Default = SavedLocals["TRANS"] or "0.7",
  1214. TextDisappear = false,
  1215. Callback = function(Value)
  1216. local number = tonumber(Value)
  1217. if number and number > -0.1 and number < 1 then
  1218. Transparency, SavedLocals["Transparency"] = number, number
  1219. OrionLib:SaveLocals(SavedLocals)
  1220. else
  1221. Notify("Invalid Input","Please try again.",3,Icons.Info)
  1222. end
  1223. end
  1224. })
  1225.  
  1226. Visual_Tab:AddLabel("Misc :")
  1227.  
  1228. Visual_Tab:AddTextbox({
  1229. Name = "Field Of View",
  1230. Default = SavedLocals["FOV"] or "70",
  1231. TextDisappear = false,
  1232. Callback = function(Value)
  1233. if tonumber(Value) then
  1234. Workspace.CurrentCamera.FieldOfView, SavedLocals["FOV"] = Value, Value
  1235. OrionLib:SaveLocals(SavedLocals)
  1236. end
  1237. end
  1238. })
  1239.  
  1240. Workspace.CurrentCamera.FieldOfView = SavedLocals["FOV"] or 70
  1241.  
  1242. Visual_Tab:AddToggle({
  1243. Name = "Anti Lag",
  1244. Default = false,
  1245. Save = true,
  1246. Flag = "Anti Lag",
  1247. Callback = function(Value)
  1248. Toggles.AntiLag = Value
  1249. local Names = {
  1250. "Pets",
  1251. "CoinVisualizer"
  1252. }
  1253. for _, Script in pairs(Names) do
  1254. local theScript = LocalPlayer.PlayerScripts and LocalPlayer.PlayerScripts:WaitForChild(Script)
  1255. if theScript then
  1256. theScript.Disabled = Value
  1257. end
  1258. end
  1259. if Value then
  1260. local Folders = {
  1261. "PetContainer",
  1262. "Footsteps",
  1263. "GunDisplay"
  1264. }
  1265.  
  1266. for _, Folder in pairs(FindChildsInWorkspace() or {}) do
  1267. if Folders[Folder.Name] and Folder:IsA("Folder") then
  1268. if Folders.Name == "GunDisplay" then
  1269. for _, Child in pairs(Folder:GetDescendants()) do
  1270. if Child.Name == "Chroma" and Child:IsA("Decal") then
  1271. Visual:HandleChroma(Child)
  1272. end
  1273. end
  1274. else
  1275. Folder:ClearAllChildren()
  1276. end
  1277. end
  1278. end
  1279. for _,Player in pairs(Players:GetPlayers()) do
  1280. local Pet = Player.Character and Player.Character:FindFirstChild("Pet")
  1281. if Pet then Pet:Destroy() end
  1282. end
  1283. end
  1284. end
  1285. })
  1286.  
  1287. -- [LOCALPLAYER] --
  1288. local LocalPlayer_Tab = Window:MakeTab({
  1289. Name = "LocalPlayer",
  1290. Icon = GetIcon("person-standing")
  1291. })
  1292.  
  1293. local WalkSpeed = SavedLocals["WS"] or 16
  1294. local JumpPower = SavedLocals["JP"] or 50
  1295. local Gravity = 196
  1296.  
  1297. LocalPlayer_Tab:AddLabel("Character :")
  1298.  
  1299. LocalPlayer_Tab:AddToggle({
  1300. Name = "Enable WalkSpeed",
  1301. Default = false,
  1302. Save = true,
  1303. Flag = "Enable WalkSpeed",
  1304. Callback = function(Value)
  1305. Toggles.EnableWalkSpeed = Value
  1306. if not Value then
  1307. local Humanoid = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
  1308. if Humanoid then
  1309. Humanoid.WalkSpeed = 16
  1310. end
  1311. end
  1312. end
  1313. })
  1314.  
  1315. LocalPlayer_Tab:AddTextbox({
  1316. Name = "WalkSpeed",
  1317. Default = SavedLocals["WS"] or "16",
  1318. TextDisappear = false,
  1319. Callback = function(Value)
  1320. if tonumber(Value) then
  1321. WalkSpeed, SavedLocals["WS"] = Value, Value
  1322. OrionLib:SaveLocals(SavedLocals)
  1323. end
  1324. end
  1325. })
  1326.  
  1327. LocalPlayer_Tab:AddToggle({
  1328. Name = "Enable JumpPower",
  1329. Default = false,
  1330. Save = true,
  1331. Flag = "Enable JumpPower",
  1332. Callback = function(Value)
  1333. Toggles.EnableJumpPower = Value
  1334. if not Value then
  1335. local Humanoid = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
  1336. if Humanoid then
  1337. Humanoid.JumpPower = 50
  1338. end
  1339. end
  1340. end
  1341. })
  1342.  
  1343. LocalPlayer_Tab:AddTextbox({
  1344. Name = "JumpPower",
  1345. Default = SavedLocals["JP"] or "50",
  1346. TextDisappear = false,
  1347. Callback = function(Value)
  1348. if tonumber(Value) then
  1349. JumpPower, SavedLocals["JP"] = Value, Value
  1350. OrionLib:SaveLocals(SavedLocals)
  1351. end
  1352. end
  1353. })
  1354.  
  1355. LocalPlayer_Tab:AddToggle({
  1356. Name = "Enable Gravity",
  1357. Default = false,
  1358. Callback = function(Value)
  1359. Toggles.EnableGravity = Value
  1360. Workspace.Gravity = Value and Gravity or 196
  1361. end
  1362. })
  1363.  
  1364. LocalPlayer_Tab:AddTextbox({
  1365. Name = "Gravity",
  1366. Default = "196",
  1367. TextDisappear = false,
  1368. Callback = function(Value)
  1369. if tonumber(Value) then
  1370. Gravity = Value
  1371. end
  1372. end
  1373. })
  1374.  
  1375. LocalPlayer_Tab:AddToggle({
  1376. Name = "Noclip",
  1377. Default = false,
  1378. Callback = function(Value)
  1379. Toggles.Noclip = Value
  1380. if not Value then
  1381. local Humanoid = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
  1382. if Humanoid then
  1383. Humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
  1384. end
  1385. end
  1386. end
  1387. })
  1388.  
  1389. LocalPlayer_Tab:AddToggle({
  1390. Name = "Infinite Jump",
  1391. Default = false,
  1392. Callback = function(Value)
  1393. Toggles.InfiniteJump = Value
  1394. if Value then
  1395. InfiniteJump()
  1396. else
  1397. if InfiniteJumpConnection then
  1398. InfiniteJumpConnection:Disconnect()
  1399. end
  1400. end
  1401. end
  1402. })
  1403.  
  1404. LocalPlayer_Tab:AddToggle({
  1405. Name = "Teleport Tool",
  1406. Default = false,
  1407. Callback = function(Value)
  1408. Toggles.TeleportTool = Value
  1409. SetTpTool(Value)
  1410. end
  1411. })
  1412.  
  1413. -- [PROTECTION] --
  1414. local Protection_Tab = Window:MakeTab({
  1415. Name = "Protection",
  1416. Icon = GetIcon("shield-check")
  1417. })
  1418.  
  1419. Protection_Tab:AddLabel("Protection :")
  1420.  
  1421. Protection_Tab:AddToggle({
  1422. Name = "Second Life",
  1423. Default = false,
  1424. Save = true,
  1425. Flag = "Second Life",
  1426. Callback = function(Value)
  1427. Toggles.SecondLife = Value
  1428. SecondLife(Value)
  1429. end
  1430. })
  1431.  
  1432. Protection_Tab:AddToggle({
  1433. Name = "Anti Fling",
  1434. Default = false,
  1435. Save = true,
  1436. Flag = "Anti Fling",
  1437. Callback = function(Value)
  1438. Toggles.AntiFling = Value
  1439. end
  1440. })
  1441.  
  1442. Protection_Tab:AddToggle({
  1443. Name = "Anti Void",
  1444. Default = false,
  1445. Save = true,
  1446. Flag = "Anti Void",
  1447. Callback = function(Value)
  1448. Toggles.AntiVoid = Value
  1449. end
  1450. })
  1451.  
  1452. Protection_Tab:AddToggle({
  1453. Name = "Anti Trap",
  1454. Default = false,
  1455. Save = true,
  1456. Flag = "Anti Trap",
  1457. Callback = function(Value)
  1458. Toggles.AntiTrap = Value
  1459. if Value then
  1460. task.spawn(function()
  1461. for _, Player in pairs(Players:GetPlayers()) do
  1462. if Player ~= LocalPlayer and Player.Character then
  1463. for _, Childs in pairs(Player.Character:GetChildren()) do
  1464. if Childs.Name == "Trap" and Childs:IsA("Model") then
  1465. task.spawn(function() PlayerConnection:BrokeTrap(Childs) end)
  1466. end
  1467. end
  1468. end
  1469. end
  1470. end)
  1471. end
  1472. end
  1473. })
  1474.  
  1475. Protection_Tab:AddToggle({
  1476. Name = "Anti Lock",
  1477. Default = false,
  1478. Save = true,
  1479. Flag = "Anti Lock",
  1480. Callback = function(Value)
  1481. Toggles.AntiLock = Value
  1482. end
  1483. })
  1484.  
  1485. Protection_Tab:AddToggle({
  1486. Name = "Mute Radios",
  1487. Default = false,
  1488. Save = true,
  1489. Flag = "Mute Radios",
  1490. Callback = function(Value)
  1491. Toggles.MuteRadios = Value
  1492. for _, Player in pairs(Players:GetPlayers()) do
  1493. if Player ~= LocalPlayer then
  1494. local Sound = Player.Character and Player.Character:FindFirstChild("Radio") and Player.Character.Radio:FindFirstChildOfClass("Sound")
  1495. if Sound then
  1496. Sound.Volume = Value and 0 or 0.5
  1497. end
  1498. end
  1499. end
  1500. end
  1501. })
  1502.  
  1503. -- [COMBAT] --
  1504. local Combat_Tab = Window:MakeTab({
  1505. Name = "Combat",
  1506. Icon = GetIcon("shield")
  1507. })
  1508.  
  1509. local PlayerToFling = nil
  1510.  
  1511. Combat_Tab:AddLabel("Fling :")
  1512.  
  1513. Combat_Tab:AddTextbox({
  1514. Name = "Player to Fling :",
  1515. Default = "",
  1516. TextDisappear = false,
  1517. Callback = function(Value)
  1518. local Player = GetPlayer(Value)[1]
  1519. if Player then
  1520. PlayerToFling = Player
  1521. else
  1522. Notify("Invalid Input","Please try again.",3,Icons.Info)
  1523. end
  1524. end
  1525. })
  1526.  
  1527. Combat_Tab:AddButton({
  1528. Name = "Fling Player",
  1529. Callback = function()
  1530. if PlayerToFling then
  1531. Fling:Start(PlayerToFling,false)
  1532. else
  1533. Notify("Fling Player","Try again later.",3,Icons.Info)
  1534. end
  1535. end
  1536. })
  1537.  
  1538. Combat_Tab:AddButton({
  1539. Name = "Fling Sheriff / Hero",
  1540. Callback = function()
  1541. local theSheriff = Players:FindFirstChild(Roles.Sheriff) or Players:FindFirstChild(Roles.Hero)
  1542. if theSheriff and theSheriff ~= LocalPlayer then
  1543. Fling:Start(theSheriff,false)
  1544. else
  1545. Notify("Fling Player","Try again later.",3,Icons.Info)
  1546. end
  1547. end
  1548. })
  1549.  
  1550. Combat_Tab:AddButton({
  1551. Name = "Fling Murderer",
  1552. Callback = function()
  1553. local theMurderer = Players:FindFirstChild(Roles.Murderer)
  1554. if theMurderer and theMurderer ~= LocalPlayer then
  1555. Fling:Start(theMurderer,false)
  1556. else
  1557. Notify("Fling Player","Try again later.",3,Icons.Info)
  1558. end
  1559. end
  1560. })
  1561.  
  1562. Combat_Tab:AddLabel("Break Gun :")
  1563.  
  1564. Combat_Tab:AddButton({
  1565. Name = "Break Gun",
  1566. Callback = function()
  1567. local theSheriff = Players:FindFirstChild(Roles.Sheriff) or Players:FindFirstChild(Roles.Hero)
  1568. if theSheriff and theSheriff ~= LocalPlayer then
  1569. BreakGun(theSheriff, true)
  1570. else
  1571. Notify("Break Gun", theSheriff and "You can't break your own Gun!" or "Try again later.", 3, theSheriff and Icons.Info or Icons.Cross)
  1572. end
  1573. end
  1574. })
  1575.  
  1576. Combat_Tab:AddToggle({
  1577. Name = "Auto Break Gun",
  1578. Default = false,
  1579. Save = true,
  1580. Flag = "Auto Break Gun",
  1581. Callback = function(Value)
  1582. Toggles.AutoBreakGun = Value
  1583. if Value then
  1584. local theSheriff = Players:FindFirstChild(Roles.Sheriff) or Players:FindFirstChild(Roles.Hero)
  1585. if theSheriff and theSheriff ~= LocalPlayer then
  1586. BreakGun(theSheriff,false)
  1587. end
  1588. end
  1589. end
  1590. })
  1591.  
  1592. Combat_Tab:AddToggle({
  1593. Name = "Only Break Gun When Murderer",
  1594. Default = false,
  1595. Save = true,
  1596. Flag = "Only Break Gun When Murderer",
  1597. Callback = function(Value)
  1598. Toggles.AutoBreakGunWhenMurder = Value
  1599. if Value and Roles:GetRole(LocalPlayer) == "Murderer" then
  1600. local theSheriff = Players:FindFirstChild(Roles.Sheriff) or Players:FindFirstChild(Roles.Hero)
  1601. if theSheriff and theSheriff ~= LocalPlayer then
  1602. BreakGun(theSheriff, false)
  1603. end
  1604. end
  1605. end
  1606. })
  1607.  
  1608. Combat_Tab:AddLabel("Innocent :")
  1609.  
  1610. Combat_Tab:AddButton({
  1611. Name = "God Mode [Reset]",
  1612. Callback = function()
  1613. GodMode:Start(false)
  1614. end
  1615. })
  1616.  
  1617. Combat_Tab:AddButton({
  1618. Name = "Grab Gun",
  1619. Callback = function()
  1620. if not GrabGun.isGrabGun then
  1621. GrabGun:Start(false)
  1622. end
  1623. end
  1624. })
  1625.  
  1626. Combat_Tab:AddToggle({
  1627. Name = "Auto Grab Gun",
  1628. Default = false,
  1629. Save = true,
  1630. Flag = "Auto Grab Gun",
  1631. Callback = function(Value)
  1632. Toggles.AutoGrabGun = Value
  1633. if Value then
  1634. GrabGun:Start(true)
  1635. end
  1636. end
  1637. })
  1638.  
  1639. -- MORE COMING SOON!
  1640.  
  1641. -- [SCRIPTS] --
  1642.  
  1643. Roles:UpdateRole()
  1644. Roles:UpdateGameMode()
  1645.  
  1646. for _, Player in pairs(Players:GetPlayers()) do
  1647. PlayerConnection:HandlePlayer(Player)
  1648. end
  1649.  
  1650. Players.PlayerAdded:Connect(function(Player) PlayerConnection:HandlePlayer(Player) end)
  1651.  
  1652. Players.PlayerRemoving:Connect(function(Player)
  1653. if Player ~= LocalPlayer then
  1654. local PlayerName = Player.Name
  1655. for Role, Player in pairs(Roles) do
  1656. if Player == PlayerName then
  1657. warn("[Reset Role] : ("..PlayerName..")")
  1658. if Player == Roles.Sheriff or Player == Roles.Hero then
  1659. warn("[Reset BreakedGun] : ("..PlayerName..")")
  1660. BreakedGun = nil
  1661. end
  1662. Roles[Role] = ""
  1663. break
  1664. end
  1665. end
  1666. local PlayerVisuals = {
  1667. NameHolder:FindFirstChild(PlayerName),
  1668. ChamHolder:FindFirstChild(PlayerName.."_CHM")
  1669. }
  1670. for _,Visual in pairs(PlayerVisuals) do
  1671. if Visual then Visual:Destroy() end
  1672. end
  1673. local Connection = table.find(PlayerConnection.Connection, PlayerName.."_Connection") and PlayerConnection.Connection[Player.Name.."_Connection"]
  1674. if Connection then Connection:Disconnect() end
  1675. end
  1676. end)
  1677.  
  1678. CollectionService:GetInstanceAddedSignal("CoinVisual"):Connect(function(CoinVisual)
  1679. if LocalPlayerData.CollectedCoins[CoinVisual:GetAttribute("CoinID")] and LocalPlayerData.CollectedCoins[CoinVisual:GetAttribute("CoinID")].IsFull then
  1680. local Parent = CoinVisual.Parent
  1681. if Parent then task.wait() Parent:Destroy() end
  1682. end
  1683. end)
  1684.  
  1685. -- LOOPS [1 SECOND]
  1686.  
  1687. local VisualHandler = {}
  1688.  
  1689. function VisualHandler:HandleESP(Player, enable)
  1690. local BillboardGui = NameHolder:FindFirstChild(Player.Name) and NameHolder[Player.Name]:FindFirstChildOfClass("BillboardGui")
  1691. if BillboardGui then
  1692. local Head = Player.Character and Player.Character:FindFirstChild(BillboardGui.Name)
  1693. BillboardGui.Adornee = enable and Head or nil
  1694. BillboardGui.Enabled = Head and enable
  1695. end
  1696. end
  1697.  
  1698. function VisualHandler:HandleChams(Player, enable)
  1699. local ChamFolder = ChamHolder:FindFirstChild(Player.Name.."_CHM")
  1700. if ChamFolder then
  1701. for _, Cham in pairs(ChamFolder:GetChildren()) do
  1702. local Object = Player.Character and Player.Character:FindFirstChild(Cham.Name)
  1703. Cham.Adornee = enable and Object or nil
  1704. Cham.Size = enable and Object and Object.Size or Vector3.zero
  1705. Cham.Visible = Object and enable or false
  1706. Cham.Transparency = Visual.Transparency
  1707. end
  1708. end
  1709. end
  1710.  
  1711. function VisualHandler:HandleGunESP(enable)
  1712. for _, Childs in pairs(GunHolder:GetChildren()) do
  1713. if Childs:IsA("BillboardGui") then
  1714. Childs.Enabled = enable
  1715. else
  1716. Childs.Visible = enable
  1717. Childs.Transparency = Visual.Transparency
  1718. end
  1719. end
  1720. end
  1721.  
  1722. task.spawn(function()
  1723. while task.wait(1) do
  1724. Roles:UpdateRole()
  1725.  
  1726. for _,v in pairs(Players:GetPlayers()) do
  1727. local theSheriff = Players:FindFirstChild(Roles.Sheriff)
  1728.  
  1729. if not theSheriff and Roles:FindGun(v, false) then
  1730. Roles.Hero = v.Name
  1731. end
  1732. if Roles.Sheriff ~= "" and Roles.Hero == Roles.Sheriff then
  1733. Roles.Hero = ""
  1734. end
  1735.  
  1736. if v ~= LocalPlayer then
  1737. if Roles:IsAlive(v) then
  1738. VisualHandler:HandleESP(v, Toggles.EnableESP)
  1739. VisualHandler:HandleChams(v, Toggles.EnableChams)
  1740. else
  1741. VisualHandler:HandleESP(v, false)
  1742. VisualHandler:HandleChams(v, false)
  1743. end
  1744.  
  1745. if Toggles.MuteRadios then
  1746. local Sound = v.Character and v.Character:FindFirstChild("Radio") and v.Character.Radio:FindFirstChildOfClass("Sound")
  1747. if Sound then
  1748. Sound.Volume = 0
  1749. end
  1750. end
  1751. end
  1752. end
  1753.  
  1754. VisualHandler:HandleGunESP(Toggles.GunESP)
  1755.  
  1756. for _, CoinVisual in pairs(CollectionService:GetTagged("CoinVisual")) do
  1757. local Parent = CoinVisual.Parent
  1758. if Parent then
  1759. if Parent:GetAttribute("Collected") or Parent:GetAttribute("RoundEnd") then
  1760. Parent:Destroy()
  1761. else
  1762. CoinVisual.CFrame *= Toggles.AntiLag and CFrame.Angles(0, math.rad(45), 0) or CoinVisual.CFrame
  1763. Parent.CanTouch = not Fling.isFlinging
  1764. Parent.Size = Fling.isFlinging and Vector3.zero or Vector3.new(10, 10, 10)
  1765. end
  1766. end
  1767. end
  1768.  
  1769. local Character = LocalPlayer.Character
  1770. if Character then
  1771. local Knife = Roles:FindKnife(LocalPlayer,true)
  1772. if Knife and Knife.Handle then
  1773. local KnifeHandle = Knife.Handle
  1774. KnifeHandle.Massless = true
  1775. KnifeHandle.Anchored = false
  1776. KnifeHandle.CanCollide = false
  1777. KnifeHandle.Size = Vector3.new(5,5,5)
  1778. end
  1779.  
  1780. local Humanoid = Character:FindFirstChildOfClass("Humanoid")
  1781. if Humanoid then
  1782. if Toggles.EnableWalkSpeed and tonumber(WalkSpeed) then
  1783. Humanoid.WalkSpeed = WalkSpeed
  1784. end
  1785. if Toggles.EnableJumpPower and tonumber(JumpPower) then
  1786. Humanoid.JumpPower = JumpPower
  1787. end
  1788. end
  1789.  
  1790. if Toggles.EnableGravity then
  1791. Workspace.Gravity = Gravity
  1792. end
  1793.  
  1794. if Toggles.AutoBreakGun and not BreakedGun then
  1795. if Toggles.AutoBreakGunWhenMurder and Roles:GetRole(LocalPlayer) == "Murderer" then
  1796. local theSheriff = Players:FindFirstChild(Roles.Sheriff) or Players:FindFirstChild(Roles.Hero)
  1797. if theSheriff and theSheriff ~= LocalPlayer then
  1798. BreakGun(theSheriff,false)
  1799. end
  1800. elseif not Toggles.AutoBreakGunWhenMurder then
  1801. local theSheriff = Players:FindFirstChild(Roles.Sheriff) or Players:FindFirstChild(Roles.Hero)
  1802. if theSheriff and theSheriff ~= LocalPlayer then
  1803. BreakGun(theSheriff,false)
  1804. end
  1805. end
  1806. end
  1807. end
  1808. end
  1809. end)
  1810.  
  1811. -- Analyze Map
  1812. Map:CheckMap()
  1813.  
  1814. -- CHARACTER ADDED
  1815.  
  1816. local LastCharacter = LocalPlayer.Character
  1817. LocalPlayer.CharacterAdded:Connect(function(Character)
  1818. if Character and Players:GetPlayerFromCharacter(Character) then
  1819. if Character ~= LastCharacter then
  1820. task.spawn(function()
  1821. BreakedGun = nil
  1822. GodMode.isGodMode = false
  1823.  
  1824. -- Character Check
  1825. LastCharacter = Character
  1826.  
  1827. -- Can Shoot
  1828.  
  1829.  
  1830. -- Second Life
  1831. if Toggles.SecondLife then
  1832. SecondLife(true)
  1833. end
  1834.  
  1835. -- Grab Gun [If Meet Requirements]
  1836. if Toggles.AutoGrabGun then
  1837. GrabGun:Start(true)
  1838. end
  1839.  
  1840. -- Teleport Tool
  1841. if Toggles.TeleportTool then
  1842. SetTpTool(true)
  1843. end
  1844.  
  1845. -- God Mode
  1846. if GodMode.isGodModeProcess then
  1847. task.spawn(function()
  1848. repeat task.wait() until Character:FindFirstChildOfClass("Humanoid") or not Character
  1849. local Humanoid = Character.Humanoid
  1850. if Humanoid and Humanoid.RootPart then
  1851. local Root = Humanoid.RootPart
  1852. if Root and GodMode.lastCFrame then
  1853. Root.CFrame = GodMode.lastCFrame
  1854. Notify("God Mode","Success!", 3, Icons.Check)
  1855. GodMode.isGodMode = true
  1856. end
  1857. end
  1858. end)
  1859. end
  1860.  
  1861. GodMode.isGodModeProcess = false
  1862.  
  1863. -- Toggle Ghost
  1864.  
  1865.  
  1866. --[[ Prediction Reset
  1867. PredictionBox.Position = Vector3.zero
  1868. ]]
  1869.  
  1870. end)
  1871. end
  1872. end
  1873. end)
  1874.  
  1875. -- LOOPS [STEPPED]
  1876.  
  1877. RunService.Stepped:Connect(function()
  1878. local Character = LocalPlayer.Character
  1879. if Character then
  1880. local Humanoid = Character and Character:FindFirstChildOfClass("Humanoid")
  1881. local LocalRoot = Humanoid and Humanoid.RootPart
  1882.  
  1883. if Toggles.Noclip then
  1884. for _, Childs in pairs(Character:GetChildren()) do
  1885. if Childs:IsA("BasePart") then
  1886. Childs.CanCollide = false
  1887. end
  1888. end
  1889. end
  1890.  
  1891. if Toggles.AntiVoid and LocalRoot and Humanoid then
  1892. if LocalRoot.Position.Y <= Workspace.FallenPartsDestroyHeight + 100 then
  1893. Humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
  1894. LocalRoot.CFrame = CFrame.new(LocalRoot.Position.X, Workspace.FallenPartsDestroyHeight + 100, LocalRoot.Position.Z, select(4, LocalRoot.CFrame:components()))
  1895. end
  1896. end
  1897.  
  1898. if Toggles.AntiFling and LocalRoot and not Fling.isFlinging then
  1899. if (LocalRoot.AssemblyAngularVelocity.Magnitude > 150 or LocalRoot.AssemblyLinearVelocity.Magnitude > 250) then
  1900. if Fling.lastFlingedCFrame then
  1901. LocalRoot.AssemblyLinearVelocity = Vector3.zero
  1902. LocalRoot.AssemblyAngularVelocity = Vector3.zero
  1903. LocalRoot.CFrame = Fling.lastFlingedCFrame
  1904. end
  1905. else
  1906. Fling.lastFlingedCFrame = LocalRoot.CFrame
  1907. end
  1908. end
  1909. end
  1910.  
  1911. if Toggles.AntiFling and not Fling.isFlinging then
  1912. for _, Player in pairs(Players:GetPlayers()) do
  1913. if Player ~= LocalPlayer then
  1914. local Root = Player.Character and Player.Character.PrimaryPart
  1915. if Root and (Root.AssemblyAngularVelocity.Magnitude > 150 or Root.AssemblyLinearVelocity.Magnitude > 250) then
  1916. Root.AssemblyLinearVelocity, Root.AssemblyAngularVelocity = Vector3.zero, Vector3.zero
  1917. for _, Childs in pairs(Root.Parent:GetChildren()) do
  1918. if Childs:IsA("BasePart") then
  1919. Childs.Massless = true
  1920. Childs.CanCollide = false
  1921. Childs.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0.01, 0.01)
  1922. end
  1923. end
  1924. end
  1925. end
  1926. end
  1927. end
  1928. end)
  1929.  
  1930. -- LOOPS [HEARTBEAT]
  1931. RunService.Heartbeat:Connect(function()
  1932. local Root = LocalPlayer.Character and LocalPlayer.Character.PrimaryPart
  1933. if Root then
  1934.  
  1935. -- Anti Lock
  1936. if Toggles.AntiLock and not Fling.isFlinging then
  1937. if Root then
  1938. local lastVelocity = Root.AssemblyLinearVelocity
  1939. Root.AssemblyLinearVelocity = Vector3.new(0, -200, 0)
  1940. RunService.RenderStepped:Wait()
  1941. Root.AssemblyLinearVelocity = lastVelocity
  1942. end
  1943. end
  1944.  
  1945. end
  1946. end)
  1947.  
  1948. task.spawn(function()
  1949. -- Anti Lag
  1950. local Folders = {
  1951. "PetContainer",
  1952. "Footsteps",
  1953. "GunDisplay"
  1954. }
  1955.  
  1956. for _, Folder in pairs(FindChildsInWorkspace() or {}) do
  1957. if Folders[Folder.Name] and Folder:IsA("Folder") then
  1958. if Folders.Name == "GunDisplay" then
  1959. Folder.DescendantAdded:Connect(function(Child)
  1960. if Child.Name == "Chroma" and Child:IsA("Decal") and Toggles.AntiLag then
  1961. task.wait()
  1962. Visual:HandleChroma(Child)
  1963. end
  1964. end)
  1965. else
  1966. Folder.ChildAdded:Connect(function(Child)
  1967. if Toggles.AntiLag then
  1968. task.wait()
  1969. Folder:ClearAllChildren()
  1970. end
  1971. end)
  1972. end
  1973. end
  1974. end
  1975.  
  1976. -- Game Logic
  1977. local RemotesName = {
  1978. "CoinsStarted",
  1979. "CoinCollected",
  1980. "LoadingMap"
  1981. }
  1982.  
  1983. local GamePlay = ReplicatedStorage:WaitForChild("Remotes") and ReplicatedStorage.Remotes:WaitForChild("Gameplay")
  1984. if GamePlay then
  1985. for _,Name in pairs(RemotesName) do
  1986. local Remote = GamePlay:WaitForChild(Name)
  1987. if Remote then
  1988. if Name == "CoinsStarted" then
  1989. Remote.OnClientEvent:Connect(function()
  1990. LocalPlayerData.CollectedCoins = {}
  1991. end)
  1992. elseif Name == "CoinCollected" then
  1993. Remote.OnClientEvent:Connect(function(...)
  1994. local Args = {...}
  1995. local CoinType = Args[1]
  1996. local CoinCollected = Args[2]
  1997. local CoinBagLimit = Args[3]
  1998. if CoinBagLimit <= CoinCollected then
  1999. print(CoinType, "Bag is Full! Limit :", CoinBagLimit)
  2000. LocalPlayerData.CollectedCoins[CoinType] = {IsFull = true, Limit = CoinBagLimit}
  2001. for _,CoinVisual in pairs(CollectionService:GetTagged("CoinVisual")) do
  2002. if CoinVisual:GetAttribute("CoinID") == CoinType and CoinVisual.Parent then
  2003. CoinVisual.Parent:Destroy()
  2004. end
  2005. end
  2006. end
  2007. end)
  2008. elseif Name == "LoadingMap" then
  2009. Remote.OnClientEvent:Connect(function(...)
  2010. local Args = {...}
  2011. local GameMode = Args[1]
  2012. Roles.CurrentGameMode = GameMode
  2013. print("Current Game Mode:",Roles.CurrentGameMode)
  2014. end)
  2015. end
  2016. end
  2017. end
  2018. end
  2019. end)
  2020.  
  2021. -- MORE COMING SOON!
  2022.  
  2023. Notify("Script Loaded.","Enjoy!",5,Icons.ThumbsUp)
  2024. warn("Loaded : 2 / 2 ✅")
  2025.  
  2026. OrionLib:Init()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement