
Key Required

-- IMÃ V7: EXCLUSÃO DE JOGADORES + ESTÁVEL
game:GetService("StarterGui"):SetCore("SendNotification", {
Title = "Imã V7: Filtro Ativado",
Text = "Gruda apenas em objetos. Jogadores ignorados.",
Duration = 5
})
local Player = game.Players.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()
local Root = Character:WaitForChild("HumanoidRootPart")
local Hum = Character:WaitForChild("Humanoid")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local AttachmentChar = Instance.new("Attachment", Root)
local AttachmentObj = nil
local AlignPos = nil
local AlignOri = nil
local CanGlue = true
local IsGlued = false
-- Função de Desconexão Instantânea
local function DestroyMagia()
IsGlued = false
if AlignPos then AlignPos:Destroy(); AlignPos = nil end
if AlignOri then AlignOri:Destroy(); AlignOri = nil end
if AttachmentObj then AttachmentObj:Destroy(); AttachmentObj = nil end
Hum:ChangeState(Enum.HumanoidStateType.GettingUp)
end
-- Pulo para desgrudar
UserInputService.JumpRequest:Connect(function()
if IsGlued then
DestroyMagia()
CanGlue = false
task.wait(1) -- Espera 1 segundo para poder grudar de novo
CanGlue = true
end
end)
RunService.Stepped:Connect(function()
if not CanGlue then return end
if not IsGlued then
local Params = RaycastParams.new()
Params.FilterType = Enum.RaycastFilterType.Exclude
Params.FilterDescendantsInstances = {Character}
local Cast = workspace:Raycast(Root.Position, Vector3.new(0, -10, 0), Params)
if Cast and Cast.Instance and not Cast.Instance.Anchored then
-- VERIFICAÇÃO DE JOGADOR: Se a parte for de um jogador, ignora.
local IsAPlayer = false
if Cast.Instance.Parent:FindFirstChild("Humanoid") or Cast.Instance.Parent.Parent:FindFirstChild("Humanoid") then
IsAPlayer = true
end
if not IsAPlayer then
IsGlued = true
-- Ponto de fixação com Offset para ficar EM CIMA
AttachmentObj = Instance.new("Attachment", Cast.Instance)
AttachmentObj.WorldPosition = Cast.Position + Vector3.new(0, Character:GetExtentsSize().Y / 2, 0)
-- Alinhamento de Posição
AlignPos = Instance.new("AlignPosition", Root)
AlignPos.Attachment0 = AttachmentChar
AlignPos.Attachment1 = AttachmentObj
AlignPos.MaxForce = 10000000
AlignPos.Responsiveness = 200
-- Alinhamento de Rotação
AlignOri = Instance.new("AlignOrientation", Root)
AlignOri.Attachment0 = AttachmentChar
AlignOri.Attachment1 = AttachmentObj
AlignOri.MaxTorque = 10000000
AlignOri.Responsiveness = 200
Hum:ChangeState(Enum.HumanoidStateType.Running)
end
end
else
if AttachmentObj and AttachmentObj.Parent then
Hum:ChangeState(Enum.HumanoidStateType.Running)
else
DestroyMagia()
end
end
end)
-- Anti-Ragdoll
Hum:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false)
Hum:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false)No comments yet for this script.
