I tried modulating some code so it's more streamlined and edit-able. However, the one issue I came upon was in the following code:
Keep in mind, this is in a ModuleScript, called by a parent Script, providing the Player instance and value of Player.Team
local Tools = game.ServerStorage.ToolStorage local TCDAR = Tools["TCD AR"] local AR = Tools.AR local Revolver = Tools.Revolver local function ClassAssignment(Player, Team) local starterGear = Player:WaitForChild("StarterGear") starterGear:ClearAllChildren() if Team == "TCD" then game.Lighting.ClassSystem.ClassCounts.TCD.Assault.Value = game.Lighting.ClassSystem.ClassCounts.TCD.Assault.Value + 1 local Primary = game.ServerStorage.ToolStorage["TCD AR"]:Clone() local Secondary = game.ServerStorage.ToolStorage.Revolver:Clone() Primary.Parent = Player.StarterGear Secondary.Parent = Player.StarterGear elseif Team == "Insurgents" then game.Lighting.ClassSystem.ClassCounts.Insurgents.Assault.Value = game.Lighting.ClassSystem.ClassCounts.Insurgents.Assault.Value + 1 local Primary = AR:Clone() local Secondary = Revolver:Clone() Primary.Parent = Player.StarterGear Secondary.Parent = Player.StarterGear end Player.ClassType.Value = "Assault" Player:LoadCharacter() end return ClassAssignment
The problem lies in either: 1). The tools themselves cloning 2). The tools' copies not being relocated. (I checked both client and server-side and neither showed any sign of the new tools in the player's StarterGear.)
Thanks in advance for any help!