local library = loadstring(game:HttpGet("https://raw.githubusercontent.com/bobbbb-b/nyulabutlowbudget/main/Lib%20(1).txt"))() -- Gui to Lua -- Version: 3.2 -- Instances: local ScreenGui = Instance.new("ScreenGui") local Frame = Instance.new("Frame") local TextButton = Instance.new("TextButton") local UITextSizeConstraint = Instance.new("UITextSizeConstraint") --Properties: ScreenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui") ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenGui.ResetOnSpawn = false Frame.Parent = ScreenGui Frame.BackgroundColor3 = Color3.fromRGB(48, 113, 169) Frame.BackgroundTransparency = 0 Frame.Position = UDim2.new(1, -120, 0, 0) Frame.Size = UDim2.new(0, 100, 0, 50) TextButton.Parent = Frame TextButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TextButton.BackgroundTransparency = 1.000 TextButton.Size = UDim2.new(1, 0, 1, 0) TextButton.Font = Enum.Font.SourceSans TextButton.Text = "Astral" TextButton.TextColor3 = Color3.fromRGB(0, 0, 0) TextButton.TextScaled = true TextButton.TextSize = 30 TextButton.TextStrokeColor3 = Color3.fromRGB(255, 255, 255) TextButton.TextStrokeTransparency = 0.000 TextButton.TextWrapped = true TextButton.MouseButton1Down:Connect(function() library:ToggleMenu() end) UITextSizeConstraint.Parent = TextButton UITextSizeConstraint.MaxTextSize = 30 local player = game.Players.LocalPlayer local hitsounds = { {name = "bell.wav", url = "https://github.com/nyulachan/nyula/blob/main/Sounds/bell.wav?raw=true"}, {name = "bepis.wav", url = "https://github.com/nyulachan/nyula/blob/main/Sounds/bepis.wav?raw=true"}, {name = "bubble.wav", url = "https://github.com/nyulachan/nyula/blob/main/Sounds/bubble.wav?raw=true"}, {name = "cock.wav", url = "https://github.com/nyulachan/nyula/blob/main/Sounds/cock.wav?raw=true"}, {name = "cod.wav", url = "https://github.com/nyulachan/nyula/blob/main/Sounds/cod.wav?raw=true"}, {name = "fatality.wav", url = "https://github.com/nyulachan/nyula/blob/main/Sounds/fatality.wav?raw=true"}, {name = "phonk.wav", url = "https://github.com/nyulachan/nyula/blob/main/Sounds/phonk.wav?raw=true"}, {name = "sparkle.wav", url = "https://github.com/nyulachan/nyula/blob/main/Sounds/sparkle.wav?raw=true"} } if not isfolder("hitsounds") then makefolder("hitsounds") end for _, sound in pairs(hitsounds) do local path = "hitsounds" .. "/" .. sound.name if not isfile(path) then writefile(path, game:HttpGet(sound.url)) end end local woah = library:New("Astral.lua") local misc = woah:Tab("Combat") local gaey = woah:Tab("Mods") local visu = woah:Tab("Visualization") local braeuh = woah:Tab("Configs") local Haka = gaey:MSector("Mods", "Left") local Lalaka = Haka:Tab("Local") local Halaka = Haka:Tab("Anti") local Galala = Haka:Tab("CSync") local Bakala = Haka:Tab("Fun") -- Add Target Filter feature to the Mods tab local TargetFilterTab = Haka:Tab("Target Filter") TargetFilterTab:Element("Dropdown", "Target Type", {options = {"Both", "Players Only", "NPCs Only"}, default = "Both"}, function(tbll) getgenv().TargetFilter = tbll.Dropdown if tbll.Dropdown == "Both" then game.StarterGui:SetCore("SendNotification", { Title = "Astral.lua", Text = "Target Filter: Both Players and NPCs", Duration = 3 }) elseif tbll.Dropdown == "Players Only" then game.StarterGui:SetCore("SendNotification", { Title = "Astral.lua", Text = "Target Filter: Players Only", Duration = 3 }) else game.StarterGui:SetCore("SendNotification", { Title = "Astral.lua", Text = "Target Filter: NPCs Only", Duration = 3 }) end end) -- Add Wall Check feature to the Mods tab local WallCheckTab = Haka:Tab("Wall Check") WallCheckTab:Element("Toggle", "Enable Wall Check", {default = false}, function(tbll) getgenv().WallCheck = tbll.Toggle if tbll.Toggle then game.StarterGui:SetCore("SendNotification", { Title = "Astral.lua", Text = "Wall Check: Enabled - Only targets outside walls", Duration = 3 }) else game.StarterGui:SetCore("SendNotification", { Title = "Astral.lua", Text = "Wall Check: Disabled", Duration = 3 }) end end) -- Add Random Target on Death feature to the Mods tab local RandomTargetTab = Haka:Tab("Random Target") RandomTargetTab:Element("Button", "Enable Random Target on Death", {}, function() getgenv().RandomTargetOnDeath = true game.StarterGui:SetCore("SendNotification", { Title = "Astral.lua", Text = "Random Target on Death: Enabled", Duration = 3 }) end) RandomTargetTab:Element("Button", "Disable Random Target on Death", {}, function() getgenv().RandomTargetOnDeath = false game.StarterGui:SetCore("SendNotification", { Title = "Astral.lua", Text = "Random Target on Death: Disabled", Duration = 3 }) end) Lalaka:Element("Button", "CFrame Speed", {}, function() getgenv().Speed = false getgenv().SpeedAmount = 2 local ScreenGui = Instance.new("ScreenGui") ScreenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui") ScreenGui.ResetOnSpawn = false local ToggleButton = Instance.new("TextButton") ToggleButton.Text = "Toggle Speed" ToggleButton.Parent = ScreenGui ToggleButton.BackgroundTransparency = 0.5 ToggleButton.BorderSizePixel = 0 ToggleButton.Position = UDim2.new(1, -120, 0, 55) ToggleButton.Size = UDim2.new(0, 100, 0, 18) ToggleButton.BackgroundColor3 = Color3.fromRGB(48, 113, 169) ToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255) local UICorner = Instance.new("UICorner") UICorner.Parent = ToggleButton local function onButtonClicked() getgenv().Speed = not getgenv().Speed end ToggleButton.MouseButton1Click:Connect(onButtonClicked) game:GetService("RunService").Stepped:Connect(function() if getgenv().Speed then local lPlr = game:GetService("Players").LocalPlayer if lPlr.Character and lPlr.Character:FindFirstChild("HumanoidRootPart") then lPlr.Character.HumanoidRootPart.CFrame = lPlr.Character.HumanoidRootPart.CFrame + lPlr.Character.Humanoid.MoveDirection * getgenv().SpeedAmount end end end) end) Lalaka:Element("TextBox", "SpeedaAmount", {placeholder = "Prediction"}) Lalaka:Element("Button", "Save", {}, function() getgenv().SpeedAmount = values.Haka.Lalaka.SpeedaAmount.Text end) --// TARGET LOCK local Jaja = misc:MSector("Target Lock", "Left") local GAGEJ = Jaja:Tab("Main") -- Create the tool once and store it globally local AstralLockTool = Instance.new("Tool") AstralLockTool.RequiresHandle = false AstralLockTool.Name = "Astral Lock" -- Function to give the tool to the player local function giveToolToPlayer() local backpack = player:FindFirstChild("Backpack") if backpack then AstralLockTool.Parent = backpack else player.CharacterAdded:Connect(function(character) wait(1) AstralLockTool.Parent = player:WaitForChild("Backpack") end) end end -- Give tool when script starts giveToolToPlayer() -- Also give tool when player respawns player.CharacterAdded:Connect(function(character) wait(1) giveToolToPlayer() end) GAGEJ:Element("Button", "Load Target", {}, function() getgenv().Settings = { NyulaRemake = { Enabled = true, PREDICTION = 0.085, -- Lowered prediction JUMPPREDICTION = 0.09, -- Lowered jump prediction DOT = true, AIRSHOT = false, NOTIF = true, AUTOPRED = false, FOV = math.huge, RESOLVER = false, LOCKTYPE = "Index", DAMAGE_TEXT = true, RANDOM_TARGET_ON_DEATH = false, -- New setting Resolver = { Enabled = false, Type = "None", }, OnHit = { Enabled = false, Hitchams = { Enabled = false, Color = Color3.fromRGB(255,255,255), }, Hitsounds = { Enabled = false, Sound = "hitsounds/sparkle.wav", }, } } } -- Initialize target filter if not set if getgenv().TargetFilter == nil then getgenv().TargetFilter = "Both" end local SelectedPart = "HumanoidRootPart" local Prediction = true local AnchorCount = 0 local MaxAnchor = 50 local CC = game:GetService"Workspace".CurrentCamera local Plr; local enabled = false local targetName = nil local targetType = nil local respawnConnection = nil local healthConnection = nil -- Store health connection for respawn local lastNoTargetNotification = 0 -- Track when we last showed "no target" notification local notificationCooldown = 5 -- Cooldown in seconds between "no target" notifications -- Mobile-compatible input detection local inputService = game:GetService("UserInputService") local touchInput = nil local mousePos = Vector2.new(0, 0) -- Handle different input methods if inputService.MouseEnabled then -- Mouse input local mouse = game.Players.LocalPlayer:GetMouse() mousePos = Vector2.new(mouse.X, mouse.Y) game:GetService("RunService").RenderStepped:Connect(function() mousePos = Vector2.new(mouse.X, mouse.Y) end) elseif inputService.TouchEnabled then -- Touch input for mobile inputService.TouchStarted:Connect(function(touch, processed) if not processed then mousePos = Vector2.new(touch.Position.X, touch.Position.Y) end end) inputService.TouchMoved:Connect(function(touch, processed) if not processed then mousePos = Vector2.new(touch.Position.X, touch.Position.Y) end end) end local placemarker = Instance.new("Part", game.Workspace) -- Function to check if target is visible (not behind wall) local function isTargetVisible(target) if not getgenv().WallCheck then return true -- If wall check is disabled, always return true end if not target or not target.Character then return false end local targetRoot = target.Character:FindFirstChild("HumanoidRootPart") if not targetRoot then return false end local localPlayer = game.Players.LocalPlayer local localCharacter = localPlayer.Character if not localCharacter then return false end local localRoot = localCharacter:FindFirstChild("HumanoidRootPart") if not localRoot then return false end -- Raycast from camera to target local camera = game.Workspace.CurrentCamera local origin = camera.CFrame.Position local targetPosition = targetRoot.Position local direction = (targetPosition - origin).Unit local distance = (targetPosition - origin).Magnitude -- Create raycast parameters local raycastParams = RaycastParams.new() raycastParams.FilterType = Enum.RaycastFilterType.Blacklist raycastParams.FilterDescendantsInstances = {localCharacter, target.Character} -- Perform raycast local raycastResult = game.Workspace:Raycast(origin, direction * distance, raycastParams) -- If we hit something, target is behind a wall if raycastResult then return false end return true end -- Function to get a random player with wall check and target filter local function getRandomPlayer() local players = {} -- Add players based on target filter if getgenv().TargetFilter == "Both" or getgenv().TargetFilter == "Players Only" then for i, v in pairs(game.Players:GetPlayers()) do if v ~= game.Players.LocalPlayer and v.Character and v.Character:FindFirstChild("Humanoid") and v.Character.Humanoid.Health > 0 then -- Wall check if isTargetVisible(v) then table.insert(players, v) end end end end -- Add NPCs based on target filter if getgenv().TargetFilter == "Both" or getgenv().TargetFilter == "NPCs Only" then for i, v in pairs(workspace:GetChildren()) do if v:FindFirstChild("Humanoid") and v:FindFirstChild("HumanoidRootPart") and v.Humanoid.Health > 0 then local isPlayerCharacter = false for _, player in pairs(game.Players:GetPlayers()) do if player.Character == v then isPlayerCharacter = true break end end if not isPlayerCharacter then -- Wall check for NPCs if isTargetVisible({Character = v}) then table.insert(players, {Character = v}) end end end end end if #players > 0 then return players[math.random(1, #players)] else return nil end end -- Function to create damage text (smaller version with no background box) local function createDamageText(target, damage, position) if not getgenv().Settings.NyulaRemake.DAMAGE_TEXT then return end local damageGui = Instance.new("BillboardGui") damageGui.Adornee = target.Character.HumanoidRootPart damageGui.Size = UDim2.new(0, 60, 0, 20) -- Smaller size damageGui.StudsOffset = Vector3.new(0, 2, 0) -- Lower offset damageGui.AlwaysOnTop = true damageGui.MaxDistance = 80 -- Shorter view distance damageGui.Parent = target.Character.HumanoidRootPart local textLabel = Instance.new("TextLabel") textLabel.Size = UDim2.new(1, 0, 1, 0) textLabel.BackgroundTransparency = 1 -- Completely transparent background (no box) textLabel.Text = "-" .. math.floor(damage) textLabel.TextColor3 = Color3.fromRGB(255, 50, 50) textLabel.TextScaled = true textLabel.Font = Enum.Font.GothamBold textLabel.TextSize = 12 -- Smaller initial text size textLabel.TextStrokeTransparency = 0 textLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) textLabel.Parent = damageGui -- Animate the damage text local startTime = tick() local duration = 0.8 -- Slightly shorter duration local connection connection = game:GetService("RunService").Heartbeat:Connect(function() local elapsed = tick() - startTime if elapsed > duration then connection:Disconnect() damageGui:Destroy() return end -- Move upward and fade out local progress = elapsed / duration damageGui.StudsOffset = Vector3.new(0, 2 + (progress * 3), 0) -- Less movement textLabel.TextTransparency = progress textLabel.TextStrokeTransparency = progress -- Make text even smaller as it fades textLabel.TextSize = 10 - (progress * 8) -- Smaller scaling end) end -- Function to setup health monitoring for damage text with respawn support local function setupHealthMonitoring(target) if healthConnection then healthConnection:Disconnect() healthConnection = nil end -- Function to actually set up the health monitoring for a character local function setupForCharacter(character) local hum = character:FindFirstChild("Humanoid") if hum then local oldHealth = hum.Health healthConnection = hum.HealthChanged:Connect(function(newHealth) if newHealth < oldHealth then local damage = oldHealth - newHealth -- Show damage text createDamageText(target, damage, character.HumanoidRootPart.Position) if getgenv().Settings.NyulaRemake.OnHit.Hitsounds.Enabled then local las = Instance.new("Sound") las.Name = "a" las.Volume = 1 las.SoundId = getcustomasset(getgenv().Settings.NyulaRemake.OnHit.Hitsounds.Sound) las.Parent = game:GetService("SoundService") las.Playing = true end if getgenv().Settings.NyulaRemake.OnHit.Hitchams.Enabled then -- hitchams(target) -- This function needs to be defined end oldHealth = newHealth elseif newHealth > oldHealth then -- Health increased (healing), update old health oldHealth = newHealth end end) end end -- Set up for current character if it exists if target.Character then setupForCharacter(target.Character) end -- Also set up for when the character respawns if target.CharacterAdded then target.CharacterAdded:Connect(function(character) wait(1) -- Wait a moment for the character to fully load if enabled and target == Plr then -- Only setup if still targeting this player setupForCharacter(character) end end) end end function makemarker(Parent, Adornee, Color, Size, Size2) local e = Instance.new("BillboardGui", Parent) e.Name = "PP" e.Adornee = Adornee e.Size = UDim2.new(Size, Size2, Size, Size2) e.AlwaysOnTop = getgenv().Settings.NyulaRemake.DOT local a = Instance.new("Frame", e) if getgenv().Settings.NyulaRemake.DOT == true then a.Size = UDim2.new(1, 1, 1, 1) else a.Size = UDim2.new(0, 0, 0, 0) end if getgenv().Settings.NyulaRemake.DOT == true then a.Transparency = 0 a.BackgroundTransparency = 0 else a.Transparency = 1 a.BackgroundTransparency = 1 end a.BackgroundColor3 = Color local g = Instance.new("UICorner", a) if getgenv().Settings.NyulaRemake.DOT == false then g.CornerRadius = UDim.new(1, 1) else g.CornerRadius = UDim.new(1, 1) end return(e) end local function findTargetByName(name, targetType) if targetType == "player" then for i, v in pairs(game.Players:GetPlayers()) do if v.Name == name and v.Character and v.Character:FindFirstChild("Humanoid") and v.Character.Humanoid.Health > 0 then return v end end elseif targetType == "npc" then for i, v in pairs(workspace:GetChildren()) do if v.Name == name and v:FindFirstChild("Humanoid") and v:FindFirstChild("HumanoidRootPart") and v.Humanoid.Health > 0 then return {Character = v} end end end return nil end local function monitorRespawn() if respawnConnection then respawnConnection:Disconnect() respawnConnection = nil end local lastNoTargetTime = 0 -- Track when we last showed "no target" notification respawnConnection = game:GetService("RunService").Heartbeat:Connect(function() if enabled and targetName and (not Plr or not Plr.Character or not Plr.Character:FindFirstChild("Humanoid") or Plr.Character.Humanoid.Health <= 0) then -- Check if random target on death is enabled if getgenv().RandomTargetOnDeath then local randomTarget = getRandomPlayer() if randomTarget then Plr = randomTarget if Plr.Character then targetName = Plr.Character.Name if game.Players:GetPlayerFromCharacter(Plr.Character) then targetType = "player" else targetType = "npc" end -- Re-setup health monitoring for the new random target setupHealthMonitoring(Plr) if getgenv().Settings.NyulaRemake.NOTIF then game.StarterGui:SetCore("SendNotification", { Title = "Astral.lua", Text = "Random target selected: "..targetName, Duration = 3 }) end end else -- Only show notification if enough time has passed since last one local currentTime = tick() if currentTime - lastNoTargetTime > notificationCooldown then if getgenv().Settings.NyulaRemake.NOTIF then game.StarterGui:SetCore("SendNotification", { Title = "Astral.lua", Text = "No valid targets found for random selection", Duration = 3 }) end lastNoTargetTime = currentTime end end else -- Original behavior: wait for same target to respawn local newTarget = findTargetByName(targetName, targetType) if newTarget then Plr = newTarget -- Re-setup health monitoring for the respawned target setupHealthMonitoring(Plr) if getgenv().Settings.NyulaRemake.NOTIF then game.StarterGui:SetCore("SendNotification", { Title = "Astral.lua", Text = "Target respawned: "..targetName, Duration = 3 }) end end end end end) end local data = game.Players:GetPlayers() function noob(player) local character repeat wait() until player.Character local handler = makemarker(guimain, player.Character:WaitForChild(SelectedPart), Color3.fromRGB(107, 184, 255), 0.3, 3) handler.Name = player.Name player.CharacterAdded:connect(function(Char) handler.Adornee = Char:WaitForChild(SelectedPart) end) spawn(function() while wait() do if player.Character then end end end) end for i = 1, #data do if data[i] ~= game.Players.LocalPlayer then noob(data[i]) end end game.Players.PlayerAdded:connect(function(Player) noob(Player) end) spawn(function() placemarker.Anchored = true placemarker.CanCollide = false if getgenv().Settings.NyulaRemake.DOT == true then placemarker.Size = Vector3.new(0, 0, 0) else placemarker.Size = Vector3.new(0, 0, 0) end placemarker.Transparency = 0.75 if getgenv().Settings.NyulaRemake.DOT then makemarker(placemarker, placemarker, Color3.fromRGB(48, 113, 169), 1, 0) end end) -- Connect the tool activation to the global tool AstralLockTool.Activated:Connect(function() if getgenv().Settings.NyulaRemake.Enabled then if enabled == true then enabled = false targetName = nil targetType = nil if respawnConnection then respawnConnection:Disconnect() respawnConnection = nil end if healthConnection then healthConnection:Disconnect() healthConnection = nil end if getgenv().Settings.NyulaRemake.NOTIF == true then game.StarterGui:SetCore("SendNotification", { Title = "Astral.lua"; Text = "Unlocked", Duration = 5 }) end else Plr = getClosestPlayerToCursor() if Plr then enabled = true if Plr.Character then targetName = Plr.Character.Name if game.Players:GetPlayerFromCharacter(Plr.Character) then targetType = "player" -- Setup health monitoring for damage text with respawn support setupHealthMonitoring(Plr) else targetType = "npc" -- For NPCs, just setup initial health monitoring setupHealthMonitoring(Plr) end monitorRespawn() end if getgenv().Settings.NyulaRemake.NOTIF == true then game.StarterGui:SetCore("SendNotification", { Title = "Astral.lua"; Text = "Target: "..tostring(Plr.Character.Humanoid.DisplayName or Plr.Character.Name), Duration = 5 }) end else -- Only show "no target found" notification if enough time has passed local currentTime = tick() if currentTime - lastNoTargetNotification > notificationCooldown then if getgenv().Settings.NyulaRemake.NOTIF == true then game.StarterGui:SetCore("SendNotification", { Title = "Astral.lua"; Text = "No target found", Duration = 3 }) end lastNoTargetNotification = currentTime end end end end end) function getClosestPlayerToCursor() local closestTarget local shortestDistance = getgenv().Settings.NyulaRemake.FOV -- Check players based on target filter if getgenv().TargetFilter == "Both" or getgenv().TargetFilter == "Players Only" then for i, v in pairs(game.Players:GetPlayers()) do if v ~= game.Players.LocalPlayer and v.Character and v.Character:FindFirstChild("Humanoid") and v.Character.Humanoid.Health ~= 0 and v.Character:FindFirstChild("HumanoidRootPart") then -- Wall check if not isTargetVisible(v) then -- Skip if target is behind a wall else local pos = CC:WorldToViewportPoint(v.Character.PrimaryPart.Position) if pos.Z > 0 then local magnitude = (Vector2.new(pos.X, pos.Y) - mousePos).magnitude if magnitude < shortestDistance then closestTarget = v shortestDistance = magnitude end end end end end end -- Check NPCs based on target filter if getgenv().TargetFilter == "Both" or getgenv().TargetFilter == "NPCs Only" then for i, v in pairs(workspace:GetChildren()) do if v:FindFirstChild("Humanoid") and v:FindFirstChild("HumanoidRootPart") and v.Humanoid.Health > 0 then local isPlayerCharacter = false for _, player in pairs(game.Players:GetPlayers()) do if player.Character == v then isPlayerCharacter = true break end end if not isPlayerCharacter then -- Wall check for NPCs if not isTargetVisible({Character = v}) then -- Skip if NPC is behind a wall else local pos = CC:WorldToViewportPoint(v.HumanoidRootPart.Position) if pos.Z > 0 then local magnitude = (Vector2.new(pos.X, pos.Y) - mousePos).magnitude if magnitude < shortestDistance then closestTarget = {Character = v} shortestDistance = magnitude end end end end end end end return closestTarget end local function calculatePredictedPosition(target, prediction, jumpPrediction) if not target or not target.Character or not target.Character:FindFirstChild("HumanoidRootPart") then return nil end local rootPart = target.Character.HumanoidRootPart local velocity = rootPart.AssemblyLinearVelocity local distance = (rootPart.Position - CC.CFrame.Position).Magnitude local adjustedPrediction = prediction * (1 + distance / 800) -- Even less distance scaling local predictedPosition = rootPart.Position + (velocity * adjustedPrediction) if math.abs(velocity.Y) > 5 then predictedPosition = predictedPosition + Vector3.new(0, velocity.Y * jumpPrediction * 0.2, 0) -- Lower jump prediction end return predictedPosition end local pingvalue = nil; local split = nil; local ping = nil; local LocalHL = Instance.new("Highlight") game:GetService"RunService".Stepped:connect(function() if enabled and Plr and Plr.Character ~= nil and Plr.Character:FindFirstChild("HumanoidRootPart") then local predictedPosition = calculatePredictedPosition(Plr, getgenv().Settings.NyulaRemake.PREDICTION, getgenv().Settings.NyulaRemake.JUMPPREDICTION) if predictedPosition then placemarker.CFrame = CFrame.new(predictedPosition) else placemarker.CFrame = CFrame.new(Plr.Character.HumanoidRootPart.Position) end LocalHL.Parent = Plr.Character LocalHL.FillTransparency = 0.2 LocalHL.FillColor = Color3.fromRGB(48, 113, 169) LocalHL.OutlineColor = Color3.fromRGB(0,0,0) else placemarker.CFrame = CFrame.new(0, 9999, 0) LocalHL.Parent = nil end if getgenv().Settings.NyulaRemake.AUTOPRED == true then pingvalue = game:GetService("Stats").Network.ServerStatsItem["Data Ping"]:GetValueString() split = string.split(pingvalue,'(') ping = tonumber(split[1]) or 100 -- Much lower prediction values based on ping if ping < 30 then getgenv().Settings.NyulaRemake.PREDICTION = 0.06 getgenv().Settings.NyulaRemake.JUMPPREDICTION = 0.07 elseif ping < 50 then getgenv().Settings.NyulaRemake.PREDICTION = 0.065 getgenv().Settings.NyulaRemake.JUMPPREDICTION = 0.075 elseif ping < 70 then getgenv().Settings.NyulaRemake.PREDICTION = 0.07 getgenv().Settings.NyulaRemake.JUMPPREDICTION = 0.08 elseif ping < 90 then getgenv().Settings.NyulaRemake.PREDICTION = 0.075 getgenv().Settings.NyulaRemake.JUMPPREDICTION = 0.085 elseif ping < 110 then getgenv().Settings.NyulaRemake.PREDICTION = 0.08 getgenv().Settings.NyulaRemake.JUMPPREDICTION = 0.09 elseif ping < 130 then getgenv().Settings.NyulaRemake.PREDICTION = 0.085 getgenv().Settings.NyulaRemake.JUMPPREDICTION = 0.095 elseif ping < 150 then getgenv().Settings.NyulaRemake.PREDICTION = 0.09 getgenv().Settings.NyulaRemake.JUMPPREDICTION = 0.10 elseif ping < 170 then getgenv().Settings.NyulaRemake.PREDICTION = 0.095 getgenv().Settings.NyulaRemake.JUMPPREDICTION = 0.105 else getgenv().Settings.NyulaRemake.PREDICTION = 0.10 getgenv().Settings.NyulaRemake.JUMPPREDICTION = 0.11 end end if getgenv().Settings.NyulaRemake.Resolver.Enabled then if getgenv().Settings.NyulaRemake.Resolver.Type == "Delta Time" then print("wsg") end if getgenv().Settings.NyulaRemake.Resolver.Type == "Recalculator" then print("wsg") end if getgenv().Settings.NyulaRemake.Resolver.Type == "No Y Velocity" then print("wsg") end end end) local mt = getrawmetatable(game) local old = mt.__namecall setreadonly(mt, false) mt.__namecall = newcclosure(function(...) local args = {...} local vap = {"UpdateMousePos", "GetMousePos", "MousePos", "MOUSE", "MousePosUpdate"} if enabled and getnamecallmethod() == "FireServer" and table.find(vap, args[2]) and getgenv().Settings.NyulaRemake.Enabled and Plr.Character ~= nil and getgenv().Settings.NyulaRemake.LOCKTYPE == "Namecall" then if Prediction == true then local predictedPosition = calculatePredictedPosition(Plr, getgenv().Settings.NyulaRemake.PREDICTION, getgenv().Settings.NyulaRemake.JUMPPREDICTION) if predictedPosition then args[3] = predictedPosition else args[3] = Plr.Character.HumanoidRootPart.Position end else args[3] = Plr.Character[SelectedPart].Position end return old(unpack(args)) end return old(...) end) game:GetService("RunService").RenderStepped:Connect(function() if getgenv().Settings.NyulaRemake.RESOLVER == true and Plr.Character ~= nil and enabled and getgenv().Settings.NyulaRemake.Enabled then if getgenv().Settings.NyulaRemake.AIRSHOT == true and enabled and Plr.Character ~= nil then if Plr.Character.Humanoid:GetState() == Enum.HumanoidStateType.Freefall then if Plr.Character ~= nil and Plr.Character.HumanoidRootPart.Anchored == true then AnchorCount = AnchorCount + 1 if AnchorCount >= MaxAnchor then Prediction = false wait(2) AnchorCount = 0; end else Prediction = true AnchorCount = 0; end SelectedPart = "LeftFoot" else if Plr.Character ~= nil and Plr.Character.HumanoidRootPart.Anchored == true then AnchorCount = AnchorCount + 1 if AnchorCount >= MaxAnchor then Prediction = false wait(2) AnchorCount = 0; end else Prediction = true AnchorCount = 0; end SelectedPart = "HumanoidRootPart" end else if Plr.Character ~= nil and Plr.Character.HumanoidRootPart.Anchored == true then AnchorCount = AnchorCount + 1 if AnchorCount >= MaxAnchor then Prediction = false wait(2) AnchorCount = 0; end else Prediction = true AnchorCount = 0; end SelectedPart = "HumanoidRootPart" end else SelectedPart = "HumanoidRootPart" end end) local Hooks = {} local Client = game.Players.LocalPlayer Hooks[1] = hookmetamethod(Client:GetMouse(), "__index", newcclosure(function(self, index) if index == "Hit" and getgenv().Settings.NyulaRemake.LOCKTYPE == "Index" and enabled and Plr.Character ~= nil and getgenv().Settings.NyulaRemake.Enabled then local predictedPosition = calculatePredictedPosition(Plr, getgenv().Settings.NyulaRemake.PREDICTION, getgenv().Settings.NyulaRemake.JUMPPREDICTION) if predictedPosition then local position = CFrame.new(predictedPosition) return position else local position = CFrame.new(Plr.Character.HumanoidRootPart.Position) return position end end return Hooks[1](self, index) end)) end) GAGEJ:Element("Dropdown", "Aim Type", {options = {"Index", "Namecall"}}, function(tbjl) getgenv().Settings.NyulaRemake.LOCKTYPE = tbjl.Dropdown end) GAGEJ:Element("TextBox", "Prediction", {placeholder = "Prediction"}) GAGEJ:Element("Button", "Save", {}, function() getgenv().Settings.NyulaRemake.PREDICTION = values.Jaja.GAGEJ.Prediction.Text end) GAGEJ:Element("TextBox", "JumpPrediction", {placeholder = "Jump Prediction"}) GAGEJ:Element("Button", "Save", {}, function() getgenv().Settings.NyulaRemake.JUMPPREDICTION = values.Jaja.GAGEJ.JumpPrediction.Text end) GAGEJ:Element("Toggle", "Auto Prediction", nil, function(tbll) getgenv().Settings.NyulaRemake.AUTOPRED = tbll.Toggle end) -- Add damage text toggle GAGEJ:Element("Toggle", "Damage Text", {default = true}, function(tbll) getgenv().Settings.NyulaRemake.DAMAGE_TEXT = tbll.Toggle end) --// ONHIT local configs = Jaja:Tab("On Hit") configs:Element("Toggle", "Hitcham", nil, function(tbll) getgenv().Settings.NyulaRemake.OnHit.Hitchams.Enabled = tbll.Toggle end) configs:Element("Toggle", "Hitsound", nil, function(tbll) getgenv().Settings.NyulaRemake.OnHit.Hitsounds.Enabled = tbll.Toggle end) --// MODS local mamamoblue = Jaja:Tab("Mods") --// RESOLVERS local mamamored = Jaja:Tab("Resolvers") mamamored:Element("Toggle", "Enabled", nil, function(bruh) print(bruh.Toggle) end) mamamored:Element("Dropdown", "Type", {options = {"None", "Delta Time", "Recalculator", "No Y Velocity"}}, function(tbjol) print(tbjol.Dropdown) end) game.StarterGui:SetCore("SendNotification", { Title = "@baconscript_", Text = "https://www.youtube.com/@baconscript_", Duration = 5 })