-- ============================================ -- AUTOPERFECT+ - GUI Esthétique -- KEY : BITE -- ============================================ local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UIS = game:GetService("UserInputService") local RS = game:GetService("ReplicatedStorage") local LP = Players.LocalPlayer local PG = LP:WaitForChild("PlayerGui") local SECRET_KEY = "BITE" local ACCENT = Color3.fromRGB(130, 150, 220) -- ═══════════════════════════════════════════ -- KEY GUI (inchangé) -- ═══════════════════════════════════════════ local keyGui = Instance.new("ScreenGui") keyGui.Name = "KeySystem" keyGui.ResetOnSpawn = false keyGui.IgnoreGuiInset = true keyGui.DisplayOrder = 100 keyGui.Parent = PG local overlay = Instance.new("Frame", keyGui) overlay.Size = UDim2.new(1, 0, 1, 0) overlay.BackgroundColor3 = Color3.fromRGB(0, 0, 0) overlay.BackgroundTransparency = 0.5 overlay.BorderSizePixel = 0 overlay.Active = true local box = Instance.new("Frame", keyGui) box.Size = UDim2.new(0, 340, 0, 240) box.Position = UDim2.new(0.5, -170, 0.5, -120) box.BackgroundColor3 = Color3.fromRGB(22, 22, 28) box.BorderSizePixel = 0 box.Active = true Instance.new("UICorner", box).CornerRadius = UDim.new(0, 12) local boxStroke = Instance.new("UIStroke", box) boxStroke.Color = ACCENT boxStroke.Thickness = 1 boxStroke.Transparency = 0.6 local title = Instance.new("TextLabel", box) title.Size = UDim2.new(1, -40, 0, 24) title.Position = UDim2.new(0, 20, 0, 20) title.BackgroundTransparency = 1 title.Text = "AUTHENTIFICATION" title.TextColor3 = Color3.fromRGB(230, 230, 240) title.Font = Enum.Font.GothamBold title.TextSize = 14 title.TextScaled = false local sub = Instance.new("TextLabel", box) sub.Size = UDim2.new(1, -40, 0, 16) sub.Position = UDim2.new(0, 20, 0, 48) sub.BackgroundTransparency = 1 sub.Text = "Entrez la clé d'accès" sub.TextColor3 = Color3.fromRGB(140, 140, 155) sub.Font = Enum.Font.Gotham sub.TextSize = 11 sub.TextScaled = false local inputBox = Instance.new("TextBox", box) inputBox.Size = UDim2.new(1, -40, 0, 40) inputBox.Position = UDim2.new(0, 20, 0, 78) inputBox.BackgroundColor3 = Color3.fromRGB(15, 15, 20) inputBox.BorderSizePixel = 0 inputBox.Text = "" inputBox.PlaceholderText = "Clé..." inputBox.TextColor3 = Color3.fromRGB(230, 230, 240) inputBox.PlaceholderColor3 = Color3.fromRGB(90, 90, 105) inputBox.Font = Enum.Font.Gotham inputBox.TextSize = 13 inputBox.TextScaled = false inputBox.ClearTextOnFocus = false inputBox.TextXAlignment = Enum.TextXAlignment.Center Instance.new("UICorner", inputBox).CornerRadius = UDim.new(0, 8) local inputStroke = Instance.new("UIStroke", inputBox) inputStroke.Color = Color3.fromRGB(50, 50, 65) inputStroke.Thickness = 1 inputBox.Focused:Connect(function() inputStroke.Color = ACCENT end) inputBox.FocusLost:Connect(function() inputStroke.Color = Color3.fromRGB(50, 50, 65) end) local btn = Instance.new("TextButton", box) btn.Size = UDim2.new(1, -40, 0, 40) btn.Position = UDim2.new(0, 20, 0, 130) btn.BackgroundColor3 = ACCENT btn.Text = "VALIDER" btn.TextColor3 = Color3.fromRGB(255, 255, 255) btn.Font = Enum.Font.GothamBold btn.TextSize = 13 btn.TextScaled = false btn.AutoButtonColor = false Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8) local msg = Instance.new("TextLabel", box) msg.Size = UDim2.new(1, -40, 0, 18) msg.Position = UDim2.new(0, 20, 0, 182) msg.BackgroundTransparency = 1 msg.Text = "" msg.TextColor3 = Color3.fromRGB(255, 100, 100) msg.Font = Enum.Font.Gotham msg.TextSize = 11 msg.TextScaled = false -- ═══════════════════════════════════════════ -- WELCOME -- ═══════════════════════════════════════════ local function showWelcome(cb) box.Visible = false local wBox = Instance.new("Frame", keyGui) wBox.Size = UDim2.new(0, 260, 0, 280) wBox.Position = UDim2.new(0.5, -130, 0.5, -140) wBox.BackgroundColor3 = Color3.fromRGB(22, 22, 28) wBox.BorderSizePixel = 0 wBox.Active = true Instance.new("UICorner", wBox).CornerRadius = UDim.new(0, 12) local wStroke = Instance.new("UIStroke", wBox) wStroke.Color = ACCENT wStroke.Thickness = 1 wStroke.Transparency = 0.6 local aFrame = Instance.new("Frame", wBox) aFrame.Size = UDim2.new(0, 90, 0, 90) aFrame.Position = UDim2.new(0.5, -45, 0, 30) aFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 45) aFrame.BorderSizePixel = 0 Instance.new("UICorner", aFrame).CornerRadius = UDim.new(1, 0) local aStroke = Instance.new("UIStroke", aFrame) aStroke.Color = ACCENT aStroke.Thickness = 1.5 local avatar = Instance.new("ImageLabel", aFrame) avatar.Size = UDim2.new(1, -6, 1, -6) avatar.Position = UDim2.new(0, 3, 0, 3) avatar.BackgroundTransparency = 1 avatar.Image = "rbxthumb://type=AvatarHeadShot&id=" .. LP.UserId .. "&w=420&h=420" avatar.ScaleType = Enum.ScaleType.Crop Instance.new("UICorner", avatar).CornerRadius = UDim.new(1, 0) local w1 = Instance.new("TextLabel", wBox) w1.Size = UDim2.new(1, -40, 0, 16) w1.Position = UDim2.new(0, 20, 0, 140) w1.BackgroundTransparency = 1 w1.Text = "BIENVENUE" w1.TextColor3 = Color3.fromRGB(140, 140, 155) w1.Font = Enum.Font.Gotham w1.TextSize = 10 w1.TextScaled = false local w2 = Instance.new("TextLabel", wBox) w2.Size = UDim2.new(1, -40, 0, 30) w2.Position = UDim2.new(0, 20, 0, 162) w2.BackgroundTransparency = 1 w2.Text = LP.DisplayName w2.TextColor3 = Color3.fromRGB(230, 230, 240) w2.Font = Enum.Font.GothamBold w2.TextSize = 20 w2.TextScaled = false w2.TextTruncate = Enum.TextTruncate.AtEnd local w3 = Instance.new("TextLabel", wBox) w3.Size = UDim2.new(1, -40, 0, 16) w3.Position = UDim2.new(0, 20, 0, 196) w3.BackgroundTransparency = 1 w3.Text = "@" .. LP.Name w3.TextColor3 = Color3.fromRGB(140, 140, 155) w3.Font = Enum.Font.Gotham w3.TextSize = 11 w3.TextScaled = false w3.TextTruncate = Enum.TextTruncate.AtEnd local line = Instance.new("Frame", wBox) line.Size = UDim2.new(1, -60, 0, 1) line.Position = UDim2.new(0, 30, 0, 228) line.BackgroundColor3 = Color3.fromRGB(50, 50, 65) line.BorderSizePixel = 0 local w4 = Instance.new("TextLabel", wBox) w4.Size = UDim2.new(1, -40, 0, 16) w4.Position = UDim2.new(0, 20, 0, 240) w4.BackgroundTransparency = 1 w4.Text = "● Système prêt" w4.TextColor3 = ACCENT w4.Font = Enum.Font.Gotham w4.TextSize = 11 w4.TextScaled = false task.wait(1.8) keyGui:Destroy() cb() end -- ═══════════════════════════════════════════ -- VALIDATION -- ═══════════════════════════════════════════ local validating = false local function validate() if validating then return end if inputBox.Text == SECRET_KEY then validating = true msg.Text = "✓ Clé correcte" msg.TextColor3 = ACCENT task.wait(0.4) showWelcome(function() if _G.Main then _G.Main() end end) else msg.Text = "✕ Clé incorrecte" msg.TextColor3 = Color3.fromRGB(255, 100, 100) inputBox.Text = "" end end btn.MouseButton1Click:Connect(validate) inputBox.FocusLost:Connect(function(p) if p then validate() end end) -- ═══════════════════════════════════════════ -- MAIN SCRIPT -- ═══════════════════════════════════════════ function _G.Main() local CFG = { AutoPerfect = true, AutoDodge = true, AutoGuess = true, AutoSlapQueue = false, PerfectValue = 0.999999, DodgeDelay = 0.1, LastSlapper = nil, } local function findRemote(name) local events = RS:FindFirstChild("events") if events then local r = events:FindFirstChild(name) if r then return r end end for _, d in ipairs(RS:GetDescendants()) do if d:IsA("RemoteEvent") and d.Name == name then return d end end end local sendSlap = findRemote("SendSlap") local dodgeR = findRemote("Dodge") local guessR = findRemote("Guess") local queueR = findRemote("SlapQueue") print(("[AP+] SendSlap=%s Dodge=%s Guess=%s Queue=%s"):format( sendSlap and "OK" or "X", dodgeR and "OK" or "X", guessR and "OK" or "X", queueR and "OK" or "X" )) -- ═══════════════════════════════════════════ -- MAIN GUI - DESIGN ESTHÉTIQUE -- ═══════════════════════════════════════════ local gui = Instance.new("ScreenGui") gui.Name = "AutoPerfect" gui.ResetOnSpawn = false gui.IgnoreGuiInset = true gui.Parent = PG local main = Instance.new("Frame", gui) main.Size = UDim2.new(0, 320, 0, 400) main.Position = UDim2.new(0, 20, 0.5, -200) main.BackgroundColor3 = Color3.fromRGB(18, 18, 24) main.BorderSizePixel = 0 main.Active = true Instance.new("UICorner", main).CornerRadius = UDim.new(0, 14) -- Bordure glow local mainStroke = Instance.new("UIStroke", main) mainStroke.Color = ACCENT mainStroke.Thickness = 1.2 mainStroke.Transparency = 0.5 -- Gradient subtil local mainGrad = Instance.new("UIGradient", main) mainGrad.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(22, 22, 30)), ColorSequenceKeypoint.new(1, Color3.fromRGB(15, 15, 20)), } mainGrad.Rotation = 90 -- ═══ HEADER ═══ local hdr = Instance.new("Frame", main) hdr.Size = UDim2.new(1, 0, 0, 52) hdr.BackgroundColor3 = Color3.fromRGB(28, 28, 36) hdr.BorderSizePixel = 0 hdr.Active = true hdr.Parent = main Instance.new("UICorner", hdr).CornerRadius = UDim.new(0, 14) local hdrFix = Instance.new("Frame", hdr) hdrFix.Size = UDim2.new(1, 0, 0, 16) hdrFix.Position = UDim2.new(0, 0, 1, -16) hdrFix.BackgroundColor3 = Color3.fromRGB(28, 28, 36) hdrFix.BorderSizePixel = 0 hdrFix.Active = false hdrFix.Parent = hdr -- Petit gradient sur le header local hdrGrad = Instance.new("UIGradient", hdr) hdrGrad.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(35, 35, 45)), ColorSequenceKeypoint.new(1, Color3.fromRGB(22, 22, 30)), } hdrGrad.Rotation = 90 -- Point pulsant local hdrDot = Instance.new("Frame", hdr) hdrDot.Size = UDim2.new(0, 9, 0, 9) hdrDot.Position = UDim2.new(0, 18, 0.5, -4.5) hdrDot.BackgroundColor3 = ACCENT hdrDot.BorderSizePixel = 0 hdrDot.Active = false hdrDot.Parent = hdr Instance.new("UICorner", hdrDot).CornerRadius = UDim.new(1, 0) -- Halo autour du dot local dotHalo = Instance.new("Frame", hdr) dotHalo.Size = UDim2.new(0, 17, 0, 17) dotHalo.Position = UDim2.new(0, 14, 0.5, -8.5) dotHalo.BackgroundColor3 = ACCENT dotHalo.BackgroundTransparency = 0.7 dotHalo.BorderSizePixel = 0 dotHalo.Active = false dotHalo.Parent = hdr Instance.new("UICorner", dotHalo).CornerRadius = UDim.new(1, 0) -- Animation pulse du halo task.spawn(function() while hdrDot.Parent do TweenService:Create(dotHalo, TweenInfo.new(1.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Size = UDim2.new(0, 22, 0, 22), Position = UDim2.new(0, 11.5, 0.5, -11), BackgroundTransparency = 0.9 }):Play() task.wait(1.5) TweenService:Create(dotHalo, TweenInfo.new(1.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Size = UDim2.new(0, 17, 0, 17), Position = UDim2.new(0, 14, 0.5, -8.5), BackgroundTransparency = 0.7 }):Play() task.wait(1.5) end end) -- Titre local hdrTitle = Instance.new("TextLabel", hdr) hdrTitle.Size = UDim2.new(1, -130, 1, 0) hdrTitle.Position = UDim2.new(0, 38, 0, 0) hdrTitle.BackgroundTransparency = 1 hdrTitle.Text = "AutoPerfect+" hdrTitle.TextColor3 = Color3.fromRGB(235, 235, 245) hdrTitle.Font = Enum.Font.GothamBold hdrTitle.TextSize = 14 hdrTitle.TextScaled = false hdrTitle.TextXAlignment = Enum.TextXAlignment.Left hdrTitle.Active = false -- Badge version local verBadge = Instance.new("Frame", hdr) verBadge.Size = UDim2.new(0, 42, 0, 18) verBadge.Position = UDim2.new(1, -54, 0.5, -9) verBadge.BackgroundColor3 = Color3.fromRGB(50, 50, 65) verBadge.BorderSizePixel = 0 verBadge.Active = false verBadge.Parent = hdr Instance.new("UICorner", verBadge).CornerRadius = UDim.new(0, 6) local verTxt = Instance.new("TextLabel", verBadge) verTxt.Size = UDim2.new(1, 0, 1, 0) verTxt.BackgroundTransparency = 1 verTxt.Text = "v1.0" verTxt.TextColor3 = Color3.fromRGB(180, 180, 200) verTxt.Font = Enum.Font.GothamBold verTxt.TextSize = 9 verTxt.TextScaled = false -- Ligne séparatrice sous le header local sepLine = Instance.new("Frame", main) sepLine.Size = UDim2.new(1, -32, 0, 1) sepLine.Position = UDim2.new(0, 16, 0, 52) sepLine.BackgroundColor3 = Color3.fromRGB(40, 40, 50) sepLine.BorderSizePixel = 0 -- ═══ SECTION COULEUR ═══ local colorTitle = Instance.new("TextLabel", main) colorTitle.Size = UDim2.new(1, -32, 0, 14) colorTitle.Position = UDim2.new(0, 16, 0, 66) colorTitle.BackgroundTransparency = 1 colorTitle.Text = "COULEUR" colorTitle.TextColor3 = Color3.fromRGB(120, 120, 140) colorTitle.Font = Enum.Font.GothamBold colorTitle.TextSize = 9 colorTitle.TextScaled = false colorTitle.TextXAlignment = Enum.TextXAlignment.Left colorTitle.Active = false local colorRow = Instance.new("Frame", main) colorRow.Size = UDim2.new(1, -32, 0, 32) colorRow.Position = UDim2.new(0, 16, 0, 86) colorRow.BackgroundTransparency = 1 colorRow.Active = false colorRow.Parent = main local COLORS = { Color3.fromRGB(130, 150, 220), Color3.fromRGB(110, 200, 170), Color3.fromRGB(170, 130, 220), Color3.fromRGB(220, 130, 160), Color3.fromRGB(220, 180, 110), Color3.fromRGB(110, 200, 220), } local colorBtns = {} local toggleButtons = {} local function updateAccent(c) ACCENT = c mainStroke.Color = c hdrDot.BackgroundColor3 = c dotHalo.BackgroundColor3 = c for _, t in ipairs(toggleButtons) do if t:GetAttribute("on") then t.BackgroundColor3 = c end end end for i, c in ipairs(COLORS) do local b = Instance.new("TextButton", colorRow) b.Size = UDim2.new(1/#COLORS, -5, 1, 0) b.Position = UDim2.new((i-1)/#COLORS, 2.5, 0, 0) b.BackgroundColor3 = c b.Text = "" b.BorderSizePixel = 0 b.AutoButtonColor = false Instance.new("UICorner", b).CornerRadius = UDim.new(0, 7) local bStroke = Instance.new("UIStroke", b) bStroke.Color = Color3.fromRGB(255, 255, 255) bStroke.Thickness = 2 bStroke.Transparency = (c == ACCENT) and 0 or 1 b.MouseButton1Click:Connect(function() for _, other in ipairs(colorBtns) do local os = other:FindFirstChildOfClass("UIStroke") if os then os.Transparency = 1 end end bStroke.Transparency = 0 updateAccent(c) end) table.insert(colorBtns, b) end -- ═══ SECTION TOGGLES ═══ local togglesTitle = Instance.new("TextLabel", main) togglesTitle.Size = UDim2.new(1, -32, 0, 14) togglesTitle.Position = UDim2.new(0, 16, 0, 134) togglesTitle.BackgroundTransparency = 1 togglesTitle.Text = "FONCTIONNALITÉS" togglesTitle.TextColor3 = Color3.fromRGB(120, 120, 140) togglesTitle.Font = Enum.Font.GothamBold togglesTitle.TextSize = 9 togglesTitle.TextScaled = false togglesTitle.TextXAlignment = Enum.TextXAlignment.Left togglesTitle.Active = false local function makeToggle(yPos, name, initial, cb) local t = Instance.new("TextButton", main) t.Size = UDim2.new(1, -32, 0, 44) t.Position = UDim2.new(0, 16, 0, yPos) t.BackgroundColor3 = initial and ACCENT or Color3.fromRGB(35, 35, 45) t.Text = "" t.AutoButtonColor = false t.BorderSizePixel = 0 t.Parent = main Instance.new("UICorner", t).CornerRadius = UDim.new(0, 10) t:SetAttribute("on", initial) -- Bordure local tStroke = Instance.new("UIStroke", t) tStroke.Color = initial and ACCENT or Color3.fromRGB(55, 55, 70) tStroke.Thickness = 1 tStroke.Transparency = initial and 0.5 or 0 -- Nom local tLeft = Instance.new("TextLabel", t) tLeft.Size = UDim2.new(1, -90, 1, 0) tLeft.Position = UDim2.new(0, 16, 0, 0) tLeft.BackgroundTransparency = 1 tLeft.Text = name tLeft.TextColor3 = Color3.fromRGB(235, 235, 245) tLeft.Font = Enum.Font.GothamMedium tLeft.TextSize = 12 tLeft.TextScaled = false tLeft.TextXAlignment = Enum.TextXAlignment.Left tLeft.Active = false -- Badge ON/OFF avec indicateur rond local badge = Instance.new("Frame", t) badge.Size = UDim2.new(0, 52, 0, 24) badge.Position = UDim2.new(1, -66, 0.5, -12) badge.BackgroundColor3 = initial and ACCENT or Color3.fromRGB(45, 45, 58) badge.BorderSizePixel = 0 badge.Active = false badge.Parent = t Instance.new("UICorner", badge).CornerRadius = UDim.new(0, 12) -- Indicateur (rond ou OFF) local indicator = Instance.new("Frame", badge) indicator.Size = UDim2.new(0, 18, 0, 18) indicator.Position = initial and UDim2.new(1, -21, 0.5, -9) or UDim2.new(0, 3, 0.5, -9) indicator.BackgroundColor3 = Color3.fromRGB(255, 255, 255) indicator.BorderSizePixel = 0 indicator.Active = false Instance.new("UICorner", indicator).CornerRadius = UDim.new(1, 0) t.MouseButton1Click:Connect(function() local state = not t:GetAttribute("on") t:SetAttribute("on", state) TweenService:Create(t, TweenInfo.new(0.2), { BackgroundColor3 = state and ACCENT or Color3.fromRGB(35, 35, 45) }):Play() TweenService:Create(tStroke, TweenInfo.new(0.2), { Color = state and ACCENT or Color3.fromRGB(55, 55, 70), Transparency = state and 0.5 or 0 }):Play() TweenService:Create(badge, TweenInfo.new(0.2), { BackgroundColor3 = state and ACCENT or Color3.fromRGB(45, 45, 58) }):Play() TweenService:Create(indicator, TweenInfo.new(0.25, Enum.EasingStyle.Quad), { Position = state and UDim2.new(1, -21, 0.5, -9) or UDim2.new(0, 3, 0.5, -9) }):Play() cb(state) end) table.insert(toggleButtons, t) end makeToggle(154, "Perfect", true, function(v) CFG.AutoPerfect = v end) makeToggle(206, "Dodge", true, function(v) CFG.AutoDodge = v end) makeToggle(258, "Guess", true, function(v) CFG.AutoGuess = v end) makeToggle(310, "SlapQueue", false, function(v) CFG.AutoSlapQueue = v end) -- Mention BETA en dessous de SlapQueue local betaLbl = Instance.new("TextLabel", main) betaLbl.Size = UDim2.new(1, -32, 0, 12) betaLbl.Position = UDim2.new(0, 16, 0, 358) betaLbl.BackgroundTransparency = 1 betaLbl.Text = "BETA" betaLbl.TextColor3 = Color3.fromRGB(90, 90, 110) betaLbl.Font = Enum.Font.Gotham betaLbl.TextSize = 9 betaLbl.TextScaled = false betaLbl.TextXAlignment = Enum.TextXAlignment.Right betaLbl.Active = false -- Footer local footer = Instance.new("TextLabel", main) footer.Size = UDim2.new(1, -32, 0, 14) footer.Position = UDim2.new(0, 16, 1, -22) footer.BackgroundTransparency = 1 footer.Text = "AutoPerfect+ • v1.0" footer.TextColor3 = Color3.fromRGB(80, 80, 100) footer.Font = Enum.Font.Gotham footer.TextSize = 9 footer.TextScaled = false footer.TextXAlignment = Enum.TextXAlignment.Center footer.Active = false -- ═══ DRAG ═══ local dragging, dragStart, startPos local function startDrag(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = main.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end hdr.InputBegan:Connect(startDrag) hdrTitle.InputBegan:Connect(startDrag) UIS.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseMovement) then local delta = input.Position - dragStart main.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) -- ═══ HOOK PERFECT ═══ if hookmetamethod and getnamecallmethod and sendSlap then local oldNC oldNC = hookmetamethod(game, "__namecall", function(self, ...) if getnamecallmethod() == "FireServer" and self == sendSlap and CFG.AutoPerfect then local args = {...} if #args >= 1 and type(args[1]) == "number" then args[1] = CFG.PerfectValue return oldNC(self, unpack(args)) end end return oldNC(self, ...) end) end -- ═══ DODGE SPAM PERMANENT ═══ task.spawn(function() while true do task.wait(CFG.DodgeDelay) if CFG.AutoDodge and dodgeR then pcall(function() dodgeR:FireServer(true) end) end end end) -- ═══ SLAPQUEUE SPAM (quand slapbut visible) ═══ local slapbutBtn = nil local function findSlapbut() for _, d in ipairs(PG:GetDescendants()) do if d:IsA("TextButton") and d.Name == "slapbut" then slapbutBtn = d return end end slapbutBtn = nil end findSlapbut() PG.DescendantAdded:Connect(function(d) if d.Name == "slapbut" then task.wait(0.1) findSlapbut() end end) task.spawn(function() while true do task.wait(0.1) if CFG.AutoSlapQueue and queueR then if not slapbutBtn or not slapbutBtn.Parent then findSlapbut() end if slapbutBtn and slapbutBtn.Parent and slapbutBtn.Visible then pcall(function() queueR:FireServer() end) end end end end) -- ═══ GUESS ═══ local function closestPlayer() local char = LP.Character if not char or not char:FindFirstChild("HumanoidRootPart") then return nil end local myPos = char.HumanoidRootPart.Position local best, bestDist = nil, math.huge for _, p in ipairs(Players:GetPlayers()) do if p ~= LP and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then local d = (p.Character.HumanoidRootPart.Position - myPos).Magnitude if d < bestDist and d < 30 then best, bestDist = p, d end end end return best end for _, r in ipairs(RS:GetDescendants()) do if r:IsA("RemoteEvent") then pcall(function() r.OnClientEvent:Connect(function(...) for _, v in ipairs({...}) do if type(v) == "string" then local p = Players:FindFirstChild(v) if p and p ~= LP then CFG.LastSlapper = v end elseif typeof(v) == "Instance" and v:IsA("Player") and v ~= LP then CFG.LastSlapper = v.Name end end end) end) end end local function doGuess() if not CFG.AutoGuess or not guessR then return end local s = CFG.LastSlapper if not s then local c = closestPlayer() if c then s = c.Name end end if s then if pcall(function() guessR:FireServer(s) end) then CFG.LastSlapper = nil end end end PG.DescendantAdded:Connect(function(d) if not CFG.AutoGuess then return end local n = d.Name:lower() if n:find("guess") or n:find("who") or n:find("slapper") then task.wait(0.6) doGuess() end end) print("[AutoPerfect+] Chargé") end