(Note: I cannot post in the Bug Reports category so I am posting it here to get as many eyes on it as possible.)
Hello. I am dealing with a bug that is not Studio-breaking, but is kind of annoying when I’m trying to read the output window.
There is a server-side module script called “operator” parented to something called “mainGui”. This is not my script and mainGui
is not accessible in Studio. This script creates 2 warnings:
Operator: LocalPlayer not available yet, retrying... - operator:31
&
Operator: LocalPlayer still not available. Cannot initialize. - operator:35
When I view the script the reason is obvious: it is a server-side (module) script trying to access the LocalPlayer
which obviously isn’t possible.
Unfortunately, I can’t edit this script because it is not one of my own and is likely a back-end script for Studio.
Before you ask, I have tried restarting Studio and reinstalling it. It has done nothing to fix this bug.
This is the script:
local services = script.services
local primary = script.Parent.primary
local chatWindow = primary.chatWindow
local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")
local LocalPlayer = Players.LocalPlayer
local tabCreationModule = nil
local dependencies = {}
local function getPlaceStorageFolder()
local placeId = game.PlaceId
local placeFolderName = (placeId == 0 and "LocalSession_0") or tostring(placeId)
local placeFolder = ServerStorage:FindFirstChild(placeFolderName)
if not placeFolder then
placeFolder = Instance.new("Folder")
placeFolder.Name = placeFolderName
placeFolder.Archivable = false
placeFolder.Parent = ServerStorage
end
return placeFolder
end
return {
initialize = function(plugin)
if not plugin then
warn("Plugin reference is nil!")
return
end
if not LocalPlayer then
warn("Operator: LocalPlayer not available yet, retrying...")
task.wait(0.5)
LocalPlayer = Players.LocalPlayer
if not LocalPlayer then
warn("Operator: LocalPlayer still not available. Cannot initialize.")
return
end
end
local placeFolder = getPlaceStorageFolder()
local NewMessageProcessedEvent = placeFolder:FindFirstChild("NewMessageProcessedEvent")
if not NewMessageProcessedEvent then
NewMessageProcessedEvent = Instance.new("BindableEvent")
NewMessageProcessedEvent.Name = "NewMessageProcessedEvent"
NewMessageProcessedEvent.Parent = placeFolder
end
local requiredChatHandler = require(services:FindFirstChild("chatHandler"))
local requiredChatRefresher = require(services:FindFirstChild("chatRefresher"))
local requiredCustomTabEditor = require(script:FindFirstChild("customTabEditor"))
local requiredTabHandler = require(script.Parent.customTab:FindFirstChild("handler"))
local requiredUiAnimator = require(services.uiAnimator)
dependencies = {
sampleTab = services.tabCreation.sampleTab,
sampleButton = services.tabCreation.sampleButton,
sampleCustomButton = services.tabCreation.sampleCustomButton,
ChatHandler = requiredChatHandler,
ChatRefresher = requiredChatRefresher,
customTabEditor = requiredCustomTabEditor,
tabHandler = requiredTabHandler,
uiAnimator = requiredUiAnimator,
}
dependencies.uiAnimator.Init(primary.Parent.Parent)
local success, result = pcall(function()
local tabCreationScript = services:FindFirstChild("tabCreation")
if tabCreationScript and tabCreationScript:IsA("ModuleScript") then
local requiredTabCreationModule = require(tabCreationScript)
if requiredTabCreationModule and requiredTabCreationModule.new then
tabCreationModule = requiredTabCreationModule.new(chatWindow, dependencies, plugin)
if tabCreationModule then
tabCreationModule.initialize(dependencies)
else
error("TabCreation module new returned nil")
end
else
error("services.tabCreation is not a valid ModuleScript or is missing .new function")
end
else
error("services.tabCreation ModuleScript not found")
end
end)
if not success then
warn("Failed to initialize tab creation: " .. tostring(result))
return
end
local notifScript = script.Parent:FindFirstChild("notif")
if notifScript and notifScript:IsA("ModuleScript") then
local notifModule = require(notifScript)
if notifModule and notifModule.init then
notifModule.init(NewMessageProcessedEvent, plugin)
end
end
local tabHandlerSuccess, tabHandlerResult = pcall(function()
if dependencies.tabHandler and dependencies.tabHandler.init then
dependencies.tabHandler.init(plugin)
end
end)
if not tabHandlerSuccess then
warn("Failed to initialize tab handler: " .. tostring(tabHandlerResult))
end
local addButton = chatWindow.Parent.navigation.buttons:FindFirstChild("addButton")
if addButton then
addButton.MouseButton1Click:Connect(function()
if not plugin then return end
if not LocalPlayer then return end
plugin:SetSetting("ChatWhitelist", {LocalPlayer.Name})
local customTab = primary.Parent:FindFirstChild("customTab")
if customTab then
local primaryWizard = customTab:FindFirstChild("primary")
if primaryWizard then
local nameTextbox = primaryWizard:FindFirstChild("name")
if nameTextbox and nameTextbox:IsA("TextBox") then
nameTextbox.Text = ""
end
local mainUsers = primaryWizard:FindFirstChild("mainUsers")
if mainUsers then
local template = mainUsers:FindFirstChild("template")
for _, child in ipairs(mainUsers:GetChildren()) do
if child:IsA("GuiObject") and child ~= template then
child:Destroy()
end
end
if dependencies.tabHandler and dependencies.tabHandler.addUserToList then
dependencies.tabHandler.addUserToList(LocalPlayer.Name, true)
end
end
end
primary.Visible = false
customTab.Visible = true
end
end)
end
end,
createChatTab = function(allowedUsers, customName, isUserCreated, creatorId)
if not tabCreationModule then
warn("Tab creation not initialized!")
return nil
end
return tabCreationModule.createChatTab(allowedUsers, customName, isUserCreated, creatorId)
end,
deleteTab = function(groupName)
if not tabCreationModule then
warn("Tab creation not initialized!")
return
end
return tabCreationModule.deleteTab(groupName)
end,
switchToTab = function(groupName)
if not tabCreationModule then
warn("Tab creation not initialized!")
return
end
return tabCreationModule.switchToTab(groupName)
end,
getTab = function(groupName)
if not tabCreationModule then
warn("Tab creation not initialized!")
return nil
end
return tabCreationModule.getTab(groupName)
end
}
Thanks.