Nevzyn

Untitled

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