Advertisement
Guest User

Untitled

a guest
Mar 30th, 2020
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.97 KB | None | 0 0
  1. -- Keybinds
  2. local keybind_ToggleGui = Enum.KeyCode.F4
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11. -- Other Variables
  12. local localPlayer = game.Players.LocalPlayer
  13.  
  14. -- Stats
  15. local esp_Line_Transparency = 0
  16. local esp_Line_Thickness = 2
  17. local esp_Line_Color = Color3.new(1, 1, 1)
  18. local esp_RefreshRate = 0.025
  19.  
  20. local esp_BoxMode = false
  21.  
  22.  
  23. local esp_Tracers_Transparency = 0.4
  24. local esp_Tracers_Thickness = 2
  25. local esp_Tracers_Color = Color3.new(1, 1, 1)
  26.  
  27. -- Lock
  28. _G.Lock_Ambient = false
  29. _G.Lock_OutdoorAmbient = false
  30.  
  31. _G.Lock_Brightness = false
  32. _G.Lock_ClockTime = false
  33.  
  34. _G.Lock_FogStart = false
  35. _G.Lock_FogEnd = false
  36. _G.Lock_FogColor = false
  37.  
  38. _G.Lock_Exposure = false
  39.  
  40. -- Functions
  41. local function SendNotification(title, text)
  42. game.StarterGui:SetCore("SendNotification", {Title = title, Text = text})
  43. end
  44.  
  45. local function DrawLine(ip1, ip2, thickness, transparency, color, parent)
  46. local xSize = workspace.CurrentCamera.ViewportSize.X
  47. local ySize = workspace.CurrentCamera.ViewportSize.Y - 36
  48.  
  49. local p1, onScreen1 = workspace.CurrentCamera:WorldToScreenPoint(ip1)
  50. local p2, onScreen2 = workspace.CurrentCamera:WorldToScreenPoint(ip2)
  51.  
  52. p1 = Vector2.new(p1.X, p1.Y)
  53. p2 = Vector2.new(p2.X, p2.Y)
  54.  
  55. if onScreen1 and onScreen2 then
  56. local v = p2 - p1
  57.  
  58. local line = Instance.new("Frame", parent)
  59. line.Name = "Line"
  60. line.BackgroundColor3 = color
  61. line.BackgroundTransparency = transparency
  62. line.BorderSizePixel = 0
  63. line.Size = UDim2.new(0, v.Magnitude + 1, 0, thickness)
  64. line.Position = UDim2.new(((p1.X + (v.X / 2)) - (line.AbsoluteSize.X / 2)) / xSize, 0,
  65. ((p1.Y + (v.Y / 2)) - (line.AbsoluteSize.Y / 2)) / ySize, 0)
  66. line.Rotation = math.deg(math.atan2(v.Y, v.X))
  67.  
  68. return line
  69. end
  70. end
  71.  
  72. -- Create Gui
  73. local gui = Instance.new("ScreenGui", localPlayer.PlayerGui)
  74. gui.Name = "HenHoi-Hub"
  75. gui.ResetOnSpawn = false
  76.  
  77. local espGui = Instance.new("ScreenGui", localPlayer.PlayerGui)
  78. espGui.Name = "HenHoi-Hub-ESP"
  79. espGui.ResetOnSpawn = false
  80.  
  81. local espStorage = Instance.new("Folder", espGui)
  82. espStorage.Name = "ESP_Storage"
  83.  
  84. local mouseIcon = Instance.new("Frame", gui)
  85. mouseIcon.Name = "MouseIcon"
  86. mouseIcon.AnchorPoint = Vector2.new(0.5, 0.5)
  87. mouseIcon.Size = UDim2.new(0, 3, 0, 3)
  88. mouseIcon.BorderSizePixel = 0
  89. mouseIcon.BackgroundColor3 = Color3.new(1, 1, 1)
  90. mouseIcon.Rotation = 45
  91. mouseIcon.ZIndex = 2
  92. mouseIcon.Visible = false
  93.  
  94. local espHitboxImage_Template = Instance.new("ImageLabel")
  95. espHitboxImage_Template.Name = "ESP_HitboxImage"
  96. espHitboxImage_Template.Image = "rbxassetid://4835217542"
  97. espHitboxImage_Template.ScaleType = Enum.ScaleType.Slice
  98. espHitboxImage_Template.SliceCenter = Rect.new(4, 4, 508, 508)
  99. espHitboxImage_Template.SliceScale = 0.5
  100. espHitboxImage_Template.BackgroundTransparency = 1
  101. espHitboxImage_Template.BorderSizePixel = 0
  102. espHitboxImage_Template.AnchorPoint = Vector2.new(0.5, 0.5)
  103.  
  104.  
  105.  
  106. local frame = Instance.new("ImageLabel", gui)
  107. frame.Name = "Background"
  108. frame.Image = "rbxassetid://3570695787"
  109. frame.ImageColor3 = Color3.fromRGB(60, 60, 60)
  110. frame.ScaleType = Enum.ScaleType.Slice
  111. frame.SliceCenter = Rect.new(Vector2.new(100, 100), Vector2.new(100, 100))
  112. frame.SliceScale = 0.04
  113. frame.Size = UDim2.new(0, 350, 0, 224)
  114. frame.BackgroundTransparency = 1
  115. frame.BorderSizePixel = 0
  116. frame.Active = true
  117.  
  118. local dragHandle = Instance.new("TextButton", frame)
  119. dragHandle.Name = "DragHandle"
  120. dragHandle.BackgroundTransparency = 1
  121. dragHandle.Size = UDim2.new(1, 0, 0, 18)
  122. dragHandle.Position = UDim2.new(0, 0, 0, 1)
  123. dragHandle.Text = ""
  124.  
  125. local title = Instance.new("TextLabel", frame)
  126. title.Name = "Title"
  127. title.BackgroundTransparency = 1
  128. title.Size = UDim2.new(1, 0, 0, 16)
  129. title.Font = Enum.Font.GothamSemibold
  130. title.TextColor3 = Color3.new(1, 1, 1)
  131. title.TextXAlignment = Enum.TextXAlignment.Left
  132. title.TextSize = 16
  133. title.Position = UDim2.new(0, 8, 0, 1)
  134. title.Text = "HenHoi-Hub"
  135.  
  136. local titleToggleKey = Instance.new("TextLabel", frame)
  137. titleToggleKey.Name = "TitleToggleKeyNotice"
  138. titleToggleKey.BackgroundTransparency = 1
  139. titleToggleKey.Size = UDim2.new(1, 0, 0, 16)
  140. titleToggleKey.Font = Enum.Font.GothamSemibold
  141. titleToggleKey.TextColor3 = Color3.new(1, 1, 1)
  142. titleToggleKey.TextXAlignment = Enum.TextXAlignment.Left
  143. titleToggleKey.TextSize = 12
  144. titleToggleKey.Position = UDim2.new(0, 233, 0, 1)
  145. titleToggleKey.Text = "F4 To Toggle Menu"
  146.  
  147. local titleBorder = Instance.new("Frame", frame)
  148. titleBorder.Name = "TitleBorder"
  149. titleBorder.Size = UDim2.new(1, 0, 0, 1)
  150. titleBorder.Position = UDim2.new(0.5, 0, 0, 18)
  151. titleBorder.AnchorPoint = Vector2.new(0.5, 0)
  152. titleBorder.BorderSizePixel = 0
  153.  
  154. local titleBorder_Gradient = Instance.new("UIGradient", titleBorder)
  155. titleBorder.BackgroundColor3 = Color3.new(1, 1, 1)
  156. titleBorder_Gradient.Transparency = NumberSequence.new{
  157. NumberSequenceKeypoint.new(0, 1),
  158. NumberSequenceKeypoint.new(0.05, 0.5),
  159. NumberSequenceKeypoint.new(0.95, 0.5),
  160. NumberSequenceKeypoint.new(1, 1)
  161. }
  162.  
  163. local options = Instance.new("ScrollingFrame", frame)
  164. options.Name = "Options"
  165. options.AnchorPoint = Vector2.new(0, 1)
  166. options.Position = UDim2.new(0, 0, 1, 0)
  167. options.Size = UDim2.new(1, 0, 1, -21)
  168. options.BackgroundTransparency = 1
  169. options.ScrollBarThickness = 0
  170. options.CanvasSize = UDim2.new(0, 0, 0, 600)
  171. options.BorderSizePixel = 0
  172. options.ScrollingEnabled = false
  173.  
  174. local options_List = Instance.new("UIListLayout", options)
  175. options_List.SortOrder = Enum.SortOrder.LayoutOrder
  176. options_List.Padding = UDim.new(0, 2)
  177.  
  178. -- Options Templates
  179. local option_Template = Instance.new("Frame")
  180. option_Template.Name = "OptionTemplate"
  181. option_Template.BackgroundTransparency = 1
  182. option_Template.BorderSizePixel = 0
  183. option_Template.Size = UDim2.new(1, 0, 0, 18)
  184.  
  185. local option_Template_Title = Instance.new("TextButton", option_Template)
  186. option_Template_Title.Name = "Title"
  187. option_Template_Title.Position = UDim2.new(0, 14, 0, 0)
  188. option_Template_Title.Size = UDim2.new(0.4, 0, 1, 0)
  189. option_Template_Title.BackgroundTransparency = 1
  190. option_Template_Title.BorderSizePixel = 0
  191. option_Template_Title.Font = Enum.Font.Gotham
  192. option_Template_Title.TextSize = 14
  193. option_Template_Title.TextXAlignment = Enum.TextXAlignment.Left
  194. option_Template_Title.TextColor3 = Color3.new(1, 1, 1)
  195. option_Template_Title.Text = "Option Template"
  196.  
  197. local option_Template_Value = Instance.new("ImageLabel")
  198. option_Template_Value.Name = "OptionValueBackground"
  199. option_Template_Value.Image = "rbxassetid://3570695787"
  200. option_Template_Value.ImageColor3 = Color3.fromRGB(45, 45, 45)
  201. option_Template_Value.ScaleType = Enum.ScaleType.Slice
  202. option_Template_Value.SliceCenter = Rect.new(Vector2.new(100, 100), Vector2.new(100, 100))
  203. option_Template_Value.SliceScale = 0.025
  204. option_Template_Value.Size = UDim2.new(0, 30, 1, 0)
  205. option_Template_Value.BackgroundTransparency = 1
  206. option_Template_Value.BorderSizePixel = 0
  207.  
  208. local option_Template_Value_TextBox = Instance.new("TextBox", option_Template_Value)
  209. option_Template_Value_TextBox.Name = "OptionValue"
  210. option_Template_Value_TextBox.BackgroundTransparency = 1
  211. option_Template_Value_TextBox.Size = UDim2.new(1, 0, 1, 0)
  212. option_Template_Value_TextBox.Text = "N/A"
  213. option_Template_Value_TextBox.TextColor3 = Color3.new(1, 1, 1)
  214. option_Template_Value_TextBox.TextSize = 13
  215. option_Template_Value_TextBox.Font = Enum.Font.Gotham
  216.  
  217. -- Options
  218. local function CreateValue(parent, sizeX, positionX)
  219. local value = option_Template_Value:Clone()
  220. value.Parent = parent
  221. value.Position = UDim2.new(0, positionX, 0, 0)
  222. value.Size = UDim2.new(0, sizeX, 1, 0)
  223.  
  224. return value.OptionValue
  225. end
  226.  
  227. local function CreateSlider(parent, sizeX, positionX, value1, value2)
  228. local sliderOption = 1
  229.  
  230. local frame = option_Template_Value:Clone()
  231. frame.Parent = parent
  232. frame.Position = UDim2.new(0, positionX, 0, 0)
  233. frame.Size = UDim2.new(0, sizeX, 1, 0)
  234. frame.OptionValue:Destroy()
  235.  
  236. local clickBox = Instance.new("ImageButton", parent)
  237. clickBox.Position = UDim2.new(0, positionX, 0, 0)
  238. clickBox.Size = UDim2.new(0, sizeX, 1, 0)
  239. clickBox.BackgroundTransparency = 1
  240.  
  241. local slider = option_Template_Value:Clone()
  242. slider.Parent = frame
  243. slider.Position = UDim2.new(0, 0, 0, 0)
  244. slider.Size = UDim2.new(0.5, 0, 1, 0)
  245. slider.ImageColor3 = Color3.new(0.9, 0.9, 0.9)
  246. slider.ZIndex = 2
  247. slider.Active = false
  248. slider.OptionValue:Destroy()
  249.  
  250.  
  251. local option_1 = Instance.new("TextLabel", frame)
  252. option_1.Size = UDim2.new(0.5, 0, 1, 0)
  253. option_1.Position = UDim2.new(0, 0, 0, 0)
  254. option_1.BackgroundTransparency = 1
  255. option_1.Font = Enum.Font.Gotham
  256. option_1.TextSize = 13
  257. option_1.TextColor3 = Color3.new(1, 1, 1)
  258. option_1.Text = value1
  259.  
  260. local option_2 = option_1:Clone()
  261. option_2.Parent = frame
  262. option_2.Position = UDim2.new(0.5, 0, 0, 0)
  263. option_2.Text = value2
  264.  
  265.  
  266. clickBox.MouseButton1Click:Connect(function()
  267. if sliderOption == 1 then
  268. sliderOption = 0
  269.  
  270. local goal = {}
  271. goal.Position = UDim2.new(0.5, 0, 0, 0)
  272.  
  273. local info = TweenInfo.new(0.2, Enum.EasingStyle.Quart, Enum.EasingDirection.InOut)
  274. local tween = game:GetService("TweenService"):Create(slider, info, goal)
  275. tween:Play()
  276. elseif sliderOption == 0 then
  277. sliderOption = 1
  278.  
  279. local goal = {}
  280. goal.Position = UDim2.new(0, 0, 0, 0)
  281.  
  282. local info = TweenInfo.new(0.2, Enum.EasingStyle.Quart, Enum.EasingDirection.InOut)
  283. local tween = game:GetService("TweenService"):Create(slider, info, goal)
  284. tween:Play()
  285. end
  286. end)
  287.  
  288. local t = {}
  289. function t.GetValue()
  290. if sliderOption == 0 then
  291. return value1
  292. else
  293. return value2
  294. end
  295. end
  296.  
  297. return t
  298. end
  299.  
  300. local function CreateOption(parent, name, text)
  301. local option = option_Template:Clone()
  302. option.Name = name
  303. option.Parent = options
  304. option.Title.Text = text
  305.  
  306. return option
  307. end
  308.  
  309. local function AddPadding(parent, size, text)
  310. local padding = Instance.new("TextButton", parent)
  311. padding.Name = "Padding"
  312. padding.BackgroundTransparency = 1
  313. padding.BorderSizePixel = 0
  314. padding.Size = UDim2.new(1, 0, 0, size)
  315. padding.Font = Enum.Font.GothamSemibold
  316. padding.TextColor3 = Color3.new(0.8, 0.8, 0.8)
  317. padding.TextSize = 12
  318. padding.TextXAlignment = Enum.TextXAlignment.Left
  319. padding.TextYAlignment = Enum.TextYAlignment.Bottom
  320. padding.Text = " " .. text
  321.  
  322. return padding
  323. end
  324.  
  325. local function ToggleOptionEvent(button, value)
  326. button.MouseButton1Click:Connect(function()
  327. _G[value] = not _G[value]
  328.  
  329. if _G[value] then
  330. button.TextColor3 = Color3.new(1, 0.7, 0.4)
  331. button.Font = Enum.Font.GothamSemibold
  332. else
  333. button.TextColor3 = Color3.new(1, 1, 1)
  334. button.Font = Enum.Font.Gotham
  335. end
  336. end)
  337. end
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348. -- Subtitle
  349. AddPadding(options, 14, "Lighting")
  350.  
  351. -- Ambient
  352. local option_Ambient = CreateOption(options, "Ambient", "Ambient")
  353.  
  354. local option_Ambient_Value_1 = CreateValue(option_Ambient, 40, 205)
  355. local option_Ambient_Value_2 = CreateValue(option_Ambient, 40, 250)
  356. local option_Ambient_Value_3 = CreateValue(option_Ambient, 40, 295)
  357.  
  358. -- Outdoor Ambient Option
  359. local option_OutdoorAmbient = CreateOption(options, "OutdoorAmbient", "Outdoor Ambient")
  360.  
  361. local option_OutdoorAmbient_Value_1 = CreateValue(option_OutdoorAmbient, 40, 205)
  362. local option_OutdoorAmbient_Value_2 = CreateValue(option_OutdoorAmbient, 40, 250)
  363. local option_OutdoorAmbient_Value_3 = CreateValue(option_OutdoorAmbient, 40, 295)
  364.  
  365.  
  366.  
  367. AddPadding(options, 5, "")
  368.  
  369. -- Fog Color Option
  370. local option_FogColor = CreateOption(options, "FogColor", "Fog Color")
  371.  
  372. local option_FogColor_Value_1 = CreateValue(option_FogColor, 40, 205)
  373. local option_FogColor_Value_2 = CreateValue(option_FogColor, 40, 250)
  374. local option_FogColor_Value_3 = CreateValue(option_FogColor, 40, 295)
  375.  
  376. -- Fog Start
  377. local option_FogStart = CreateOption(options, "FogStart", "Fog Start")
  378. local option_FogStart_Value = CreateValue(option_FogStart, 130, 205)
  379.  
  380. -- Fog End
  381. local option_FogEnd = CreateOption(options, "FogEnd", "Fog End")
  382. local option_FogEnd_Value = CreateValue(option_FogEnd, 130, 205)
  383.  
  384. AddPadding(options, 5, "")
  385.  
  386. -- Brightness Option
  387. local option_Brightness = CreateOption(options, "Brightness", "Brightness")
  388. local option_Brightness_Value = CreateValue(option_Brightness, 130, 205)
  389.  
  390. -- Exposure Option
  391. local option_Exposure = CreateOption(options, "Exposure", "Exposure")
  392. local option_Exposure_Value = CreateValue(option_Exposure, 130, 205)
  393.  
  394. AddPadding(options, 5, "")
  395.  
  396. -- Clock time Option
  397. local option_ClockTime = CreateOption(options, "ClockTime", "Clock Time")
  398. local option_ClockTime_Value = CreateValue(option_ClockTime, 130, 205)
  399.  
  400. ---- ESP
  401. AddPadding(options, 4, "")
  402. AddPadding(options, 14, "ESP")
  403.  
  404. local option_ESP_Enabled = CreateOption(options, "ESP_Enabled", "Enabled")
  405. local option_ESP_Enabled_Slider = CreateSlider(option_ESP_Enabled, 130, 205, "True", "False")
  406.  
  407. AddPadding(options, 4, "")
  408.  
  409. -- Line color
  410. local option_ESP_Line_Color = CreateOption(options, "ESP_Line_Color", "Line Color")
  411.  
  412. local option_ESP_Line_Color_Value_1 = CreateValue(option_ESP_Line_Color, 40, 205)
  413. local option_ESP_Line_Color_Value_2 = CreateValue(option_ESP_Line_Color, 40, 250)
  414. local option_ESP_Line_Color_Value_3 = CreateValue(option_ESP_Line_Color, 40, 295)
  415.  
  416. option_ESP_Line_Color_Value_1.Text = esp_Line_Color.R * 255
  417. option_ESP_Line_Color_Value_2.Text = esp_Line_Color.G * 255
  418. option_ESP_Line_Color_Value_3.Text = esp_Line_Color.B * 255
  419.  
  420. -- Line Transparency
  421. local option_ESP_Line_Transparency = CreateOption(options, "ESP_Line_Transparency", "Line Transparency")
  422. local option_ESP_Line_Transparency_Value = CreateValue(option_ESP_Line_Transparency, 130, 205)
  423.  
  424. option_ESP_Line_Transparency_Value.Text = esp_Line_Transparency
  425.  
  426. -- Line Thickness
  427. local option_ESP_Line_Thickness = CreateOption(options, "ESP_Line_Thickness", "Line Thickness")
  428. local option_ESP_Line_Thickness_Value = CreateValue(option_ESP_Line_Thickness, 130, 205)
  429.  
  430. option_ESP_Line_Thickness_Value.Text = esp_Line_Thickness
  431.  
  432. -- Refresh Rate
  433. AddPadding(options, 4, "")
  434.  
  435. local option_ESP_Line_RefreshRate = CreateOption(options, "ESP_Line_RefreshRate", "Refresh Rate [ms]")
  436. local option_ESP_Line_RefreshRate_Value = CreateValue(option_ESP_Line_RefreshRate, 130, 205)
  437.  
  438. option_ESP_Line_RefreshRate_Value.Text = esp_RefreshRate * 1000
  439.  
  440. -- Max Distance
  441. local option_ESP_MaxDistance = CreateOption(options, "ESP_MaxDistance", "Max Distance")
  442. local option_ESP_MaxDistance_Value = CreateValue(option_ESP_MaxDistance, 130, 205)
  443.  
  444. option_ESP_MaxDistance_Value.Text = 25000
  445.  
  446. AddPadding(options, 4, "")
  447.  
  448. -- Team Check
  449. local option_ESP_TeamCheck = CreateOption(options, "ESP_TeamCheck", "Team Check Enabled")
  450. local option_ESP_TeamCheck_Slider = CreateSlider(option_ESP_TeamCheck, 130, 205, "True", "False")
  451.  
  452. -- Name Tags Enabled
  453. local option_ESP_NameTag = CreateOption(options, "ESP_NameTag", "Name Tag Enabled")
  454. local option_ESP_NameTag_Slider = CreateSlider(option_ESP_NameTag, 130, 205, "True", "False")
  455.  
  456. -- BRM5 Bots
  457. local option_ESP_BRM5Bots = CreateOption(options, "ESP_BRM5Bots", "BRM5 Bots Shown")
  458. local option_ESP_BRM5Bots_Slider = CreateSlider(option_ESP_BRM5Bots, 130, 205, "True", "False")
  459.  
  460. ---- Tracers
  461. AddPadding(options, 4, "")
  462. AddPadding(options, 14, "ESP -> Tracers")
  463.  
  464. -- Enabled
  465. local option_ESP_Tracers_Enabled = CreateOption(options, "ESP_Tracers_Enabled", "Tracers Enabled")
  466. local option_ESP_Tracers_Enabled_Slider = CreateSlider(option_ESP_Tracers_Enabled, 130, 205, "True", "False")
  467.  
  468. AddPadding(options, 4, "")
  469.  
  470. -- Line color
  471. local option_ESP_Tracers_Color = CreateOption(options, "ESP_Tracers_Line_Color", "Line Color")
  472.  
  473. local option_ESP_Tracers_Color_Value_1 = CreateValue(option_ESP_Tracers_Color, 40, 205)
  474. local option_ESP_Tracers_Color_Value_2 = CreateValue(option_ESP_Tracers_Color, 40, 250)
  475. local option_ESP_Tracers_Color_Value_3 = CreateValue(option_ESP_Tracers_Color, 40, 295)
  476.  
  477. option_ESP_Tracers_Color_Value_1.Text = esp_Tracers_Color.R * 255
  478. option_ESP_Tracers_Color_Value_2.Text = esp_Tracers_Color.G * 255
  479. option_ESP_Tracers_Color_Value_3.Text = esp_Tracers_Color.B * 255
  480.  
  481. -- Line Transparency
  482. local option_ESP_Tracers_Transparency = CreateOption(options, "ESP_Tracers_Line_Transparency", "Line Transparency")
  483. local option_ESP_Tracers_Transparency_Value = CreateValue(option_ESP_Tracers_Transparency, 130, 205)
  484.  
  485. option_ESP_Tracers_Transparency_Value.Text = esp_Tracers_Transparency
  486.  
  487. -- Line Thickness
  488. local option_ESP_Tracers_Thickness = CreateOption(options, "ESP_Tracers_Line_Thickness", "Line Thickness")
  489. local option_ESP_Tracers_Thickness_Value = CreateValue(option_ESP_Tracers_Thickness, 130, 205)
  490.  
  491. option_ESP_Tracers_Thickness_Value.Text = esp_Tracers_Thickness
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501. -- Toggle Lock Events
  502. ToggleOptionEvent(option_Ambient.Title, "Lock_Ambient")
  503. ToggleOptionEvent(option_OutdoorAmbient.Title, "Lock_OutdoorAmbient")
  504. ToggleOptionEvent(option_FogColor.Title, "Lock_FogColor")
  505. ToggleOptionEvent(option_FogStart.Title, "Lock_FogStart")
  506. ToggleOptionEvent(option_FogEnd.Title, "Lock_FogEnd")
  507. ToggleOptionEvent(option_Brightness.Title, "Lock_Brightness")
  508. ToggleOptionEvent(option_Exposure.Title, "Lock_Exposure")
  509. ToggleOptionEvent(option_ClockTime.Title, "Lock_ClockTime")
  510.  
  511. -- Dragging Menu
  512. local dragging = false
  513. local mouse = localPlayer:GetMouse()
  514.  
  515. dragHandle.MouseButton1Down:Connect(function()
  516. dragging = true
  517.  
  518. local dragStartOffset = Vector2.new(mouse.X, mouse.Y) - frame.AbsolutePosition
  519.  
  520. repeat
  521. frame.Position = UDim2.new(0, mouse.X - dragStartOffset.X, 0, mouse.Y - dragStartOffset.Y)
  522.  
  523. game:GetService("RunService").RenderStepped:Wait()
  524. until dragging == false
  525. end)
  526.  
  527. dragHandle.MouseButton1Up:Connect(function()
  528. dragging = false
  529. end)
  530.  
  531. -- Mouse Icon
  532. frame.MouseEnter:Connect(function()
  533. mouseIcon.Visible = true
  534.  
  535. repeat
  536. mouseIcon.Position = UDim2.new(0, mouse.X, 0, mouse.Y)
  537.  
  538. game:GetService("RunService").RenderStepped:Wait()
  539. until mouseIcon.Visible == false
  540. end)
  541.  
  542. frame.MouseLeave:Connect(function()
  543. mouseIcon.Visible = false
  544. end)
  545.  
  546. -- Custom Scrolling
  547. frame.MouseWheelForward:Connect(function()
  548. options.CanvasPosition = Vector2.new(0, options.CanvasPosition.Y - 25)
  549. end)
  550.  
  551. frame.MouseWheelBackward:Connect(function()
  552. options.CanvasPosition = Vector2.new(0, options.CanvasPosition.Y + 25)
  553. end)
  554.  
  555. -- Script
  556. local step = 0
  557. local lastTick = tick()
  558.  
  559. game:GetService("UserInputService").InputBegan:Connect(function(key)
  560. if key.KeyCode == keybind_ToggleGui then
  561. gui.Enabled = not gui.Enabled
  562. end
  563. end)
  564.  
  565. game:GetService("RunService").RenderStepped:Connect(function()
  566. step = step + 1
  567.  
  568. -- Lighting
  569. if _G.Lock_Ambient == false then
  570. option_Ambient_Value_1.Text = math.floor(game.Lighting.Ambient.R * 255)
  571. option_Ambient_Value_2.Text = math.floor(game.Lighting.Ambient.G * 255)
  572. option_Ambient_Value_3.Text = math.floor(game.Lighting.Ambient.B * 255)
  573. else
  574. local r = typeof(tonumber(option_Ambient_Value_1.Text)) == "number" and tonumber(option_Ambient_Value_1.Text) or 0
  575. local g = typeof(tonumber(option_Ambient_Value_2.Text)) == "number" and tonumber(option_Ambient_Value_2.Text) or 0
  576. local b = typeof(tonumber(option_Ambient_Value_3.Text)) == "number" and tonumber(option_Ambient_Value_3.Text) or 0
  577.  
  578. game.Lighting.Ambient = Color3.new(r / 255, g / 255, b / 255)
  579. end
  580.  
  581. if _G.Lock_OutdoorAmbient == false then
  582. option_OutdoorAmbient_Value_1.Text = math.floor(game.Lighting.OutdoorAmbient.R * 255)
  583. option_OutdoorAmbient_Value_2.Text = math.floor(game.Lighting.OutdoorAmbient.G * 255)
  584. option_OutdoorAmbient_Value_3.Text = math.floor(game.Lighting.OutdoorAmbient.B * 255)
  585. else
  586. local r = typeof(tonumber(option_OutdoorAmbient_Value_1.Text)) == "number" and tonumber(option_OutdoorAmbient_Value_1.Text) or 0
  587. local g = typeof(tonumber(option_OutdoorAmbient_Value_3.Text)) == "number" and tonumber(option_OutdoorAmbient_Value_2.Text) or 0
  588. local b = typeof(tonumber(option_OutdoorAmbient_Value_3.Text)) == "number" and tonumber(option_OutdoorAmbient_Value_3.Text) or 0
  589.  
  590. game.Lighting.OutdoorAmbient = Color3.new(r / 255, g / 255, b / 255)
  591. end
  592.  
  593. if _G.Lock_FogColor == false then
  594. option_FogColor_Value_1.Text = math.floor(game.Lighting.FogColor.R * 255)
  595. option_FogColor_Value_2.Text = math.floor(game.Lighting.FogColor.G * 255)
  596. option_FogColor_Value_3.Text = math.floor(game.Lighting.FogColor.B * 255)
  597. else
  598. local r = typeof(tonumber(option_FogColor_Value_1.Text)) == "number" and tonumber(option_FogColor_Value_1.Text) or 0
  599. local g = typeof(tonumber(option_FogColor_Value_2.Text)) == "number" and tonumber(option_FogColor_Value_2.Text) or 0
  600. local b = typeof(tonumber(option_FogColor_Value_3.Text)) == "number" and tonumber(option_FogColor_Value_3.Text) or 0
  601.  
  602. game.Lighting.FogColor = Color3.new(r / 255, g / 255, b / 255)
  603. end
  604.  
  605. if _G.Lock_FogStart == false then
  606. option_FogStart_Value.Text = math.floor(game.Lighting.FogStart * 1000) / 1000
  607. else
  608. game.Lighting.FogStart = tonumber(option_FogStart_Value.Text)
  609. end
  610.  
  611. if _G.Lock_FogEnd == false then
  612. option_FogEnd_Value.Text = math.floor(game.Lighting.FogEnd * 1000) / 1000
  613. else
  614. game.Lighting.FogEnd = tonumber(option_FogEnd_Value.Text)
  615. end
  616.  
  617. if _G.Lock_Brightness == false then
  618. option_Brightness_Value.Text = game.Lighting.Brightness
  619. else
  620. game.Lighting.Brightness = tonumber(option_Brightness_Value.Text)
  621. end
  622.  
  623. if _G.Lock_Exposure == false then
  624. option_Exposure_Value.Text = game.Lighting.ExposureCompensation
  625. else
  626. game.Lighting.ExposureCompensation = tonumber(option_Exposure_Value.Text)
  627. end
  628.  
  629. if _G.Lock_ClockTime == false then
  630. option_ClockTime_Value.Text = game.Lighting.ClockTime
  631. else
  632. game.Lighting.ClockTime = tonumber(option_ClockTime_Value.Text)
  633. end
  634.  
  635. -- ESP
  636. if tick() - lastTick > esp_RefreshRate then
  637. for _, v in pairs(espStorage:GetChildren()) do
  638. v:Destroy()
  639. end
  640. end
  641.  
  642. if option_ESP_Enabled_Slider.GetValue() == "True" then
  643. -- ESP Hitbox
  644. local line_r = typeof(tonumber(option_ESP_Line_Color_Value_1.Text)) == "number" and tonumber(option_ESP_Line_Color_Value_1.Text) or 0
  645. local line_g = typeof(tonumber(option_ESP_Line_Color_Value_2.Text)) == "number" and tonumber(option_ESP_Line_Color_Value_2.Text) or 0
  646. local line_b = typeof(tonumber(option_ESP_Line_Color_Value_3.Text)) == "number" and tonumber(option_ESP_Line_Color_Value_3.Text) or 0
  647.  
  648. esp_Line_Color = Color3.fromRGB(line_r, line_g, line_b)
  649.  
  650.  
  651. local transparencyValue = typeof(tonumber(option_ESP_Line_Transparency_Value.Text)) == "number" and tonumber(option_ESP_Line_Transparency_Value.Text) or 0
  652. esp_Line_Transparency = transparencyValue
  653.  
  654. local thicknessValue = typeof(tonumber(option_ESP_Line_Thickness_Value.Text)) == "number" and tonumber(option_ESP_Line_Thickness_Value.Text) or 0
  655. esp_Line_Thickness = thicknessValue
  656.  
  657. local refreshRateValue = typeof(tonumber(option_ESP_Line_RefreshRate_Value.Text)) == "number" and tonumber(option_ESP_Line_RefreshRate_Value.Text) or 0
  658. esp_RefreshRate = refreshRateValue / 1000
  659.  
  660. -- Tracers
  661. local tracers_r = typeof(tonumber(option_ESP_Tracers_Color_Value_1.Text)) == "number" and tonumber(option_ESP_Tracers_Color_Value_1.Text) or 0
  662. local tracers_g = typeof(tonumber(option_ESP_Tracers_Color_Value_2.Text)) == "number" and tonumber(option_ESP_Tracers_Color_Value_2.Text) or 0
  663. local tracers_b = typeof(tonumber(option_ESP_Tracers_Color_Value_3.Text)) == "number" and tonumber(option_ESP_Tracers_Color_Value_3.Text) or 0
  664.  
  665. esp_Tracers_Color = Color3.fromRGB(tracers_r, tracers_g, tracers_b)
  666.  
  667.  
  668. local tracers_transparency_Value = typeof(tonumber(option_ESP_Tracers_Transparency_Value.Text)) == "number" and tonumber(option_ESP_Tracers_Transparency_Value.Text) or 0
  669. esp_Tracers_Transparency = tracers_transparency_Value
  670.  
  671. local tracers_thickness_Value = typeof(tonumber(option_ESP_Tracers_Thickness_Value.Text)) == "number" and tonumber(option_ESP_Tracers_Thickness_Value.Text) or 0
  672. esp_Tracers_Thickness = tracers_thickness_Value
  673.  
  674.  
  675. -- ESP
  676. local characters = {}
  677.  
  678. for _, plr in pairs(game.Players:GetPlayers()) do
  679. if plr.Character and plr.Name ~= localPlayer.Name then
  680. local checked = false
  681.  
  682. if option_ESP_TeamCheck_Slider.GetValue() == "True" then
  683. if plr.Team ~= localPlayer.Team then
  684. checked = true
  685. end
  686. else
  687. checked = true
  688. end
  689.  
  690. if checked then
  691. local newChar = {}
  692. newChar["Character"] = plr.Character
  693. newChar["Name"] = plr.Name
  694.  
  695. if plr.Character:FindFirstChild("Humanoid") then
  696. newChar["Health"] = plr.Character.Humanoid.Health
  697. newChar["MaxHealth"] = plr.Character.Humanoid.MaxHealth
  698. else
  699. newChar["Health"] = "N"
  700. newChar["MaxHealth"] = "A"
  701. end
  702.  
  703. if plr.Team then
  704. newChar["TeamName"] = plr.Team.Name
  705. else
  706. newChar["TeamName"] = "NO TEAM"
  707. end
  708.  
  709. table.insert(characters, newChar)
  710. end
  711. end
  712. end
  713.  
  714. if option_ESP_BRM5Bots_Slider.GetValue() == "True" then
  715. if workspace:FindFirstChild("Custom") then
  716. if workspace.Custom:FindFirstChild("-1") then
  717. for _, char in pairs(workspace.Custom["-1"]:GetChildren()) do
  718. if char:FindFirstChild("Humanoid") then
  719. local newChar = {}
  720. newChar["Character"] = char
  721. newChar["Name"] = "BOT"
  722. newChar["Health"] = char.Humanoid.Health
  723. newChar["MaxHealth"] = char.Humanoid.MaxHealth
  724. newChar["TeamName"] = "NO TEAM"
  725.  
  726. table.insert(characters, newChar)
  727. end
  728. end
  729. end
  730. end
  731. end
  732.  
  733. if tick() - lastTick > esp_RefreshRate then
  734. for _, charInfo in pairs(characters) do
  735. -- Char Info
  736. local character = charInfo["Character"]
  737. local character_Name = charInfo["Name"]
  738. local character_TeamName = charInfo["TeamName"]
  739.  
  740. local character_Health = charInfo["Health"]
  741. local character_MaxHealth = charInfo["MaxHealth"]
  742.  
  743.  
  744. local maxDistance = typeof(tonumber(option_ESP_MaxDistance_Value.Text)) == "number" and tonumber(option_ESP_MaxDistance_Value.Text) or 0
  745.  
  746. if character:FindFirstChild("HumanoidRootPart") then
  747. local distance = (character.HumanoidRootPart.Position - workspace.CurrentCamera.CFrame.Position).Magnitude
  748.  
  749. if distance < maxDistance then
  750. -- ESP
  751. local p, s = character:GetBoundingBox()
  752. s = s / 2
  753.  
  754. if option_ESP_Tracers_Enabled_Slider.GetValue() == "True" then
  755. if localPlayer.Character then
  756. local xSize = workspace.CurrentCamera.ViewportSize.X
  757. local ySize = workspace.CurrentCamera.ViewportSize.Y - 36
  758.  
  759. local p1 = workspace.CurrentCamera:WorldToScreenPoint(workspace.CurrentCamera:ScreenPointToRay(xSize / 2, ySize).Origin)
  760. local p2, onScreen = workspace.CurrentCamera:WorldToScreenPoint(p.Position)
  761.  
  762. p1 = Vector2.new(p1.X, p1.Y)
  763. p2 = Vector2.new(p2.X, p2.Y)
  764.  
  765. if onScreen then
  766. local v = p2 - p1
  767. local v2 = v / 2
  768.  
  769. local line = Instance.new("Frame", espGui.ESP_Storage)
  770. line.Name = "Line"
  771. line.BackgroundColor3 = esp_Tracers_Color
  772. line.BackgroundTransparency = esp_Tracers_Transparency
  773. line.BorderSizePixel = 0
  774. line.Size = UDim2.new(0, v.Magnitude + 1, 0, esp_Tracers_Thickness)
  775. line.Position = UDim2.new(((p1.X + (v.X / 2)) - (line.AbsoluteSize.X / 2)) / xSize, 0,
  776. ((p1.Y + (v.Y / 2)) - (line.AbsoluteSize.Y / 2)) / ySize, 0)
  777. line.Rotation = math.deg(math.atan2(v.Y, v.X))
  778. end
  779. end
  780. end
  781.  
  782. local p1 = workspace.CurrentCamera:WorldToScreenPoint(p.Position)
  783. local p2 = Vector2.new(p1.X, -math.huge)
  784.  
  785. -- ESP Hitbox
  786. local c1 = p * CFrame.new(s.X, s.Y, s.Z).Position
  787. local c2 = p * CFrame.new(-s.X, s.Y, s.Z).Position
  788. local c3 = p * CFrame.new(-s.X, s.Y, -s.Z).Position
  789. local c4 = p * CFrame.new(s.X, s.Y, -s.Z).Position
  790.  
  791. local c5 = p * CFrame.new(s.X, -s.Y, s.Z).Position
  792. local c6 = p * CFrame.new(-s.X, -s.Y, s.Z).Position
  793. local c7 = p * CFrame.new(-s.X, -s.Y, -s.Z).Position
  794. local c8 = p * CFrame.new(s.X, -s.Y, -s.Z).Position
  795.  
  796. local t = {c1, c2, c3, c4, c5, c6, c7, c8}
  797. local totalOnScreen = true
  798.  
  799. local min = Vector2.new(math.huge, math.huge)
  800. local max = Vector2.new(-math.huge, -math.huge)
  801.  
  802. for _, v in pairs(t) do
  803. local pos, onScreen = workspace.CurrentCamera:WorldToScreenPoint(v)
  804.  
  805. min = Vector2.new(math.min(min.X, pos.X), math.min(min.Y, pos.Y))
  806. max = Vector2.new(math.max(max.X, pos.X), math.max(max.Y, pos.Y))
  807.  
  808. if onScreen == false then
  809. totalOnScreen = false
  810. end
  811. end
  812.  
  813. if totalOnScreen then
  814. local size = max - min
  815. local center = (max + min) / 2
  816.  
  817. local box = espHitboxImage_Template:Clone()
  818. box.Parent = espStorage
  819. box.Size = UDim2.new(0, size.X, 0, size.Y)
  820. box.Position = UDim2.new(0, center.X, 0, center.Y)
  821. box.ImageColor3 = esp_Line_Color
  822. box.ImageTransparency = esp_Line_Transparency
  823. box.SliceScale = esp_Line_Thickness / 4
  824. end
  825.  
  826. -- Stats
  827. if option_ESP_NameTag_Slider.GetValue() == "True" then
  828. local onScreenTotal = true
  829.  
  830. for _, v in pairs(t) do
  831. local pos, onScreen = workspace.CurrentCamera:WorldToScreenPoint(v)
  832. p2 = Vector2.new(p1.X, math.max(p2.Y, pos.Y))
  833.  
  834. if onScreen == false then
  835. onScreenTotal = false
  836. end
  837. end
  838.  
  839. if onScreenTotal then
  840. p2 = p2 + Vector2.new(0, 10)
  841.  
  842. local label = Instance.new("TextLabel", espGui.ESP_Storage)
  843. label.Name = "NameLabel"
  844. label.BackgroundTransparency = 1
  845. label.Active = false
  846. label.AnchorPoint = Vector2.new(0.5, 0.5)
  847. label.Font = Enum.Font.GothamSemibold
  848. label.TextColor3 = Color3.new(1, 1, 1)
  849. label.TextSize = 9
  850.  
  851. label.Text = "[ " .. character_Name .. " ][ " .. character_Health .. "/" .. character_MaxHealth .. " ][ " .. character_TeamName .. " ]"
  852.  
  853. label.Size = UDim2.new(0, 500, 0, 20)
  854. label.Position = UDim2.new(0, p2.X, 0, p2.Y)
  855. end
  856. end
  857. end
  858. end
  859. end
  860.  
  861. lastTick = tick()
  862. end
  863. end
  864. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement