Nevzyn

Untitled

Nov 3rd, 2025
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 49.02 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. local CoreGui = game:GetService("CoreGui")
  18.  
  19. --// ========== VARIÁVEIS GLOBAIS ========== //
  20. local LocalPlayer = Players.LocalPlayer
  21. local ScriptVersion = "v5.0.0"
  22. local LastSpawnPosition = nil
  23. local Camera = workspace.CurrentCamera
  24. local ActiveTeleportConnection = nil
  25.  
  26. --// ========== CONFIGURAÇÕES DO AUTO FARM ========== //
  27. local Config = {
  28. AutoFarm = false,
  29. AutoColeta = false,
  30. CheckDelay = 0.3,
  31. DelayBetweenCrystals = 0.1,
  32. raioDeColeta = 25,
  33. delayEntreTentativas = 0.25,
  34. podeExecutar = true,
  35.  
  36. -- ESP de Carnes
  37. EspMeatActive = false,
  38. ESP_MIN_SIZE = 35,
  39. ESP_MAX_SIZE = 65,
  40. ESP_UPDATE_RATE = 0.1,
  41. MAX_VISIBLE_DISTANCE = 999999,
  42.  
  43. -- ESP de Jogadores
  44. PlayerESP = false,
  45. PlayerESP_ShowHP = false,
  46. PlayerESP_TeamCheck = false,
  47.  
  48. -- Click Teleport
  49. ClickTeleportEnabled = false,
  50.  
  51. -- Teleports Salvos
  52. SavedTeleports = {},
  53.  
  54. -- Patrulha
  55. PatrulhaPontos = {
  56. CFrame.new(0, 30, 0),
  57. CFrame.new(800, 30, 400),
  58. CFrame.new(-750, 30, -600),
  59. CFrame.new(450, 30, -1000),
  60. CFrame.new(-900, 30, 700),
  61. CFrame.new(0, 30, 1000),
  62. },
  63. }
  64.  
  65. --// ========== CACHE DE NÍVEL ========== //
  66. local DinoLevelCache = {
  67. value = 0,
  68. lastUpdate = 0,
  69. updateInterval = 2
  70. }
  71.  
  72. --// ========== DETECTAR POSIÇÃO DE SPAWN ========== //
  73. task.spawn(function()
  74. local char = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
  75. local root = char:WaitForChild("HumanoidRootPart", 10)
  76.  
  77. if root then
  78. task.wait(2)
  79. LastSpawnPosition = root.CFrame
  80. end
  81.  
  82. LocalPlayer.CharacterAdded:Connect(function(newChar)
  83. task.wait(2)
  84. local newRoot = newChar:FindFirstChild("HumanoidRootPart")
  85. if newRoot then
  86. LastSpawnPosition = newRoot.CFrame
  87. end
  88. end)
  89. end)
  90.  
  91. --// ========== FUNÇÕES DE UTILIDADE ========== //
  92.  
  93. local function getCharacter()
  94. return LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
  95. end
  96.  
  97. local function getHumanoidRootPart()
  98. local char = getCharacter()
  99. return char and char:FindFirstChild("HumanoidRootPart")
  100. end
  101.  
  102. local function teleportTo(cf)
  103. local root = getHumanoidRootPart()
  104. if root and root.Parent then
  105. root.Parent:SetPrimaryPartCFrame(cf)
  106. end
  107. end
  108.  
  109. local function teleportToCrystal(c)
  110. local root = getHumanoidRootPart()
  111. if root and c then
  112. root.Parent:SetPrimaryPartCFrame(CFrame.new(c.Position + Vector3.new(0, 4.5, 0)))
  113. end
  114. end
  115.  
  116. --// ========== SISTEMA DE TELEPORTE SEGURO ========== //
  117.  
  118. local function safeTeleport(targetCFrame, locationName)
  119. if ActiveTeleportConnection then
  120. ActiveTeleportConnection:Disconnect()
  121. ActiveTeleportConnection = nil
  122. end
  123.  
  124. local char = LocalPlayer.Character
  125. local root = char and char:FindFirstChild("HumanoidRootPart")
  126. local humanoid = char and char:FindFirstChild("Humanoid")
  127.  
  128. if not root or not humanoid then
  129. return false
  130. end
  131.  
  132. root.CFrame = targetCFrame
  133.  
  134. task.spawn(function()
  135. task.wait(0.05)
  136.  
  137. local rayParams = RaycastParams.new()
  138. rayParams.FilterType = Enum.RaycastFilterType.Blacklist
  139. rayParams.FilterDescendantsInstances = {char}
  140.  
  141. local rayResult = workspace:Raycast(
  142. root.Position,
  143. Vector3.new(0, -100, 0),
  144. rayParams
  145. )
  146.  
  147. if rayResult then
  148. root.CFrame = CFrame.new(rayResult.Position + Vector3.new(0, 3, 0))
  149. end
  150. end)
  151.  
  152. local teleportStartTime = tick()
  153. local maxWaitTime = 1.2
  154. local minWaitTime = 0.2
  155.  
  156. ActiveTeleportConnection = RunService.Heartbeat:Connect(function()
  157. if not char or not char.Parent or not root or not root.Parent or not humanoid then
  158. if ActiveTeleportConnection then
  159. ActiveTeleportConnection:Disconnect()
  160. ActiveTeleportConnection = nil
  161. end
  162. return
  163. end
  164.  
  165. local elapsedTime = tick() - teleportStartTime
  166.  
  167. local floorMaterial = humanoid.FloorMaterial
  168. local isOnGround = floorMaterial ~= Enum.Material.Air
  169.  
  170. local velocity = root.AssemblyLinearVelocity
  171. local isStationary = velocity.Magnitude < 2
  172.  
  173. local humanoidState = humanoid:GetState()
  174. local isLanded = humanoidState == Enum.HumanoidStateType.Landed or
  175. humanoidState == Enum.HumanoidStateType.Running or
  176. humanoidState == Enum.HumanoidStateType.RunningNoPhysics
  177.  
  178. if (elapsedTime > minWaitTime and (isOnGround or (isStationary and isLanded))) or elapsedTime > maxWaitTime then
  179. if ActiveTeleportConnection then
  180. ActiveTeleportConnection:Disconnect()
  181. ActiveTeleportConnection = nil
  182. end
  183.  
  184. if not (isOnGround or isLanded) then
  185. local rayParams = RaycastParams.new()
  186. rayParams.FilterType = Enum.RaycastFilterType.Blacklist
  187. rayParams.FilterDescendantsInstances = {char}
  188.  
  189. local rayResult = workspace:Raycast(
  190. root.Position,
  191. Vector3.new(0, -200, 0),
  192. rayParams
  193. )
  194.  
  195. if rayResult then
  196. root.CFrame = CFrame.new(rayResult.Position + Vector3.new(0, 3, 0))
  197. end
  198. end
  199.  
  200. return
  201. end
  202. end)
  203.  
  204. return true
  205. end
  206.  
  207. --// ========== MÓDULO: CLICK TELEPORT ========== //
  208.  
  209. local ClickTeleportModule = (function()
  210. local _enabled = false
  211. local _uiVisible = false
  212. local _screenGui = nil
  213. local _mainFrame = nil
  214. local _minimizedBtn = nil
  215. local _connections = {}
  216.  
  217. local Mouse = LocalPlayer:GetMouse()
  218.  
  219. local ClickState = {
  220. StartTime = 0,
  221. StartPosition = nil,
  222. IsValid = false,
  223. }
  224.  
  225. local CTConfig = {
  226. MaxClickTime = 0.3,
  227. MaxDragDistance = 10,
  228. RaycastDistance = 10000,
  229. TeleportOffset = 3,
  230. }
  231.  
  232. local CTTheme = {
  233. Background = Color3.fromRGB(25, 25, 35),
  234. Secondary = Color3.fromRGB(35, 35, 45),
  235. Accent = Color3.fromRGB(90, 170, 255),
  236. Success = Color3.fromRGB(90, 255, 140),
  237. Danger = Color3.fromRGB(255, 90, 90),
  238. Text = Color3.fromRGB(255, 255, 255),
  239. TextDim = Color3.fromRGB(180, 180, 200),
  240. }
  241.  
  242. local function AddCorner(parent, radius)
  243. return Instance.new("UICorner", {
  244. CornerRadius = UDim.new(0, radius or 8),
  245. Parent = parent
  246. })
  247. end
  248.  
  249. local function AddStroke(parent, color, thickness, transparency)
  250. return Instance.new("UIStroke", {
  251. Color = color or CTTheme.Border,
  252. Thickness = thickness or 1,
  253. Transparency = transparency or 0,
  254. Parent = parent
  255. })
  256. end
  257.  
  258. local function _getMouseHit()
  259. local unitRay = Camera:ScreenPointToRay(Mouse.X, Mouse.Y)
  260.  
  261. local raycastParams = RaycastParams.new()
  262. raycastParams.FilterType = Enum.RaycastFilterType.Blacklist
  263. raycastParams.FilterDescendantsInstances = {LocalPlayer.Character}
  264. raycastParams.IgnoreWater = false
  265.  
  266. local raycastResult = workspace:Raycast(
  267. unitRay.Origin,
  268. unitRay.Direction * CTConfig.RaycastDistance,
  269. raycastParams
  270. )
  271.  
  272. return raycastResult
  273. end
  274.  
  275. local function _teleportToPosition(position)
  276. local root = getHumanoidRootPart()
  277. if not root then return false end
  278.  
  279. local currentPosition = root.Position
  280. local teleportPos = position + Vector3.new(0, CTConfig.TeleportOffset, 0)
  281. local directionVector = (position - currentPosition)
  282. local horizontalDirection = Vector3.new(directionVector.X, 0, directionVector.Z)
  283. local lookDirection = horizontalDirection.Unit
  284. local targetCFrame = CFrame.new(teleportPos, teleportPos + lookDirection)
  285.  
  286. root.CFrame = targetCFrame
  287.  
  288. return true
  289. end
  290.  
  291. local function _isValidClick(startPos, endPos, duration)
  292. if duration > CTConfig.MaxClickTime then return false end
  293.  
  294. local dragDistance = (endPos - startPos).Magnitude
  295. if dragDistance > CTConfig.MaxDragDistance then return false end
  296.  
  297. return true
  298. end
  299.  
  300. local function _updateStatusLabel(text, color)
  301. if _mainFrame then
  302. local statusLabel = _mainFrame:FindFirstChild("Container"):FindFirstChild("StatusLabel")
  303. if statusLabel then
  304. statusLabel.Text = text
  305. statusLabel.TextColor3 = color
  306. end
  307. end
  308. end
  309.  
  310. local function _enableClickDetection()
  311. for _, conn in ipairs(_connections) do
  312. if conn and conn.Connected then
  313. conn:Disconnect()
  314. end
  315. end
  316. _connections = {}
  317.  
  318. table.insert(_connections, UserInputService.InputBegan:Connect(function(input, gameProcessed)
  319. if gameProcessed then return end
  320. if not _enabled then return end
  321.  
  322. if input.UserInputType == Enum.UserInputType.MouseButton1 or
  323. input.UserInputType == Enum.UserInputType.Touch then
  324. ClickState.StartTime = tick()
  325. ClickState.StartPosition = Vector2.new(Mouse.X, Mouse.Y)
  326. ClickState.IsValid = true
  327. end
  328. end))
  329.  
  330. table.insert(_connections, UserInputService.InputEnded:Connect(function(input, gameProcessed)
  331. if gameProcessed then return end
  332. if not _enabled then return end
  333. if not ClickState.IsValid then return end
  334.  
  335. if input.UserInputType == Enum.UserInputType.MouseButton1 or
  336. input.UserInputType == Enum.UserInputType.Touch then
  337.  
  338. local clickDuration = tick() - ClickState.StartTime
  339. local endPosition = Vector2.new(Mouse.X, Mouse.Y)
  340.  
  341. if _isValidClick(ClickState.StartPosition, endPosition, clickDuration) then
  342. local raycastResult = _getMouseHit()
  343.  
  344. if raycastResult then
  345. if _teleportToPosition(raycastResult.Position) then
  346. _updateStatusLabel("✅ Teleportado!", CTTheme.Success)
  347.  
  348. task.wait(1)
  349. _updateStatusLabel("Clique em qualquer lugar para teleportar", CTTheme.TextDim)
  350. end
  351. else
  352. _updateStatusLabel("❌ Não é possível teleportar para o céu", CTTheme.Danger)
  353.  
  354. task.wait(1.5)
  355. _updateStatusLabel("Clique em qualquer lugar para teleportar", CTTheme.TextDim)
  356. end
  357. end
  358.  
  359. ClickState.IsValid = false
  360. end
  361. end))
  362. end
  363.  
  364. local function _disableClickDetection()
  365. for _, conn in ipairs(_connections) do
  366. if conn and conn.Connected then
  367. conn:Disconnect()
  368. end
  369. end
  370. _connections = {}
  371. end
  372.  
  373. local function _minimizeUI()
  374. if _mainFrame then
  375. _mainFrame.Visible = false
  376. end
  377. if _minimizedBtn then
  378. _minimizedBtn.Visible = true
  379.  
  380. _minimizedBtn.Size = UDim2.new(0, 0, 0, 0)
  381. TweenService:Create(_minimizedBtn, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
  382. Size = UDim2.new(0, 50, 0, 50)
  383. }):Play()
  384. end
  385. end
  386.  
  387. local function _maximizeUI()
  388. if _minimizedBtn then
  389. TweenService:Create(_minimizedBtn, TweenInfo.new(0.2, Enum.EasingStyle.Back, Enum.EasingDirection.In), {
  390. Size = UDim2.new(0, 0, 0, 0)
  391. }):Play()
  392.  
  393. task.wait(0.2)
  394. _minimizedBtn.Visible = false
  395. end
  396. if _mainFrame then
  397. _mainFrame.Visible = true
  398.  
  399. _mainFrame.Size = UDim2.new(0, 0, 0, 0)
  400. TweenService:Create(_mainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
  401. Size = UDim2.new(0, 260, 0, 180)
  402. }):Play()
  403. end
  404. end
  405.  
  406. local function _createUI()
  407. if _screenGui then
  408. pcall(function() _screenGui:Destroy() end)
  409. _screenGui = nil
  410. end
  411.  
  412. _screenGui = Instance.new("ScreenGui")
  413. _screenGui.Name = "ClickTeleportUI_PreHistoria"
  414. _screenGui.ResetOnSpawn = false
  415. _screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  416. _screenGui.Parent = game:GetService("CoreGui")
  417.  
  418. _mainFrame = Instance.new("Frame")
  419. _mainFrame.Name = "MainFrame"
  420. _mainFrame.Size = UDim2.new(0, 260, 0, 180)
  421. _mainFrame.Position = UDim2.new(0.5, -130, 0.5, -90)
  422. _mainFrame.BackgroundColor3 = CTTheme.Background
  423. _mainFrame.BackgroundTransparency = 0.05
  424. _mainFrame.BorderSizePixel = 0
  425. _mainFrame.Active = true
  426. _mainFrame.Draggable = true
  427. _mainFrame.Parent = _screenGui
  428.  
  429. AddCorner(_mainFrame, 12)
  430. AddStroke(_mainFrame, CTTheme.Accent, 2, 0.3)
  431.  
  432. local bgGradient = Instance.new("UIGradient")
  433. bgGradient.Color = ColorSequence.new{
  434. ColorSequenceKeypoint.new(0, Color3.fromRGB(30, 30, 40)),
  435. ColorSequenceKeypoint.new(1, Color3.fromRGB(20, 20, 30))
  436. }
  437. bgGradient.Rotation = 45
  438. bgGradient.Parent = _mainFrame
  439.  
  440. local header = Instance.new("Frame")
  441. header.Size = UDim2.new(1, 0, 0, 50)
  442. header.BackgroundColor3 = CTTheme.Secondary
  443. header.BackgroundTransparency = 0.2
  444. header.BorderSizePixel = 0
  445. header.Parent = _mainFrame
  446.  
  447. AddCorner(header, 12)
  448.  
  449. local headerFix = Instance.new("Frame")
  450. headerFix.Size = UDim2.new(1, 0, 0, 12)
  451. headerFix.Position = UDim2.new(0, 0, 1, -12)
  452. headerFix.BackgroundColor3 = CTTheme.Secondary
  453. headerFix.BackgroundTransparency = 0.2
  454. headerFix.BorderSizePixel = 0
  455. headerFix.Parent = header
  456.  
  457. local title = Instance.new("TextLabel")
  458. title.Size = UDim2.new(1, -85, 1, 0)
  459. title.Position = UDim2.new(0, 15, 0, 0)
  460. title.BackgroundTransparency = 1
  461. title.Text = "🎯 Click Teleport"
  462. title.TextColor3 = CTTheme.Text
  463. title.TextSize = 17
  464. title.Font = Enum.Font.GothamBold
  465. title.TextXAlignment = Enum.TextXAlignment.Left
  466. title.Parent = header
  467.  
  468. local minimizeBtn = Instance.new("TextButton")
  469. minimizeBtn.Size = UDim2.new(0, 35, 0, 35)
  470. minimizeBtn.Position = UDim2.new(1, -78, 0.5, -17.5)
  471. minimizeBtn.BackgroundColor3 = Color3.fromRGB(255, 200, 100)
  472. minimizeBtn.BackgroundTransparency = 0.2
  473. minimizeBtn.Text = "➖"
  474. minimizeBtn.TextColor3 = CTTheme.Text
  475. minimizeBtn.TextSize = 18
  476. minimizeBtn.Font = Enum.Font.GothamBold
  477. minimizeBtn.AutoButtonColor = false
  478. minimizeBtn.Parent = header
  479.  
  480. AddCorner(minimizeBtn, 8)
  481.  
  482. local closeBtn = Instance.new("TextButton")
  483. closeBtn.Size = UDim2.new(0, 35, 0, 35)
  484. closeBtn.Position = UDim2.new(1, -38, 0.5, -17.5)
  485. closeBtn.BackgroundColor3 = CTTheme.Danger
  486. closeBtn.BackgroundTransparency = 0.2
  487. closeBtn.Text = "✕"
  488. closeBtn.TextColor3 = CTTheme.Text
  489. closeBtn.TextSize = 20
  490. closeBtn.Font = Enum.Font.GothamBold
  491. closeBtn.AutoButtonColor = false
  492. closeBtn.Parent = header
  493.  
  494. AddCorner(closeBtn, 8)
  495.  
  496. local container = Instance.new("Frame")
  497. container.Name = "Container"
  498. container.Size = UDim2.new(1, -20, 1, -60)
  499. container.Position = UDim2.new(0, 10, 0, 55)
  500. container.BackgroundTransparency = 1
  501. container.Parent = _mainFrame
  502.  
  503. local toggleBtn = Instance.new("TextButton")
  504. toggleBtn.Name = "ToggleBtn"
  505. toggleBtn.Size = UDim2.new(1, 0, 0, 55)
  506. toggleBtn.Position = UDim2.new(0, 0, 0, 0)
  507. toggleBtn.BackgroundColor3 = CTTheme.Danger
  508. toggleBtn.BackgroundTransparency = 0.1
  509. toggleBtn.Text = "🔴 DESATIVADO"
  510. toggleBtn.TextColor3 = CTTheme.Text
  511. toggleBtn.TextSize = 16
  512. toggleBtn.Font = Enum.Font.GothamBold
  513. toggleBtn.AutoButtonColor = false
  514. toggleBtn.Parent = container
  515.  
  516. AddCorner(toggleBtn, 10)
  517.  
  518. local toggleStroke = Instance.new("UIStroke")
  519. toggleStroke.Name = "Stroke"
  520. toggleStroke.Color = CTTheme.Danger
  521. toggleStroke.Thickness = 2
  522. toggleStroke.Transparency = 0.3
  523. toggleStroke.Parent = toggleBtn
  524.  
  525. local statusLabel = Instance.new("TextLabel")
  526. statusLabel.Name = "StatusLabel"
  527. statusLabel.Size = UDim2.new(1, 0, 0, 25)
  528. statusLabel.Position = UDim2.new(0, 0, 0, 65)
  529. statusLabel.BackgroundTransparency = 1
  530. statusLabel.Text = "Clique em qualquer lugar para teleportar"
  531. statusLabel.TextColor3 = CTTheme.TextDim
  532. statusLabel.TextSize = 12
  533. statusLabel.Font = Enum.Font.Gotham
  534. statusLabel.TextWrapped = true
  535. statusLabel.Parent = container
  536.  
  537. local infoLabel = Instance.new("TextLabel")
  538. infoLabel.Size = UDim2.new(1, 0, 0, 20)
  539. infoLabel.Position = UDim2.new(0, 0, 0, 92)
  540. infoLabel.BackgroundTransparency = 1
  541. infoLabel.Text = "⚡ Teleporte limpo e instantâneo"
  542. infoLabel.TextColor3 = CTTheme.Success
  543. infoLabel.TextSize = 11
  544. infoLabel.Font = Enum.Font.Gotham
  545. infoLabel.Parent = container
  546.  
  547. _minimizedBtn = Instance.new("TextButton")
  548. _minimizedBtn.Name = "MinimizedBtn"
  549. _minimizedBtn.Size = UDim2.new(0, 50, 0, 50)
  550. _minimizedBtn.Position = UDim2.new(1, -60, 0, 10)
  551. _minimizedBtn.BackgroundColor3 = CTTheme.Accent
  552. _minimizedBtn.BackgroundTransparency = 0.1
  553. _minimizedBtn.Text = "🎯"
  554. _minimizedBtn.TextColor3 = CTTheme.Text
  555. _minimizedBtn.TextSize = 24
  556. _minimizedBtn.Font = Enum.Font.GothamBold
  557. _minimizedBtn.AutoButtonColor = false
  558. _minimizedBtn.Visible = false
  559. _minimizedBtn.Active = true
  560. _minimizedBtn.Draggable = true
  561. _minimizedBtn.Parent = _screenGui
  562.  
  563. AddCorner(_minimizedBtn, 12)
  564. AddStroke(_minimizedBtn, CTTheme.Accent, 2)
  565.  
  566. toggleBtn.MouseButton1Click:Connect(function()
  567. _enabled = not _enabled
  568.  
  569. if _enabled then
  570. toggleBtn.Text = "🟢 ATIVADO"
  571. toggleBtn.BackgroundColor3 = CTTheme.Success
  572. toggleStroke.Color = CTTheme.Success
  573. statusLabel.Text = "Clique em qualquer lugar para teleportar"
  574. _enableClickDetection()
  575. else
  576. toggleBtn.Text = "🔴 DESATIVADO"
  577. toggleBtn.BackgroundColor3 = CTTheme.Danger
  578. toggleStroke.Color = CTTheme.Danger
  579. statusLabel.Text = "Teleporte desativado"
  580. _disableClickDetection()
  581. end
  582. end)
  583.  
  584. minimizeBtn.MouseButton1Click:Connect(function()
  585. _minimizeUI()
  586. end)
  587.  
  588. _minimizedBtn.MouseButton1Click:Connect(function()
  589. _maximizeUI()
  590. end)
  591.  
  592. closeBtn.MouseButton1Click:Connect(function()
  593. _enabled = false
  594. _disableClickDetection()
  595.  
  596. if _screenGui then
  597. pcall(function() _screenGui:Destroy() end)
  598. _screenGui = nil
  599. _mainFrame = nil
  600. _minimizedBtn = nil
  601. end
  602.  
  603. _uiVisible = false
  604. Config.ClickTeleportEnabled = false
  605. end)
  606.  
  607. _uiVisible = true
  608. end
  609.  
  610. return {
  611. Init = function()
  612. print("✅ Módulo Click Teleport inicializado")
  613. end,
  614.  
  615. Toggle = function(state)
  616. Config.ClickTeleportEnabled = state
  617.  
  618. if state then
  619. if not _uiVisible then
  620. _createUI()
  621. end
  622. else
  623. if _screenGui then
  624. _enabled = false
  625. _disableClickDetection()
  626.  
  627. pcall(function() _screenGui:Destroy() end)
  628. _screenGui = nil
  629. _mainFrame = nil
  630. _minimizedBtn = nil
  631. end
  632.  
  633. _uiVisible = false
  634. end
  635. end,
  636.  
  637. Cleanup = function()
  638. _enabled = false
  639. _disableClickDetection()
  640.  
  641. if _screenGui then
  642. pcall(function() _screenGui:Destroy() end)
  643. _screenGui = nil
  644. _mainFrame = nil
  645. _minimizedBtn = nil
  646. end
  647.  
  648. _uiVisible = false
  649. print("🧹 Click Teleport limpo")
  650. end,
  651.  
  652. IsEnabled = function()
  653. return Config.ClickTeleportEnabled
  654. end
  655. }
  656. end)()
  657.  
  658. ClickTeleportModule.Init()
  659.  
  660. --// ========== SISTEMA DE NÍVEL DO DINO ========== //
  661.  
  662. local function getDinoLevelSilent()
  663. local now = tick()
  664. if (now - DinoLevelCache.lastUpdate) < DinoLevelCache.updateInterval then
  665. return DinoLevelCache.value
  666. end
  667.  
  668. local leaderstats = LocalPlayer:FindFirstChild("leaderstats")
  669. if leaderstats then
  670. for _, stat in ipairs(leaderstats:GetChildren()) do
  671. local name = stat.Name:lower()
  672. if name:find("level") or name:find("lvl") or name:find("nivel") then
  673. if stat:IsA("IntValue") or stat:IsA("NumberValue") then
  674. local val = tonumber(stat.Value) or 0
  675. if val > 0 then
  676. DinoLevelCache.value = val
  677. DinoLevelCache.lastUpdate = now
  678. return val
  679. end
  680. end
  681. end
  682. end
  683. end
  684.  
  685. local playerGui = LocalPlayer:FindFirstChild("PlayerGui")
  686. if playerGui then
  687. for _, gui in ipairs(playerGui:GetDescendants()) do
  688. if gui:IsA("TextLabel") or gui:IsA("TextBox") then
  689. local text = gui.Text:lower()
  690.  
  691. if text:find("level") or text:find("lvl") or text:find("nivel") then
  692. local number = text:match("%d+")
  693. if number then
  694. local val = tonumber(number)
  695. if val and val > 0 and val <= 100 then
  696. DinoLevelCache.value = val
  697. DinoLevelCache.lastUpdate = now
  698. return val
  699. end
  700. end
  701. end
  702. end
  703. end
  704. end
  705.  
  706. DinoLevelCache.lastUpdate = now
  707. return DinoLevelCache.value
  708. end
  709.  
  710. --// ========== SISTEMA DE CRISTAIS ========== //
  711.  
  712. local prioridadeMap = { legendary = 1, epic = 2, rare = 3, crystal = 4 }
  713.  
  714. local function getCrystalRank(name)
  715. name = name:lower()
  716. for key, rank in pairs(prioridadeMap) do
  717. if name:find(key) then return rank end
  718. end
  719. return 5
  720. end
  721.  
  722. local function getSortedCrystals()
  723. local found = {}
  724. for _, obj in ipairs(workspace:GetDescendants()) do
  725. if obj:IsA("BasePart") and obj.Parent and obj.Parent:IsA("Model") then
  726. local rank = getCrystalRank(obj.Parent.Name)
  727. if rank < 5 then
  728. table.insert(found, {part = obj, rank = rank})
  729. end
  730. end
  731. end
  732. table.sort(found, function(a, b) return a.rank < b.rank end)
  733. local parts = {}
  734. for _, entry in ipairs(found) do
  735. table.insert(parts, entry.part)
  736. end
  737. return parts
  738. end
  739.  
  740. --// ========== SISTEMA ESP DE CARNES ========== //
  741.  
  742. local ActiveMeatESPs = {}
  743. local meatUpdateLoop = nil
  744. local meatScanLoop = nil
  745.  
  746. local function isMeatObject(obj)
  747. if not obj then return false, nil end
  748.  
  749. if obj:IsA("ProximityPrompt") and obj.Enabled then
  750. local action = (obj.ActionText or ""):lower()
  751. local objText = (obj.ObjectText or ""):lower()
  752.  
  753. local foodActions = {"coma", "eat", "pegar", "pick", "grab", "take"}
  754.  
  755. for _, foodAction in ipairs(foodActions) do
  756. if action:find(foodAction) then
  757. local fullText = action .. " " .. objText
  758. local excludeWords = {"plant", "fish", "berry", "fruit", "vegetable", "seed"}
  759.  
  760. local isExcluded = false
  761. for _, word in ipairs(excludeWords) do
  762. if fullText:find(word) then
  763. isExcluded = true
  764. break
  765. end
  766. end
  767.  
  768. if not isExcluded then
  769. local parent = obj.Parent
  770. if parent and parent:IsA("BasePart") then
  771. for _, player in ipairs(Players:GetPlayers()) do
  772. if player.Character and parent:IsDescendantOf(player.Character) then
  773. return false, nil
  774. end
  775. end
  776. return true, parent
  777. end
  778. end
  779. end
  780. end
  781. end
  782.  
  783. if obj:IsA("Model") or obj:IsA("BasePart") then
  784. local name = (obj.Name or ""):lower()
  785.  
  786. local meatWords = {
  787. "meat", "carne", "beef", "steak", "chicken",
  788. "frango", "pork", "porco", "bacon", "ham"
  789. }
  790.  
  791. for _, word in ipairs(meatWords) do
  792. if name:find(word) then
  793. for _, player in ipairs(Players:GetPlayers()) do
  794. if player.Character and obj:IsDescendantOf(player.Character) then
  795. return false, nil
  796. end
  797. end
  798.  
  799. if obj:IsA("Model") then
  800. local part = obj.PrimaryPart or obj:FindFirstChildWhichIsA("BasePart")
  801. return part ~= nil, part
  802. else
  803. return true, obj
  804. end
  805. end
  806. end
  807. end
  808.  
  809. return false, nil
  810. end
  811.  
  812. local function findNearestMeat()
  813. local char = LocalPlayer.Character
  814. local root = char and char:FindFirstChild("HumanoidRootPart")
  815. if not root then return nil, math.huge end
  816.  
  817. local nearestMeat = nil
  818. local nearestDistance = math.huge
  819.  
  820. for _, obj in ipairs(workspace:GetDescendants()) do
  821. local isMeat, part = isMeatObject(obj)
  822. if isMeat and part and part.Parent then
  823. local distance = (part.Position - root.Position).Magnitude
  824. if distance < nearestDistance then
  825. nearestDistance = distance
  826. nearestMeat = part
  827. end
  828. end
  829. end
  830.  
  831. return nearestMeat, nearestDistance
  832. end
  833.  
  834. local function createMeatESP(part)
  835. if not part or not part:IsA("BasePart") or not part.Parent then return end
  836.  
  837. local id = tostring(part:GetDebugId())
  838. if ActiveMeatESPs[id] then return end
  839.  
  840. local esp = Instance.new("BillboardGui")
  841. esp.Name = "MeatESP_" .. id
  842. esp.Adornee = part
  843. esp.Size = UDim2.new(0, Config.ESP_MAX_SIZE, 0, Config.ESP_MAX_SIZE * 0.4)
  844. esp.StudsOffset = Vector3.new(0, 3, 0)
  845. esp.AlwaysOnTop = true
  846. esp.LightInfluence = 0
  847. esp.MaxDistance = Config.MAX_VISIBLE_DISTANCE
  848. esp.Parent = workspace
  849. esp.Enabled = true
  850.  
  851. local frame = Instance.new("Frame", esp)
  852. frame.Size = UDim2.new(1, 0, 1, 0)
  853. frame.BackgroundColor3 = Color3.fromRGB(255, 80, 80)
  854. frame.BackgroundTransparency = 0.4
  855. frame.BorderSizePixel = 1
  856. frame.BorderColor3 = Color3.fromRGB(255, 200, 0)
  857.  
  858. local corner = Instance.new("UICorner")
  859. corner.CornerRadius = UDim.new(0, 6)
  860. corner.Parent = frame
  861.  
  862. local iconLabel = Instance.new("TextLabel", frame)
  863. iconLabel.Size = UDim2.new(0.3, 0, 0.9, 0)
  864. iconLabel.Position = UDim2.new(0, 2, 0.05, 0)
  865. iconLabel.BackgroundTransparency = 1
  866. iconLabel.Text = "🥩"
  867. iconLabel.TextScaled = true
  868. iconLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
  869. iconLabel.Font = Enum.Font.SourceSansBold
  870. iconLabel.TextStrokeTransparency = 0.5
  871.  
  872. local distLabel = Instance.new("TextLabel", frame)
  873. distLabel.Name = "Distance"
  874. distLabel.Size = UDim2.new(0.7, -4, 0.9, 0)
  875. distLabel.Position = UDim2.new(0.3, 2, 0.05, 0)
  876. distLabel.BackgroundTransparency = 1
  877. distLabel.Text = "0m"
  878. distLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
  879. distLabel.TextStrokeTransparency = 0.3
  880. distLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
  881. distLabel.Font = Enum.Font.GothamBold
  882. distLabel.TextScaled = true
  883.  
  884. ActiveMeatESPs[id] = {
  885. gui = esp,
  886. part = part,
  887. distLabel = distLabel,
  888. frame = frame,
  889. iconLabel = iconLabel
  890. }
  891.  
  892. return true
  893. end
  894.  
  895. local function scanForMeats()
  896. if not Config.EspMeatActive then return end
  897.  
  898. for id, data in pairs(ActiveMeatESPs) do
  899. if data.gui then
  900. pcall(function() data.gui:Destroy() end)
  901. end
  902. end
  903. ActiveMeatESPs = {}
  904.  
  905. local meatCount = 0
  906. local checkedCount = 0
  907.  
  908. for _, obj in ipairs(workspace:GetDescendants()) do
  909. checkedCount = checkedCount + 1
  910.  
  911. if checkedCount % 300 == 0 then
  912. task.wait()
  913. if not Config.EspMeatActive then return end
  914. end
  915.  
  916. local isMeat, part = isMeatObject(obj)
  917. if isMeat and part and part.Parent then
  918. if createMeatESP(part) then
  919. meatCount = meatCount + 1
  920. end
  921. end
  922. end
  923. end
  924.  
  925. local function updateMeatESPInfo()
  926. if not Config.EspMeatActive then return end
  927.  
  928. local char = LocalPlayer.Character
  929. local root = char and char:FindFirstChild("HumanoidRootPart")
  930. if not root then return end
  931.  
  932. for id, data in pairs(ActiveMeatESPs) do
  933. if data.part and data.part.Parent and data.gui and data.gui.Parent then
  934. local distance = (data.part.Position - root.Position).Magnitude
  935.  
  936. data.gui.Enabled = true
  937.  
  938. if data.distLabel then
  939. if distance < 100 then
  940. data.distLabel.Text = string.format("%.0fm", distance)
  941. elseif distance < 1000 then
  942. data.distLabel.Text = string.format("%.0fm", distance)
  943. else
  944. data.distLabel.Text = string.format("%.1fkm", distance / 1000)
  945. end
  946. end
  947.  
  948. local scaleFactor
  949. if distance <= 50 then scaleFactor = 1.0
  950. elseif distance <= 200 then scaleFactor = 0.75
  951. elseif distance <= 500 then scaleFactor = 0.6
  952. elseif distance <= 1000 then scaleFactor = 0.5
  953. else scaleFactor = 0.4 end
  954.  
  955. local newSize = Config.ESP_MIN_SIZE + ((Config.ESP_MAX_SIZE - Config.ESP_MIN_SIZE) * scaleFactor)
  956. data.gui.Size = UDim2.new(0, newSize, 0, newSize * 0.4)
  957.  
  958. if data.frame then
  959. local transparency
  960. if distance < 300 then transparency = 0.3
  961. elseif distance < 1000 then transparency = 0.5
  962. else transparency = 0.7 end
  963. data.frame.BackgroundTransparency = transparency
  964. end
  965.  
  966. if distance < 100 then
  967. data.frame.BackgroundColor3 = Color3.fromRGB(100, 255, 100)
  968. data.frame.BorderColor3 = Color3.fromRGB(200, 255, 200)
  969. elseif distance < 500 then
  970. data.frame.BackgroundColor3 = Color3.fromRGB(255, 255, 100)
  971. data.frame.BorderColor3 = Color3.fromRGB(255, 255, 150)
  972. else
  973. data.frame.BackgroundColor3 = Color3.fromRGB(255, 120, 120)
  974. data.frame.BorderColor3 = Color3.fromRGB(255, 150, 150)
  975. end
  976. else
  977. if data.gui then
  978. pcall(function() data.gui:Destroy() end)
  979. end
  980. ActiveMeatESPs[id] = nil
  981. end
  982. end
  983. end
  984.  
  985. local function startMeatESP()
  986. if meatUpdateLoop then return end
  987.  
  988. scanForMeats()
  989.  
  990. meatUpdateLoop = RunService.Heartbeat:Connect(function()
  991. updateMeatESPInfo()
  992. end)
  993.  
  994. meatScanLoop = task.spawn(function()
  995. while Config.EspMeatActive do
  996. task.wait(10)
  997. if Config.EspMeatActive then
  998. scanForMeats()
  999. end
  1000. end
  1001. end)
  1002.  
  1003. workspace.DescendantAdded:Connect(function(obj)
  1004. if not Config.EspMeatActive then return end
  1005.  
  1006. task.wait(0.1)
  1007. local isMeat, part = isMeatObject(obj)
  1008. if isMeat and part then
  1009. local id = tostring(part:GetDebugId())
  1010. if not ActiveMeatESPs[id] then
  1011. createMeatESP(part)
  1012. end
  1013. end
  1014. end)
  1015. end
  1016.  
  1017. local function stopMeatESP()
  1018. if meatUpdateLoop then
  1019. meatUpdateLoop:Disconnect()
  1020. meatUpdateLoop = nil
  1021. end
  1022.  
  1023. if meatScanLoop then
  1024. task.cancel(meatScanLoop)
  1025. meatScanLoop = nil
  1026. end
  1027.  
  1028. for id, data in pairs(ActiveMeatESPs) do
  1029. if data.gui then
  1030. pcall(function() data.gui:Destroy() end)
  1031. end
  1032. end
  1033. ActiveMeatESPs = {}
  1034. end
  1035.  
  1036. --// ========== SISTEMA ESP DE JOGADORES ========== //
  1037.  
  1038. local PlayerESP_Data = {}
  1039.  
  1040. local ESP_CONFIG = {
  1041. UpdateInterval = 0.5,
  1042. HPBarMaxDistance = 4000,
  1043. HPBarSize = UDim2.new(0, 50, 0, 5),
  1044. HPBarYOffset = 0.5,
  1045. HighlightFillTransparency = 0.85,
  1046. OutlineTransparency = 0.15,
  1047. }
  1048.  
  1049. local COLOR_ENEMY = Color3.fromRGB(255, 85, 85)
  1050. local COLOR_FRIEND = Color3.fromRGB(85, 255, 85)
  1051. local COLOR_NEUTRAL = Color3.fromRGB(240, 240, 240)
  1052.  
  1053. local function isNeutralPlayer(p)
  1054. return p.Team == nil
  1055. end
  1056.  
  1057. local function isAllyPlayer(p)
  1058. return LocalPlayer.Team and p.Team == LocalPlayer.Team
  1059. end
  1060.  
  1061. local function colorForPlayer(p)
  1062. if isNeutralPlayer(p) then
  1063. return COLOR_NEUTRAL
  1064. end
  1065.  
  1066. if isAllyPlayer(p) then
  1067. return COLOR_FRIEND
  1068. end
  1069.  
  1070. return COLOR_ENEMY
  1071. end
  1072.  
  1073. local function shouldShowPlayerESP(p)
  1074. if not Config.PlayerESP then return false end
  1075. if Config.PlayerESP_TeamCheck then return not isAllyPlayer(p) end
  1076. return true
  1077. end
  1078.  
  1079. local function shouldShowPlayerHP(p)
  1080. if not Config.PlayerESP_ShowHP then return false end
  1081. if Config.PlayerESP_TeamCheck then return not isAllyPlayer(p) end
  1082. return true
  1083. end
  1084.  
  1085. local function clearPlayerESP(plr)
  1086. local pack = PlayerESP_Data[plr]
  1087. if not pack then return end
  1088.  
  1089. if pack.highlight then
  1090. pcall(function() pack.highlight:Destroy() end)
  1091. pack.highlight = nil
  1092. end
  1093.  
  1094. if pack.hpGui then
  1095. pcall(function() pack.hpGui:Destroy() end)
  1096. pack.hpGui = nil
  1097. end
  1098.  
  1099. PlayerESP_Data[plr] = nil
  1100. end
  1101.  
  1102. local function setupPlayerESP(plr)
  1103. if plr == LocalPlayer then return end
  1104. if not plr.Character then return end
  1105.  
  1106. clearPlayerESP(plr)
  1107.  
  1108. local char = plr.Character
  1109. local hum = char:FindFirstChildOfClass("Humanoid")
  1110. local root = char:FindFirstChild("HumanoidRootPart")
  1111. local head = char:FindFirstChild("Head")
  1112.  
  1113. if not hum or not root then return end
  1114.  
  1115. PlayerESP_Data[plr] = {}
  1116.  
  1117. -- Highlight
  1118. local hi = Instance.new("Highlight")
  1119. hi.Name = "PlayerESP_Highlight"
  1120. hi.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
  1121. hi.FillTransparency = ESP_CONFIG.HighlightFillTransparency
  1122. hi.OutlineTransparency = ESP_CONFIG.OutlineTransparency
  1123. hi.Adornee = char
  1124. hi.Parent = char
  1125.  
  1126. local col = colorForPlayer(plr)
  1127. hi.FillColor = col
  1128. hi.OutlineColor = col
  1129. hi.Enabled = shouldShowPlayerESP(plr)
  1130.  
  1131. PlayerESP_Data[plr].highlight = hi
  1132.  
  1133. -- HP Bar
  1134. local bill = Instance.new("BillboardGui")
  1135. bill.Name = "PlayerESP_HP"
  1136. bill.AlwaysOnTop = true
  1137. bill.LightInfluence = 0
  1138. bill.Size = ESP_CONFIG.HPBarSize
  1139. bill.MaxDistance = ESP_CONFIG.HPBarMaxDistance
  1140. bill.Parent = char
  1141.  
  1142. if head then
  1143. bill.Adornee = head
  1144. local headSize = head.Size.Y
  1145. bill.StudsOffset = Vector3.new(0, headSize/2 + ESP_CONFIG.HPBarYOffset, 0)
  1146. else
  1147. bill.Adornee = root
  1148. bill.StudsOffset = Vector3.new(0, 2.5 + ESP_CONFIG.HPBarYOffset, 0)
  1149. end
  1150.  
  1151. local bg = Instance.new("Frame", bill)
  1152. bg.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
  1153. bg.BackgroundTransparency = 0.2
  1154. bg.BorderSizePixel = 0
  1155. bg.Size = UDim2.fromScale(1, 1)
  1156.  
  1157. local bgCorner = Instance.new("UICorner")
  1158. bgCorner.CornerRadius = UDim.new(0, 2)
  1159. bgCorner.Parent = bg
  1160.  
  1161. local bgStroke = Instance.new("UIStroke")
  1162. bgStroke.Color = Color3.fromRGB(0, 0, 0)
  1163. bgStroke.Thickness = 1.5
  1164. bgStroke.Parent = bg
  1165.  
  1166. local fill = Instance.new("Frame", bg)
  1167. fill.BackgroundColor3 = COLOR_FRIEND
  1168. fill.BorderSizePixel = 0
  1169. fill.Size = UDim2.fromScale(1, 1)
  1170.  
  1171. local fillCorner = Instance.new("UICorner")
  1172. fillCorner.CornerRadius = UDim.new(0, 2)
  1173. fillCorner.Parent = fill
  1174.  
  1175. bill.Enabled = shouldShowPlayerHP(plr)
  1176.  
  1177. PlayerESP_Data[plr].hpGui = bill
  1178. PlayerESP_Data[plr].hpFill = fill
  1179. PlayerESP_Data[plr].hum = hum
  1180. end
  1181.  
  1182. task.spawn(function()
  1183. while true do
  1184. task.wait(ESP_CONFIG.UpdateInterval)
  1185.  
  1186. for plr, pack in pairs(PlayerESP_Data) do
  1187. if plr and plr.Parent and plr.Character then
  1188. local hum = pack.hum
  1189.  
  1190. if hum and pack.hpFill then
  1191. local h = hum.Health
  1192. local m = hum.MaxHealth
  1193. if m <= 0 then m = 100 end
  1194.  
  1195. local ratio = math.clamp(h / m, 0, 1)
  1196. pack.hpFill.Size = UDim2.new(ratio, 0, 1, 0)
  1197.  
  1198. local r, g
  1199. if ratio > 0.5 then
  1200. r = (1 - ratio) * 2 * 255
  1201. g = 255
  1202. else
  1203. r = 255
  1204. g = ratio * 2 * 255
  1205. end
  1206.  
  1207. pack.hpFill.BackgroundColor3 = Color3.fromRGB(r, g, 0)
  1208.  
  1209. if pack.hpGui then
  1210. pack.hpGui.Enabled = shouldShowPlayerHP(plr) and (h > 0)
  1211. end
  1212. end
  1213.  
  1214. if pack.highlight then
  1215. pack.highlight.Enabled = shouldShowPlayerESP(plr)
  1216. end
  1217. else
  1218. clearPlayerESP(plr)
  1219. end
  1220. end
  1221. end
  1222. end)
  1223.  
  1224. Players.PlayerAdded:Connect(function(plr)
  1225. plr.CharacterAdded:Connect(function()
  1226. task.wait(1)
  1227. setupPlayerESP(plr)
  1228. end)
  1229. end)
  1230.  
  1231. Players.PlayerRemoving:Connect(function(plr)
  1232. clearPlayerESP(plr)
  1233. end)
  1234.  
  1235. for _, plr in ipairs(Players:GetPlayers()) do
  1236. if plr ~= LocalPlayer and plr.Character then
  1237. setupPlayerESP(plr)
  1238. end
  1239.  
  1240. plr.CharacterAdded:Connect(function()
  1241. task.wait(1)
  1242. setupPlayerESP(plr)
  1243. end)
  1244. end
  1245.  
  1246. --// ========== CARREGAR TELEPORTS SALVOS ========== //
  1247.  
  1248. local function loadSavedTeleports()
  1249. local success, data = pcall(function()
  1250. return HttpService:JSONDecode(readfile("PreHistoria_Teleports.json"))
  1251. end)
  1252.  
  1253. if success and data then
  1254. Config.SavedTeleports = data
  1255. print("📍 Carregado " .. #data .. " teleports salvos")
  1256. else
  1257. Config.SavedTeleports = {}
  1258. print("📍 Nenhum teleport salvo encontrado")
  1259. end
  1260. end
  1261.  
  1262. loadSavedTeleports()
  1263.  
  1264. --// ========== CARREGAR WINDUI ========== //
  1265.  
  1266. local WindUI = loadstring(game:HttpGet("https://raw.githubusercontent.com/Footagesus/WindUI/refs/heads/main/source.lua"))()
  1267.  
  1268. --// ========== CRIAR INTERFACE WINDUI ========== //
  1269.  
  1270. local Window = WindUI:CreateWindow({
  1271. Title = "🦖 Pré-história",
  1272. Icon = "rbxassetid://10723415766",
  1273. Author = "By: NickZScripts",
  1274. Folder = "PreHistoriaConfig",
  1275. Size = UDim2.fromOffset(500, 600),
  1276. KeySystem = {
  1277. Key = "PreHistoria2024",
  1278. Note = "Sem Key - Pressione Check",
  1279. SaveKey = false,
  1280. GrabKeyFromSite = false,
  1281. Actions = {
  1282. [1] = {
  1283. Text = "Click here to copy the key link",
  1284. OnPress = function()
  1285. setclipboard("PreHistoria2024")
  1286. end
  1287. }
  1288. }
  1289. },
  1290. Transparent = true,
  1291. Theme = "Dark",
  1292. SideBarWidth = 170,
  1293. HasOutline = true,
  1294. })
  1295.  
  1296. --// ========== NOTIFICAÇÕES ========== //
  1297.  
  1298. local Notify = function(title, description, duration)
  1299. Window:Notify({
  1300. Title = title,
  1301. Description = description,
  1302. Duration = duration or 3
  1303. })
  1304. end
  1305.  
  1306. --// ========== ABA MENU ========== //
  1307.  
  1308. local MenuTab = Window:Tab({
  1309. Title = "Menu",
  1310. Icon = "rbxassetid://10723424838"
  1311. })
  1312.  
  1313. local InfoSection = MenuTab:Section({
  1314. Title = "📊 Informações",
  1315. TextXAlignment = Enum.TextXAlignment.Left
  1316. })
  1317.  
  1318. local PlayersCountLabel = InfoSection:Label({
  1319. Text = "👥 Players Online: 0/0",
  1320. TextXAlignment = Enum.TextXAlignment.Left
  1321. })
  1322.  
  1323. local function updatePlayerCount()
  1324. local current = #Players:GetPlayers()
  1325. local max = Players.MaxPlayers
  1326. PlayersCountLabel:Set(string.format("👥 Players Online: %d/%d", current, max))
  1327. end
  1328.  
  1329. updatePlayerCount()
  1330.  
  1331. Players.PlayerAdded:Connect(updatePlayerCount)
  1332. Players.PlayerRemoving:Connect(updatePlayerCount)
  1333.  
  1334. task.spawn(function()
  1335. while true do
  1336. task.wait(5)
  1337. updatePlayerCount()
  1338. end
  1339. end)
  1340.  
  1341. InfoSection:Label({
  1342. Text = "📜 Script Info",
  1343. TextXAlignment = Enum.TextXAlignment.Left
  1344. })
  1345.  
  1346. InfoSection:Label({
  1347. Text = "Versão: " .. ScriptVersion,
  1348. TextXAlignment = Enum.TextXAlignment.Left
  1349. })
  1350.  
  1351. InfoSection:Label({
  1352. Text = "Status: ✅ Operacional",
  1353. TextXAlignment = Enum.TextXAlignment.Left
  1354. })
  1355.  
  1356. InfoSection:Label({
  1357. Text = "Interface: WindUI",
  1358. TextXAlignment = Enum.TextXAlignment.Left
  1359. })
  1360.  
  1361. local PlayerSection = MenuTab:Section({
  1362. Title = "👤 Jogador",
  1363. TextXAlignment = Enum.TextXAlignment.Left
  1364. })
  1365.  
  1366. PlayerSection:Label({
  1367. Text = "Nome: " .. LocalPlayer.Name,
  1368. TextXAlignment = Enum.TextXAlignment.Left
  1369. })
  1370.  
  1371. PlayerSection:Label({
  1372. Text = "Display: " .. LocalPlayer.DisplayName,
  1373. TextXAlignment = Enum.TextXAlignment.Left
  1374. })
  1375.  
  1376. PlayerSection:Label({
  1377. Text = "ID: " .. LocalPlayer.UserId,
  1378. TextXAlignment = Enum.TextXAlignment.Left
  1379. })
  1380.  
  1381. local SystemsSection = MenuTab:Section({
  1382. Title = "⚡ Sistemas Ativos",
  1383. TextXAlignment = Enum.TextXAlignment.Left
  1384. })
  1385.  
  1386. local AutoFarmStatusLabel = SystemsSection:Label({
  1387. Text = "💎 Auto Farm - Desligado",
  1388. TextXAlignment = Enum.TextXAlignment.Left
  1389. })
  1390.  
  1391. local EspCarnesStatusLabel = SystemsSection:Label({
  1392. Text = "🥩 ESP Carnes - Desligado",
  1393. TextXAlignment = Enum.TextXAlignment.Left
  1394. })
  1395.  
  1396. local EspJogadoresStatusLabel = SystemsSection:Label({
  1397. Text = "👥 ESP Jogadores - Desligado",
  1398. TextXAlignment = Enum.TextXAlignment.Left
  1399. })
  1400.  
  1401. local AutoColetaStatusLabel = SystemsSection:Label({
  1402. Text = "🔄 Auto Coleta - Desligado",
  1403. TextXAlignment = Enum.TextXAlignment.Left
  1404. })
  1405.  
  1406. local CreditsSection = MenuTab:Section({
  1407. Title = "👨‍💻 Créditos",
  1408. TextXAlignment = Enum.TextXAlignment.Left
  1409. })
  1410.  
  1411. CreditsSection:Label({
  1412. Text = "Script: NickZScripts",
  1413. TextXAlignment = Enum.TextXAlignment.Left
  1414. })
  1415.  
  1416. CreditsSection:Label({
  1417. Text = "Interface: WindUI",
  1418. TextXAlignment = Enum.TextXAlignment.Left
  1419. })
  1420.  
  1421. CreditsSection:Label({
  1422. Text = "Versão: " .. ScriptVersion,
  1423. TextXAlignment = Enum.TextXAlignment.Left
  1424. })
  1425.  
  1426. --// ========== ABA AUTO FARM ========== //
  1427.  
  1428. local FarmTab = Window:Tab({
  1429. Title = "Auto Farm",
  1430. Icon = "rbxassetid://10723407389"
  1431. })
  1432.  
  1433. local CrystalSection = FarmTab:Section({
  1434. Title = "💎 Farm de Cristais",
  1435. TextXAlignment = Enum.TextXAlignment.Left
  1436. })
  1437.  
  1438. local DinoLevelLabel = CrystalSection:Label({
  1439. Text = "🦖 Nível do Dino: 0/60",
  1440. TextXAlignment = Enum.TextXAlignment.Left
  1441. })
  1442.  
  1443. task.spawn(function()
  1444. while true do
  1445. task.wait(2)
  1446. local level = getDinoLevelSilent()
  1447. DinoLevelLabel:Set(string.format("🦖 Nível do Dino: %d/60", level))
  1448. end
  1449. end)
  1450.  
  1451. CrystalSection:Toggle({
  1452. Title = "Auto Farm Cristais",
  1453. Default = false,
  1454. Callback = function(Value)
  1455. Config.AutoFarm = Value
  1456.  
  1457. if Value then
  1458. AutoFarmStatusLabel:Set("💎 Auto Farm - Ligado")
  1459. Notify("✅ Ativado", "Auto Farm ligado", 2)
  1460. else
  1461. AutoFarmStatusLabel:Set("💎 Auto Farm - Desligado")
  1462. Notify("❌ Desativado", "Auto Farm desligado", 2)
  1463. end
  1464. end
  1465. })
  1466.  
  1467. local ColetaSection = FarmTab:Section({
  1468. Title = "🔄 Auto Coleta",
  1469. TextXAlignment = Enum.TextXAlignment.Left
  1470. })
  1471.  
  1472. ColetaSection:Toggle({
  1473. Title = "Auto Coleta",
  1474. Default = false,
  1475. Callback = function(Value)
  1476. Config.AutoColeta = Value
  1477.  
  1478. if Value then
  1479. AutoColetaStatusLabel:Set("🔄 Auto Coleta - Ligado")
  1480. Notify("✅ Ativado", "Auto Coleta ligado", 2)
  1481. else
  1482. AutoColetaStatusLabel:Set("🔄 Auto Coleta - Desligado")
  1483. Notify("❌ Desativado", "Auto Coleta desligado", 2)
  1484. end
  1485. end
  1486. })
  1487.  
  1488. --// ========== ABA ESP ========== //
  1489.  
  1490. local EspTab = Window:Tab({
  1491. Title = "ESP",
  1492. Icon = "rbxassetid://10723434711"
  1493. })
  1494.  
  1495. local PlayerESPSection = EspTab:Section({
  1496. Title = "👥 ESP de Jogadores",
  1497. TextXAlignment = Enum.TextXAlignment.Left
  1498. })
  1499.  
  1500. PlayerESPSection:Toggle({
  1501. Title = "ESP de Jogadores",
  1502. Default = false,
  1503. Callback = function(Value)
  1504. Config.PlayerESP = Value
  1505.  
  1506. if Value then
  1507. EspJogadoresStatusLabel:Set("👥 ESP Jogadores - Ligado")
  1508.  
  1509. for _, plr in ipairs(Players:GetPlayers()) do
  1510. if plr ~= LocalPlayer then
  1511. setupPlayerESP(plr)
  1512. end
  1513. end
  1514.  
  1515. Notify("✅ Ativado", "ESP Jogadores ligado", 2)
  1516. else
  1517. EspJogadoresStatusLabel:Set("👥 ESP Jogadores - Desligado")
  1518.  
  1519. for plr, pack in pairs(PlayerESP_Data) do
  1520. if pack.highlight then pack.highlight.Enabled = false end
  1521. if pack.hpGui then pack.hpGui.Enabled = false end
  1522. end
  1523.  
  1524. Notify("❌ Desativado", "ESP Jogadores desligado", 2)
  1525. end
  1526. end
  1527. })
  1528.  
  1529. PlayerESPSection:Toggle({
  1530. Title = "Barra de Vida",
  1531. Default = false,
  1532. Callback = function(Value)
  1533. Config.PlayerESP_ShowHP = Value
  1534.  
  1535. for plr, pack in pairs(PlayerESP_Data) do
  1536. if pack.hpGui then
  1537. pack.hpGui.Enabled = shouldShowPlayerHP(plr)
  1538. end
  1539. end
  1540.  
  1541. Notify(Value and "✅ Ativado" or "❌ Desativado", "Barra de Vida " .. (Value and "ligada" or "desligada"), 2)
  1542. end
  1543. })
  1544.  
  1545. PlayerESPSection:Toggle({
  1546. Title = "TeamCheck (Só Inimigos)",
  1547. Default = false,
  1548. Callback = function(Value)
  1549. Config.PlayerESP_TeamCheck = Value
  1550.  
  1551. for plr, pack in pairs(PlayerESP_Data) do
  1552. if pack.highlight then
  1553. pack.highlight.Enabled = shouldShowPlayerESP(plr)
  1554. end
  1555. if pack.hpGui then
  1556. pack.hpGui.Enabled = shouldShowPlayerHP(plr)
  1557. end
  1558. end
  1559.  
  1560. Notify(Value and "✅ Ativado" or "❌ Desativado", "TeamCheck " .. (Value and "ligado" or "desligado"), 2)
  1561. end
  1562. })
  1563.  
  1564. local MeatESPSection = EspTab:Section({
  1565. Title = "🥩 ESP de Carnes",
  1566. TextXAlignment = Enum.TextXAlignment.Left
  1567. })
  1568.  
  1569. MeatESPSection:Toggle({
  1570. Title = "ESP de Carnes",
  1571. Default = false,
  1572. Callback = function(Value)
  1573. Config.EspMeatActive = Value
  1574.  
  1575. if Value then
  1576. EspCarnesStatusLabel:Set("🥩 ESP Carnes - Ligado")
  1577. startMeatESP()
  1578. Notify("✅ Ativado", "ESP Carnes ligado", 2)
  1579. else
  1580. EspCarnesStatusLabel:Set("🥩 ESP Carnes - Desligado")
  1581. stopMeatESP()
  1582. Notify("❌ Desativado", "ESP Carnes desligado", 2)
  1583. end
  1584. end
  1585. })
  1586.  
  1587. --// ========== ABA TELEPORT ========== //
  1588.  
  1589. local TeleportTab = Window:Tab({
  1590. Title = "Teleport",
  1591. Icon = "rbxassetid://10723423881"
  1592. })
  1593.  
  1594. local QuickTPSection = TeleportTab:Section({
  1595. Title = "🍖 Teleportes Rápidos",
  1596. TextXAlignment = Enum.TextXAlignment.Left
  1597. })
  1598.  
  1599. QuickTPSection:Button({
  1600. Title = "Teleportar para Carne Mais Próxima",
  1601. Callback = function()
  1602. local meat, distance = findNearestMeat()
  1603.  
  1604. if not meat then
  1605. Notify("❌ Erro", "Nenhuma carne encontrada!", 2)
  1606. return
  1607. end
  1608.  
  1609. safeTeleport(CFrame.new(meat.Position + Vector3.new(0, 3, 0)), "Carne")
  1610. end
  1611. })
  1612.  
  1613. local SpawnTPSection = TeleportTab:Section({
  1614. Title = "🏠 Teleporte para Spawn",
  1615. TextXAlignment = Enum.TextXAlignment.Left
  1616. })
  1617.  
  1618. SpawnTPSection:Button({
  1619. Title = "Voltar ao Spawn",
  1620. Callback = function()
  1621. if not LastSpawnPosition then
  1622. Notify("❌ Erro", "Spawn não detectado!", 2)
  1623. return
  1624. end
  1625.  
  1626. safeTeleport(LastSpawnPosition, "Spawn")
  1627. end
  1628. })
  1629.  
  1630. if #Config.SavedTeleports > 0 then
  1631. local SavedTPSection = TeleportTab:Section({
  1632. Title = "📍 Locais Salvos",
  1633. TextXAlignment = Enum.TextXAlignment.Left
  1634. })
  1635.  
  1636. for i, data in ipairs(Config.SavedTeleports) do
  1637. if data.position then
  1638. local locationName = data.name or ("Local " .. i)
  1639.  
  1640. SavedTPSection:Button({
  1641. Title = "📍 " .. locationName,
  1642. Callback = function()
  1643. local pos = data.position
  1644.  
  1645. if not pos or not pos.X or not pos.Y or not pos.Z then
  1646. Notify("❌ Erro", "Posição inválida!", 2)
  1647. return
  1648. end
  1649.  
  1650. local targetCF = CFrame.new(pos.X, pos.Y, pos.Z)
  1651. safeTeleport(targetCF, locationName)
  1652. end
  1653. })
  1654. end
  1655. end
  1656. end
  1657.  
  1658. --// ========== ABA OUTROS ========== //
  1659.  
  1660. local OthersTab = Window:Tab({
  1661. Title = "Outros",
  1662. Icon = "rbxassetid://10723407389"
  1663. })
  1664.  
  1665. local ClickTPSection = OthersTab:Section({
  1666. Title = "🎯 Click Teleport",
  1667. TextXAlignment = Enum.TextXAlignment.Left
  1668. })
  1669.  
  1670. ClickTPSection:Label({
  1671. Text = "ℹ️ Sobre Click Teleport",
  1672. TextXAlignment = Enum.TextXAlignment.Left
  1673. })
  1674.  
  1675. ClickTPSection:Label({
  1676. Text = "Teleporte clicando em superfícies",
  1677. TextXAlignment = Enum.TextXAlignment.Left
  1678. })
  1679.  
  1680. ClickTPSection:Label({
  1681. Text = "✅ Personagem olha para onde clicou",
  1682. TextXAlignment = Enum.TextXAlignment.Left
  1683. })
  1684.  
  1685. ClickTPSection:Label({
  1686. Text = "✅ Sem efeitos visuais",
  1687. TextXAlignment = Enum.TextXAlignment.Left
  1688. })
  1689.  
  1690. ClickTPSection:Button({
  1691. Title = "🎯 Abrir Click Teleport",
  1692. Callback = function()
  1693. if not Config.ClickTeleportEnabled then
  1694. ClickTeleportModule.Toggle(true)
  1695. Notify("✅ Click Teleport", "Interface aberta!", 2)
  1696. else
  1697. Notify("ℹ️ Já Ativo", "Click Teleport já está aberto!", 2)
  1698. end
  1699. end
  1700. })
  1701.  
  1702. local AboutSection = OthersTab:Section({
  1703. Title = "ℹ️ Informações",
  1704. TextXAlignment = Enum.TextXAlignment.Left
  1705. })
  1706.  
  1707. AboutSection:Label({
  1708. Text = "⚙️ Interface WindUI",
  1709. TextXAlignment = Enum.TextXAlignment.Left
  1710. })
  1711.  
  1712. AboutSection:Label({
  1713. Text = "Todas funcionalidades mantidas!",
  1714. TextXAlignment = Enum.TextXAlignment.Left
  1715. })
  1716.  
  1717. --// ========== AUTO FARM LOOP ========== //
  1718.  
  1719. task.spawn(function()
  1720. local index = 1
  1721. while true do
  1722. task.wait(Config.CheckDelay)
  1723. if Config.AutoFarm then
  1724. local currentLevel = getDinoLevelSilent()
  1725.  
  1726. if currentLevel >= 60 then
  1727. Config.AutoFarm = false
  1728. AutoFarmStatusLabel:Set("💎 Auto Farm - Desligado")
  1729.  
  1730. Notify("✅ Completo", "Nível 60 atingido!", 3)
  1731. else
  1732. local crystals = getSortedCrystals()
  1733. if #crystals > 0 then
  1734. for _, c in ipairs(crystals) do
  1735. if not Config.AutoFarm or not c or not c.Parent then break end
  1736. teleportToCrystal(c)
  1737.  
  1738. local fixarConexao = RunService.Heartbeat:Connect(function()
  1739. if Config.AutoFarm and c and c:IsDescendantOf(workspace) then
  1740. local char = getCharacter()
  1741. if char and char.PrimaryPart then
  1742. char:SetPrimaryPartCFrame(CFrame.new(c.Position + Vector3.new(0, 4.5, 0)))
  1743. end
  1744. end
  1745. end)
  1746.  
  1747. local elapsed = 0
  1748. while c:IsDescendantOf(workspace) and elapsed < 12 and Config.AutoFarm do
  1749. task.wait(Config.CheckDelay)
  1750. elapsed += Config.CheckDelay
  1751. end
  1752. fixarConexao:Disconnect()
  1753. task.wait(Config.DelayBetweenCrystals)
  1754. end
  1755. else
  1756. index = (index % #Config.PatrulhaPontos) + 1
  1757. teleportTo(Config.PatrulhaPontos[index])
  1758. task.wait(2)
  1759. end
  1760. end
  1761. end
  1762. end
  1763. end)
  1764.  
  1765. --// ========== AUTO COLETA ========== //
  1766.  
  1767. RunService.Heartbeat:Connect(function()
  1768. if not (Config.AutoFarm or Config.AutoColeta) then return end
  1769.  
  1770. if not Config.podeExecutar then return end
  1771. Config.podeExecutar = false
  1772.  
  1773. local root = getHumanoidRootPart()
  1774. if root then
  1775. for _, obj in ipairs(workspace:GetDescendants()) do
  1776. if obj:IsA("ProximityPrompt") and obj.Parent and obj.Parent:IsA("BasePart") then
  1777. if obj.Enabled and (obj.Parent.Position - root.Position).Magnitude <= Config.raioDeColeta then
  1778. pcall(function()
  1779. fireproximityprompt(obj)
  1780. end)
  1781. end
  1782. end
  1783. end
  1784. end
  1785.  
  1786. task.delay(Config.delayEntreTentativas, function()
  1787. Config.podeExecutar = true
  1788. end)
  1789. end)
  1790.  
  1791. --// ========== CLEANUP AO SAIR ========== //
  1792.  
  1793. LocalPlayer.CharacterRemoving:Connect(function()
  1794. ClickTeleportModule.Cleanup()
  1795. end)
  1796.  
  1797. --// ========== LOGS FINAIS ========== //
  1798.  
  1799. print("╔═══════════════════════════════════════════════════════════╗")
  1800. print("║ Pré-história - By: NickZScripts ║")
  1801. print("╠═══════════════════════════════════════════════════════════╣")
  1802. print("║ ✅ Interface WindUI carregada! ║")
  1803. print("║ 📌 Versão: " .. ScriptVersion .. " ║")
  1804. print("║ 🎮 Jogador: " .. LocalPlayer.Name)
  1805. print("║ 📊 Players: " .. #Players:GetPlayers() .. "/" .. Players.MaxPlayers)
  1806. print("║ 📍 Teleports Salvos: " .. #Config.SavedTeleports)
  1807. print("╠═══════════════════════════════════════════════════════════╣")
  1808. print("║ 🎨 Interface: WindUI Library ║")
  1809. print("║ 🚀 Sistema de Teleporte Ultra-Rápido ║")
  1810. print("║ 👁️ ESP de Jogadores e Carnes ║")
  1811. print("║ ⚡ Auto Farm + Auto Coleta ║")
  1812. print("║ 🎯 Click Teleport Integrado ║")
  1813. print("╚═══════════════════════════════════════════════════════════╝")
  1814.  
  1815. Notify("🦖 Pré-história", "Script carregado com sucesso!\nVersão: " .. ScriptVersion, 3)
Advertisement
Add Comment
Please, Sign In to add comment