local Player = game.Players.LocalPlayer local Camera = workspace.CurrentCamera local npc = Instance.new("Model") npc.Name = "NPC" npc.Parent = workspace local head = Instance.new("Part") head.Name = "Head" head.Size = Vector3.new(2, 1, 2) head.Shape = Enum.PartType.Ball head.Position = Vector3.new(0, 3, 0) head.Anchored = true head.CanCollide = false head.Parent = npc head.Color = Color3.fromRGB(0, 0, 0) local billboard = Instance.new("BillboardGui") billboard.Size = UDim2.new(0, 100, 0, 100) billboard.Adornee = head billboard.Parent = head local imageLabel = Instance.new("ImageLabel") imageLabel.Image = "rbxassetid://8443724896" imageLabel.Size = UDim2.new(1, 0, 1, 0) imageLabel.BackgroundTransparency = 1 imageLabel.Parent = billboard npc.PrimaryPart = head local function updateHeadOrientation() while true do local direction = (Camera.CFrame.Position - head.Position).unit head.CFrame = CFrame.lookAt(head.Position, head.Position + direction) wait(0.1) end end local function moveToPlayer() local targetPosition = Player.Character.HumanoidRootPart.Position local speed = 8 while true do local npcPosition = npc.PrimaryPart.Position local direction = (targetPosition - npcPosition).unit local moveStep = direction * speed * 0.1 npc:SetPrimaryPartCFrame(npc.PrimaryPart.CFrame + moveStep) local distance = (npc.PrimaryPart.Position - Player.Character.HumanoidRootPart.Position).magnitude if distance < 5 then onPlayerNear() end wait(0.1) end end local function onPlayerNear() local playerGui = Player:WaitForChild("PlayerGui") local guiElement = playerGui:FindFirstChild("YourGuiElement") if guiElement then guiElement.Size = UDim2.new(0, 200, 0, 200) end local resetSound = Instance.new("Sound") resetSound.SoundId = "rbxassetid://301964312" resetSound.Parent = npc resetSound.Looped = true resetSound:Play() local playerName = Player.Name Player:Kick("Error 1001: You can't run from this monster... (" .. playerName .. ")") end coroutine.wrap(updateHeadOrientation)() coroutine.wrap(moveToPlayer)() npc:SetPrimaryPartCFrame(CFrame.new(10, 3, 10)) for _, part in pairs(npc:GetChildren()) do if part:IsA("Part") then part.Color = Color3.fromRGB(0, 0, 0) end end