forked from aya/aya
57 lines
1.9 KiB
Lua
57 lines
1.9 KiB
Lua
--[[
|
|
// Filename: ServerStarterScript.lua
|
|
// Version: 1.0
|
|
// Description: Server core script that handles core script server side logic.
|
|
]]--
|
|
|
|
-- Prevent server script from running in Studio when not in run mode
|
|
local runService = nil
|
|
while runService == nil or not runService:IsRunning() do
|
|
wait(0.1)
|
|
runService = game:GetService('RunService')
|
|
end
|
|
|
|
--[[ Services ]]--
|
|
local RobloxReplicatedStorage = game:GetService('RobloxReplicatedStorage')
|
|
local ScriptContext = game:GetService('ScriptContext')
|
|
|
|
--[[ Fast Flags ]]--
|
|
local serverFollowersSuccess, serverFollowersEnabled = pcall(function() return settings():GetFFlag("UserServerFollowers") end)
|
|
local IsServerFollowers = serverFollowersSuccess and serverFollowersEnabled
|
|
|
|
local RemoteEvent_NewFollower = nil
|
|
|
|
--[[ Add Server CoreScript ]]--
|
|
-- TODO: FFlag check
|
|
if IsServerFollowers then
|
|
ScriptContext:AddCoreScriptLocal("ServerCoreScripts/SocialScript", script.Parent)
|
|
else
|
|
-- above script will create this now
|
|
RemoteEvent_NewFollower = Instance.new('RemoteEvent')
|
|
RemoteEvent_NewFollower.Name = "NewFollower"
|
|
RemoteEvent_NewFollower.Parent = RobloxReplicatedStorage
|
|
end
|
|
|
|
--[[ Remote Events ]]--
|
|
local RemoteEvent_SetDialogInUse = Instance.new("RemoteEvent")
|
|
RemoteEvent_SetDialogInUse.Name = "SetDialogInUse"
|
|
RemoteEvent_SetDialogInUse.Parent = RobloxReplicatedStorage
|
|
|
|
--[[ Event Connections ]]--
|
|
-- Params:
|
|
-- followerRbxPlayer: player object of the new follower, this is the client who wants to follow another
|
|
-- followedRbxPlayer: player object of the person being followed
|
|
local function onNewFollower(followerRbxPlayer, followedRbxPlayer)
|
|
RemoteEvent_NewFollower:FireClient(followedRbxPlayer, followerRbxPlayer)
|
|
end
|
|
if RemoteEvent_NewFollower then
|
|
RemoteEvent_NewFollower.OnServerEvent:connect(onNewFollower)
|
|
end
|
|
|
|
local function setDialogInUse(player, dialog, value)
|
|
if dialog ~= nil then
|
|
dialog.InUse = value
|
|
end
|
|
end
|
|
RemoteEvent_SetDialogInUse.OnServerEvent:connect(setDialogInUse)
|