Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

Team is picked,screen goes black and doesn't change the team.Why is that?

So, I cut out most of the script, but for some reason the script won't change the Player's team nor will it respawn the player.. Why?

local player = game.Players.LocalPlayer
local character = player.Character
if not character or not character.Parent then
character = player.CharacterAdded:wait()
end
local gui = script.Parent:WaitForChild("IntroductionGui")
local menuMusic = gui:WaitForChild("MenuMusic")
local background = gui:WaitForChild("Background")
local logo = gui:WaitForChild("Logo")
local textFrame = gui:WaitForChild("Text")
local textOne = textFrame:WaitForChild("TextLabel1")
local textTwo = textFrame:WaitForChild("TextLabel2")
local ethicsCommitteeButton = gui:WaitForChild("EthicsCommitteeButton")
local dClassButton = gui:WaitForChild("DClassButton")
local intelligenceAgencyButton = gui:WaitForChild("IntelligenceAgencyButton")
local sciencetificDepartmentButton = gui:WaitForChild("ScientificDepartmentButton")
local foundationPersonnelButton = gui:WaitForChild("FoundationPersonnelButton")
local securityDepartmentButton = gui:WaitForChild("SecurityDepartmentButton")
local administrativeDepartmentButton = gui:WaitForChild("AdministrativeDepartmentButton")
local mobileTaskForceButton = gui:WaitForChild("MobileTaskForceButton")
local medicalDepartmentButton = gui:WaitForChild("MedicalDepartmentButton")
local chaosInsurgencyButton = gui:WaitForChild("ChaosInsurgencyButton")
local versionFrame = gui:WaitForChild("Version")
local errorNotificationFrame = gui:WaitForChild("ErrorNotification")
local errorText = errorNotificationFrame:WaitForChild("ErrorText")
local raidValue = game.Lighting:WaitForChild("RaidAuthorised")
local replicatedStorage = game:GetService("ReplicatedStorage")
local remote = replicatedStorage:WaitForChild("RemoteEventPlayerIntroductionManager")
--Data saving.
local chosen = false
if tostring(game.Players.LocalPlayer.Team) == "Pending" and player.Name ~= "Player1" then
	dClassButton.TextButton2.MouseButton1Click:connect(function()
		if chosen == false then
			if character then
				chosen = true
				gui.GroupGranted:Play()
				loadCharacterTransition()
				remote:FireServer("ChangeTeam", player, "D Class Personnel")
				remote:FireServer("LoadPlayer", player)
				if character:FindFirstChild("ForceField") then
					character["ForceField"]:Destroy()
				end
			end
		end
	end)
	--- END OF SAME BUTTON
	intelligenceAgencyButton.TextButton.MouseButton1Click:connect(function()
		if player:IsInGroup(3131922) then
			if chosen == false then
				if character then
					chosen = true
					gui.GroupGranted:Play()
					loadCharacterTransition()
					remote:FireServer("ChangeTeam", player, "Intelligence Agency")
					remote:FireServer("LoadPlayer", player)
					if character:FindFirstChild("ForceField") then
						character["ForceField"]:Destroy()
					end
				end
			end
		else

1 answer

Don’t put events inside of if statements like you did on line 32. This is a RemoteEvent inside of ReplicatedStorage. Also, don’t use deprecated code. RBXScriptSignal:connect() is deprecated, switch to RBXScriptSignal:Connect() instead.

--Server Script
local teamChange = game:GetService("ReplicatedStorage").TeamChange

teamChange.OnServerEvent:Connect(function(plr, team)
    if not plr.Team or plr.Team ~= team then
        plr.Team = team
        plr.TeamColor = team.TeamColor
        
        plr:LoadCharacter()
        game.Workspace[plr.Name]:FindFirstChild("ForceField"):Destroy()
    end
end)

Now the local-script

local teamChange = game:GetService("ReplicatedStorage").TeamChange

script.Parent.MouseButton1Click:Connect(function()
    teamChange:FireServer(game:GetService("Teams").Team) --team here 
end)

1 comment

0

In which line was the deprecated code in?

This discussion is preserved as it was. New answers, comments, and votes are closed.