Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Роблокс студио, как сделать невидимость персонажа?

Магомедсалих Абдулаев Ученик (100), открыт 3 недели назад
Как сделать чтоб когда персонаж садился на блок Seat он исчезал?
2 ответа
ivan866_z Просветленный (20202) 3 недели назад
 local playersSvc = game:GetService('Players') 

local seatL = workspace.vehicle["Seat.L"]
local seatR = workspace.vehicle["Seat.R"]


local function OccupantChangedHnd(prop, seat)
if prop == 'Occupant' then
local hum = seat.Occupant
local player = playersSvc:GetPlayerFromCharacter(hum.Parent)
local ch = player.Character or player.CharacterAppearanceLoaded:Wait()
for k, p in pairs(player.Character:GetDescendants()) do
if p:IsA('BasePart') or p:IsA('MeshPart') or p:IsA('Decal') then
p.Transparency = 1
end
end
end
end

seatL.Changed:Connect(function(prop)
OccupantChangedHnd(prop, seatL)
end)
seatR.Changed:Connect(function(prop)
OccupantChangedHnd(prop, seatR)
end)
Магомедсалих АбдулаевУченик (100) 3 недели назад
можешь объяснить некоторые моменты где нужно что то поменять или куда код вставлять
ivan866_z Просветленный (20202) Магомедсалих Абдулаев, открой панель Output и смотри там какая ошибка вылазит
Рустам Абдрашитов Мыслитель (9465) 3 недели назад
1. Откройте Roblox Studio и ваш проект.

2. Убедитесь, что у вас есть блок Seat в вашей игре. Если его нет, добавьте его из вкладки "Model" в разделе "Parts".

3. В Explorer (обычно находится слева), найдите или создайте "ServerScriptService".

4. Правой кнопкой мыши кликните по "ServerScriptService" и выберите "Insert Object" > "Script".

5. Дважды кликните по новому скрипту, чтобы открыть его.

6. Вставьте следующий код в скрипт:
 local seat = game.Workspace.Seat -- Замените "Seat" на имя вашего блока Seat 

local function onSeated(player)
local character = player.Character
if character then
for _, part in pairs(character:GetDescendants()) do
if part:IsA("BasePart") or part:IsA("Decal") then
part.Transparency = 1
elseif part:IsA("Accessory") then
part.Handle.Transparency = 1
end
end
end
end

local function onUnseated(player)
local character = player.Character
if character then
for _, part in pairs(character:GetDescendants()) do
if part:IsA("BasePart") or part:IsA("Decal") then
part.Transparency = 0
elseif part:IsA("Accessory") then
part.Handle.Transparency = 0
end
end
end
end

seat.Occupant.Changed:Connect(function(occupant)
if occupant then
onSeated(occupant)
else
local lastPlayer = game.Players:GetPlayerFromCharacter(seat.Occupant.Parent)
if lastPlayer then
onUnseated(lastPlayer)
end
end
end)
7. В первой строке кода замените "Seat" на точное имя вашего блока Seat в игре.

8. Сохраните скрипт (Ctrl+S или File > Save).

9. Протестируйте игру, нажав кнопку "Play" в Roblox Studio.
Магомедсалих АбдулаевУченик (100) 3 недели назад
а на drive seat будет работать?
Похожие вопросы