Zyrenscripter

Miku

Apr 30th, 2026 (edited)
2,294
0
Never
5
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 51.84 KB | None | 0 0
  1. -- ╔═══════════════════════════════════════════╗
  2. -- ║ ZYREN PANEL v1.0 ║
  3. -- ║ Sin bugs — loadstring OK ║
  4. -- ╚═══════════════════════════════════════════╝
  5.  
  6. local Players = game:GetService("Players")
  7. local RunService = game:GetService("RunService")
  8. local UserInputService = game:GetService("UserInputService")
  9. local TweenService = game:GetService("TweenService")
  10. local Lighting = game:GetService("Lighting")
  11. local VirtualUser = game:GetService("VirtualUser")
  12.  
  13. local player = Players.LocalPlayer
  14. local camera = workspace.CurrentCamera
  15.  
  16. -- ══════════════════════════════════════════
  17. -- PALETA
  18. -- ══════════════════════════════════════════
  19. local W = Color3.fromRGB(255, 255, 255)
  20. local OF = Color3.fromRGB(245, 244, 240)
  21. local GR = Color3.fromRGB(232, 230, 224)
  22. local MD = Color3.fromRGB(154, 151, 144)
  23. local DK = Color3.fromRGB(26, 25, 22)
  24. local A1 = Color3.fromRGB(255, 61, 0)
  25. local A2 = Color3.fromRGB(255, 149, 0)
  26. local GN = Color3.fromRGB(0, 200, 83)
  27. local RD = Color3.fromRGB(220, 50, 50)
  28.  
  29. -- ══════════════════════════════════════════
  30. -- VARIABLES
  31. -- ══════════════════════════════════════════
  32. local states = {
  33. esp=false, nameEsp=false, boxEsp=false,
  34. aimAssist=false, teamCheck=false, showFov=false,
  35. rainbow=false, fullbright=false, jumpBoost=false,
  36. infiniteJump=false, chatSpy=false, antiAFK=false,
  37. thirdPerson=false, nameHide=false,
  38. prediccion=false, aimAlt=false,
  39. spin=false,
  40. }
  41.  
  42. local fovRadius = 120
  43. local aimSmooth = 0.15
  44. local jumpMult = 2
  45. local afkTimer = 0
  46. local chatSpyConnected = false
  47. local aimPartLabels = {"Head","Cuello","Pecho","Humanoide"}
  48. local aimPartIndex = 1
  49. local predVal = 0.1
  50. local whitelist = {}
  51. local boxes = {}
  52.  
  53. local aimAltTimer = 0
  54. local aimAltOnHead = true
  55. local aimAltDelay = 1.5
  56. local aimAltSecIdx = 3
  57.  
  58. -- Third Person
  59. local thirdCamConn = nil
  60. local thirdOffset = Vector3.new(0, 5, 12)
  61.  
  62. -- Spin
  63. local spinSpeed = 200
  64. local spinConn = nil
  65. local spinAngleY = 0 -- ángulo acumulado en radianes
  66.  
  67. local origFog = Lighting.FogEnd
  68. local origAmb = Lighting.Ambient
  69. local origOutA = Lighting.OutdoorAmbient
  70. local origBri = Lighting.Brightness
  71.  
  72. -- ══════════════════════════════════════════
  73. -- TWEEN HELPER
  74. -- ══════════════════════════════════════════
  75. local function tw(obj, props, t, sty, dir)
  76. TweenService:Create(obj,
  77. TweenInfo.new(t or 0.2, sty or Enum.EasingStyle.Quart, dir or Enum.EasingDirection.Out),
  78. props):Play()
  79. end
  80.  
  81. -- ══════════════════════════════════════════
  82. -- GUI ROOT
  83. -- ══════════════════════════════════════════
  84. local gui = Instance.new("ScreenGui")
  85. gui.Name = "ZyrenPanel"
  86. gui.ResetOnSpawn = false
  87. gui.IgnoreGuiInset = true
  88. gui.DisplayOrder = 999999
  89.  
  90. if syn and syn.protect_gui then
  91. syn.protect_gui(gui)
  92. gui.Parent = game:GetService("CoreGui")
  93. elseif gethui then
  94. gui.Parent = gethui()
  95. else
  96. gui.Parent = player:WaitForChild("PlayerGui")
  97. end
  98.  
  99. -- ══════════════════════════════════════════
  100. -- FOV CIRCLE — empieza invisible
  101. -- ══════════════════════════════════════════
  102. local fovF = Instance.new("Frame")
  103. fovF.Name = "FovCircle"
  104. fovF.BackgroundTransparency = 1
  105. fovF.ZIndex = 3
  106. fovF.Size = UDim2.new(0, fovRadius*2, 0, fovRadius*2)
  107. fovF.AnchorPoint = Vector2.new(0.5, 0.5)
  108. fovF.Position = UDim2.new(0.5, 0, 0.5, 0)
  109. fovF.Visible = false -- ← INVISIBLE por defecto
  110. fovF.Parent = gui
  111. Instance.new("UICorner", fovF).CornerRadius = UDim.new(1, 0)
  112. local fovStr = Instance.new("UIStroke", fovF)
  113. fovStr.Thickness = 1.5
  114. fovStr.Color = A1
  115.  
  116. -- ══════════════════════════════════════════
  117. -- BOTÓN TOGGLE Z
  118. -- ══════════════════════════════════════════
  119. local toggleBtn = Instance.new("ImageButton")
  120. toggleBtn.Size = UDim2.new(0, 46, 0, 46)
  121. toggleBtn.Position = UDim2.new(0, 12, 0, 12)
  122. toggleBtn.Image = "rbxassetid://6031302938"
  123. toggleBtn.ScaleType = Enum.ScaleType.Fit
  124. toggleBtn.BackgroundColor3 = DK
  125. toggleBtn.BorderSizePixel = 0
  126. toggleBtn.ZIndex = 20
  127. toggleBtn.Parent = gui
  128. Instance.new("UICorner", toggleBtn).CornerRadius = UDim.new(0, 10)
  129. local tBtnStroke = Instance.new("UIStroke", toggleBtn)
  130. tBtnStroke.Thickness = 2
  131. tBtnStroke.Color = A1
  132.  
  133. -- ══════════════════════════════════════════
  134. -- PANEL — fondo BLANCO
  135. -- ══════════════════════════════════════════
  136. local PW = 300
  137. local PH = 580
  138.  
  139. local panel = Instance.new("Frame")
  140. panel.Name = "ZyrenPanelMain"
  141. panel.Size = UDim2.new(0, PW, 0, PH)
  142. panel.Position = UDim2.new(0, 68, 0, 12)
  143. panel.BackgroundColor3 = W -- BLANCO
  144. panel.BorderSizePixel = 0
  145. panel.Visible = false -- empieza cerrado
  146. panel.ClipsDescendants = true
  147. panel.ZIndex = 10
  148. panel.Parent = gui
  149. Instance.new("UICorner", panel).CornerRadius = UDim.new(0, 16)
  150.  
  151. -- Sombra del panel
  152. local shadow = Instance.new("Frame")
  153. shadow.Size = UDim2.new(0, PW+24, 0, PH+24)
  154. shadow.Position = UDim2.new(0, 56, 0, 0)
  155. shadow.BackgroundColor3 = DK
  156. shadow.BackgroundTransparency = 0.82
  157. shadow.BorderSizePixel = 0
  158. shadow.Visible = false
  159. shadow.ZIndex = 9
  160. shadow.Parent = gui
  161. Instance.new("UICorner", shadow).CornerRadius = UDim.new(0, 20)
  162.  
  163. -- Línea superior naranja
  164. local topAccent = Instance.new("Frame")
  165. topAccent.Size = UDim2.new(1, 0, 0, 3)
  166. topAccent.BackgroundColor3 = A1
  167. topAccent.BorderSizePixel = 0
  168. topAccent.ZIndex = 11
  169. topAccent.Parent = panel
  170. Instance.new("UICorner", topAccent).CornerRadius = UDim.new(0, 16)
  171. local topGrad = Instance.new("UIGradient", topAccent)
  172. topGrad.Color = ColorSequence.new{
  173. ColorSequenceKeypoint.new(0, A1),
  174. ColorSequenceKeypoint.new(1, A2)
  175. }
  176.  
  177. -- ══════════════════════════════════════════
  178. -- HEADER
  179. -- ══════════════════════════════════════════
  180. local header = Instance.new("Frame")
  181. header.Size = UDim2.new(1, 0, 0, 52)
  182. header.Position = UDim2.new(0, 0, 0, 3)
  183. header.BackgroundColor3 = OF
  184. header.BorderSizePixel = 0
  185. header.ZIndex = 11
  186. header.Parent = panel
  187.  
  188. local hLine = Instance.new("Frame")
  189. hLine.Size = UDim2.new(1, 0, 0, 1)
  190. hLine.Position = UDim2.new(0, 0, 1, -1)
  191. hLine.BackgroundColor3 = GR
  192. hLine.BorderSizePixel = 0
  193. hLine.ZIndex = 12
  194. hLine.Parent = header
  195.  
  196. local logoLbl = Instance.new("TextLabel")
  197. logoLbl.Size = UDim2.new(0, 80, 1, 0)
  198. logoLbl.Position = UDim2.new(0, 16, 0, 0)
  199. logoLbl.Text = "ZYREN"
  200. logoLbl.TextColor3 = DK
  201. logoLbl.Font = Enum.Font.GothamBold
  202. logoLbl.TextSize = 16
  203. logoLbl.TextXAlignment = Enum.TextXAlignment.Left
  204. logoLbl.BackgroundTransparency = 1
  205. logoLbl.ZIndex = 12
  206. logoLbl.Parent = header
  207.  
  208. local logoBadge = Instance.new("TextLabel")
  209. logoBadge.Size = UDim2.new(0, 34, 0, 16)
  210. logoBadge.Position = UDim2.new(0, 97, 0.5, -8)
  211. logoBadge.Text = "v1.0"
  212. logoBadge.TextColor3 = W
  213. logoBadge.Font = Enum.Font.GothamBold
  214. logoBadge.TextSize = 9
  215. logoBadge.TextXAlignment = Enum.TextXAlignment.Center
  216. logoBadge.BackgroundColor3 = A1
  217. logoBadge.BorderSizePixel = 0
  218. logoBadge.ZIndex = 12
  219. logoBadge.Parent = header
  220. Instance.new("UICorner", logoBadge).CornerRadius = UDim.new(0, 4)
  221.  
  222. local dragHint = Instance.new("TextLabel")
  223. dragHint.Size = UDim2.new(0, 24, 1, 0)
  224. dragHint.Position = UDim2.new(1, -30, 0, 0)
  225. dragHint.Text = "⠿"
  226. dragHint.TextColor3 = MD
  227. dragHint.TextSize = 18
  228. dragHint.BackgroundTransparency = 1
  229. dragHint.ZIndex = 12
  230. dragHint.Parent = header
  231.  
  232. -- ══════════════════════════════════════════
  233. -- DRAG
  234. -- ══════════════════════════════════════════
  235. local dragging, dragOff = false, Vector2.zero
  236.  
  237. header.InputBegan:Connect(function(i)
  238. if i.UserInputType == Enum.UserInputType.MouseButton1
  239. or i.UserInputType == Enum.UserInputType.Touch then
  240. dragging = true
  241. dragOff = Vector2.new(
  242. i.Position.X - panel.AbsolutePosition.X,
  243. i.Position.Y - panel.AbsolutePosition.Y
  244. )
  245. end
  246. end)
  247. UserInputService.InputChanged:Connect(function(i)
  248. if dragging and (
  249. i.UserInputType == Enum.UserInputType.MouseMovement or
  250. i.UserInputType == Enum.UserInputType.Touch
  251. ) then
  252. local vp = camera.ViewportSize
  253. local nx = math.clamp(i.Position.X - dragOff.X, 0, vp.X - PW)
  254. local ny = math.clamp(i.Position.Y - dragOff.Y, 0, vp.Y - PH)
  255. panel.Position = UDim2.new(0, nx, 0, ny)
  256. shadow.Position = UDim2.new(0, nx-12, 0, ny)
  257. end
  258. end)
  259. UserInputService.InputEnded:Connect(function(i)
  260. if i.UserInputType == Enum.UserInputType.MouseButton1
  261. or i.UserInputType == Enum.UserInputType.Touch then
  262. dragging = false
  263. end
  264. end)
  265.  
  266. -- ══════════════════════════════════════════
  267. -- SCROLL
  268. -- ══════════════════════════════════════════
  269. local scroll = Instance.new("ScrollingFrame")
  270. scroll.Size = UDim2.new(1, 0, 1, -56)
  271. scroll.Position = UDim2.new(0, 0, 0, 56)
  272. scroll.BackgroundTransparency = 1
  273. scroll.BorderSizePixel = 0
  274. scroll.ScrollBarThickness = 3
  275. scroll.ScrollBarImageColor3 = A1
  276. scroll.CanvasSize = UDim2.new(0, 0, 0, 0)
  277. scroll.ZIndex = 11
  278. scroll.Parent = panel
  279.  
  280. local lay = Instance.new("UIListLayout", scroll)
  281. lay.Padding = UDim.new(0, 4)
  282. lay.SortOrder = Enum.SortOrder.LayoutOrder
  283. lay.HorizontalAlignment = Enum.HorizontalAlignment.Center
  284.  
  285. local pad = Instance.new("UIPadding", scroll)
  286. pad.PaddingTop = UDim.new(0, 10)
  287. pad.PaddingBottom = UDim.new(0, 10)
  288. pad.PaddingLeft = UDim.new(0, 10)
  289. pad.PaddingRight = UDim.new(0, 10)
  290.  
  291. lay:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
  292. scroll.CanvasSize = UDim2.new(0, 0, 0, lay.AbsoluteContentSize.Y + 20)
  293. end)
  294.  
  295. -- ══════════════════════════════════════════
  296. -- CONSTRUCTORES UI
  297. -- ══════════════════════════════════════════
  298. local order = 0
  299.  
  300. local function makeSection(txt)
  301. order = order + 1
  302. local f = Instance.new("Frame")
  303. f.Size = UDim2.new(1, 0, 0, 26)
  304. f.BackgroundTransparency = 1
  305. f.LayoutOrder = order
  306. f.ZIndex = 12
  307. f.Parent = scroll
  308.  
  309. local line = Instance.new("Frame")
  310. line.Size = UDim2.new(1, 0, 0, 1)
  311. line.Position = UDim2.new(0, 0, 0.5, 0)
  312. line.BackgroundColor3 = GR
  313. line.BorderSizePixel = 0
  314. line.ZIndex = 12
  315. line.Parent = f
  316.  
  317. local lbl = Instance.new("TextLabel")
  318. lbl.AutomaticSize = Enum.AutomaticSize.X
  319. lbl.Size = UDim2.new(0, 0, 1, 0)
  320. lbl.Text = txt
  321. lbl.TextColor3 = MD
  322. lbl.TextSize = 9
  323. lbl.Font = Enum.Font.GothamBold
  324. lbl.TextXAlignment = Enum.TextXAlignment.Left
  325. lbl.BackgroundColor3 = W
  326. lbl.BorderSizePixel = 0
  327. lbl.ZIndex = 13
  328. lbl.Parent = f
  329. Instance.new("UIPadding", lbl).PaddingRight = UDim.new(0, 8)
  330. end
  331.  
  332. local function makeBtn(icon, label, stateKey, cb)
  333. order = order + 1
  334. local btn = Instance.new("TextButton")
  335. btn.Size = UDim2.new(1, 0, 0, 36)
  336. btn.BackgroundColor3 = OF
  337. btn.BorderSizePixel = 0
  338. btn.Text = ""
  339. btn.LayoutOrder = order
  340. btn.ZIndex = 12
  341. btn.Parent = scroll
  342. Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 10)
  343.  
  344. local ico = Instance.new("TextLabel")
  345. ico.Size = UDim2.new(0, 30, 1, 0)
  346. ico.Position = UDim2.new(0, 8, 0, 0)
  347. ico.Text = icon
  348. ico.TextSize = 14
  349. ico.BackgroundTransparency = 1
  350. ico.TextColor3 = DK
  351. ico.ZIndex = 14
  352. ico.Parent = btn
  353.  
  354. local lbl = Instance.new("TextLabel")
  355. lbl.Size = UDim2.new(1, -88, 1, 0)
  356. lbl.Position = UDim2.new(0, 40, 0, 0)
  357. lbl.Text = label
  358. lbl.TextSize = 11
  359. lbl.Font = Enum.Font.Gotham
  360. lbl.TextXAlignment = Enum.TextXAlignment.Left
  361. lbl.BackgroundTransparency = 1
  362. lbl.TextColor3 = DK
  363. lbl.ZIndex = 14
  364. lbl.Parent = btn
  365.  
  366. local pill = Instance.new("Frame")
  367. pill.Size = UDim2.new(0, 40, 0, 20)
  368. pill.Position = UDim2.new(1, -46, 0.5, -10)
  369. pill.BackgroundColor3 = GR
  370. pill.BorderSizePixel = 0
  371. pill.ZIndex = 14
  372. pill.Parent = btn
  373. Instance.new("UICorner", pill).CornerRadius = UDim.new(1, 0)
  374.  
  375. local dot = Instance.new("Frame")
  376. dot.Size = UDim2.new(0, 16, 0, 16)
  377. dot.Position = UDim2.new(0, 2, 0.5, -8)
  378. dot.BackgroundColor3 = MD
  379. dot.BorderSizePixel = 0
  380. dot.ZIndex = 15
  381. dot.Parent = pill
  382. Instance.new("UICorner", dot).CornerRadius = UDim.new(1, 0)
  383.  
  384. local function refresh()
  385. local on = states[stateKey]
  386. tw(pill, {BackgroundColor3 = on and A1 or GR}, 0.2)
  387. tw(dot, {
  388. Position = on and UDim2.new(1,-18,0.5,-8) or UDim2.new(0,2,0.5,-8),
  389. BackgroundColor3 = on and W or MD
  390. }, 0.2)
  391. end
  392.  
  393. btn.MouseButton1Click:Connect(function()
  394. states[stateKey] = not states[stateKey]
  395. refresh()
  396. if cb then cb(states[stateKey]) end
  397. end)
  398. btn.MouseEnter:Connect(function() tw(btn, {BackgroundColor3=GR}, 0.12) end)
  399. btn.MouseLeave:Connect(function() tw(btn, {BackgroundColor3=OF}, 0.12) end)
  400. refresh()
  401. return btn
  402. end
  403.  
  404. local function makeSlider(label, minV, maxV, defV, decimals, onCh)
  405. decimals = decimals or 0
  406. order = order + 1
  407. local c = Instance.new("Frame")
  408. c.Size = UDim2.new(1, 0, 0, 54)
  409. c.BackgroundColor3 = OF
  410. c.BorderSizePixel = 0
  411. c.LayoutOrder = order
  412. c.ZIndex = 12
  413. c.Parent = scroll
  414. Instance.new("UICorner", c).CornerRadius = UDim.new(0, 10)
  415.  
  416. local lbl = Instance.new("TextLabel")
  417. lbl.Size=UDim2.new(1,-70,0,22); lbl.Position=UDim2.new(0,12,0,6)
  418. lbl.Text=label; lbl.TextSize=11; lbl.Font=Enum.Font.Gotham
  419. lbl.TextXAlignment=Enum.TextXAlignment.Left
  420. lbl.BackgroundTransparency=1; lbl.TextColor3=DK; lbl.ZIndex=13; lbl.Parent=c
  421.  
  422. local valLbl = Instance.new("TextLabel")
  423. valLbl.Size=UDim2.new(0,58,0,22); valLbl.Position=UDim2.new(1,-66,0,6)
  424. valLbl.Text=tostring(defV); valLbl.TextSize=11; valLbl.Font=Enum.Font.GothamBold
  425. valLbl.TextXAlignment=Enum.TextXAlignment.Right
  426. valLbl.BackgroundTransparency=1; valLbl.TextColor3=A1; valLbl.ZIndex=13; valLbl.Parent=c
  427.  
  428. local track = Instance.new("Frame")
  429. track.Size=UDim2.new(1,-24,0,5); track.Position=UDim2.new(0,12,0,38)
  430. track.BackgroundColor3=GR; track.BorderSizePixel=0; track.ZIndex=13; track.Parent=c
  431. Instance.new("UICorner",track).CornerRadius=UDim.new(1,0)
  432.  
  433. local rel0 = (defV-minV)/(maxV-minV)
  434. local fill = Instance.new("Frame")
  435. fill.Size=UDim2.new(rel0,0,1,0); fill.BackgroundColor3=A1
  436. fill.BorderSizePixel=0; fill.ZIndex=14; fill.Parent=track
  437. Instance.new("UICorner",fill).CornerRadius=UDim.new(1,0)
  438. Instance.new("UIGradient",fill).Color=ColorSequence.new{
  439. ColorSequenceKeypoint.new(0,A1), ColorSequenceKeypoint.new(1,A2)
  440. }
  441.  
  442. local handle = Instance.new("Frame")
  443. handle.Size=UDim2.new(0,14,0,14); handle.Position=UDim2.new(rel0,-7,0.5,-7)
  444. handle.BackgroundColor3=W; handle.BorderSizePixel=0; handle.ZIndex=15; handle.Parent=track
  445. Instance.new("UICorner",handle).CornerRadius=UDim.new(1,0)
  446. local hs=Instance.new("UIStroke",handle); hs.Color=A1; hs.Thickness=2
  447.  
  448. local drag2=false
  449. track.InputBegan:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 or i.UserInputType==Enum.UserInputType.Touch then drag2=true end end)
  450. handle.InputBegan:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 or i.UserInputType==Enum.UserInputType.Touch then drag2=true end end)
  451. UserInputService.InputEnded:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 or i.UserInputType==Enum.UserInputType.Touch then drag2=false end end)
  452. UserInputService.InputChanged:Connect(function(i)
  453. if drag2 and (i.UserInputType==Enum.UserInputType.MouseMovement or i.UserInputType==Enum.UserInputType.Touch) then
  454. local rel=math.clamp((i.Position.X-track.AbsolutePosition.X)/track.AbsoluteSize.X,0,1)
  455. local raw=minV+rel*(maxV-minV)
  456. local val=decimals>0 and math.floor(raw*10^decimals+0.5)/10^decimals or math.floor(raw+0.5)
  457. fill.Size=UDim2.new(rel,0,1,0); handle.Position=UDim2.new(rel,-7,0.5,-7)
  458. valLbl.Text=tostring(val)
  459. if onCh then onCh(val) end
  460. end
  461. end)
  462. end
  463.  
  464. local function makeActionBtn(icon, label, cb)
  465. order = order + 1
  466. local btn = Instance.new("TextButton")
  467. btn.Size=UDim2.new(1,0,0,36); btn.BackgroundColor3=OF; btn.BorderSizePixel=0
  468. btn.Text=""; btn.LayoutOrder=order; btn.ZIndex=12; btn.Parent=scroll
  469. Instance.new("UICorner",btn).CornerRadius=UDim.new(0,10)
  470.  
  471. local ico=Instance.new("TextLabel",btn); ico.Size=UDim2.new(0,30,1,0); ico.Position=UDim2.new(0,8,0,0)
  472. ico.Text=icon; ico.TextSize=14; ico.BackgroundTransparency=1; ico.TextColor3=DK; ico.ZIndex=13
  473.  
  474. local lbl=Instance.new("TextLabel",btn); lbl.Size=UDim2.new(1,-50,1,0); lbl.Position=UDim2.new(0,40,0,0)
  475. lbl.Text=label; lbl.TextSize=11; lbl.Font=Enum.Font.Gotham
  476. lbl.TextXAlignment=Enum.TextXAlignment.Left; lbl.BackgroundTransparency=1; lbl.TextColor3=DK; lbl.ZIndex=13
  477.  
  478. local arrow=Instance.new("TextLabel",btn); arrow.Size=UDim2.new(0,22,1,0); arrow.Position=UDim2.new(1,-26,0,0)
  479. arrow.Text="›"; arrow.TextSize=20; arrow.Font=Enum.Font.GothamBold
  480. arrow.BackgroundTransparency=1; arrow.TextColor3=MD; arrow.ZIndex=13
  481.  
  482. btn.MouseButton1Click:Connect(cb)
  483. btn.MouseEnter:Connect(function() tw(btn,{BackgroundColor3=GR},0.12); tw(arrow,{TextColor3=A1},0.12) end)
  484. btn.MouseLeave:Connect(function() tw(btn,{BackgroundColor3=OF},0.12); tw(arrow,{TextColor3=MD},0.12) end)
  485. end
  486.  
  487. -- ══════════════════════════════════════════
  488. -- INVENTARIO
  489. -- ══════════════════════════════════════════
  490. local invWin = Instance.new("Frame")
  491. invWin.Size=UDim2.new(0,270,0,300); invWin.Position=UDim2.new(0.5,-135,0.5,-150)
  492. invWin.BackgroundColor3=W; invWin.BorderSizePixel=0; invWin.Visible=false; invWin.ZIndex=30; invWin.Parent=gui
  493. Instance.new("UICorner",invWin).CornerRadius=UDim.new(0,14)
  494. Instance.new("UIStroke",invWin).Color=GR
  495.  
  496. local invTop=Instance.new("Frame"); invTop.Size=UDim2.new(1,0,0,3); invTop.BackgroundColor3=A1; invTop.BorderSizePixel=0; invTop.ZIndex=31; invTop.Parent=invWin
  497. Instance.new("UICorner",invTop).CornerRadius=UDim.new(0,14)
  498. Instance.new("UIGradient",invTop).Color=ColorSequence.new{ColorSequenceKeypoint.new(0,A1),ColorSequenceKeypoint.new(1,A2)}
  499.  
  500. local invHdr=Instance.new("Frame"); invHdr.Size=UDim2.new(1,0,0,44); invHdr.Position=UDim2.new(0,0,0,3); invHdr.BackgroundColor3=OF; invHdr.BorderSizePixel=0; invHdr.ZIndex=31; invHdr.Parent=invWin
  501.  
  502. local invTitle=Instance.new("TextLabel"); invTitle.Size=UDim2.new(1,-40,1,0); invTitle.Position=UDim2.new(0,14,0,0)
  503. invTitle.Text="🎒 Inventario"; invTitle.TextColor3=DK; invTitle.TextSize=13; invTitle.Font=Enum.Font.GothamBold
  504. invTitle.TextXAlignment=Enum.TextXAlignment.Left; invTitle.BackgroundTransparency=1; invTitle.ZIndex=32; invTitle.Parent=invHdr
  505.  
  506. local invClose=Instance.new("TextButton"); invClose.Size=UDim2.new(0,26,0,26); invClose.Position=UDim2.new(1,-34,0.5,-13)
  507. invClose.Text="✕"; invClose.TextSize=11; invClose.Font=Enum.Font.GothamBold
  508. invClose.BackgroundColor3=GR; invClose.TextColor3=MD; invClose.BorderSizePixel=0; invClose.ZIndex=32; invClose.Parent=invHdr
  509. Instance.new("UICorner",invClose).CornerRadius=UDim.new(0,6)
  510. invClose.MouseButton1Click:Connect(function() invWin.Visible=false end)
  511.  
  512. local invScr=Instance.new("ScrollingFrame"); invScr.Size=UDim2.new(1,-12,1,-54); invScr.Position=UDim2.new(0,6,0,50)
  513. invScr.BackgroundTransparency=1; invScr.BorderSizePixel=0; invScr.ScrollBarThickness=3
  514. invScr.ScrollBarImageColor3=A1; invScr.ZIndex=31; invScr.Parent=invWin
  515. local invLay=Instance.new("UIListLayout",invScr); invLay.Padding=UDim.new(0,3)
  516. invLay:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() invScr.CanvasSize=UDim2.new(0,0,0,invLay.AbsoluteContentSize.Y+8) end)
  517.  
  518. local function addRow(txt,col)
  519. local r=Instance.new("TextLabel"); r.Size=UDim2.new(1,0,0,24); r.Text=" "..txt
  520. r.TextColor3=col or DK; r.TextSize=11; r.Font=Enum.Font.Gotham
  521. r.TextXAlignment=Enum.TextXAlignment.Left; r.BackgroundTransparency=1; r.ZIndex=32; r.Parent=invScr
  522. end
  523.  
  524. local function showInv(p)
  525. for _,c in pairs(invScr:GetChildren()) do if c:IsA("TextLabel") then c:Destroy() end end
  526. local char=p and p.Character
  527. if not char then addRow("⚠ Sin personaje",A1); invWin.Visible=true; return end
  528. invTitle.Text="🎒 "..p.Name
  529. local bp=p:FindFirstChild("Backpack"); local eq,bk={},{}
  530. for _,o in pairs(char:GetChildren()) do if o:IsA("Tool") then table.insert(eq,o.Name) end end
  531. if bp then for _,o in pairs(bp:GetChildren()) do if o:IsA("Tool") then table.insert(bk,o.Name) end end end
  532. if #eq>0 then addRow("── EQUIPADO ──",A1); for _,n in pairs(eq) do addRow(" ⚔ "..n,GN) end end
  533. if #bk>0 then addRow("── MOCHILA ──",A1); for _,n in pairs(bk) do addRow(" 🎒 "..n) end end
  534. if #eq==0 and #bk==0 then addRow("📭 Sin herramientas",MD) end
  535. invWin.Visible=true
  536. end
  537.  
  538. -- ══════════════════════════════════════════
  539. -- WHITELIST
  540. -- ══════════════════════════════════════════
  541. local wlWin=Instance.new("Frame"); wlWin.Size=UDim2.new(0,270,0,320); wlWin.Position=UDim2.new(0.5,-135,0.5,-160)
  542. wlWin.BackgroundColor3=W; wlWin.BorderSizePixel=0; wlWin.Visible=false; wlWin.ZIndex=30; wlWin.Parent=gui
  543. Instance.new("UICorner",wlWin).CornerRadius=UDim.new(0,14); Instance.new("UIStroke",wlWin).Color=GR
  544.  
  545. local wlTop=Instance.new("Frame"); wlTop.Size=UDim2.new(1,0,0,3); wlTop.BackgroundColor3=A1; wlTop.BorderSizePixel=0; wlTop.ZIndex=31; wlTop.Parent=wlWin
  546. Instance.new("UICorner",wlTop).CornerRadius=UDim.new(0,14)
  547. Instance.new("UIGradient",wlTop).Color=ColorSequence.new{ColorSequenceKeypoint.new(0,A1),ColorSequenceKeypoint.new(1,A2)}
  548.  
  549. local wlHdr=Instance.new("Frame"); wlHdr.Size=UDim2.new(1,0,0,44); wlHdr.Position=UDim2.new(0,0,0,3)
  550. wlHdr.BackgroundColor3=OF; wlHdr.BorderSizePixel=0; wlHdr.ZIndex=31; wlHdr.Parent=wlWin
  551.  
  552. local wlTitleLbl=Instance.new("TextLabel"); wlTitleLbl.Size=UDim2.new(1,-40,1,0); wlTitleLbl.Position=UDim2.new(0,14,0,0)
  553. wlTitleLbl.Text="📋 Whitelist"; wlTitleLbl.TextColor3=DK; wlTitleLbl.TextSize=13; wlTitleLbl.Font=Enum.Font.GothamBold
  554. wlTitleLbl.TextXAlignment=Enum.TextXAlignment.Left; wlTitleLbl.BackgroundTransparency=1; wlTitleLbl.ZIndex=32; wlTitleLbl.Parent=wlHdr
  555.  
  556. local wlClose=Instance.new("TextButton"); wlClose.Size=UDim2.new(0,26,0,26); wlClose.Position=UDim2.new(1,-34,0.5,-13)
  557. wlClose.Text="✕"; wlClose.TextSize=11; wlClose.Font=Enum.Font.GothamBold
  558. wlClose.BackgroundColor3=GR; wlClose.TextColor3=MD; wlClose.BorderSizePixel=0; wlClose.ZIndex=32; wlClose.Parent=wlHdr
  559. Instance.new("UICorner",wlClose).CornerRadius=UDim.new(0,6)
  560. wlClose.MouseButton1Click:Connect(function() wlWin.Visible=false end)
  561.  
  562. local wlInputWrap=Instance.new("Frame"); wlInputWrap.Size=UDim2.new(1,-16,0,34); wlInputWrap.Position=UDim2.new(0,8,0,52)
  563. wlInputWrap.BackgroundColor3=OF; wlInputWrap.BorderSizePixel=1; wlInputWrap.BorderColor3=GR; wlInputWrap.ZIndex=31; wlInputWrap.Parent=wlWin
  564. Instance.new("UICorner",wlInputWrap).CornerRadius=UDim.new(0,8)
  565.  
  566. local wlInput=Instance.new("TextBox"); wlInput.Size=UDim2.new(1,-70,1,0); wlInput.Position=UDim2.new(0,10,0,0)
  567. wlInput.BackgroundTransparency=1; wlInput.Text=""; wlInput.PlaceholderText="Nombre del jugador..."
  568. wlInput.PlaceholderColor3=MD; wlInput.TextColor3=DK; wlInput.Font=Enum.Font.Gotham; wlInput.TextSize=11
  569. wlInput.ClearTextOnFocus=false; wlInput.ZIndex=32; wlInput.Parent=wlInputWrap
  570.  
  571. local wlAddBtn=Instance.new("TextButton"); wlAddBtn.Size=UDim2.new(0,54,1,-6); wlAddBtn.Position=UDim2.new(1,-58,0,3)
  572. wlAddBtn.Text="+ Add"; wlAddBtn.TextSize=10; wlAddBtn.Font=Enum.Font.GothamBold
  573. wlAddBtn.BackgroundColor3=A1; wlAddBtn.TextColor3=W; wlAddBtn.BorderSizePixel=0; wlAddBtn.ZIndex=32; wlAddBtn.Parent=wlInputWrap
  574. Instance.new("UICorner",wlAddBtn).CornerRadius=UDim.new(0,6)
  575.  
  576. local wlScr=Instance.new("ScrollingFrame"); wlScr.Size=UDim2.new(1,-12,1,-98); wlScr.Position=UDim2.new(0,6,0,94)
  577. wlScr.BackgroundTransparency=1; wlScr.BorderSizePixel=0; wlScr.ScrollBarThickness=3
  578. wlScr.ScrollBarImageColor3=A1; wlScr.ZIndex=31; wlScr.Parent=wlWin
  579. local wlLay=Instance.new("UIListLayout",wlScr); wlLay.Padding=UDim.new(0,4)
  580. wlLay:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() wlScr.CanvasSize=UDim2.new(0,0,0,wlLay.AbsoluteContentSize.Y+8) end)
  581.  
  582. local function refreshWL()
  583. for _,c in pairs(wlScr:GetChildren()) do if c:IsA("Frame") or c:IsA("TextLabel") then c:Destroy() end end
  584. if #whitelist==0 then
  585. local e=Instance.new("TextLabel"); e.Size=UDim2.new(1,0,0,28); e.Text=" Sin jugadores"
  586. e.TextColor3=MD; e.TextSize=11; e.Font=Enum.Font.Gotham
  587. e.TextXAlignment=Enum.TextXAlignment.Left; e.BackgroundTransparency=1; e.ZIndex=32; e.Parent=wlScr
  588. return
  589. end
  590. for i,name in ipairs(whitelist) do
  591. local row=Instance.new("Frame"); row.Size=UDim2.new(1,0,0,30); row.BackgroundColor3=OF
  592. row.BorderSizePixel=0; row.ZIndex=32; row.Parent=wlScr; row.LayoutOrder=i
  593. Instance.new("UICorner",row).CornerRadius=UDim.new(0,6)
  594. local nl=Instance.new("TextLabel",row); nl.Size=UDim2.new(1,-40,1,0); nl.Position=UDim2.new(0,10,0,0)
  595. nl.Text="👤 "..name; nl.TextColor3=DK; nl.TextSize=11; nl.Font=Enum.Font.Gotham
  596. nl.TextXAlignment=Enum.TextXAlignment.Left; nl.BackgroundTransparency=1; nl.ZIndex=33
  597. local del=Instance.new("TextButton",row); del.Size=UDim2.new(0,26,0,22); del.Position=UDim2.new(1,-30,0.5,-11)
  598. del.Text="✕"; del.TextSize=11; del.Font=Enum.Font.GothamBold
  599. del.BackgroundColor3=GR; del.TextColor3=MD; del.BorderSizePixel=0; del.ZIndex=33
  600. Instance.new("UICorner",del).CornerRadius=UDim.new(0,5)
  601. local cap=name
  602. del.MouseButton1Click:Connect(function()
  603. for j,n in ipairs(whitelist) do if n==cap then table.remove(whitelist,j); break end end
  604. refreshWL()
  605. end)
  606. end
  607. end
  608. refreshWL()
  609.  
  610. wlAddBtn.MouseButton1Click:Connect(function()
  611. local name=wlInput.Text:match("^%s*(.-)%s*$")
  612. if name~="" then
  613. local exists=false
  614. for _,n in ipairs(whitelist) do if n:lower()==name:lower() then exists=true; break end end
  615. if not exists then table.insert(whitelist,name); refreshWL() end
  616. wlInput.Text=""
  617. end
  618. end)
  619.  
  620. -- ══════════════════════════════════════════
  621. -- HELPERS ESP / AIM
  622. -- ══════════════════════════════════════════
  623. local function rainbowColor() return Color3.fromHSV((tick()*0.35)%1, 1, 1) end
  624.  
  625. local function teamCol(p)
  626. if player.Team and p.Team and player.Team==p.Team then return GN end
  627. return A1
  628. end
  629.  
  630. local function losCheck(hrp)
  631. local rp=RaycastParams.new()
  632. rp.FilterDescendantsInstances={player.Character}
  633. rp.FilterType=Enum.RaycastFilterType.Exclude
  634. local res=workspace:Raycast(camera.CFrame.Position, hrp.Position-camera.CFrame.Position, rp)
  635. if res then local hc=res.Instance and res.Instance:FindFirstAncestorOfClass("Model"); return hc and hc==hrp.Parent end
  636. return true
  637. end
  638.  
  639. local function isWhitelisted(p)
  640. for _,n in ipairs(whitelist) do if n:lower()==p.Name:lower() then return true end end
  641. return false
  642. end
  643.  
  644. local function getAimPart(char, idx)
  645. if idx==1 then return char:FindFirstChild("Head")
  646. elseif idx==2 then return char:FindFirstChild("HumanoidRootPart")
  647. elseif idx==3 then return char:FindFirstChild("UpperTorso") or char:FindFirstChild("Torso")
  648. end
  649. return char:FindFirstChild("HumanoidRootPart")
  650. end
  651.  
  652. local function getTarget(overrideIdx)
  653. local idx = overrideIdx or aimPartIndex
  654. local ctr = Vector2.new(camera.ViewportSize.X/2, camera.ViewportSize.Y/2)
  655. local best, dist = nil, math.huge
  656. for _,p in pairs(Players:GetPlayers()) do
  657. if p~=player and p.Character then
  658. if isWhitelisted(p) then continue end
  659. if states.teamCheck and player.Team and p.Team and player.Team==p.Team then continue end
  660. local hrp=p.Character:FindFirstChild("HumanoidRootPart")
  661. local hum=p.Character:FindFirstChildOfClass("Humanoid")
  662. if hrp and hum and hum.Health>0 then
  663. local pos,vis=camera:WorldToViewportPoint(hrp.Position)
  664. if vis then
  665. local d=(Vector2.new(pos.X,pos.Y)-ctr).Magnitude
  666. if d<fovRadius and d<dist and losCheck(hrp) then
  667. local ap=getAimPart(p.Character,idx)
  668. if ap then dist=d; best=ap end
  669. end
  670. end
  671. end
  672. end
  673. end
  674. return best
  675. end
  676.  
  677. -- ══════════════════════════════════════════
  678. -- SECCIONES
  679. -- ══════════════════════════════════════════
  680. makeSection("👁 ESP")
  681. makeBtn("🔵","ESP Highlight","esp",nil)
  682. makeBtn("📛","ESP Nombres","nameEsp",nil)
  683. makeBtn("⬜","Box ESP 2D","boxEsp",nil)
  684. makeBtn("🌈","Rainbow Mode","rainbow",nil)
  685.  
  686. makeSection("⚔ COMBATE")
  687. makeBtn("🎯","FOV Circle","showFov",nil)
  688. makeBtn("🔫","Aim Assist","aimAssist",nil)
  689. makeBtn("🔀","Aim Alternado","aimAlt",function(on)
  690. aimAltTimer = 0
  691. aimAltOnHead = true
  692. end)
  693. makeBtn("🛡","Filtrar Equipo","teamCheck",nil)
  694.  
  695. -- Selector parte aim
  696. do
  697. order=order+1
  698. local icons={"🧠","🔗","🫁","🎮"}
  699. local sb=Instance.new("TextButton"); sb.Size=UDim2.new(1,0,0,36); sb.BackgroundColor3=OF
  700. sb.BorderSizePixel=0; sb.Text=""; sb.LayoutOrder=order; sb.ZIndex=12; sb.Parent=scroll
  701. Instance.new("UICorner",sb).CornerRadius=UDim.new(0,10)
  702.  
  703. local sI=Instance.new("TextLabel",sb); sI.Size=UDim2.new(0,30,1,0); sI.Position=UDim2.new(0,8,0,0)
  704. sI.Text=icons[aimPartIndex]; sI.TextSize=14; sI.BackgroundTransparency=1; sI.TextColor3=DK; sI.ZIndex=13
  705.  
  706. local sL=Instance.new("TextLabel",sb); sL.Size=UDim2.new(1,-90,1,0); sL.Position=UDim2.new(0,40,0,0)
  707. sL.Text="Parte: "..aimPartLabels[aimPartIndex]; sL.TextSize=11; sL.Font=Enum.Font.Gotham
  708. sL.TextXAlignment=Enum.TextXAlignment.Left; sL.BackgroundTransparency=1; sL.TextColor3=DK; sL.ZIndex=13
  709.  
  710. local sB=Instance.new("TextLabel",sb); sB.Size=UDim2.new(0,68,0,18); sB.Position=UDim2.new(1,-74,0.5,-9)
  711. sB.Text=aimPartLabels[aimPartIndex]; sB.TextSize=9; sB.Font=Enum.Font.GothamBold
  712. sB.TextXAlignment=Enum.TextXAlignment.Center; sB.BackgroundColor3=A1; sB.TextColor3=W
  713. sB.BorderSizePixel=0; sB.ZIndex=14
  714. Instance.new("UICorner",sB).CornerRadius=UDim.new(0,5)
  715.  
  716. sb.MouseButton1Click:Connect(function()
  717. aimPartIndex=(aimPartIndex%#aimPartLabels)+1
  718. sI.Text=icons[aimPartIndex]; sL.Text="Parte: "..aimPartLabels[aimPartIndex]; sB.Text=aimPartLabels[aimPartIndex]
  719. end)
  720. sb.MouseEnter:Connect(function() tw(sb,{BackgroundColor3=GR},0.12) end)
  721. sb.MouseLeave:Connect(function() tw(sb,{BackgroundColor3=OF},0.12) end)
  722. end
  723.  
  724. -- Selector parte secundaria (aim alternado)
  725. do
  726. order=order+1
  727. local secLabels={"Head","Cuello","Pecho","Humanoide"}
  728. local sb2=Instance.new("TextButton"); sb2.Size=UDim2.new(1,0,0,36); sb2.BackgroundColor3=OF
  729. sb2.BorderSizePixel=0; sb2.Text=""; sb2.LayoutOrder=order; sb2.ZIndex=12; sb2.Parent=scroll
  730. Instance.new("UICorner",sb2).CornerRadius=UDim.new(0,10)
  731.  
  732. local s2I=Instance.new("TextLabel",sb2); s2I.Size=UDim2.new(0,30,1,0); s2I.Position=UDim2.new(0,8,0,0)
  733. s2I.Text="🔄"; s2I.TextSize=14; s2I.BackgroundTransparency=1; s2I.TextColor3=DK; s2I.ZIndex=13
  734.  
  735. local s2L=Instance.new("TextLabel",sb2); s2L.Size=UDim2.new(1,-90,1,0); s2L.Position=UDim2.new(0,40,0,0)
  736. s2L.Text="Alt: "..secLabels[aimAltSecIdx]; s2L.TextSize=11; s2L.Font=Enum.Font.Gotham
  737. s2L.TextXAlignment=Enum.TextXAlignment.Left; s2L.BackgroundTransparency=1; s2L.TextColor3=DK; s2L.ZIndex=13
  738.  
  739. local s2B=Instance.new("TextLabel",sb2); s2B.Size=UDim2.new(0,68,0,18); s2B.Position=UDim2.new(1,-74,0.5,-9)
  740. s2B.Text=secLabels[aimAltSecIdx]; s2B.TextSize=9; s2B.Font=Enum.Font.GothamBold
  741. s2B.TextXAlignment=Enum.TextXAlignment.Center; s2B.BackgroundColor3=MD; s2B.TextColor3=W
  742. s2B.BorderSizePixel=0; s2B.ZIndex=14
  743. Instance.new("UICorner",s2B).CornerRadius=UDim.new(0,5)
  744.  
  745. sb2.MouseButton1Click:Connect(function()
  746. aimAltSecIdx=(aimAltSecIdx%#secLabels)+1
  747. s2L.Text="Alt: "..secLabels[aimAltSecIdx]; s2B.Text=secLabels[aimAltSecIdx]
  748. end)
  749. sb2.MouseEnter:Connect(function() tw(sb2,{BackgroundColor3=GR},0.12) end)
  750. sb2.MouseLeave:Connect(function() tw(sb2,{BackgroundColor3=OF},0.12) end)
  751. end
  752.  
  753. makeSlider("Alt. Delay (seg)",0,5,15,1,function(v) aimAltDelay=v end)
  754. makeSlider("FOV Radius",30,500,120,0,function(v) fovRadius=v; fovF.Size=UDim2.new(0,v*2,0,v*2) end)
  755. makeSlider("Aim Suavidad",1,100,15,0,function(v) aimSmooth=v/100 end)
  756.  
  757. makeSection("🔮 PREDICCIÓN")
  758. makeBtn("🔮","Predicción","prediccion",nil)
  759. makeSlider("Pred. Amount",1,100,10,0,function(v) predVal=v/100 end)
  760.  
  761. makeSection("🎒 JUGADORES")
  762. makeActionBtn("📋","Ver Inventario",function()
  763. local t=getTarget()
  764. if t then local tp=Players:GetPlayerFromCharacter(t.Parent); if tp then showInv(tp); return end end
  765. local cl,cd=nil,math.huge
  766. for _,p in pairs(Players:GetPlayers()) do
  767. if p~=player and p.Character then
  768. local h=p.Character:FindFirstChild("HumanoidRootPart")
  769. local m=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  770. if h and m then local d=(h.Position-m.Position).Magnitude; if d<cd then cd=d; cl=p end end
  771. end
  772. end
  773. if cl then showInv(cl) end
  774. end)
  775.  
  776. makeSection("📋 WHITELIST")
  777. makeActionBtn("📋","Gestionar Whitelist",function() wlWin.Visible=not wlWin.Visible end)
  778.  
  779. makeSection("🎨 VISUAL")
  780. makeBtn("🔦","Fullbright","fullbright",function(on)
  781. if on then Lighting.Brightness=10; Lighting.FogEnd=100000; Lighting.Ambient=Color3.new(1,1,1); Lighting.OutdoorAmbient=Color3.new(1,1,1)
  782. else Lighting.Brightness=origBri; Lighting.FogEnd=origFog; Lighting.Ambient=origAmb; Lighting.OutdoorAmbient=origOutA end
  783. end)
  784.  
  785. makeSection("🛠 UTILIDADES")
  786. makeBtn("🦘","Jump Boost","jumpBoost",function(on)
  787. local c=player.Character; if c then local h=c:FindFirstChildOfClass("Humanoid"); if h then h.JumpPower=on and 50*jumpMult or 50 end end
  788. end)
  789. makeSlider("Jump Multiplier",1,5,2,0,function(v)
  790. jumpMult=v
  791. if states.jumpBoost then local c=player.Character; if c then local h=c:FindFirstChildOfClass("Humanoid"); if h then h.JumpPower=50*v end end end
  792. end)
  793. makeBtn("♾","Infinite Jump","infiniteJump",nil)
  794. makeBtn("⏱","Anti-AFK","antiAFK",nil)
  795. makeBtn("📷","Third Person","thirdPerson",function(on)
  796. if thirdCamConn then thirdCamConn:Disconnect(); thirdCamConn=nil end
  797. if on then
  798. player.CameraMode = Enum.CameraMode.Classic
  799. local c = player.Character
  800. if c then
  801. local hrp = c:FindFirstChild("HumanoidRootPart")
  802. if hrp then
  803. thirdCamConn = RunService.RenderStepped:Connect(function()
  804. if not states.thirdPerson then return end
  805. local ch = player.Character
  806. if not ch then return end
  807. local hrp2 = ch:FindFirstChild("HumanoidRootPart")
  808. if hrp2 then
  809. local targetCF = CFrame.new(hrp2.Position + thirdOffset, hrp2.Position)
  810. camera.CameraType = Enum.CameraType.Scriptable
  811. camera.CFrame = camera.CFrame:Lerp(targetCF, 0.15)
  812. end
  813. end)
  814. end
  815. end
  816. else
  817. camera.CameraType = Enum.CameraType.Custom
  818. player.CameraMode = Enum.CameraMode.Classic
  819. end
  820. end)
  821. makeBtn("🙈","Ocultar Nombre","nameHide",function(on)
  822. local c=player.Character or player.CharacterAdded:Wait()
  823. local h=c:FindFirstChildOfClass("Humanoid")
  824. if h then h.DisplayDistanceType=on and Enum.HumanoidDisplayDistanceType.None or Enum.HumanoidDisplayDistanceType.Viewer end
  825. end)
  826. makeBtn("🔄","Girar Personaje","spin",function(on)
  827. if spinConn then spinConn:Disconnect(); spinConn=nil end
  828. local c = player.Character
  829. local hum0 = c and c:FindFirstChildOfClass("Humanoid")
  830. if on then
  831. spinAngleY = 0
  832. if hum0 then hum0.AutoRotate = false end
  833. spinConn = RunService.Stepped:Connect(function(_, dt)
  834. if not states.spin then return end
  835. local ch = player.Character
  836. if not ch then return end
  837. local hrp = ch:FindFirstChild("HumanoidRootPart")
  838. local hum = ch:FindFirstChildOfClass("Humanoid")
  839. if hrp and hum then
  840. hum.AutoRotate = false
  841. -- Acumular ángulo Y manualmente — esto sobreescribe lo que el engine hace con el movimiento
  842. spinAngleY = spinAngleY + math.rad(spinSpeed * dt)
  843. -- Aplicar: posición real del motor + nuestra rotación Y forzada
  844. hrp.CFrame = CFrame.new(hrp.Position) * CFrame.fromEulerAnglesXYZ(0, spinAngleY, 0)
  845. end
  846. end)
  847. else
  848. if hum0 then hum0.AutoRotate = true end
  849. spinAngleY = 0
  850. end
  851. end)
  852. makeSlider("Velocidad Giro (°/s)",10,720,200,0,function(v) spinSpeed=v end)
  853. makeBtn("💬","Chat Spy","chatSpy",function(on)
  854. if on and not chatSpyConnected then
  855. chatSpyConnected=true
  856. for _,p in pairs(Players:GetPlayers()) do
  857. if p~=player then p.Chatted:Connect(function(msg)
  858. if states.chatSpy then local m=Instance.new("Message"); m.Text="[SPY] "..p.Name..": "..msg; m.Parent=workspace; game:GetService("Debris"):AddItem(m,3) end
  859. end) end
  860. end
  861. end
  862. end)
  863.  
  864. -- ══════════════════════════════════════════
  865. -- RESPAWN
  866. -- ══════════════════════════════════════════
  867. player.CharacterAdded:Connect(function(char)
  868. local h=char:WaitForChild("Humanoid")
  869. if states.jumpBoost then h.JumpPower=50*jumpMult end
  870. if states.nameHide then h.DisplayDistanceType=Enum.HumanoidDisplayDistanceType.None end
  871.  
  872. -- Restaurar Third Person al morir
  873. if states.thirdPerson then
  874. if thirdCamConn then thirdCamConn:Disconnect(); thirdCamConn=nil end
  875. task.wait(0.5)
  876. player.CameraMode = Enum.CameraMode.Classic
  877. thirdCamConn = RunService.RenderStepped:Connect(function()
  878. if not states.thirdPerson then return end
  879. local ch = player.Character
  880. if not ch then return end
  881. local hrp2 = ch:FindFirstChild("HumanoidRootPart")
  882. if hrp2 then
  883. local targetCF = CFrame.new(hrp2.Position + thirdOffset, hrp2.Position)
  884. camera.CameraType = Enum.CameraType.Scriptable
  885. camera.CFrame = camera.CFrame:Lerp(targetCF, 0.15)
  886. end
  887. end)
  888. end
  889.  
  890. -- Restaurar Spin al morir
  891. if states.spin then
  892. if spinConn then spinConn:Disconnect(); spinConn=nil end
  893. task.wait(0.3)
  894. h.AutoRotate = false
  895. spinAngleY = 0
  896. spinConn = RunService.Stepped:Connect(function(_, dt)
  897. if not states.spin then return end
  898. local ch = player.Character
  899. if not ch then return end
  900. local hrp = ch:FindFirstChild("HumanoidRootPart")
  901. local hum2 = ch:FindFirstChildOfClass("Humanoid")
  902. if hrp and hum2 then
  903. hum2.AutoRotate = false
  904. spinAngleY = spinAngleY + math.rad(spinSpeed * dt)
  905. hrp.CFrame = CFrame.new(hrp.Position) * CFrame.fromEulerAnglesXYZ(0, spinAngleY, 0)
  906. end
  907. end)
  908. end
  909. end)
  910.  
  911. -- ══════════════════════════════════════════
  912. -- TOGGLE PANEL
  913. -- ══════════════════════════════════════════
  914. local panelOpen = false
  915.  
  916. local function togglePanel()
  917. panelOpen = not panelOpen
  918. if panelOpen then
  919. panel.Visible = true
  920. shadow.Visible = true
  921. panel.Size = UDim2.new(0, PW, 0, 0)
  922. tw(panel, {Size=UDim2.new(0,PW,0,PH)}, 0.35, Enum.EasingStyle.Back, Enum.EasingDirection.Out)
  923. else
  924. tw(panel, {Size=UDim2.new(0,PW,0,0)}, 0.25, Enum.EasingStyle.Quart, Enum.EasingDirection.In)
  925. task.delay(0.25, function()
  926. panel.Visible = false
  927. shadow.Visible = false
  928. end)
  929. end
  930. end
  931.  
  932. toggleBtn.MouseButton1Click:Connect(togglePanel)
  933.  
  934. UserInputService.InputBegan:Connect(function(i, processed)
  935. if processed then return end
  936. if i.KeyCode==Enum.KeyCode.P then togglePanel() end
  937. if i.KeyCode==Enum.KeyCode.Space and states.infiniteJump then
  938. local c=player.Character; if c then local h=c:FindFirstChildOfClass("Humanoid"); if h then h:ChangeState(Enum.HumanoidStateType.Jumping) end end
  939. end
  940. end)
  941.  
  942. -- ══════════════════════════════════════════
  943. -- COMANDO !p EN CHAT — oculta solo GUI
  944. -- ══════════════════════════════════════════
  945. local guiHidden = false
  946.  
  947. player.Chatted:Connect(function(msg)
  948. if msg:lower() == "!p" then
  949. guiHidden = not guiHidden
  950. toggleBtn.Visible = not guiHidden
  951. if guiHidden and panelOpen then
  952. panel.Visible = false
  953. shadow.Visible = false
  954. elseif not guiHidden and panelOpen then
  955. panel.Visible = true
  956. shadow.Visible = true
  957. end
  958. end
  959. end)
  960.  
  961. -- ══════════════════════════════════════════
  962. -- RENDER LOOP
  963. -- ══════════════════════════════════════════
  964. RunService.RenderStepped:Connect(function(dt)
  965. local ac = states.rainbow and rainbowColor() or A1
  966. local pulse = 0.5 + 0.5*math.sin(tick()*2.5)
  967.  
  968. -- Botón toggle pulso
  969. tBtnStroke.Color = ac
  970. tBtnStroke.Thickness = 1.5 + pulse*1.5
  971.  
  972. -- Degradé top bar
  973. topGrad.Color = ColorSequence.new{
  974. ColorSequenceKeypoint.new(0, ac),
  975. ColorSequenceKeypoint.new(1, A2)
  976. }
  977.  
  978. -- FOV circle — solo visible si está activado
  979. fovF.Visible = states.showFov
  980. fovF.Size = UDim2.new(0, fovRadius*2, 0, fovRadius*2)
  981. fovStr.Color = ac
  982.  
  983. -- Anti-AFK
  984. if states.antiAFK then
  985. afkTimer=afkTimer+dt
  986. if afkTimer>=55 then
  987. afkTimer=0
  988. pcall(function() VirtualUser:CaptureController(); VirtualUser:ClickButton2(Vector2.new()) end)
  989. end
  990. end
  991.  
  992. -- Aim Alternado timer
  993. if states.aimAlt then
  994. aimAltTimer = aimAltTimer + dt
  995. if aimAltTimer >= aimAltDelay then
  996. aimAltTimer = 0
  997. aimAltOnHead = not aimAltOnHead
  998. end
  999. end
  1000.  
  1001. -- ESP loop
  1002. for _,p in pairs(Players:GetPlayers()) do
  1003. if p~=player and p.Character then
  1004. local hrp=p.Character:FindFirstChild("HumanoidRootPart")
  1005. local hum=p.Character:FindFirstChildOfClass("Humanoid")
  1006. local alive=hrp and hum and hum.Health>0
  1007.  
  1008. if alive then
  1009. local pos,vis=camera:WorldToViewportPoint(hrp.Position)
  1010. local col=states.rainbow and rainbowColor() or teamCol(p)
  1011.  
  1012. -- Highlight
  1013. if states.esp then
  1014. local h=p.Character:FindFirstChild("ZR_HL")
  1015. if not h then h=Instance.new("Highlight"); h.Name="ZR_HL"; h.Parent=p.Character end
  1016. h.FillTransparency=0.65; h.FillColor=col; h.OutlineColor=col
  1017. else local h=p.Character:FindFirstChild("ZR_HL"); if h then h:Destroy() end end
  1018.  
  1019. -- Nombres
  1020. if states.nameEsp then
  1021. local head=p.Character:FindFirstChild("Head")
  1022. if head then
  1023. local bb=head:FindFirstChild("ZR_BB")
  1024. if not bb then
  1025. bb=Instance.new("BillboardGui"); bb.Name="ZR_BB"
  1026. bb.Size=UDim2.new(0,120,0,28); bb.StudsOffset=Vector3.new(0,2.5,0)
  1027. bb.AlwaysOnTop=true; bb.Parent=head
  1028. local nl=Instance.new("TextLabel",bb); nl.Name="NL"
  1029. nl.Size=UDim2.new(1,0,1,0); nl.BackgroundTransparency=1
  1030. nl.TextSize=14; nl.Font=Enum.Font.GothamBold; nl.TextStrokeTransparency=0.3
  1031. end
  1032. local nl=bb:FindFirstChild("NL"); if nl then nl.Text=p.Name; nl.TextColor3=col end
  1033. end
  1034. else
  1035. local head=p.Character:FindFirstChild("Head")
  1036. if head then local bb=head:FindFirstChild("ZR_BB"); if bb then bb:Destroy() end end
  1037. end
  1038.  
  1039. -- Box ESP
  1040. if states.boxEsp and vis then
  1041. local tp2=camera:WorldToViewportPoint(hrp.Position+Vector3.new(0,3.2,0))
  1042. local bp2=camera:WorldToViewportPoint(hrp.Position-Vector3.new(0,2.8,0))
  1043. local h2=math.abs(tp2.Y-bp2.Y); local w2=h2*0.5; local ty2=math.min(tp2.Y,bp2.Y)
  1044. local box=boxes[p]
  1045. if not box then box=Instance.new("Frame",gui); box.BackgroundTransparency=1; box.BorderSizePixel=0; box.ZIndex=4; boxes[p]=box end
  1046. box.Size=UDim2.new(0,w2,0,h2); box.Position=UDim2.new(0,pos.X-w2/2,0,ty2)
  1047. local bs=box:FindFirstChild("S"); if not bs then bs=Instance.new("UIStroke",box); bs.Name="S"; bs.Thickness=1.5 end
  1048. bs.Color=col
  1049. local hr2=math.clamp(hum.Health/hum.MaxHealth,0,1)
  1050. local hpB=box:FindFirstChild("HP")
  1051. if not hpB then hpB=Instance.new("Frame",box); hpB.Name="HP"; hpB.BorderSizePixel=0; hpB.ZIndex=5; Instance.new("UICorner",hpB).CornerRadius=UDim.new(1,0) end
  1052. hpB.BackgroundColor3=Color3.fromRGB(math.floor(255*(1-hr2)),math.floor(255*hr2),0)
  1053. hpB.Size=UDim2.new(hr2,0,0,4); hpB.Position=UDim2.new(0,0,0,-7)
  1054. else if boxes[p] then boxes[p]:Destroy(); boxes[p]=nil end end
  1055. else
  1056. if boxes[p] then boxes[p]:Destroy(); boxes[p]=nil end
  1057. if p.Character then
  1058. local h=p.Character:FindFirstChild("ZR_HL"); if h then h:Destroy() end
  1059. local head=p.Character:FindFirstChild("Head"); if head then local bb=head:FindFirstChild("ZR_BB"); if bb then bb:Destroy() end end
  1060. end
  1061. end
  1062. end
  1063. end
  1064.  
  1065. -- Aim Assist
  1066. if states.aimAssist then
  1067. local partIdx = aimPartIndex
  1068. if states.aimAlt then
  1069. partIdx = aimAltOnHead and 1 or aimAltSecIdx
  1070. end
  1071. local t=getTarget(partIdx)
  1072. if t then
  1073. local aimPos = t.Position
  1074. if states.prediccion then
  1075. -- Predicción real: calcular posición futura del objetivo
  1076. local hrpPart = t.Parent:FindFirstChild("HumanoidRootPart") or t.Parent:FindFirstChild("Torso")
  1077. if hrpPart then
  1078. local vel = hrpPart.AssemblyLinearVelocity
  1079. -- Calcular distancia al objetivo para ajustar el tiempo de predicción
  1080. local dist = (camera.CFrame.Position - aimPos).Magnitude
  1081. -- Tiempo estimado = distancia / velocidad ficticia de proyectil
  1082. local timeToHit = dist * predVal * 0.01
  1083. aimPos = aimPos + vel * timeToHit
  1084. end
  1085. end
  1086. local look=CFrame.new(camera.CFrame.Position, aimPos)
  1087. camera.CFrame=camera.CFrame:Lerp(look, aimSmooth)
  1088. end
  1089. end
  1090. end)
  1091.  
  1092. Players.PlayerRemoving:Connect(function(p)
  1093. if boxes[p] then boxes[p]:Destroy(); boxes[p]=nil end
  1094. end)
  1095.  
  1096. print("[ZYREN PANEL v1.0] ✅ Listo — P o Z para abrir | chat !p oculta GUI")
  1097.  
Advertisement
Comments
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
Add Comment
Please, Sign In to add comment