Top.Mail.Ru
Ответы
Аватар пользователя
11 месяцев назад
от

Взаимодействие с движущейся платформой / лифтом в роблокс студио

Например, у нас в игре есть платформа (или лифт), позицию которой мы анимируем с помощью аниматора. Если игрок заходит на нее, то она по идеи должна перевезти персонажа на другую сторону, либо платформа/лифт движется постоянно из стороны в сторону, не важно. Дело в том, что если зайти на такую платформу, то удержаться на ней не получится. Тоже самое касается и любых других объектов, которые положить на движущийся объект. Помогите пожалуйста. Как сделать, что бы игрок держался на платформе? (roblox studio)

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

Вам нужно убедиться, что игрок привязан к движущейся платформе или лифту, чтобы они перемещались вместе. Для этого вы можете использовать инструменты Roblox Studio и скриптинг на языке Lua. Вот пример кода, который поможет вам разобраться, как это сделать:
Создайте платформу и анимируйте её перемещение.
Убедитесь, что платформа имеет PrimaryPart, чтобы можно было легко работать с перемещением.
Напишите скрипт, который будет привязывать игрока к платформе.

1234567891011121314151617181920212223
 -- Расположите этот скрипт внутри движущейся платформы 
 
local platform = script.Parent  -- Платформа/лифт 
local primaryPart = platform.PrimaryPart 
 
local function onTouched(hit) 
    local character = hit.Parent 
    if character:IsA("Model") and character:FindFirstChild("Humanoid") then 
        character.PrimaryPart = character:FindFirstChild("HumanoidRootPart") 
        character:SetPrimaryPartCFrame(primaryPart.CFrame * primaryPart.CFrame:Inverse() * character.PrimaryPart.CFrame) 
        character.PrimaryPart.Anchored = true 
    end 
end 
 
local function onTouchEnded(hit) 
    local character = hit.Parent 
    if character:IsA("Model") and character:FindFirstChild("Humanoid") then 
        character.PrimaryPart.Anchored = false 
    end 
end 
 
platform.Touched:Connect(onTouched) 
platform.TouchEnded:Connect(onTouchEnded) 
  1. Переместите скрипт: Убедитесь, что этот скрипт находится в движущейся платформе или лифте.

  2. Проверка на персонажей: Скрипт проверяет, касаются ли платформы объекты, которые могут быть персонажами.

  3. Привязка к платформе: Как только персонаж касается платформы, его перемещение связывается с платформой с помощью SetPrimaryPartCFrame и Anchored.

  4. Отвязывание: Как только персонаж перестает касаться платформы, он снова становится свободным.

Этот скрипт должен обеспечить, чтобы игрок перемещался вместе с платформой. Не забудьте протестировать и при необходимости настроить его под особенности вашего проекта.