Charliezkie

Phantom Forces OP Script

Dec 15th, 2019
480
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 30.27 KB | None | 0 0
  1. warn([[
  2. GameSense Free | December 8, 2018
  3.  
  4. Discord: Avexus#1866
  5. GameSense 2.0 has been released! Check it out on the V3rmillion exploiting section.
  6. ]])
  7.  
  8. -- If you have any intentions of reading this code, I advise you don't... If you do, bring eye bleach, because I assure you it's the worst programming you'll ever see. Even Ubisoft can optimize better than this. I have improved *immensely* since I made this.
  9.  
  10. local UIS = game:GetService('UserInputService')
  11. local RS = game:GetService('RunService')
  12. local Players = game:GetService('Players')
  13. local StarterGui = game:GetService('StarterGui')
  14. local Player = Players.LocalPlayer
  15. local Studio = RS:IsStudio()
  16. local PlayerGui = RS:IsStudio() and Player:WaitForChild('PlayerGui') or game.CoreGui
  17. local Mouse = Player:GetMouse()
  18. local old_icon = Mouse.Icon
  19. local Camera = workspace.CurrentCamera
  20. targetpart = 'Head' -- Don't change this.
  21. -- It can be changed with the targetpart_change hotkey ingame.
  22. local target
  23. local target_old
  24. local alert = false
  25. local lockedon = false
  26. local settingkey = false
  27. local upvals = nil
  28. local val = 1
  29. local windows = {}
  30. local function hb() RS.Heartbeat:wait() end
  31.  
  32. local version = 1.25
  33. local Spawn = nil or game.PlaceId == 292439477 and workspace:WaitForChild('Lobby',2):WaitForChild('Spawn1',2)
  34. local spawned = false
  35.  
  36. script.Name = 'GameSense!'
  37. Mouse.TargetFilter = Camera
  38.  
  39. -- hotkey
  40. toggle_aim = Enum.UserInputType.MouseButton2
  41. toggle_aimbot = Enum.KeyCode.LeftAlt
  42. toggle_trigger = Enum.KeyCode.RightAlt
  43. toggle_esp = Enum.KeyCode.End
  44. toggle_gui = Enum.KeyCode.F6
  45. toggle_bottompos = Enum.KeyCode.F7
  46. toggle_performance = Enum.KeyCode.F8
  47. toggle_bones = Enum.KeyCode.Delete
  48. toggle_chams = Enum.KeyCode.F3
  49. toggle_tracers = Enum.KeyCode.F2
  50. toggle_boxes = Enum.KeyCode.F4
  51. toggle_font = Enum.KeyCode.F1
  52. ffatoggle = Enum.KeyCode.Home
  53. targetpart_change = Enum.KeyCode.BackSlash
  54. priority_toggle = Enum.KeyCode.Insert
  55. sethotkey = Enum.KeyCode.RightControl
  56. -- aim fov
  57. fov_increase = Enum.KeyCode.KeypadPlus
  58. fov_decrease = Enum.KeyCode.KeypadMinus
  59. -- aim sens (how smooth your crosshair will move)
  60. sens_increase = Enum.KeyCode.RightBracket
  61. sens_decrease = Enum.KeyCode.LeftBracket
  62.  
  63. -- parts
  64. parts = {
  65.     'Head';
  66.     'Torso'
  67. }
  68.  
  69. fonts = {
  70.     Enum.Font.SourceSansBold,
  71.     Enum.Font.Cartoon,
  72.     Enum.Font.Arcade,
  73.     Enum.Font.SciFi,
  74.     Enum.Font.Fantasy,
  75.     Enum.Font.Code,
  76.     Enum.Font.Highway,
  77.     Enum.Font.Bodoni
  78. }
  79.  
  80. textSet = false
  81.  
  82. currentfont = 1
  83. ffa = false
  84. hidden = false
  85. performancemode = false
  86. -- aim
  87. fov = 5
  88. sens = .25
  89. drop = .45
  90. aim_toggled = false
  91. bottompos = true
  92. aim_priority = 2
  93. -- [2] FOV or [1] Distance
  94. aimingcolor = Color3.fromRGB(0,165,255)
  95. aimbot_toggled = true
  96. aim_line = true
  97. locksoundid = 538769304
  98. mouseiconid =  18671553
  99.  
  100. -- trigger
  101. trigger_toggled = false
  102. trigger_delay = 1/20
  103.  
  104. -- esp
  105. esp_toggled = true
  106. esp_bones = false
  107. esp_chams = true
  108. esp_tracers = true
  109. -- item_esp (coming soon)
  110. linesize = 1
  111. showdists = true
  112. textsize = 14
  113. textoffset = 20
  114. visiblecolor = Color3.fromRGB(38,255,99)
  115. hiddencolor = Color3.fromRGB(255,37,40)
  116. headboxsize = 4
  117. headboxaimsize = 6
  118. headboxshape = 'diamond'
  119. -- rectangle or diamond
  120.  
  121. -- box esp
  122. bounding_box = true
  123. -- box_pointsize = 0 [UNUSED]
  124. box_line_size = 1
  125. -- box_line_size_visible = 2 [UNUSED]
  126.  
  127. local GUI = Instance.new('ScreenGui',PlayerGui)
  128. GUI.Name = 'GameSense '..version
  129. GUI.ResetOnSpawn = false
  130.  
  131. ESP = Instance.new('Folder',GUI)
  132. ESP.Name = 'ESP'
  133. local Bottom = Instance.new('Frame',ESP)
  134. Bottom.Name = 'Bottom'
  135. Bottom.BackgroundTransparency = 1
  136. Bottom.Size = UDim2.new(0,1,0,1)
  137. Bottom.Position = UDim2.new(.5,0,1,1)
  138.  
  139. local Status = Instance.new('TextLabel',GUI)
  140. Status.Name = 'Status'
  141. Status.BackgroundTransparency = 1
  142. Status.Size = UDim2.new(0,500,0,50)
  143. Status.Position = UDim2.new(.5,-250,.85,0)
  144. Status.TextSize = 24
  145. Status.Font = Enum.Font.SourceSansBold
  146. Status.TextColor3 = Color3.new(1,1,1)
  147. Status.TextStrokeColor3 = Color3.new(0,0,0)
  148. Status.TextStrokeTransparency = .6
  149. Status.Text = 'On Standby'
  150. Status.ZIndex = 50
  151.  
  152. local Credits = Status:Clone()
  153. Credits.Name = 'Credits'
  154. Credits.Parent = GUI
  155. Credits.Position = UDim2.new(.5,-250,.85,-20)
  156. Credits.TextSize = 16
  157. Credits.Text = 'GameSense '..version..' by Avexus!'
  158.  
  159. local FovGui = Instance.new('ImageLabel',GUI)
  160. FovGui.Name = 'FovGui'
  161. FovGui.Image = 'rbxassetid://324848180'
  162. FovGui.Size = UDim2.new(0,(Camera.ViewportSize.X/(90/fov))*2,0,(Camera.ViewportSize.X/(90/fov))*2)
  163. FovGui.Position = UDim2.new(0.5,-FovGui.AbsoluteSize.X/2,0.5,-FovGui.AbsoluteSize.Y/2)
  164. FovGui.BackgroundTransparency = 1
  165. FovGui.ImageTransparency = .9
  166. FovGui.ImageColor3 = Color3.new(1,0,0)
  167.  
  168. local Indicator = Instance.new('TextLabel',GUI)
  169. Indicator.Name = 'Indicator'
  170. Indicator.Font = Enum.Font.SourceSans
  171. Indicator.TextSize = 14
  172. Indicator.TextXAlignment = Enum.TextXAlignment.Center
  173. Indicator.TextYAlignment = Enum.TextYAlignment.Center
  174. Indicator.TextStrokeTransparency = .75
  175. Indicator.Text = aim_priority>1 and 'FOV: '..fov or 'Distance'
  176.  
  177. local SensAdjust = Instance.new('TextBox',GUI)
  178. SensAdjust.Name = 'SensAdjust'
  179. SensAdjust.Font = Enum.Font.SourceSans
  180. SensAdjust.BackgroundTransparency = .75
  181. SensAdjust.BackgroundColor3 = Color3.new(0,0,0)
  182. SensAdjust.BorderColor3 = Color3.new(1,1,1)
  183. SensAdjust.Size = UDim2.new(0,50,0,20)
  184. SensAdjust.TextStrokeTransparency = .6
  185. SensAdjust.TextColor3 = Color3.new(1,1,1)
  186. SensAdjust.TextSize = 14
  187. SensAdjust.PlaceholderText = 'Sens'
  188. SensAdjust.Text = tonumber(sens)
  189. SensAdjust.Position = Credits.Position + UDim2.new(0,250,0,75)
  190.  
  191. local SensLabel = Instance.new('TextLabel',SensAdjust)
  192. SensLabel.Name = 'SensLabel'
  193. SensLabel.Font = Enum.Font.SourceSans
  194. SensLabel.Size = UDim2.new(1,0,1,0)
  195. SensLabel.BackgroundTransparency = 1
  196. SensLabel.TextSize = 14
  197. SensLabel.TextColor3 = Color3.new(1,1,1)
  198. SensLabel.TextStrokeColor3 = Color3.new(0,0,0)
  199. SensLabel.TextStrokeTransparency = .6
  200. SensLabel.Text = 'Sens:'
  201. SensLabel.Position = UDim2.new(-1,0,0,0)
  202. SensLabel.TextXAlignment = Enum.TextXAlignment.Left
  203.  
  204. local FovAdjust = SensAdjust:Clone()
  205. FovAdjust.Parent = GUI
  206. FovAdjust.PlaceholderText = 'FOV'
  207. FovAdjust.Name = 'FovAdjust'
  208. FovAdjust.Text = tonumber(fov)
  209. FovAdjust.Position = SensAdjust.Position + UDim2.new(0,0,0,20)
  210. FovAdjust.SensLabel.Name = 'FovLabel'
  211. FovAdjust.FovLabel.Text = 'Fov:'
  212.  
  213. local DropAdjust = SensAdjust:Clone()
  214. DropAdjust.Parent = GUI
  215. DropAdjust.PlaceholderText = 'Drop'
  216. DropAdjust.Name = 'DropAdjust'
  217. DropAdjust.Text = tonumber(drop)
  218. DropAdjust.Position = SensAdjust.Position + UDim2.new(0,0,0,40)
  219. DropAdjust.SensLabel.Name = 'DropLabel'
  220. DropAdjust.DropLabel.Text = 'Drop:'
  221.  
  222. local KeysList = Instance.new('TextLabel',GUI)
  223. KeysList.Name = 'KeysList'
  224. KeysList.Font = Enum.Font.SourceSans
  225. KeysList.TextStrokeTransparency = .6
  226. KeysList.TextSize = 14
  227. KeysList.TextColor3 = Color3.new(1,1,1)
  228. KeysList.Size = UDim2.new(0,0,1,0)
  229. KeysList.Position = UDim2.new(0,5,0,-280)
  230. KeysList.BackgroundTransparency = 1
  231. KeysList.Active = false
  232. KeysList.TextXAlignment = Enum.TextXAlignment.Left
  233. KeysList.TextYAlignment = Enum.TextYAlignment.Bottom
  234. KeysList.Text = 'AimBot Toggle: '..toggle_aimbot.Name..'\nAim Toggle: '..toggle_aim.Name..'\nAim Part Toggle: '..targetpart_change.Name..'\nPriority Toggle: '..priority_toggle.Name
  235. ..'\nESP Toggle: '..toggle_esp.Name..'\nBones Toggle: '..toggle_bones.Name..'\nChams Toggle: '..toggle_chams.Name..'\nBoxes Toggle: '..toggle_boxes.Name..'\nFOV Increase: '..fov_increase.Name..'\nFOV Decrease: '..fov_decrease.Name..'\nSens Increase: '
  236. ..sens_increase.Name..'\nSens Decrease: '..sens_decrease.Name..'\nTrigger Toggle: '..toggle_trigger.Name..'\nFFA Toggle: '..ffatoggle.Name..'\nHide Cheats: '..toggle_gui.Name
  237. ..'\nChange ESP Origin: '..toggle_bottompos.Name..'\nPerformance Mode: '..toggle_performance.Name..'\nChange Font: '..toggle_font.Name
  238.  
  239. local n = 0
  240.  
  241. spawn(function()
  242.     while Status do
  243.         Indicator.TextColor3 = Color3.fromHSV(n,.5,1)
  244.         FovGui.ImageColor3 = Indicator.TextColor3
  245.         if not textSet then
  246.         if aim_toggled and target then
  247.             Status.TextColor3 = aimingcolor
  248.             Status.Text = ('Aiming at '..target.Name)
  249.         else
  250.             Status.TextColor3 = Color3.fromHSV(n,.5,1)
  251.             Status.Text = 'On Standby'
  252.         end
  253.         end
  254.         n = (n+.005)%1
  255.         hb()
  256.     end
  257. end)
  258.  
  259. SensAdjust.InputEnded:Connect(function() if SensAdjust.Text~='' then sens = tonumber(SensAdjust.Text)>0 and tonumber(SensAdjust.Text) or sens end end)
  260. FovAdjust.InputEnded:Connect(function() if FovAdjust.Text~='' then fov = tonumber(FovAdjust.Text)>0 and tonumber(FovAdjust.Text) or fov
  261. FovGui:TweenSize(UDim2.new(0,(Camera.ViewportSize.X/(90/fov))*2,0,(Camera.ViewportSize.X/(90/fov))*2),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true) end end)
  262. DropAdjust.InputEnded:Connect(function() if DropAdjust.Text~='' then drop = tonumber(DropAdjust.Text)>=0 and tonumber(DropAdjust.Text) or drop end end)
  263.  
  264. local function distfromspawn(x)
  265.     if Spawn then
  266.         return x:DistanceFromCharacter(Spawn.Position)
  267.     else
  268.         return 201
  269.     end
  270. end
  271.  
  272. local function setText(text)
  273.     spawn(function()
  274.     textSet = true
  275.     Status.Text = text
  276.     Status.TextColor3 = Color3.new(1,1,1)
  277.     wait(#text/4)
  278.     textSet = false
  279.     end)
  280. end
  281.  
  282. local function playsound(id)
  283.     local sound = Instance.new('Sound',Camera)
  284.     sound.SoundId = 'rbxassetid://'..id
  285.     sound.Volume = 3
  286.     sound:Play()
  287.     game:GetService('Debris'):AddItem(sound,5)
  288. end
  289.  
  290. playsound(1168009121)
  291. Mouse.Icon = 'rbxassetid://'..mouseiconid
  292.  
  293. local function Notification(...)
  294.     playsound(140910211)
  295.     StarterGui:SetCore('SendNotification',...)
  296. end
  297.  
  298. local function DrawLine(Folder,P1,P2,Thickness,Color,LineTransparency,BorderThickness,BorderColor)
  299.     -- Declare variables
  300.     local Point1,Point2 = P1.Position,P2.Position
  301.     if Point1 and Point2 then
  302.     local X,Y = Camera.ViewportSize.X, Camera.ViewportSize.Y
  303.     local X1,X2 = (X * Point1.X.Scale + Point1.X.Offset + P1.Size.X.Offset/2), (X * Point2.X.Scale + Point2.X.Offset + P2.Size.X.Offset/2)
  304.     local Y1,Y2 = (Y * Point1.Y.Scale + Point1.Y.Offset + P1.Size.Y.Offset/2), (Y * Point2.Y.Scale + Point2.Y.Offset + P2.Size.Y.Offset/2)
  305.     local MidX,MidY = (X1+X2)/2, (Y1+Y2)/2
  306.     -- Set defaults to prevent errors
  307.     Thickness = Thickness or 1
  308.     Color = Color or Color3.new(1,1,1)
  309.     LineTransparency =  LineTransparency or 0
  310.     BorderThickness = BorderThickness or 0
  311.     BorderColor = BorderColor or Color3.new(0,0,0)
  312.     -- Draw the line
  313.     local Line = Folder:FindFirstChild(P1.Name..'-'..P2.Name) or Instance.new('Frame',Folder)
  314.     Line.Visible = false
  315.     Line.BackgroundTransparency = LineTransparency
  316.     Line.BorderSizePixel = BorderThickness
  317.     Line.BorderColor3 = BorderColor
  318.     Line.Size = UDim2.new(0,(Vector2.new(X1,Y1) - Vector2.new(X2,Y2)).magnitude-1,0,Thickness)
  319.     Line.Position = UDim2.new(0,MidX-Line.AbsoluteSize.X/2,0,MidY-Line.AbsoluteSize.Y)
  320.     Line.BackgroundColor3 = Color
  321.     Line.Rotation = math.deg(math.atan2((Y2-Y1),(X2-X1)))
  322.     Line.Name = P1.Name..'-'..P2.Name
  323.     Line.Visible = true
  324.     return Line
  325.     else
  326.         return nil
  327.     end
  328. end
  329.  
  330. local function GetNearest(Mode)
  331.     local lowest,nearest,gui = math.huge,nil,nil
  332.     if Mode==1 then
  333.     for _,plr in next,Players:GetPlayers() do
  334.         if plr.Name~=Player.Name and plr.Character~=nil and plr.Character:FindFirstChild(targetpart) then
  335.             local dist = Player:DistanceFromCharacter(plr.Character[targetpart].Position)
  336.             local ray = Ray.new(Player.Character.Head.Position,(plr.Character[targetpart].Position-Player.Character.Head.Position).unit*5000)
  337.             local part,point = workspace:FindPartOnRayWithIgnoreList(ray,{Camera,Player.Character,unpack(windows)})
  338.             local Z = Camera:WorldToScreenPoint(plr.Character[targetpart].Position).Z
  339.             if part and part:IsDescendantOf(plr.Character) and Z>0 and dist < lowest and (ffa or plr.TeamColor~=Player.TeamColor) then lowest = dist nearest = plr.Character end
  340.         end
  341.     end
  342.     elseif Mode==2 then
  343.         for _,plr in next,Players:GetPlayers() do
  344.             if plr.Name~=Player.Name and plr.Character~=nil and plr.Character:FindFirstChild(targetpart) then
  345.                 local pos = Camera:WorldToScreenPoint(plr.Character[targetpart].Position)
  346.                 local ray = Ray.new(Player.Character[targetpart].Position,(plr.Character[targetpart].Position-Player.Character[targetpart].Position).unit*2048)
  347.                 local part,point = workspace:FindPartOnRayWithIgnoreList(ray,{Camera,Player.Character,unpack(windows)})
  348.                 local dist = (Vector2.new(Mouse.X,Mouse.Y)-Vector2.new(pos.X,pos.Y)).magnitude
  349.                 if part and part:IsDescendantOf(plr.Character) and pos.Z>0 and dist <= Camera.ViewportSize.X/(90/fov) and dist < lowest and (ffa or plr.TeamColor~=Player.TeamColor) then lowest = dist nearest = plr.Character end
  350.             end
  351.         end
  352.     end
  353.     return nearest
  354. end
  355.    
  356. Mouse.Move:Connect(function()
  357.     cursor = ESP:FindFirstChild('Cursor') or Instance.new('Frame',ESP)
  358.     cursor.Name = 'Cursor'
  359.     cursor.BackgroundTransparency = 1
  360.     cursor.Size = UDim2.new(0,1,0,1)
  361.     cursor.Position = UDim2.new(0,Mouse.X,0,Mouse.Y)
  362. end)
  363.  
  364. UIS.InputBegan:Connect(function(Input)
  365.     if Input.KeyCode == toggle_aim or Input.UserInputType == toggle_aim then
  366.         aim_toggled = true
  367.         warn('GS: aim toggled',aim_toggled and 'on' or 'off')
  368.         alert = true
  369.         while aim_toggled and aimbot_toggled do
  370.             target = GetNearest(aim_priority)
  371.             if target then
  372.                 local dist = Player:DistanceFromCharacter(target[targetpart].Position)
  373.                 local headpos = Camera:WorldToScreenPoint(target[targetpart].Position+Vector3.new(0,dist/(100/drop),0))
  374.                 local moveto = Vector2.new((headpos.X-Mouse.X)*sens,(headpos.Y-Mouse.Y)*sens)
  375.                 aimpos = GUI:FindFirstChild('AimPos') or Instance.new('Frame',GUI)
  376.                 if not GUI:FindFirstChild('AimPos') then
  377.                 aimpos.Name = 'AimPos'
  378.                 aimpos.BorderSizePixel = 1
  379.                 aimpos.BorderColor3 = Color3.new(0,0,0)
  380.                 aimpos.BackgroundTransparency = 0
  381.                 aimpos.BackgroundColor3 = Color3.new(1,1,1)
  382.                 aimpos.Rotation = 45
  383.                 aimpos.ZIndex = 4
  384.                 aimpos.Size = UDim2.new(0,3,0,3)
  385.                 end
  386.                 aimpos.Position = UDim2.new(0,headpos.X-aimpos.AbsoluteSize.X/2,0,headpos.Y-aimpos.AbsoluteSize.Y/2)
  387.                 aimpos.Visible = true
  388.                 mousemoverel(moveto.X,moveto.Y)
  389.                 if alert or target~=target_old then
  390.                     playsound(locksoundid)
  391.                     print('GS: locked onto',target.Name)
  392.                     lockedon = true
  393.                     alert = false
  394.                 end
  395.             end
  396.             RS.Heartbeat:wait()
  397.             target_old = target
  398.             if aimpos then
  399.                 aimpos.Visible = false
  400.             end
  401.         end
  402.         lockedon = false
  403.     elseif Input.KeyCode == toggle_trigger then
  404.         trigger_toggled = not trigger_toggled
  405.         setText('Toggled TriggerBot '..(trigger_toggled and 'On' or 'Off'))
  406.         Notification({Title='TriggerBot';Text='TriggerBot was toggled '..(trigger_toggled and 'On' or 'Off');Duration=2;})
  407.         warn('trigger toggled',trigger_toggled and 'on' or 'off')
  408.         local Box = Instance.new('SelectionBox',PlayerGui)
  409.         Box.Color3 = Color3.new(1,0,0)
  410.         Box.LineThickness = .05
  411.         Box.Adornee = nil
  412.         if trigger_delay>0 then wait(trigger_delay) end
  413.         while trigger_toggled do
  414.         local Target = Mouse.Target
  415.         local plr = Players:FindFirstChild(Target.Parent.Name)
  416.         if Target and Target.Parent and plr~=nil and plr~=Player and ffa or plr~=nil and plr.TeamColor~=Player.TeamColor then
  417.             Box.Adornee = Mouse.Target
  418.             mouse1press()
  419.             wait()
  420.             mouse1release()
  421.         end
  422.         RS.Heartbeat:wait()
  423.         end
  424.         Box:Destroy()
  425.     elseif Input.KeyCode == toggle_esp then
  426.         esp_toggled = not esp_toggled
  427.         Notification({Title='ESP';Text='ESP was toggled '..(esp_toggled and 'On' or 'Off');Duration=2;})
  428.         setText('Toggled ESP '..(esp_toggled and 'On' or 'Off'))
  429.     elseif Input.KeyCode == toggle_aimbot then
  430.         aimbot_toggled = not aimbot_toggled
  431.         Notification({Title='AimBot';Text='AimBot was toggled '..(aimbot_toggled and 'On' or 'Off');Duration=2;})
  432.         setText('Toggled AimBot '..(aimbot_toggled and 'On' or 'Off'))
  433.     elseif Input.KeyCode == fov_increase then
  434.         fov = fov + .5
  435.         FovAdjust.Text = tonumber(fov)
  436.         if FovGui.Visible then
  437.             FovGui:TweenSize(UDim2.new(0,(Camera.ViewportSize.X/(90/fov))*2,0,(Camera.ViewportSize.X/(90/fov))*2),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true)
  438.         end
  439.         setText('Aim FOV: '..fov)
  440.     elseif Input.KeyCode == fov_decrease and fov>0 then
  441.         fov = fov - .5
  442.         FovAdjust.Text = tonumber(fov)
  443.         if FovGui.Visible then
  444.             FovGui:TweenSize(UDim2.new(0,(Camera.ViewportSize.X/(90/fov))*2,0,(Camera.ViewportSize.X/(90/fov))*2),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true)
  445.         end
  446.         setText('Aim FOV: '..fov)
  447.     elseif Input.KeyCode == sens_increase then
  448.         sens = sens + .05
  449.         SensAdjust.Text = tonumber(sens)
  450.         setText('Sens: '..sens)
  451.     elseif Input.KeyCode == sens_decrease then
  452.         sens = sens - .05
  453.         SensAdjust.Text = tonumber(sens)
  454.         setText('Sens: '..sens)
  455.     elseif Input.KeyCode == targetpart_change then
  456.         val = val+1
  457.         targetpart = val<=#parts and parts[val] or parts[1]
  458.         if parts[1]==targetpart then val = 1 end
  459.         Notification({Title='Target Part';Text='Target part set to '..targetpart;Duration=2;})
  460.         setText('Target Part: '..targetpart)
  461.     elseif Input.KeyCode == ffatoggle then
  462.         ffa = not ffa
  463.         Notification({Title='FFA Mode';Text='FFA Mode is '..(ffa and 'Enabled' or 'Disabled');Duration=2;})
  464.         setText('FFA Mode: '..(ffa and 'Enabled' or 'Disabled'))
  465.     elseif Input.KeyCode == priority_toggle then
  466.         aim_priority = aim_priority+1>2 and 0 or 1
  467.         aim_priority = aim_priority+1
  468.         FovGui.Visible = aim_priority>1
  469.         Notification({Title='Aim Priority';Text='Aim Priority: '..(aim_priority==1 and 'Distance' or 'FOV');Duration=2;})
  470.         setText('Aim Priority: '..(aim_priority==1 and 'Distance' or 'FOV'))
  471.     elseif Input.KeyCode == toggle_bones then
  472.         esp_bones = not esp_bones
  473.         if not esp_bones then
  474.         for _,v in next,ESP:GetDescendants() do
  475.             if v:IsA('Frame') and v.Name:match('-') then
  476.                 v:Destroy()
  477.             end
  478.         end
  479.         end
  480.         Notification({Title='ESP';Text='ESP Bones: '..(esp_bones and 'Enabled' or 'Disabled');Duration=2;})
  481.         setText('Toggled ESP Bones '..(esp_bones and 'Enabled' or 'Disabled'))
  482.     elseif Input.KeyCode == toggle_gui then
  483.         hidden = not hidden
  484.         for _,gui in next,GUI:GetDescendants() do
  485.             if gui:IsA('GuiObject') and not hidden and not gui.Visible then
  486.                 gui.Visible = true
  487.                 Mouse.Icon = 'rbxassetid://'..mouseiconid
  488.             elseif gui:IsA('GuiObject') and gui.Visible then
  489.                 gui.Visible = false
  490.                 esp_toggled = false
  491.                 Mouse.Icon = old_icon
  492.             end
  493.             end
  494.         elseif Input.KeyCode == toggle_bottompos then
  495.             bottompos = not bottompos
  496.             if bottompos then
  497.                 Bottom.Position = UDim2.new(.5,0,1,1)
  498.             end
  499.         elseif Input.KeyCode == toggle_performance then
  500.             performancemode = not performancemode
  501.             setText('Performance Mode '..(performancemode and 'Enabled' or 'Disabled'))
  502.         elseif Input.KeyCode == toggle_chams then
  503.             esp_chams = not esp_chams
  504.             setText('Chams '..(esp_chams and 'Enabled' or 'Disabled'))
  505.             Notification({Title='ESP';Text='Chams: '..(esp_chams and 'Enabled' or 'Disabled');Duration=2;})
  506.         elseif Input.KeyCode == toggle_tracers then
  507.             esp_tracers = not esp_tracers
  508.             setText('Tracers '..(esp_chams and 'Enabled' or 'Disabled'))
  509.             Notification({Title='ESP';Text='Tracers: '..(esp_tracers and 'Enabled' or 'Disabled');Duration=2;})
  510.         elseif Input.KeyCode == toggle_boxes then
  511.             bounding_box = not bounding_box
  512.             setText('Bounding Boxes '..(bounding_box and 'Enabled' or 'Disabled'))
  513.             Notification({Title='ESP';Text='Bounding Boxes: '..(bounding_box and 'Enabled' or 'Disabled');Duration=2;})
  514.         elseif Input.KeyCode == toggle_font then
  515.                 currentfont = (currentfont+1)>#fonts and 1 or currentfont+1
  516.                 for _,v in next,GUI:GetDescendants() do
  517.                     if v.Name~='KeysList' then
  518.                     if v:IsA('TextLabel') or v:IsA('TextButton') then
  519.                         v.Font = fonts[currentfont]
  520.                     end
  521.                     end
  522.                 end
  523.         end
  524. end)
  525.  
  526. UIS.InputEnded:Connect(function(Input)
  527.     if Input.KeyCode == toggle_aim or Input.UserInputType == toggle_aim then
  528.         aim_toggled = false
  529.     end
  530. end)
  531.  
  532. local function checkifspawned(x)
  533.     spawned = false
  534.     while not spawned and game.PlaceId==292439477 do
  535.         spawned = distfromspawn(x)>200 and true or false
  536.         wait(1/5)
  537.     end
  538.     spawned = true
  539. end
  540.  
  541. checkifspawned(Player)
  542. Player.CharacterAdded:Connect(function(c)
  543.     checkifspawned(Player)
  544.    
  545.     for _,v in next,ESP:GetDescendants() do
  546.         if v:IsA('Frame') and v.Name:match('-') then
  547.             v:Destroy()
  548.         end
  549.     end
  550. end)
  551.  
  552. Notification({Title='GameSense '..version;Text='Cheat loaded successfully.';Icon='rbxassetid://2572157833';Duration=10;})
  553. wait(.5)
  554. Notification({Title='GameSense '..version;Text='GameSense 2.0 has been released!.';Icon='rbxassetid://2572157833';Duration=10;})
  555. wait(.5)
  556. Notification({Title='Main Coder';Text='AvexusDev';Duration=4;Icon='https://www.roblox.com/Thumbs/Avatar.ashx?x=100&y=100&username=AvexusDev'})
  557. wait(.5)
  558. Notification({Title='Thank you!';Text='If you like this script, please leave a vouch on my thread!';Duration=4;})
  559.  
  560. RS.RenderStepped:Connect(function()
  561.     if cursor then
  562.         FovGui.Position = cursor.Position-UDim2.new(0,FovGui.AbsoluteSize.X/2,0,FovGui.AbsoluteSize.Y/2)
  563.         Indicator.Position = cursor.Position+UDim2.new(0,0,0,40)
  564.     end
  565. end)
  566.  
  567. Mouse.Button1Down:Connect(function()
  568.     spawn(function()
  569.         if FovGui.Visible then
  570.             FovGui:TweenSize(UDim2.new(0,Camera.ViewportSize.X/(90/fov)*2.35,0,Camera.ViewportSize.X/(90/fov)*2.35),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true)
  571.             wait(.1)
  572.             FovGui:TweenSize(UDim2.new(0,Camera.ViewportSize.X/(90/fov)*2,0,Camera.ViewportSize.X/(90/fov)*2),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true)
  573.         end
  574.     end)
  575. end)
  576.  
  577. while true do
  578.     Indicator.Text = (aim_priority>1 and 'FOV: '..fov or 'Distance') ..'\nSens: '..sens..(aim_toggled and '\nAiming' or '')
  579.     if not bottompos then Bottom.Position = cursor.Position end
  580.     if esp_toggled then
  581.     for _,v in next,ESP:children() do
  582.         if v~=Bottom and not Players:FindFirstChild(v.Name) then
  583.             v:Destroy()
  584.         end
  585.     end
  586.     for _,v in next,Players:GetPlayers() do
  587.         local Char = v.Character
  588.         if Char and spawned and v~=Player and Char:FindFirstChild(targetpart) and distfromspawn(v)>100 then
  589.             if ffa or v.TeamColor~=Player.TeamColor then
  590.             local X = Camera:GetPartsObscuringTarget({Camera.CFrame.p,Char[targetpart].CFrame.p},{v.Character,Char,Camera,unpack(windows)})
  591.             local Dist = Player:DistanceFromCharacter(Char:FindFirstChild(targetpart).Position)
  592.             local Color = hiddencolor
  593.             local Folder = ESP:FindFirstChild(v.Name) or Instance.new('Folder',ESP)
  594.             Folder.Name = v.Name
  595.             -- ESP
  596.             local Head = Folder:FindFirstChild('Head') or Instance.new('Frame',Folder)
  597.             if not Folder:FindFirstChild('Head') then
  598.             Head.Name = 'Head'
  599.             Head.BorderSizePixel = 1
  600.             Head.BorderColor3 = Color3.new(0,0,0)
  601.             Head.BackgroundTransparency = 0
  602.             end
  603.             Head.BackgroundColor3 = #X>0 and hiddencolor or #X==0 and visiblecolor
  604.             Head.Rotation = headboxshape=='diamond' and 45 or 0
  605.             Head.ZIndex = 3
  606.             local HP = Folder:FindFirstChild('HP') or Instance.new('TextLabel',Folder)
  607.             if not Folder:FindFirstChild('HP') then
  608.             HP.Name = 'HP'
  609.             HP.TextTransparency = Head.BackgroundTransparency-.4
  610.             HP.Font = fonts[currentfont]
  611.             HP.TextStrokeTransparency = .6
  612.             HP.BackgroundTransparency = 1
  613.             HP.TextSize = 14
  614.             end
  615.             HP.Text = showdists and Char.Name..'\n'..math.floor(Dist+.5) or Char.Name
  616.             if aim_toggled and target==Char then
  617.                 Head.Size = UDim2.new(0,headboxaimsize,0,headboxaimsize)
  618.                 Head.BackgroundColor3 = aimingcolor
  619.                 HP.Text = showdists and '['..Char.Name..']'..'\n'..math.floor(Dist+.5) or '['..Char.Name..']'
  620.                 HP.TextSize = 16
  621.             else
  622.                 Head.Size = UDim2.new(0,headboxsize,0,headboxsize)
  623.             end
  624.             HP.TextColor3 = Head.BackgroundColor3
  625.             local toScreen = Camera:WorldToScreenPoint(Char[targetpart].CFrame.p)
  626.             if #X==0 then Color = visiblecolor end
  627.             Head.Position = UDim2.new(0,toScreen.X-Head.Size.X.Offset/2,0,toScreen.Y-Head.Size.Y.Offset/2)
  628.             HP.Position = Head.Position-UDim2.new(0,0,0,textoffset)
  629.             if esp_tracers then
  630.             local Line = DrawLine(Folder,ESP.Bottom,Head,linesize,Head.BackgroundColor3,.75,1,Color3.new(0,0,0))
  631.                 Line.Visible = Head.Visible
  632.             else
  633.                 local imtired = Folder:FindFirstChild(ESP.Bottom.Name..'-'..Head.Name)
  634.                 if imtired then
  635.                     imtired:Destroy()
  636.                 end
  637.             end
  638.             if toScreen.Z<=0 then Head.Visible = false else Head.Visible = true end
  639.             HP.Visible = Head.Visible
  640.             if Char:FindFirstChild('Humanoid') and Char.Humanoid.RigType==Enum.HumanoidRigType.R6 then
  641.             local Neck = Folder:FindFirstChild('Neck') or Instance.new('Frame',Folder)
  642.             Neck.Name = 'Neck'
  643.             Neck.ZIndex = 2
  644.             if Char['Torso']~=nil then
  645.             local Pos = (Char.Torso.CFrame*CFrame.new(0,.8,0)).p
  646.             local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
  647.             Neck.Position = UDim2.new(0,X,0,Y)
  648.             Neck.BorderSizePixel = 0
  649.             if Z<=0 then Neck.Visible = false else Neck.Visible = true end
  650.             else
  651.                 Neck.Visible = false
  652.             end
  653.             --
  654.             local Pelvis = Folder:FindFirstChild('Pelvis') or Instance.new('Frame',Folder)
  655.             Pelvis.Name = 'Pelvis'
  656.             Pelvis.ZIndex = 2
  657.             Pelvis.BorderSizePixel = 0
  658.             if Char['Torso']~=nil then
  659.             local Pos = (Char.Torso.CFrame*CFrame.new(0,-1,0)).p
  660.             local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
  661.             Pelvis.Position = UDim2.new(0,X,0,Y)
  662.             if Z<=0 then Pelvis.Visible = false else Pelvis.Visible = true end
  663.             else
  664.                 Pelvis.Visible = false
  665.             end
  666.             --
  667.             local RightFoot = Folder:FindFirstChild('Right Foot') or Instance.new('Frame',Folder)
  668.             RightFoot.Name = 'Right Foot'
  669.             RightFoot.ZIndex = 2
  670.             RightFoot.BorderSizePixel = 0
  671.             if Char['Right Leg']~=nil then
  672.             local Pos = (Char['Right Leg'].CFrame*CFrame.new(0,-1,0)).p
  673.             local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
  674.             RightFoot.Position = UDim2.new(0,X,0,Y)
  675.             if Z<=0 then RightFoot.Visible = false else RightFoot.Visible = true end
  676.             else
  677.                 RightFoot.Visible = false
  678.             end
  679.             --
  680.             local LeftFoot = Folder:FindFirstChild('Left Foot') or Instance.new('Frame',Folder)
  681.             LeftFoot.Name = 'Left Foot'
  682.             if Char['Left Leg']~=nil then
  683.             local Pos = (Char['Left Leg'].CFrame*CFrame.new(0,-1,0)).p
  684.             local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
  685.             LeftFoot.Position = UDim2.new(0,X,0,Y)
  686.             LeftFoot.BorderSizePixel = 0
  687.             if Z<=0 then LeftFoot.Visible = false else LeftFoot.Visible = true end
  688.             else
  689.                 LeftFoot.Visible = false
  690.             end
  691.             --
  692.             local RightHand = Folder:FindFirstChild('Right Hand') or Instance.new('Frame',Folder)
  693.             RightHand.Name = 'Right Hand'
  694.             RightHand.ZIndex = 2
  695.             RightHand.BorderSizePixel = 0
  696.             if Char['Right Arm']~=nil then
  697.             local Pos = (Char['Right Arm'].CFrame*CFrame.new(0,-1,0)).p
  698.             local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
  699.             RightHand.Position = UDim2.new(0,X,0,Y)
  700.             if Z<=0 then RightHand.Visible = false else RightHand.Visible = true end
  701.             else
  702.                 RightHand.Visible = false
  703.             end
  704.             --
  705.             local LeftHand = Folder:FindFirstChild('Left Hand') or Instance.new('Frame',Folder)
  706.             LeftHand.Name = 'Left Hand'
  707.             LeftHand.ZIndex = 2
  708.             LeftHand.BorderSizePixel = 0
  709.             if Char['Left Arm']~=nil then
  710.             local Pos = (Char['Left Arm'].CFrame*CFrame.new(0,-1,0)).p
  711.             local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
  712.             LeftHand.Position = UDim2.new(0,X,0,Y)
  713.             if Z<=0 then LeftHand.Visible = false else LeftHand.Visible = true end
  714.             else
  715.                 LeftHand.Visible = false
  716.             end
  717.             -- draw joints
  718.             if esp_bones then
  719.             if Head.Visible then DrawLine(Folder,Head,Neck,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
  720.             if Neck.Visible then DrawLine(Folder,Neck,Pelvis,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
  721.             if Neck.Visible then DrawLine(Folder,Neck,RightHand,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
  722.             if Neck.Visible then DrawLine(Folder,Neck,LeftHand,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
  723.             if Pelvis.Visible then DrawLine(Folder,Pelvis,RightFoot,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
  724.             if Pelvis.Visible then DrawLine(Folder,Pelvis,LeftFoot,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
  725.             end
  726.             end
  727.            
  728.             if esp_chams then
  729.                 for _,Part in next,Char:children() do
  730.                     if Part:IsA('BasePart') and Part.Name~='HumanoidRootPart' then
  731.                         local Adornment = Folder:FindFirstChild(Part.Name..'_Cham') or Instance.new('BoxHandleAdornment',Folder)
  732.                         if not Folder:FindFirstChild(Part.Name..'_Cham') then
  733.                         Adornment.Name = Part.Name..'_Cham'
  734.                         Adornment.Adornee = Part
  735.                         Adornment.AlwaysOnTop = true
  736.                         Adornment.Size = Part.Name=='Head' and Vector3.new(1,1,1) or Part.Size
  737.                         Adornment.ZIndex = 1
  738.                         end
  739.                         Adornment.Color3 = Head.BackgroundColor3
  740.                     end
  741.                 end
  742.             else
  743.                 for _,v in next,Folder:GetDescendants() do
  744.                     if v.Name:match('Cham') then
  745.                         v:Destroy()
  746.                     end
  747.                 end
  748.             end
  749.            
  750.             if bounding_box and Char:FindFirstChild('HumanoidRootPart') then
  751.                 local Box = Char:FindFirstChild('Box') or Instance.new('BillboardGui',Char)
  752.                 if not Char:FindFirstChild('Box') then
  753.                 Box.Name = 'Box'
  754.                 Box.Adornee = Char:FindFirstChild('HumanoidRootPart')
  755.                 Box.AlwaysOnTop = true
  756.                 Box.LightInfluence = 0
  757.                 Box.StudsOffset = Vector3.new(0,-Box.Adornee.Size.Y/4,0)
  758.                 Box.Size = UDim2.new(4,1,5,1)
  759.                 local Top = Instance.new('Frame',Box)
  760.                 Top.Size = UDim2.new(1,0,0,box_line_size)
  761.                 Top.BorderSizePixel = 0
  762.                 local Bot = Top:Clone()
  763.                 Bot.Position = UDim2.new(0,0,1,-box_line_size)
  764.                 Bot.Parent = Box
  765.                 local Left = Top:Clone()
  766.                 Left.Size = UDim2.new(0,1,1,0)
  767.                 Left.Parent = Box
  768.                 local Right = Left:Clone()
  769.                 Right.Position = UDim2.new(1,-box_line_size,0,0)
  770.                 Right.Parent = Box
  771.                 end
  772.                 for _,v in next,Box:children() do
  773.                     if v:IsA('Frame') then
  774.                         v.BackgroundColor3 = Head.BackgroundColor3
  775.                     end
  776.                 end
  777.             else
  778.                 local Box = Char:FindFirstChild('Box')
  779.                 if Box then
  780.                     Box:Destroy()
  781.                 end
  782.             end
  783.            
  784.             if lockedon and target and aim_line and ESP:FindFirstChild(target.Name) then
  785.                 DrawLine(ESP,cursor,ESP:FindFirstChild(target.Name).Head,1,Head.BackgroundColor3,.5)
  786.             end
  787.            
  788.         else
  789.             if ESP:FindFirstChild(v.Name) then
  790.                 ESP:FindFirstChild(v.Name):Destroy()
  791.             end
  792.             end
  793.         else
  794.             if ESP:FindFirstChild(v.Name) then
  795.                 ESP:FindFirstChild(v.Name):Destroy()
  796.             end
  797.         end
  798.         end
  799.     else
  800.         for _,v in next,ESP:children() do
  801.             if v:IsA('Folder') then
  802.                 v:Destroy()
  803.             end
  804.         end
  805.     end
  806.     if performancemode then
  807.         wait(1/(workspace:GetRealPhysicsFPS()*.75))
  808.     else
  809.         RS.Stepped:wait()
  810.     end
  811. end
Add Comment
Please, Sign In to add comment