
Key Required VerifiedUniversal

local Players = game:GetService("Players")
local Lighting = game:GetService("Lighting")
local TweenService = game:GetService("TweenService")
local localPlayer = Players.LocalPlayer
local playerGui = localPlayer:WaitForChild("PlayerGui")
-- Add black highlight
local function addBlackHighlight(part)
local selectionBox = Instance.new("SelectionBox")
selectionBox.Adornee = part
selectionBox.Color3 = Color3.new(0, 0, 0)
selectionBox.LineThickness = 0.05
selectionBox.Transparency = 0
selectionBox.Parent = part
end
-- Build NPC like a player
local function createHumanoidNPC()
local npc = Instance.new("Model")
npc.Name = "NULL"
local root = Instance.new("Part")
root.Name = "HumanoidRootPart"
root.Size = Vector3.new(2, 2, 1)
root.Anchored = true
root.BrickColor = BrickColor.new("Really black")
root.Parent = npc
addBlackHighlight(root)
local torso = Instance.new("Part")
torso.Name = "Torso"
torso.Size = Vector3.new(2, 2, 1)
torso.Anchored = true
torso.BrickColor = BrickColor.new("Really black")
torso.Parent = npc
addBlackHighlight(torso)
local head = Instance.new("Part")
head.Name = "Head"
head.Size = Vector3.new(2, 1, 1)
head.Anchored = true
head.BrickColor = BrickColor.new("Really black")
head.Parent = npc
addBlackHighlight(head)
local leftArm = Instance.new("Part")
leftArm.Name = "Left Arm"
leftArm.Size = Vector3.new(1, 2, 1)
leftArm.Anchored = true
leftArm.BrickColor = BrickColor.new("Really black")
leftArm.Parent = npc
addBlackHighlight(leftArm)
local rightArm = Instance.new("Part")
rightArm.Name = "Right Arm"
rightArm.Size = Vector3.new(1, 2, 1)
rightArm.Anchored = true
rightArm.BrickColor = BrickColor.new("Really black")
rightArm.Parent = npc
addBlackHighlight(rightArm)
local leftLeg = Instance.new("Part")
leftLeg.Name = "Left Leg"
leftLeg.Size = Vector3.new(1, 2, 1)
leftLeg.Anchored = true
leftLeg.BrickColor = BrickColor.new("Really black")
leftLeg.Parent = npc
addBlackHighlight(leftLeg)
local rightLeg = Instance.new("Part")
rightLeg.Name = "Right Leg"
rightLeg.Size = Vector3.new(1, 2, 1)
rightLeg.Anchored = true
rightLeg.BrickColor = BrickColor.new("Really black")
rightLeg.Parent = npc
addBlackHighlight(rightLeg)
local humanoid = Instance.new("Humanoid")
humanoid.Parent = npc
npc.PrimaryPart = root
return npc
end
-- Position NPC parts relative to HumanoidRootPart
local function positionNPC(npc, spawnPos)
npc:SetPrimaryPartCFrame(CFrame.new(spawnPos))
local root = npc:FindFirstChild("HumanoidRootPart")
local torso = npc:FindFirstChild("Torso")
local head = npc:FindFirstChild("Head")
local leftArm = npc:FindFirstChild("Left Arm")
local rightArm = npc:FindFirstChild("Right Arm")
local leftLeg = npc:FindFirstChild("Left Leg")
local rightLeg = npc:FindFirstChild("Right Leg")
torso.CFrame = root.CFrame * CFrame.new(0, 1, 0)
head.CFrame = torso.CFrame * CFrame.new(0, 1.5, 0)
leftArm.CFrame = torso.CFrame * CFrame.new(-1.5, 0, 0)
rightArm.CFrame = torso.CFrame * CFrame.new(1.5, 0, 0)
leftLeg.CFrame = root.CFrame * CFrame.new(-0.5, -2, 0)
rightLeg.CFrame = root.CFrame * CFrame.new(0.5, -2, 0)
end
-- Move NPC to player
local function moveNPCToPlayer(npc, player)
local root = npc:FindFirstChild("HumanoidRootPart")
local targetPos = player.Character:FindFirstChild("HumanoidRootPart").Position
local tweenInfo = TweenInfo.new(5, Enum.EasingStyle.Linear)
local tween = TweenService:Create(root, tweenInfo, { Position = targetPos })
tween:Play()
tween.Completed:Connect(function()
player:Kick("YOU GOT CAUGHT=)")
end)
game:GetService("RunService").Heartbeat:Connect(function()
local torso = npc:FindFirstChild("Torso")
local head = npc:FindFirstChild("Head")
local leftArm = npc:FindFirstChild("Left Arm")
local rightArm = npc:FindFirstChild("Right Arm")
local leftLeg = npc:FindFirstChild("Left Leg")
local rightLeg = npc:FindFirstChild("Right Leg")
torso.CFrame = root.CFrame * CFrame.new(0, 1, 0)
head.CFrame = torso.CFrame * CFrame.new(0, 1.5, 0)
leftArm.CFrame = torso.CFrame * CFrame.new(-1.5, 0, 0)
rightArm.CFrame = torso.CFrame * CFrame.new(1.5, 0, 0)
leftLeg.CFrame = root.CFrame * CFrame.new(-0.5, -2, 0)
rightLeg.CFrame = root.CFrame * CFrame.new(0.5, -2, 0)
end)
end
-- Freeze player movement
local function freezePlayer()
local char = localPlayer.Character
if char then
local humanoid = char:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.WalkSpeed = 0
humanoid.JumpPower = 0
end
end
end
-- Hide other players
local function hideOtherPlayers()
for _, player in pairs(Players:GetPlayers()) do
if player ~= localPlayer and player.Character then
for _, part in pairs(player.Character:GetChildren()) do
if part:IsA("BasePart") then
part.Transparency = 1
part.CanCollide = false
elseif part:IsA("Decal") then
part.Transparency = 1
end
end
end
end
end
-- Dark sky
local function darkenSky()
Lighting.Ambient = Color3.fromRGB(20, 20, 20)
Lighting.OutdoorAmbient = Color3.fromRGB(10, 10, 10)
Lighting.FogColor = Color3.fromRGB(0, 0, 0)
Lighting.FogEnd = 100
end
-- Shaking scary text
local function showScaryText()
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "ScaryMessageGui"
screenGui.Parent = playerGui
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(0, 400, 0, 100)
textLabel.Position = UDim2.new(0.5, -200, 0.5, -50)
textLabel.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
textLabel.BackgroundTransparency = 0.7
textLabel.TextColor3 = Color3.fromRGB(255, 0, 0)
textLabel.TextStrokeColor3 = Color3.fromRGB(100, 0, 0)
textLabel.TextStrokeTransparency = 0.2
textLabel.TextScaled = true
textLabel.Font = Enum.Font.GothamBlack
textLabel.Text = "YOU CAN'T ESCAPE NULL"
textLabel.Parent = screenGui
local shakeMagnitude = 10
local shakeFrequency = 0.05
local startPos = textLabel.Position
while true do
local offsetX = math.random(-shakeMagnitude, shakeMagnitude)
local offsetY = math.random(-shakeMagnitude, shakeMagnitude)
textLabel.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + offsetX, startPos.Y.Scale, startPos.Y.Offset + offsetY)
wait(shakeFrequency)
end
end
-- Lock first person
local function lockFirstPerson()
localPlayer.CameraMode = Enum.CameraMode.LockFirstPerson
end
-- Run scary event
local function startScaryEvent()
freezePlayer()
local npc = createHumanoidNPC()
npc.Parent = workspace
local spawnPos = localPlayer.Character:FindFirstChild("HumanoidRootPart").Position + (localPlayer.Character.HumanoidRootPart.CFrame.LookVector * 50)
positionNPC(npc, spawnPos)
moveNPCToPlayer(npc, localPlayer)
darkenSky()
hideOtherPlayers()
lockFirstPerson()
coroutine.wrap(showScaryText)()
end
if localPlayer.Character and localPlayer.Character.Parent then
wait(2)
startScaryEvent()
else
localPlayer.CharacterAdded:Connect(function()
wait(2)
startScaryEvent()
end)
end



this works if ur worrying :/
WOW 20 VIEWS
50 VIEWS
69 VIEWS?!? /!! /?!? /
NO WAY 100 VIEWS? "!"? *! *? '/+'! :? :(?
AI, and it doesnt mean 100 people used it, it just means 100 people saw it.
@Astric but he is actually saying "VIEWS"
so scary :scream: