Top.Mail.Ru
Ответы
Аватар пользователя
1мес
Аватар пользователя
Аватар пользователя
Время игр
+1

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

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

По дате
По рейтингу
Аватар пользователя
Знаток
1мес

Автоматическая смена скина по команде в 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 для ошибок.

Аватар пользователя
Ученик
1мес

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

Аватар пользователя
Знаток
1мес

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