How to make a different character for a separate team?

Hi, I would like to know how to change character for a given team. I use such a way that I change the NPC name to “StarterCharacter” and the humanoid to “StarterHumanoid” and all this is in StarterPlayer.

I would like to change this because I am playing an FPS game and the opposing team has the same model as mine and it is difficult to distinguish who is in which team.

Model: https://i.imgur.com/jN8DDfC.png
Here is the way that I use: https://i.imgur.com/2Q6i9pB.png

7 Likes

Are you trying to make people on different teams look different, but people on the same team look alike?

I found a community resource that teaches you how to change a players character into a custom one:

If I understood you correctly, you can use a loop to iterate over all players in a team and change their models into the ones you want. Or, you can use a OnCharacterAdded event, check the players team, and change the player character when they join the game.

And one more thing, you don’t have to change the humanoid of the player, as it doesn’t affect the looks of the player.

I use this method and everyone has the same model, and I want something like Phantom Forces that one team has their own model and the other has a different one.

Well, you have to modify the code.

The code in the example inserts a script into the player that changes its model. But only into one model.

What you want is the code to change that persons model depending on their team. A simple if statement inside the code world work

I’ll rewrite the NewCharacter part for you:

local serverStorage = game:GetService("ServerStorage")
local NewCharacter
if --[[check players team here]] then
    NewCharacter = serverStorage:WaitForChild("teamOneModel")
elseif --[[check here]] then
    NewCharacter = serverStorage:WaitForChild("teamTwoModel")
-- and so on
2 Likes

He also needs to disable characterautoloads, and set player.Character

2 Likes

You can manipulate the Character property, or you can use HumanoidDescriptions, though I’d prefer the latter. With changing the character, you’ll have to change the CameraSubject and move the scripts from the old character to the new one

StarterCharacter and StarterHumanoid are not for this purpose, they are intended to change the rig construct for all players. If you need to change the character or its appearance based on certain circumstances, set the Character directly or actually go in and modify the character’s appearance.

1 Like

I don’t understand StarterCharacter stuff myself but I usually design character models by disabling LoadCharacterApperance property in StarterPlayer and using:

game.Players.PlayerAdded:connect(function(Player)
	Player.CharacterAdded:connect(function(Character)
		if Player.TeamColor == BrickColor.new("Bright red") then
			--Give red torso color and other welded cosmetics
		elseif Player.TeamColor == BrickColor.new("Bright blue") then
			--Give blue torso color and other welded cosmetics
	end)
end)	
5 Likes