ADVERTISEMENTREMOVE ADS
Game icon

Project Mercury

Script preview thumbnail
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
Raw
-- 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

Comments

0 comments
to add a comment
Loading comments
ADVERTISEMENTREMOVE ADS