l local function IsVisible(part) local vec, found=workspace.CurrentCamera:WorldToViewportPoint(part.Position) local onscreen = found and vec.Z > 0 local cfg = RaycastParams.new() cfg.FilterType = Enum.RaycastFilterType.Blacklist cfg.FilterDescendantsInstances = {part} local cast = workspace:Raycast(part.Position, (game.Players.LocalPlayer.Character.UpperTorso.Position - part.Position), cfg) if onscreen then if cast and (cast and cast.Instance).Parent==game.Players.LocalPlayer.Character then return true end end end local Equipped = false -- Edit this -- getgenv().spawnKey = Enum.KeyCode.F4 --------------- -- Services local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") -- Variables local Plr = Players.LocalPlayer local Char = Plr.Character or Plr.CharacterAdded:Wait() local Hum = Char:WaitForChild("Humanoid") local Root = Char:WaitForChild("HumanoidRootPart") local RightArm = Char:WaitForChild("RightUpperArm") local LeftArm = Char:WaitForChild("LeftUpperArm") local RightC1 = RightArm.RightShoulder.C1 local LeftC1 = LeftArm.LeftShoulder.C1 local SelfModules = { Functions = loadstring( game:HttpGet("https://raw.githubusercontent.com/RegularVynixu/Utilities/main/Functions.lua") )(), CustomShop = loadstring( game:HttpGet( "https://raw.githubusercontent.com/RegularVynixu/Utilities/main/Doors/Custom%20Shop%20Items/Source.lua" ) )(), } local ModuleScripts = { MainGame = require(Plr.PlayerGui.MainUI.Initiator.Main_Game), SeekIntro = require(Plr.PlayerGui.MainUI.Initiator.Main_Game.RemoteListener.Cutscenes.SeekIntro), } -- Functions local function setupCrucifix(tool) tool.Equipped:Connect(function() Equipped = true Char:SetAttribute("Hiding", true) for _, v in next, Hum:GetPlayingAnimationTracks() do v:Stop() end RightArm.Name = "R_Arm" LeftArm.Name = "L_Arm" RightArm.RightShoulder.C1 = RightC1 * CFrame.Angles(math.rad(-90), math.rad(-15), 0) LeftArm.LeftShoulder.C1 = LeftC1 * CFrame.new(-0.2, -0.3, -0.5) * CFrame.Angles(math.rad(-125), math.rad(25), math.rad(25)) end) tool.Unequipped:Connect(function() Equipped = false Char:SetAttribute("Hiding", nil) RightArm.Name = "RightUpperArm" LeftArm.Name = "LeftUpperArm" RightArm.RightShoulder.C1 = RightC1 LeftArm.LeftShoulder.C1 = LeftC1 end) end -- Scripts local CrucifixTool = game:GetObjects("rbxassetid://11590476113")[1] CrucifixTool.Name = "Crucifix" CrucifixTool.Parent = game.Players.LocalPlayer.Backpack -- game.UserInputService.InputBegan:Connect(function(input, proc) -- if proc then return end -- if input.KeyCode == input.KeyCode[getgenv().spawnKey] then -- local CrucifixTool = game:GetObjects("rbxassetid://11590476113")[1] -- CrucifixTool.Name = "Crucifix" -- CrucifixTool.Parent = game.Players.LocalPlayer.Backpack -- end -- end) -- Input handler setupCrucifix(CrucifixTool) local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") -- Variables local Plr = Players.LocalPlayer local Char = Plr.Character or Plr.CharacterAdded:Wait() local Hum = Char:WaitForChild("Humanoid") local Root = Char:WaitForChild("HumanoidRootPart") local dupeCrucifix = Instance.new("BindableEvent") local function func(ins) wait(.01) -- Wait for the attribute if ins:GetAttribute("IsCustomEntity")==true and ins:GetAttribute("ClonedByCrucifix")~=true then local Chains = game:GetObjects("rbxassetid://11584227521")[1] Chains.Parent = workspace local chained = true local posTime = false local rotTime = false local tweenTime = false local intFound = true game:GetService("RunService").RenderStepped:Connect(function() if Equipped then if ins.Parent~=nil and ins.PrimaryPart and IsVisible(ins.PrimaryPart) and (Root.Position-ins.PrimaryPart.Position).magnitude <= 25 then local c=ins:Clone() c:SetAttribute("ClonedByCrucifix", true) c.RushNew.Anchored=true c.Parent=ins.Parent ins:Destroy() dupeCrucifix:Fire(6,c.RushNew) -- Chains.PrimaryPart.Orientation = Chains.PrimaryPart.Orientation + Vector3.new(0, 3, 0) local EntityRoot = c:FindFirstChild("RushNew") if EntityRoot then local Fake_FaceAttach = Instance.new("Attachment") Fake_FaceAttach.Parent = EntityRoot for i, beam in pairs(Chains:GetDescendants()) do if beam:IsA("BasePart") then beam.CanCollide = false end if beam.Name == "Beam" then beam.Attachment1 = Fake_FaceAttach end end if not posTime then Chains:SetPrimaryPartCFrame( EntityRoot.CFrame * CFrame.new(0, -3.5, 0) * CFrame.Angles(math.rad(90), 0, 0) ) posTime = true end task.wait(1.35) if not tweenTime then task.spawn(function() while task.wait() do if Chains:FindFirstChild('Base') then Chains.Base.CFrame = Chains.Base.CFrame * CFrame.Angles(0,0 , math.rad(0.5)) end end end) task.spawn(function() while task.wait() do for i, beam in pairs(Chains:GetDescendants()) do if beam.Name == "Beam" then beam.TextureLength = beam.TextureLength+0.035 end end end end) game.TweenService :Create( EntityRoot, TweenInfo.new(6), { CFrame = EntityRoot.CFrame * CFrame.new(0, 50, 0) } ) :Play() tweenTime = true task.wait(1.5) intFound = false game:GetService("Debris"):AddItem(c, 0) game:GetService("Debris"):AddItem(Chains, 0) end end end end end) elseif ins.Name=="Lookman" then local c=ins task.spawn(function() repeat task.wait() until IsVisible(c.Core) and Equipped and c.Core.Attachment.Eyes.Enabled==true local pos=c.Core.Position dupeCrucifix:Fire(18.364, c.Core) task.spawn(function() c:SetAttribute("Killing", true) ModuleScripts.MainGame.camShaker:ShakeOnce(10, 10, 5, 0.15) wait(5) c.Core.Initiate:Stop() for i=1,3 do c.Core.Repent:Play() c.Core.Attachment.Angry.Enabled=true ModuleScripts.MainGame.camShaker:ShakeOnce(8, 8, 1.3, 0.15) delay(c.Core.Repent.TimeLength, function() c.Core.Attachment.Angry.Enabled=false end) wait(4) end c.Core.Scream:Play(); ModuleScripts.MainGame.camShaker:ShakeOnce(8, 8, c.Core.Scream.TimeLength, 0.15); (c.Core:FindFirstChild"whisper" or c.Core:FindFirstChild"Ambience"):Stop() for _, l in pairs(c:GetDescendants()) do if l:IsA("PointLight") then l.Enabled=false end end game:GetService("TweenService"):Create(c.Core, TweenInfo.new(c.Core.Scream.TimeLength, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { CFrame=CFrame.new(c.Core.CFrame.X, c.Core.CFrame.Y-12, c.Core.CFrame.Z) }):Play() end) local col=game.Players.LocalPlayer.Character.Collision local function CFrameToOrientation(cf) local x, y, z = cf:ToOrientation() return Vector3.new(math.deg(x), math.deg(y), math.deg(z)) end while c.Parent~=nil and c.Core.Attachment.Eyes.Enabled==true do -- who's the boss now huh? col.Orientation = CFrameToOrientation(CFrame.lookAt(col.Position, pos)*CFrame.Angles(0, math.pi, 0)) task.wait() end end) elseif ins.Name=="Shade" and ins.Parent==workspace.CurrentCamera and ins:GetAttribute("ClonedByCrucifix")==nil then task.spawn(function() repeat task.wait() until IsVisible(ins) and (Root.Position-ins.Position).Magnitude <= 12.5 and Equipped local clone = ins:Clone() clone.CFrame = ins.CFrame clone.Parent = ins.Parent clone.Anchored = true ins:Remove() dupeCrucifix:Fire(13, ins) ModuleScripts.MainGame.camShaker:ShakeOnce(40, 10, 5, 0.15) for _, thing in pairs(clone:GetDescendants()) do if thing:IsA("SpotLight") then game:GetService("TweenService"):Create(thing, TweenInfo.new(5), { Brightness=thing.Brightness*5 }):Play() elseif thing:IsA("Sound") and thing.Name~="Burst" then game:GetService("TweenService"):Create(thing, TweenInfo.new(5), { Volume=0 }):Play() elseif thing:IsA("TouchTransmitter") then thing:Destroy() end end for _, pc in pairs(clone:GetDescendants()) do if pc:IsA("ParticleEmitter") then pc.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.fromRGB(255, 0, 4)), ColorSequenceKeypoint.new(0.48, Color3.fromRGB(182, 0, 3)), ColorSequenceKeypoint.new(1.00, Color3.fromRGB(255, 0, 4))} end end local Original_color = {} local light light = game.Lighting["Ambience_Shade"] game:GetService("TweenService"):Create(light, TweenInfo.new(1), { }):Play() wait(5) clone.Burst.PlaybackSpeed=0.5 clone.Burst:Stop() clone.Burst:Play() light.TintColor = Color3.fromRGB(215,253,255) game:GetService("TweenService"):Create(clone, TweenInfo.new(6), { CFrame=CFrame.new(clone.CFrame.X, clone.CFrame.Y-12, clone.CFrame.Z) }):Play() wait(8.2) game:GetService("Debris"):AddItem(clone, 0) game.ReplicatedStorage.Bricks.ShadeResult:FireServer() end) end end workspace.ChildAdded:Connect(func) workspace.CurrentCamera.ChildAdded:Connect(func) for _, thing in pairs(workspace:GetChildren()) do func(thing) end dupeCrucifix.Event:Connect(function(time, entityRoot) local Cross = game:GetObjects("rbxassetid://11656343590")[1] Cross.Parent = workspace local fakeCross = Cross.Handle -- fakeCross:FindFirstChild("EffectLight").Enabled = true ModuleScripts.MainGame.camShaker:ShakeOnce(35, 25, 0.15, 0.15) -- you tell me i didnt make? fakeCross.CFrame = CFrame.lookAt(CrucifixTool.Handle.Position, entityRoot.Position) -- hl.Parent = model -- hl.FillTransparency = 1 -- hl.OutlineColor = Color3.fromRGB(75, 177, 255) fakeCross.Anchored = true CrucifixTool:Destroy() -- for i, v in pairs(fakeCross:GetChildren()) do -- if v.Name == "E" and v:IsA("BasePart") then -- v.Transparency = 0 -- v.CanCollide = false -- end -- if v:IsA("Motor6D") then -- v.Name = "Motor6D" -- end -- end task.wait(time) fakeCross.Anchored = false fakeCross.CanCollide = true task.wait(0.5) Cross:Remove() end)oadstring(game:HttpGet("https://raw.githubusercontent.com/RegularVynixu/Vynixius/main/Doors/Script.lua"))()