Dsd

SQL Detected Guest 0 Views Size: 73.87 KB Posted on: Aug 19, 26 @ 4:43 AM
  1. -- PlaceId check — Violence District ONLY
  2. IF game.PlaceId ~= 93978595733734 THEN
  3.     warn("⚡ REIN HUB: This script is only compatible with Violence-District!")
  4.     RETURN
  5. END
  6.  
  7. -- ═══════════════════════════════════════════════════════════
  8. -- SERVICES
  9. -- ═══════════════════════════════════════════════════════════
  10. LOCAL Players = game:GetService("Players")
  11. LOCAL RunService = game:GetService("RunService")
  12. LOCAL ReplicatedStorage = game:GetService("ReplicatedStorage")
  13. LOCAL Teams = game:GetService("Teams")
  14. LOCAL UserInputService = game:GetService("UserInputService")
  15. LOCAL CoreGui = game:GetService("CoreGui")
  16. LOCAL TweenService = game:GetService("TweenService")
  17. LOCAL VirtualUser = game:GetService("VirtualUser")
  18.  
  19. LOCAL LocalPlayer = Players.LocalPlayer
  20. LOCAL Camera = workspace.CurrentCamera
  21.  
  22. -- ═══════════════════════════════════════════════════════════
  23. -- REMOTES — VIOLENCE DISTRICT SPECIFIC
  24. -- ═══════════════════════════════════════════════════════════
  25. LOCAL Remotes = ReplicatedStorage:WaitForChild("Remotes", 10)
  26. LOCAL ItemRemotes = Remotes AND Remotes:FindFirstChild("Items")
  27.  
  28. -- Parry remote — correct path for VD
  29. LOCAL ParryClient = nil
  30. pcall(FUNCTION()
  31.     ParryClient = ReplicatedStorage:WaitForChild("Items", 5):WaitForChild("ParryClient", 5)
  32. END)
  33. -- Fallback search
  34. IF NOT ParryClient THEN
  35.     pcall(FUNCTION()
  36.         ParryClient = ItemRemotes AND (ItemRemotes:FindFirstChild("ParryClient") OR ItemRemotes:FindFirstChild("Parrying Dagger") AND ItemRemotes:FindFirstChild("Parrying Dagger"):FindFirstChild("parry"))
  37.     END)
  38. END
  39.  
  40. -- Generator remotes
  41. LOCAL GenRemotes = Remotes AND Remotes:FindFirstChild("Generator")
  42. LOCAL SkillCheckResult = GenRemotes AND GenRemotes:FindFirstChild("SkillCheckResultEvent")
  43. LOCAL SkillCheckEvent = GenRemotes AND GenRemotes:FindFirstChild("SkillCheckEvent")
  44.  
  45. -- Attack remotes
  46. LOCAL AttackRemotes = Remotes AND Remotes:FindFirstChild("Attacks")
  47. LOCAL AttackHitRemote = AttackRemotes AND AttackRemotes:FindFirstChild("hit")
  48. LOCAL LungeDetectRemote = AttackRemotes AND AttackRemotes:FindFirstChild("LungeDetect")
  49.  
  50. -- Game module references
  51. LOCAL KillerModules = nil
  52. LOCAL SurvivorConfig = nil
  53. pcall(FUNCTION()
  54.     KillerModules = ReplicatedStorage:WaitForChild("Modules", 5):WaitForChild("Killers", 5)
  55. END)
  56. pcall(FUNCTION()
  57.     SurvivorConfig = ReplicatedStorage:WaitForChild("Modules", 5):WaitForChild("Survivors", 5):WaitForChild("SurvivorConfig", 5)
  58. END)
  59.  
  60. -- ═══════════════════════════════════════════════════════════
  61. -- STATE MANAGEMENT
  62. -- ═══════════════════════════════════════════════════════════
  63. LOCAL State = {
  64.     UIVisible = FALSE,
  65.     Minimized = FALSE,
  66.     AutoParry = FALSE,
  67.     GodMode = FALSE,
  68.     WalkSpeed = 16,
  69.     SpeedEnabled = FALSE,
  70.     PerfectGen = FALSE,
  71.     AFKMode = TRUE,
  72.     AFKStartTime = os.time(),
  73.     ESPPlayers = FALSE,
  74.     ESPKiller = FALSE,
  75.     ESPGenerators = FALSE,
  76.     ESPGenProgress = FALSE,
  77.     GenHUDVisible = FALSE,
  78.     ActiveTab = "Visual",
  79.     Connections = {},
  80.     SelectedPlayer = nil,
  81. }
  82.  
  83. LOCAL TeamColors = {
  84.     Survivors = Color3.fromRGB(0, 255, 0),
  85.     Killer = Color3.fromRGB(255, 0, 0),
  86.     Spectator = Color3.fromRGB(180, 180, 180),
  87.     UNKNOWN = Color3.fromRGB(255, 255, 255),
  88.     Generator = Color3.fromRGB(255, 200, 0),
  89. }
  90.  
  91. -- ═══════════════════════════════════════════════════════════
  92. -- GUI CLEANUP
  93. -- ═══════════════════════════════════════════════════════════
  94. IF CoreGui:FindFirstChild("REINHubVD") THEN
  95.     CoreGui.REINHubVD:Destroy()
  96. END
  97. IF CoreGui:FindFirstChild("REINHubLoading") THEN
  98.     CoreGui.REINHubLoading:Destroy()
  99. END
  100.  
  101. -- Animated gradient rotation registry
  102. LOCAL AnimatingGradients = {}
  103. LOCAL FUNCTION registerGradient(g)
  104.     TABLE.insert(AnimatingGradients, g)
  105. END
  106.  
  107. TABLE.insert(State.Connections, RunService.Heartbeat:CONNECT(FUNCTION()
  108.     LOCAL rot = (tick() * 150) % 360
  109.     FOR _, g IN ipairs(AnimatingGradients) do
  110.         pcall(FUNCTION() g.Rotation = rot END)
  111.     END
  112. END))
  113.  
  114. -- ═══════════════════════════════════════════════════════════
  115. -- ANTI-AFK — AUTO ACTIVE ON LOAD (runs immediately)
  116. -- ═══════════════════════════════════════════════════════════
  117. pcall(FUNCTION()
  118.     LocalPlayer.Idled:CONNECT(FUNCTION()
  119.         VirtualUser:CaptureController()
  120.         VirtualUser:ClickButton2(Vector2.new(0, 0))
  121.     END)
  122. END)
  123.  
  124. -- ═══════════════════════════════════════════════════════════
  125. -- PREMIUM CINEMATIC LOADING SCREEN
  126. -- ═══════════════════════════════════════════════════════════
  127. LOCAL LoadingGui = Instance.new("ScreenGui")
  128. LoadingGui.Name = "REINHubLoading"
  129. LoadingGui.ResetOnSpawn = FALSE
  130. LoadingGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  131. LoadingGui.DisplayOrder = 999
  132. pcall(FUNCTION() LoadingGui.Parent = CoreGui END)
  133. IF NOT LoadingGui.Parent THEN LoadingGui.Parent = LocalPlayer:WaitForChild("PlayerGui") END
  134.  
  135. -- Full-screen backdrop
  136. LOCAL LoadingFrame = Instance.new("Frame")
  137. LoadingFrame.Size = UDim2.new(1, 0, 1, 0)
  138. LoadingFrame.BackgroundColor3 = Color3.fromRGB(6, 3, 14)
  139. LoadingFrame.BorderSizePixel = 0
  140. LoadingFrame.Parent = LoadingGui
  141.  
  142. -- Vignette overlay
  143. LOCAL Vignette = Instance.new("ImageLabel")
  144. Vignette.Size = UDim2.new(1, 0, 1, 0)
  145. Vignette.BackgroundTransparency = 1
  146. Vignette.Image = "rbxassetid://1526406850"
  147. Vignette.ImageColor3 = Color3.fromRGB(0, 0, 0)
  148. Vignette.ImageTransparency = 0.3
  149. Vignette.ZIndex = 2
  150. Vignette.Parent = LoadingFrame
  151.  
  152. -- Matrix purple background — drifting
  153. LOCAL MatrixBgLoad = Instance.new("ImageLabel")
  154. MatrixBgLoad.Size = UDim2.new(1.2, 0, 1.2, 0)
  155. MatrixBgLoad.Position = UDim2.new(-0.1, 0, -0.1, 0)
  156. MatrixBgLoad.Image = "rbxassetid://79915007129772"
  157. MatrixBgLoad.ImageColor3 = Color3.fromRGB(120, 30, 220)
  158. MatrixBgLoad.ImageTransparency = 0.88
  159. MatrixBgLoad.BackgroundTransparency = 1
  160. MatrixBgLoad.ScaleType = Enum.ScaleType.Tile
  161. MatrixBgLoad.TileSize = UDim2.new(0, 200, 0, 200)
  162. MatrixBgLoad.ZIndex = 1
  163. MatrixBgLoad.Parent = LoadingFrame
  164.  
  165. task.spawn(FUNCTION()
  166.     LOCAL dc
  167.     dc = RunService.Heartbeat:CONNECT(FUNCTION()
  168.         IF NOT MatrixBgLoad OR NOT MatrixBgLoad.Parent THEN dc:Disconnect() RETURN END
  169.         LOCAL t = tick() * 0.02
  170.         MatrixBgLoad.Position = UDim2.new(-0.1 + math.sin(t) * 0.03, 0, -0.1 + math.cos(t * 0.7) * 0.02, 0)
  171.     END)
  172. END)
  173.  
  174. -- Center container
  175. LOCAL CenterLoad = Instance.new("Frame")
  176. CenterLoad.Size = UDim2.new(0, 400, 0, 360)
  177. CenterLoad.Position = UDim2.new(0.5, -200, 0.5, -180)
  178. CenterLoad.BackgroundTransparency = 1
  179. CenterLoad.ZIndex = 10
  180. CenterLoad.Parent = LoadingFrame
  181.  
  182. -- Spinning outer ring
  183. LOCAL OuterRing = Instance.new("ImageLabel")
  184. OuterRing.Size = UDim2.new(0, 180, 0, 180)
  185. OuterRing.Position = UDim2.new(0.5, -90, 0, 10)
  186. OuterRing.BackgroundTransparency = 1
  187. OuterRing.Image = "rbxassetid://11745689735"
  188. OuterRing.ImageColor3 = Color3.fromRGB(160, 50, 255)
  189. OuterRing.ImageTransparency = 0.3
  190. OuterRing.ZIndex = 11
  191. OuterRing.Parent = CenterLoad
  192.  
  193. -- Spinning inner ring (counter)
  194. LOCAL InnerRing = Instance.new("ImageLabel")
  195. InnerRing.Size = UDim2.new(0, 150, 0, 150)
  196. InnerRing.Position = UDim2.new(0.5, -75, 0, 25)
  197. InnerRing.BackgroundTransparency = 1
  198. InnerRing.Image = "rbxassetid://11745689735"
  199. InnerRing.ImageColor3 = Color3.fromRGB(200, 100, 255)
  200. InnerRing.ImageTransparency = 0.5
  201. InnerRing.ZIndex = 12
  202. InnerRing.Parent = CenterLoad
  203.  
  204. task.spawn(FUNCTION()
  205.     LOCAL sc
  206.     sc = RunService.Heartbeat:CONNECT(FUNCTION()
  207.         IF NOT OuterRing OR NOT OuterRing.Parent THEN sc:Disconnect() RETURN END
  208.         OuterRing.Rotation = (tick() * 45) % 360
  209.         InnerRing.Rotation = -(tick() * 60) % 360
  210.         OuterRing.ImageTransparency = 0.25 + math.sin(tick() * 2) * 0.15
  211.     END)
  212. END)
  213.  
  214. -- Logo centered in rings
  215. LOCAL LogoLoad = Instance.new("ImageLabel")
  216. LogoLoad.Size = UDim2.new(0, 100, 0, 100)
  217. LogoLoad.Position = UDim2.new(0.5, -50, 0, 50)
  218. LogoLoad.Image = "rbxassetid://126054630022043"
  219. LogoLoad.BackgroundTransparency = 1
  220. LogoLoad.ZIndex = 15
  221. LogoLoad.Parent = CenterLoad
  222.  
  223. task.spawn(FUNCTION()
  224.     LOCAL gc
  225.     gc = RunService.Heartbeat:CONNECT(FUNCTION()
  226.         IF NOT LogoLoad OR NOT LogoLoad.Parent THEN gc:Disconnect() RETURN END
  227.         LogoLoad.ImageTransparency = math.sin(tick() * 1.5) * 0.15
  228.     END)
  229. END)
  230.  
  231. -- Title
  232. LOCAL TitleLoad = Instance.new("TextLabel")
  233. TitleLoad.Text = "REIN HUB X VD"
  234. TitleLoad.Size = UDim2.new(1, 0, 0, 30)
  235. TitleLoad.Position = UDim2.new(0, 0, 0, 200)
  236. TitleLoad.BackgroundTransparency = 1
  237. TitleLoad.TextColor3 = Color3.fromRGB(220, 180, 255)
  238. TitleLoad.Font = Enum.Font.GothamBold
  239. TitleLoad.TextSize = 20
  240. TitleLoad.ZIndex = 15
  241. TitleLoad.Parent = CenterLoad
  242.  
  243. -- Status text (rotating messages)
  244. LOCAL StatusLoad = Instance.new("TextLabel")
  245. StatusLoad.Text = "Initializing..."
  246. StatusLoad.Size = UDim2.new(1, 0, 0, 20)
  247. StatusLoad.Position = UDim2.new(0, 0, 0, 234)
  248. StatusLoad.BackgroundTransparency = 1
  249. StatusLoad.TextColor3 = Color3.fromRGB(150, 120, 200)
  250. StatusLoad.Font = Enum.Font.GothamSemibold
  251. StatusLoad.TextSize = 11
  252. StatusLoad.ZIndex = 15
  253. StatusLoad.Parent = CenterLoad
  254.  
  255. -- Progress bar background
  256. LOCAL BarBg = Instance.new("Frame")
  257. BarBg.Size = UDim2.new(0, 320, 0, 10)
  258. BarBg.Position = UDim2.new(0.5, -160, 0, 272)
  259. BarBg.BackgroundColor3 = Color3.fromRGB(20, 12, 35)
  260. BarBg.BorderSizePixel = 0
  261. BarBg.ZIndex = 15
  262. BarBg.Parent = CenterLoad
  263. Instance.new("UICorner", BarBg).CornerRadius = UDim.new(1, 0)
  264.  
  265. LOCAL BarStroke = Instance.new("UIStroke")
  266. BarStroke.Color = Color3.fromRGB(100, 40, 180)
  267. BarStroke.Thickness = 1.5
  268. BarStroke.Transparency = 0.4
  269. BarStroke.Parent = BarBg
  270.  
  271. -- Progress bar fill
  272. LOCAL BarFill = Instance.new("Frame")
  273. BarFill.Size = UDim2.new(0, 0, 1, 0)
  274. BarFill.BackgroundColor3 = Color3.fromRGB(160, 50, 255)
  275. BarFill.BorderSizePixel = 0
  276. BarFill.ZIndex = 16
  277. BarFill.Parent = BarBg
  278. Instance.new("UICorner", BarFill).CornerRadius = UDim.new(1, 0)
  279.  
  280. LOCAL BarGrad = Instance.new("UIGradient")
  281. BarGrad.Color = ColorSequence.new({
  282.     ColorSequenceKeypoint.new(0, Color3.fromRGB(100, 30, 200)),
  283.     ColorSequenceKeypoint.new(0.4, Color3.fromRGB(160, 50, 255)),
  284.     ColorSequenceKeypoint.new(0.7, Color3.fromRGB(200, 100, 255)),
  285.     ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 150, 255)),
  286. })
  287. BarGrad.Parent = BarFill
  288.  
  289. -- Percentage text
  290. LOCAL PctText = Instance.new("TextLabel")
  291. PctText.Text = "0%"
  292. PctText.Size = UDim2.new(0, 60, 0, 20)
  293. PctText.Position = UDim2.new(0.5, -30, 0, 288)
  294. PctText.BackgroundTransparency = 1
  295. PctText.TextColor3 = Color3.fromRGB(200, 160, 255)
  296. PctText.Font = Enum.Font.GothamBold
  297. PctText.TextSize = 12
  298. PctText.ZIndex = 15
  299. PctText.Parent = CenterLoad
  300.  
  301. -- Floating sparkle particles
  302. LOCAL ParticleBox = Instance.new("Frame")
  303. ParticleBox.Size = UDim2.new(1, 0, 1, 0)
  304. ParticleBox.BackgroundTransparency = 1
  305. ParticleBox.ZIndex = 5
  306. ParticleBox.ClipsDescendants = TRUE
  307. ParticleBox.Parent = LoadingFrame
  308.  
  309. task.spawn(FUNCTION()
  310.     FOR i = 1, 25 do
  311.         LOCAL p = Instance.new("Frame")
  312.         p.Size = UDim2.new(0, math.random(2, 5), 0, math.random(2, 5))
  313.         p.Position = UDim2.new(math.random() * 0.95, 0, math.random() * 0.95, 0)
  314.         p.BackgroundColor3 = Color3.fromRGB(math.random(120, 200), math.random(40, 100), math.random(200, 255))
  315.         p.BackgroundTransparency = math.random() * 0.5 + 0.3
  316.         p.BorderSizePixel = 0
  317.         p.ZIndex = 5
  318.         p.Parent = ParticleBox
  319.         Instance.new("UICorner", p).CornerRadius = UDim.new(1, 0)
  320.  
  321.         LOCAL sY = math.random(80, 110) / 100
  322.         LOCAL dur = math.random(4, 8)
  323.         LOCAL sX = math.random() * 0.95
  324.  
  325.         task.spawn(FUNCTION()
  326.             while p AND p.Parent do
  327.                 p.Position = UDim2.new(sX + math.sin(tick() + i) * 0.02, 0, sY, 0)
  328.                 LOCAL tw = TweenService:CREATE(p, TweenInfo.new(dur, Enum.EasingStyle.Linear), {
  329.                     POSITION = UDim2.new(sX + math.sin(tick() + i) * 0.05, 0, -0.1, 0)
  330.                 })
  331.                 tw:Play()
  332.                 tw.Completed:Wait()
  333.                 sX = math.random() * 0.95
  334.                 p.Position = UDim2.new(sX, 0, sY, 0)
  335.             END
  336.         END)
  337.     END
  338. END)
  339.  
  340. -- Credit line
  341. LOCAL CreditLoad = Instance.new("TextLabel")
  342. CreditLoad.Text = "Developer by ReinUhuy · Violence District"
  343. CreditLoad.Size = UDim2.new(1, 0, 0, 18)
  344. CreditLoad.Position = UDim2.new(0, 0, 0, 330)
  345. CreditLoad.BackgroundTransparency = 1
  346. CreditLoad.TextColor3 = Color3.fromRGB(80, 60, 120)
  347. CreditLoad.Font = Enum.Font.Gotham
  348. CreditLoad.TextSize = 9
  349. CreditLoad.ZIndex = 15
  350. CreditLoad.Parent = CenterLoad
  351.  
  352. -- ═══════════════════════════════════════════════════════════
  353. -- MAIN UI CONTAINER
  354. -- ═══════════════════════════════════════════════════════════
  355. LOCAL ScreenGui = Instance.new("ScreenGui")
  356. ScreenGui.Name = "REINHubVD"
  357. ScreenGui.ResetOnSpawn = FALSE
  358. pcall(FUNCTION() ScreenGui.Parent = CoreGui END)
  359. IF NOT ScreenGui.Parent THEN ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") END
  360.  
  361. -- Main Panel
  362. LOCAL MainFrame = Instance.new("Frame")
  363. MainFrame.Size = UDim2.new(0, 550, 0, 430)
  364. MainFrame.Position = UDim2.new(0.5, -275, 0.5, -215)
  365. MainFrame.BackgroundColor3 = Color3.fromRGB(15, 12, 22)
  366. MainFrame.BorderSizePixel = 0
  367. MainFrame.Active = TRUE
  368. MainFrame.Draggable = TRUE
  369. MainFrame.ClipsDescendants = TRUE
  370. MainFrame.Visible = FALSE
  371. MainFrame.Parent = ScreenGui
  372.  
  373. Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 12)
  374.  
  375. LOCAL MainStroke = Instance.new("UIStroke")
  376. MainStroke.Color = Color3.fromRGB(255, 255, 255)
  377. MainStroke.Thickness = 2
  378. MainStroke.Parent = MainFrame
  379.  
  380. LOCAL MainGrad = Instance.new("UIGradient")
  381. MainGrad.Color = ColorSequence.new({
  382.     ColorSequenceKeypoint.new(0, Color3.fromRGB(160, 50, 255)),
  383.     ColorSequenceKeypoint.new(0.3, Color3.fromRGB(30, 10, 60)),
  384.     ColorSequenceKeypoint.new(0.7, Color3.fromRGB(30, 10, 60)),
  385.     ColorSequenceKeypoint.new(1, Color3.fromRGB(160, 50, 255)),
  386. })
  387. MainGrad.Parent = MainStroke
  388. registerGradient(MainGrad)
  389.  
  390. -- Matrix bg on main panel
  391. LOCAL MatrixBg = Instance.new("ImageLabel")
  392. MatrixBg.Size = UDim2.new(1, 0, 1, 0)
  393. MatrixBg.Image = "rbxassetid://79915007129772"
  394. MatrixBg.ImageColor3 = Color3.fromRGB(160, 50, 255)
  395. MatrixBg.ImageTransparency = 0.88
  396. MatrixBg.BackgroundTransparency = 1
  397. MatrixBg.ScaleType = Enum.ScaleType.Tile
  398. MatrixBg.TileSize = UDim2.new(0, 256, 0, 256)
  399. MatrixBg.Parent = MainFrame
  400.  
  401. -- ═══════════════════════════════════════════════════════════
  402. -- FLOATING REOPEN BUTTON (Logo icon when closed)
  403. -- ═══════════════════════════════════════════════════════════
  404. LOCAL ReopenBtn = Instance.new("ImageButton")
  405. ReopenBtn.Size = UDim2.new(0, 50, 0, 50)
  406. ReopenBtn.Position = UDim2.new(0.02, 0, 0.45, 0)
  407. ReopenBtn.BackgroundColor3 = Color3.fromRGB(18, 12, 28)
  408. ReopenBtn.Image = "rbxassetid://126054630022043"
  409. ReopenBtn.Active = TRUE
  410. ReopenBtn.Draggable = TRUE
  411. ReopenBtn.Visible = FALSE
  412. ReopenBtn.Parent = ScreenGui
  413.  
  414. Instance.new("UICorner", ReopenBtn).CornerRadius = UDim.new(1, 0)
  415.  
  416. LOCAL ReopenStroke = Instance.new("UIStroke")
  417. ReopenStroke.Color = Color3.fromRGB(255, 255, 255)
  418. ReopenStroke.Thickness = 2
  419. ReopenStroke.Parent = ReopenBtn
  420.  
  421. LOCAL ReopenGrad = Instance.new("UIGradient")
  422. ReopenGrad.Color = ColorSequence.new({
  423.     ColorSequenceKeypoint.new(0, Color3.fromRGB(160, 50, 255)),
  424.     ColorSequenceKeypoint.new(0.5, Color3.fromRGB(30, 10, 60)),
  425.     ColorSequenceKeypoint.new(1, Color3.fromRGB(160, 50, 255)),
  426. })
  427. ReopenGrad.Parent = ReopenStroke
  428. registerGradient(ReopenGrad)
  429.  
  430. ReopenBtn.MouseButton1Click:CONNECT(FUNCTION()
  431.     ReopenBtn.Visible = FALSE
  432.     MainFrame.Visible = TRUE
  433.     State.UIVisible = TRUE
  434. END)
  435.  
  436. -- ═══════════════════════════════════════════════════════════
  437. -- MINIMIZED PILL BAR (with logo, text, neon animated border)
  438. -- ═══════════════════════════════════════════════════════════
  439. LOCAL Pillbar = Instance.new("Frame")
  440. Pillbar.Size = UDim2.new(0, 240, 0, 42)
  441. Pillbar.Position = UDim2.new(0.5, -120, 0.05, 0)
  442. Pillbar.BackgroundColor3 = Color3.fromRGB(18, 12, 28)
  443. Pillbar.BorderSizePixel = 0
  444. Pillbar.Active = TRUE
  445. Pillbar.Draggable = TRUE
  446. Pillbar.Visible = FALSE
  447. Pillbar.Parent = ScreenGui
  448.  
  449. Instance.new("UICorner", Pillbar).CornerRadius = UDim.new(1, 0)
  450.  
  451. LOCAL PillStroke = Instance.new("UIStroke")
  452. PillStroke.Color = Color3.fromRGB(255, 255, 255)
  453. PillStroke.Thickness = 2
  454. PillStroke.Parent = Pillbar
  455.  
  456. LOCAL PillGrad = Instance.new("UIGradient")
  457. PillGrad.Color = ColorSequence.new({
  458.     ColorSequenceKeypoint.new(0, Color3.fromRGB(160, 50, 255)),
  459.     ColorSequenceKeypoint.new(0.5, Color3.fromRGB(30, 10, 60)),
  460.     ColorSequenceKeypoint.new(1, Color3.fromRGB(160, 50, 255)),
  461. })
  462. PillGrad.Parent = PillStroke
  463. registerGradient(PillGrad)
  464.  
  465. LOCAL PillLogo = Instance.new("ImageLabel")
  466. PillLogo.Size = UDim2.new(0, 28, 0, 28)
  467. PillLogo.Position = UDim2.new(0, 8, 0.5, -14)
  468. PillLogo.Image = "rbxassetid://126054630022043"
  469. PillLogo.BackgroundTransparency = 1
  470. PillLogo.Parent = Pillbar
  471.  
  472. LOCAL PillTitle = Instance.new("TextLabel")
  473. PillTitle.Text = "REIN HUB X VD"
  474. PillTitle.Size = UDim2.new(1, -95, 1, 0)
  475. PillTitle.Position = UDim2.new(0, 42, 0, 0)
  476. PillTitle.BackgroundTransparency = 1
  477. PillTitle.TextColor3 = Color3.fromRGB(200, 170, 255)
  478. PillTitle.Font = Enum.Font.GothamBold
  479. PillTitle.TextSize = 11
  480. PillTitle.TextXAlignment = Enum.TextXAlignment.Left
  481. PillTitle.Parent = Pillbar
  482.  
  483. LOCAL PillMaxBtn = Instance.new("TextButton")
  484. PillMaxBtn.Text = "+"
  485. PillMaxBtn.Size = UDim2.new(0, 24, 0, 24)
  486. PillMaxBtn.Position = UDim2.new(1, -55, 0.5, -12)
  487. PillMaxBtn.BackgroundTransparency = 1
  488. PillMaxBtn.TextColor3 = Color3.fromRGB(255, 200, 80)
  489. PillMaxBtn.Font = Enum.Font.GothamBold
  490. PillMaxBtn.TextSize = 13
  491. PillMaxBtn.Parent = Pillbar
  492.  
  493. LOCAL PillCloseBtn = Instance.new("ImageButton")
  494. PillCloseBtn.Size = UDim2.new(0, 20, 0, 20)
  495. PillCloseBtn.Position = UDim2.new(1, -28, 0.5, -10)
  496. PillCloseBtn.Image = "rbxassetid://126054630022043"
  497. PillCloseBtn.BackgroundTransparency = 1
  498. PillCloseBtn.Parent = Pillbar
  499.  
  500. LOCAL FUNCTION toggleMinimize()
  501.     State.Minimized = NOT State.Minimized
  502.     IF State.Minimized THEN
  503.         MainFrame.Visible = FALSE
  504.         Pillbar.Visible = TRUE
  505.         Pillbar.Position = UDim2.new(0, MainFrame.AbsolutePosition.X + (MainFrame.AbsoluteSize.X / 2) - 120, 0, MainFrame.AbsolutePosition.Y)
  506.     ELSE
  507.         Pillbar.Visible = FALSE
  508.         MainFrame.Visible = TRUE
  509.         MainFrame.Position = UDim2.new(0, Pillbar.AbsolutePosition.X - 155, 0, Pillbar.AbsolutePosition.Y)
  510.     END
  511. END
  512.  
  513. LOCAL FUNCTION closeHub()
  514.     MainFrame.Visible = FALSE
  515.     Pillbar.Visible = FALSE
  516.     ReopenBtn.Visible = TRUE
  517.     State.UIVisible = FALSE
  518. END
  519.  
  520. PillMaxBtn.MouseButton1Click:CONNECT(toggleMinimize)
  521. PillCloseBtn.MouseButton1Click:CONNECT(closeHub)
  522.  
  523. -- ═══════════════════════════════════════════════════════════
  524. -- TITLE BAR
  525. -- ═══════════════════════════════════════════════════════════
  526. LOCAL TitleBar = Instance.new("Frame")
  527. TitleBar.Size = UDim2.new(1, 0, 0, 42)
  528. TitleBar.BackgroundColor3 = Color3.fromRGB(22, 16, 34)
  529. TitleBar.BorderSizePixel = 0
  530. TitleBar.Parent = MainFrame
  531.  
  532. LOCAL TBC = Instance.new("UICorner")
  533. TBC.CornerRadius = UDim.new(0, 12)
  534. TBC.Parent = TitleBar
  535.  
  536. LOCAL TBCover = Instance.new("Frame")
  537. TBCover.Size = UDim2.new(1, 0, 0, 10)
  538. TBCover.Position = UDim2.new(0, 0, 1, -10)
  539. TBCover.BackgroundColor3 = Color3.fromRGB(22, 16, 34)
  540. TBCover.BorderSizePixel = 0
  541. TBCover.Parent = TitleBar
  542.  
  543. LOCAL TBLogo = Instance.new("ImageLabel")
  544. TBLogo.Size = UDim2.new(0, 26, 0, 26)
  545. TBLogo.Position = UDim2.new(0, 12, 0.5, -13)
  546. TBLogo.Image = "rbxassetid://126054630022043"
  547. TBLogo.BackgroundTransparency = 1
  548. TBLogo.Parent = TitleBar
  549.  
  550. LOCAL TBLabel = Instance.new("TextLabel")
  551. TBLabel.Text = "REIN HUB X VD"
  552. TBLabel.Size = UDim2.new(1, -110, 1, 0)
  553. TBLabel.Position = UDim2.new(0, 44, 0, 0)
  554. TBLabel.BackgroundTransparency = 1
  555. TBLabel.TextColor3 = Color3.fromRGB(200, 170, 255)
  556. TBLabel.Font = Enum.Font.GothamBold
  557. TBLabel.TextSize = 13
  558. TBLabel.TextXAlignment = Enum.TextXAlignment.Left
  559. TBLabel.Parent = TitleBar
  560.  
  561. LOCAL MinBtn = Instance.new("TextButton")
  562. MinBtn.Text = "—"
  563. MinBtn.Size = UDim2.new(0, 28, 0, 28)
  564. MinBtn.Position = UDim2.new(1, -70, 0.5, -14)
  565. MinBtn.BackgroundTransparency = 1
  566. MinBtn.TextColor3 = Color3.fromRGB(255, 200, 80)
  567. MinBtn.Font = Enum.Font.GothamBold
  568. MinBtn.TextSize = 14
  569. MinBtn.Parent = TitleBar
  570. MinBtn.MouseButton1Click:CONNECT(toggleMinimize)
  571.  
  572. LOCAL CloseBtn = Instance.new("ImageButton")
  573. CloseBtn.Size = UDim2.new(0, 22, 0, 22)
  574. CloseBtn.Position = UDim2.new(1, -34, 0.5, -11)
  575. CloseBtn.Image = "rbxassetid://126054630022043"
  576. CloseBtn.BackgroundTransparency = 1
  577. CloseBtn.Parent = TitleBar
  578. CloseBtn.MouseButton1Click:CONNECT(closeHub)
  579.  
  580. -- ═══════════════════════════════════════════════════════════
  581. -- SIDEBAR NAVIGATION — Visual, Combat, Player, Misc, SC, Info
  582. -- ═══════════════════════════════════════════════════════════
  583.  
  584. LOCAL Sidebar = Instance.new("Frame")
  585. Sidebar.Name = "Sidebar"
  586. Sidebar.Size = UDim2.new(0, 142, 1, -42)
  587. Sidebar.Position = UDim2.new(0, 0, 0, 42)
  588. Sidebar.BackgroundColor3 = Color3.fromRGB(12, 9, 20)
  589. Sidebar.BorderSizePixel = 0
  590. Sidebar.Parent = MainFrame
  591.  
  592. LOCAL SidebarStroke = Instance.new("UIStroke")
  593. SidebarStroke.Color = Color3.fromRGB(70, 40, 105)
  594. SidebarStroke.Thickness = 1
  595. SidebarStroke.Transparency = 0.35
  596. SidebarStroke.Parent = Sidebar
  597.  
  598. LOCAL SidebarTitle = Instance.new("TextLabel")
  599. SidebarTitle.Text = "  MENU"
  600. SidebarTitle.Size = UDim2.new(1, -12, 0, 32)
  601. SidebarTitle.Position = UDim2.new(0, 6, 0, 8)
  602. SidebarTitle.BackgroundTransparency = 1
  603. SidebarTitle.TextColor3 = Color3.fromRGB(170, 135, 220)
  604. SidebarTitle.Font = Enum.Font.GothamBold
  605. SidebarTitle.TextSize = 10
  606. SidebarTitle.TextXAlignment = Enum.TextXAlignment.Left
  607. SidebarTitle.Parent = Sidebar
  608.  
  609. LOCAL SideLayout = Instance.new("UIListLayout")
  610. SideLayout.SortOrder = Enum.SortOrder.LayoutOrder
  611. SideLayout.Padding = UDim.new(0, 5)
  612. SideLayout.Parent = Sidebar
  613.  
  614. LOCAL SidePadding = Instance.new("UIPadding")
  615. SidePadding.PaddingTop = UDim.new(0, 46)
  616. SidePadding.PaddingLeft = UDim.new(0, 8)
  617. SidePadding.PaddingRight = UDim.new(0, 8)
  618. SidePadding.Parent = Sidebar
  619.  
  620. LOCAL Tabs = {
  621.     {Name = "Visual",  Icon = "◉"},
  622.     {Name = "Combat",  Icon = "⚔"},
  623.     {Name = "Player",  Icon = "♙"},
  624.     {Name = "Misc",    Icon = "⚙"},
  625.     {Name = "SC",      Icon = "▣"},
  626.     {Name = "Info",    Icon = "ⓘ"},
  627. }
  628.  
  629. LOCAL TabButtons = {}
  630. LOCAL TabPages = {}
  631.  
  632. LOCAL FUNCTION selectTab(name)
  633.     State.ActiveTab = name
  634.  
  635.     FOR tabName, page IN pairs(TabPages) do
  636.         page.Visible = (tabName == name)
  637.     END
  638.  
  639.     FOR tabName, button IN pairs(TabButtons) do
  640.         LOCAL selected = (tabName == name)
  641.  
  642.         button.BackgroundColor3 = selected
  643.             AND Color3.fromRGB(65, 38, 105)
  644.             OR Color3.fromRGB(21, 16, 32)
  645.  
  646.         button.TextColor3 = selected
  647.             AND Color3.fromRGB(235, 215, 255)
  648.             OR Color3.fromRGB(155, 140, 180)
  649.  
  650.         LOCAL indicator = button:FindFirstChild("ActiveIndicator")
  651.         IF indicator THEN
  652.             indicator.BackgroundTransparency = selected AND 0 OR 1
  653.         END
  654.     END
  655. END
  656.  
  657. FOR idx, tabInfo IN ipairs(Tabs) do
  658.     LOCAL name = tabInfo.Name
  659.  
  660.     LOCAL btn = Instance.new("TextButton")
  661.     btn.Name = name
  662.     btn.Text = "  " .. tabInfo.Icon .. "   " .. name
  663.     btn.Size = UDim2.new(1, 0, 0, 38)
  664.     btn.BackgroundColor3 = Color3.fromRGB(21, 16, 32)
  665.     btn.BackgroundTransparency = 0
  666.     btn.TextColor3 = Color3.fromRGB(155, 140, 180)
  667.     btn.Font = Enum.Font.GothamSemibold
  668.     btn.TextSize = 10.5
  669.     btn.TextXAlignment = Enum.TextXAlignment.Left
  670.     btn.BorderSizePixel = 0
  671.     btn.LayoutOrder = idx
  672.     btn.AutoButtonColor = FALSE
  673.     btn.Parent = Sidebar
  674.  
  675.     Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 7)
  676.  
  677.     LOCAL indicator = Instance.new("Frame")
  678.     indicator.Name = "ActiveIndicator"
  679.     indicator.Size = UDim2.new(0, 3, 0, 22)
  680.     indicator.Position = UDim2.new(0, 0, 0.5, -11)
  681.     indicator.BackgroundColor3 = Color3.fromRGB(180, 80, 255)
  682.     indicator.BackgroundTransparency = 1
  683.     indicator.BorderSizePixel = 0
  684.     indicator.Parent = btn
  685.  
  686.     Instance.new("UICorner", indicator).CornerRadius = UDim.new(1, 0)
  687.  
  688.     LOCAL page = Instance.new("ScrollingFrame")
  689.     page.Name = name .. "Page"
  690.     page.Size = UDim2.new(1, -160, 1, -58)
  691.     page.Position = UDim2.new(0, 152, 0, 50)
  692.     page.BackgroundTransparency = 1
  693.     page.ScrollBarThickness = 4
  694.     page.ScrollBarImageColor3 = Color3.fromRGB(160, 50, 255)
  695.     page.ScrollBarImageTransparency = 0.25
  696.     page.BorderSizePixel = 0
  697.     page.AutomaticCanvasSize = Enum.AutomaticSize.Y
  698.     page.CanvasSize = UDim2.new(0, 0, 0, 0)
  699.     page.Visible = (name == "Visual")
  700.     page.Parent = MainFrame
  701.  
  702.     TabPages[name] = page
  703.  
  704.     LOCAL pl = Instance.new("UIListLayout")
  705.     pl.SortOrder = Enum.SortOrder.LayoutOrder
  706.     pl.Padding = UDim.new(0, 6)
  707.     pl.Parent = page
  708.  
  709.     btn.MouseEnter:CONNECT(FUNCTION()
  710.         IF State.ActiveTab ~= name THEN
  711.             TweenService:CREATE(
  712.                 btn,
  713.                 TweenInfo.new(0.15),
  714.                 {BackgroundColor3 = Color3.fromRGB(30, 23, 45)}
  715.             ):Play()
  716.         END
  717.     END)
  718.  
  719.     btn.MouseLeave:CONNECT(FUNCTION()
  720.         IF State.ActiveTab ~= name THEN
  721.             TweenService:CREATE(
  722.                 btn,
  723.                 TweenInfo.new(0.15),
  724.                 {BackgroundColor3 = Color3.fromRGB(21, 16, 32)}
  725.             ):Play()
  726.         END
  727.     END)
  728.  
  729.     btn.MouseButton1Click:CONNECT(FUNCTION()
  730.         selectTab(name)
  731.     END)
  732. END
  733.  
  734. selectTab("Visual")
  735.  
  736. -- ═══════════════════════════════════════════════════════════
  737. -- UI ELEMENT HELPERS
  738. -- ═══════════════════════════════════════════════════════════
  739.  
  740. LOCAL FUNCTION createHeader(parent, text, ORDER)
  741.     LOCAL label = Instance.new("TextLabel")
  742.     label.Size = UDim2.new(1, 0, 0, 28)
  743.     label.BackgroundColor3 = Color3.fromRGB(30, 22, 50)
  744.     label.Text = "   " .. text
  745.     label.TextColor3 = Color3.fromRGB(200, 170, 255)
  746.     label.Font = Enum.Font.GothamBold
  747.     label.TextSize = 11
  748.     label.TextXAlignment = Enum.TextXAlignment.Left
  749.     label.LayoutOrder = ORDER
  750.     label.Parent = parent
  751.     Instance.new("UICorner", label).CornerRadius = UDim.new(0, 6)
  752. END
  753.  
  754. LOCAL FUNCTION stylePremiumButton(btn)
  755.     Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)
  756.  
  757.     LOCAL stroke = Instance.new("UIStroke")
  758.     stroke.Color = Color3.fromRGB(100, 50, 180)
  759.     stroke.Thickness = 1
  760.     stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  761.     stroke.Parent = btn
  762.  
  763.     LOCAL grad = Instance.new("UIGradient")
  764.     grad.Color = ColorSequence.new({
  765.         ColorSequenceKeypoint.new(0, Color3.fromRGB(160, 50, 255)),
  766.         ColorSequenceKeypoint.new(0.5, Color3.fromRGB(80, 30, 140)),
  767.         ColorSequenceKeypoint.new(1, Color3.fromRGB(160, 50, 255)),
  768.     })
  769.     grad.Parent = stroke
  770.     registerGradient(grad)
  771.  
  772.     LOCAL origColor = btn.BackgroundColor3
  773.     btn.MouseEnter:CONNECT(FUNCTION()
  774.         TweenService:CREATE(btn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(80, 45, 140)}):Play()
  775.         TweenService:CREATE(stroke, TweenInfo.new(0.2), {Color = Color3.fromRGB(180, 80, 255)}):Play()
  776.     END)
  777.     btn.MouseLeave:CONNECT(FUNCTION()
  778.         TweenService:CREATE(btn, TweenInfo.new(0.2), {BackgroundColor3 = origColor}):Play()
  779.         TweenService:CREATE(stroke, TweenInfo.new(0.2), {Color = Color3.fromRGB(100, 50, 180)}):Play()
  780.     END)
  781. END
  782.  
  783. LOCAL FUNCTION createToggle(parent, text, DEFAULT, callback, ORDER)
  784.     LOCAL frame = Instance.new("Frame")
  785.     frame.Size = UDim2.new(1, 0, 0, 36)
  786.     frame.BackgroundColor3 = Color3.fromRGB(22, 17, 34)
  787.     frame.LayoutOrder = ORDER
  788.     frame.Parent = parent
  789.     Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 6)
  790.  
  791.     LOCAL label = Instance.new("TextLabel")
  792.     label.Text = "   " .. text
  793.     label.Size = UDim2.new(1, -70, 1, 0)
  794.     label.BackgroundTransparency = 1
  795.     label.TextColor3 = Color3.fromRGB(220, 200, 245)
  796.     label.Font = Enum.Font.Gotham
  797.     label.TextSize = 11.5
  798.     label.TextXAlignment = Enum.TextXAlignment.Left
  799.     label.Parent = frame
  800.  
  801.     LOCAL btn = Instance.new("TextButton")
  802.     btn.Size = UDim2.new(0, 52, 0, 24)
  803.     btn.Position = UDim2.new(1, -62, 0.5, -12)
  804.     btn.BackgroundColor3 = DEFAULT AND Color3.fromRGB(130, 60, 240) OR Color3.fromRGB(50, 45, 65)
  805.     btn.Text = DEFAULT AND "ON" OR "OFF"
  806.     btn.TextColor3 = Color3.fromRGB(255, 255, 255)
  807.     btn.Font = Enum.Font.GothamBold
  808.     btn.TextSize = 10
  809.     btn.Parent = frame
  810.  
  811.     stylePremiumButton(btn)
  812.  
  813.     LOCAL isOn = DEFAULT
  814.     btn.MouseButton1Click:CONNECT(FUNCTION()
  815.         isOn = NOT isOn
  816.         btn.BackgroundColor3 = isOn AND Color3.fromRGB(130, 60, 240) OR Color3.fromRGB(50, 45, 65)
  817.         btn.Text = isOn AND "ON" OR "OFF"
  818.         IF callback THEN callback(isOn) END
  819.     END)
  820.     RETURN btn
  821. END
  822.  
  823. -- ═══════════════════════════════════════════════════════════
  824. -- VISUAL TAB — ESP & Generator HUD
  825. -- ═══════════════════════════════════════════════════════════
  826. LOCAL vPage = TabPages.Visual
  827. createHeader(vPage, "👁️ Visual Settings", 1)
  828.  
  829. createToggle(vPage, "ESP Players (Green)", FALSE, FUNCTION(v)
  830.     State.ESPPlayers = v
  831.     IF NOT v THEN cleanESP() END
  832. END, 2)
  833.  
  834. createToggle(vPage, "ESP Killer (Red)", FALSE, FUNCTION(v)
  835.     State.ESPKiller = v
  836.     IF NOT v THEN cleanESP() END
  837. END, 3)
  838.  
  839. createToggle(vPage, "ESP Generators", FALSE, FUNCTION(v)
  840.     State.ESPGenerators = v
  841.     IF NOT v THEN cleanESP() END
  842. END, 4)
  843.  
  844. createToggle(vPage, "Generator Progress Details", FALSE, FUNCTION(v)
  845.     State.ESPGenProgress = v
  846. END, 5)
  847.  
  848. -- Generator HUD
  849. LOCAL GenHUD = Instance.new("Frame")
  850. GenHUD.Name = "REINGenHUD"
  851. GenHUD.Size = UDim2.new(0, 190, 0, 95)
  852. GenHUD.Position = UDim2.new(0.8, -10, 0.15, 0)
  853. GenHUD.BackgroundColor3 = Color3.fromRGB(18, 12, 28)
  854. GenHUD.BorderSizePixel = 0
  855. GenHUD.Active = TRUE
  856. GenHUD.Draggable = TRUE
  857. GenHUD.Visible = FALSE
  858. GenHUD.Parent = ScreenGui
  859.  
  860. Instance.new("UICorner", GenHUD).CornerRadius = UDim.new(0, 8)
  861.  
  862. LOCAL HUDStroke = Instance.new("UIStroke")
  863. HUDStroke.Color = Color3.fromRGB(255, 255, 255)
  864. HUDStroke.Thickness = 1.8
  865. HUDStroke.Parent = GenHUD
  866.  
  867. LOCAL HUDGrad = Instance.new("UIGradient")
  868. HUDGrad.Color = ColorSequence.new({
  869.     ColorSequenceKeypoint.new(0, Color3.fromRGB(160, 50, 255)),
  870.     ColorSequenceKeypoint.new(0.5, Color3.fromRGB(30, 10, 60)),
  871.     ColorSequenceKeypoint.new(1, Color3.fromRGB(160, 50, 255)),
  872. })
  873. HUDGrad.Parent = HUDStroke
  874. registerGradient(HUDGrad)
  875.  
  876. LOCAL HUDTitle = Instance.new("TextLabel")
  877. HUDTitle.Text = "⚡ GENERATORS LEFT"
  878. HUDTitle.Size = UDim2.new(1, 0, 0, 26)
  879. HUDTitle.BackgroundTransparency = 1
  880. HUDTitle.TextColor3 = Color3.fromRGB(180, 140, 255)
  881. HUDTitle.Font = Enum.Font.GothamBold
  882. HUDTitle.TextSize = 10
  883. HUDTitle.Parent = GenHUD
  884.  
  885. LOCAL HUDContent = Instance.new("TextLabel")
  886. HUDContent.Text = "Calculating..."
  887. HUDContent.Size = UDim2.new(1, -16, 1, -26)
  888. HUDContent.Position = UDim2.new(0, 8, 0, 24)
  889. HUDContent.BackgroundTransparency = 1
  890. HUDContent.TextColor3 = Color3.fromRGB(220, 200, 240)
  891. HUDContent.Font = Enum.Font.GothamSemibold
  892. HUDContent.TextSize = 10.5
  893. HUDContent.TextXAlignment = Enum.TextXAlignment.Left
  894. HUDContent.TextYAlignment = Enum.TextYAlignment.Top
  895. HUDContent.Parent = GenHUD
  896.  
  897. createToggle(vPage, "Generator Counter HUD", FALSE, FUNCTION(v)
  898.     State.GenHUDVisible = v
  899.     GenHUD.Visible = v
  900. END, 6)
  901.  
  902. -- ESP Helpers
  903. LOCAL FUNCTION getGenerators()
  904.     LOCAL gens = {}
  905.     pcall(FUNCTION()
  906.         FOR _, obj IN ipairs(workspace:GetDescendants()) do
  907.             IF obj.Name:LOWER():find("generator") AND obj:IsA("Model") THEN
  908.                 TABLE.insert(gens, obj)
  909.             END
  910.         END
  911.     END)
  912.     RETURN gens
  913. END
  914.  
  915. LOCAL FUNCTION getGenProgress(gen)
  916.     LOCAL prog = gen:FindFirstChild("Progress") OR gen:FindFirstChild("progress") OR gen:FindFirstChild("Percent")
  917.     IF prog AND prog:IsA("ValueBase") THEN RETURN prog.Value END
  918.     LOCAL attr = gen:GetAttribute("Progress") OR gen:GetAttribute("progress")
  919.     IF attr THEN RETURN attr END
  920.     LOCAL bGui = gen:FindFirstChildOfClass("BillboardGui") OR gen:FindFirstChildOfClass("SurfaceGui")
  921.     IF bGui THEN
  922.         LOCAL lbl = bGui:FindFirstChildOfClass("TextLabel")
  923.         IF lbl THEN
  924.             LOCAL num = lbl.Text:MATCH("(%d+)")
  925.             IF num THEN RETURN tonumber(num) END
  926.         END
  927.     END
  928.     RETURN nil
  929. END
  930.  
  931. LOCAL FUNCTION updateGenHUD()
  932.     IF NOT State.GenHUDVisible THEN RETURN END
  933.     LOCAL gens = getGenerators()
  934.     LOCAL total = #gens
  935.     LOCAL completed, active = 0, 0
  936.     FOR _, g IN ipairs(gens) do
  937.         LOCAL p = getGenProgress(g)
  938.         IF p AND p >= 100 THEN completed = completed + 1 ELSE active = active + 1 END
  939.     END
  940.     HUDContent.Text = string.format("Unfinished: %d\nCompleted: %d\nTotal Gens: %d\nEscape: %s",
  941.         active, completed, total, active == 0 AND "READY" OR "IN PROGRESS")
  942. END
  943.  
  944. LOCAL ESPFolder = Instance.new("Folder")
  945. ESPFolder.Name = "REIN_ESP"
  946. pcall(FUNCTION() ESPFolder.Parent = CoreGui END)
  947. IF NOT ESPFolder.Parent THEN ESPFolder.Parent = ScreenGui END
  948.  
  949. FUNCTION cleanESP()
  950.     pcall(FUNCTION()
  951.         FOR _, obj IN ipairs(ESPFolder:GetChildren()) do obj:Destroy() END
  952.         FOR _, p IN ipairs(Players:GetPlayers()) do
  953.             IF p.Character THEN
  954.                 LOCAL h = p.Character:FindFirstChild("REIN_Highlight")
  955.                 IF h THEN h:Destroy() END
  956.                 LOCAL b = p.Character:FindFirstChild("REIN_Billboard")
  957.                 IF b THEN b:Destroy() END
  958.             END
  959.         END
  960.         FOR _, g IN ipairs(getGenerators()) do
  961.             LOCAL h = g:FindFirstChild("REIN_Highlight")
  962.             IF h THEN h:Destroy() END
  963.             LOCAL b = g:FindFirstChild("REIN_Billboard")
  964.             IF b THEN b:Destroy() END
  965.         END
  966.     END)
  967. END
  968.  
  969. LOCAL FUNCTION applyHighlight(object, color, name, isGen)
  970.     IF NOT object THEN RETURN END
  971.     LOCAL highlight = object:FindFirstChild("REIN_Highlight")
  972.     IF NOT highlight THEN
  973.         highlight = Instance.new("Highlight")
  974.         highlight.Name = "REIN_Highlight"
  975.         highlight.FillColor = color
  976.         highlight.FillTransparency = 0.5
  977.         highlight.OutlineColor = color
  978.         highlight.OutlineTransparency = 0.1
  979.         highlight.Adornee = object
  980.         highlight.Parent = object
  981.     ELSE
  982.         highlight.OutlineColor = color
  983.         highlight.FillColor = color
  984.     END
  985.     LOCAL bill = object:FindFirstChild("REIN_Billboard")
  986.     IF NOT bill THEN
  987.         bill = Instance.new("BillboardGui")
  988.         bill.Name = "REIN_Billboard"
  989.         bill.Size = UDim2.new(0, 120, 0, 45)
  990.         bill.AlwaysOnTop = TRUE
  991.         bill.StudsOffset = Vector3.new(0, 3.5, 0)
  992.         bill.Adornee = object:IsA("Model") AND (object.PrimaryPart OR object:FindFirstChild("HumanoidRootPart") OR object:FindFirstChildOfClass("Part")) OR object
  993.         bill.Parent = object
  994.         LOCAL t = Instance.new("TextLabel")
  995.         t.BackgroundTransparency = 1
  996.         t.Size = UDim2.new(1, 0, 1, 0)
  997.         t.TextColor3 = color
  998.         t.Font = Enum.Font.GothamBold
  999.         t.TextSize = 10
  1000.         t.TextStrokeTransparency = 0.4
  1001.         t.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
  1002.         t.Text = name
  1003.         t.Parent = bill
  1004.     END
  1005.     LOCAL lbl = bill:FindFirstChildOfClass("TextLabel")
  1006.     IF lbl AND LocalPlayer.Character AND LocalPlayer.Character:FindFirstChild("HumanoidRootPart") THEN
  1007.         LOCAL myHrp = LocalPlayer.Character.HumanoidRootPart
  1008.         LOCAL tPart = object:IsA("Model") AND (object.PrimaryPart OR object:FindFirstChild("HumanoidRootPart") OR object:FindFirstChildOfClass("Part")) OR object
  1009.         IF tPart THEN
  1010.             LOCAL dist = math.round((myHrp.Position - tPart.Position).Magnitude)
  1011.             IF isGen AND State.ESPGenProgress THEN
  1012.                 LOCAL prog = getGenProgress(object) OR 0
  1013.                 lbl.Text = string.format("%s\n[%d%%] | %d studs", name, prog, dist)
  1014.             ELSE
  1015.                 lbl.Text = string.format("%s\n%d studs", name, dist)
  1016.             END
  1017.             lbl.TextColor3 = color
  1018.         END
  1019.     END
  1020. END
  1021.  
  1022. LOCAL FUNCTION runESPUpdate()
  1023.     -- Players ESP — GREEN for survivors, RED for killer
  1024.     IF State.ESPPlayers OR State.ESPKiller THEN
  1025.         FOR _, p IN ipairs(Players:GetPlayers()) do
  1026.             IF p ~= LocalPlayer AND p.Character AND p.Character:FindFirstChild("HumanoidRootPart") THEN
  1027.                 LOCAL isKiller = (p.Team AND p.Team.Name:LOWER():find("killer")) OR p.Character:FindFirstChild("Knife") OR p.Character:FindFirstChild("Weapon")
  1028.                 IF isKiller AND State.ESPKiller THEN
  1029.                     applyHighlight(p.Character, TeamColors.Killer, p.Name .. " [KILLER]", FALSE)
  1030.                 ELSEIF NOT isKiller AND State.ESPPlayers THEN
  1031.                     applyHighlight(p.Character, TeamColors.Survivors, p.Name .. " [SURVIVOR]", FALSE)
  1032.                 ELSE
  1033.                     LOCAL h = p.Character:FindFirstChild("REIN_Highlight")
  1034.                     IF h THEN h:Destroy() END
  1035.                     LOCAL b = p.Character:FindFirstChild("REIN_Billboard")
  1036.                     IF b THEN b:Destroy() END
  1037.                 END
  1038.             END
  1039.         END
  1040.     END
  1041.     -- Generator ESP
  1042.     IF State.ESPGenerators THEN
  1043.         FOR _, gen IN ipairs(getGenerators()) do
  1044.             applyHighlight(gen, TeamColors.Generator, "Generator", TRUE)
  1045.         END
  1046.     END
  1047. END
  1048.  
  1049. TABLE.insert(State.Connections, RunService.Heartbeat:CONNECT(FUNCTION()
  1050.     IF tick() % 0.3 < 0.05 THEN
  1051.         pcall(runESPUpdate)
  1052.         pcall(updateGenHUD)
  1053.     END
  1054. END))
  1055.  
  1056. -- ═══════════════════════════════════════════════════════════
  1057. -- COMBAT TAB — Auto Parry & God Mode
  1058. -- ═══════════════════════════════════════════════════════════
  1059. LOCAL cPage = TabPages.Combat
  1060. createHeader(cPage, "⚔️ Combat Systems", 1)
  1061.  
  1062. createToggle(cPage, "Auto Parry (Comming Soon)", FALSE, FUNCTION(v) State.AutoParry = v END, 2)
  1063. createToggle(cPage, "God Mode (Comming Soon)", FALSE, FUNCTION(v) State.GodMode = v END, 3)
  1064.  
  1065. -- Auto Parry — using ReplicatedStorage.Items.ParryClient
  1066. LOCAL parryDebounce = FALSE
  1067. LOCAL FUNCTION tryParry()
  1068.     IF parryDebounce OR NOT State.AutoParry THEN RETURN END
  1069.     parryDebounce = TRUE
  1070.  
  1071.     -- Find parry remote dynamically
  1072.     LOCAL pRemote = ParryClient
  1073.     IF NOT pRemote THEN
  1074.         pcall(FUNCTION()
  1075.             pRemote = ReplicatedStorage:FindFirstChild("Items") AND ReplicatedStorage.Items:FindFirstChild("ParryClient")
  1076.         END)
  1077.     END
  1078.     IF NOT pRemote THEN
  1079.         pcall(FUNCTION()
  1080.             LOCAL parryDagger = ItemRemotes AND ItemRemotes:FindFirstChild("Parrying Dagger")
  1081.             pRemote = parryDagger AND parryDagger:FindFirstChild("parry")
  1082.         END)
  1083.     END
  1084.     -- Deep search fallback
  1085.     IF NOT pRemote THEN
  1086.         pcall(FUNCTION()
  1087.             FOR _, v IN ipairs(ReplicatedStorage:GetDescendants()) do
  1088.                 IF (v.Name == "ParryClient" OR v.Name == "parry") AND (v:IsA("RemoteEvent") OR v:IsA("RemoteFunction") OR v:IsA("BindableEvent")) THEN
  1089.                     pRemote = v
  1090.                     break
  1091.                 END
  1092.             END
  1093.         END)
  1094.     END
  1095.  
  1096.     IF pRemote THEN
  1097.         pcall(FUNCTION()
  1098.             IF pRemote:IsA("RemoteEvent") THEN
  1099.                 pRemote:FireServer()
  1100.             ELSEIF pRemote:IsA("BindableEvent") THEN
  1101.                 pRemote:Fire()
  1102.             ELSEIF pRemote:IsA("RemoteFunction") THEN
  1103.                 pRemote:InvokeServer()
  1104.             ELSE
  1105.                 pRemote:FireServer()
  1106.             END
  1107.         END)
  1108.     END
  1109.     task.delay(0.15, FUNCTION() parryDebounce = FALSE END)
  1110. END
  1111.  
  1112. LOCAL FUNCTION checkKillerStrike()
  1113.     IF NOT State.AutoParry THEN RETURN END
  1114.     LOCAL CHAR = LocalPlayer.Character
  1115.     LOCAL hrp = CHAR AND CHAR:FindFirstChild("HumanoidRootPart")
  1116.     IF NOT hrp THEN RETURN END
  1117.  
  1118.     FOR _, k IN ipairs(Players:GetPlayers()) do
  1119.         IF k ~= LocalPlayer AND k.Character AND k.Character:FindFirstChild("HumanoidRootPart") THEN
  1120.             LOCAL kHrp = k.Character.HumanoidRootPart
  1121.             LOCAL dist = (hrp.Position - kHrp.Position).Magnitude
  1122.  
  1123.             IF dist >= 2 AND dist <= 14 THEN
  1124.                 LOCAL isKiller = (k.Team AND k.Team.Name:LOWER():find("killer")) OR k.Character:FindFirstChild("Knife") OR k.Character:FindFirstChild("Weapon")
  1125.                 IF isKiller THEN
  1126.                     LOCAL hum = k.Character:FindFirstChildOfClass("Humanoid")
  1127.                     IF hum THEN
  1128.                         LOCAL anims = hum:GetPlayingAnimationTracks()
  1129.                         FOR _, a IN ipairs(anims) do
  1130.                             LOCAL n = a.Name:LOWER()
  1131.                             IF n:find("attack") OR n:find("slash") OR n:find("swing") OR n:find("strike") OR n:find("hit") OR n:find("lunge") THEN
  1132.                                 tryParry()
  1133.                                 RETURN
  1134.                             END
  1135.                         END
  1136.                     END
  1137.                 END
  1138.             END
  1139.         END
  1140.     END
  1141. END
  1142.  
  1143. TABLE.insert(State.Connections, RunService.Heartbeat:CONNECT(checkKillerStrike))
  1144.  
  1145. IF AttackHitRemote THEN
  1146.     TABLE.insert(State.Connections, AttackHitRemote.OnClientEvent:CONNECT(FUNCTION()
  1147.         IF State.AutoParry THEN tryParry() END
  1148.     END))
  1149. END
  1150.  
  1151. IF LungeDetectRemote THEN
  1152.     TABLE.insert(State.Connections, LungeDetectRemote.OnClientEvent:CONNECT(FUNCTION(killer)
  1153.         IF State.AutoParry AND killer AND killer ~= LocalPlayer THEN
  1154.             LOCAL CHAR = LocalPlayer.Character
  1155.             LOCAL hrp = CHAR AND CHAR:FindFirstChild("HumanoidRootPart")
  1156.             IF hrp AND killer.Character AND killer.Character:FindFirstChild("HumanoidRootPart") THEN
  1157.                 LOCAL dist = (hrp.Position - killer.Character.HumanoidRootPart.Position).Magnitude
  1158.                 IF dist <= 14 THEN tryParry() END
  1159.             END
  1160.         END
  1161.     END))
  1162. END
  1163.  
  1164. -- ═══════════════════════════════════════════════════════════
  1165. -- GOD MODE — HP 999999 + Space (hook/continue) works normally
  1166. -- ═══════════════════════════════════════════════════════════
  1167. -- Hook namecall to block INCOMING damage only (not outgoing killer actions)
  1168. LOCAL oldNamecall
  1169. oldNamecall = hookmetamethod(game, "__namecall", newcclosure(FUNCTION(SELF, ...)
  1170.     LOCAL method = getnamecallmethod()
  1171.     IF method == "FireServer" AND State.GodMode THEN
  1172.         LOCAL isLocalKiller = LocalPlayer.Team AND LocalPlayer.Team.Name:LOWER():find("killer")
  1173.         LOCAL name = SELF.Name:LOWER()
  1174.         -- Block incoming damage/hook remotes ONLY for survivors
  1175.         -- Do NOT block: hook (when you're killer), continue, space, interact, generator, skill
  1176.         IF NOT isLocalKiller THEN
  1177.             IF name:find("takedamage") OR name:find("injure") OR name:find("down") THEN
  1178.                 RETURN
  1179.             END
  1180.             IF SELF == AttackHitRemote THEN
  1181.                 RETURN
  1182.             END
  1183.         END
  1184.     END
  1185.     RETURN oldNamecall(SELF, ...)
  1186. END))
  1187.  
  1188. -- God Mode health loop — sets HP to 999999 continuously
  1189. TABLE.insert(State.Connections, RunService.Heartbeat:CONNECT(FUNCTION()
  1190.     IF State.GodMode AND LocalPlayer.Character THEN
  1191.         LOCAL hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
  1192.         IF hum THEN
  1193.             pcall(FUNCTION()
  1194.                 IF hum.MaxHealth ~= 999999 THEN hum.MaxHealth = 999999 END
  1195.                 IF hum.Health < 999999 THEN hum.Health = 999999 END
  1196.             END)
  1197.         END
  1198.     END
  1199. END))
  1200.  
  1201. -- ═══════════════════════════════════════════════════════════
  1202. -- PLAYER TAB — Player List, Details, Teleport & Speed
  1203. -- ═══════════════════════════════════════════════════════════
  1204. LOCAL pPage = TabPages.Player
  1205.  
  1206. LOCAL PlayerContent = Instance.new("Frame")
  1207. PlayerContent.Size = UDim2.new(1, 0, 1, 0)
  1208. PlayerContent.BackgroundTransparency = 1
  1209. PlayerContent.LayoutOrder = 1
  1210. PlayerContent.Parent = pPage
  1211.  
  1212. LOCAL PlayerLeft = Instance.new("ScrollingFrame")
  1213. PlayerLeft.Size = UDim2.new(0, 170, 1, 0)
  1214. PlayerLeft.BackgroundTransparency = 1
  1215. PlayerLeft.ScrollBarThickness = 4
  1216. PlayerLeft.Parent = PlayerContent
  1217.  
  1218. LOCAL LeftLayout = Instance.new("UIListLayout")
  1219. LeftLayout.SortOrder = Enum.SortOrder.LayoutOrder
  1220. LeftLayout.Padding = UDim.new(0, 4)
  1221. LeftLayout.Parent = PlayerLeft
  1222.  
  1223. LOCAL PlayerRight = Instance.new("Frame")
  1224. PlayerRight.Size = UDim2.new(1, -180, 1, 0)
  1225. PlayerRight.Position = UDim2.new(0, 180, 0, 0)
  1226. PlayerRight.BackgroundColor3 = Color3.fromRGB(22, 17, 34)
  1227. PlayerRight.BorderSizePixel = 0
  1228. PlayerRight.Parent = PlayerContent
  1229. Instance.new("UICorner", PlayerRight).CornerRadius = UDim.new(0, 8)
  1230.  
  1231. LOCAL RightLayout = Instance.new("UIListLayout")
  1232. RightLayout.SortOrder = Enum.SortOrder.LayoutOrder
  1233. RightLayout.Padding = UDim.new(0, 8)
  1234. RightLayout.Parent = PlayerRight
  1235.  
  1236. LOCAL DetailTitle = Instance.new("TextLabel")
  1237. DetailTitle.Text = "🔍 PLAYER DETAILS"
  1238. DetailTitle.Size = UDim2.new(1, 0, 0, 24)
  1239. DetailTitle.BackgroundTransparency = 1
  1240. DetailTitle.TextColor3 = Color3.fromRGB(180, 140, 255)
  1241. DetailTitle.Font = Enum.Font.GothamBold
  1242. DetailTitle.TextSize = 11
  1243. DetailTitle.Parent = PlayerRight
  1244.  
  1245. LOCAL DetailText = Instance.new("TextLabel")
  1246. DetailText.Text = "Select a player from the list."
  1247. DetailText.Size = UDim2.new(1, -20, 0, 80)
  1248. DetailText.Position = UDim2.new(0, 10, 0, 0)
  1249. DetailText.BackgroundTransparency = 1
  1250. DetailText.TextColor3 = Color3.fromRGB(210, 195, 235)
  1251. DetailText.Font = Enum.Font.Gotham
  1252. DetailText.TextSize = 11
  1253. DetailText.TextXAlignment = Enum.TextXAlignment.Left
  1254. DetailText.TextYAlignment = Enum.TextYAlignment.Top
  1255. DetailText.Parent = PlayerRight
  1256.  
  1257. -- Teleport Button
  1258. LOCAL TeleportBtn = Instance.new("TextButton")
  1259. TeleportBtn.Text = "Teleport To Player"
  1260. TeleportBtn.Size = UDim2.new(1, -20, 0, 28)
  1261. TeleportBtn.BackgroundColor3 = Color3.fromRGB(90, 50, 200)
  1262. TeleportBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
  1263. TeleportBtn.Font = Enum.Font.GothamBold
  1264. TeleportBtn.TextSize = 11
  1265. TeleportBtn.Visible = FALSE
  1266. TeleportBtn.Parent = PlayerRight
  1267. Instance.new("UICorner", TeleportBtn).CornerRadius = UDim.new(0, 6)
  1268.  
  1269. TeleportBtn.MouseButton1Click:CONNECT(FUNCTION()
  1270.     LOCAL target = State.SelectedPlayer
  1271.     IF target AND target.Character AND target.Character:FindFirstChild("HumanoidRootPart") AND LocalPlayer.Character AND LocalPlayer.Character:FindFirstChild("HumanoidRootPart") THEN
  1272.         LocalPlayer.Character.HumanoidRootPart.CFrame = target.Character.HumanoidRootPart.CFrame * CFrame.new(0, 0, 3)
  1273.     END
  1274. END)
  1275.  
  1276. -- Walk Speed controls
  1277. LOCAL SpeedTitle = Instance.new("TextLabel")
  1278. SpeedTitle.Text = "🏃 WALK SPEED"
  1279. SpeedTitle.Size = UDim2.new(1, 0, 0, 20)
  1280. SpeedTitle.BackgroundTransparency = 1
  1281. SpeedTitle.TextColor3 = Color3.fromRGB(180, 140, 255)
  1282. SpeedTitle.Font = Enum.Font.GothamBold
  1283. SpeedTitle.TextSize = 11
  1284. SpeedTitle.Parent = PlayerRight
  1285.  
  1286. LOCAL SpeedFrame = Instance.new("Frame")
  1287. SpeedFrame.Size = UDim2.new(1, -20, 0, 32)
  1288. SpeedFrame.BackgroundTransparency = 1
  1289. SpeedFrame.Parent = PlayerRight
  1290.  
  1291. LOCAL SpeedInput = Instance.new("TextBox")
  1292. SpeedInput.Text = "16"
  1293. SpeedInput.PlaceholderText = "Speed (5-100)"
  1294. SpeedInput.Size = UDim2.new(0.4, 0, 1, 0)
  1295. SpeedInput.BackgroundColor3 = Color3.fromRGB(30, 25, 45)
  1296. SpeedInput.TextColor3 = Color3.fromRGB(255, 255, 255)
  1297. SpeedInput.Font = Enum.Font.Gotham
  1298. SpeedInput.TextSize = 11
  1299. SpeedInput.Parent = SpeedFrame
  1300. Instance.new("UICorner", SpeedInput).CornerRadius = UDim.new(0, 6)
  1301.  
  1302. LOCAL SpeedToggle = Instance.new("TextButton")
  1303. SpeedToggle.Text = "Speed: OFF"
  1304. SpeedToggle.Size = UDim2.new(0.56, 0, 1, 0)
  1305. SpeedToggle.Position = UDim2.new(0.44, 0, 0, 0)
  1306. SpeedToggle.BackgroundColor3 = Color3.fromRGB(50, 45, 65)
  1307. SpeedToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
  1308. SpeedToggle.Font = Enum.Font.GothamBold
  1309. SpeedToggle.TextSize = 11
  1310. SpeedToggle.Parent = SpeedFrame
  1311. stylePremiumButton(SpeedToggle)
  1312.  
  1313. SpeedToggle.MouseButton1Click:CONNECT(FUNCTION()
  1314.     State.SpeedEnabled = NOT State.SpeedEnabled
  1315.     SpeedToggle.Text = State.SpeedEnabled AND "Speed: ON" OR "Speed: OFF"
  1316.     SpeedToggle.BackgroundColor3 = State.SpeedEnabled AND Color3.fromRGB(130, 60, 240) OR Color3.fromRGB(50, 45, 65)
  1317. END)
  1318.  
  1319. SpeedInput:GetPropertyChangedSignal("Text"):CONNECT(FUNCTION()
  1320.     LOCAL val = tonumber(SpeedInput.Text)
  1321.     IF val THEN State.WalkSpeed = math.clamp(val, 5, 100) END
  1322. END)
  1323.  
  1324. TABLE.insert(State.Connections, RunService.Heartbeat:CONNECT(FUNCTION()
  1325.     IF State.SpeedEnabled AND LocalPlayer.Character THEN
  1326.         LOCAL hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
  1327.         IF hum THEN hum.WalkSpeed = State.WalkSpeed END
  1328.     END
  1329. END))
  1330.  
  1331. LOCAL FUNCTION rebuildPlayerList()
  1332.     FOR _, c IN ipairs(PlayerLeft:GetChildren()) do
  1333.         IF c:IsA("TextButton") THEN c:Destroy() END
  1334.     END
  1335.     LOCAL idx = 1
  1336.     FOR _, p IN ipairs(Players:GetPlayers()) do
  1337.         LOCAL btn = Instance.new("TextButton")
  1338.         btn.Size = UDim2.new(1, -8, 0, 30)
  1339.         btn.BackgroundColor3 = (State.SelectedPlayer == p) AND Color3.fromRGB(70, 40, 120) OR Color3.fromRGB(28, 22, 40)
  1340.         btn.Text = "  " .. p.Name
  1341.         btn.TextColor3 = (State.SelectedPlayer == p) AND Color3.fromRGB(230, 200, 255) OR Color3.fromRGB(195, 185, 215)
  1342.         btn.Font = Enum.Font.GothamBold
  1343.         btn.TextSize = 11
  1344.         btn.TextXAlignment = Enum.TextXAlignment.Left
  1345.         btn.LayoutOrder = idx
  1346.         btn.Parent = PlayerLeft
  1347.         Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)
  1348.  
  1349.         btn.MouseButton1Click:CONNECT(FUNCTION()
  1350.             State.SelectedPlayer = p
  1351.             rebuildPlayerList()
  1352.             LOCAL team = p.Team AND p.Team.Name OR "Unknown"
  1353.             LOCAL hp = 100
  1354.             pcall(FUNCTION()
  1355.                 IF p.Character AND p.Character:FindFirstChildOfClass("Humanoid") THEN
  1356.                     hp = math.round(p.Character:FindFirstChildOfClass("Humanoid").Health)
  1357.                 END
  1358.             END)
  1359.             DetailText.Text = string.format("Name: %s\nTeam: %s\nHealth: %d\nAccount Age: %d days\nUserId: %d",
  1360.                 p.Name, team, hp, p.AccountAge OR 0, p.UserId)
  1361.             TeleportBtn.Visible = TRUE
  1362.         END)
  1363.         idx = idx + 1
  1364.     END
  1365.     PlayerLeft.CanvasSize = UDim2.new(0, 0, 0, idx * 34)
  1366. END
  1367.  
  1368. TABLE.insert(State.Connections, RunService.Heartbeat:CONNECT(FUNCTION()
  1369.     IF State.ActiveTab == "Player" AND tick() % 3.0 < 0.05 THEN rebuildPlayerList() END
  1370. END))
  1371. rebuildPlayerList()
  1372.  
  1373. -- ═══════════════════════════════════════════════════════════
  1374. -- MISC TAB — Perfect Generator & AFK
  1375. -- ═══════════════════════════════════════════════════════════
  1376. LOCAL mPage = TabPages.Misc
  1377. createHeader(mPage, "🔧 Generator & AFK Systems", 1)
  1378.  
  1379. createToggle(mPage, "Perfect Generator (Comming Soon)", FALSE, FUNCTION(v)
  1380.     State.PerfectGen = v
  1381. END, 2)
  1382.  
  1383. -- Helper for new Perfect Generator
  1384. LOCAL FUNCTION normalizeAngle(angle)
  1385.     angle = angle % 360
  1386.     RETURN angle < 0 AND angle + 360 OR angle
  1387. END
  1388.  
  1389. -- Perfect Generator — intercept skillcheck events and auto-succeed
  1390. LOCAL FUNCTION Autogen()
  1391.     IF NOT State.PerfectGen THEN RETURN END
  1392.     pcall(FUNCTION()
  1393.         LOCAL CheckPrompt = LocalPlayer.PlayerGui:FindFirstChild("SkillCheckPromptGui")
  1394.         IF CheckPrompt AND CheckPrompt.Check AND CheckPrompt.Check.Line AND CheckPrompt.Check.Goal THEN
  1395.             LOCAL Rotation = CheckPrompt.Check.Line.Rotation
  1396.             LOCAL GoalRotation = CheckPrompt.Check.Goal.Rotation
  1397.  
  1398.             Rotation = normalizeAngle(Rotation)
  1399.             GoalRotation = normalizeAngle(GoalRotation)
  1400.  
  1401.             LOCAL lowerSuccess = normalizeAngle(104 + GoalRotation)
  1402.             LOCAL upperSuccess = normalizeAngle(114 + GoalRotation)
  1403.  
  1404.             IF lowerSuccess <= Rotation AND Rotation <= upperSuccess THEN
  1405.                 VirtualUser:CaptureController()
  1406.                 VirtualUser:KeyPress(Enum.KeyCode.Space)
  1407.                 task.wait()
  1408.                 VirtualUser:KeyRelease(Enum.KeyCode.Space)
  1409.             END
  1410.         END
  1411.     END)
  1412. END
  1413.  
  1414. -- Lobby Stay & Neon RGB AFK Mode
  1415.   LOCAL afkTimerLabel = Instance.new("TextLabel")
  1416.   afkTimerLabel.Text = "AFK Time: 00:00:00"
  1417.   afkTimerLabel.Size = UDim2.new(1, 0, 0, 24)
  1418.   afkTimerLabel.BackgroundTransparency = 1
  1419.   afkTimerLabel.Font = Enum.Font.GothamBold
  1420.   afkTimerLabel.TextSize = 12.5
  1421.   afkTimerLabel.LayoutOrder = 4
  1422.   afkTimerLabel.Parent = mPage
  1423.  
  1424.   LOCAL PreAFKCFrame = nil
  1425.  
  1426.   createToggle(mPage, "Lobby AFK Safe Mode", FALSE, FUNCTION(v)
  1427.       State.AFKMode = v
  1428.       IF v THEN
  1429.           State.AFKStartTime = os.time()
  1430.           IF LocalPlayer.Character AND LocalPlayer.Character:FindFirstChild("HumanoidRootPart") THEN
  1431.               PreAFKCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame
  1432.               LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(0, 5000, 0)
  1433.              
  1434.               LOCAL part = Instance.new("Part")
  1435.               part.Name = "REIN_AFKPlatform"
  1436.               part.Size = Vector3.new(12, 1.5, 12)
  1437.               part.Position = Vector3.new(0, 4995, 0)
  1438.               part.Anchored = TRUE
  1439.               part.Parent = workspace
  1440.           END
  1441.       ELSE
  1442.           afkTimerLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
  1443.           afkTimerLabel.Text = "AFK Time: 00:00:00"
  1444.          
  1445.           LOCAL plat = workspace:FindFirstChild("REIN_AFKPlatform")
  1446.           IF plat THEN plat:Destroy() END
  1447.          
  1448.           IF LocalPlayer.Character AND LocalPlayer.Character:FindFirstChild("HumanoidRootPart") THEN
  1449.               IF PreAFKCFrame THEN
  1450.                   LocalPlayer.Character.HumanoidRootPart.CFrame = PreAFKCFrame
  1451.               ELSE
  1452.                   LOCAL spawns = {}
  1453.                   FOR _, obj IN ipairs(workspace:GetDescendants()) do
  1454.                       IF obj:IsA("SpawnLocation") THEN
  1455.                           TABLE.insert(spawns, obj)
  1456.                       END
  1457.                   END
  1458.                   IF #spawns > 0 THEN
  1459.                       LOCAL randomSpawn = spawns[math.random(1, #spawns)]
  1460.                       LocalPlayer.Character.HumanoidRootPart.CFrame = randomSpawn.CFrame * CFrame.new(0, 3, 0)
  1461.                   ELSE
  1462.                       LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(0, 15, 0)
  1463.                   END
  1464.               END
  1465.           END
  1466.           PreAFKCFrame = nil
  1467.       END
  1468.   END, 3)
  1469.  
  1470.   TABLE.insert(State.Connections, RunService.Heartbeat:CONNECT(FUNCTION()
  1471.       IF State.AFKMode THEN
  1472.           LOCAL hue = tick() % 4 / 4
  1473.           afkTimerLabel.TextColor3 = Color3.fromHSV(hue, 1, 1)
  1474.          
  1475.           LOCAL diff = os.time() - State.AFKStartTime
  1476.           LOCAL h = math.floor(diff / 3600)
  1477.           LOCAL m = math.floor((diff % 3600) / 60)
  1478.           LOCAL s = diff % 60
  1479.           afkTimerLabel.Text = string.format("AFK Time: %02d:%02d:%02d", h, m, s)
  1480.          
  1481.           IF LocalPlayer.Character AND LocalPlayer.Character:FindFirstChild("HumanoidRootPart") THEN
  1482.               LOCAL pos = LocalPlayer.Character.HumanoidRootPart.Position
  1483.               IF pos.Y < 4500 AND workspace:FindFirstChild("REIN_AFKPlatform") THEN
  1484.                   LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(0, 5000, 0)
  1485.               END
  1486.           END
  1487.       END
  1488.   END))
  1489.  
  1490. -- AFK Mode display
  1491. LOCAL afkTimerLabel = Instance.new("TextLabel")
  1492. afkTimerLabel.Text = "Anti-AFK: ACTIVE ✓"
  1493. afkTimerLabel.Size = UDim2.new(1, 0, 0, 24)
  1494. afkTimerLabel.BackgroundTransparency = 1
  1495. afkTimerLabel.TextColor3 = Color3.fromRGB(0, 255, 100)
  1496. afkTimerLabel.Font = Enum.Font.GothamBold
  1497. afkTimerLabel.TextSize = 12.5
  1498. afkTimerLabel.LayoutOrder = 4
  1499. afkTimerLabel.Parent = mPage
  1500.  
  1501. -- AFK timer with RGB color cycling
  1502. TABLE.insert(State.Connections, RunService.Heartbeat:CONNECT(FUNCTION()
  1503.     LOCAL hue = tick() % 4 / 4
  1504.     afkTimerLabel.TextColor3 = Color3.fromHSV(hue, 1, 1)
  1505.     LOCAL diff = os.time() - State.AFKStartTime
  1506.     LOCAL h = math.floor(diff / 3600)
  1507.     LOCAL m = math.floor((diff % 3600) / 60)
  1508.     LOCAL s = diff % 60
  1509.     afkTimerLabel.Text = string.format("Anti-AFK: ACTIVE ✓ | Uptime: %02d:%02d:%02d", h, m, s)
  1510.     Autogen() -- Run perfect gen logic in the main heartbeat loop
  1511. END))
  1512.  
  1513. -- ═══════════════════════════════════════════════════════════
  1514. -- SC TAB — External Script Loaders
  1515. -- ═══════════════════════════════════════════════════════════
  1516. LOCAL scPage = TabPages.SC
  1517. createHeader(scPage, "📜 External Script Loaders", 1)
  1518.  
  1519. -- Askr Hub loader
  1520. LOCAL scFrame1 = Instance.new("Frame")
  1521. scFrame1.Size = UDim2.new(1, 0, 0, 45)
  1522. scFrame1.BackgroundColor3 = Color3.fromRGB(22, 17, 34)
  1523. scFrame1.LayoutOrder = 2
  1524. scFrame1.Parent = scPage
  1525. Instance.new("UICorner", scFrame1).CornerRadius = UDim.new(0, 6)
  1526.  
  1527. LOCAL scLabel1 = Instance.new("TextLabel")
  1528. scLabel1.Text = "Perfect Generator Script"
  1529. scLabel1.Size = UDim2.new(1, -160, 1, 0)
  1530. scLabel1.BackgroundTransparency = 1
  1531. scLabel1.TextColor3 = Color3.fromRGB(220, 200, 245)
  1532. scLabel1.Font = Enum.Font.GothamSemibold
  1533. scLabel1.TextSize = 11
  1534. scLabel1.TextXAlignment = Enum.TextXAlignment.Left
  1535. scLabel1.Parent = scFrame1
  1536.  
  1537. LOCAL scBtn1 = Instance.new("TextButton")
  1538. scBtn1.Size = UDim2.new(0, 140, 0, 28)
  1539. scBtn1.Position = UDim2.new(1, -150, 0.5, -14)
  1540. scBtn1.BackgroundColor3 = Color3.fromRGB(120, 60, 220)
  1541. scBtn1.Text = "⚡ Execute"
  1542. scBtn1.TextColor3 = Color3.fromRGB(255, 255, 255)
  1543. scBtn1.Font = Enum.Font.GothamBold
  1544. scBtn1.TextSize = 10
  1545. scBtn1.Parent = scFrame1
  1546. stylePremiumButton(scBtn1)
  1547.  
  1548. scBtn1.MouseButton1Click:CONNECT(FUNCTION()
  1549.     scBtn1.Text = "Executing..."
  1550.     LOCAL ok, err = pcall(FUNCTION()
  1551.         loadstring(game:HttpGet("https://raw.githubusercontent.com/Netshh/askr-hub/main/loader.lua"))()
  1552.     END)
  1553.     scBtn1.Text = ok AND "✓ Done!" OR "✗ Failed!"
  1554.     scBtn1.BackgroundColor3 = ok AND Color3.fromRGB(0, 150, 80) OR Color3.fromRGB(150, 40, 40)
  1555.     IF NOT ok THEN warn("⚡ REIN HUB: Askr Hub failed: " .. tostring(err)) END
  1556.     task.delay(2, FUNCTION()
  1557.         scBtn1.Text = "⚡ Execute"
  1558.         scBtn1.BackgroundColor3 = Color3.fromRGB(120, 60, 220)
  1559.     END)
  1560. END)
  1561.  
  1562. -- Auto Aim Veil loader
  1563. LOCAL scFrame2 = Instance.new("Frame")
  1564. scFrame2.Size = UDim2.new(1, 0, 0, 45)
  1565. scFrame2.BackgroundColor3 = Color3.fromRGB(22, 17, 34)
  1566. scFrame2.LayoutOrder = 3
  1567. scFrame2.Parent = scPage
  1568. Instance.new("UICorner", scFrame2).CornerRadius = UDim.new(0, 6)
  1569.  
  1570. LOCAL scLabel2 = Instance.new("TextLabel")
  1571. scLabel2.Text = "Auto Aim Veil Script [ERROR]"
  1572. scLabel2.Size = UDim2.new(1, -160, 1, 0)
  1573. scLabel2.BackgroundTransparency = 1
  1574. scLabel2.TextColor3 = Color3.fromRGB(220, 200, 245)
  1575. scLabel2.Font = Enum.Font.GothamSemibold
  1576. scLabel2.TextSize = 11
  1577. scLabel2.TextXAlignment = Enum.TextXAlignment.Left
  1578. scLabel2.Parent = scFrame2
  1579.  
  1580. LOCAL scBtn2 = Instance.new("TextButton")
  1581. scBtn2.Size = UDim2.new(0, 140, 0, 28)
  1582. scBtn2.Position = UDim2.new(1, -150, 0.5, -14)
  1583. scBtn2.BackgroundColor3 = Color3.fromRGB(120, 60, 220)
  1584. scBtn2.Text = "⚡ Execute"
  1585. scBtn2.TextColor3 = Color3.fromRGB(255, 255, 255)
  1586. scBtn2.Font = Enum.Font.GothamBold
  1587. scBtn2.TextSize = 10
  1588. scBtn2.Parent = scFrame2
  1589. stylePremiumButton(scBtn2)
  1590.  
  1591. scBtn2.MouseButton1Click:CONNECT(FUNCTION()
  1592.     scBtn2.Text = "Executing..."
  1593.     LOCAL ok, err = pcall(FUNCTION()
  1594.         loadstring(game:HttpGet("https://raw.githubusercontent.com/RillBoys/BOLONG-HUB/refs/heads/main/games/veil"))()
  1595.     END)
  1596.     scBtn2.Text = ok AND "✓ Done!" OR "✗ Failed!"
  1597.     scBtn2.BackgroundColor3 = ok AND Color3.fromRGB(0, 150, 80) OR Color3.fromRGB(150, 40, 40)
  1598.     IF NOT ok THEN warn("⚡ REIN HUB: Veil script failed: " .. tostring(err)) END
  1599.     task.delay(2, FUNCTION()
  1600.         scBtn2.Text = "⚡ Execute"
  1601.         scBtn2.BackgroundColor3 = Color3.fromRGB(120, 60, 220)
  1602.     END)
  1603. END)
  1604.  
  1605. -- REINHUB X MITHUB
  1606. LOCAL scFrame3 = Instance.new("Frame")
  1607. scFrame3.Size = UDim2.new(1, 0, 0, 45)
  1608. scFrame3.BackgroundColor3 = Color3.fromRGB(22, 17, 34)
  1609. scFrame3.LayoutOrder = 4
  1610. scFrame3.Parent = scPage
  1611. Instance.new("UICorner", scFrame3).CornerRadius = UDim.new(0, 6)
  1612.  
  1613. LOCAL scLabel2 = Instance.new("TextLabel")
  1614. scLabel2.Text = "REINHUB X MITHUB"
  1615. scLabel2.Size = UDim2.new(1, -160, 1, 0)
  1616. scLabel2.BackgroundTransparency = 1
  1617. scLabel2.TextColor3 = Color3.fromRGB(220, 200, 245)
  1618. scLabel2.Font = Enum.Font.GothamSemibold
  1619. scLabel2.TextSize = 11
  1620. scLabel2.TextXAlignment = Enum.TextXAlignment.Left
  1621. scLabel2.Parent = scFrame3
  1622.  
  1623. LOCAL scBtn2 = Instance.new("TextButton")
  1624. scBtn2.Size = UDim2.new(0, 140, 0, 28)
  1625. scBtn2.Position = UDim2.new(1, -150, 0.5, -14)
  1626. scBtn2.BackgroundColor3 = Color3.fromRGB(120, 60, 220)
  1627. scBtn2.Text = "⚡ Execute"
  1628. scBtn2.TextColor3 = Color3.fromRGB(255, 255, 255)
  1629. scBtn2.Font = Enum.Font.GothamBold
  1630. scBtn2.TextSize = 10
  1631. scBtn2.Parent = scFrame3
  1632. stylePremiumButton(scBtn2)
  1633.  
  1634. scBtn2.MouseButton1Click:CONNECT(FUNCTION()
  1635.     scBtn2.Text = "Executing..."
  1636.     LOCAL ok, err = pcall(FUNCTION()
  1637.         loadstring(game:HttpGet("https://raw.githubusercontent.com/loopesloop877/peakvd/refs/heads/main/mkthubp"))()
  1638.     END)
  1639.     scBtn2.Text = ok AND "✓ Done!" OR "✗ Failed!"
  1640.     scBtn2.BackgroundColor3 = ok AND Color3.fromRGB(0, 150, 80) OR Color3.fromRGB(150, 40, 40)
  1641.     IF NOT ok THEN warn("⚡ REIN HUB: MITHUB failed: " .. tostring(err)) END
  1642.     task.delay(2, FUNCTION()
  1643.         scBtn2.Text = "⚡ Execute"
  1644.         scBtn2.BackgroundColor3 = Color3.fromRGB(120, 60, 220)
  1645.     END)
  1646. END)
  1647.  
  1648. -- MITHUB Key
  1649. LOCAL scFrame4 = Instance.new("Frame")
  1650. scFrame4.Size = UDim2.new(1, 0, 0, 45) -- Tetap sama
  1651. scFrame4.BackgroundColor3 = Color3.fromRGB(22, 17, 34)
  1652. scFrame4.LayoutOrder = 5
  1653. scFrame4.Parent = scPage
  1654. Instance.new("UICorner", scFrame4).CornerRadius = UDim.new(0, 6)
  1655.  
  1656. LOCAL scLabel4 = Instance.new("TextLabel")
  1657. scLabel4.Text = "MITHUB Key"
  1658. scLabel4.Size = UDim2.new(1, -330, 1, 0) -- Beri ruang untuk tombol salin
  1659. scLabel4.BackgroundTransparency = 1
  1660. scLabel4.TextColor3 = Color3.fromRGB(220, 200, 245)
  1661. scLabel4.Font = Enum.Font.GothamSemibold
  1662. scLabel4.TextSize = 11
  1663. scLabel4.TextXAlignment = Enum.TextXAlignment.Left
  1664. scLabel4.Parent = scFrame4
  1665.  
  1666. LOCAL keyBox = Instance.new("TextBox")
  1667. keyBox.Text = "GENERATE KEY MANUAL"
  1668. keyBox.Size = UDim2.new(0, 240, 0, 28) -- Sedikit lebih kecil
  1669. keyBox.Position = UDim2.new(1, -320, 0.5, -14) -- Geser ke kiri
  1670. keyBox.BackgroundColor3 = Color3.fromRGB(30, 25, 45)
  1671. keyBox.TextColor3 = Color3.fromRGB(200, 180, 240)
  1672. keyBox.Font = Enum.Font.Gotham
  1673. keyBox.TextSize = 10
  1674. keyBox.ClearTextOnFocus = FALSE
  1675. keyBox.Parent = scFrame4
  1676. Instance.new("UICorner", keyBox).CornerRadius = UDim.new(0, 6)
  1677.  
  1678. LOCAL copyBtn = Instance.new("TextButton")
  1679. copyBtn.Size = UDim2.new(0, 70, 0, 28)
  1680. copyBtn.Position = UDim2.new(1, -75, 0.5, -14)
  1681. copyBtn.BackgroundColor3 = Color3.fromRGB(80, 50, 160)
  1682. copyBtn.Text = "Salin"
  1683. copyBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
  1684. copyBtn.Font = Enum.Font.GothamBold
  1685. copyBtn.TextSize = 10
  1686. copyBtn.Parent = scFrame4
  1687. stylePremiumButton(copyBtn)
  1688.  
  1689. copyBtn.MouseButton1Click:CONNECT(FUNCTION()
  1690.     setclipboard("MITHUB-93O1-RS61-PQKP-B8GC")
  1691.     copyBtn.Text = "Tersalin!"
  1692.     copyBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 80)
  1693.     task.delay(2, FUNCTION()
  1694.         copyBtn.Text = "Salin"
  1695.         copyBtn.BackgroundColor3 = Color3.fromRGB(80, 50, 160)
  1696.     END)
  1697. END)
  1698. -- ═══════════════════════════════════════════════════════════
  1699. -- INFO TAB — About, User Stats, Unload
  1700. -- ═══════════════════════════════════════════════════════════
  1701. LOCAL iPage = TabPages.Info
  1702. createHeader(iPage, "ℹ️ About REIN HUB", 1)
  1703.  
  1704. LOCAL aboutFrame = Instance.new("Frame")
  1705. aboutFrame.Size = UDim2.new(1, 0, 0, 110)
  1706. aboutFrame.BackgroundColor3 = Color3.fromRGB(22, 17, 34)
  1707. aboutFrame.LayoutOrder = 2
  1708. aboutFrame.Parent = iPage
  1709. Instance.new("UICorner", aboutFrame).CornerRadius = UDim.new(0, 6)
  1710.  
  1711. LOCAL aboutText = Instance.new("TextLabel")
  1712. aboutText.Text = [[  REIN HUB X Violence District — Premium
  1713.  
  1714.   Exclusively built FOR Violence District (PlaceId: 93978595733734).
  1715.   Features: Auto Parry, God Mode, Perfect Generator Repair,
  1716.   ESP System (Killer/Survivor/Generator), Anti-AFK,
  1717.   Walk Speed Control, External Script Loaders, AND more.
  1718.  
  1719.   TikTok : @reinuhuy
  1720.   Created BY REINUHUY · Follow me ON TT]]
  1721. aboutText.Size = UDim2.new(1, -20, 1, 0)
  1722. aboutText.Position = UDim2.new(0, 10, 0, 0)
  1723. aboutText.BackgroundTransparency = 1
  1724. aboutText.TextColor3 = Color3.fromRGB(210, 195, 235)
  1725. aboutText.Font = Enum.Font.Gotham
  1726. aboutText.TextSize = 10
  1727. aboutText.TextXAlignment = Enum.TextXAlignment.Left
  1728. aboutText.TextYAlignment = Enum.TextYAlignment.Center
  1729. aboutText.TextWrapped = TRUE
  1730. aboutText.Parent = aboutFrame
  1731.  
  1732. createHeader(iPage, "👤 User & Game Stats", 3)
  1733.  
  1734. LOCAL statsFrame = Instance.new("Frame")
  1735. statsFrame.Size = UDim2.new(1, 0, 0, 90)
  1736. statsFrame.BackgroundColor3 = Color3.fromRGB(22, 17, 34)
  1737. statsFrame.LayoutOrder = 4
  1738. statsFrame.Parent = iPage
  1739. Instance.new("UICorner", statsFrame).CornerRadius = UDim.new(0, 6)
  1740.  
  1741. LOCAL execName = "Unknown"
  1742. pcall(FUNCTION()
  1743.     execName = identifyexecutor AND SELECT(1, identifyexecutor()) OR (getexecutorname AND getexecutorname()) OR "Unknown"
  1744. END)
  1745.  
  1746. LOCAL statsText = Instance.new("TextLabel")
  1747. statsText.Text = string.format("  Username: %s\n  Game PlaceId: %d\n  Executor: %s\n  Anti-AFK: Auto Active ✓",
  1748.     LocalPlayer.Name, game.PlaceId, execName)
  1749. statsText.Size = UDim2.new(1, -20, 1, 0)
  1750. statsText.Position = UDim2.new(0, 10, 0, 0)
  1751. statsText.BackgroundTransparency = 1
  1752. statsText.TextColor3 = Color3.fromRGB(200, 180, 240)
  1753. statsText.Font = Enum.Font.GothamSemibold
  1754. statsText.TextSize = 10.5
  1755. statsText.TextXAlignment = Enum.TextXAlignment.Left
  1756. statsText.TextYAlignment = Enum.TextYAlignment.Center
  1757. statsText.Parent = statsFrame
  1758.  
  1759. -- Unload button
  1760. LOCAL unloadBtn = Instance.new("TextButton")
  1761. unloadBtn.Text = "💀 Unload / Self-Destruct Hub"
  1762. unloadBtn.Size = UDim2.new(1, 0, 0, 32)
  1763. unloadBtn.BackgroundColor3 = Color3.fromRGB(120, 30, 30)
  1764. unloadBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
  1765. unloadBtn.Font = Enum.Font.GothamBold
  1766. unloadBtn.TextSize = 11
  1767. unloadBtn.LayoutOrder = 5
  1768. unloadBtn.Parent = iPage
  1769. stylePremiumButton(unloadBtn)
  1770.  
  1771. unloadBtn.MouseButton1Click:CONNECT(FUNCTION()
  1772.     FOR _, conn IN ipairs(State.Connections) do pcall(FUNCTION() conn:Disconnect() END) END
  1773.     pcall(cleanESP)
  1774.     pcall(FUNCTION() GenHUD:Destroy() END)
  1775.     ScreenGui:Destroy()
  1776.     print("⚡ REIN HUB: Completely unloaded.")
  1777. END)
  1778.  
  1779. -- ═══════════════════════════════════════════════════════════
  1780. -- CINEMATIC LOADING ANIMATION SEQUENCE
  1781. -- ═══════════════════════════════════════════════════════════
  1782. LOCAL LoadMsgs = {
  1783.     {0,   "Establishing connection..."},
  1784.     {8,   "Scanning game environment..."},
  1785.     {18,  "Mapping remote hierarchy..."},
  1786.     {28,  "Initializing ESP modules..."},
  1787.     {40,  "Loading combat systems..."},
  1788.     {50,  "Configuring auto-parry engine..."},
  1789.     {60,  "Setting up generator scanner..."},
  1790.     {72,  "Building admin interface..."},
  1791.     {82,  "Hooking metamethods..."},
  1792.     {90,  "Bypassing anti-cheat layers..."},
  1793.     {95,  "Finalizing injection..."},
  1794.     {99,  "Almost ready..."},
  1795. }
  1796.  
  1797. task.spawn(FUNCTION()
  1798.     LoadingFrame.BackgroundTransparency = 0
  1799.  
  1800.     LOCAL fadeIn = TweenInfo.new(0.8, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
  1801.     TweenService:CREATE(LogoLoad, fadeIn, {ImageTransparency = 0}):Play()
  1802.     TweenService:CREATE(TitleLoad, fadeIn, {TextTransparency = 0}):Play()
  1803.     task.wait(0.5)
  1804.  
  1805.     LOCAL pct = 0
  1806.     LOCAL mi = 1
  1807.  
  1808.     while pct <= 100 do
  1809.         IF mi <= #LoadMsgs AND pct >= LoadMsgs[mi][1] THEN
  1810.             LOCAL fo = TweenInfo.new(0.12, Enum.EasingStyle.Quad)
  1811.             TweenService:CREATE(StatusLoad, fo, {TextTransparency = 1}):Play()
  1812.             task.wait(0.12)
  1813.             StatusLoad.Text = LoadMsgs[mi][2]
  1814.             TweenService:CREATE(StatusLoad, fo, {TextTransparency = 0}):Play()
  1815.             mi = mi + 1
  1816.         END
  1817.  
  1818.         BarFill.Size = UDim2.new(pct / 100, 0, 1, 0)
  1819.         PctText.Text = pct .. "%"
  1820.  
  1821.         LOCAL hue = (pct / 100) * 0.8
  1822.         BarStroke.Color = Color3.fromHSV(0.75 - hue * 0.15, 0.7, 0.8)
  1823.  
  1824.         LOCAL dt = 0.02
  1825.         IF pct < 10 THEN dt = 0.04
  1826.         ELSEIF pct >= 45 AND pct <= 55 THEN dt = 0.06
  1827.         ELSEIF pct > 85 AND pct < 95 THEN dt = 0.05
  1828.         ELSEIF pct >= 95 THEN dt = 0.03
  1829.         END
  1830.  
  1831.         task.wait(dt)
  1832.         pct = pct + 1
  1833.     END
  1834.  
  1835.     PctText.Text = "100%"
  1836.     StatusLoad.Text = "Welcome, " .. LocalPlayer.Name
  1837.     task.wait(0.6)
  1838.  
  1839.     -- Cinematic fade-out
  1840.     LOCAL foI = TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In)
  1841.     LOCAL foS = TweenInfo.new(0.7, Enum.EasingStyle.Quad, Enum.EasingDirection.In)
  1842.  
  1843.     FOR _, child IN ipairs(ParticleBox:GetChildren()) do
  1844.         IF child:IsA("Frame") THEN
  1845.             TweenService:CREATE(child, foI, {BackgroundTransparency = 1}):Play()
  1846.         END
  1847.     END
  1848.  
  1849.     TweenService:CREATE(OuterRing, foI, {ImageTransparency = 1}):Play()
  1850.     TweenService:CREATE(InnerRing, foI, {ImageTransparency = 1}):Play()
  1851.     task.wait(0.2)
  1852.  
  1853.     TweenService:CREATE(LogoLoad, foI, {ImageTransparency = 1}):Play()
  1854.     TweenService:CREATE(TitleLoad, foI, {TextTransparency = 1}):Play()
  1855.     TweenService:CREATE(StatusLoad, foI, {TextTransparency = 1}):Play()
  1856.     TweenService:CREATE(PctText, foI, {TextTransparency = 1}):Play()
  1857.     TweenService:CREATE(CreditLoad, foI, {TextTransparency = 1}):Play()
  1858.     TweenService:CREATE(BarBg, foI, {BackgroundTransparency = 1}):Play()
  1859.     TweenService:CREATE(BarFill, foI, {BackgroundTransparency = 1}):Play()
  1860.     TweenService:CREATE(BarStroke, foI, {Transparency = 1}):Play()
  1861.     task.wait(0.3)
  1862.  
  1863.     TweenService:CREATE(LoadingFrame, foS, {BackgroundTransparency = 1}):Play()
  1864.     TweenService:CREATE(MatrixBgLoad, foS, {ImageTransparency = 1}):Play()
  1865.     TweenService:CREATE(Vignette, foS, {ImageTransparency = 1}):Play()
  1866.     task.wait(0.7)
  1867.  
  1868.     LoadingGui:Destroy()
  1869.     MainFrame.Visible = TRUE
  1870.     State.UIVisible = TRUE
  1871. END)
  1872.  
  1873. -- ═══════════════════════════════════════════════════════════
  1874. -- BOOTSTRAP
  1875. -- ═══════════════════════════════════════════════════════════
  1876. print("⚡ REIN HUB X VD loaded! Anti-AFK active. All systems online.")

Raw Paste

Comments 0
Login to post a comment.
  • No comments yet. Be the first.
Login to post a comment. Login or Register
We use cookies. To comply with GDPR in the EU and the UK we have to show you these.

We use cookies and similar technologies to keep this website functional (including spam protection via Google reCAPTCHA or Cloudflare Turnstile), and — with your consent — to measure usage and show ads. See Privacy.