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"))()