ADVERTISEMENTREMOVE ADS
Project Mercury
47,174 views

Script Preview
Description
Smart Auto Parry system with Combo, Target Lock, Speed and GUI tools. Stable and fast.
Tested with
ADVERTISEMENTREMOVE ADS
142 Lines • 5.8 KiB
-- Project Mercury - Full Fixes and Enhancements (English Version)
-- Features: Round Reset Fix, GUI Categories, Live Stats, Target Lock, Parry Combo, Cooldown Bar
local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))()
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UIS = game:GetService("UserInputService")
local VIM = game:GetService("VirtualInputManager")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()
-- GUI Player List
local function createDropdownOptions()
local list = {}
for _, p in ipairs(Players:GetPlayers()) do
if p ~= LocalPlayer then table.insert(list, p.Name) end
end
return list
end
-- Variables
local Character, Humanoid, RootPart
local function refreshCharacter()
Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
Humanoid = Character:WaitForChild("Humanoid")
RootPart = Character:WaitForChild("HumanoidRootPart")
end
refreshCharacter()
LocalPlayer.CharacterAdded:Connect(refreshCharacter)
-- Config
local config = {
autoParry = false,
distance = 20,
cooldown = 0.3,
last = 0,
speed = false,
speedValue = 90,
noclip = false,
antiRagdoll = false,
teleportKey = Enum.KeyCode.T,
success = 0,
miss = 0,
comboCount = 2,
targetLock = {},
useLock = false
}
-- Parry Action
local function doParry()
local vp = Camera.ViewportSize
for i = 1, config.comboCount do
VIM:SendMouseButtonEvent(vp.X/2, vp.Y/2, 0, true, game, 0)
task.wait(0.02)
VIM:SendMouseButtonEvent(vp.X/2, vp.Y/2, 0, false, game, 0)
end
config.success += 1
config.last = tick()
end
-- GUI Setup
local window = Rayfield:CreateWindow({Name="Project Mercury", LoadingTitle="Loading...", LoadingSubtitle="v11", ConfigurationSaving={Enabled=true, FolderName="Mercury_CFG"}})
local tab1 = window:CreateTab("🥊 Combat")
local tab2 = window:CreateTab("⚙️ Settings")
local tab3 = window:CreateTab("📊 Stats")
tab1:CreateToggle({Name="Auto Parry", CurrentValue=false, Callback=function(v) config.autoParry=v end})
tab1:CreateSlider({Name="Parry Range", Range={5,60}, Increment=1, CurrentValue=config.distance, Suffix="Stud", Callback=function(v) config.distance=v end})
tab1:CreateSlider({Name="Parry Cooldown", Range={0.1,1}, Increment=0.05, CurrentValue=config.cooldown, Suffix="s", Callback=function(v) config.cooldown=v end})
tab1:CreateSlider({Name="Parry Repeats", Range={1,5}, Increment=1, CurrentValue=config.comboCount, Suffix="Hits", Callback=function(v) config.comboCount=v end})
tab1:CreateToggle({Name="Only Targeted Players", CurrentValue=false, Callback=function(v) config.useLock=v end})
local dropdown = tab1:CreateDropdown({Name="Target Lock List", Options=createDropdownOptions(), MultipleOptions=true, Callback=function(list)
config.targetLock = {}; for _, name in ipairs(list) do config.targetLock[name] = true end
end})
Players.PlayerAdded:Connect(function(p)
task.wait(1)
dropdown:SetOptions(createDropdownOptions())
end)
tab2:CreateToggle({Name="Enable Speed", CurrentValue=false, Callback=function(v) config.speed=v end})
tab2:CreateSlider({Name="Speed Value", Range={16,200}, Increment=1, CurrentValue=config.speedValue, Suffix="WS", Callback=function(v) config.speedValue=v end})
tab2:CreateToggle({Name="NoClip (Walk Through Walls)", CurrentValue=false, Callback=function(v) config.noclip=v end})
tab2:CreateToggle({Name="Anti Ragdoll", CurrentValue=false, Callback=function(v) config.antiRagdoll=v end})
-- Live Stats
local statsLabel = tab3:CreateLabel("✅ Hits: 0 | ❌ Misses: 0")
local cooldownLabel = tab3:CreateLabel("⏱️ Cooldown: %0")
local function updateStats()
statsLabel.Text = string.format("✅ Hits: %d | ❌ Misses: %d", config.success, config.miss)
end
local function updateCooldown()
local pct = math.clamp((tick() - config.last) / config.cooldown, 0, 1)
cooldownLabel.Text = string.format("⏱️ Cooldown: %d%%", math.floor(pct * 100))
end
-- Loops
RunService.RenderStepped:Connect(function()
if Humanoid then Humanoid.WalkSpeed = config.speed and config.speedValue or 16 end
if config.noclip then
for _, p in ipairs(Character:GetDescendants()) do
if p:IsA("BasePart") then p.CanCollide = false end
end
end
updateCooldown()
end)
RunService.Heartbeat:Connect(function()
if config.antiRagdoll and Humanoid and Humanoid.PlatformStand then
Humanoid.PlatformStand = false
Humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
end
if config.autoParry and tick() - config.last >= config.cooldown then
local acted = false
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and (not config.useLock or config.targetLock[player.Name]) then
local ch = player.Character
if ch and ch:FindFirstChild("HumanoidRootPart") and ch:FindFirstChild("Humanoid") then
local h = ch.Humanoid
local dist = (RootPart.Position - ch.HumanoidRootPart.Position).Magnitude
if dist <= config.distance and h.Health > 0 and h.MoveDirection.Magnitude > 0.2 then
doParry()
acted = true
break
end
end
end
end
if not acted then config.miss += 1 end
updateStats()
end
end)
-- Teleport (T Key)
UIS.InputBegan:Connect(function(i,g)
if not g and i.KeyCode == config.teleportKey and Mouse and Mouse.Hit then
RootPart.CFrame = CFrame.new(Mouse.Hit.Position + Vector3.new(0,3,0))
end
end)
print("✅ Project Mercury v11 loaded")
ADVERTISEMENTREMOVE ADS
ADVERTISEMENTREMOVE ADS





Comments