Guest User

ALLUSIVE

a guest
Jun 8th, 2025
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 38.60 KB | None | 0 0
  1. local TweenService = game:GetService("TweenService")
  2. local Lighting = game:GetService("Lighting")
  3. local REQUIRED_KEY = "ALLUSIVEONTOP"
  4. local verified = false
  5.  
  6. print("Script started. Initializing UI components...")
  7.  
  8. -- Blur Effect
  9. local blur = Instance.new("BlurEffect")
  10. blur.Size = 0
  11. blur.Parent = Lighting
  12. print("Blur effect created.")
  13.  
  14. TweenService:Create(blur, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), { Size = 12 }):Play()
  15.  
  16. -- UI Elements
  17. local ScreenGui = Instance.new("ScreenGui", game.CoreGui)
  18. ScreenGui.Name = "AllusiveKeyGui"
  19. print("ScreenGui created.")
  20.  
  21. local Frame = Instance.new("Frame")
  22. Frame.Size = UDim2.new(0, 320, 0, 200)
  23. Frame.Position = UDim2.new(0.5, -160, 0.5, -100)
  24. Frame.BackgroundColor3 = Color3.fromRGB(15, 18, 35)
  25. Frame.BorderSizePixel = 0
  26. Frame.BackgroundTransparency = 1 -- Start fully transparent for fade
  27. Frame.Active = true
  28. Frame.Draggable = true
  29. Frame.Parent = ScreenGui
  30. print("Login Frame created.")
  31.  
  32. local UICorner = Instance.new("UICorner", Frame)
  33. UICorner.CornerRadius = UDim.new(0, 12)
  34.  
  35. -- Shadow
  36. local Shadow = Instance.new("ImageLabel", Frame)
  37. Shadow.AnchorPoint = Vector2.new(0.5, 0.5)
  38. Shadow.Position = UDim2.new(0.5, 0, 0.5, 0)
  39. Shadow.Size = UDim2.new(1.2, 0, 1.2, 0)
  40. Shadow.BackgroundTransparency = 1
  41. Shadow.Image = "rbxassetid://6015897843"
  42. Shadow.ImageTransparency = 1
  43. Shadow.ZIndex = -1
  44. print("Shadow created.")
  45.  
  46. -- Title
  47. local TextLabel = Instance.new("TextLabel", Frame)
  48. TextLabel.Size = UDim2.new(1, 0, 0, 40)
  49. TextLabel.BackgroundTransparency = 1
  50. TextLabel.Text = "🔐 Welcome to Allusive Rewrite 🔐"
  51. TextLabel.TextColor3 = Color3.fromRGB(190, 210, 255)
  52. TextLabel.Font = Enum.Font.GothamBold
  53. TextLabel.TextSize = 16.5
  54. print("Title Label created.")
  55.  
  56. -- Key Input
  57. local TextBox = Instance.new("TextBox", Frame)
  58. TextBox.Size = UDim2.new(0.9, 0, 0, 35)
  59. TextBox.Position = UDim2.new(0.05, 0, 0.4, -10)
  60. TextBox.PlaceholderText = "Enter Your Exclusive Access Key"
  61. TextBox.Text = ""
  62. TextBox.Font = Enum.Font.Gotham
  63. TextBox.TextSize = 15
  64. TextBox.BackgroundColor3 = Color3.fromRGB(25, 30, 50)
  65. TextBox.TextColor3 = Color3.fromRGB(235, 240, 255)
  66. print("Key TextBox created.")
  67.  
  68. local corner1 = Instance.new("UICorner", TextBox)
  69. corner1.CornerRadius = UDim.new(0, 8)
  70.  
  71. -- Submit Button
  72. local SubmitButton = Instance.new("TextButton", Frame)
  73. SubmitButton.Size = UDim2.new(0.4, 0, 0, 30)
  74. SubmitButton.Position = UDim2.new(0.05, 0, 0.8, 0)
  75. SubmitButton.Text = "Submit"
  76. SubmitButton.Font = Enum.Font.GothamBold
  77. SubmitButton.TextSize = 16
  78. SubmitButton.BackgroundColor3 = Color3.fromRGB(40, 60, 100)
  79. SubmitButton.TextColor3 = Color3.new(1, 1, 1)
  80. print("Submit Button created.")
  81.  
  82. local corner2 = Instance.new("UICorner", SubmitButton)
  83. corner2.CornerRadius = UDim.new(0, 8)
  84.  
  85. -- Copy Key Button
  86. local CopyButton = Instance.new("TextButton", Frame)
  87. CopyButton.Size = UDim2.new(0.4, 0, 0, 30)
  88. CopyButton.Position = UDim2.new(0.55, 0, 0.8, 0)
  89. CopyButton.Text = "Copy Key"
  90. CopyButton.Font = Enum.Font.GothamBold
  91. CopyButton.TextSize = 16
  92. CopyButton.BackgroundColor3 = Color3.fromRGB(50, 75, 130)
  93. CopyButton.TextColor3 = Color3.new(1, 1, 1)
  94. print("Copy Key Button created.")
  95.  
  96. local corner3 = Instance.new("UICorner", CopyButton)
  97. corner3.CornerRadius = UDim.new(0, 8)
  98.  
  99. -- Fade-in Animation
  100. TweenService:Create(Frame, TweenInfo.new(0.5), { BackgroundTransparency = 0 }):Play()
  101. TweenService:Create(Shadow, TweenInfo.new(0.5), { ImageTransparency = 0.75 }):Play()
  102. print("UI fade-in animations triggered.")
  103.  
  104. -- Function: Verify Key
  105. SubmitButton.MouseButton1Click:Connect(function()
  106. print("Submit button clicked. Attempting key verification...")
  107. print("Entered key: '" .. TextBox.Text .. "' | Required key: '" .. REQUIRED_KEY .. "'")
  108. if TextBox.Text == REQUIRED_KEY then
  109. verified = true
  110. print("Key verified successfully! Fading out UI.")
  111.  
  112. -- Fade out
  113. local fadeOut = TweenService:Create(Frame, TweenInfo.new(0.5), { BackgroundTransparency = 1 })
  114. local shadowOut = TweenService:Create(Shadow, TweenInfo.new(0.5), { ImageTransparency = 1 })
  115. fadeOut:Play()
  116. shadowOut:Play()
  117. TweenService:Create(blur, TweenInfo.new(0.5), { Size = 0 }):Play()
  118.  
  119. task.wait(0.5) -- Use task.wait for consistency
  120. blur:Destroy()
  121. ScreenGui:Destroy()
  122. print("Login UI destroyed.")
  123. else
  124. TextLabel.Text = "❌ Invalid key. Try again."
  125. TextLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
  126. print("Invalid key entered. Displaying error message.")
  127. end
  128. end)
  129.  
  130. -- Copy Key Button
  131. CopyButton.MouseButton1Click:Connect(function()
  132. setclipboard(REQUIRED_KEY)
  133. TextLabel.Text = "✅ Key copied to clipboard!"
  134. TextLabel.TextColor3 = Color3.fromRGB(100, 255, 180)
  135. print("Key copied to clipboard.")
  136. end)
  137.  
  138. -- Wait until verified
  139. print("Waiting for key verification loop to complete...")
  140. repeat task.wait() until verified
  141. print("Key verification successful. Proceeding with main script logic.")
  142.  
  143. local spoofedBytes = {}
  144. local isBypassRunning = false
  145.  
  146. local function SoftBypassBytes()
  147. local player = game.Players.LocalPlayer
  148. local safeSpaces = {
  149. player,
  150. player:FindFirstChild("PlayerScripts"),
  151. player:FindFirstChild("Backpack"),
  152. }
  153.  
  154. local spoofed = 0
  155. for _, space in ipairs(safeSpaces) do
  156. if space then
  157. for _, v in ipairs(space:GetDescendants()) do
  158. if v:IsA("ValueBase") and v.Name:lower():find("byte") then
  159. pcall(function()
  160. -- Rename & spoof value without destroying
  161. v.Name = "Spoofed_" .. v.Name
  162. if v:IsA("BoolValue") then
  163. v.Value = false
  164. elseif v:IsA("StringValue") then
  165. v.Value = ""
  166. elseif v:IsA("NumberValue") then
  167. v.Value = 0
  168. end
  169. table.insert(spoofedBytes, v)
  170. spoofed += 1
  171. end)
  172. if spoofed >= 50 then
  173. warn("[Bypass Byte] Reached spoof cap (100).")
  174. return
  175. end
  176. end
  177. end
  178. end
  179. end
  180.  
  181. print("[Bypass Byte] Soft spoofed " .. spoofed .. " byte-related values.")
  182. end
  183.  
  184.  
  185. -- Load DrRay UI
  186. print("Attempting to load DrRay UI library...")
  187. local DrRayLibrarySuccess, DrRayLibrary = pcall(function()
  188. return loadstring(game:HttpGet("https://raw.githubusercontent.com/AZYsGithub/DrRay-UI-Library/main/DrRay.lua"))()
  189. end)
  190.  
  191. if not DrRayLibrarySuccess then
  192. warn("Failed to load DrRay UI Library: " .. tostring(DrRayLibrary))
  193. error("Script stopped: DrRay UI Library failed to load.") -- Stop execution if library fails
  194. end
  195.  
  196. if not DrRayLibrary then -- Double check if it returned nil even if pcall was successful (e.g. if the remote script is empty)
  197. error("Script stopped: DrRay UI Library loaded but returned nil.")
  198. end
  199. print("DrRay UI library loaded successfully. Initializing main UI...")
  200.  
  201. local window = DrRayLibrary:Load("Allusive Rewrite", "Default")
  202. local icon = "rbxassetid://9947313248"
  203.  
  204. -- Player Tab
  205. local playerTab = DrRayLibrary.newTab("Player", icon)
  206. local WalkspeedToggle, AutoJump = false, false
  207.  
  208. playerTab.newToggle("Walkspeed", "Sets your WalkSpeed to 56 constantly", false, function(state)
  209. WalkspeedToggle = state
  210. task.spawn(function()
  211. while WalkspeedToggle do
  212. pcall(function()
  213. local character = game.Players.LocalPlayer.Character
  214. if character and character:FindFirstChildOfClass("Humanoid") then
  215. character:FindFirstChildOfClass("Humanoid").WalkSpeed = 56
  216. end
  217. end)
  218. task.wait(0.01) -- Update every 0.01s to ensure it's stable
  219. end
  220. end)
  221. end)
  222.  
  223. playerTab.newToggle("Auto Jump", "Automatically jumps repeatedly when enabled", false, function(state)
  224. AutoJump = state
  225. task.spawn(function()
  226. while AutoJump do
  227. local humanoid = game:GetService("Players").LocalPlayer.Character:FindFirstChild("Humanoid")
  228. if humanoid then
  229. humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
  230. end
  231. task.wait(0.64) -- Adjust delay as needed
  232. end
  233. end)
  234. end)
  235. print("Player UI tab created.")
  236.  
  237. -- Legit Tab (Renamed from Blatant)
  238. local combatTab = DrRayLibrary.newTab("Legit", icon)
  239. local AllusiveAutoParry, AllusiveClashParry, AutoAbility, AutoCurve = false, false, false, false
  240.  
  241. combatTab.newToggle("Allusive Auto Parry", "A Auto Parry Specially Made For Allusive", false, function(state) AllusiveAutoParry = state end)
  242. combatTab.newToggle("Allusive Clash Parry", "Auto clicker activates when opponent is close", false, function(state) AllusiveClashParry = state end)
  243. combatTab.newToggle("Auto Ability", "Q usage after successful parry", false, function(state) AutoAbility = state end)
  244. print("Legit UI tab created.")
  245.  
  246. -- Anti Tab (Renamed from Blatant)
  247. local antiTab = DrRayLibrary.newTab("Blatant", icon)
  248. local AntiCurve, AntiBallMovement, AntiAerodynamicSlash = false, false, false
  249.  
  250. antiTab.newToggle("Anti Curve", "Reduces threshold during curving movement", false, function(v) AntiCurve = v end)
  251. antiTab.newToggle("Anti Ball Movement", "Disables parry when ball is stationary", false, function(v) AntiBallMovement = v end)
  252. antiTab.newToggle("Bypass Byte", "Removes clash cooldown by deleting Byte", false, function(v)
  253. BypassByte = v
  254.  
  255. if v then
  256. ByteLoop = game:GetService("RunService").RenderStepped:Connect(function()
  257. local char = game.Players.LocalPlayer.Character
  258. if char then
  259. for _, inst in pairs(char:GetDescendants()) do
  260. if inst:IsA("ValueBase") and inst.Name:lower():find("byte") then
  261. inst:Destroy()
  262. end
  263. end
  264. end
  265. end)
  266. else
  267. if ByteLoop then
  268. ByteLoop:Disconnect()
  269. ByteLoop = nil
  270. end
  271. end
  272. end)
  273. antiTab.newToggle("Clear Byte & Grim", "Deletes all Byte and Grim value instances repeatedly without freezing", false, function(state)
  274. ClearByteGrim = state
  275.  
  276. if state then
  277. -- Run one deferred background loop
  278. task.spawn(function()
  279. while ClearByteGrim do
  280. local success, err = pcall(function()
  281. -- Instead of scanning all game descendants instantly, chunk the check
  282. for _, v in ipairs(game:GetDescendants()) do
  283. if not ClearByteGrim then break end -- Stop early if toggle is turned off
  284. if v:IsA("ValueBase") then
  285. local n = v.Name:lower()
  286. if n:find("byte") or n:find("grim") then
  287. pcall(function()
  288. v:Destroy()
  289. end)
  290. end
  291. end
  292. task.wait() -- Yield to avoid freezing, prevents screen stutters
  293. end
  294. end)
  295.  
  296. if not success then
  297. warn("ClearByteGrim error:", err)
  298. end
  299.  
  300. task.wait(2) -- Wait before next full cleanup cycle
  301. end
  302. end)
  303. end
  304. end)
  305. antiTab.newToggle("Auto Detect Aero", "Delays parry if ball swirls up and drops (aerodynamic slash)", false, function(state)
  306. AutoDetectAeroEnabled = state
  307. if not state then
  308. AllowAeroParryAt = 0
  309. end
  310. end)
  311. print("Blatant UI tab created.")
  312.  
  313. -- World Tab
  314. local worldTab = DrRayLibrary.newTab("World", icon)
  315.  
  316. -- ESP variables and functions
  317. local AbilityESPEnabled = false
  318. local PlayerESPEnabled = false
  319. local DistanceESPEnabled = false
  320. local activeEsps = {} -- Centralized table for all ESP BillboardGuis
  321.  
  322. -- Consolidated ESP creation function for Ability and Distance
  323. local function createCombinedESP(player, textContent, offsetY, textColor, fontSize, zIndex, espType)
  324. local localPlayer = game.Players.LocalPlayer
  325. if not player or not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") or player == localPlayer then
  326. return nil
  327. end
  328.  
  329. local character = player.Character
  330. local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
  331.  
  332. local espKey = player.UserId .. "_" .. espType -- Use espType to differentiate for the same player
  333.  
  334. -- Check if an ESP is already created for this specific type
  335. if activeEsps[espKey] then
  336. local existingGui = activeEsps[espKey]
  337. local existingTextLabel = existingGui:FindFirstChild("ESPTextLabel")
  338. if existingTextLabel and existingTextLabel.Text == textContent and existingGui.StudsOffset.Y == offsetY then
  339. return existingGui -- No change needed, return existing GUI
  340. else
  341. existingGui:Destroy() -- Destroy old one if text or offset changed
  342. activeEsps[espKey] = nil
  343. end
  344. end
  345.  
  346. local billboardGui = Instance.new("BillboardGui")
  347. billboardGui.Name = "PlayerESP_" .. player.Name .. "_" .. espType
  348. billboardGui.Size = UDim2.new(0, 100, 0, 20) -- Consistent smaller size
  349. billboardGui.StudsOffset = Vector3.new(0, offsetY, 0) -- Position above player's head
  350. billboardGui.AlwaysOnTop = true
  351. billboardGui.ExtentsOffset = Vector3.new(0, 0, 0)
  352. billboardGui.Parent = humanoidRootPart -- Attach to HumanoidRootPart
  353.  
  354. local textLabel = Instance.new("TextLabel")
  355. textLabel.Name = "ESPTextLabel"
  356. textLabel.Size = UDim2.new(1, 0, 1, 0)
  357. textLabel.BackgroundTransparency = 1
  358. textLabel.TextScaled = true
  359. textLabel.Font = Enum.Font.SourceSansBold
  360. textLabel.TextColor3 = textColor
  361. textLabel.TextStrokeTransparency = 0.8 -- Slightly less opaque stroke
  362. textLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
  363. textLabel.Text = textContent
  364. textLabel.ZIndex = zIndex or 2 -- Ensure it's above other UI if needed
  365. textLabel.Parent = billboardGui
  366.  
  367. activeEsps[espKey] = billboardGui
  368. return billboardGui
  369. end
  370.  
  371. local function removeESP(player, espType)
  372. local espKey = player.UserId .. "_" .. espType
  373. if activeEsps[espKey] then
  374. activeEsps[espKey]:Destroy()
  375. activeEsps[espKey] = nil
  376. end
  377. end
  378.  
  379. local function updateESPs()
  380. local localPlayer = game.Players.LocalPlayer
  381. local localHRP = localPlayer.Character and localPlayer.Character:FindFirstChild("HumanoidRootPart")
  382.  
  383. -- First, remove all ESPs if all toggles are off
  384. if not AbilityESPEnabled and not PlayerESPEnabled and not DistanceESPEnabled then
  385. for key, espGui in pairs(activeEsps) do
  386. espGui:Destroy()
  387. activeEsps[key] = nil
  388. end
  389. return
  390. end
  391.  
  392. for _, player in ipairs(game.Players:GetPlayers()) do
  393. if player == localPlayer then continue end -- Skip local player
  394. if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
  395. -- If player or character is not valid, remove all their ESPs
  396. removeESP(player, "Player")
  397. removeESP(player, "CombinedAbilityDistance") -- Use the combined key
  398. continue
  399. end
  400.  
  401. local playerHRP = player.Character:FindFirstChild("HumanoidRootPart")
  402. local baseOffset = 3.5 -- Base offset for the first line of text
  403.  
  404. -- Player ESP (DisplayName)
  405. if PlayerESPEnabled then
  406. local displayName = player.DisplayName
  407. createCombinedESP(player, displayName, baseOffset, Color3.fromRGB(170, 255, 170), 14, 2, "Player") -- Green for player name
  408. else
  409. removeESP(player, "Player")
  410. end
  411.  
  412. -- Combined Ability & Distance ESP
  413. if AbilityESPEnabled or DistanceESPEnabled then
  414. local combinedText = ""
  415. local currentOffset = baseOffset -- Start at base offset for the first line
  416. local textColor = Color3.fromRGB(255, 255, 255) -- Default white for combined
  417.  
  418. -- Adjust offset if Player ESP is active
  419. if PlayerESPEnabled then
  420. currentOffset = currentOffset + 0.7 -- Move down if player name is present
  421. end
  422.  
  423. if AbilityESPEnabled then
  424. local abilityName = "Unknown"
  425. -- === CRUCIAL PART: HOW TO DETECT ABILITY ===
  426. local equippedAbilityAttribute = player:GetAttribute("EquippedAbility")
  427. if equippedAbilityAttribute then
  428. abilityName = tostring(equippedAbilityAttribute)
  429. else
  430. local currentAbilityValue = player:FindFirstChild("CurrentAbility")
  431. if currentAbilityValue and currentAbilityValue:IsA("StringValue") then
  432. abilityName = currentAbilityValue.Value
  433. else
  434. local charAbilityValue = player.Character:FindFirstChild("EquippedAbility")
  435. if charAbilityValue and charAbilityValue:IsA("StringValue") then
  436. abilityName = charAbilityValue.Value
  437. else
  438. local equippedTool = player.Character:FindFirstChildOfClass("Tool")
  439. if equippedTool and string.find(equippedTool.Name:lower(), "ability") then
  440. abilityName = equippedTool.Name
  441. elseif player.Backpack:FindFirstChildOfClass("Tool") then
  442. for _, tool in ipairs(player.Backpack:GetChildren()) do
  443. if string.find(tool.Name:lower(), "ability") then
  444. abilityName = tool.Name
  445. break
  446. end
  447. end
  448. end
  449. end
  450. end
  451. end
  452. -- End of CRUCIAL PART
  453.  
  454. if abilityName ~= "Unknown" and abilityName ~= "" then
  455. combinedText = abilityName
  456. end
  457. end
  458.  
  459. if DistanceESPEnabled and localHRP then
  460. local distance = math.Ffloor((localHRP.Position - playerHRP.Position).Magnitude)
  461. if combinedText ~= "" then
  462. combinedText = combinedText .. " [" .. distance .. "m]" -- Add distance in brackets
  463. else
  464. combinedText = distance .. "m" -- Just distance if no ability
  465. end
  466. end
  467.  
  468. if combinedText ~= "" then
  469. createCombinedESP(player, combinedText, currentOffset, textColor, 14, 2, "CombinedAbilityDistance")
  470. else
  471. removeESP(player, "CombinedAbilityDistance")
  472. end
  473. else
  474. removeESP(player, "CombinedAbilityDistance")
  475. end
  476. end
  477.  
  478. -- Clean up ESPs for players who left
  479. for key, espGui in pairs(activeEsps) do
  480. local userId = tonumber(string.match(key, "(%d+)")) -- Extract UserId from key
  481. local player = game.Players:GetPlayerByUserId(userId)
  482. if not player or not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
  483. espGui:Destroy()
  484. activeEsps[key] = nil
  485. end
  486. end
  487. end
  488.  
  489. -- Connect the update function to RunService.Heartbeat for continuous updates
  490. game:GetService("RunService").Heartbeat:Connect(updateESPs)
  491.  
  492. -- Add the toggles to the World tab
  493. worldTab.newToggle("Player ESP", "Displays player names above their heads", false, function(state)
  494. PlayerESPEnabled = state
  495. updateESPs() -- Trigger an immediate update
  496. end)
  497.  
  498. worldTab.newToggle("Distance ESP", "Displays distance to players in studs", false, function(state)
  499. DistanceESPEnabled = state
  500. updateESPs() -- Trigger an immediate update
  501. end)
  502.  
  503. worldTab.newToggle("Ability ESP", "Displays equipped abilities above players' heads", false, function(state)
  504. AbilityESPEnabled = state
  505. updateESPs() -- Trigger an immediate update
  506. end)
  507.  
  508.  
  509. ---
  510. --- shaders
  511.  
  512. local originalLightingAmbient = Lighting.Ambient
  513. local originalLightingOutdoorAmbient = Lighting.OutdoorAmbient
  514. local originalLightingBrightness = Lighting.Brightness
  515. local originalLightingColorShiftTop = Lighting.ColorShift_Top
  516. local originalLightingColorShiftBottom = Lighting.ColorShift_Bottom
  517. local currentShaderEffects = {} -- Store references to created effects
  518.  
  519. local function applyShaders()
  520. -- Store original values (already done at top of this section)
  521.  
  522. -- ColorCorrectionEffect for overall tint/saturation
  523. local ccEffect = Instance.new("ColorCorrectionEffect")
  524. ccEffect.Saturation = 0.1 -- Slightly boost saturation
  525. ccEffect.Contrast = 0.05 -- Slight contrast
  526. ccEffect.TintColor = Color3.fromRGB(240, 245, 255) -- Slight cool tint
  527. ccEffect.Parent = Lighting
  528. currentShaderEffects.ColorCorrection = ccEffect
  529.  
  530. -- BloomEffect for glow
  531. local bloomEffect = Instance.new("BloomEffect")
  532. bloomEffect.Intensity = 0.15 -- Gentle bloom
  533. bloomEffect.Size = 10 -- Larger bloom radius
  534. bloomEffect.Threshold = 0.9 -- Only brightest parts bloom
  535. bloomEffect.Parent = Lighting
  536. currentShaderEffects.Bloom = bloomEffect
  537.  
  538. -- Optional: SunRaysEffect for atmospheric light shafts
  539. local sunRaysEffect = Instance.new("SunRaysEffect")
  540. sunRaysEffect.Intensity = 0.05
  541. sunRaysEffect.Spread = 0.5
  542. sunRaysEffect.Parent = Lighting
  543. currentShaderEffects.SunRays = sunRaysEffect
  544.  
  545. -- Adjust general lighting for better shader interaction
  546. Lighting.Ambient = Color3.fromRGB(50, 50, 50)
  547. Lighting.OutdoorAmbient = Color3.fromRGB(80, 80, 90)
  548. Lighting.Brightness = 1.2
  549. Lighting.ColorShift_Top = Color3.fromRGB(10, 10, 15)
  550. Lighting.ColorShift_Bottom = Color3.fromRGB(5, 5, 10)
  551.  
  552. print("Shaders applied.")
  553. end
  554.  
  555. local function removeShaders()
  556. if currentShaderEffects.ColorCorrection then currentShaderEffects.ColorCorrection:Destroy() end
  557. if currentShaderEffects.Bloom then currentShaderEffects.Bloom:Destroy() end
  558. if currentShaderEffects.SunRays then currentShaderEffects.SunRays:Destroy() end
  559. currentShaderEffects = {} -- Clear table
  560.  
  561. -- Revert Lighting properties
  562. Lighting.Ambient = originalLightingAmbient
  563. Lighting.OutdoorAmbient = originalLightingOutdoorAmbient
  564. Lighting.Brightness = originalLightingBrightness
  565. Lighting.ColorShift_Top = originalLightingColorShiftTop
  566. Lighting.ColorShift_Bottom = originalLightingColorShiftBottom
  567. print("Shaders removed and lighting reverted.")
  568. end
  569.  
  570. worldTab.newToggle("Shaders", "Enhances visuals with post-processing effects (client-sided)", false, function(state)
  571. if state then
  572. applyShaders()
  573. else
  574. removeShaders()
  575. end
  576. end)
  577.  
  578. ---
  579. --lag reducer
  580.  
  581. local lagReducerActive = false
  582. local ballAddedConnection = nil
  583. local modifiedBallParticles = {} -- Store references to disabled particles to re-enable them
  584.  
  585. -- Function to reduce lag for a given ball
  586. local function reduceBallLag(ball)
  587. if not ball then return end
  588.  
  589. -- Disable or destroy client-sided visual elements
  590. for _, child in ipairs(ball:GetDescendants()) do
  591. if child:IsA("Trail") then
  592. -- Note: Destroying trails means they won't come back on disable
  593. child:Destroy() -- Client-sided destroy
  594. elseif child:IsA("ParticleEmitter") then
  595. if child.Enabled then -- Only disable if currently enabled
  596. child.Enabled = false -- Disable particles
  597. table.insert(modifiedBallParticles, child) -- Store for potential re-enabling
  598. end
  599. end
  600. end
  601. print("Applied client-sided lag reduction to ball:", ball.Name)
  602. end
  603.  
  604. -- Function to re-enable particles on the ball (trails are destroyed)
  605. local function revertBallLag()
  606. for _, particle in ipairs(modifiedBallParticles) do
  607. if particle and particle.Parent then -- Check if still exists
  608. particle.Enabled = true
  609. end
  610. end
  611. modifiedBallParticles = {} -- Clear list
  612. print("Attempted to revert client-sided lag reduction on ball.")
  613. end
  614.  
  615. -- Listener for new balls to apply reduction automatically
  616. local function setupBallLagReductionListener()
  617. if ballAddedConnection then return end -- Already set up
  618. ballAddedConnection = workspace.Balls.ChildAdded:Connect(function(newBall)
  619. if lagReducerActive then -- Only apply if toggle is on
  620. task.wait(0.1) -- Give time for the ball to fully load all its children
  621. reduceBallLag(newBall)
  622. end
  623. end)
  624. print("Ball ChildAdded listener set up for lag reduction.")
  625. end
  626.  
  627. local function removeBallLagReductionListener()
  628. if ballAddedConnection then
  629. ballAddedConnection:Disconnect()
  630. ballAddedConnection = nil
  631. end
  632. print("Ball ChildAdded listener removed.")
  633. end
  634.  
  635. worldTab.newToggle("Lag Reducer", "Reduces lag by removing shadows and ball visual effects (client-sided)", false, function(state)
  636. lagReducerActive = state
  637. if state then
  638. -- Remove global shadows
  639. Lighting.GlobalShadows = false
  640. -- Apply to existing balls
  641. for _, ball in ipairs(workspace.Balls:GetChildren()) do
  642. reduceBallLag(ball)
  643. end
  644. setupBallLagReductionListener()
  645. print("Lag Reducer enabled.")
  646. else
  647. -- Revert global shadows
  648. Lighting.GlobalShadows = true
  649. -- Revert ball changes (particles only, trails might be gone)
  650. revertBallLag()
  651. removeBallLagReductionListener()
  652. print("Lag Reducer disabled.")
  653. end
  654. end)
  655.  
  656. ---
  657. ---auto play
  658.  
  659. local autoPlayEnabled = false
  660. local autoPlayLoop = nil
  661. local currentMoveKeys = {} -- To store currently pressed movement keys
  662.  
  663. local MOVEMENT_KEYS = {
  664. Enum.KeyCode.W, -- Forward
  665. Enum.KeyCode.A, -- Left
  666. Enum.KeyCode.S, -- Backward
  667. Enum.KeyCode.D, -- Right
  668. }
  669.  
  670. local function releaseAllMovementKeys()
  671. for _, key in pairs(currentMoveKeys) do
  672. VirtualInputManager:SendKeyEvent(false, key, false, game)
  673. end
  674. currentMoveKeys = {}
  675. end
  676.  
  677. local function startAutoPlay()
  678. local character = localPlayer.Character
  679. local humanoid = character and character:FindFirstChildOfClass("Humanoid")
  680.  
  681. if not humanoid then
  682. warn("Auto Play: Humanoid not found. Cannot start.")
  683. return
  684. end
  685.  
  686. autoPlayEnabled = true
  687. print("Auto Play started.")
  688.  
  689. autoPlayLoop = task.spawn(function()
  690. while autoPlayEnabled do
  691. if not localPlayer.Character or not localPlayer.Character:FindFirstChildOfClass("Humanoid") then
  692. -- Stop if toggle off or character/humanoid invalid
  693. stopAutoPlay()
  694. break -- Exit the loop
  695. end
  696.  
  697. -- Release any previously pressed keys
  698. releaseAllMovementKeys()
  699.  
  700. -- Randomly pick one or two movement keys
  701. local numKeysToPress = math.random(1, 2)
  702. local selectedKeys = {}
  703. local tempMovementKeys = table.create(#MOVEMENT_KEYS, nil)
  704. for i, v in ipairs(MOVEMENT_KEYS) do
  705. tempMovementKeys[i] = v
  706. end
  707.  
  708. for i = 1, numKeysToPress do
  709. if #tempMovementKeys == 0 then break end
  710. local randomIndex = math.random(1, #tempMovementKeys)
  711. local key = tempMovementKeys[randomIndex]
  712. table.remove(tempMovementKeys, randomIndex)
  713. table.insert(selectedKeys, key)
  714. end
  715.  
  716. for _, key in pairs(selectedKeys) do
  717. VirtualInputManager:SendKeyEvent(true, key, false, game) -- Press key
  718. table.insert(currentMoveKeys, key) -- Add to currently pressed
  719. end
  720.  
  721. -- Random duration for holding keys
  722. task.wait(math.random(0.5, 2.5)) -- Hold for 0.5 to 2.5 seconds
  723.  
  724. -- Release keys before potentially pressing new ones
  725. releaseAllMovementKeys()
  726.  
  727. -- Occasionally jump
  728. if math.random(1, 20) == 1 then -- 5% chance for a jump
  729. local currentHumanoid = localPlayer.Character:FindFirstChildOfClass("Humanoid")
  730. if currentHumanoid and currentHumanoid.FloorMaterial ~= Enum.Material.Air then -- Only jump if on ground
  731. VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.Space, false, game)
  732. task.wait(0.1) -- Short press
  733. VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.Space, false, game)
  734. print("Auto Play: Jumping.")
  735. end
  736. end
  737.  
  738. task.wait(math.random(0.2, 0.8)) -- Short pause between movements
  739. end
  740. end)
  741. end
  742.  
  743. local function stopAutoPlay()
  744. if autoPlayLoop then
  745. task.cancel(autoPlayLoop) -- Use task.cancel for threads
  746. autoPlayLoop = nil
  747. end
  748. autoPlayEnabled = false
  749. releaseAllMovementKeys() -- Ensure all keys are released
  750. print("Auto Play stopped.")
  751. end
  752.  
  753. worldTab.newToggle("Auto Play", "Automatically moves and jumps like a player (client-sided)", false, function(state)
  754. if state then
  755. startAutoPlay()
  756. else
  757. stopAutoPlay()
  758. end
  759. end)
  760.  
  761. print("World UI tab created with ESP, Skin Changer, Shaders, Lag Reducer, and Auto Play toggles.")
  762.  
  763.  
  764. -- Others Tab
  765. local othersTab = DrRayLibrary.newTab("Others", icon)
  766. othersTab.newButton("Infinite Yield", "Load admin commands", function()
  767. loadstring(game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source"))()
  768. end)
  769. othersTab.newButton("Night Rewrite", "Load Night Rewrite script", function()
  770. loadstring(game:HttpGet("https://raw.githubusercontent.com/warprbx/NightRewrite/refs/heads/main/Night/Loader.luau"))()
  771. end)
  772. othersTab.newButton("Virtual Beta 1.0", "Coming soon", function() end)
  773. othersTab.newButton("Rejoin", "Rejoin the server", function()
  774. game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, game.JobId, game.Players.LocalPlayer)
  775. end)
  776. othersTab.newButton("Server Hop", "Join a new server", function()
  777. local HttpService = game:GetService("HttpService")
  778. local Servers = HttpService:JSONDecode(game:HttpGet("https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Desc&limit=100"))
  779. for _, v in pairs(Servers.data) do
  780. if v.playing < v.maxPlayers then
  781. game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, v.id)
  782. break
  783. end
  784. end
  785. end)
  786. print("Others UI tab created. All UI elements should be initialized.")
  787.  
  788. -- Core Logic (rest of your original core logic)
  789.  
  790. local RunService = game:GetService("RunService")
  791. local Players = game:GetService("Players")
  792. local VirtualInputManager = game:GetService("VirtualInputManager")
  793. local Player = Players.LocalPlayer
  794. local ParriedCount = 0
  795. local Cooldown, Connection = tick(), nil
  796. local Threshold = 0.56
  797. local LastSpeed = 0
  798. local ClashParryTriggered = false
  799. local ClashActivationRange = 35
  800. local LastParryTime = 0
  801.  
  802. -- New variables for explicit parry input cooldown
  803. local LastParryInputTime = 0
  804. local ParryInputCooldown = 0.2 -- Reverted to a more practical value
  805.  
  806. -- Set ParryDebounce based on ClashActivationRange
  807. local ParryDebounce
  808. if ClashActivationRange <= 35 and ClashActivationRange >= 30 then
  809. ParryDebounce = 0.07
  810. elseif ClashActivationRange < 30 then
  811. ParryDebounce = 0.07
  812. else
  813. ParryDebounce = 0.07
  814. end
  815.  
  816. -- NEW: Variable for Clash Spam Rate
  817. local ClashSpamRate = 0.005 -- Extremely low value for aggressive spam
  818.  
  819. local function GetBall()
  820. for _, Ball in ipairs(workspace.Balls:GetChildren()) do
  821. if Ball:GetAttribute("realBall") then return Ball end
  822. end
  823. end
  824.  
  825. local function ResetConnection()
  826. if Connection then Connection:Disconnect() Connection = nil end
  827. end
  828.  
  829. workspace.Balls.ChildAdded:Connect(function()
  830. task.wait(0.05)
  831. local Ball = GetBall()
  832. if not Ball then return end
  833. ResetConnection()
  834. Connection = Ball:GetAttributeChangedSignal("target"):Connect(function()
  835. ParriedCount = 0
  836. end)
  837. end)
  838.  
  839. RunService.PreSimulation:Connect(function()
  840. if not AllusiveAutoParry then return end
  841. local Ball = GetBall()
  842. local HRP = Player.Character and Player.Character:FindFirstChild("HumanoidRootPart")
  843. if not Ball or not HRP then
  844. if AntiCurve then Threshold = 0.4 end
  845. return
  846. end
  847.  
  848. local Speed = Ball.zoomies.VectorVelocity.Magnitude
  849. local Velocity = Ball.zoomies.VectorVelocity
  850. local Distance = (HRP.Position - Ball.Position).Magnitude
  851.  
  852. local DirectionDelta = (Velocity.Unit - (Ball.Velocity.Unit or Velocity.Unit)).Magnitude
  853. local CurvingHard = DirectionDelta >= 1.2
  854.  
  855. if AntiCurve then
  856. if CurvingHard and Speed > 40 then
  857. Threshold = 0.17
  858. elseif Speed >= 60 then
  859. Threshold = 0.255
  860. elseif Speed >= 40 then
  861. Threshold = 0.55
  862. elseif Speed >= 20 then
  863. Threshold = 0.77
  864. else
  865. Threshold = 1.3
  866. end
  867. end
  868.  
  869. LastSpeed = Speed
  870.  
  871. if AntiBallMovement and Speed < 1 then return end
  872. if AutoDetectAeroEnabled then
  873. local posY = Ball.Position.Y
  874. local velY = Ball.zoomies.VectorVelocity.Y
  875. if posY > 70 and velY < 90 then
  876. AllowAeroParryAt = tick() + 4
  877. end
  878. end
  879.  
  880. if Ball:GetAttribute("target") == Player.Name and Distance / Speed <= Threshold then
  881. -- Apply the explicit input cooldown before sending the key
  882. if tick() - LastParryInputTime > ParryInputCooldown then
  883. if ParriedCount < 1 and tick() - LastParryTime > ParryDebounce then
  884. LastParryTime = tick() -- update debounce timestamp
  885.  
  886. -- Simulate a quick key press and release for 'F'
  887. VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.F, false, game)
  888.  
  889. VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.F, false, game)
  890. LastParryInputTime = tick() -- Update the input time immediately after sending
  891.  
  892. ParriedCount += 1
  893.  
  894. if ParriedCount == 1 then
  895. -- Enable Clash if someone nearby
  896. ClashParryTriggered = false
  897. for _, plr in ipairs(Players:GetPlayers()) do
  898. if plr ~= Player and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
  899. if (plr.Character.HumanoidRootPart.Position - HRP.Position).Magnitude < ClashActivationRange then
  900. ClashParryTriggered = true
  901. break
  902. end
  903. end
  904. end
  905. if not ClashParryTriggered and workspace:FindFirstChild("Live") then
  906. for _, npc in ipairs(workspace.Live:GetChildren()) do
  907. if npc:FindFirstChild("HumanoidRootPart") then
  908. if (npc.HumanoidRootPart.Position - HRP.Position).Magnitude < ClashActivationRange then
  909. ClashParryTriggered = true
  910. break
  911. end
  912. end
  913. end
  914. end
  915.  
  916. if AutoAbility and ParriedCount == 1 then
  917. task.wait(0.03)
  918. VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.Q, false, game)
  919.  
  920. VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.fn, false, game)
  921. end
  922. end
  923. end
  924. end
  925. end
  926. end)
  927.  
  928. -- MODIFIED: Allusive Clash Parry Logic
  929. local ClashSpamLoop = nil -- To hold the RenderStepped connection for clash spam
  930.  
  931. RunService.Heartbeat:Connect(function()
  932. local HRP = Player.Character and Player.Character:FindFirstChild("HumanoidRootPart")
  933. if not HRP then return end
  934.  
  935. if AllusiveClashParry and ParriedCount >= 2 then
  936. local stillNear = false
  937.  
  938. for _, plr in ipairs(Players:GetPlayers()) do
  939. if plr ~= Player and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
  940. if (plr.Character.HumanoidRootPart.Position - HRP.Position).Magnitude < ClashActivationRange then
  941. stillNear = true
  942. break
  943. end
  944. end
  945. end
  946.  
  947. if not stillNear and workspace:FindFirstChild("Live") then
  948. for _, npc in ipairs(workspace.Live:GetChildren()) do
  949. if npc:FindFirstChild("HumanoidRootPart") then
  950. if (npc.HumanoidRootPart.Position - HRP.Position).Magnitude < ClashActivationRange then
  951. stillNear = true
  952. break
  953. end
  954. end
  955. end
  956. end
  957.  
  958. if stillNear then
  959. if not ClashSpamLoop then
  960. -- Start aggressive F-spamming when clash is triggered and nearby
  961. ClashSpamLoop = RunService.RenderStepped:Connect(function()
  962. VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.F, false, game)
  963. VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.F, false, game)
  964. task.wait(ClashSpamRate) -- Use the defined spam rate
  965. end)
  966. end
  967. else
  968. -- If no longer near or AllusiveClashParry is off, stop spamming
  969. if ClashSpamLoop then
  970. ClashSpamLoop:Disconnect()
  971. ClashSpamLoop = nil
  972. end
  973. ClashParryTriggered = false -- Reset clash trigger
  974. end
  975. else
  976. -- If AllusiveClashParry toggle is off or ParriedCount is less than 2, stop spamming
  977. if ClashSpamLoop then
  978. ClashSpamLoop:Disconnect()
  979. ClashSpamLoop = nil
  980. end
  981. ClashParryTriggered = false -- Ensure this is reset if toggle is off
  982. end
  983.  
  984.  
  985. if AutoCurve then
  986. local Ball = GetBall()
  987. if Ball and Ball:GetAttribute("target") == Player.Name then
  988. local char = Player.Character
  989. local hrp = char and char:FindFirstChild("HumanoidRootPart")
  990. if hrp then
  991. local look = hrp.CFrame.LookVector
  992. Ball.CFrame = Ball.CFrame * CFrame.new(look.X * 0.5, 0, look.Z * 0.5)
  993. end
  994. end
  995. end
  996. end)
Advertisement
Add Comment
Please, Sign In to add comment