Roblox · Шутер · урок 8

Вид от первого лица и публикация

Камера от первого лица, свои руки видны. Враги на локациях, пистолет — в инвентаре с самого начала. Публикуем.

Структура

Синим — что добавляем на этом уроке.

StarterPlayer
├─ StarterPlayerScripts
│  └─ PlayerController (LocalScript)
└─ StarterCharacterScripts
   └─ CharacterController (LocalScript)
StarterPack — выдаётся каждому игроку
└─ Gun (Tool) — стартовое оружие
Workspace
└─ Enemies (Folder) — монстры на локациях

Шаги

  1. StarterPlayerScripts переносится в игрока, StarterCharacterScripts — в персонажа.
  2. Врагов (модели с Humanoid) расставь по боевым локациям из схемы.
  3. Остальное оружие оставь в тайниках на карте — его подбирают по дороге.
  4. Публикация: скриншоты локаций; Game Settings → Places: 1–4 игрока; Basic Info; Permissions → Public.

Скрипты

PlayerController

Где: StarterPlayer → StarterPlayerScripts · LocalScript
Зачем: Включает вид от первого лица.

-- этот игрок
local player = game.Players.LocalPlayer
-- камера всегда от первого лица
player.CameraMode = Enum.CameraMode.LockFirstPerson

CharacterController

Где: StarterPlayer → StarterCharacterScripts · LocalScript
Зачем: Делает видимыми свои руки.

-- персонаж (скрипт кладётся в него)
local character = script.Parent
-- события каждого кадра
local RunService = game:GetService("RunService")

-- каждый кадр
RunService.RenderStepped:Connect(function()
    -- все части персонажа
    for _, part in pairs(character:GetChildren()) do
        -- в имени есть Arm или Hand — это рука
        if string.match(part.Name, "Arm") or string.match(part.Name, "Hand") then
            -- показываем её этому игроку
            part.LocalTransparencyModifier = 0
        -- конец проверки
        end
    -- конец перебора
    end
-- конец обработчика
end)

Проверка

Запусти Play (или Run) и убедись: