add gs
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
--[[
|
||||
// Filename: ServerStarterScript.lua
|
||||
// Version: 1.0
|
||||
// Description: Server core script that handles core script server side logic.
|
||||
]]--
|
||||
|
||||
local runService = game:GetService('RunService')
|
||||
|
||||
-- Prevent server script from running in Studio when not in run mode
|
||||
while not runService:IsRunning() do
|
||||
wait()
|
||||
end
|
||||
|
||||
--[[ Services ]]--
|
||||
local RobloxReplicatedStorage = game:GetService('RobloxReplicatedStorage')
|
||||
local ScriptContext = game:GetService('ScriptContext')
|
||||
|
||||
--[[ Add Server CoreScript ]]--
|
||||
ScriptContext:AddCoreScriptLocal("ServerCoreScripts/ServerSocialScript", script.Parent)
|
||||
|
||||
--[[ Remote Events ]]--
|
||||
local RemoteEvent_SetDialogInUse = Instance.new("RemoteEvent")
|
||||
RemoteEvent_SetDialogInUse.Name = "SetDialogInUse"
|
||||
RemoteEvent_SetDialogInUse.Parent = RobloxReplicatedStorage
|
||||
|
||||
local RemoteFunction_GetServerVersion = Instance.new("RemoteFunction")
|
||||
RemoteFunction_GetServerVersion.Name = "GetServerVersion"
|
||||
RemoteFunction_GetServerVersion.Parent = RobloxReplicatedStorage
|
||||
|
||||
--[[ Event Connections ]]--
|
||||
local playerDialogMap = {}
|
||||
|
||||
local freeCameraFlagSuccess, freeCameraFlagValue = pcall(function() return settings():GetFFlag("FreeCameraForAdmins") end)
|
||||
local freeCameraFlag = (freeCameraFlagSuccess and freeCameraFlagValue)
|
||||
|
||||
local function setDialogInUse(player, dialog, value, waitTime)
|
||||
if typeof(dialog) ~= "Instance" or not dialog:IsA("Dialog") then
|
||||
return
|
||||
end
|
||||
if type(value) ~= "boolean" then
|
||||
return
|
||||
end
|
||||
if type(waitTime) ~= "number" and type(waitTime) ~= "nil" then
|
||||
return
|
||||
end
|
||||
if typeof(player) ~= "Instance" or not player:IsA("Player") then
|
||||
return
|
||||
end
|
||||
|
||||
if waitTime and waitTime ~= 0 then
|
||||
wait(waitTime)
|
||||
end
|
||||
if dialog ~= nil then
|
||||
dialog:SetPlayerIsUsing(player, value)
|
||||
playerDialogMap[player] = value and dialog or nil
|
||||
end
|
||||
end
|
||||
RemoteEvent_SetDialogInUse.OnServerEvent:connect(setDialogInUse)
|
||||
|
||||
local function getServerVersion()
|
||||
local rawVersion = runService:GetRobloxVersion()
|
||||
local displayVersion
|
||||
if rawVersion == "?" then
|
||||
displayVersion = "DEBUG_SERVER"
|
||||
else
|
||||
if runService:IsStudio() then
|
||||
displayVersion = "ROBLOX Studio"
|
||||
else
|
||||
displayVersion = rawVersion
|
||||
end
|
||||
end
|
||||
return displayVersion
|
||||
end
|
||||
|
||||
RemoteFunction_GetServerVersion.OnServerInvoke = getServerVersion
|
||||
|
||||
game:GetService("Players").PlayerRemoving:connect(function(player)
|
||||
if player then
|
||||
local dialog = playerDialogMap[player]
|
||||
if dialog then
|
||||
dialog:SetPlayerIsUsing(player, false)
|
||||
playerDialogMap[player] = nil
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
if game:GetService("Chat").LoadDefaultChat then
|
||||
require(game:GetService("CoreGui").RobloxGui.Modules.Server.ClientChat.ChatWindowInstaller)()
|
||||
require(game:GetService("CoreGui").RobloxGui.Modules.Server.ServerChat.ChatServiceInstaller)()
|
||||
end
|
||||
|
||||
if freeCameraFlag then
|
||||
require(game:GetService("CoreGui").RobloxGui.Modules.Server.FreeCamera.FreeCameraInstaller)()
|
||||
end
|
||||
|
||||
if UserSettings():IsUserFeatureEnabled("UserUseSoundDispatcher") then
|
||||
require(game:GetService("CoreGui").RobloxGui.Modules.Server.ServerSound.SoundDispatcherInstaller)()
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user