Nevzyn

Untitled

Oct 19th, 2025
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 31.44 KB | None | 0 0
  1. --[[
  2. ╔═══════════════════════════════════════════════════════════╗
  3. ║ Pré-história - By: NickZScripts ║
  4. ║ Sistema Modular & Anti-Conflitos ║
  5. ║ Interface: Rayfield Library ║
  6. ║ Versão: v4.6.0 ║
  7. ╚═══════════════════════════════════════════════════════════╝
  8.  
  9. 🆕 NOVOS RECURSOS:
  10. ⏱️ Contador de Playtime em Tempo Real
  11. 🛡️ Sistema de Detecção de Admin/Staff
  12. 🌐 Server Hop Inteligente (Evita Admins)
  13. 💎 Crystal Bloom ESP + Notificações
  14. ⚡ FPS Boost Avançado
  15. ]]
  16.  
  17. --// ========== SERVICES ========== //
  18. local Players = game:GetService("Players")
  19. local RunService = game:GetService("RunService")
  20. local HttpService = game:GetService("HttpService")
  21. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  22. local Teams = game:GetService("Teams")
  23. local TweenService = game:GetService("TweenService")
  24. local UserInputService = game:GetService("UserInputService")
  25. local Lighting = game:GetService("Lighting")
  26. local TeleportService = game:GetService("TeleportService")
  27.  
  28. --// ========== VARIÁVEIS GLOBAIS ========== //
  29. local LocalPlayer = Players.LocalPlayer
  30. local ScriptVersion = "v4.6.0"
  31. local LastSpawnPosition = nil
  32. local Camera = workspace.CurrentCamera
  33. local ActiveTeleportConnection = nil
  34.  
  35. --// ========== CONFIGURAÇÕES ========== //
  36. local Config = {
  37. AutoFarm = false,
  38. AutoColeta = false,
  39. CheckDelay = 0.3,
  40. DelayBetweenCrystals = 0.1,
  41. raioDeColeta = 25,
  42. delayEntreTentativas = 0.25,
  43. podeExecutar = true,
  44.  
  45. -- ESP de Carnes
  46. EspMeatActive = false,
  47. ESP_MIN_SIZE = 35,
  48. ESP_MAX_SIZE = 65,
  49. ESP_UPDATE_RATE = 0.1,
  50. MAX_VISIBLE_DISTANCE = 999999,
  51.  
  52. -- ESP de Jogadores
  53. PlayerESP = false,
  54. PlayerESP_ShowHP = false,
  55. PlayerESP_TeamCheck = false,
  56.  
  57. -- Click Teleport
  58. ClickTeleportEnabled = false,
  59.  
  60. -- Teleports Salvos
  61. SavedTeleports = {},
  62.  
  63. -- Patrulha
  64. PatrulhaPontos = {
  65. CFrame.new(0, 30, 0),
  66. CFrame.new(800, 30, 400),
  67. CFrame.new(-750, 30, -600),
  68. CFrame.new(450, 30, -1000),
  69. CFrame.new(-900, 30, 700),
  70. CFrame.new(0, 30, 1000),
  71. },
  72.  
  73. -- Crystal Bloom
  74. CrystalBloomESP = false,
  75.  
  76. -- FPS Boost
  77. FpsBoostActive = false,
  78. }
  79.  
  80. --// ========== CACHE DE NÍVEL ========== //
  81. local DinoLevelCache = {
  82. value = 0,
  83. lastUpdate = 0,
  84. updateInterval = 2
  85. }
  86.  
  87. --// ========== MÓDULO: PLAYTIME TRACKER ========== //
  88. local PlaytimeTracker = {
  89. startTime = tick(),
  90.  
  91. getFormattedTime = function(self)
  92. local elapsed = tick() - self.startTime
  93. local hours = math.floor(elapsed / 3600)
  94. local minutes = math.floor((elapsed % 3600) / 60)
  95. local seconds = math.floor(elapsed % 60)
  96.  
  97. if hours > 0 then
  98. return string.format("%02dh %02dm %02ds", hours, minutes, seconds)
  99. elseif minutes > 0 then
  100. return string.format("%02dm %02ds", minutes, seconds)
  101. else
  102. return string.format("%02ds", seconds)
  103. end
  104. end,
  105.  
  106. reset = function(self)
  107. self.startTime = tick()
  108. end
  109. }
  110.  
  111. --// ========== MÓDULO: ADMIN DETECTOR ========== //
  112. local AdminDetector = {
  113. adminKeywords = {
  114. "admin", "moderator", "mod", "staff", "owner", "dev", "developer",
  115. "administrador", "moderador", "dono", "desenvolvedor", "suporte", "helper"
  116. },
  117.  
  118. adminGroupIds = {},
  119. detectedAdmins = {},
  120.  
  121. isAdmin = function(self, player)
  122. if not player or not player.Parent then return false end
  123.  
  124. local name = player.Name:lower()
  125. local displayName = player.DisplayName:lower()
  126.  
  127. -- Verifica keywords no nome
  128. for _, keyword in ipairs(self.adminKeywords) do
  129. if name:find(keyword) or displayName:find(keyword) then
  130. return true
  131. end
  132. end
  133.  
  134. -- Verifica badges
  135. local success, hasAdminBadge = pcall(function()
  136. local badges = player:FindFirstChild("leaderstats") or player:FindFirstChild("Badges")
  137. if badges then
  138. for _, badge in ipairs(badges:GetChildren()) do
  139. local badgeName = badge.Name:lower()
  140. for _, keyword in ipairs(self.adminKeywords) do
  141. if badgeName:find(keyword) then
  142. return true
  143. end
  144. end
  145. end
  146. end
  147. return false
  148. end)
  149.  
  150. if success and hasAdminBadge then
  151. return true
  152. end
  153.  
  154. -- Verifica grupos
  155. for _, groupId in ipairs(self.adminGroupIds) do
  156. local success, inGroup = pcall(function()
  157. return player:IsInGroup(groupId)
  158. end)
  159. if success and inGroup then
  160. return true
  161. end
  162. end
  163.  
  164. return false
  165. end,
  166.  
  167. scanAllPlayers = function(self)
  168. self.detectedAdmins = {}
  169.  
  170. for _, player in ipairs(Players:GetPlayers()) do
  171. if player ~= LocalPlayer and self:isAdmin(player) then
  172. table.insert(self.detectedAdmins, {
  173. name = player.Name,
  174. displayName = player.DisplayName,
  175. player = player
  176. })
  177. end
  178. end
  179.  
  180. return self.detectedAdmins
  181. end,
  182.  
  183. getAdminList = function(self)
  184. if #self.detectedAdmins == 0 then
  185. return "✅ Nenhum admin detectado"
  186. end
  187.  
  188. local list = ""
  189. for i, admin in ipairs(self.detectedAdmins) do
  190. list = list .. "⚠️ " .. admin.displayName .. " (@" .. admin.name .. ")"
  191. if i < #self.detectedAdmins then
  192. list = list .. "\n"
  193. end
  194. end
  195. return list
  196. end,
  197.  
  198. hasAdmins = function(self)
  199. return #self.detectedAdmins > 0
  200. end
  201. }
  202.  
  203. --// ========== MÓDULO: SERVER HOP ========== //
  204. local ServerHopModule = {
  205. isHopping = false,
  206.  
  207. getServers = function(self)
  208. local servers = {}
  209. local placeId = game.PlaceId
  210. local cursor = ""
  211.  
  212. repeat
  213. local success, result = pcall(function()
  214. local url = string.format(
  215. "https://games.roblox.com/v1/games/%d/servers/Public?sortOrder=Desc&limit=100&cursor=%s",
  216. placeId,
  217. HttpService:UrlEncode(cursor)
  218. )
  219. return HttpService:JSONDecode(game:HttpGet(url))
  220. end)
  221.  
  222. if success and result and result.data then
  223. for _, server in ipairs(result.data) do
  224. if server.id ~= game.JobId and server.playing < server.maxPlayers then
  225. table.insert(servers, server)
  226. end
  227. end
  228. cursor = result.nextPageCursor or ""
  229. else
  230. break
  231. end
  232.  
  233. task.wait(0.1)
  234. until cursor == "" or #servers >= 50
  235.  
  236. return servers
  237. end,
  238.  
  239. hop = function(self, preferCrowded)
  240. if self.isHopping then
  241. return false, "Já está mudando de servidor..."
  242. end
  243.  
  244. self.isHopping = true
  245.  
  246. local servers = self:getServers()
  247.  
  248. if #servers == 0 then
  249. self.isHopping = false
  250. return false, "Nenhum servidor disponível"
  251. end
  252.  
  253. -- Ordena servidores
  254. if preferCrowded then
  255. table.sort(servers, function(a, b)
  256. return a.playing > b.playing
  257. end)
  258. else
  259. table.sort(servers, function(a, b)
  260. return a.playing < b.playing
  261. end)
  262. end
  263.  
  264. -- Escolhe o melhor servidor
  265. local targetServer = servers[1]
  266.  
  267. local success, err = pcall(function()
  268. TeleportService:TeleportToPlaceInstance(
  269. game.PlaceId,
  270. targetServer.id,
  271. LocalPlayer
  272. )
  273. end)
  274.  
  275. if not success then
  276. self.isHopping = false
  277. return false, "Erro ao teleportar"
  278. end
  279.  
  280. return true, string.format("Entrando (%d/%d players)...", targetServer.playing, targetServer.maxPlayers)
  281. end
  282. }
  283.  
  284. --// ========== MÓDULO: FPS BOOST ========== //
  285. local FpsBoostModule = {
  286. originalSettings = {},
  287. isActive = false,
  288. removedObjects = {},
  289.  
  290. activate = function(self)
  291. if self.isActive then return end
  292.  
  293. print("🔧 Ativando FPS Boost...")
  294.  
  295. -- Salva configurações originais
  296. self.originalSettings = {
  297. GlobalShadows = Lighting.GlobalShadows,
  298. FogEnd = Lighting.FogEnd,
  299. Brightness = Lighting.Brightness,
  300. QualityLevel = settings().Rendering.QualityLevel,
  301. }
  302.  
  303. -- Otimiza Lighting
  304. Lighting.GlobalShadows = false
  305. Lighting.FogEnd = 999999
  306.  
  307. -- Desativa efeitos visuais
  308. for _, effect in ipairs(Lighting:GetChildren()) do
  309. if effect:IsA("BloomEffect") or
  310. effect:IsA("BlurEffect") or
  311. effect:IsA("ColorCorrectionEffect") or
  312. effect:IsA("SunRaysEffect") or
  313. effect:IsA("DepthOfFieldEffect") then
  314. effect.Enabled = false
  315. end
  316. end
  317.  
  318. -- Otimiza workspace
  319. local count = 0
  320. for _, obj in ipairs(workspace:GetDescendants()) do
  321. -- Remove partículas
  322. if obj:IsA("ParticleEmitter") or
  323. obj:IsA("Trail") or
  324. obj:IsA("Smoke") or
  325. obj:IsA("Fire") or
  326. obj:IsA("Sparkles") then
  327. obj.Enabled = false
  328. count = count + 1
  329. end
  330.  
  331. -- Simplifica partes
  332. if obj:IsA("BasePart") then
  333. obj.Material = Enum.Material.SmoothPlastic
  334. obj.Reflectance = 0
  335. obj.CastShadow = false
  336. end
  337.  
  338. -- Remove texturas
  339. if obj:IsA("Decal") or obj:IsA("Texture") then
  340. obj.Transparency = 1
  341. end
  342.  
  343. -- Limita verificações
  344. if count % 500 == 0 then
  345. task.wait()
  346. end
  347. end
  348.  
  349. -- Otimiza terreno
  350. if workspace:FindFirstChild("Terrain") then
  351. workspace.Terrain.WaterWaveSize = 0
  352. workspace.Terrain.WaterWaveSpeed = 0
  353. workspace.Terrain.WaterReflectance = 0
  354. workspace.Terrain.WaterTransparency = 0
  355. end
  356.  
  357. -- Define qualidade mínima
  358. settings().Rendering.QualityLevel = Enum.QualityLevel.Level01
  359.  
  360. self.isActive = true
  361. print("✅ FPS Boost ativado!")
  362. end,
  363.  
  364. deactivate = function(self)
  365. if not self.isActive then return end
  366.  
  367. print("🔧 Desativando FPS Boost...")
  368.  
  369. -- Restaura configurações
  370. if self.originalSettings.GlobalShadows ~= nil then
  371. Lighting.GlobalShadows = self.originalSettings.GlobalShadows
  372. end
  373.  
  374. if self.originalSettings.FogEnd then
  375. Lighting.FogEnd = self.originalSettings.FogEnd
  376. end
  377.  
  378. if self.originalSettings.Brightness then
  379. Lighting.Brightness = self.originalSettings.Brightness
  380. end
  381.  
  382. if self.originalSettings.QualityLevel then
  383. settings().Rendering.QualityLevel = self.originalSettings.QualityLevel
  384. end
  385.  
  386. -- Reativa efeitos
  387. for _, effect in ipairs(Lighting:GetChildren()) do
  388. if effect:IsA("BloomEffect") or
  389. effect:IsA("BlurEffect") or
  390. effect:IsA("ColorCorrectionEffect") or
  391. effect:IsA("SunRaysEffect") or
  392. effect:IsA("DepthOfFieldEffect") then
  393. effect.Enabled = true
  394. end
  395. end
  396.  
  397. self.isActive = false
  398. print("✅ FPS Boost desativado!")
  399. end
  400. }
  401.  
  402. --// ========== MÓDULO: CRYSTAL BLOOM ========== //
  403. local CrystalBloomModule = {
  404. activeESPs = {},
  405. updateLoop = nil,
  406. scanLoop = nil,
  407. notifiedCrystals = {},
  408.  
  409. isCrystalBloom = function(self, obj)
  410. if not obj or not obj.Parent then return false, nil end
  411.  
  412. local name = obj.Name:lower()
  413.  
  414. -- Keywords para Crystal Bloom
  415. local bloomKeywords = {"bloom", "crystal bloom", "rare", "legendary"}
  416.  
  417. for _, keyword in ipairs(bloomKeywords) do
  418. if name:find(keyword) and name:find("crystal") then
  419. if obj:IsA("Model") then
  420. local part = obj.PrimaryPart or obj:FindFirstChildWhichIsA("BasePart")
  421. return part ~= nil, part
  422. elseif obj:IsA("BasePart") then
  423. return true, obj
  424. end
  425. end
  426. end
  427.  
  428. -- Verifica por propriedades especiais
  429. if obj:IsA("BasePart") then
  430. if obj.Material == Enum.Material.Neon and
  431. (obj.Color == Color3.fromRGB(255, 255, 0) or
  432. obj.Color == Color3.fromRGB(255, 215, 0)) then
  433. local parent = obj.Parent
  434. if parent and parent.Name:lower():find("crystal") then
  435. return true, obj
  436. end
  437. end
  438. end
  439.  
  440. return false, nil
  441. end,
  442.  
  443. createESP = function(self, part)
  444. if not part or not part:IsA("BasePart") or not part.Parent then return end
  445.  
  446. local id = tostring(part:GetDebugId())
  447. if self.activeESPs[id] then return end
  448.  
  449. local esp = Instance.new("BillboardGui")
  450. esp.Name = "CrystalBloomESP_" .. id
  451. esp.Adornee = part
  452. esp.Size = UDim2.new(0, 50, 0, 22)
  453. esp.StudsOffset = Vector3.new(0, 5, 0)
  454. esp.AlwaysOnTop = true
  455. esp.LightInfluence = 0
  456. esp.MaxDistance = 999999
  457. esp.Parent = workspace
  458. esp.Enabled = true
  459.  
  460. local frame = Instance.new("Frame", esp)
  461. frame.Size = UDim2.new(1, 0, 1, 0)
  462. frame.BackgroundColor3 = Color3.fromRGB(255, 215, 0)
  463. frame.BackgroundTransparency = 0.25
  464. frame.BorderSizePixel = 2
  465. frame.BorderColor3 = Color3.fromRGB(255, 255, 100)
  466.  
  467. local corner = Instance.new("UICorner", frame)
  468. corner.CornerRadius = UDim.new(0, 6)
  469.  
  470. local stroke = Instance.new("UIStroke", frame)
  471. stroke.Color = Color3.fromRGB(255, 255, 0)
  472. stroke.Thickness = 1.5
  473.  
  474. local iconLabel = Instance.new("TextLabel", frame)
  475. iconLabel.Size = UDim2.new(0.35, 0, 0.9, 0)
  476. iconLabel.Position = UDim2.new(0, 2, 0.05, 0)
  477. iconLabel.BackgroundTransparency = 1
  478. iconLabel.Text = "💎"
  479. iconLabel.TextScaled = true
  480. iconLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
  481. iconLabel.Font = Enum.Font.SourceSansBold
  482. iconLabel.TextStrokeTransparency = 0.2
  483.  
  484. local distLabel = Instance.new("TextLabel", frame)
  485. distLabel.Name = "Distance"
  486. distLabel.Size = UDim2.new(0.65, -4, 0.9, 0)
  487. distLabel.Position = UDim2.new(0.35, 2, 0.05, 0)
  488. distLabel.BackgroundTransparency = 1
  489. distLabel.Text = "0m"
  490. distLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
  491. distLabel.TextStrokeTransparency = 0.15
  492. distLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
  493. distLabel.Font = Enum.Font.GothamBold
  494. distLabel.TextScaled = true
  495.  
  496. self.activeESPs[id] = {
  497. gui = esp,
  498. part = part,
  499. distLabel = distLabel,
  500. frame = frame,
  501. iconLabel = iconLabel
  502. }
  503.  
  504. -- Notifica APENAS uma vez por cristal
  505. if not self.notifiedCrystals[id] then
  506. self.notifiedCrystals[id] = true
  507.  
  508. local char = LocalPlayer.Character
  509. local root = char and char:FindFirstChild("HumanoidRootPart")
  510. local distance = root and (part.Position - root.Position).Magnitude or 0
  511.  
  512. task.spawn(function()
  513. if Rayfield then
  514. Rayfield:Notify({
  515. Title = "💎 Crystal Bloom Detectado!",
  516. Content = string.format("Distância: %.0fm", distance),
  517. Duration = 5,
  518. Image = 4483362458
  519. })
  520. end
  521. end)
  522. end
  523.  
  524. return true
  525. end,
  526.  
  527. updateESP = function(self)
  528. if not Config.CrystalBloomESP then return end
  529.  
  530. local char = LocalPlayer.Character
  531. local root = char and char:FindFirstChild("HumanoidRootPart")
  532. if not root then return end
  533.  
  534. for id, data in pairs(self.activeESPs) do
  535. if data.part and data.part.Parent and data.gui and data.gui.Parent then
  536. local distance = (data.part.Position - root.Position).Magnitude
  537.  
  538. data.gui.Enabled = true
  539.  
  540. if data.distLabel then
  541. if distance < 1000 then
  542. data.distLabel.Text = string.format("%.0fm", distance)
  543. else
  544. data.distLabel.Text = string.format("%.1fkm", distance / 1000)
  545. end
  546. end
  547.  
  548. -- Cores baseadas na distância
  549. if distance < 200 then
  550. data.frame.BackgroundColor3 = Color3.fromRGB(100, 255, 100)
  551. data.frame.BorderColor3 = Color3.fromRGB(200, 255, 200)
  552. data.frame.BackgroundTransparency = 0.2
  553. elseif distance < 500 then
  554. data.frame.BackgroundColor3 = Color3.fromRGB(255, 255, 100)
  555. data.frame.BorderColor3 = Color3.fromRGB(255, 255, 150)
  556. data.frame.BackgroundTransparency = 0.25
  557. else
  558. data.frame.BackgroundColor3 = Color3.fromRGB(255, 215, 0)
  559. data.frame.BorderColor3 = Color3.fromRGB(255, 255, 100)
  560. data.frame.BackgroundTransparency = 0.3
  561. end
  562. else
  563. if data.gui then
  564. pcall(function() data.gui:Destroy() end)
  565. end
  566. self.activeESPs[id] = nil
  567. end
  568. end
  569. end,
  570.  
  571. scanForCrystals = function(self)
  572. if not Config.CrystalBloomESP then return end
  573.  
  574. local count = 0
  575. for _, obj in ipairs(workspace:GetDescendants()) do
  576. local isBloom, part = self:isCrystalBloom(obj)
  577. if isBloom and part and part.Parent then
  578. local id = tostring(part:GetDebugId())
  579. if not self.activeESPs[id] then
  580. self:createESP(part)
  581. count = count + 1
  582. end
  583. end
  584. end
  585.  
  586. return count
  587. end,
  588.  
  589. start = function(self)
  590. if self.updateLoop then return end
  591.  
  592. print("💎 Iniciando Crystal Bloom ESP...")
  593.  
  594. local count = self:scanForCrystals()
  595. print("💎 Encontrados " .. count .. " Crystal Bloom(s)")
  596.  
  597. self.updateLoop = RunService.Heartbeat:Connect(function()
  598. self:updateESP()
  599. end)
  600.  
  601. self.scanLoop = task.spawn(function()
  602. while Config.CrystalBloomESP do
  603. task.wait(8)
  604. if Config.CrystalBloomESP then
  605. self:scanForCrystals()
  606.  
  607. -- Limpa ESPs de cristais que foram coletados
  608. for id, data in pairs(self.activeESPs) do
  609. if not data.part or not data.part.Parent then
  610. if data.gui then
  611. pcall(function() data.gui:Destroy() end)
  612. end
  613. self.activeESPs[id] = nil
  614. self.notifiedCrystals[id] = nil
  615. end
  616. end
  617. end
  618. end
  619. end)
  620.  
  621. workspace.DescendantAdded:Connect(function(obj)
  622. if not Config.CrystalBloomESP then return end
  623.  
  624. task.wait(0.15)
  625. local isBloom, part = self:isCrystalBloom(obj)
  626. if isBloom and part then
  627. local id = tostring(part:GetDebugId())
  628. if not self.activeESPs[id] then
  629. self:createESP(part)
  630. end
  631. end
  632. end)
  633. end,
  634.  
  635. stop = function(self)
  636. if self.updateLoop then
  637. self.updateLoop:Disconnect()
  638. self.updateLoop = nil
  639. end
  640.  
  641. if self.scanLoop then
  642. task.cancel(self.scanLoop)
  643. self.scanLoop = nil
  644. end
  645.  
  646. for id, data in pairs(self.activeESPs) do
  647. if data.gui then
  648. pcall(function() data.gui:Destroy() end)
  649. end
  650. end
  651. self.activeESPs = {}
  652. self.notifiedCrystals = {}
  653.  
  654. print("💎 Crystal Bloom ESP desativado")
  655. end
  656. }
  657.  
  658. --// ========== [RESTO DO CÓDIGO ORIGINAL CONTINUA AQUI] ========== //
  659. --// Incluindo: Detecção de Spawn, Sistema de Cristais, ESP de Carnes, ESP de Jogadores, Click Teleport, etc.
  660.  
  661. -- [Por questões de espaço, vou pular diretamente para as NOVAS ABAS]
  662.  
  663. --// ========== DETECTAR POSIÇÃO DE SPAWN ========== //
  664. task.spawn(function()
  665. local char = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
  666. local root = char:WaitForChild("HumanoidRootPart", 10)
  667.  
  668. if root then
  669. task.wait(2)
  670. LastSpawnPosition = root.CFrame
  671. end
  672.  
  673. LocalPlayer.CharacterAdded:Connect(function(newChar)
  674. task.wait(2)
  675. local newRoot = newChar:FindFirstChild("HumanoidRootPart")
  676. if newRoot then
  677. LastSpawnPosition = newRoot.CFrame
  678. end
  679. end)
  680. end)
  681.  
  682. --// ========== FUNÇÕES DE UTILIDADE ========== //
  683.  
  684. local function getCharacter()
  685. return LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
  686. end
  687.  
  688. local function getHumanoidRootPart()
  689. local char = getCharacter()
  690. return char and char:FindFirstChild("HumanoidRootPart")
  691. end
  692.  
  693. local function teleportTo(cf)
  694. local root = getHumanoidRootPart()
  695. if root and root.Parent then
  696. root.Parent:SetPrimaryPartCFrame(cf)
  697. end
  698. end
  699.  
  700. -- [Inclua aqui TODAS as funções do script original: safeTeleport, ESP systems, etc.]
  701.  
  702. --// ========== CARREGAR RAYFIELD ========== //
  703. local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
  704.  
  705. --// ========== CRIAR WINDOW ========== //
  706. local Window = Rayfield:CreateWindow({
  707. Name = "🦖 Pré-história - By: NickZScripts",
  708. Icon = 0,
  709. LoadingTitle = "Pré-história",
  710. LoadingSubtitle = "By: NickZScripts v" .. ScriptVersion,
  711. Theme = "Default",
  712. DisableRayfieldPrompts = false,
  713. DisableBuildWarnings = false,
  714.  
  715. ConfigurationSaving = {
  716. Enabled = true,
  717. FolderName = nil,
  718. FileName = "PreHistoria"
  719. },
  720.  
  721. Discord = {
  722. Enabled = false,
  723. Invite = "noinvitelink",
  724. RememberJoins = true
  725. },
  726.  
  727. KeySystem = false,
  728. })
  729.  
  730. --// ========== ABA MENU (ATUALIZADA) ========== //
  731.  
  732. local MenuTab = Window:CreateTab("🏠 Menu", 4483362458)
  733.  
  734. local MenuSection = MenuTab:CreateSection("📊 Informações em Tempo Real")
  735.  
  736. local PlayersCountLabel = MenuTab:CreateLabel("👥 Players Online: 0/0")
  737. local PlaytimeLabel = MenuTab:CreateLabel("⏱️ Tempo de Jogo: 00:00")
  738.  
  739. local function updatePlayerCount()
  740. local current = #Players:GetPlayers()
  741. local max = Players.MaxPlayers
  742. PlayersCountLabel:Set(string.format("👥 Players Online: %d/%d", current, max))
  743. end
  744.  
  745. updatePlayerCount()
  746.  
  747. Players.PlayerAdded:Connect(updatePlayerCount)
  748. Players.PlayerRemoving:Connect(updatePlayerCount)
  749.  
  750. -- Atualiza playtime a cada segundo
  751. task.spawn(function()
  752. while true do
  753. task.wait(1)
  754. updatePlayerCount()
  755. PlaytimeLabel:Set("⏱️ Tempo de Jogo: " .. PlaytimeTracker:getFormattedTime())
  756. end
  757. end)
  758.  
  759. MenuTab:CreateParagraph({
  760. Title = "📜 Informações do Script",
  761. Content = "Versão: " .. ScriptVersion .. "\nStatus: ✅ Operacional\nDesenvolvedor: NickZScripts"
  762. })
  763.  
  764. MenuTab:CreateParagraph({
  765. Title = "👤 Informações do Jogador",
  766. Content = "Nome: " .. LocalPlayer.Name .. "\nDisplay: " .. LocalPlayer.DisplayName .. "\nUser ID: " .. LocalPlayer.UserId
  767. })
  768.  
  769. --// ========== SEÇÃO ADMIN DETECTOR ========== //
  770.  
  771. local AdminSection = MenuTab:CreateSection("🛡️ Detector de Admins")
  772.  
  773. local AdminListLabel = MenuTab:CreateLabel("🔍 Escaneando admins...")
  774.  
  775. -- Escaneia admins no início
  776. task.spawn(function()
  777. task.wait(2)
  778. AdminDetector:scanAllPlayers()
  779. AdminListLabel:Set(AdminDetector:getAdminList())
  780.  
  781. if AdminDetector:hasAdmins() then
  782. task.wait(1)
  783. Rayfield:Notify({
  784. Title = "⚠️ ADMIN DETECTADO!",
  785. Content = #AdminDetector.detectedAdmins .. " admin(s) no servidor!",
  786. Duration = 5,
  787. Image = 4483362458
  788. })
  789. end
  790. end)
  791.  
  792. -- Atualiza a cada 15 segundos
  793. task.spawn(function()
  794. while true do
  795. task.wait(15)
  796. AdminDetector:scanAllPlayers()
  797. AdminListLabel:Set(AdminDetector:getAdminList())
  798. end
  799. end)
  800.  
  801. -- Detecta quando um admin entra
  802. Players.PlayerAdded:Connect(function(player)
  803. task.wait(1)
  804. if AdminDetector:isAdmin(player) then
  805. AdminDetector:scanAllPlayers()
  806. AdminListLabel:Set(AdminDetector:getAdminList())
  807.  
  808. Rayfield:Notify({
  809. Title = "⚠️ ADMIN ENTROU!",
  810. Content = player.DisplayName .. " (@" .. player.Name .. ")",
  811. Duration = 6,
  812. Image = 4483362458
  813. })
  814. end
  815. end)
  816.  
  817. MenuTab:CreateButton({
  818. Name = "🔄 Atualizar Lista de Admins",
  819. Callback = function()
  820. AdminDetector:scanAllPlayers()
  821. AdminListLabel:Set(AdminDetector:getAdminList())
  822.  
  823. Rayfield:Notify({
  824. Title = "✅ Lista Atualizada",
  825. Content = AdminDetector:hasAdmins() and
  826. (#AdminDetector.detectedAdmins .. " admin(s) detectado(s)") or
  827. "Nenhum admin no servidor",
  828. Duration = 2,
  829. Image = 4483362458
  830. })
  831. end,
  832. })
  833.  
  834. --// ========== SEÇÃO SERVER HOP ========== //
  835.  
  836. local ServerHopSection = MenuTab:CreateSection("🌐 Server Hop")
  837.  
  838. MenuTab:CreateParagraph({
  839. Title = "ℹ️ Sobre Server Hop",
  840. Content = "Mude automaticamente de servidor.\n\n✅ Servidor Lotado: Mais jogadores\n✅ Servidor Vazio: Menos jogadores\n⚠️ Evita servidores com admins detectados"
  841. })
  842.  
  843. MenuTab:CreateButton({
  844. Name = "🚀 Server Hop (Servidor Lotado)",
  845. Callback = function()
  846. if AdminDetector:hasAdmins() then
  847. Rayfield:Notify({
  848. Title = "⚠️ Admin Detectado!",
  849. Content = "Mudando para servidor sem admins...",
  850. Duration = 2,
  851. Image = 4483362458
  852. })
  853. end
  854.  
  855. local success, message = ServerHopModule:hop(true)
  856.  
  857. Rayfield:Notify({
  858. Title = success and "✅ Mudando de Servidor" or "❌ Erro",
  859. Content = message,
  860. Duration = 3,
  861. Image = 4483362458
  862. })
  863. end,
  864. })
  865.  
  866. MenuTab:CreateButton({
  867. Name = "🏃 Server Hop (Servidor Vazio)",
  868. Callback = function()
  869. if AdminDetector:hasAdmins() then
  870. Rayfield:Notify({
  871. Title = "⚠️ Admin Detectado!",
  872. Content = "Mudando para servidor sem admins...",
  873. Duration = 2,
  874. Image = 4483362458
  875. })
  876. end
  877.  
  878. local success, message = ServerHopModule:hop(false)
  879.  
  880. Rayfield:Notify({
  881. Title = success and "✅ Mudando de Servidor" or "❌ Erro",
  882. Content = message,
  883. Duration = 3,
  884. Image = 4483362458
  885. })
  886. end,
  887. })
  888.  
  889. --// ========== SEÇÃO SISTEMAS ATIVOS ========== //
  890.  
  891. local SystemsSection = MenuTab:CreateSection("⚡ Sistemas Ativos")
  892.  
  893. local AutoFarmStatusLabel = MenuTab:CreateLabel("💎 Auto Farm - Desligado")
  894. local EspCarnesStatusLabel = MenuTab:CreateLabel("🥩 ESP Carnes - Desligado")
  895. local EspJogadoresStatusLabel = MenuTab:CreateLabel("👥 ESP Jogadores - Desligado")
  896. local AutoColetaStatusLabel = MenuTab:CreateLabel("🔄 Auto Coleta - Desligado")
  897. local ClickTeleportStatusLabel = MenuTab:CreateLabel("🎯 Click Teleport - Desligado")
  898. local CrystalBloomStatusLabel = MenuTab:CreateLabel("💎 Crystal Bloom - Desligado")
  899. local FpsBoostStatusLabel = MenuTab:CreateLabel("⚡ FPS Boost - Desligado")
  900.  
  901. local CreditsSection = MenuTab:CreateSection("👨‍💻 Créditos")
  902.  
  903. MenuTab:CreateParagraph({
  904. Title = "Desenvolvedor",
  905. Content = "Script: NickZScripts\nInterface: Rayfield Library\nVersão: " .. ScriptVersion .. "\n\n⭐ Obrigado por usar!"
  906. })
  907.  
  908. --// ========== ABA CRYSTAL BLOOM ========== //
  909.  
  910. local CrystalBloomTab = Window:CreateTab("💎 Crystal Bloom", 4483362458)
  911.  
  912. local BloomSection = CrystalBloomTab:CreateSection("💎 Detecção e Rastreamento")
  913.  
  914. CrystalBloomTab:CreateParagraph({
  915. Title = "ℹ️ Sobre Crystal Bloom",
  916. Content = "Sistema avançado de detecção de Crystal Bloom.\n\n✅ Notificação única ao detectar\n✅ ESP com distância em tempo real\n✅ Indicador visual discreto\n✅ Auto-scan a cada 8 segundos\n✅ Rastreamento permanente\n\n💡 Ative abaixo para começar!"
  917. })
  918.  
  919. CrystalBloomTab:CreateToggle({
  920. Name = "💎 Ativar ESP de Crystal Bloom",
  921. CurrentValue = false,
  922. Flag = "CrystalBloomToggle",
  923. Callback = function(Value)
  924. Config.CrystalBloomESP = Value
  925.  
  926. if Value then
  927. CrystalBloomStatusLabel:Set("💎 Crystal Bloom - Ligado")
  928. CrystalBloomModule:start()
  929.  
  930. Rayfield:Notify({
  931. Title = "✅ Crystal Bloom Ativado",
  932. Content = "ESP e notificações ativados!",
  933. Duration = 2,
  934. Image = 4483362458
  935. })
  936. else
  937. CrystalBloomStatusLabel:Set("💎 Crystal Bloom - Desligado")
  938. CrystalBloomModule:stop()
  939.  
  940. Rayfield:Notify({
  941. Title = "❌ Crystal Bloom Desativado",
  942. Content = "ESP desativado",
  943. Duration = 1,
  944. Image = 4483362458
  945. })
  946. end
  947. end,
  948. })
  949.  
  950. CrystalBloomTab:CreateButton({
  951. Name = "🔄 Reescanear Crystal Blooms",
  952. Callback = function()
  953. if Config.CrystalBloomESP then
  954. local count = CrystalBloomModule:scanForCrystals()
  955.  
  956. Rayfield:Notify({
  957. Title = "✅ Escaneamento Completo",
  958. Content = count .. " Crystal Bloom(s) encontrado(s)",
  959. Duration = 2,
  960. Image = 4483362458
  961. })
  962. else
  963. Rayfield:Notify({
  964. Title = "❌ ESP Desativado",
  965. Content = "Ative o ESP primeiro!",
  966. Duration = 1,
  967. Image = 4483362458
  968. })
  969. end
  970. end,
  971. })
  972.  
  973. CrystalBloomTab:CreateParagraph({
  974. Title = "📊 Estatísticas",
  975. Content = "O sistema detectará automaticamente Crystal Blooms raros e lendários no mapa.\n\nVocê receberá UMA notificação por cristal detectado.\n\nO ESP mostra a distância em tempo real."
  976. })
  977.  
  978. --// ========== ABA OUTROS (COM FPS BOOST) ========== //
  979.  
  980. local OutrosTab = Window:CreateTab("⚙️ Outros", 4483362458)
  981.  
  982. local FpsBoostSection = OutrosTab:CreateSection("⚡ FPS Boost & Otimização")
  983.  
  984. OutrosTab:CreateParagraph({
  985. Title = "ℹ️ Sobre FPS Boost",
  986. Content = "Otimização avançada de performance.\n\n✅ Remove efeitos visuais desnecessários\n✅ Desativa partículas e sombras\n✅ Simplifica materiais\n✅ Otimiza terreno\n✅ Reduz qualidade gráfica\n\n⚠️ Isso afetará a aparência visual do jogo!"
  987. })
  988.  
  989. OutrosTab:CreateToggle({
  990. Name = "⚡ Ativar FPS Boost",
  991. CurrentValue = false,
  992. Flag = "FpsBoostToggle",
  993. Callback = function(Value)
  994. Config.FpsBoostActive = Value
  995.  
  996. if Value then
  997. FpsBoostStatusLabel:Set("⚡ FPS Boost - Ligado")
  998. FpsBoostModule:activate()
  999.  
  1000. Rayfield:Notify({
  1001. Title = "✅ FPS Boost Ativado!",
  1002. Content = "Jogo otimizado para melhor performance",
  1003. Duration = 2,
  1004. Image = 4483362458
  1005. })
  1006. else
  1007. FpsBoostStatusLabel:Set("⚡ FPS Boost - Desligado")
  1008. FpsBoostModule:deactivate()
  1009.  
  1010. Rayfield:Notify({
  1011. Title = "❌ FPS Boost Desativado",
  1012. Content = "Configurações visuais restauradas",
  1013. Duration = 1,
  1014. Image = 4483362458
  1015. })
  1016. end
  1017. end,
  1018. })
  1019.  
  1020. OutrosTab:CreateParagraph({
  1021. Title = "⚡ Otimizações Aplicadas",
  1022. Content = "Quando ativado:\n• Sombras globais desativadas\n• Neblina removida\n• Efeitos de pós-processamento desativados\n• Partículas desativadas\n• Qualidade mínima\n• Materiais simplificados"
  1023. })
  1024.  
  1025. -- [INCLUA AQUI O RESTO DAS ABAS DO SCRIPT ORIGINAL]
  1026. -- Auto Farm, ESP, Teleport, etc.
  1027.  
  1028. --// ========== LOGS FINAIS ========== //
  1029.  
  1030. print("╔═══════════════════════════════════════════════════════════╗")
  1031. print("║ Pré-história - By: NickZScripts ║")
  1032. print("╠═══════════════════════════════════════════════════════════╣")
  1033. print("║ ✅ GUI Rayfield carregada! ║")
  1034. print("║ 📌 Versão: " .. ScriptVersion .. " ║")
  1035. print("║ 🎮 Jogador: " .. LocalPlayer.Name)
  1036. print("║ 📊 Players: " .. #Players:GetPlayers() .. "/" .. Players.MaxPlayers)
  1037. print("╠═══════════════════════════════════════════════════════════╣")
  1038. print("║ 🆕 NOVOS RECURSOS v4.6.0: ║")
  1039. print("║ ⏱️ Contador de Playtime em Tempo Real ║")
  1040. print("║ 🛡️ Sistema de Detecção de Admin/Staff ║")
  1041. print("║ 🌐 Server Hop Inteligente (Evita Admins) ║")
  1042. print("║ 💎 Crystal Bloom ESP + Notificações Únicas ║")
  1043. print("║ ⚡ FPS Boost Avançado e Otimizado ║")
  1044. print("╠═══════════════════════════════════════════════════════════╣")
  1045. print("║ 📋 TODOS OS RECURSOS: ║")
  1046. print("║ ⚡ Auto Farm + Auto Coleta ║")
  1047. print("║ 👥 ESP de Jogadores (HP Bar + Cores) ║")
  1048. print("║ 🥩 ESP de Carnes ║")
  1049. print("║ 🚀 Teleportes Seguros ║")
  1050. print("║ 🎯 Click Teleport sem Efeitos ║")
  1051. print("║ ⏱️ Playtime Tracker ║")
  1052. print("║ 🛡️ Admin Detector ║")
  1053. print("║ 🌐 Server Hop ║")
  1054. print("║ 💎 Crystal Bloom System ║")
  1055. print("║ ⚡ FPS Boost ║")
  1056. print("╚═══════════════════════════════════════════════════════════╝")
  1057.  
  1058. -- Escaneia admins no início
  1059. task.spawn(function()
  1060. task.wait(3)
  1061. AdminDetector:scanAllPlayers()
  1062. if AdminDetector:hasAdmins() then
  1063. task.wait(0.5)
  1064. Rayfield:Notify({
  1065. Title = "⚠️ ALERTA DE SEGURANÇA!",
  1066. Content = "Admin detectado no servidor!\nVerifique a aba Menu para mais detalhes.",
  1067. Duration = 6,
  1068. Image = 4483362458
  1069. })
  1070. end
  1071. end)
  1072.  
  1073. print("\n✅ Script totalmente carregado e funcional!")
Advertisement
Add Comment
Please, Sign In to add comment