Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local TweenService = game:GetService("TweenService")
- local Lighting = game:GetService("Lighting")
- local REQUIRED_KEY = "ALLUSIVEONTOP"
- local verified = false
- print("Script started. Initializing UI components...")
- -- Blur Effect
- local blur = Instance.new("BlurEffect")
- blur.Size = 0
- blur.Parent = Lighting
- print("Blur effect created.")
- TweenService:Create(blur, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), { Size = 12 }):Play()
- -- UI Elements
- local ScreenGui = Instance.new("ScreenGui", game.CoreGui)
- ScreenGui.Name = "AllusiveKeyGui"
- print("ScreenGui created.")
- local Frame = Instance.new("Frame")
- Frame.Size = UDim2.new(0, 320, 0, 200)
- Frame.Position = UDim2.new(0.5, -160, 0.5, -100)
- Frame.BackgroundColor3 = Color3.fromRGB(15, 18, 35)
- Frame.BorderSizePixel = 0
- Frame.BackgroundTransparency = 1 -- Start fully transparent for fade
- Frame.Active = true
- Frame.Draggable = true
- Frame.Parent = ScreenGui
- print("Login Frame created.")
- local UICorner = Instance.new("UICorner", Frame)
- UICorner.CornerRadius = UDim.new(0, 12)
- -- Shadow
- local Shadow = Instance.new("ImageLabel", Frame)
- Shadow.AnchorPoint = Vector2.new(0.5, 0.5)
- Shadow.Position = UDim2.new(0.5, 0, 0.5, 0)
- Shadow.Size = UDim2.new(1.2, 0, 1.2, 0)
- Shadow.BackgroundTransparency = 1
- Shadow.Image = "rbxassetid://6015897843"
- Shadow.ImageTransparency = 1
- Shadow.ZIndex = -1
- print("Shadow created.")
- -- Title
- local TextLabel = Instance.new("TextLabel", Frame)
- TextLabel.Size = UDim2.new(1, 0, 0, 40)
- TextLabel.BackgroundTransparency = 1
- TextLabel.Text = "🔐 Welcome to Allusive Rewrite 🔐"
- TextLabel.TextColor3 = Color3.fromRGB(190, 210, 255)
- TextLabel.Font = Enum.Font.GothamBold
- TextLabel.TextSize = 16.5
- print("Title Label created.")
- -- Key Input
- local TextBox = Instance.new("TextBox", Frame)
- TextBox.Size = UDim2.new(0.9, 0, 0, 35)
- TextBox.Position = UDim2.new(0.05, 0, 0.4, -10)
- TextBox.PlaceholderText = "Enter Your Exclusive Access Key"
- TextBox.Text = ""
- TextBox.Font = Enum.Font.Gotham
- TextBox.TextSize = 15
- TextBox.BackgroundColor3 = Color3.fromRGB(25, 30, 50)
- TextBox.TextColor3 = Color3.fromRGB(235, 240, 255)
- print("Key TextBox created.")
- local corner1 = Instance.new("UICorner", TextBox)
- corner1.CornerRadius = UDim.new(0, 8)
- -- Submit Button
- local SubmitButton = Instance.new("TextButton", Frame)
- SubmitButton.Size = UDim2.new(0.4, 0, 0, 30)
- SubmitButton.Position = UDim2.new(0.05, 0, 0.8, 0)
- SubmitButton.Text = "Submit"
- SubmitButton.Font = Enum.Font.GothamBold
- SubmitButton.TextSize = 16
- SubmitButton.BackgroundColor3 = Color3.fromRGB(40, 60, 100)
- SubmitButton.TextColor3 = Color3.new(1, 1, 1)
- print("Submit Button created.")
- local corner2 = Instance.new("UICorner", SubmitButton)
- corner2.CornerRadius = UDim.new(0, 8)
- -- Copy Key Button
- local CopyButton = Instance.new("TextButton", Frame)
- CopyButton.Size = UDim2.new(0.4, 0, 0, 30)
- CopyButton.Position = UDim2.new(0.55, 0, 0.8, 0)
- CopyButton.Text = "Copy Key"
- CopyButton.Font = Enum.Font.GothamBold
- CopyButton.TextSize = 16
- CopyButton.BackgroundColor3 = Color3.fromRGB(50, 75, 130)
- CopyButton.TextColor3 = Color3.new(1, 1, 1)
- print("Copy Key Button created.")
- local corner3 = Instance.new("UICorner", CopyButton)
- corner3.CornerRadius = UDim.new(0, 8)
- -- Fade-in Animation
- TweenService:Create(Frame, TweenInfo.new(0.5), { BackgroundTransparency = 0 }):Play()
- TweenService:Create(Shadow, TweenInfo.new(0.5), { ImageTransparency = 0.75 }):Play()
- print("UI fade-in animations triggered.")
- -- Function: Verify Key
- SubmitButton.MouseButton1Click:Connect(function()
- print("Submit button clicked. Attempting key verification...")
- print("Entered key: '" .. TextBox.Text .. "' | Required key: '" .. REQUIRED_KEY .. "'")
- if TextBox.Text == REQUIRED_KEY then
- verified = true
- print("Key verified successfully! Fading out UI.")
- -- Fade out
- local fadeOut = TweenService:Create(Frame, TweenInfo.new(0.5), { BackgroundTransparency = 1 })
- local shadowOut = TweenService:Create(Shadow, TweenInfo.new(0.5), { ImageTransparency = 1 })
- fadeOut:Play()
- shadowOut:Play()
- TweenService:Create(blur, TweenInfo.new(0.5), { Size = 0 }):Play()
- task.wait(0.5) -- Use task.wait for consistency
- blur:Destroy()
- ScreenGui:Destroy()
- print("Login UI destroyed.")
- else
- TextLabel.Text = "❌ Invalid key. Try again."
- TextLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
- print("Invalid key entered. Displaying error message.")
- end
- end)
- -- Copy Key Button
- CopyButton.MouseButton1Click:Connect(function()
- setclipboard(REQUIRED_KEY)
- TextLabel.Text = "✅ Key copied to clipboard!"
- TextLabel.TextColor3 = Color3.fromRGB(100, 255, 180)
- print("Key copied to clipboard.")
- end)
- -- Wait until verified
- print("Waiting for key verification loop to complete...")
- repeat task.wait() until verified
- print("Key verification successful. Proceeding with main script logic.")
- local spoofedBytes = {}
- local isBypassRunning = false
- local function SoftBypassBytes()
- local player = game.Players.LocalPlayer
- local safeSpaces = {
- player,
- player:FindFirstChild("PlayerScripts"),
- player:FindFirstChild("Backpack"),
- }
- local spoofed = 0
- for _, space in ipairs(safeSpaces) do
- if space then
- for _, v in ipairs(space:GetDescendants()) do
- if v:IsA("ValueBase") and v.Name:lower():find("byte") then
- pcall(function()
- -- Rename & spoof value without destroying
- v.Name = "Spoofed_" .. v.Name
- if v:IsA("BoolValue") then
- v.Value = false
- elseif v:IsA("StringValue") then
- v.Value = ""
- elseif v:IsA("NumberValue") then
- v.Value = 0
- end
- table.insert(spoofedBytes, v)
- spoofed += 1
- end)
- if spoofed >= 50 then
- warn("[Bypass Byte] Reached spoof cap (100).")
- return
- end
- end
- end
- end
- end
- print("[Bypass Byte] Soft spoofed " .. spoofed .. " byte-related values.")
- end
- -- Load DrRay UI
- print("Attempting to load DrRay UI library...")
- local DrRayLibrarySuccess, DrRayLibrary = pcall(function()
- return loadstring(game:HttpGet("https://raw.githubusercontent.com/AZYsGithub/DrRay-UI-Library/main/DrRay.lua"))()
- end)
- if not DrRayLibrarySuccess then
- warn("Failed to load DrRay UI Library: " .. tostring(DrRayLibrary))
- error("Script stopped: DrRay UI Library failed to load.") -- Stop execution if library fails
- end
- if not DrRayLibrary then -- Double check if it returned nil even if pcall was successful (e.g. if the remote script is empty)
- error("Script stopped: DrRay UI Library loaded but returned nil.")
- end
- print("DrRay UI library loaded successfully. Initializing main UI...")
- local window = DrRayLibrary:Load("Allusive Rewrite", "Default")
- local icon = "rbxassetid://9947313248"
- -- Player Tab
- local playerTab = DrRayLibrary.newTab("Player", icon)
- local WalkspeedToggle, AutoJump = false, false
- playerTab.newToggle("Walkspeed", "Sets your WalkSpeed to 56 constantly", false, function(state)
- WalkspeedToggle = state
- task.spawn(function()
- while WalkspeedToggle do
- pcall(function()
- local character = game.Players.LocalPlayer.Character
- if character and character:FindFirstChildOfClass("Humanoid") then
- character:FindFirstChildOfClass("Humanoid").WalkSpeed = 56
- end
- end)
- task.wait(0.01) -- Update every 0.01s to ensure it's stable
- end
- end)
- end)
- playerTab.newToggle("Auto Jump", "Automatically jumps repeatedly when enabled", false, function(state)
- AutoJump = state
- task.spawn(function()
- while AutoJump do
- local humanoid = game:GetService("Players").LocalPlayer.Character:FindFirstChild("Humanoid")
- if humanoid then
- humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
- end
- task.wait(0.64) -- Adjust delay as needed
- end
- end)
- end)
- print("Player UI tab created.")
- -- Legit Tab (Renamed from Blatant)
- local combatTab = DrRayLibrary.newTab("Legit", icon)
- local AllusiveAutoParry, AllusiveClashParry, AutoAbility, AutoCurve = false, false, false, false
- combatTab.newToggle("Allusive Auto Parry", "A Auto Parry Specially Made For Allusive", false, function(state) AllusiveAutoParry = state end)
- combatTab.newToggle("Allusive Clash Parry", "Auto clicker activates when opponent is close", false, function(state) AllusiveClashParry = state end)
- combatTab.newToggle("Auto Ability", "Q usage after successful parry", false, function(state) AutoAbility = state end)
- print("Legit UI tab created.")
- -- Anti Tab (Renamed from Blatant)
- local antiTab = DrRayLibrary.newTab("Blatant", icon)
- local AntiCurve, AntiBallMovement, AntiAerodynamicSlash = false, false, false
- antiTab.newToggle("Anti Curve", "Reduces threshold during curving movement", false, function(v) AntiCurve = v end)
- antiTab.newToggle("Anti Ball Movement", "Disables parry when ball is stationary", false, function(v) AntiBallMovement = v end)
- antiTab.newToggle("Bypass Byte", "Removes clash cooldown by deleting Byte", false, function(v)
- BypassByte = v
- if v then
- ByteLoop = game:GetService("RunService").RenderStepped:Connect(function()
- local char = game.Players.LocalPlayer.Character
- if char then
- for _, inst in pairs(char:GetDescendants()) do
- if inst:IsA("ValueBase") and inst.Name:lower():find("byte") then
- inst:Destroy()
- end
- end
- end
- end)
- else
- if ByteLoop then
- ByteLoop:Disconnect()
- ByteLoop = nil
- end
- end
- end)
- antiTab.newToggle("Clear Byte & Grim", "Deletes all Byte and Grim value instances repeatedly without freezing", false, function(state)
- ClearByteGrim = state
- if state then
- -- Run one deferred background loop
- task.spawn(function()
- while ClearByteGrim do
- local success, err = pcall(function()
- -- Instead of scanning all game descendants instantly, chunk the check
- for _, v in ipairs(game:GetDescendants()) do
- if not ClearByteGrim then break end -- Stop early if toggle is turned off
- if v:IsA("ValueBase") then
- local n = v.Name:lower()
- if n:find("byte") or n:find("grim") then
- pcall(function()
- v:Destroy()
- end)
- end
- end
- task.wait() -- Yield to avoid freezing, prevents screen stutters
- end
- end)
- if not success then
- warn("ClearByteGrim error:", err)
- end
- task.wait(2) -- Wait before next full cleanup cycle
- end
- end)
- end
- end)
- antiTab.newToggle("Auto Detect Aero", "Delays parry if ball swirls up and drops (aerodynamic slash)", false, function(state)
- AutoDetectAeroEnabled = state
- if not state then
- AllowAeroParryAt = 0
- end
- end)
- print("Blatant UI tab created.")
- -- World Tab
- local worldTab = DrRayLibrary.newTab("World", icon)
- -- ESP variables and functions
- local AbilityESPEnabled = false
- local PlayerESPEnabled = false
- local DistanceESPEnabled = false
- local activeEsps = {} -- Centralized table for all ESP BillboardGuis
- -- Consolidated ESP creation function for Ability and Distance
- local function createCombinedESP(player, textContent, offsetY, textColor, fontSize, zIndex, espType)
- local localPlayer = game.Players.LocalPlayer
- if not player or not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") or player == localPlayer then
- return nil
- end
- local character = player.Character
- local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
- local espKey = player.UserId .. "_" .. espType -- Use espType to differentiate for the same player
- -- Check if an ESP is already created for this specific type
- if activeEsps[espKey] then
- local existingGui = activeEsps[espKey]
- local existingTextLabel = existingGui:FindFirstChild("ESPTextLabel")
- if existingTextLabel and existingTextLabel.Text == textContent and existingGui.StudsOffset.Y == offsetY then
- return existingGui -- No change needed, return existing GUI
- else
- existingGui:Destroy() -- Destroy old one if text or offset changed
- activeEsps[espKey] = nil
- end
- end
- local billboardGui = Instance.new("BillboardGui")
- billboardGui.Name = "PlayerESP_" .. player.Name .. "_" .. espType
- billboardGui.Size = UDim2.new(0, 100, 0, 20) -- Consistent smaller size
- billboardGui.StudsOffset = Vector3.new(0, offsetY, 0) -- Position above player's head
- billboardGui.AlwaysOnTop = true
- billboardGui.ExtentsOffset = Vector3.new(0, 0, 0)
- billboardGui.Parent = humanoidRootPart -- Attach to HumanoidRootPart
- local textLabel = Instance.new("TextLabel")
- textLabel.Name = "ESPTextLabel"
- textLabel.Size = UDim2.new(1, 0, 1, 0)
- textLabel.BackgroundTransparency = 1
- textLabel.TextScaled = true
- textLabel.Font = Enum.Font.SourceSansBold
- textLabel.TextColor3 = textColor
- textLabel.TextStrokeTransparency = 0.8 -- Slightly less opaque stroke
- textLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
- textLabel.Text = textContent
- textLabel.ZIndex = zIndex or 2 -- Ensure it's above other UI if needed
- textLabel.Parent = billboardGui
- activeEsps[espKey] = billboardGui
- return billboardGui
- end
- local function removeESP(player, espType)
- local espKey = player.UserId .. "_" .. espType
- if activeEsps[espKey] then
- activeEsps[espKey]:Destroy()
- activeEsps[espKey] = nil
- end
- end
- local function updateESPs()
- local localPlayer = game.Players.LocalPlayer
- local localHRP = localPlayer.Character and localPlayer.Character:FindFirstChild("HumanoidRootPart")
- -- First, remove all ESPs if all toggles are off
- if not AbilityESPEnabled and not PlayerESPEnabled and not DistanceESPEnabled then
- for key, espGui in pairs(activeEsps) do
- espGui:Destroy()
- activeEsps[key] = nil
- end
- return
- end
- for _, player in ipairs(game.Players:GetPlayers()) do
- if player == localPlayer then continue end -- Skip local player
- if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
- -- If player or character is not valid, remove all their ESPs
- removeESP(player, "Player")
- removeESP(player, "CombinedAbilityDistance") -- Use the combined key
- continue
- end
- local playerHRP = player.Character:FindFirstChild("HumanoidRootPart")
- local baseOffset = 3.5 -- Base offset for the first line of text
- -- Player ESP (DisplayName)
- if PlayerESPEnabled then
- local displayName = player.DisplayName
- createCombinedESP(player, displayName, baseOffset, Color3.fromRGB(170, 255, 170), 14, 2, "Player") -- Green for player name
- else
- removeESP(player, "Player")
- end
- -- Combined Ability & Distance ESP
- if AbilityESPEnabled or DistanceESPEnabled then
- local combinedText = ""
- local currentOffset = baseOffset -- Start at base offset for the first line
- local textColor = Color3.fromRGB(255, 255, 255) -- Default white for combined
- -- Adjust offset if Player ESP is active
- if PlayerESPEnabled then
- currentOffset = currentOffset + 0.7 -- Move down if player name is present
- end
- if AbilityESPEnabled then
- local abilityName = "Unknown"
- -- === CRUCIAL PART: HOW TO DETECT ABILITY ===
- local equippedAbilityAttribute = player:GetAttribute("EquippedAbility")
- if equippedAbilityAttribute then
- abilityName = tostring(equippedAbilityAttribute)
- else
- local currentAbilityValue = player:FindFirstChild("CurrentAbility")
- if currentAbilityValue and currentAbilityValue:IsA("StringValue") then
- abilityName = currentAbilityValue.Value
- else
- local charAbilityValue = player.Character:FindFirstChild("EquippedAbility")
- if charAbilityValue and charAbilityValue:IsA("StringValue") then
- abilityName = charAbilityValue.Value
- else
- local equippedTool = player.Character:FindFirstChildOfClass("Tool")
- if equippedTool and string.find(equippedTool.Name:lower(), "ability") then
- abilityName = equippedTool.Name
- elseif player.Backpack:FindFirstChildOfClass("Tool") then
- for _, tool in ipairs(player.Backpack:GetChildren()) do
- if string.find(tool.Name:lower(), "ability") then
- abilityName = tool.Name
- break
- end
- end
- end
- end
- end
- end
- -- End of CRUCIAL PART
- if abilityName ~= "Unknown" and abilityName ~= "" then
- combinedText = abilityName
- end
- end
- if DistanceESPEnabled and localHRP then
- local distance = math.Ffloor((localHRP.Position - playerHRP.Position).Magnitude)
- if combinedText ~= "" then
- combinedText = combinedText .. " [" .. distance .. "m]" -- Add distance in brackets
- else
- combinedText = distance .. "m" -- Just distance if no ability
- end
- end
- if combinedText ~= "" then
- createCombinedESP(player, combinedText, currentOffset, textColor, 14, 2, "CombinedAbilityDistance")
- else
- removeESP(player, "CombinedAbilityDistance")
- end
- else
- removeESP(player, "CombinedAbilityDistance")
- end
- end
- -- Clean up ESPs for players who left
- for key, espGui in pairs(activeEsps) do
- local userId = tonumber(string.match(key, "(%d+)")) -- Extract UserId from key
- local player = game.Players:GetPlayerByUserId(userId)
- if not player or not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
- espGui:Destroy()
- activeEsps[key] = nil
- end
- end
- end
- -- Connect the update function to RunService.Heartbeat for continuous updates
- game:GetService("RunService").Heartbeat:Connect(updateESPs)
- -- Add the toggles to the World tab
- worldTab.newToggle("Player ESP", "Displays player names above their heads", false, function(state)
- PlayerESPEnabled = state
- updateESPs() -- Trigger an immediate update
- end)
- worldTab.newToggle("Distance ESP", "Displays distance to players in studs", false, function(state)
- DistanceESPEnabled = state
- updateESPs() -- Trigger an immediate update
- end)
- worldTab.newToggle("Ability ESP", "Displays equipped abilities above players' heads", false, function(state)
- AbilityESPEnabled = state
- updateESPs() -- Trigger an immediate update
- end)
- ---
- --- shaders
- local originalLightingAmbient = Lighting.Ambient
- local originalLightingOutdoorAmbient = Lighting.OutdoorAmbient
- local originalLightingBrightness = Lighting.Brightness
- local originalLightingColorShiftTop = Lighting.ColorShift_Top
- local originalLightingColorShiftBottom = Lighting.ColorShift_Bottom
- local currentShaderEffects = {} -- Store references to created effects
- local function applyShaders()
- -- Store original values (already done at top of this section)
- -- ColorCorrectionEffect for overall tint/saturation
- local ccEffect = Instance.new("ColorCorrectionEffect")
- ccEffect.Saturation = 0.1 -- Slightly boost saturation
- ccEffect.Contrast = 0.05 -- Slight contrast
- ccEffect.TintColor = Color3.fromRGB(240, 245, 255) -- Slight cool tint
- ccEffect.Parent = Lighting
- currentShaderEffects.ColorCorrection = ccEffect
- -- BloomEffect for glow
- local bloomEffect = Instance.new("BloomEffect")
- bloomEffect.Intensity = 0.15 -- Gentle bloom
- bloomEffect.Size = 10 -- Larger bloom radius
- bloomEffect.Threshold = 0.9 -- Only brightest parts bloom
- bloomEffect.Parent = Lighting
- currentShaderEffects.Bloom = bloomEffect
- -- Optional: SunRaysEffect for atmospheric light shafts
- local sunRaysEffect = Instance.new("SunRaysEffect")
- sunRaysEffect.Intensity = 0.05
- sunRaysEffect.Spread = 0.5
- sunRaysEffect.Parent = Lighting
- currentShaderEffects.SunRays = sunRaysEffect
- -- Adjust general lighting for better shader interaction
- Lighting.Ambient = Color3.fromRGB(50, 50, 50)
- Lighting.OutdoorAmbient = Color3.fromRGB(80, 80, 90)
- Lighting.Brightness = 1.2
- Lighting.ColorShift_Top = Color3.fromRGB(10, 10, 15)
- Lighting.ColorShift_Bottom = Color3.fromRGB(5, 5, 10)
- print("Shaders applied.")
- end
- local function removeShaders()
- if currentShaderEffects.ColorCorrection then currentShaderEffects.ColorCorrection:Destroy() end
- if currentShaderEffects.Bloom then currentShaderEffects.Bloom:Destroy() end
- if currentShaderEffects.SunRays then currentShaderEffects.SunRays:Destroy() end
- currentShaderEffects = {} -- Clear table
- -- Revert Lighting properties
- Lighting.Ambient = originalLightingAmbient
- Lighting.OutdoorAmbient = originalLightingOutdoorAmbient
- Lighting.Brightness = originalLightingBrightness
- Lighting.ColorShift_Top = originalLightingColorShiftTop
- Lighting.ColorShift_Bottom = originalLightingColorShiftBottom
- print("Shaders removed and lighting reverted.")
- end
- worldTab.newToggle("Shaders", "Enhances visuals with post-processing effects (client-sided)", false, function(state)
- if state then
- applyShaders()
- else
- removeShaders()
- end
- end)
- ---
- --lag reducer
- local lagReducerActive = false
- local ballAddedConnection = nil
- local modifiedBallParticles = {} -- Store references to disabled particles to re-enable them
- -- Function to reduce lag for a given ball
- local function reduceBallLag(ball)
- if not ball then return end
- -- Disable or destroy client-sided visual elements
- for _, child in ipairs(ball:GetDescendants()) do
- if child:IsA("Trail") then
- -- Note: Destroying trails means they won't come back on disable
- child:Destroy() -- Client-sided destroy
- elseif child:IsA("ParticleEmitter") then
- if child.Enabled then -- Only disable if currently enabled
- child.Enabled = false -- Disable particles
- table.insert(modifiedBallParticles, child) -- Store for potential re-enabling
- end
- end
- end
- print("Applied client-sided lag reduction to ball:", ball.Name)
- end
- -- Function to re-enable particles on the ball (trails are destroyed)
- local function revertBallLag()
- for _, particle in ipairs(modifiedBallParticles) do
- if particle and particle.Parent then -- Check if still exists
- particle.Enabled = true
- end
- end
- modifiedBallParticles = {} -- Clear list
- print("Attempted to revert client-sided lag reduction on ball.")
- end
- -- Listener for new balls to apply reduction automatically
- local function setupBallLagReductionListener()
- if ballAddedConnection then return end -- Already set up
- ballAddedConnection = workspace.Balls.ChildAdded:Connect(function(newBall)
- if lagReducerActive then -- Only apply if toggle is on
- task.wait(0.1) -- Give time for the ball to fully load all its children
- reduceBallLag(newBall)
- end
- end)
- print("Ball ChildAdded listener set up for lag reduction.")
- end
- local function removeBallLagReductionListener()
- if ballAddedConnection then
- ballAddedConnection:Disconnect()
- ballAddedConnection = nil
- end
- print("Ball ChildAdded listener removed.")
- end
- worldTab.newToggle("Lag Reducer", "Reduces lag by removing shadows and ball visual effects (client-sided)", false, function(state)
- lagReducerActive = state
- if state then
- -- Remove global shadows
- Lighting.GlobalShadows = false
- -- Apply to existing balls
- for _, ball in ipairs(workspace.Balls:GetChildren()) do
- reduceBallLag(ball)
- end
- setupBallLagReductionListener()
- print("Lag Reducer enabled.")
- else
- -- Revert global shadows
- Lighting.GlobalShadows = true
- -- Revert ball changes (particles only, trails might be gone)
- revertBallLag()
- removeBallLagReductionListener()
- print("Lag Reducer disabled.")
- end
- end)
- ---
- ---auto play
- local autoPlayEnabled = false
- local autoPlayLoop = nil
- local currentMoveKeys = {} -- To store currently pressed movement keys
- local MOVEMENT_KEYS = {
- Enum.KeyCode.W, -- Forward
- Enum.KeyCode.A, -- Left
- Enum.KeyCode.S, -- Backward
- Enum.KeyCode.D, -- Right
- }
- local function releaseAllMovementKeys()
- for _, key in pairs(currentMoveKeys) do
- VirtualInputManager:SendKeyEvent(false, key, false, game)
- end
- currentMoveKeys = {}
- end
- local function startAutoPlay()
- local character = localPlayer.Character
- local humanoid = character and character:FindFirstChildOfClass("Humanoid")
- if not humanoid then
- warn("Auto Play: Humanoid not found. Cannot start.")
- return
- end
- autoPlayEnabled = true
- print("Auto Play started.")
- autoPlayLoop = task.spawn(function()
- while autoPlayEnabled do
- if not localPlayer.Character or not localPlayer.Character:FindFirstChildOfClass("Humanoid") then
- -- Stop if toggle off or character/humanoid invalid
- stopAutoPlay()
- break -- Exit the loop
- end
- -- Release any previously pressed keys
- releaseAllMovementKeys()
- -- Randomly pick one or two movement keys
- local numKeysToPress = math.random(1, 2)
- local selectedKeys = {}
- local tempMovementKeys = table.create(#MOVEMENT_KEYS, nil)
- for i, v in ipairs(MOVEMENT_KEYS) do
- tempMovementKeys[i] = v
- end
- for i = 1, numKeysToPress do
- if #tempMovementKeys == 0 then break end
- local randomIndex = math.random(1, #tempMovementKeys)
- local key = tempMovementKeys[randomIndex]
- table.remove(tempMovementKeys, randomIndex)
- table.insert(selectedKeys, key)
- end
- for _, key in pairs(selectedKeys) do
- VirtualInputManager:SendKeyEvent(true, key, false, game) -- Press key
- table.insert(currentMoveKeys, key) -- Add to currently pressed
- end
- -- Random duration for holding keys
- task.wait(math.random(0.5, 2.5)) -- Hold for 0.5 to 2.5 seconds
- -- Release keys before potentially pressing new ones
- releaseAllMovementKeys()
- -- Occasionally jump
- if math.random(1, 20) == 1 then -- 5% chance for a jump
- local currentHumanoid = localPlayer.Character:FindFirstChildOfClass("Humanoid")
- if currentHumanoid and currentHumanoid.FloorMaterial ~= Enum.Material.Air then -- Only jump if on ground
- VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.Space, false, game)
- task.wait(0.1) -- Short press
- VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.Space, false, game)
- print("Auto Play: Jumping.")
- end
- end
- task.wait(math.random(0.2, 0.8)) -- Short pause between movements
- end
- end)
- end
- local function stopAutoPlay()
- if autoPlayLoop then
- task.cancel(autoPlayLoop) -- Use task.cancel for threads
- autoPlayLoop = nil
- end
- autoPlayEnabled = false
- releaseAllMovementKeys() -- Ensure all keys are released
- print("Auto Play stopped.")
- end
- worldTab.newToggle("Auto Play", "Automatically moves and jumps like a player (client-sided)", false, function(state)
- if state then
- startAutoPlay()
- else
- stopAutoPlay()
- end
- end)
- print("World UI tab created with ESP, Skin Changer, Shaders, Lag Reducer, and Auto Play toggles.")
- -- Others Tab
- local othersTab = DrRayLibrary.newTab("Others", icon)
- othersTab.newButton("Infinite Yield", "Load admin commands", function()
- loadstring(game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source"))()
- end)
- othersTab.newButton("Night Rewrite", "Load Night Rewrite script", function()
- loadstring(game:HttpGet("https://raw.githubusercontent.com/warprbx/NightRewrite/refs/heads/main/Night/Loader.luau"))()
- end)
- othersTab.newButton("Virtual Beta 1.0", "Coming soon", function() end)
- othersTab.newButton("Rejoin", "Rejoin the server", function()
- game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, game.JobId, game.Players.LocalPlayer)
- end)
- othersTab.newButton("Server Hop", "Join a new server", function()
- local HttpService = game:GetService("HttpService")
- local Servers = HttpService:JSONDecode(game:HttpGet("https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Desc&limit=100"))
- for _, v in pairs(Servers.data) do
- if v.playing < v.maxPlayers then
- game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, v.id)
- break
- end
- end
- end)
- print("Others UI tab created. All UI elements should be initialized.")
- -- Core Logic (rest of your original core logic)
- local RunService = game:GetService("RunService")
- local Players = game:GetService("Players")
- local VirtualInputManager = game:GetService("VirtualInputManager")
- local Player = Players.LocalPlayer
- local ParriedCount = 0
- local Cooldown, Connection = tick(), nil
- local Threshold = 0.56
- local LastSpeed = 0
- local ClashParryTriggered = false
- local ClashActivationRange = 35
- local LastParryTime = 0
- -- New variables for explicit parry input cooldown
- local LastParryInputTime = 0
- local ParryInputCooldown = 0.2 -- Reverted to a more practical value
- -- Set ParryDebounce based on ClashActivationRange
- local ParryDebounce
- if ClashActivationRange <= 35 and ClashActivationRange >= 30 then
- ParryDebounce = 0.07
- elseif ClashActivationRange < 30 then
- ParryDebounce = 0.07
- else
- ParryDebounce = 0.07
- end
- -- NEW: Variable for Clash Spam Rate
- local ClashSpamRate = 0.005 -- Extremely low value for aggressive spam
- local function GetBall()
- for _, Ball in ipairs(workspace.Balls:GetChildren()) do
- if Ball:GetAttribute("realBall") then return Ball end
- end
- end
- local function ResetConnection()
- if Connection then Connection:Disconnect() Connection = nil end
- end
- workspace.Balls.ChildAdded:Connect(function()
- task.wait(0.05)
- local Ball = GetBall()
- if not Ball then return end
- ResetConnection()
- Connection = Ball:GetAttributeChangedSignal("target"):Connect(function()
- ParriedCount = 0
- end)
- end)
- RunService.PreSimulation:Connect(function()
- if not AllusiveAutoParry then return end
- local Ball = GetBall()
- local HRP = Player.Character and Player.Character:FindFirstChild("HumanoidRootPart")
- if not Ball or not HRP then
- if AntiCurve then Threshold = 0.4 end
- return
- end
- local Speed = Ball.zoomies.VectorVelocity.Magnitude
- local Velocity = Ball.zoomies.VectorVelocity
- local Distance = (HRP.Position - Ball.Position).Magnitude
- local DirectionDelta = (Velocity.Unit - (Ball.Velocity.Unit or Velocity.Unit)).Magnitude
- local CurvingHard = DirectionDelta >= 1.2
- if AntiCurve then
- if CurvingHard and Speed > 40 then
- Threshold = 0.17
- elseif Speed >= 60 then
- Threshold = 0.255
- elseif Speed >= 40 then
- Threshold = 0.55
- elseif Speed >= 20 then
- Threshold = 0.77
- else
- Threshold = 1.3
- end
- end
- LastSpeed = Speed
- if AntiBallMovement and Speed < 1 then return end
- if AutoDetectAeroEnabled then
- local posY = Ball.Position.Y
- local velY = Ball.zoomies.VectorVelocity.Y
- if posY > 70 and velY < 90 then
- AllowAeroParryAt = tick() + 4
- end
- end
- if Ball:GetAttribute("target") == Player.Name and Distance / Speed <= Threshold then
- -- Apply the explicit input cooldown before sending the key
- if tick() - LastParryInputTime > ParryInputCooldown then
- if ParriedCount < 1 and tick() - LastParryTime > ParryDebounce then
- LastParryTime = tick() -- update debounce timestamp
- -- Simulate a quick key press and release for 'F'
- VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.F, false, game)
- VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.F, false, game)
- LastParryInputTime = tick() -- Update the input time immediately after sending
- ParriedCount += 1
- if ParriedCount == 1 then
- -- Enable Clash if someone nearby
- ClashParryTriggered = false
- for _, plr in ipairs(Players:GetPlayers()) do
- if plr ~= Player and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
- if (plr.Character.HumanoidRootPart.Position - HRP.Position).Magnitude < ClashActivationRange then
- ClashParryTriggered = true
- break
- end
- end
- end
- if not ClashParryTriggered and workspace:FindFirstChild("Live") then
- for _, npc in ipairs(workspace.Live:GetChildren()) do
- if npc:FindFirstChild("HumanoidRootPart") then
- if (npc.HumanoidRootPart.Position - HRP.Position).Magnitude < ClashActivationRange then
- ClashParryTriggered = true
- break
- end
- end
- end
- end
- if AutoAbility and ParriedCount == 1 then
- task.wait(0.03)
- VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.Q, false, game)
- VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.fn, false, game)
- end
- end
- end
- end
- end
- end)
- -- MODIFIED: Allusive Clash Parry Logic
- local ClashSpamLoop = nil -- To hold the RenderStepped connection for clash spam
- RunService.Heartbeat:Connect(function()
- local HRP = Player.Character and Player.Character:FindFirstChild("HumanoidRootPart")
- if not HRP then return end
- if AllusiveClashParry and ParriedCount >= 2 then
- local stillNear = false
- for _, plr in ipairs(Players:GetPlayers()) do
- if plr ~= Player and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
- if (plr.Character.HumanoidRootPart.Position - HRP.Position).Magnitude < ClashActivationRange then
- stillNear = true
- break
- end
- end
- end
- if not stillNear and workspace:FindFirstChild("Live") then
- for _, npc in ipairs(workspace.Live:GetChildren()) do
- if npc:FindFirstChild("HumanoidRootPart") then
- if (npc.HumanoidRootPart.Position - HRP.Position).Magnitude < ClashActivationRange then
- stillNear = true
- break
- end
- end
- end
- end
- if stillNear then
- if not ClashSpamLoop then
- -- Start aggressive F-spamming when clash is triggered and nearby
- ClashSpamLoop = RunService.RenderStepped:Connect(function()
- VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.F, false, game)
- VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.F, false, game)
- task.wait(ClashSpamRate) -- Use the defined spam rate
- end)
- end
- else
- -- If no longer near or AllusiveClashParry is off, stop spamming
- if ClashSpamLoop then
- ClashSpamLoop:Disconnect()
- ClashSpamLoop = nil
- end
- ClashParryTriggered = false -- Reset clash trigger
- end
- else
- -- If AllusiveClashParry toggle is off or ParriedCount is less than 2, stop spamming
- if ClashSpamLoop then
- ClashSpamLoop:Disconnect()
- ClashSpamLoop = nil
- end
- ClashParryTriggered = false -- Ensure this is reset if toggle is off
- end
- if AutoCurve then
- local Ball = GetBall()
- if Ball and Ball:GetAttribute("target") == Player.Name then
- local char = Player.Character
- local hrp = char and char:FindFirstChild("HumanoidRootPart")
- if hrp then
- local look = hrp.CFrame.LookVector
- Ball.CFrame = Ball.CFrame * CFrame.new(look.X * 0.5, 0, look.Z * 0.5)
- end
- end
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment