Nevzyn

Untitled

Oct 21st, 2025
20
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 66.40 KB | None | 0 0
  1. --[[
  2. ╔═══════════════════════════════════════════════════════════╗
  3. ║ Pré-história - By: NickZScripts ║
  4. ║ Sistema Modular & Anti-Conflitos ║
  5. ║ Interface: Redz Hub Library ║
  6. ╚═══════════════════════════════════════════════════════════╝
  7. ]]
  8.  
  9. -- ============================================================
  10. -- SERVICES
  11. -- ============================================================
  12. local Players = game:GetService("Players")
  13. local RunService = game:GetService("RunService")
  14. local HttpService = game:GetService("HttpService")
  15. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  16. local Teams = game:GetService("Teams")
  17. local TweenService = game:GetService("TweenService")
  18. local UserInputService = game:GetService("UserInputService")
  19. local MarketplaceService = game:GetService("MarketplaceService")
  20.  
  21. -- ============================================================
  22. -- CARREGAR REDZ LIB
  23. -- ============================================================
  24. local success, redzlib = pcall(function()
  25. return loadstring(game:HttpGet("https://raw.githubusercontent.com/tbao143/Library-ui/refs/heads/main/Redzhubui"))()
  26. end)
  27.  
  28. if not success then
  29. warn("[ERRO] Falha ao carregar a biblioteca redzlib")
  30. return
  31. end
  32.  
  33. -- ============================================================
  34. -- VARIÁVEIS GLOBAIS
  35. -- ============================================================
  36. local LocalPlayer = Players.LocalPlayer
  37. local ScriptVersion = "v4.5.1"
  38. local LastSpawnPosition = nil
  39. local Camera = workspace.CurrentCamera
  40. local ActiveTeleportConnection = nil
  41. local GameName = MarketplaceService:GetProductInfo(game.PlaceId).Name
  42.  
  43. -- ============================================================
  44. -- CONFIGURAÇÕES DO AUTO FARM
  45. -- ============================================================
  46. local Config = {
  47. AutoFarm = false,
  48. AutoColeta = false,
  49. CheckDelay = 0.3,
  50. DelayBetweenCrystals = 0.1,
  51. raioDeColeta = 25,
  52. delayEntreTentativas = 0.25,
  53. podeExecutar = true,
  54.  
  55. -- ESP de Carnes
  56. EspMeatActive = false,
  57. ESP_MIN_SIZE = 35,
  58. ESP_MAX_SIZE = 65,
  59. ESP_UPDATE_RATE = 0.1,
  60. MAX_VISIBLE_DISTANCE = 999999,
  61.  
  62. -- ESP de Jogadores
  63. PlayerESP = false,
  64. PlayerESP_ShowHP = false,
  65. PlayerESP_TeamCheck = false,
  66.  
  67. -- Click Teleport
  68. ClickTeleportEnabled = false,
  69.  
  70. -- Teleports Salvos
  71. SavedTeleports = {},
  72.  
  73. -- Patrulha
  74. PatrulhaPontos = {
  75. CFrame.new(0, 30, 0),
  76. CFrame.new(800, 30, 400),
  77. CFrame.new(-750, 30, -600),
  78. CFrame.new(450, 30, -1000),
  79. CFrame.new(-900, 30, 700),
  80. CFrame.new(0, 30, 1000),
  81. },
  82. }
  83.  
  84. -- ============================================================
  85. -- CACHE DE NÍVEL
  86. -- ============================================================
  87. local DinoLevelCache = {
  88. value = 0,
  89. lastUpdate = 0,
  90. updateInterval = 2
  91. }
  92.  
  93. -- ============================================================
  94. -- DETECTAR POSIÇÃO DE SPAWN
  95. -- ============================================================
  96. task.spawn(function()
  97. local char = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
  98. local root = char:WaitForChild("HumanoidRootPart", 10)
  99.  
  100. if root then
  101. task.wait(2)
  102. LastSpawnPosition = root.CFrame
  103. end
  104.  
  105. LocalPlayer.CharacterAdded:Connect(function(newChar)
  106. task.wait(2)
  107. local newRoot = newChar:FindFirstChild("HumanoidRootPart")
  108. if newRoot then
  109. LastSpawnPosition = newRoot.CFrame
  110. end
  111. end)
  112. end)
  113.  
  114. -- ============================================================
  115. -- CRIAR WINDOW
  116. -- ============================================================
  117. local Window = redzlib:MakeWindow({
  118. Title = "🦖 Pré-história | " .. GameName,
  119. SubTitle = ScriptVersion .. " | By: NickZScripts",
  120. SaveFolder = "PreHistoria_Settings"
  121. })
  122.  
  123. -- Adicionar botão de minimizar
  124. Window:AddMinimizeButton({
  125. Button = {
  126. Image = "rbxassetid://71014873973869",
  127. BackgroundTransparency = 0
  128. },
  129. Corner = {
  130. CornerRadius = UDim.new(35, 1)
  131. },
  132. })
  133.  
  134. -- ============================================================
  135. -- CRIAR ABAS
  136. -- ============================================================
  137. local MenuTab = Window:MakeTab({"Menu", "home"})
  138. local AutoFarmTab = Window:MakeTab({"Auto Farm", "zap"})
  139. local EspTab = Window:MakeTab({"ESP", "eye"})
  140. local TeleportTab = Window:MakeTab({"Teleporte", "map"})
  141. local OutrosTab = Window:MakeTab({"Outros", "tool"})
  142. local ConfigTab = Window:MakeTab({"Configurações", "settings"})
  143.  
  144. -- Definir tema padrão
  145. redzlib:SetTheme("Dark")
  146.  
  147. -- Selecionar aba principal
  148. Window:SelectTab(MenuTab)
  149.  
  150. -- ============================================================
  151. -- FUNÇÕES DE UTILIDADE
  152. -- ============================================================
  153.  
  154. local function getCharacter()
  155. return LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
  156. end
  157.  
  158. local function getHumanoidRootPart()
  159. local char = getCharacter()
  160. return char and char:FindFirstChild("HumanoidRootPart")
  161. end
  162.  
  163. local function teleportTo(cf)
  164. local root = getHumanoidRootPart()
  165. if root and root.Parent then
  166. root.Parent:SetPrimaryPartCFrame(cf)
  167. end
  168. end
  169.  
  170. local function teleportToCrystal(c)
  171. local root = getHumanoidRootPart()
  172. if root and c then
  173. root.Parent:SetPrimaryPartCFrame(CFrame.new(c.Position + Vector3.new(0, 4.5, 0)))
  174. end
  175. end
  176.  
  177. -- ============================================================
  178. -- SISTEMA DE NOTIFICAÇÕES
  179. -- ============================================================
  180. local function Notify(title, content, duration)
  181. game:GetService("StarterGui"):SetCore("SendNotification", {
  182. Title = title,
  183. Text = content,
  184. Duration = duration or 3
  185. })
  186. end
  187.  
  188. -- ============================================================
  189. -- SISTEMA DE TELEPORTE SEGURO
  190. -- ============================================================
  191.  
  192. local function safeTeleport(targetCFrame, locationName)
  193. if ActiveTeleportConnection then
  194. ActiveTeleportConnection:Disconnect()
  195. ActiveTeleportConnection = nil
  196. end
  197.  
  198. local char = LocalPlayer.Character
  199. local root = char and char:FindFirstChild("HumanoidRootPart")
  200. local humanoid = char and char:FindFirstChild("Humanoid")
  201.  
  202. if not root or not humanoid then
  203. Notify("❌ Erro", "Personagem não encontrado!", 1)
  204. return false
  205. end
  206.  
  207. Notify("🚀 Teleportando", "Indo para: " .. locationName, 0.5)
  208.  
  209. root.CFrame = targetCFrame
  210.  
  211. task.spawn(function()
  212. task.wait(0.05)
  213.  
  214. local rayParams = RaycastParams.new()
  215. rayParams.FilterType = Enum.RaycastFilterType.Blacklist
  216. rayParams.FilterDescendantsInstances = {char}
  217.  
  218. local rayResult = workspace:Raycast(
  219. root.Position,
  220. Vector3.new(0, -100, 0),
  221. rayParams
  222. )
  223.  
  224. if rayResult then
  225. root.CFrame = CFrame.new(rayResult.Position + Vector3.new(0, 3, 0))
  226. end
  227. end)
  228.  
  229. local teleportStartTime = tick()
  230. local maxWaitTime = 1.2
  231. local minWaitTime = 0.2
  232.  
  233. ActiveTeleportConnection = RunService.Heartbeat:Connect(function()
  234. if not char or not char.Parent or not root or not root.Parent or not humanoid then
  235. if ActiveTeleportConnection then
  236. ActiveTeleportConnection:Disconnect()
  237. ActiveTeleportConnection = nil
  238. end
  239. return
  240. end
  241.  
  242. local elapsedTime = tick() - teleportStartTime
  243.  
  244. local floorMaterial = humanoid.FloorMaterial
  245. local isOnGround = floorMaterial ~= Enum.Material.Air
  246.  
  247. local velocity = root.AssemblyLinearVelocity
  248. local isStationary = velocity.Magnitude < 2
  249.  
  250. local humanoidState = humanoid:GetState()
  251. local isLanded = humanoidState == Enum.HumanoidStateType.Landed or
  252. humanoidState == Enum.HumanoidStateType.Running or
  253. humanoidState == Enum.HumanoidStateType.RunningNoPhysics
  254.  
  255. if (elapsedTime > minWaitTime and (isOnGround or (isStationary and isLanded))) or elapsedTime > maxWaitTime then
  256. if ActiveTeleportConnection then
  257. ActiveTeleportConnection:Disconnect()
  258. ActiveTeleportConnection = nil
  259. end
  260.  
  261. if isOnGround or isLanded then
  262. Notify("✅ Chegou", locationName, 0.5)
  263. else
  264. local rayParams = RaycastParams.new()
  265. rayParams.FilterType = Enum.RaycastFilterType.Blacklist
  266. rayParams.FilterDescendantsInstances = {char}
  267.  
  268. local rayResult = workspace:Raycast(
  269. root.Position,
  270. Vector3.new(0, -200, 0),
  271. rayParams
  272. )
  273.  
  274. if rayResult then
  275. root.CFrame = CFrame.new(rayResult.Position + Vector3.new(0, 3, 0))
  276. end
  277.  
  278. Notify("⚠️ Ajustado", "Posição corrigida", 0.5)
  279. end
  280.  
  281. return
  282. end
  283. end)
  284.  
  285. return true
  286. end
  287.  
  288. -- ============================================================
  289. -- MÓDULO: CLICK TELEPORT (SEM EFEITOS VISUAIS)
  290. -- ============================================================
  291.  
  292. local ClickTeleportModule = (function()
  293. local _enabled = false
  294. local _uiVisible = false
  295. local _screenGui = nil
  296. local _mainFrame = nil
  297. local _minimizedBtn = nil
  298. local _connections = {}
  299.  
  300. local Mouse = LocalPlayer:GetMouse()
  301.  
  302. local ClickState = {
  303. StartTime = 0,
  304. StartPosition = nil,
  305. IsValid = false,
  306. }
  307.  
  308. local CTConfig = {
  309. MaxClickTime = 0.3,
  310. MaxDragDistance = 10,
  311. RaycastDistance = 10000,
  312. TeleportOffset = 3,
  313. }
  314.  
  315. local CTTheme = {
  316. Background = Color3.fromRGB(25, 25, 35),
  317. Secondary = Color3.fromRGB(35, 35, 45),
  318. Accent = Color3.fromRGB(90, 170, 255),
  319. Success = Color3.fromRGB(90, 255, 140),
  320. Danger = Color3.fromRGB(255, 90, 90),
  321. Text = Color3.fromRGB(255, 255, 255),
  322. TextDim = Color3.fromRGB(180, 180, 200),
  323. }
  324.  
  325. local function _getMouseHit()
  326. local unitRay = Camera:ScreenPointToRay(Mouse.X, Mouse.Y)
  327.  
  328. local raycastParams = RaycastParams.new()
  329. raycastParams.FilterType = Enum.RaycastFilterType.Blacklist
  330. raycastParams.FilterDescendantsInstances = {LocalPlayer.Character}
  331. raycastParams.IgnoreWater = false
  332.  
  333. local raycastResult = workspace:Raycast(
  334. unitRay.Origin,
  335. unitRay.Direction * CTConfig.RaycastDistance,
  336. raycastParams
  337. )
  338.  
  339. return raycastResult
  340. end
  341.  
  342. local function _teleportToPosition(position)
  343. local root = getHumanoidRootPart()
  344. if not root then return false end
  345.  
  346. local currentPosition = root.Position
  347. local teleportPos = position + Vector3.new(0, CTConfig.TeleportOffset, 0)
  348. local directionVector = (position - currentPosition)
  349. local horizontalDirection = Vector3.new(directionVector.X, 0, directionVector.Z)
  350. local lookDirection = horizontalDirection.Unit
  351. local targetCFrame = CFrame.new(teleportPos, teleportPos + lookDirection)
  352.  
  353. root.CFrame = targetCFrame
  354.  
  355. return true
  356. end
  357.  
  358. local function _isValidClick(startPos, endPos, duration)
  359. if duration > CTConfig.MaxClickTime then return false end
  360.  
  361. local dragDistance = (endPos - startPos).Magnitude
  362. if dragDistance > CTConfig.MaxDragDistance then return false end
  363.  
  364. return true
  365. end
  366.  
  367. local function _updateStatusLabel(text, color)
  368. if _mainFrame then
  369. local statusLabel = _mainFrame:FindFirstChild("Container"):FindFirstChild("StatusLabel")
  370. if statusLabel then
  371. statusLabel.Text = text
  372. statusLabel.TextColor3 = color
  373. end
  374. end
  375. end
  376.  
  377. local function _enableClickDetection()
  378. for _, conn in ipairs(_connections) do
  379. if conn and conn.Connected then
  380. conn:Disconnect()
  381. end
  382. end
  383. _connections = {}
  384.  
  385. table.insert(_connections, UserInputService.InputBegan:Connect(function(input, gameProcessed)
  386. if gameProcessed then return end
  387. if not _enabled then return end
  388.  
  389. if input.UserInputType == Enum.UserInputType.MouseButton1 or
  390. input.UserInputType == Enum.UserInputType.Touch then
  391. ClickState.StartTime = tick()
  392. ClickState.StartPosition = Vector2.new(Mouse.X, Mouse.Y)
  393. ClickState.IsValid = true
  394. end
  395. end))
  396.  
  397. table.insert(_connections, UserInputService.InputEnded:Connect(function(input, gameProcessed)
  398. if gameProcessed then return end
  399. if not _enabled then return end
  400. if not ClickState.IsValid then return end
  401.  
  402. if input.UserInputType == Enum.UserInputType.MouseButton1 or
  403. input.UserInputType == Enum.UserInputType.Touch then
  404.  
  405. local clickDuration = tick() - ClickState.StartTime
  406. local endPosition = Vector2.new(Mouse.X, Mouse.Y)
  407.  
  408. if _isValidClick(ClickState.StartPosition, endPosition, clickDuration) then
  409. local raycastResult = _getMouseHit()
  410.  
  411. if raycastResult then
  412. if _teleportToPosition(raycastResult.Position) then
  413. _updateStatusLabel("✅ Teleportado!", CTTheme.Success)
  414.  
  415. task.wait(1)
  416. _updateStatusLabel("Clique em qualquer lugar para teleportar", CTTheme.TextDim)
  417. end
  418. else
  419. _updateStatusLabel("❌ Não é possível teleportar para o céu", CTTheme.Danger)
  420.  
  421. task.wait(1.5)
  422. _updateStatusLabel("Clique em qualquer lugar para teleportar", CTTheme.TextDim)
  423. end
  424. end
  425.  
  426. ClickState.IsValid = false
  427. end
  428. end))
  429. end
  430.  
  431. local function _disableClickDetection()
  432. for _, conn in ipairs(_connections) do
  433. if conn and conn.Connected then
  434. conn:Disconnect()
  435. end
  436. end
  437. _connections = {}
  438. end
  439.  
  440. local function _minimizeUI()
  441. if _mainFrame then
  442. _mainFrame.Visible = false
  443. end
  444. if _minimizedBtn then
  445. _minimizedBtn.Visible = true
  446.  
  447. _minimizedBtn.Size = UDim2.new(0, 0, 0, 0)
  448. TweenService:Create(_minimizedBtn, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
  449. Size = UDim2.new(0, 50, 0, 50)
  450. }):Play()
  451. end
  452. end
  453.  
  454. local function _maximizeUI()
  455. if _minimizedBtn then
  456. TweenService:Create(_minimizedBtn, TweenInfo.new(0.2, Enum.EasingStyle.Back, Enum.EasingDirection.In), {
  457. Size = UDim2.new(0, 0, 0, 0)
  458. }):Play()
  459.  
  460. task.wait(0.2)
  461. _minimizedBtn.Visible = false
  462. end
  463. if _mainFrame then
  464. _mainFrame.Visible = true
  465.  
  466. _mainFrame.Size = UDim2.new(0, 0, 0, 0)
  467. TweenService:Create(_mainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
  468. Size = UDim2.new(0, 260, 0, 180)
  469. }):Play()
  470. end
  471. end
  472.  
  473. local function _createUI()
  474. if _screenGui then
  475. pcall(function() _screenGui:Destroy() end)
  476. _screenGui = nil
  477. end
  478.  
  479. _screenGui = Instance.new("ScreenGui")
  480. _screenGui.Name = "ClickTeleportUI_PreHistoria"
  481. _screenGui.ResetOnSpawn = false
  482. _screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  483. _screenGui.Parent = game:GetService("CoreGui")
  484.  
  485. _mainFrame = Instance.new("Frame")
  486. _mainFrame.Name = "MainFrame"
  487. _mainFrame.Size = UDim2.new(0, 260, 0, 180)
  488. _mainFrame.Position = UDim2.new(0.5, -130, 0.5, -90)
  489. _mainFrame.BackgroundColor3 = CTTheme.Background
  490. _mainFrame.BackgroundTransparency = 0.05
  491. _mainFrame.BorderSizePixel = 0
  492. _mainFrame.Active = true
  493. _mainFrame.Draggable = true
  494. _mainFrame.Parent = _screenGui
  495.  
  496. local mainCorner = Instance.new("UICorner")
  497. mainCorner.CornerRadius = UDim.new(0, 12)
  498. mainCorner.Parent = _mainFrame
  499.  
  500. local mainStroke = Instance.new("UIStroke")
  501. mainStroke.Color = CTTheme.Accent
  502. mainStroke.Thickness = 2
  503. mainStroke.Transparency = 0.3
  504. mainStroke.Parent = _mainFrame
  505.  
  506. local bgGradient = Instance.new("UIGradient")
  507. bgGradient.Color = ColorSequence.new{
  508. ColorSequenceKeypoint.new(0, Color3.fromRGB(30, 30, 40)),
  509. ColorSequenceKeypoint.new(1, Color3.fromRGB(20, 20, 30))
  510. }
  511. bgGradient.Rotation = 45
  512. bgGradient.Parent = _mainFrame
  513.  
  514. local header = Instance.new("Frame")
  515. header.Size = UDim2.new(1, 0, 0, 50)
  516. header.BackgroundColor3 = CTTheme.Secondary
  517. header.BackgroundTransparency = 0.2
  518. header.BorderSizePixel = 0
  519. header.Parent = _mainFrame
  520.  
  521. local headerCorner = Instance.new("UICorner")
  522. headerCorner.CornerRadius = UDim.new(0, 12)
  523. headerCorner.Parent = header
  524.  
  525. local headerFix = Instance.new("Frame")
  526. headerFix.Size = UDim2.new(1, 0, 0, 12)
  527. headerFix.Position = UDim2.new(0, 0, 1, -12)
  528. headerFix.BackgroundColor3 = CTTheme.Secondary
  529. headerFix.BackgroundTransparency = 0.2
  530. headerFix.BorderSizePixel = 0
  531. headerFix.Parent = header
  532.  
  533. local title = Instance.new("TextLabel")
  534. title.Size = UDim2.new(1, -85, 1, 0)
  535. title.Position = UDim2.new(0, 15, 0, 0)
  536. title.BackgroundTransparency = 1
  537. title.Text = "🎯 Click Teleport"
  538. title.TextColor3 = CTTheme.Text
  539. title.TextSize = 17
  540. title.Font = Enum.Font.GothamBold
  541. title.TextXAlignment = Enum.TextXAlignment.Left
  542. title.Parent = header
  543.  
  544. local minimizeBtn = Instance.new("TextButton")
  545. minimizeBtn.Size = UDim2.new(0, 35, 0, 35)
  546. minimizeBtn.Position = UDim2.new(1, -78, 0.5, -17.5)
  547. minimizeBtn.BackgroundColor3 = Color3.fromRGB(255, 200, 100)
  548. minimizeBtn.BackgroundTransparency = 0.2
  549. minimizeBtn.Text = "➖"
  550. minimizeBtn.TextColor3 = CTTheme.Text
  551. minimizeBtn.TextSize = 18
  552. minimizeBtn.Font = Enum.Font.GothamBold
  553. minimizeBtn.AutoButtonColor = false
  554. minimizeBtn.Parent = header
  555.  
  556. local minimizeCorner = Instance.new("UICorner")
  557. minimizeCorner.CornerRadius = UDim.new(0, 8)
  558. minimizeCorner.Parent = minimizeBtn
  559.  
  560. local closeBtn = Instance.new("TextButton")
  561. closeBtn.Size = UDim2.new(0, 35, 0, 35)
  562. closeBtn.Position = UDim2.new(1, -38, 0.5, -17.5)
  563. closeBtn.BackgroundColor3 = CTTheme.Danger
  564. closeBtn.BackgroundTransparency = 0.2
  565. closeBtn.Text = "✕"
  566. closeBtn.TextColor3 = CTTheme.Text
  567. closeBtn.TextSize = 20
  568. closeBtn.Font = Enum.Font.GothamBold
  569. closeBtn.AutoButtonColor = false
  570. closeBtn.Parent = header
  571.  
  572. local closeCorner = Instance.new("UICorner")
  573. closeCorner.CornerRadius = UDim.new(0, 8)
  574. closeCorner.Parent = closeBtn
  575.  
  576. local container = Instance.new("Frame")
  577. container.Name = "Container"
  578. container.Size = UDim2.new(1, -20, 1, -60)
  579. container.Position = UDim2.new(0, 10, 0, 55)
  580. container.BackgroundTransparency = 1
  581. container.Parent = _mainFrame
  582.  
  583. local toggleBtn = Instance.new("TextButton")
  584. toggleBtn.Name = "ToggleBtn"
  585. toggleBtn.Size = UDim2.new(1, 0, 0, 55)
  586. toggleBtn.Position = UDim2.new(0, 0, 0, 0)
  587. toggleBtn.BackgroundColor3 = CTTheme.Danger
  588. toggleBtn.BackgroundTransparency = 0.1
  589. toggleBtn.Text = "🔴 DESATIVADO"
  590. toggleBtn.TextColor3 = CTTheme.Text
  591. toggleBtn.TextSize = 16
  592. toggleBtn.Font = Enum.Font.GothamBold
  593. toggleBtn.AutoButtonColor = false
  594. toggleBtn.Parent = container
  595.  
  596. local toggleCorner = Instance.new("UICorner")
  597. toggleCorner.CornerRadius = UDim.new(0, 10)
  598. toggleCorner.Parent = toggleBtn
  599.  
  600. local toggleStroke = Instance.new("UIStroke")
  601. toggleStroke.Name = "Stroke"
  602. toggleStroke.Color = CTTheme.Danger
  603. toggleStroke.Thickness = 2
  604. toggleStroke.Transparency = 0.3
  605. toggleStroke.Parent = toggleBtn
  606.  
  607. local statusLabel = Instance.new("TextLabel")
  608. statusLabel.Name = "StatusLabel"
  609. statusLabel.Size = UDim2.new(1, 0, 0, 25)
  610. statusLabel.Position = UDim2.new(0, 0, 0, 65)
  611. statusLabel.BackgroundTransparency = 1
  612. statusLabel.Text = "Clique em qualquer lugar para teleportar"
  613. statusLabel.TextColor3 = CTTheme.TextDim
  614. statusLabel.TextSize = 12
  615. statusLabel.Font = Enum.Font.Gotham
  616. statusLabel.TextWrapped = true
  617. statusLabel.Parent = container
  618.  
  619. local infoLabel = Instance.new("TextLabel")
  620. infoLabel.Size = UDim2.new(1, 0, 0, 20)
  621. infoLabel.Position = UDim2.new(0, 0, 0, 92)
  622. infoLabel.BackgroundTransparency = 1
  623. infoLabel.Text = "⚡ Teleporte limpo e instantâneo"
  624. infoLabel.TextColor3 = CTTheme.Success
  625. infoLabel.TextSize = 11
  626. infoLabel.Font = Enum.Font.Gotham
  627. infoLabel.Parent = container
  628.  
  629. _minimizedBtn = Instance.new("TextButton")
  630. _minimizedBtn.Name = "MinimizedBtn"
  631. _minimizedBtn.Size = UDim2.new(0, 50, 0, 50)
  632. _minimizedBtn.Position = UDim2.new(1, -60, 0, 10)
  633. _minimizedBtn.BackgroundColor3 = CTTheme.Accent
  634. _minimizedBtn.BackgroundTransparency = 0.1
  635. _minimizedBtn.Text = "🎯"
  636. _minimizedBtn.TextColor3 = CTTheme.Text
  637. _minimizedBtn.TextSize = 24
  638. _minimizedBtn.Font = Enum.Font.GothamBold
  639. _minimizedBtn.AutoButtonColor = false
  640. _minimizedBtn.Visible = false
  641. _minimizedBtn.Active = true
  642. _minimizedBtn.Draggable = true
  643. _minimizedBtn.Parent = _screenGui
  644.  
  645. local minimizedCorner = Instance.new("UICorner")
  646. minimizedCorner.CornerRadius = UDim.new(0, 12)
  647. minimizedCorner.Parent = _minimizedBtn
  648.  
  649. local minimizedStroke = Instance.new("UIStroke")
  650. minimizedStroke.Color = CTTheme.Accent
  651. minimizedStroke.Thickness = 2
  652. minimizedStroke.Parent = _minimizedBtn
  653.  
  654. local minimizedGradient = Instance.new("UIGradient")
  655. minimizedGradient.Color = ColorSequence.new{
  656. ColorSequenceKeypoint.new(0, Color3.fromRGB(100, 180, 255)),
  657. ColorSequenceKeypoint.new(1, Color3.fromRGB(70, 140, 255))
  658. }
  659. minimizedGradient.Rotation = 90
  660. minimizedGradient.Parent = _minimizedBtn
  661.  
  662. toggleBtn.MouseButton1Click:Connect(function()
  663. _enabled = not _enabled
  664.  
  665. if _enabled then
  666. toggleBtn.Text = "🟢 ATIVADO"
  667. toggleBtn.BackgroundColor3 = CTTheme.Success
  668. toggleStroke.Color = CTTheme.Success
  669. statusLabel.Text = "Clique em qualquer lugar para teleportar"
  670. _enableClickDetection()
  671. else
  672. toggleBtn.Text = "🔴 DESATIVADO"
  673. toggleBtn.BackgroundColor3 = CTTheme.Danger
  674. toggleStroke.Color = CTTheme.Danger
  675. statusLabel.Text = "Teleporte desativado"
  676. _disableClickDetection()
  677. end
  678. end)
  679.  
  680. minimizeBtn.MouseButton1Click:Connect(function()
  681. _minimizeUI()
  682. end)
  683.  
  684. _minimizedBtn.MouseButton1Click:Connect(function()
  685. _maximizeUI()
  686. end)
  687.  
  688. closeBtn.MouseButton1Click:Connect(function()
  689. _enabled = false
  690. _disableClickDetection()
  691.  
  692. if _screenGui then
  693. pcall(function() _screenGui:Destroy() end)
  694. _screenGui = nil
  695. _mainFrame = nil
  696. _minimizedBtn = nil
  697. end
  698.  
  699. _uiVisible = false
  700. Config.ClickTeleportEnabled = false
  701.  
  702. Notify("🎯 Click Teleport", "Desativado completamente", 1)
  703. end)
  704.  
  705. local function addHoverEffect(button, normalTrans)
  706. button.MouseEnter:Connect(function()
  707. TweenService:Create(button, TweenInfo.new(0.2), {
  708. BackgroundTransparency = 0
  709. }):Play()
  710. end)
  711.  
  712. button.MouseLeave:Connect(function()
  713. TweenService:Create(button, TweenInfo.new(0.2), {
  714. BackgroundTransparency = normalTrans or 0.1
  715. }):Play()
  716. end)
  717. end
  718.  
  719. addHoverEffect(toggleBtn, 0.1)
  720. addHoverEffect(minimizeBtn, 0.2)
  721. addHoverEffect(closeBtn, 0.2)
  722. addHoverEffect(_minimizedBtn, 0.1)
  723.  
  724. _uiVisible = true
  725. end
  726.  
  727. return {
  728. Init = function()
  729. print("✅ Módulo Click Teleport inicializado (Sem efeitos visuais)")
  730. end,
  731.  
  732. Toggle = function(state)
  733. Config.ClickTeleportEnabled = state
  734.  
  735. if state then
  736. if not _uiVisible then
  737. _createUI()
  738. Notify("🎯 Click Teleport", "Interface aberta!", 1)
  739. end
  740. else
  741. if _screenGui then
  742. _enabled = false
  743. _disableClickDetection()
  744.  
  745. pcall(function() _screenGui:Destroy() end)
  746. _screenGui = nil
  747. _mainFrame = nil
  748. _minimizedBtn = nil
  749. end
  750.  
  751. _uiVisible = false
  752. Notify("🎯 Click Teleport", "Desativado", 1)
  753. end
  754. end,
  755.  
  756. Cleanup = function()
  757. _enabled = false
  758. _disableClickDetection()
  759.  
  760. if _screenGui then
  761. pcall(function() _screenGui:Destroy() end)
  762. _screenGui = nil
  763. _mainFrame = nil
  764. _minimizedBtn = nil
  765. end
  766.  
  767. _uiVisible = false
  768. print("🧹 Click Teleport limpo")
  769. end,
  770.  
  771. IsEnabled = function()
  772. return Config.ClickTeleportEnabled
  773. end
  774. }
  775. end)()
  776.  
  777. ClickTeleportModule.Init()
  778.  
  779. -- ============================================================
  780. -- SISTEMA DE NÍVEL DO DINO
  781. -- ============================================================
  782.  
  783. local function getDinoLevelSilent()
  784. local now = tick()
  785. if (now - DinoLevelCache.lastUpdate) < DinoLevelCache.updateInterval then
  786. return DinoLevelCache.value
  787. end
  788.  
  789. local leaderstats = LocalPlayer:FindFirstChild("leaderstats")
  790. if leaderstats then
  791. for _, stat in ipairs(leaderstats:GetChildren()) do
  792. local name = stat.Name:lower()
  793. if name:find("level") or name:find("lvl") or name:find("nivel") then
  794. if stat:IsA("IntValue") or stat:IsA("NumberValue") then
  795. local val = tonumber(stat.Value) or 0
  796. if val > 0 then
  797. DinoLevelCache.value = val
  798. DinoLevelCache.lastUpdate = now
  799. return val
  800. end
  801. end
  802. end
  803. end
  804. end
  805.  
  806. local playerGui = LocalPlayer:FindFirstChild("PlayerGui")
  807. if playerGui then
  808. for _, gui in ipairs(playerGui:GetDescendants()) do
  809. if gui:IsA("TextLabel") or gui:IsA("TextBox") then
  810. local text = gui.Text:lower()
  811.  
  812. if text:find("level") or text:find("lvl") or text:find("nivel") then
  813. local number = text:match("%d+")
  814. if number then
  815. local val = tonumber(number)
  816. if val and val > 0 and val <= 100 then
  817. DinoLevelCache.value = val
  818. DinoLevelCache.lastUpdate = now
  819. return val
  820. end
  821. end
  822. end
  823. end
  824.  
  825. if gui:IsA("IntValue") or gui:IsA("NumberValue") then
  826. local name = gui.Name:lower()
  827. if name:find("level") or name:find("lvl") or name:find("nivel") then
  828. local val = tonumber(gui.Value) or 0
  829. if val > 0 then
  830. DinoLevelCache.value = val
  831. DinoLevelCache.lastUpdate = now
  832. return val
  833. end
  834. end
  835. end
  836. end
  837. end
  838.  
  839. local char = LocalPlayer.Character
  840. if char then
  841. for _, obj in ipairs(char:GetDescendants()) do
  842. if obj:IsA("IntValue") or obj:IsA("NumberValue") then
  843. local name = obj.Name:lower()
  844. if name:find("level") or name:find("lvl") or name:find("nivel") then
  845. local val = tonumber(obj.Value) or 0
  846. if val > 0 then
  847. DinoLevelCache.value = val
  848. DinoLevelCache.lastUpdate = now
  849. return val
  850. end
  851. end
  852. end
  853. end
  854. end
  855.  
  856. local possibleFolders = {
  857. workspace:FindFirstChild("Dinosaurs"),
  858. workspace:FindFirstChild("Pets"),
  859. workspace:FindFirstChild("NPCs"),
  860. workspace:FindFirstChild("Creatures"),
  861. workspace:FindFirstChild("Animals")
  862. }
  863.  
  864. for _, folder in ipairs(possibleFolders) do
  865. if folder then
  866. for _, dino in ipairs(folder:GetChildren()) do
  867. local owner = dino:FindFirstChild("Owner") or dino:FindFirstChild("Player")
  868.  
  869. if owner and owner:IsA("ObjectValue") and owner.Value == LocalPlayer then
  870. for _, obj in ipairs(dino:GetDescendants()) do
  871. if obj:IsA("IntValue") or obj:IsA("NumberValue") or obj:IsA("StringValue") then
  872. local name = obj.Name:lower()
  873. if name:find("level") or name:find("lvl") or name:find("nivel") then
  874. local val = tonumber(obj.Value) or 0
  875. if val > 0 then
  876. DinoLevelCache.value = val
  877. DinoLevelCache.lastUpdate = now
  878. return val
  879. end
  880. end
  881. end
  882. end
  883. end
  884. end
  885. end
  886. end
  887.  
  888. DinoLevelCache.lastUpdate = now
  889. return DinoLevelCache.value
  890. end
  891.  
  892. local function debugPrintAllValues(parent, prefix)
  893. prefix = prefix or ""
  894.  
  895. for _, child in ipairs(parent:GetChildren()) do
  896. if child:IsA("IntValue") or child:IsA("NumberValue") or child:IsA("StringValue") then
  897. print(prefix .. "├─ " .. child.ClassName .. ": " .. child.Name .. " = " .. tostring(child.Value))
  898. end
  899.  
  900. if #child:GetChildren() > 0 then
  901. print(prefix .. "└─ Folder: " .. child.Name)
  902. debugPrintAllValues(child, prefix .. " ")
  903. end
  904. end
  905. end
  906.  
  907. local function getDinoLevelDebug()
  908. print("\n╔════════════════════════════════════════╗")
  909. print("║ INICIANDO BUSCA DE NÍVEL DO DINO ║")
  910. print("╚════════════════════════════════════════╝")
  911.  
  912. print("\n[1] Verificando leaderstats...")
  913. local leaderstats = LocalPlayer:FindFirstChild("leaderstats")
  914. if leaderstats then
  915. print("✓ leaderstats encontrado!")
  916. debugPrintAllValues(leaderstats, " ")
  917.  
  918. for _, stat in ipairs(leaderstats:GetChildren()) do
  919. local name = stat.Name:lower()
  920. if name:find("level") or name:find("lvl") or name:find("nivel") then
  921. if stat:IsA("IntValue") or stat:IsA("NumberValue") then
  922. local val = tonumber(stat.Value) or 0
  923. print("✓✓✓ NÍVEL ENCONTRADO em leaderstats." .. stat.Name .. ": " .. val)
  924. return val
  925. end
  926. end
  927. end
  928. else
  929. print("✗ leaderstats não encontrado")
  930. end
  931.  
  932. print("\n[2] Verificando PlayerGui...")
  933. local playerGui = LocalPlayer:FindFirstChild("PlayerGui")
  934. if playerGui then
  935. print("✓ PlayerGui encontrado!")
  936.  
  937. for _, gui in ipairs(playerGui:GetDescendants()) do
  938. if gui:IsA("TextLabel") or gui:IsA("TextBox") then
  939. local text = gui.Text:lower()
  940.  
  941. if text:find("level") or text:find("lvl") or text:find("nivel") then
  942. print(" └─ Texto encontrado: " .. gui.Text)
  943.  
  944. local number = text:match("%d+")
  945. if number then
  946. local val = tonumber(number)
  947. if val and val > 0 and val <= 100 then
  948. print("✓✓✓ NÍVEL ENCONTRADO em GUI: " .. val)
  949. return val
  950. end
  951. end
  952. end
  953. end
  954. end
  955. print("✗ Nível não encontrado no PlayerGui")
  956. end
  957.  
  958. print("\n╔════════════════════════════════════════╗")
  959. print("║ ✗ NÍVEL NÃO ENCONTRADO ║")
  960. print("╚════════════════════════════════════════╝\n")
  961.  
  962. return 0
  963. end
  964.  
  965. -- ============================================================
  966. -- SISTEMA DE CRISTAIS
  967. -- ============================================================
  968.  
  969. local prioridadeMap = { legendary = 1, epic = 2, rare = 3, crystal = 4 }
  970.  
  971. local function getCrystalRank(name)
  972. name = name:lower()
  973. for key, rank in pairs(prioridadeMap) do
  974. if name:find(key) then return rank end
  975. end
  976. return 5
  977. end
  978.  
  979. local function getSortedCrystals()
  980. local found = {}
  981. for _, obj in ipairs(workspace:GetDescendants()) do
  982. if obj:IsA("BasePart") and obj.Parent and obj.Parent:IsA("Model") then
  983. local rank = getCrystalRank(obj.Parent.Name)
  984. if rank < 5 then
  985. table.insert(found, {part = obj, rank = rank})
  986. end
  987. end
  988. end
  989. table.sort(found, function(a, b) return a.rank < b.rank end)
  990. local parts = {}
  991. for _, entry in ipairs(found) do
  992. table.insert(parts, entry.part)
  993. end
  994. return parts
  995. end
  996.  
  997. -- ============================================================
  998. -- SISTEMA ESP DE CARNES
  999. -- ============================================================
  1000.  
  1001. local ActiveMeatESPs = {}
  1002. local meatUpdateLoop = nil
  1003. local meatScanLoop = nil
  1004.  
  1005. local function isMeatObject(obj)
  1006. if not obj then return false, nil end
  1007.  
  1008. if obj:IsA("ProximityPrompt") and obj.Enabled then
  1009. local action = (obj.ActionText or ""):lower()
  1010. local objText = (obj.ObjectText or ""):lower()
  1011.  
  1012. local foodActions = {"coma", "eat", "pegar", "pick", "grab", "take"}
  1013.  
  1014. for _, foodAction in ipairs(foodActions) do
  1015. if action:find(foodAction) then
  1016. local fullText = action .. " " .. objText
  1017. local excludeWords = {"plant", "fish", "berry", "fruit", "vegetable", "seed"}
  1018.  
  1019. local isExcluded = false
  1020. for _, word in ipairs(excludeWords) do
  1021. if fullText:find(word) then
  1022. isExcluded = true
  1023. break
  1024. end
  1025. end
  1026.  
  1027. if not isExcluded then
  1028. local parent = obj.Parent
  1029. if parent and parent:IsA("BasePart") then
  1030. for _, player in ipairs(Players:GetPlayers()) do
  1031. if player.Character and parent:IsDescendantOf(player.Character) then
  1032. return false, nil
  1033. end
  1034. end
  1035. return true, parent
  1036. end
  1037. end
  1038. end
  1039. end
  1040. end
  1041.  
  1042. if obj:IsA("Model") or obj:IsA("BasePart") then
  1043. local name = (obj.Name or ""):lower()
  1044.  
  1045. local meatWords = {
  1046. "meat", "carne", "beef", "steak", "chicken",
  1047. "frango", "pork", "porco", "bacon", "ham"
  1048. }
  1049.  
  1050. for _, word in ipairs(meatWords) do
  1051. if name:find(word) then
  1052. for _, player in ipairs(Players:GetPlayers()) do
  1053. if player.Character and obj:IsDescendantOf(player.Character) then
  1054. return false, nil
  1055. end
  1056. end
  1057.  
  1058. if obj:IsA("Model") then
  1059. local part = obj.PrimaryPart or obj:FindFirstChildWhichIsA("BasePart")
  1060. return part ~= nil, part
  1061. else
  1062. return true, obj
  1063. end
  1064. end
  1065. end
  1066. end
  1067.  
  1068. return false, nil
  1069. end
  1070.  
  1071. local function findNearestMeat()
  1072. local char = LocalPlayer.Character
  1073. local root = char and char:FindFirstChild("HumanoidRootPart")
  1074. if not root then return nil, math.huge end
  1075.  
  1076. local nearestMeat = nil
  1077. local nearestDistance = math.huge
  1078.  
  1079. for _, obj in ipairs(workspace:GetDescendants()) do
  1080. local isMeat, part = isMeatObject(obj)
  1081. if isMeat and part and part.Parent then
  1082. local distance = (part.Position - root.Position).Magnitude
  1083. if distance < nearestDistance then
  1084. nearestDistance = distance
  1085. nearestMeat = part
  1086. end
  1087. end
  1088. end
  1089.  
  1090. return nearestMeat, nearestDistance
  1091. end
  1092.  
  1093. local function createMeatESP(part)
  1094. if not part or not part:IsA("BasePart") or not part.Parent then return end
  1095.  
  1096. local id = tostring(part:GetDebugId())
  1097. if ActiveMeatESPs[id] then return end
  1098.  
  1099. local esp = Instance.new("BillboardGui")
  1100. esp.Name = "MeatESP_" .. id
  1101. esp.Adornee = part
  1102. esp.Size = UDim2.new(0, Config.ESP_MAX_SIZE, 0, Config.ESP_MAX_SIZE * 0.4)
  1103. esp.StudsOffset = Vector3.new(0, 3, 0)
  1104. esp.AlwaysOnTop = true
  1105. esp.LightInfluence = 0
  1106. esp.MaxDistance = Config.MAX_VISIBLE_DISTANCE
  1107. esp.Parent = workspace
  1108. esp.Enabled = true
  1109.  
  1110. local frame = Instance.new("Frame", esp)
  1111. frame.Size = UDim2.new(1, 0, 1, 0)
  1112. frame.BackgroundColor3 = Color3.fromRGB(255, 80, 80)
  1113. frame.BackgroundTransparency = 0.4
  1114. frame.BorderSizePixel = 1
  1115. frame.BorderColor3 = Color3.fromRGB(255, 200, 0)
  1116.  
  1117. local corner = Instance.new("UICorner", frame)
  1118. corner.CornerRadius = UDim.new(0, 6)
  1119.  
  1120. local iconLabel = Instance.new("TextLabel", frame)
  1121. iconLabel.Size = UDim2.new(0.3, 0, 0.9, 0)
  1122. iconLabel.Position = UDim2.new(0, 2, 0.05, 0)
  1123. iconLabel.BackgroundTransparency = 1
  1124. iconLabel.Text = "🥩"
  1125. iconLabel.TextScaled = true
  1126. iconLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
  1127. iconLabel.Font = Enum.Font.SourceSansBold
  1128. iconLabel.TextStrokeTransparency = 0.5
  1129.  
  1130. local distLabel = Instance.new("TextLabel", frame)
  1131. distLabel.Name = "Distance"
  1132. distLabel.Size = UDim2.new(0.7, -4, 0.9, 0)
  1133. distLabel.Position = UDim2.new(0.3, 2, 0.05, 0)
  1134. distLabel.BackgroundTransparency = 1
  1135. distLabel.Text = "0m"
  1136. distLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
  1137. distLabel.TextStrokeTransparency = 0.3
  1138. distLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
  1139. distLabel.Font = Enum.Font.GothamBold
  1140. distLabel.TextScaled = true
  1141.  
  1142. ActiveMeatESPs[id] = {
  1143. gui = esp,
  1144. part = part,
  1145. distLabel = distLabel,
  1146. frame = frame,
  1147. iconLabel = iconLabel
  1148. }
  1149.  
  1150. return true
  1151. end
  1152.  
  1153. local function scanForMeats()
  1154. if not Config.EspMeatActive then return end
  1155.  
  1156. for id, data in pairs(ActiveMeatESPs) do
  1157. if data.gui then
  1158. pcall(function() data.gui:Destroy() end)
  1159. end
  1160. end
  1161. ActiveMeatESPs = {}
  1162.  
  1163. local meatCount = 0
  1164. local checkedCount = 0
  1165.  
  1166. for _, obj in ipairs(workspace:GetDescendants()) do
  1167. checkedCount = checkedCount + 1
  1168.  
  1169. if checkedCount % 300 == 0 then
  1170. task.wait()
  1171. if not Config.EspMeatActive then return end
  1172. end
  1173.  
  1174. local isMeat, part = isMeatObject(obj)
  1175. if isMeat and part and part.Parent then
  1176. if createMeatESP(part) then
  1177. meatCount = meatCount + 1
  1178. end
  1179. end
  1180. end
  1181. end
  1182.  
  1183. local function updateMeatESPInfo()
  1184. if not Config.EspMeatActive then return end
  1185.  
  1186. local char = LocalPlayer.Character
  1187. local root = char and char:FindFirstChild("HumanoidRootPart")
  1188. if not root then return end
  1189.  
  1190. for id, data in pairs(ActiveMeatESPs) do
  1191. if data.part and data.part.Parent and data.gui and data.gui.Parent then
  1192. local distance = (data.part.Position - root.Position).Magnitude
  1193.  
  1194. data.gui.Enabled = true
  1195.  
  1196. if data.distLabel then
  1197. if distance < 100 then
  1198. data.distLabel.Text = string.format("%.0fm", distance)
  1199. elseif distance < 1000 then
  1200. data.distLabel.Text = string.format("%.0fm", distance)
  1201. else
  1202. data.distLabel.Text = string.format("%.1fkm", distance / 1000)
  1203. end
  1204. end
  1205.  
  1206. local scaleFactor
  1207. if distance <= 50 then scaleFactor = 1.0
  1208. elseif distance <= 200 then scaleFactor = 0.75
  1209. elseif distance <= 500 then scaleFactor = 0.6
  1210. elseif distance <= 1000 then scaleFactor = 0.5
  1211. elseif distance <= 2000 then scaleFactor = 0.4
  1212. elseif distance <= 3000 then scaleFactor = 0.35
  1213. elseif distance <= 5000 then scaleFactor = 0.3
  1214. elseif distance <= 10000 then scaleFactor = 0.25
  1215. else scaleFactor = 0.2 end
  1216.  
  1217. local newSize = Config.ESP_MIN_SIZE + ((Config.ESP_MAX_SIZE - Config.ESP_MIN_SIZE) * scaleFactor)
  1218. data.gui.Size = UDim2.new(0, newSize, 0, newSize * 0.4)
  1219.  
  1220. if data.frame then
  1221. local transparency
  1222. if distance < 300 then transparency = 0.3
  1223. elseif distance < 1000 then transparency = 0.5
  1224. elseif distance < 2500 then transparency = 0.65
  1225. elseif distance < 5000 then transparency = 0.75
  1226. elseif distance < 10000 then transparency = 0.8
  1227. else transparency = 0.85 end
  1228. data.frame.BackgroundTransparency = transparency
  1229. end
  1230.  
  1231. if distance < 100 then
  1232. data.frame.BackgroundColor3 = Color3.fromRGB(100, 255, 100)
  1233. data.frame.BorderColor3 = Color3.fromRGB(200, 255, 200)
  1234. elseif distance < 500 then
  1235. data.frame.BackgroundColor3 = Color3.fromRGB(255, 255, 100)
  1236. data.frame.BorderColor3 = Color3.fromRGB(255, 255, 150)
  1237. elseif distance < 1500 then
  1238. data.frame.BackgroundColor3 = Color3.fromRGB(255, 180, 100)
  1239. data.frame.BorderColor3 = Color3.fromRGB(255, 200, 150)
  1240. elseif distance < 3000 then
  1241. data.frame.BackgroundColor3 = Color3.fromRGB(255, 120, 120)
  1242. data.frame.BorderColor3 = Color3.fromRGB(255, 150, 150)
  1243. elseif distance < 5000 then
  1244. data.frame.BackgroundColor3 = Color3.fromRGB(200, 150, 255)
  1245. data.frame.BorderColor3 = Color3.fromRGB(220, 180, 255)
  1246. elseif distance < 10000 then
  1247. data.frame.BackgroundColor3 = Color3.fromRGB(180, 180, 255)
  1248. data.frame.BorderColor3 = Color3.fromRGB(200, 200, 255)
  1249. else
  1250. data.frame.BackgroundColor3 = Color3.fromRGB(150, 150, 150)
  1251. data.frame.BorderColor3 = Color3.fromRGB(180, 180, 180)
  1252. end
  1253. else
  1254. if data.gui then
  1255. pcall(function() data.gui:Destroy() end)
  1256. end
  1257. ActiveMeatESPs[id] = nil
  1258. end
  1259. end
  1260. end
  1261.  
  1262. local function startMeatESP()
  1263. if meatUpdateLoop then return end
  1264.  
  1265. scanForMeats()
  1266.  
  1267. meatUpdateLoop = RunService.Heartbeat:Connect(function()
  1268. updateMeatESPInfo()
  1269. end)
  1270.  
  1271. meatScanLoop = task.spawn(function()
  1272. while Config.EspMeatActive do
  1273. task.wait(10)
  1274. if Config.EspMeatActive then
  1275. for _, obj in ipairs(workspace:GetDescendants()) do
  1276. if not Config.EspMeatActive then break end
  1277.  
  1278. local isMeat, part = isMeatObject(obj)
  1279. if isMeat and part then
  1280. local id = tostring(part:GetDebugId())
  1281. if not ActiveMeatESPs[id] then
  1282. createMeatESP(part)
  1283. end
  1284. end
  1285. end
  1286.  
  1287. for id, data in pairs(ActiveMeatESPs) do
  1288. if not data.part or not data.part.Parent then
  1289. if data.gui then
  1290. pcall(function() data.gui:Destroy() end)
  1291. end
  1292. ActiveMeatESPs[id] = nil
  1293. end
  1294. end
  1295. end
  1296. end
  1297. end)
  1298.  
  1299. workspace.DescendantAdded:Connect(function(obj)
  1300. if not Config.EspMeatActive then return end
  1301.  
  1302. task.wait(0.1)
  1303. local isMeat, part = isMeatObject(obj)
  1304. if isMeat and part then
  1305. local id = tostring(part:GetDebugId())
  1306. if not ActiveMeatESPs[id] then
  1307. createMeatESP(part)
  1308. end
  1309. end
  1310. end)
  1311. end
  1312.  
  1313. local function stopMeatESP()
  1314. if meatUpdateLoop then
  1315. meatUpdateLoop:Disconnect()
  1316. meatUpdateLoop = nil
  1317. end
  1318.  
  1319. if meatScanLoop then
  1320. task.cancel(meatScanLoop)
  1321. meatScanLoop = nil
  1322. end
  1323.  
  1324. for id, data in pairs(ActiveMeatESPs) do
  1325. if data.gui then
  1326. pcall(function() data.gui:Destroy() end)
  1327. end
  1328. end
  1329. ActiveMeatESPs = {}
  1330. end
  1331.  
  1332. -- ============================================================
  1333. -- SISTEMA ESP DE JOGADORES
  1334. -- ============================================================
  1335.  
  1336. local PlayerESP_Data = {}
  1337. local PlayerESP_UpdateLoop = nil
  1338. local PlayerESP_ProcessQueue = {}
  1339.  
  1340. local ESP_CONFIG = {
  1341. UpdateInterval = 0.5,
  1342. HPBarMaxDistance = 4000,
  1343. HPBarSize = UDim2.new(0, 50, 0, 5),
  1344. HPBarYOffset = 0.5,
  1345. HighlightFillTransparency = 0.85,
  1346. OutlineTransparency = 0.15,
  1347. MaxPlayersPerFrame = 2,
  1348. }
  1349.  
  1350. local COLOR_ENEMY = Color3.fromRGB(255, 85, 85)
  1351. local COLOR_FRIEND = Color3.fromRGB(85, 255, 85)
  1352. local COLOR_NEUTRAL = Color3.fromRGB(240, 240, 240)
  1353.  
  1354. local TeamColorMap = {}
  1355. local UsedHues = {}
  1356. local NextHueIndex = 0
  1357.  
  1358. local function generateUniqueTeamColor()
  1359. local goldenRatio = 0.618033988749895
  1360. local hue = (NextHueIndex * goldenRatio) % 1
  1361.  
  1362. if hue >= 0.25 and hue <= 0.45 then
  1363. hue = (hue + 0.35) % 1
  1364. end
  1365.  
  1366. local minDistance = 0.15
  1367. for _, usedHue in pairs(UsedHues) do
  1368. local distance = math.abs(hue - usedHue)
  1369. if distance < minDistance or distance > (1 - minDistance) then
  1370. NextHueIndex = NextHueIndex + 1
  1371. return generateUniqueTeamColor()
  1372. end
  1373. end
  1374.  
  1375. table.insert(UsedHues, hue)
  1376. NextHueIndex = NextHueIndex + 1
  1377.  
  1378. local sat = 0.8 + (math.random() * 0.2)
  1379. local val = 0.9 + (math.random() * 0.1)
  1380.  
  1381. return Color3.fromHSV(hue, sat, val)
  1382. end
  1383.  
  1384. local function isNeutralPlayer(p)
  1385. return p.Team == nil
  1386. end
  1387.  
  1388. local function isAllyPlayer(p)
  1389. return LocalPlayer.Team and p.Team == LocalPlayer.Team
  1390. end
  1391.  
  1392. local function colorForPlayer(p)
  1393. if isNeutralPlayer(p) then
  1394. return COLOR_NEUTRAL
  1395. end
  1396.  
  1397. if isAllyPlayer(p) then
  1398. return COLOR_FRIEND
  1399. end
  1400.  
  1401. if p.Team and not TeamColorMap[p.Team] then
  1402. TeamColorMap[p.Team] = generateUniqueTeamColor()
  1403. end
  1404.  
  1405. return TeamColorMap[p.Team] or COLOR_ENEMY
  1406. end
  1407.  
  1408. local function shouldShowPlayerESP(p)
  1409. if not Config.PlayerESP then return false end
  1410. if Config.PlayerESP_TeamCheck then return not isAllyPlayer(p) end
  1411. return true
  1412. end
  1413.  
  1414. local function shouldShowPlayerHP(p)
  1415. if not Config.PlayerESP_ShowHP then return false end
  1416. if Config.PlayerESP_TeamCheck then return not isAllyPlayer(p) end
  1417. return true
  1418. end
  1419.  
  1420. local function isValidPlayerCharacter(char)
  1421. if not char or not char.Parent then return false end
  1422. return char:FindFirstChild("Humanoid") and char:FindFirstChild("HumanoidRootPart")
  1423. end
  1424.  
  1425. local function clearPlayerConns(pack)
  1426. if not pack or not pack.conns then return end
  1427. for _, c in ipairs(pack.conns) do
  1428. if c and c.Connected then
  1429. pcall(function() c:Disconnect() end)
  1430. end
  1431. end
  1432. pack.conns = {}
  1433. end
  1434.  
  1435. local function detachPlayerESP(plr)
  1436. local pack = PlayerESP_Data[plr]
  1437. if not pack then return end
  1438.  
  1439. clearPlayerConns(pack)
  1440.  
  1441. if pack.highlight then
  1442. pcall(function() pack.highlight:Destroy() end)
  1443. pack.highlight = nil
  1444. end
  1445.  
  1446. if pack.hpGui then
  1447. pcall(function() pack.hpGui:Destroy() end)
  1448. pack.hpGui = nil
  1449. end
  1450.  
  1451. PlayerESP_Data[plr] = nil
  1452. end
  1453.  
  1454. local function ensurePlayerHighlight(plr, char)
  1455. local pack = PlayerESP_Data[plr]
  1456. if not pack or not isValidPlayerCharacter(char) then return end
  1457.  
  1458. if not pack.highlight or not pack.highlight.Parent then
  1459. for _, obj in ipairs(char:GetChildren()) do
  1460. if obj:IsA("Highlight") and obj.Name == "PlayerESP_Highlight" then
  1461. pcall(function() obj:Destroy() end)
  1462. end
  1463. end
  1464.  
  1465. local hi = Instance.new("Highlight")
  1466. hi.Name = "PlayerESP_Highlight"
  1467. hi.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
  1468. hi.FillTransparency = ESP_CONFIG.HighlightFillTransparency
  1469. hi.OutlineTransparency = ESP_CONFIG.OutlineTransparency
  1470. hi.Adornee = char
  1471. hi.Parent = char
  1472. pack.highlight = hi
  1473. end
  1474.  
  1475. local col = colorForPlayer(plr)
  1476. pack.highlight.FillColor = col
  1477. pack.highlight.OutlineColor = col
  1478. pack.highlight.Adornee = char
  1479. pack.highlight.Enabled = shouldShowPlayerESP(plr)
  1480. end
  1481.  
  1482. local function ensurePlayerHPGui(plr, char)
  1483. local pack = PlayerESP_Data[plr]
  1484. if not pack or not isValidPlayerCharacter(char) then return end
  1485.  
  1486. local hum = char:FindFirstChildOfClass("Humanoid")
  1487. local head = char:FindFirstChild("Head")
  1488. local root = char:FindFirstChild("HumanoidRootPart")
  1489.  
  1490. if not hum or not root then
  1491. if pack.hpGui then
  1492. pack.hpGui.Enabled = false
  1493. end
  1494. return
  1495. end
  1496.  
  1497. pack.hum = hum
  1498. pack.head = head
  1499. pack.root = root
  1500.  
  1501. if not pack.hpGui or not pack.hpGui.Parent then
  1502. for _, obj in ipairs(char:GetChildren()) do
  1503. if obj:IsA("BillboardGui") and obj.Name == "PlayerESP_HP" then
  1504. pcall(function() obj:Destroy() end)
  1505. end
  1506. end
  1507.  
  1508. local bill = Instance.new("BillboardGui")
  1509. bill.Name = "PlayerESP_HP"
  1510. bill.AlwaysOnTop = true
  1511. bill.LightInfluence = 0
  1512. bill.Size = ESP_CONFIG.HPBarSize
  1513. bill.MaxDistance = ESP_CONFIG.HPBarMaxDistance
  1514. bill.Parent = char
  1515.  
  1516. local bg = Instance.new("Frame")
  1517. bg.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
  1518. bg.BackgroundTransparency = 0.2
  1519. bg.BorderSizePixel = 0
  1520. bg.Size = UDim2.fromScale(1, 1)
  1521. bg.Parent = bill
  1522.  
  1523. local stroke = Instance.new("UIStroke")
  1524. stroke.Color = Color3.fromRGB(0, 0, 0)
  1525. stroke.Thickness = 1.5
  1526. stroke.Parent = bg
  1527.  
  1528. local corner1 = Instance.new("UICorner")
  1529. corner1.CornerRadius = UDim.new(0, 2)
  1530. corner1.Parent = bg
  1531.  
  1532. local fill = Instance.new("Frame")
  1533. fill.BackgroundColor3 = COLOR_FRIEND
  1534. fill.BorderSizePixel = 0
  1535. fill.Size = UDim2.fromScale(1, 1)
  1536. fill.Parent = bg
  1537.  
  1538. local corner2 = Instance.new("UICorner")
  1539. corner2.CornerRadius = UDim.new(0, 2)
  1540. corner2.Parent = fill
  1541.  
  1542. pack.hpGui = bill
  1543. pack.hpFill = fill
  1544. end
  1545.  
  1546. if head then
  1547. pack.hpGui.Adornee = head
  1548. local headSize = head.Size.Y
  1549. pack.hpGui.StudsOffset = Vector3.new(0, headSize/2 + ESP_CONFIG.HPBarYOffset, 0)
  1550. else
  1551. pack.hpGui.Adornee = root
  1552. pack.hpGui.StudsOffset = Vector3.new(0, 2.5 + ESP_CONFIG.HPBarYOffset, 0)
  1553. end
  1554.  
  1555. pack.hpGui.Enabled = shouldShowPlayerHP(plr)
  1556. end
  1557.  
  1558. local function updatePlayerHPBar(plr)
  1559. local pack = PlayerESP_Data[plr]
  1560. if not pack or not pack.hpGui or not pack.hpFill or not pack.hum then return end
  1561.  
  1562. local h = pack.hum.Health
  1563. local m = pack.hum.MaxHealth
  1564. if m <= 0 then m = 100 end
  1565.  
  1566. local ratio = math.clamp(h / m, 0, 1)
  1567. pack.hpFill.Size = UDim2.new(ratio, 0, 1, 0)
  1568.  
  1569. local r, g, b
  1570. if ratio > 0.5 then
  1571. r = (1 - ratio) * 2 * 255
  1572. g = 255
  1573. b = 0
  1574. else
  1575. r = 255
  1576. g = ratio * 2 * 255
  1577. b = 0
  1578. end
  1579.  
  1580. pack.hpFill.BackgroundColor3 = Color3.fromRGB(r, g, b)
  1581. pack.hpGui.Enabled = shouldShowPlayerHP(plr) and (h > 0)
  1582. end
  1583.  
  1584. local function setupPlayerESP(plr, char)
  1585. if plr == LocalPlayer or not isValidPlayerCharacter(char) then return end
  1586.  
  1587. local pack = PlayerESP_Data[plr] or { conns = {} }
  1588. PlayerESP_Data[plr] = pack
  1589.  
  1590. if pack.char and pack.char ~= char then
  1591. clearPlayerConns(pack)
  1592. if pack.highlight then pcall(function() pack.highlight:Destroy() end) end
  1593. if pack.hpGui then pcall(function() pack.hpGui:Destroy() end) end
  1594. pack.char = nil
  1595. pack.highlight = nil
  1596. pack.hpGui = nil
  1597. pack.hpFill = nil
  1598. pack.hum = nil
  1599. pack.head = nil
  1600. end
  1601.  
  1602. pack.char = char
  1603. local hum = char:FindFirstChildOfClass("Humanoid")
  1604.  
  1605. if not hum then return end
  1606.  
  1607. pack.hum = hum
  1608. hum.HealthDisplayType = Enum.HumanoidHealthDisplayType.AlwaysOff
  1609.  
  1610. task.wait(0.1)
  1611. ensurePlayerHighlight(plr, char)
  1612. ensurePlayerHPGui(plr, char)
  1613. updatePlayerHPBar(plr)
  1614.  
  1615. table.insert(pack.conns, hum.HealthChanged:Connect(function()
  1616. updatePlayerHPBar(plr)
  1617. end))
  1618.  
  1619. table.insert(pack.conns, plr:GetPropertyChangedSignal("Team"):Connect(function()
  1620. task.spawn(function()
  1621. ensurePlayerHighlight(plr, char)
  1622. updatePlayerHPBar(plr)
  1623. end)
  1624. end))
  1625.  
  1626. pack.initialized = true
  1627. end
  1628.  
  1629. local function hookPlayerESP(plr)
  1630. if plr == LocalPlayer then return end
  1631. table.insert(PlayerESP_ProcessQueue, plr)
  1632. end
  1633.  
  1634. local function reinitializeAllPlayerESP()
  1635. for plr, _ in pairs(PlayerESP_Data) do
  1636. detachPlayerESP(plr)
  1637. end
  1638.  
  1639. PlayerESP_ProcessQueue = {}
  1640.  
  1641. task.wait(0.1)
  1642.  
  1643. for _, p in ipairs(Players:GetPlayers()) do
  1644. if p ~= LocalPlayer then
  1645. hookPlayerESP(p)
  1646. end
  1647. end
  1648. end
  1649.  
  1650. task.spawn(function()
  1651. while true do
  1652. task.wait(0.2)
  1653.  
  1654. if #PlayerESP_ProcessQueue > 0 and Config.PlayerESP then
  1655. local plr = table.remove(PlayerESP_ProcessQueue, 1)
  1656.  
  1657. if plr and plr.Parent then
  1658. detachPlayerESP(plr)
  1659. PlayerESP_Data[plr] = { conns = {} }
  1660.  
  1661. if plr.Character then
  1662. task.spawn(function()
  1663. setupPlayerESP(plr, plr.Character)
  1664. end)
  1665. end
  1666.  
  1667. table.insert(PlayerESP_Data[plr].conns, plr.CharacterAdded:Connect(function(char)
  1668. task.wait(0.5)
  1669. setupPlayerESP(plr, char)
  1670. end))
  1671.  
  1672. table.insert(PlayerESP_Data[plr].conns, plr.CharacterRemoving:Connect(function()
  1673. local pack = PlayerESP_Data[plr]
  1674. if pack then
  1675. if pack.hpGui then
  1676. pcall(function() pack.hpGui:Destroy() end)
  1677. pack.hpGui = nil
  1678. end
  1679. if pack.highlight then
  1680. pcall(function() pack.highlight:Destroy() end)
  1681. pack.highlight = nil
  1682. end
  1683. pack.hum = nil
  1684. pack.head = nil
  1685. pack.initialized = false
  1686. end
  1687. end))
  1688. end
  1689. end
  1690. end
  1691. end)
  1692.  
  1693. task.spawn(function()
  1694. task.wait(2)
  1695. Players.PlayerAdded:Connect(function(p)
  1696. task.wait(0.5)
  1697. hookPlayerESP(p)
  1698. end)
  1699.  
  1700. Players.PlayerRemoving:Connect(function(p)
  1701. detachPlayerESP(p)
  1702. end)
  1703. end)
  1704.  
  1705. task.spawn(function()
  1706. while true do
  1707. task.wait(ESP_CONFIG.UpdateInterval)
  1708.  
  1709. if not Config.PlayerESP then
  1710. task.wait(1)
  1711. continue
  1712. end
  1713.  
  1714. local processed = 0
  1715. for plr, pack in pairs(PlayerESP_Data) do
  1716. if processed >= ESP_CONFIG.MaxPlayersPerFrame then
  1717. task.wait()
  1718. processed = 0
  1719. end
  1720.  
  1721. if plr and plr.Parent and plr ~= LocalPlayer then
  1722. local char = plr.Character
  1723. if char and isValidPlayerCharacter(char) then
  1724. if not pack.initialized or pack.char ~= char then
  1725. setupPlayerESP(plr, char)
  1726. else
  1727. if not pack.highlight or not pack.highlight.Parent then
  1728. ensurePlayerHighlight(plr, char)
  1729. end
  1730. if not pack.hpGui or not pack.hpGui.Parent then
  1731. ensurePlayerHPGui(plr, char)
  1732. end
  1733. if pack.highlight then
  1734. pack.highlight.Enabled = shouldShowPlayerESP(plr)
  1735. end
  1736. if pack.hpGui then
  1737. pack.hpGui.Enabled = shouldShowPlayerHP(plr) and pack.hum and pack.hum.Health > 0
  1738. end
  1739. updatePlayerHPBar(plr)
  1740. end
  1741. end
  1742. end
  1743. processed = processed + 1
  1744. end
  1745. end
  1746. end)
  1747.  
  1748. -- ============================================================
  1749. -- SISTEMA DE TELEPORTS SALVOS
  1750. -- ============================================================
  1751.  
  1752. local function loadSavedTeleports()
  1753. local success, data = pcall(function()
  1754. return HttpService:JSONDecode(readfile("PreHistoria_Teleports.json"))
  1755. end)
  1756.  
  1757. if success and data then
  1758. Config.SavedTeleports = data
  1759. print("📍 Carregado " .. #data .. " teleports salvos")
  1760. else
  1761. Config.SavedTeleports = {}
  1762. print("📍 Nenhum teleport salvo encontrado")
  1763. end
  1764. end
  1765.  
  1766. loadSavedTeleports()
  1767.  
  1768. -- ============================================================
  1769. -- ABA MENU
  1770. -- ============================================================
  1771.  
  1772. local MenuSection = MenuTab:AddSection({"Informações do Jogo"})
  1773.  
  1774. MenuTab:AddParagraph({
  1775. "Bem-vindo!",
  1776. "Script: Pré-história\nVersão: " .. ScriptVersion .. "\nJogador: " .. LocalPlayer.Name .. "\nDisplay: " .. LocalPlayer.DisplayName
  1777. })
  1778.  
  1779. local PlayersCountLabel = MenuTab:AddLabel("👥 Players Online: 0/0")
  1780.  
  1781. local function updatePlayerCount()
  1782. local current = #Players:GetPlayers()
  1783. local max = Players.MaxPlayers
  1784. PlayersCountLabel:Set(string.format("👥 Players Online: %d/%d", current, max))
  1785. end
  1786.  
  1787. updatePlayerCount()
  1788.  
  1789. Players.PlayerAdded:Connect(function()
  1790. task.wait(0.1)
  1791. updatePlayerCount()
  1792. end)
  1793.  
  1794. Players.PlayerRemoving:Connect(function()
  1795. task.wait(0.1)
  1796. updatePlayerCount()
  1797. end)
  1798.  
  1799. task.spawn(function()
  1800. while true do
  1801. task.wait(2)
  1802. updatePlayerCount()
  1803. end
  1804. end)
  1805.  
  1806. local SystemsSection = MenuTab:AddSection({"Sistemas Ativos"})
  1807.  
  1808. local AutoFarmStatusLabel = MenuTab:AddLabel("💎 Auto Farm - Desligado")
  1809. local EspCarnesStatusLabel = MenuTab:AddLabel("🥩 ESP Carnes - Desligado")
  1810. local EspJogadoresStatusLabel = MenuTab:AddLabel("👥 ESP Jogadores - Desligado")
  1811. local AutoColetaStatusLabel = MenuTab:AddLabel("🔄 Auto Coleta - Desligado")
  1812. local ClickTeleportStatusLabel = MenuTab:AddLabel("🎯 Click Teleport - Desligado")
  1813.  
  1814. local CreditsSection = MenuTab:AddSection({"Créditos"})
  1815.  
  1816. MenuTab:AddParagraph({
  1817. "Desenvolvedor",
  1818. "Script: NickZScripts\nInterface: Redz Hub Library\nVersão: " .. ScriptVersion
  1819. })
  1820.  
  1821. -- ============================================================
  1822. -- ABA AUTO FARM
  1823. -- ============================================================
  1824.  
  1825. local FarmSection = AutoFarmTab:AddSection({"Farm de Cristais"})
  1826.  
  1827. local DinoLevelLabel = AutoFarmTab:AddLabel("🦖 Nível do Dino: 0/60")
  1828.  
  1829. task.spawn(function()
  1830. while true do
  1831. task.wait(2)
  1832. local level = getDinoLevelSilent()
  1833. DinoLevelLabel:Set(string.format("🦖 Nível do Dino: %d/60", level))
  1834. end
  1835. end)
  1836.  
  1837. local AutoFarmToggle = AutoFarmTab:AddToggle({
  1838. Name = "Auto Farm Cristais",
  1839. Description = "Farm automático de <font color='rgb(88, 101, 242)'>cristais</font> por prioridade",
  1840. Default = false,
  1841. Callback = function(Value)
  1842. Config.AutoFarm = Value
  1843.  
  1844. if Value then
  1845. AutoFarmStatusLabel:Set("💎 Auto Farm - Ligado")
  1846. else
  1847. AutoFarmStatusLabel:Set("💎 Auto Farm - Desligado")
  1848. end
  1849.  
  1850. Notify(Value and "✅ Ativado" or "❌ Desativado", "Auto Farm " .. (Value and "ligado" or "desligado"), 1)
  1851. end,
  1852. })
  1853.  
  1854. local ColetaSection = AutoFarmTab:AddSection({"Auto Coleta"})
  1855.  
  1856. local AutoColetaToggle = AutoFarmTab:AddToggle({
  1857. Name = "Auto Coleta",
  1858. Description = "Coleta automática de <font color='rgb(88, 101, 242)'>itens próximos</font> (25 studs)",
  1859. Default = false,
  1860. Callback = function(Value)
  1861. Config.AutoColeta = Value
  1862.  
  1863. if Value then
  1864. AutoColetaStatusLabel:Set("🔄 Auto Coleta - Ligado")
  1865. else
  1866. AutoColetaStatusLabel:Set("🔄 Auto Coleta - Desligado")
  1867. end
  1868.  
  1869. Notify(Value and "✅ Ativado" or "❌ Desativado", "Auto Coleta " .. (Value and "ligado" or "desligado"), 1)
  1870. end,
  1871. })
  1872.  
  1873. -- ============================================================
  1874. -- ABA ESP
  1875. -- ============================================================
  1876.  
  1877. local EspJogadoresSection = EspTab:AddSection({"ESP de Jogadores"})
  1878.  
  1879. local EspJogadoresToggle = EspTab:AddToggle({
  1880. Name = "ESP de Jogadores",
  1881. Description = "Mostra <font color='rgb(88, 101, 242)'>jogadores</font> através das paredes",
  1882. Default = false,
  1883. Callback = function(Value)
  1884. Config.PlayerESP = Value
  1885.  
  1886. if Value then
  1887. EspJogadoresStatusLabel:Set("👥 ESP Jogadores - Ligado")
  1888. reinitializeAllPlayerESP()
  1889. else
  1890. EspJogadoresStatusLabel:Set("👥 ESP Jogadores - Desligado")
  1891. for plr, pack in pairs(PlayerESP_Data) do
  1892. if pack.highlight then pack.highlight.Enabled = false end
  1893. if pack.hpGui then pack.hpGui.Enabled = false end
  1894. end
  1895. end
  1896.  
  1897. Notify(Value and "✅ Ativado" or "❌ Desativado", "ESP Jogadores " .. (Value and "ligado" or "desligado"), 1)
  1898. end,
  1899. })
  1900.  
  1901. local EspHPToggle = EspTab:AddToggle({
  1902. Name = "Barra de Vida",
  1903. Description = "Mostra <font color='rgb(88, 101, 242)'>HP</font> dos jogadores",
  1904. Default = false,
  1905. Callback = function(Value)
  1906. Config.PlayerESP_ShowHP = Value
  1907.  
  1908. for plr, pack in pairs(PlayerESP_Data) do
  1909. if pack.hpGui then
  1910. pack.hpGui.Enabled = shouldShowPlayerHP(plr) and pack.hum and pack.hum.Health > 0
  1911. end
  1912. end
  1913.  
  1914. Notify(Value and "✅ Ativado" or "❌ Desativado", "Barra de Vida " .. (Value and "ligada" or "desligada"), 1)
  1915. end,
  1916. })
  1917.  
  1918. local EspTeamCheckToggle = EspTab:AddToggle({
  1919. Name = "TeamCheck (Só Inimigos)",
  1920. Description = "Mostra apenas <font color='rgb(88, 101, 242)'>inimigos</font>",
  1921. Default = false,
  1922. Callback = function(Value)
  1923. Config.PlayerESP_TeamCheck = Value
  1924.  
  1925. for plr, pack in pairs(PlayerESP_Data) do
  1926. if pack.highlight then
  1927. pack.highlight.Enabled = shouldShowPlayerESP(plr)
  1928. end
  1929. if pack.hpGui then
  1930. pack.hpGui.Enabled = shouldShowPlayerHP(plr) and pack.hum and pack.hum.Health > 0
  1931. end
  1932. end
  1933.  
  1934. Notify(Value and "✅ Ativado" or "❌ Desativado", "TeamCheck " .. (Value and "ligado" or "desligado"), 1)
  1935. end,
  1936. })
  1937.  
  1938. local EspCarnesSection = EspTab:AddSection({"ESP de Carnes"})
  1939.  
  1940. local EspToggle = EspTab:AddToggle({
  1941. Name = "ESP de Carnes",
  1942. Description = "Mostra <font color='rgb(88, 101, 242)'>carnes</font> no mapa",
  1943. Default = false,
  1944. Callback = function(Value)
  1945. Config.EspMeatActive = Value
  1946.  
  1947. if Value then
  1948. EspCarnesStatusLabel:Set("🥩 ESP Carnes - Ligado")
  1949. startMeatESP()
  1950. else
  1951. EspCarnesStatusLabel:Set("🥩 ESP Carnes - Desligado")
  1952. stopMeatESP()
  1953. end
  1954.  
  1955. Notify(Value and "✅ Ativado" or "❌ Desativado", "ESP Carnes " .. (Value and "ligado" or "desligado"), 1)
  1956. end,
  1957. })
  1958.  
  1959. -- ============================================================
  1960. -- ABA TELEPORTE
  1961. -- ============================================================
  1962.  
  1963. local TeleportSection = TeleportTab:AddSection({"Teleportes Rápidos"})
  1964.  
  1965. TeleportTab:AddButton({
  1966. "Teleportar para Carne Mais Próxima",
  1967. function()
  1968. local char = LocalPlayer.Character
  1969. local root = char and char:FindFirstChild("HumanoidRootPart")
  1970. if not root then
  1971. Notify("❌ Erro", "Personagem não encontrado!", 1)
  1972. return
  1973. end
  1974.  
  1975. local meat, distance = findNearestMeat()
  1976.  
  1977. if not meat then
  1978. Notify("❌ Erro", "Nenhuma carne encontrada!", 1)
  1979. return
  1980. end
  1981.  
  1982. safeTeleport(CFrame.new(meat.Position + Vector3.new(0, 3, 0)), "Carne")
  1983. end,
  1984. })
  1985.  
  1986. local SpawnSection = TeleportTab:AddSection({"Teleporte para Spawn"})
  1987.  
  1988. TeleportTab:AddButton({
  1989. "Voltar ao Spawn",
  1990. function()
  1991. if not LastSpawnPosition then
  1992. Notify("❌ Erro", "Spawn não detectado!", 1)
  1993. return
  1994. end
  1995.  
  1996. safeTeleport(LastSpawnPosition, "Spawn")
  1997. end,
  1998. })
  1999.  
  2000. local SavedTeleportsSection = TeleportTab:AddSection({"Locais Salvos"})
  2001.  
  2002. if #Config.SavedTeleports > 0 then
  2003. for i, data in ipairs(Config.SavedTeleports) do
  2004. if data.position then
  2005. local locationName = data.name or ("Local " .. i)
  2006.  
  2007. TeleportTab:AddButton({
  2008. "📍 " .. locationName,
  2009. function()
  2010. local pos = data.position
  2011.  
  2012. if not pos or not pos.X or not pos.Y or not pos.Z then
  2013. Notify("❌ Erro", "Posição inválida!", 1)
  2014. return
  2015. end
  2016.  
  2017. local targetCF = CFrame.new(pos.X, pos.Y, pos.Z)
  2018. safeTeleport(targetCF, locationName)
  2019. end,
  2020. })
  2021. end
  2022. end
  2023. else
  2024. TeleportTab:AddParagraph({
  2025. "ℹ️ Nenhum Local Salvo",
  2026. "Você ainda não possui locais salvos.\n\nUse outros scripts para salvar posições."
  2027. })
  2028. end
  2029.  
  2030. -- ============================================================
  2031. -- ABA OUTROS
  2032. -- ============================================================
  2033.  
  2034. local DebugSection = OutrosTab:AddSection({"Ferramentas de Debug"})
  2035.  
  2036. OutrosTab:AddButton({
  2037. "🔍 Debug: Buscar Nível (Console F9)",
  2038. function()
  2039. local level = getDinoLevelDebug()
  2040. Notify("🔍 Debug", "Nível encontrado: " .. level .. "\nVeja o console (F9) para detalhes", 3)
  2041. end,
  2042. })
  2043.  
  2044. local ClickTeleportSection = OutrosTab:AddSection({"Click Teleport"})
  2045.  
  2046. OutrosTab:AddParagraph({
  2047. "ℹ️ Sobre Click Teleport",
  2048. "Teleporte instantâneo clicando em qualquer superfície.\n\n✅ Personagem olha para onde clicou\n✅ Anti-acidental\n✅ Interface móvel\n✅ Sem efeitos visuais\n\n💡 Use o botão ✕ na interface para desativar"
  2049. })
  2050.  
  2051. OutrosTab:AddButton({
  2052. "🎯 Abrir Click Teleport",
  2053. function()
  2054. if not Config.ClickTeleportEnabled then
  2055. ClickTeleportModule.Toggle(true)
  2056. ClickTeleportStatusLabel:Set("🎯 Click Teleport - Ligado")
  2057.  
  2058. Notify("✅ Click Teleport", "Interface aberta!\n\nPara fechar, clique no botão ✕ na interface", 2)
  2059. else
  2060. Notify("ℹ️ Já Ativo", "Click Teleport já está aberto!\n\nPara desativar, use o botão ✕ na interface", 2)
  2061. end
  2062. end,
  2063. })
  2064.  
  2065. local InfoSection = OutrosTab:AddSection({"Informações"})
  2066.  
  2067. OutrosTab:AddParagraph({
  2068. "⚙️ Sobre",
  2069. "Todas as informações importantes estão na aba Menu.\n\nO sistema de Auto Coleta funciona de forma independente!\n\nTeleports salvos são carregados do arquivo JSON."
  2070. })
  2071.  
  2072. -- ============================================================
  2073. -- ABA CONFIGURAÇÕES
  2074. -- ============================================================
  2075.  
  2076. local SettingsSection = ConfigTab:AddSection({"Configurações da Interface"})
  2077.  
  2078. local ThemeDropdown = ConfigTab:AddDropdown({
  2079. Name = "Tema da Interface",
  2080. Description = "Escolha o <font color='rgb(88, 101, 242)'>tema</font> visual",
  2081. Options = {"Dark", "Light", "Midnight", "Sentinel", "Synapse"},
  2082. Default = "Dark",
  2083. Callback = function(Value)
  2084. redzlib:SetTheme(Value)
  2085. end
  2086. })
  2087.  
  2088. ConfigTab:AddButton({
  2089. "Destruir Interface",
  2090. function()
  2091. pcall(function()
  2092. game:GetService("CoreGui"):FindFirstChild("RedzHub"):Destroy()
  2093. end)
  2094.  
  2095. Notify("🗑️ Interface", "Interface destruída!", 1)
  2096. end
  2097. })
  2098.  
  2099. -- ============================================================
  2100. -- AUTO FARM LOOP
  2101. -- ============================================================
  2102.  
  2103. task.spawn(function()
  2104. local index = 1
  2105. while true do
  2106. task.wait(Config.CheckDelay)
  2107. if Config.AutoFarm then
  2108. local currentLevel = getDinoLevelSilent()
  2109.  
  2110. if currentLevel >= 60 then
  2111. Config.AutoFarm = false
  2112. AutoFarmToggle:Set(false)
  2113. AutoFarmStatusLabel:Set("💎 Auto Farm - Desligado")
  2114.  
  2115. Notify("✅ Completo", "Nível 60 atingido!", 2)
  2116. else
  2117. local crystals = getSortedCrystals()
  2118. if #crystals > 0 then
  2119. for _, c in ipairs(crystals) do
  2120. if not Config.AutoFarm or not c or not c.Parent then break end
  2121. teleportToCrystal(c)
  2122.  
  2123. local fixarConexao = RunService.Heartbeat:Connect(function()
  2124. if Config.AutoFarm and c and c:IsDescendantOf(workspace) then
  2125. local char = getCharacter()
  2126. if char and char.PrimaryPart then
  2127. char:SetPrimaryPartCFrame(CFrame.new(c.Position + Vector3.new(0, 4.5, 0)))
  2128. end
  2129. end
  2130. end)
  2131.  
  2132. local elapsed = 0
  2133. while c:IsDescendantOf(workspace) and elapsed < 12 and Config.AutoFarm do
  2134. task.wait(Config.CheckDelay)
  2135. elapsed += Config.CheckDelay
  2136. end
  2137. fixarConexao:Disconnect()
  2138. task.wait(Config.DelayBetweenCrystals)
  2139. end
  2140. else
  2141. index = (index % #Config.PatrulhaPontos) + 1
  2142. teleportTo(Config.PatrulhaPontos[index])
  2143. task.wait(2)
  2144. end
  2145. end
  2146. end
  2147. end
  2148. end)
  2149.  
  2150. -- ============================================================
  2151. -- AUTO COLETA (FUNCIONA COM AUTO FARM OU INDIVIDUAL)
  2152. -- ============================================================
  2153.  
  2154. RunService.Heartbeat:Connect(function()
  2155. if not (Config.AutoFarm or Config.AutoColeta) then return end
  2156.  
  2157. if not Config.podeExecutar then return end
  2158. Config.podeExecutar = false
  2159.  
  2160. local root = getHumanoidRootPart()
  2161. if root then
  2162. for _, obj in ipairs(workspace:GetDescendants()) do
  2163. if obj:IsA("ProximityPrompt") and obj.Parent and obj.Parent:IsA("BasePart") then
  2164. if obj.Enabled and (obj.Parent.Position - root.Position).Magnitude <= Config.raioDeColeta then
  2165. pcall(function()
  2166. fireproximityprompt(obj)
  2167. end)
  2168. end
  2169. end
  2170. end
  2171. end
  2172.  
  2173. task.delay(Config.delayEntreTentativas, function()
  2174. Config.podeExecutar = true
  2175. end)
  2176. end)
  2177.  
  2178. -- ============================================================
  2179. -- CLEANUP AO SAIR
  2180. -- ============================================================
  2181.  
  2182. LocalPlayer.CharacterRemoving:Connect(function()
  2183. ClickTeleportModule.Cleanup()
  2184. end)
  2185.  
  2186. -- ============================================================
  2187. -- LOGS FINAIS
  2188. -- ============================================================
  2189.  
  2190. print("╔═══════════════════════════════════════════════════════════╗")
  2191. print("║ Pré-história - By: NickZScripts ║")
  2192. print("╠═══════════════════════════════════════════════════════════╣")
  2193. print("║ ✅ GUI Redz Hub carregada! ║")
  2194. print("║ 📌 Versão: " .. ScriptVersion .. " ║")
  2195. print("║ 🎮 Jogador: " .. LocalPlayer.Name)
  2196. print("║ 📊 Players: " .. #Players:GetPlayers() .. "/" .. Players.MaxPlayers)
  2197. print("║ 📍 Teleports Salvos: " .. #Config.SavedTeleports)
  2198. print("╠═══════════════════════════════════════════════════════════╣")
  2199. print("║ 🔍 Sistema de Debug disponível na aba Outros ║")
  2200. print("║ 🔄 Auto Coleta: Integrado com Auto Farm ║")
  2201. print("║ 🚀 Sistema de Teleporte Ultra-Rápido ║")
  2202. print("║ 🎨 ESP com cores únicas garantidas por time ║")
  2203. print("║ 🎯 Click Teleport: SEM EFEITOS VISUAIS ║")
  2204. print("╠═══════════════════════════════════════════════════════════╣")
  2205. print("║ 📋 FUNCIONALIDADES ATIVAS: ║")
  2206. print("║ ⚡ Auto Farm de Cristais (com Auto Coleta integrado) ║")
  2207. print("║ 👥 ESP de Jogadores (com HP Bar e cores únicas) ║")
  2208. print("║ 🥩 ESP de Carnes ║")
  2209. print("║ 🍖 Teleporte para Carnes ║")
  2210. print("║ 🏠 Teleporte para Spawn ║")
  2211. print("║ 📍 Teleporte Seguro para Locais Salvos ║")
  2212. print("║ 🔄 Auto Coleta Inteligente (25 studs) ║")
  2213. print("║ 🎯 Click Teleport (Orientação + Sem Efeitos) ║")
  2214. print("╠═══════════════════════════════════════════════════════════╣")
  2215. print("║ 🆕 ATUALIZAÇÃO " .. ScriptVersion .. ": ║")
  2216. print("║ ✨ Interface migrada para Redz Hub Library ║")
  2217. print("║ ⚡ Todas as funcionalidades mantidas intactas ║")
  2218. print("║ 🎯 Sistema modular e anti-conflitos ║")
  2219. print("║ 💨 Performance otimizada ║")
  2220. print("╚═══════════════════════════════════════════════════════════╝")
  2221.  
  2222. Notify("🦖 Pré-história", "Script carregado com sucesso!\nVersão: " .. ScriptVersion, 3)
Add Comment
Please, Sign In to add comment