--[[ Скрипт для 99 Days in the Forest Функции: Авто дерево, Авто еда, ТП к металлу, ТП к дереву, ТП к вещам, Fly, Noclip, God Mode, Убить с одного удара (с исключениями), Анти-бан, Анти-кик ]] local Player = game:GetService("Players").LocalPlayer local Character = Player.Character or Player.CharacterAdded:Wait() local Mouse = Player:GetMouse() local UIS = game:GetService("UserInputService") local RunService = game:GetService("RunService") local Workspace = game:GetService("Workspace") local CoreGui = game:GetService("CoreGui") local LogService = game:GetService("LogService") local Stats = game:GetService("Stats") local VirtualUser = game:GetService("VirtualUser") -- Конфигурация local settings = { AutoTree = false, AutoFood = false, OneHitKill = false, Fly = false, Noclip = false, GodMode = false, AntiBan = true, -- Включено по умолчанию AntiKick = true -- Включено по умолчанию } -- Исключения для One Hit Kill local killExceptions = { ["Deer"] = true, ["Goat"] = true, ["Owl"] = true, ["Bat"] = true } -- Переменные для Fly local flyBodyVelocity = nil local flyConnection = nil -- Переменные для анти-бан/анти-кик local antiBanActive = true local antiKickActive = true local originalNameCall = nil local remoteSpamProtection = {} local lastRemoteCall = 0 -- === АНТИ-БАН И АНТИ-КИК СИСТЕМА === -- Функция для защиты от киков через RemoteEvent local function protectFromRemoteKicks() local oldNamecall oldNamecall = hookmetamethod(game, "__namecall", function(self, ...) local args = {...} local method = getnamecallmethod() -- Проверка на кик-события if method == "FireServer" or method == "InvokeServer" then -- Защита от частых вызовов (спам-защита) local currentTime = tick() if currentTime - lastRemoteCall < 0.1 then return nil -- Блокируем слишком частые вызовы end lastRemoteCall = currentTime -- Список опасных событий, которые могут кикнуть local dangerousEvents = { ["Kick"] = true, ["Ban"] = true, ["TeleportDetected"] = true, ["AntiCheat"] = true, ["SpeedHack"] = true, ["FlyDetected"] = true, ["NoclipDetected"] = true, ["GodModeDetected"] = true, ["OneHitDetected"] = true } -- Если событие в черном списке - блокируем if dangerousEvents[self.Name] then return nil end -- Блокируем отправку подозрительно больших данных if #tostring(args) > 1000 then return nil end end -- Блокировка попыток телепортации нас администраторами if method == "FireServer" and self.Name == "Teleport" then return nil end return oldNamecall(self, ...) end) end -- Защита от обнаружения через свойства персонажа local function protectCharacterProperties() local humanoid = Character:WaitForChild("Humanoid") -- Скрываем необычные значения local oldIndex oldIndex = hookmetamethod(game, "__index", function(self, key) if self == humanoid and (key == "WalkSpeed" or key == "JumpPower") then -- Возвращаем нормальные значения если проверяют if settings.Fly or settings.Noclip then return 16 -- Нормальная скорость end end return oldIndex(self, key) end) end -- Защита от логов (чтобы админы не видели подозрительные действия) local function protectLogs() -- Блокируем отправку логов на сервер local oldWarn = warn warn = function(...) end local oldPrint = print print = function(...) end -- Перехватываем вывод в консоль (для некоторых эксплойтов) if type(consoleclear) == "function" then consoleclear() end end -- Защита от античита через виртуальную активность local function simulateActivity() game:GetService("Players").LocalPlayer.Idled:Connect(function() VirtualUser:CaptureController() VirtualUser:ClickButton2(Vector2.new()) end) end -- Блокировка попыток кика через BindableEvent local function protectBindableEvents() local oldFire = BindableEvent.Fire BindableEvent.Fire = function(self, ...) -- Проверяем не пытаются ли нас кикнуть if self.Name:lower():find("kick") or self.Name:lower():find("ban") then return nil -- Блокируем кик end return oldFire(self, ...) end end -- Мониторинг и блокировка подозрительных сообщений local function monitorChat() Player.Chatted:Connect(function(message) -- Если админ пишет подозрительные команды if message:lower():find("kick") or message:lower():find("ban") or message:lower():find("anticheat") or message:lower():find("detect") then -- Ничего не делаем, просто игнорируем end end) end -- Автоматический реконнект если все-таки кикнули local function autoReconnect() Player.OnTeleport:Connect(function(state, place, instance) if state == Enum.TeleportState.Failed then wait(5) game:GetService("TeleportService"):Teleport(game.PlaceId) end end) end -- Фальшивые значения для античита local function spoofValues() -- Подделываем значения FPS для античита local fpsValues = { ["FPS"] = 60, ["Ping"] = 50, ["PacketLoss"] = 0 } local stats = Stats if stats then local oldIndex oldIndex = hookmetamethod(game, "__index", function(self, key) if self == stats and fpsValues[key] then return fpsValues[key] end return oldIndex(self, key) end) end end -- Защита от проверки инструментов local function protectTools() local backpack = Player:FindFirstChild("Backpack") if backpack then -- Скрываем подозрительные инструменты for _, tool in pairs(backpack:GetChildren()) do if tool:IsA("Tool") and tool.Name:find("Cheat") then tool.Name = "DefaultTool" end end end end -- Основная функция анти-бан local function setupAntiBan() -- Перехват Remote событий local mt = getrawmetatable(game) local old = mt.__namecall setreadonly(mt, false) mt.__namecall = newcclosure(function(self, ...) local method = getnamecallmethod() local args = {...} -- Блокируем подозрительные вызовы if method == "FireServer" and self.Name == "Kick" then return nil end if method == "FireServer" and self.Name == "Ban" then return nil end -- Маскировка наших действий if method == "FireServer" and (self.Name == "AntiCheat" or self.Name == "Detection") then -- Отправляем фальшивые данные return old(self, "Normal", 1, 1, 1) end return old(self, ...) end) setreadonly(mt, true) end -- Защита от проверки скорости local function protectSpeedCheck() local humanoid = Character:FindFirstChild("Humanoid") if humanoid then local oldWalkSpeed = humanoid.WalkSpeed -- Динамически меняем скорость при проверке spawn(function() while wait(0.1) do if settings.Fly or settings.Noclip then -- Если админ рядом, показываем нормальную скорость for _, player in pairs(game:GetService("Players"):GetPlayers()) do if player ~= Player and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then local dist = (player.Character.HumanoidRootPart.Position - Character.HumanoidRootPart.Position).Magnitude if dist < 30 then humanoid.WalkSpeed = 16 break else humanoid.WalkSpeed = oldWalkSpeed end end end end end end) end end -- Инициализация всех защит local function initProtections() -- Защита от киков через Remote protectFromRemoteKicks() -- Защита свойств персонажа protectCharacterProperties() -- Защита логов protectLogs() -- Симуляция активности simulateActivity() -- Защита BindableEvents protectBindableEvents() -- Мониторинг чата monitorChat() -- Авто-реконнект autoReconnect() -- Подделка значений spoofValues() -- Защита инструментов protectTools() -- Основная анти-бан система setupAntiBan() -- Защита от проверки скорости protectSpeedCheck() print("✅ Система анти-бан и анти-кик активирована!") end -- Запускаем защиты initProtections() -- === ОСНОВНОЙ ГЕЙМПЛЕЙ (БЕЗ ИЗМЕНЕНИЙ) === -- GUI local ScreenGui = Instance.new("ScreenGui") local MainFrame = Instance.new("Frame") local Title = Instance.new("TextLabel") local AutoTreeBtn = Instance.new("TextButton") local AutoFoodBtn = Instance.new("TextButton") local OneHitKillBtn = Instance.new("TextButton") local FlyBtn = Instance.new("TextButton") local NoclipBtn = Instance.new("TextButton") local GodModeBtn = Instance.new("TextButton") local TpToMetalBtn = Instance.new("TextButton") local TpToTreeBtn = Instance.new("TextButton") local TpToItemsBtn = Instance.new("TextButton") local AntiBanStatus = Instance.new("TextLabel") -- Новый индикатор -- Настройка GUI ScreenGui.Parent = Player:WaitForChild("PlayerGui") ScreenGui.ResetOnSpawn = false MainFrame.Parent = ScreenGui MainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) MainFrame.Size = UDim2.new(0, 250, 0, 450) -- Увеличил высоту MainFrame.Position = UDim2.new(0, 10, 0, 10) MainFrame.Active = true MainFrame.Draggable = true MainFrame.BorderSizePixel = 2 MainFrame.BorderColor3 = Color3.fromRGB(255, 170, 0) Title.Parent = MainFrame Title.BackgroundColor3 = Color3.fromRGB(50, 50, 50) Title.Size = UDim2.new(1, 0, 0, 30) Title.Text = "99 Days in Forest - Cheat" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.Font = Enum.Font.GothamBold Title.TextSize = 16 -- Индикатор анти-бан AntiBanStatus.Parent = MainFrame AntiBanStatus.BackgroundColor3 = Color3.fromRGB(0, 80, 0) AntiBanStatus.Size = UDim2.new(1, -20, 0, 20) AntiBanStatus.Position = UDim2.new(0, 10, 0, 420) AntiBanStatus.Text = "✅ Анти-бан активен" AntiBanStatus.TextColor3 = Color3.fromRGB(255, 255, 255) AntiBanStatus.Font = Enum.Font.Gotham AntiBanStatus.TextSize = 12 -- Функция создания кнопок local function createButton(name, pos, color) local btn = Instance.new("TextButton") btn.Parent = MainFrame btn.BackgroundColor3 = color or Color3.fromRGB(70, 70, 70) btn.Size = UDim2.new(1, -20, 0, 35) btn.Position = UDim2.new(0, 10, 0, pos) btn.Text = name btn.TextColor3 = Color3.fromRGB(255, 255, 255) btn.Font = Enum.Font.Gotham btn.TextSize = 14 btn.BorderSizePixel = 1 btn.BorderColor3 = Color3.fromRGB(100, 100, 100) return btn end -- Создание кнопок AutoTreeBtn = createButton("Авто дерево: Выкл", 40, Color3.fromRGB(80, 0, 0)) AutoFoodBtn = createButton("Авто еда: Выкл", 85, Color3.fromRGB(80, 0, 0)) OneHitKillBtn = createButton("Убить с 1 удара: Выкл", 130, Color3.fromRGB(80, 0, 0)) FlyBtn = createButton("Fly: Выкл", 175, Color3.fromRGB(80, 0, 0)) NoclipBtn = createButton("Noclip: Выкл", 220, Color3.fromRGB(80, 0, 0)) GodModeBtn = createButton("God Mode: Выкл", 265, Color3.fromRGB(80, 0, 0)) TpToMetalBtn = createButton("ТП к металлу", 310, Color3.fromRGB(0, 80, 0)) TpToTreeBtn = createButton("ТП к дереву", 355, Color3.fromRGB(0, 80, 0)) TpToItemsBtn = createButton("ТП к вещам", 400, Color3.fromRGB(0, 80, 0)) -- Функция обновления цвета кнопки local function updateButton(btn, state) if state then btn.BackgroundColor3 = Color3.fromRGB(0, 80, 0) btn.Text = btn.Text:gsub("Выкл", "Вкл") else btn.BackgroundColor3 = Color3.fromRGB(80, 0, 0) btn.Text = btn.Text:gsub("Вкл", "Выкл") end end -- Функции для авто сбора local function findClosestResource(typeName) local closest = nil local shortestDistance = math.huge local charPos = Character.HumanoidRootPart.Position for _, obj in pairs(Workspace:GetDescendants()) do if obj:IsA("Part") and obj.Name == typeName and obj.Parent and obj.Parent.Name ~= Player.Name then local distance = (obj.Position - charPos).Magnitude if distance < shortestDistance then shortestDistance = distance closest = obj end end end return closest end -- Авто дерево coroutine.wrap(function() while true do wait(0.5) if settings.AutoTree then local tree = findClosestResource("Wood") if tree then fireclickdetector(tree:FindFirstChild("ClickDetector")) end end end end)() -- Авто еда coroutine.wrap(function() while true do wait(0.5) if settings.AutoFood then local food = findClosestResource("Berry") or findClosestResource("Mushroom") or findClosestResource("Meat") if food then fireclickdetector(food:FindFirstChild("ClickDetector")) end end end end)() -- One Hit Kill Player.CharacterAdded:Connect(function(char) Character = char end) Workspace.ChildAdded:Connect(function(child) wait(0.1) if settings.OneHitKill and child:IsA("Model") and child:FindFirstChild("Humanoid") then local humanoid = child:FindFirstChild("Humanoid") local name = child.Name -- Проверка на исключения if not killExceptions[name] and humanoid and child ~= Character then humanoid.Health = 0 end end end) -- Fly функция local function toggleFly() settings.Fly = not settings.Fly updateButton(FlyBtn, settings.Fly) if settings.Fly then local rootPart = Character:WaitForChild("HumanoidRootPart") flyBodyVelocity = Instance.new("BodyVelocity") flyBodyVelocity.MaxForce = Vector3.new(10000, 10000, 10000) flyBodyVelocity.Velocity = Vector3.new(0, 0, 0) flyBodyVelocity.Parent = rootPart flyConnection = RunService.RenderStepped:Connect(function() if not settings.Fly or not Character or not Character:FindFirstChild("HumanoidRootPart") then if flyConnection then flyConnection:Disconnect() flyConnection = nil end return end local moveDirection = Vector3.new(0, 0, 0) local camera = Workspace.CurrentCamera if UIS:IsKeyDown(Enum.KeyCode.W) then moveDirection = moveDirection + camera.CFrame.LookVector * 50 end if UIS:IsKeyDown(Enum.KeyCode.S) then moveDirection = moveDirection - camera.CFrame.LookVector * 50 end if UIS:IsKeyDown(Enum.KeyCode.A) then moveDirection = moveDirection - camera.CFrame.RightVector * 50 end if UIS:IsKeyDown(Enum.KeyCode.D) then moveDirection = moveDirection + camera.CFrame.RightVector * 50 end if UIS:IsKeyDown(Enum.KeyCode.Space) then moveDirection = moveDirection + Vector3.new(0, 50, 0) end if UIS:IsKeyDown(Enum.KeyCode.LeftControl) then moveDirection = moveDirection - Vector3.new(0, 50, 0) end flyBodyVelocity.Velocity = moveDirection end) else if flyBodyVelocity then flyBodyVelocity:Destroy() flyBodyVelocity = nil end if flyConnection then flyConnection:Disconnect() flyConnection = nil end end end -- Noclip функция local function toggleNoclip() settings.Noclip = not settings.Noclip updateButton(NoclipBtn, settings.Noclip) if settings.Noclip then game:GetService("RunService").Stepped:Connect(function() if settings.Noclip and Character and Character:FindFirstChild("HumanoidRootPart") then for _, part in pairs(Character:GetChildren()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) else if Character then for _, part in pairs(Character:GetChildren()) do if part:IsA("BasePart") then part.CanCollide = true end end end end end -- God Mode функция local function toggleGodMode() settings.GodMode = not settings.GodMode updateButton(GodModeBtn, settings.GodMode) if settings.GodMode then local humanoid = Character:WaitForChild("Humanoid") humanoid.MaxHealth = math.huge humanoid.Health = math.huge humanoid.HealthChanged:Connect(function() if settings.GodMode and humanoid.Health < math.huge then humanoid.Health = math.huge end end) end end -- Функция телепортации к ресурсам local function teleportToResource(typeName) local target = findClosestResource(typeName) if target and Character and Character:FindFirstChild("HumanoidRootPart") then Character.HumanoidRootPart.CFrame = CFrame.new(target.Position + Vector3.new(0, 5, 0)) else print("Ресурс не найден: " .. typeName) end end -- Обработчики кнопок AutoTreeBtn.MouseButton1Click:Connect(function() settings.AutoTree = not settings.AutoTree updateButton(AutoTreeBtn, settings.AutoTree) end) AutoFoodBtn.MouseButton1Click:Connect(function() settings.AutoFood = not settings.AutoFood updateButton(AutoFoodBtn, settings.AutoFood) end) OneHitKillBtn.MouseButton1Click:Connect(function() settings.OneHitKill = not settings.OneHitKill updateButton(OneHitKillBtn, settings.OneHitKill) end) FlyBtn.MouseButton1Click:Connect(toggleFly) NoclipBtn.MouseButton1Click:Connect(toggleNoclip) GodModeBtn.MouseButton1Click:Connect(toggleGodMode) TpToMetalBtn.MouseButton1Click:Connect(function() teleportToResource("Metal") end) TpToTreeBtn.MouseButton1Click:Connect(function() teleportToResource("Wood") end) TpToItemsBtn.MouseButton1Click:Connect(function() local items = {"Berry", "Mushroom", "Meat", "Rock", "Flint", "Fiber"} local closest = nil local shortestDist = math.huge for _, itemName in pairs(items) do local item = findClosestResource(itemName) if item then local dist = (item.Position - Character.HumanoidRootPart.Position).Magnitude if dist < shortestDist then shortestDist = dist closest = item end end end if closest then Character.HumanoidRootPart.CFrame = CFrame.new(closest.Position + Vector3.new(0, 5, 0)) end end) -- Дополнительная защита при смерти/респавне Player.CharacterAdded:Connect(function(char) Character = char wait(1) protectCharacterProperties() protectSpeedCheck() protectTools() end) -- Уведомление о загрузке print("✅ Скрипт 99 Days in Forest с анти-бан загружен!") Player:Notify("Скрипт загружен", "Анти-бан и анти-кик активны!")