From a6df78e64f710cf6770b36ba387ed26ec036afdf Mon Sep 17 00:00:00 2001 From: rhpidfyre Date: Thu, 7 Mar 2024 14:04:15 -0500 Subject: [PATCH] types and sound editor entity --- src/client/Character/Server/Flashlight.lua | 17 +++++---- src/server/main/EditorEntities.lua | 43 +++++++++++++--------- src/shared/Tags.lua | 6 +-- 3 files changed, 37 insertions(+), 29 deletions(-) diff --git a/src/client/Character/Server/Flashlight.lua b/src/client/Character/Server/Flashlight.lua index 4b74f48..e725c66 100644 --- a/src/client/Character/Server/Flashlight.lua +++ b/src/client/Character/Server/Flashlight.lua @@ -2,16 +2,17 @@ --!native --!strict +type UDP = UnreliableRemoteEvent +type FlashlightUDP = RBXScriptConnection +type LocalPlayer = Player +type HumanoidRootPart = BasePart +type EulerXYZ_struct = {number} + + + local Flashlight = {} Flashlight.__index = Flashlight -type UDP = UnreliableRemoteEvent -type FlashlightUDP = RBXScriptConnection -type LocalPlayer = Player -type HumanoidRootPart = BasePart - -type EulerXYZ_struct = {number} - Flashlight.Enabled = false Flashlight.HeadHeight = 1 @@ -45,7 +46,7 @@ local function FlashlightPart(HumanoidRootPart: HumanoidRootPart): (Part, SpotLi ToggleSound.Name = "Flashlight" ToggleSound.SoundId = "rbxassetid://16454678462" ToggleSound.Volume = .5 - ToggleSound.Parent = HumanoidRootPart + ToggleSound.Parent = FlashlightPart FlashlightPart.Parent = HumanoidRootPart diff --git a/src/server/main/EditorEntities.lua b/src/server/main/EditorEntities.lua index 4fa7bb7..20ac533 100644 --- a/src/server/main/EditorEntities.lua +++ b/src/server/main/EditorEntities.lua @@ -4,12 +4,14 @@ --All debugging objects such as light source indicating objects will be turned invisible +export type Entities = {IndexedEntities: {Instance}} + +type HideEditor = (a1: BasePart | Folder, a2: boolean) -> () +type LuaChangeableContainer = Script | LocalScript + local Players = game:GetService("Players") local CS = game:GetService("CollectionService") -export type Entities = { - IndexedEntities: {Instance} -} local StudioEntities = { IndexedEntities = {} } @@ -20,6 +22,19 @@ local function HidePart(Part: BasePart, enabled: boolean) Part.CastShadow = false end +local function HideIndicatorPart(Part: BasePart, enabled: boolean) + local billboard_light_indicator = Part:FindFirstChildOfClass("BillboardGui") + if billboard_light_indicator then + if enabled then + billboard_light_indicator:Destroy() + end + else + warn("Indicator source had no image indicator", Part:GetFullName()) + end + + HidePart(Part, enabled) +end + local function HideBarrierCollision(Part: BasePart, enabled: boolean) Part.Transparency = enabled and 1 or .9 Part.CastShadow = false @@ -30,12 +45,8 @@ local function HideRaycastContainers(Folder: Folder, enabled: boolean) local End = Folder:WaitForChild("End") :: BasePart local Start = Folder:WaitForChild("Start") :: BasePart - End.CanCollide = false - End.CastShadow = false - End.Transparency = enabled and 1 or .9 - Start.CanCollide = false - Start.CastShadow = false - Start.Transparency = enabled and 1 or .9 + HidePart(Start, enabled) + HidePart(End, enabled) end local function HideLadderContact(Part: BasePart, enabled: boolean) @@ -45,17 +56,15 @@ local function HideLadderContact(Part: BasePart, enabled: boolean) end local EditorEntities = { - ["LightSource"] = HidePart, + ["LightSource"] = HideIndicatorPart, + ["SoundSource"] = HideIndicatorPart, ["PulleyRopeContact"] = HidePart, - ["BarrierCollision"] = HideBarrierCollision, - ["StairSource"] = HideBarrierCollision, - ["RaycastContainer"] = HideRaycastContainers, - ["LadderContact"] = HideLadderContact + ["BarrierCollision"] = HideBarrierCollision, + ["StairSource"] = HideBarrierCollision, + ["RaycastContainer"] = HideRaycastContainers, + ["LadderContact"] = HideLadderContact, } -type HideEditor = (a1: BasePart | Folder, a2: boolean) -> () -type LuaChangeableContainer = Script | LocalScript - function StudioEntities.indexAll(enabled: boolean): Entities if #StudioEntities.IndexedEntities == 0 then --Run when the server starts diff --git a/src/shared/Tags.lua b/src/shared/Tags.lua index b56f34b..38a3e5d 100644 --- a/src/shared/Tags.lua +++ b/src/shared/Tags.lua @@ -17,10 +17,8 @@ function Tags.constructor() for n: number = 1, #AllTags do local TagName = AllTags[n] - if TagName ~= "RopeMasterObject" and TagName ~= "ServerGuard_Physics" then - local Tagged = CS:GetTagged(TagName) - Exports[TagName] = #Tagged>1 and Tagged or Tagged[1] - end + local Tagged = CS:GetTagged(TagName) + Exports[TagName] = #Tagged>1 and Tagged or Tagged[1] end return setmetatable({ Exports = Exports