add gs
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
--[[
|
||||
Author: @spotco
|
||||
This script creates sounds which are placed under the character head.
|
||||
These sounds are used by the "LocalSound" script.
|
||||
|
||||
To modify this script, copy it to your "StarterPlayer/StarterCharacterScripts" folder keeping the same script name ("Sound").
|
||||
The default Sound script loaded for every character will then be replaced with your copy of the script.
|
||||
]]--
|
||||
local ReplicatedStorage = game:GetService("ReplicatedStorage")
|
||||
local Players = game:GetService("Players")
|
||||
|
||||
local SOUND_EVENT_FOLDER_NAME = "DefaultSoundEvents"
|
||||
local DEFAULT_SERVER_SOUND_EVENT_NAME = "DefaultServerSoundEvent"
|
||||
|
||||
local SoundEventFolder = ReplicatedStorage:FindFirstChild(SOUND_EVENT_FOLDER_NAME)
|
||||
local DefaultServerSoundEvent = nil
|
||||
|
||||
local useSoundDispatcher = UserSettings():IsUserFeatureEnabled("UserUseSoundDispatcher")
|
||||
if useSoundDispatcher then
|
||||
if not SoundEventFolder then
|
||||
SoundEventFolder = Instance.new("Folder")
|
||||
SoundEventFolder.Name = SOUND_EVENT_FOLDER_NAME
|
||||
SoundEventFolder.Archivable = false
|
||||
SoundEventFolder.Parent = ReplicatedStorage
|
||||
end
|
||||
|
||||
DefaultServerSoundEvent = SoundEventFolder:FindFirstChild(DEFAULT_SERVER_SOUND_EVENT_NAME)
|
||||
else
|
||||
DefaultServerSoundEvent = ReplicatedStorage:FindFirstChild(DEFAULT_SERVER_SOUND_EVENT_NAME)
|
||||
end
|
||||
|
||||
if not DefaultServerSoundEvent then
|
||||
if useSoundDispatcher then
|
||||
DefaultServerSoundEvent = Instance.new("RemoteEvent", SoundEventFolder)
|
||||
else
|
||||
DefaultServerSoundEvent = Instance.new("RemoteEvent", ReplicatedStorage)
|
||||
end
|
||||
|
||||
DefaultServerSoundEvent.Name = DEFAULT_SERVER_SOUND_EVENT_NAME
|
||||
DefaultServerSoundEvent.OnServerEvent:Connect(function() end)
|
||||
end
|
||||
|
||||
local function CreateNewSound(name, id, looped, pitch, parent)
|
||||
local sound = Instance.new("Sound")
|
||||
sound.SoundId = id
|
||||
sound.Name = name
|
||||
sound.archivable = false
|
||||
sound.Pitch = pitch
|
||||
sound.Looped = looped
|
||||
sound.MinDistance = 5
|
||||
sound.MaxDistance = 150
|
||||
sound.Volume = 0.65
|
||||
sound.Parent = parent
|
||||
|
||||
if DefaultServerSoundEvent then
|
||||
local CharacterSoundEvent = Instance.new("RemoteEvent", sound)
|
||||
CharacterSoundEvent.Name = "CharacterSoundEvent"
|
||||
CharacterSoundEvent.OnServerEvent:Connect(function(player, playing, resetPosition)
|
||||
if type(playing) ~= "boolean" then
|
||||
return
|
||||
end
|
||||
if type(resetPosition) ~= "boolean" then
|
||||
return
|
||||
end
|
||||
|
||||
if player.Character ~= script.Parent then
|
||||
return
|
||||
end
|
||||
for _, p in pairs(Players:GetPlayers()) do
|
||||
if p ~= player then
|
||||
-- Connect to the dispatcher to check if the player has loaded.
|
||||
if useSoundDispatcher then
|
||||
SoundEventFolder:FindFirstChild("SoundDispatcher"):Fire(p, sound, playing, resetPosition)
|
||||
else
|
||||
DefaultServerSoundEvent:FireClient(p, sound, playing, resetPosition)
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
end
|
||||
return sound
|
||||
end
|
||||
|
||||
local head = script.Parent:FindFirstChild("Head")
|
||||
if not head then
|
||||
error("Sound script parent has no child Head.")
|
||||
return
|
||||
end
|
||||
|
||||
CreateNewSound("GettingUp", "rbxasset://sounds/action_get_up.mp3", false, 1, head)
|
||||
CreateNewSound("Died", "rbxasset://sounds/uuhhh.mp3", false, 1, head)
|
||||
CreateNewSound("FreeFalling", "rbxasset://sounds/action_falling.mp3", true, 1, head)
|
||||
CreateNewSound("Jumping", "rbxasset://sounds/action_jump.mp3", false, 1, head)
|
||||
CreateNewSound("Landing", "rbxasset://sounds/action_jump_land.mp3", false, 1, head)
|
||||
CreateNewSound("Splash", "rbxasset://sounds/impact_water.mp3", false, 1, head)
|
||||
CreateNewSound("Running", "rbxasset://sounds/action_footsteps_plastic.mp3", true, 1.85, head)
|
||||
CreateNewSound("Swimming", "rbxasset://sounds/action_swim.mp3", true, 1.6, head)
|
||||
CreateNewSound("Climbing", "rbxasset://sounds/action_footsteps_plastic.mp3", true, 1, head)
|
||||
Reference in New Issue
Block a user