Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))()
- local Players, RunService = game:GetService("Players"), game:GetService("RunService")
- local localPlayer = Players.LocalPlayer
- local myRoot = nil
- local animationIds = {
- ["126830014841198"] = true, ["126355327951215"] = true, ["121086746534252"] = true,
- ["18885909645"] = true, ["98456918873918"] = true, ["105458270463374"] = true,
- ["83829782357897"] = true, ["125403313786645"] = true, ["118298475669935"] = true,
- ["82113744478546"] = true, ["70371667919898"] = true, ["99135633258223"] = true,
- ["97167027849946"] = true, ["109230267448394"] = true, ["139835501033932"] = true,
- ["126896426760253"] = true,
- }
- local detectionRange, blockDelay, toggleOn = 18, -0.35, false
- local lastBlockTime = 0
- -- ✅ Click block function (mobile safe)
- local function clickBlockButton()
- local gui = localPlayer:FindFirstChild("PlayerGui")
- if not gui then return end
- local mainUI = gui:FindFirstChild("MainUI")
- local container = mainUI and mainUI:FindFirstChild("AbilityContainer")
- local blockButton = container and container:FindFirstChild("Block")
- if blockButton and blockButton:IsA("ImageButton") and blockButton.Visible then
- local success = false
- for _, conn in ipairs(getconnections(blockButton.MouseButton1Click)) do
- pcall(function() conn:Fire(); success = true end)
- end
- if not success then pcall(function() blockButton:Activate() end) end
- end
- end
- -- ✅ Detect slashing animations
- local function isSlashing(humanoid)
- for _, track in ipairs(humanoid:GetPlayingAnimationTracks()) do
- local id = string.match(track.Animation.AnimationId, "%d+")
- if id and (
- animationIds[id] or
- string.find(string.lower(track.Animation.Name), "slash") or
- string.find(string.lower(track.Animation.Name), "attack")
- ) then
- return true, track.Length
- end
- end
- return false
- end
- -- ✅ Auto block + punch function
- local function autoBlockAndPunch(killer)
- local now = tick()
- if now - lastBlockTime < 0.4 then return end
- lastBlockTime = now
- if myRoot and killer and killer:FindFirstChild("HumanoidRootPart") then
- myRoot.CFrame = CFrame.new(myRoot.Position, killer.HumanoidRootPart.Position)
- end
- clickBlockButton()
- -- 🥊 Auto Punch x3 with slight delay for consistent hits
- task.spawn(function()
- for i = 1, 3 do
- local punch = localPlayer.Backpack:FindFirstChild("Punch") or localPlayer.Character:FindFirstChild("Punch")
- if punch and punch:IsA("Tool") then punch:Activate() end
- task.wait(0.1)
- end
- end)
- end
- -- ✅ Main detection loop with approach speed + predictive block
- RunService.Heartbeat:Connect(function()
- if not toggleOn then return end
- myRoot = localPlayer.Character and localPlayer.Character:FindFirstChild("HumanoidRootPart")
- if not myRoot then return end
- for _, otherPlayer in ipairs(Players:GetPlayers()) do
- if otherPlayer ~= localPlayer and otherPlayer.Character then
- local root = otherPlayer.Character:FindFirstChild("HumanoidRootPart")
- local humanoid = otherPlayer.Character:FindFirstChildOfClass("Humanoid")
- if root and humanoid then
- local dist = (root.Position - myRoot.Position).Magnitude
- -- ✅ Approach speed check
- local velocity = root.Velocity.Magnitude
- if dist <= detectionRange and velocity > 8 then
- autoBlockAndPunch(otherPlayer.Character)
- end
- -- ✅ Animation predictive block
- local slashing, length = isSlashing(humanoid)
- if slashing then
- task.delay(length + blockDelay, function()
- autoBlockAndPunch(otherPlayer.Character)
- end)
- end
- end
- end
- end
- end)
- -- ✅ Rayfield GUI
- local Window = Rayfield:CreateWindow({
- Name = "Guest 1337 | Triplex Hub (High Ping)",
- LoadingTitle = "Guest 1337 Script",
- LoadingSubtitle = "By Triplex",
- ConfigurationSaving = {
- Enabled = true,
- FolderName = "TriplexGuest1337",
- FileName = "Guest1337Config"
- },
- KeySystem = false
- })
- local MainTab = Window:CreateTab("Guest 1337", 4483362458)
- MainTab:CreateToggle({
- Name = "Auto Block + Punch (150ms+ Optimized)",
- CurrentValue = false,
- Flag = "AutoBlock",
- Callback = function(Value)
- toggleOn = Value
- end,
- })
- MainTab:CreateSlider({
- Name = "Detection Range",
- Range = {5,50},
- Increment = 1,
- CurrentValue = 18,
- Flag = "DetectRange",
- Callback = function(Value)
- detectionRange = Value
- end,
- })
Advertisement
Add Comment
Please, Sign In to add comment