Nevzyn

Untitled

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