Top.Mail.Ru
Ответы

Как сменить скин в плейсе в Роблокс Студио ?

Мне в плейсе нужно, чтобы участникам определенной команды выдавался определенный скин и они в нём бегали, как это реализовать? Сколько ни пытался сделать это скриптами не получалось

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Знаток
3нед

Автоматическая смена скина по команде в Roblox Studio:

Создай команды: Teams -> Добавь, назови, задай цвет.
Скины (Avatar Models):
Toolbox: найди или создай свой аватар.
Сделай дубликат для каждой команды.
Измени вид (одежда, цвет).
Переименуй (AvatarModelTeamA, B…).
Положи в папку в Workspace (“AvatarModels”).
Скрипт (ServerScriptService -> “+” -> Script):
lua

-- Переменные
local Teams = game:GetService("Teams")
local Players = game:GetService("Players")
local AvatarModelsFolder = workspace.AvatarModels

-- Функция смены скина
local function ChangeSkin(player)
local team = player.Team
local character = player.Character
if not character or not character.Parent then
player.CharacterAdded:Wait()
character = player.Character
end

if character then
character:Destroy()
end

local avatarModelName = ""
if team == Teams["TeamA"] then
avatarModelName = "AvatarModelTeamA"
elseif team == Teams["TeamB"] then
avatarModelName = "AvatarModelTeamB"
else
print("Игрок вне команды: ", player.Name)
return
end

local avatarModel = AvatarModelsFolder:FindFirstChild(avatarModelName)
if not avatarModel then
warn("Нет модели: " .. avatarModelName)
return
end

local clonedModel = avatarModel:Clone()
clonedModel.Name = player.Name
clonedModel.Parent = workspace

local spawnLocation = workspace.SpawnLocation
local humanoidRootPart = clonedModel:FindFirstChild("HumanoidRootPart")
if humanoidRootPart then
humanoidRootPart.CFrame = spawnLocation.CFrame
end

player.Character = clonedModel
local camera = workspace.CurrentCamera
if camera then
camera.CameraSubject = clonedModel.HumanoidRootPart
end
end

-- Обработка присоединения и смены команды
Players.PlayerAdded:Connect(function(player)
player.TeamColor = player.Team and player.Team.TeamColor or Color3.new()
player.TeamColor:GetPropertyChangedSignal("TeamColor"):Connect(function()
ChangeSkin(player)
end)
ChangeSkin(player)
end)
Играй! Игроки получат скины по командам.
Проверь: Все пути к моделям, наличие Humanoid, имя модели = имя игрока, команда выбрана. Используй Output для ошибок.

Аватар пользователя
Ученик
3нед

Может не менять им скинуть а просто надпись цвета и названия команды над игроками повесить?

Аватар пользователя
Знаток
3нед

Скинуть все свои робуксы мне