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

ПОМОГИТЕ НАПИСАТЬ СКРИПТ НА ЯЗЫКЕ luau!!

Embrik Den Ученик (96), на голосовании 1 месяц назад
Нужно написать скрипт для Роблокс студио в котором при прикосновении к блоку срабатывал скрипт. Скрипт, который должен срабатывать это скрипт на камеру. То есть с помощью этого будет изменятся положение камеры. Помогите плз
Голосование за лучший ответ
alternativeGod Гуру (4312) 2 месяца назад
Вот пример скрипта для Roblox Studio на языке Luau, который изменяет положение камеры при прикосновении игрока к блоку:

1. Создание базовой структуры
Перейдите в Roblox Studio.
Добавьте объект Part в Workspace.
Убедитесь, что у объекта включён параметр CanCollide и Anchored.
Внутри объекта Part добавьте Script.

2. Скрипт изменения положения камеры
Вставьте этот код в скрипт внутри блока:

-- Получаем ссылку на блок
local block = script.Parent

-- Функция для изменения камеры
local function changeCamera(hit)
-- Проверяем, прикоснулся ли игрок
local character = hit.Parent
local player = game.Players:GetPlayerFromCharacter(character)

if player then
-- Получаем текущую камеру
local camera = workspace.CurrentCamera

-- Задаём новое положение камеры
camera.CameraType = Enum.CameraType.Scriptable -- Переключение камеры на скриптовую
camera.CFrame = CFrame.new ( Vector3.new (0, 50, 0), Vector3.new (0, 0, 0)) -- Новая позиция камеры

-- Через несколько секунд вернуть стандартный вид камеры
wait(3) -- Время задержки
camera.CameraType = Enum.CameraType.Custom -- Вернуть управление игроку
end
end

-- Подключаем событие касания блока
block.Touched:Connect(changeCamera)

3. Что делает этот код:
Определяет событие "прикосновение" (Touched):
Проверяет, какой объект касается блока.
Определяет, принадлежит ли объект персонажу игрока.

Изменяет камеру:
Устанавливает тип камеры на Scriptable.
Меняет положение и направление камеры с помощью CFrame.

Возвращает стандартное управление камерой:
Через 3 секунды возвращает камеру в режим Custom (управление игрока).

4. Настройка положения камеры
Измените параметры в этой строке, чтобы задать нужное положение:

camera.CFrame = CFrame.new ( Vector3.new (0, 50, 0), Vector3.new (0, 0, 0))

Первый параметр: положение камеры в пространстве.
Второй параметр: направление, куда смотрит камера.
Observer Мыслитель (6511) 2 месяца назад
```lua
local part = script.Parent -- Получаем родительский объект (блок)

-- Создаём событие при касании блока
part.Touched:Connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") then -- Проверяем, есть ли у объекта гуманоид
-- Получаем камеру и изменяем её положение
local camera = workspace.CurrentCamera
camera.CameraType = Enum.CameraType.Scriptable -- Устанавливаем тип камеры
camera.CFrame = CFrame.new ( Vector3.new (-10, 0, -10)) -- Изменяем положение камеры
end
end)
```

Этот скрипт будет срабатывать при каждом касании блока и изменять положение камеры. можете настроить параметры положения камеры по своему усмотрению.
этот скрипт предполагает наличие у блока родительского объекта с гуманоидом. чтобы скрипт срабатывал при касании любого блока, независимо от наличия гуманоида, то вам нужно изменить условие в строке 7.
Frelinq Знаток (409) 2 месяца назад
Этот скрипт прикрепляется к блоку, с которым нужно взаимодействовать. Он меняет положение камеры при прикосновении игрока.

 local Part = script.Parent  -- Блок, к которому прикреплен скрипт 

local Camera = workspace.CurrentCamera

local function onTouch(part)
if part.Parent:FindFirstChild("Humanoid") then -- Проверка, что это игрок
local newCFrame = CFrame.new(Vector3.new(10, 10, 10), Vector3.new(0,0,0)) -- Новое положение камеры (поменяйте на нужное)
Camera.CFrame = newCFrame
end
end

Part.Touched:Connect(onTouch)
Пояснения:

local Part = script.Parent: Эта строка получает объект, к которому прикреплён скрипт. Убедитесь, что скрипт находится внутри части (Part) в Roblox Studio.

local Camera = workspace.CurrentCamera: Эта строка получает текущую камеру.

local function onTouch(part): Это функция, которая срабатывает при прикосновении к блоку. Аргумент part — это объект, который коснулся блока (в данном случае это часть персонажа игрока).

if part.Parent:FindFirstChild("Humanoid") then: Эта проверка гарантирует, что событие Touched вызвано игроком, а не другим объектом. Humanoid — это часть персонажа игрока.

local newCFrame = CFrame.new ( Vector3.new (10, 10, 10), Vector3.new (0,0,0))Здесь задается новое положение камеры. Vector3.new (10, 10, 10) — это новые координаты позиции камеры, а Vector3.new (0, 0, 0) — это точка, на которую будет смотреть камера (ориентация). Замените эти значения на нужные координаты.

Camera.CFrame = newCFrame: Эта строка устанавливает новое положение и ориентацию камеры.

Part.Touched:Connect(onTouch): Эта строка подключает функцию onTouch к событию Touched блока.

Важно: замените Vector3.new (10, 10, 10) и Vector3.new (0, 0, 0) на желаемые координаты и ориентацию камеры. Для более плавного перехода камеры можно использовать tweening (анимацию).
Похожие вопросы