EasyDev | Grape Studio
63 subscribers
11 photos
4 links
Вопросы, запросы, предложения, сотрудничество — @IliaGrape

Канал для разработчиков игр в Roblox Studio, Unity, Scratch

Индивидуальные занятия для любого уровня. Практика, механики, скрипты, игры
Download Telegram
Channel created
🖤 Добро пожаловать 🖤
Telegram-канал для разработчиков игр в Roblox Studio


Этот канал создан для тех, кто хочет разбираться в Roblox Studio глубже, понимать, как именно устроены игровые механики, и научиться создавать свои собственные игры — от идеи до реализации.

Это канал-учебник и помощник для начинающих разработчиков.

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

Здесь будут публиковаться:
🔘 методические рекомендации по работе в Roblox Studio
🔘 примеры и разборы Lua-скриптов
🔘 инструкции по созданию игровых механик (двери, таймеры, квесты, интерфейсы, логика уровней и т.д.)
🔘 разбор типичных ошибок и правильных архитектурных решений
🔘 практические советы, которые реально применяются в проектах

🌟 Цель канала — показать, как через игру можно развивать креативность, компьютерную грамотность и первые навыки программирования.

Этот канал — про то, как идеи превращаются в игры, миры и уникальные проекты 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
43👍11
🖤 Индивидуальные занятия по созданию игр в Roblox 💙

Запись и подробности
➡️ @IliaGrape

👨‍💻 Как проходят занятия:
🔘 формат: 1 на 1, онлайн
🔘 уровень: от новичков до опытных пользователей
🔘 программа полностью индивидуальная, формируется под интересы ученика, упор на практику
🔘 расписание гибкое: можно менять время и добавлять занятия при необходимости

😎 Результат:
Занятия проходят блоками по 10 уроков. В результате мы создаём полноценную игру выбранного жанра: паркур, квест, гонки, захват флага или индивидуальный проект.
🔘 С опытными разработчиками сразу работаем с более сложными механиками и скриптингом, без повторения базы
🔘 С начинающими разработчиками разбираем основы Roblox Studio и скриптинга пошагово — от интерфейса и базовой логики до первых игровых механик и собственных проектов.

📞 Стоимость:
🔘 от 1000 до 2000 ₽ за занятие
🔘 без обязательных абонементов
🔘 формат и стоимость обсуждаются заранее
🔘 пропуски без штрафов

✉️ Напишите в личные сообщения @IliaGrape — подберём удобный формат занятий и расскажу о своём опыте
Please open Telegram to view this post
VIEW IN TELEGRAM
4110322
Channel photo updated
⭐️ Что такое Lua и зачем он нужен в Roblox Studio

Lua — это язык программирования, на котором создаются скрипты в Roblox Studio. Он нужен, чтобы игра ожила: персонажи двигались, объекты реагировали на игрока, появлялись эффекты, срабатывали диалоги и механики.

Lua — простой или сложный?
Lua считается одним из самых простых языков для новичков.
*️⃣ короткий и понятный, нет лишних сложностей
*️⃣ легко читать и писать даже тем, кто только начал изучать программирование
*️⃣подходит для быстрых экспериментов в Roblox Studio

✔️ Почему это плюс для начинающего?
*️⃣начинающий пользователь не пугается сложного синтаксиса
*️⃣можно быстро видеть результат своих действий прямо в Roblox Studio
*️⃣Lua помогает понять основы программирования, которые потом пригодятся в других языках

✔️ Сравнение с другими языками
*️⃣Другие языки (C++, Java) сложнее для новичков — больше правил, точек с запятой, фигурных скобок и типов данных.
*️⃣Python — тоже простой и популярный язык. Lua похож на Python: оба читаются почти как обычный текст, нет лишних символов. Это значит, что переход на Python потом будет легче, если захочешь изучать другие языки.
Please open Telegram to view this post
VIEW IN TELEGRAM
4111
⭐️ Что такое скрипт? Регистр, пробелы и переносы строк

📝 Скрипт(Script) — это набор команд, которые мы пишем в Roblox Studio на языке Lua. 🧠 Команды говорят игре, что делать: двигать объект, изменять скорость, открывать дверь или запускать эффект.
Мы как будто объясняем Roblox, как должна вести себя игра.

✏️ Для кого мы пишем команды?
Мы пишем команды для игры(компьютера) и объектов в ней. Игра(компьютер) “читает” скрипт и выполняет команды точно так, как мы их написали.

❗️Когда пишем скрипты в Roblox Studio на Lua, важно следить за регистром букв(БОЛЬШИМИ и маленькими), пробелами и переносами строк. Это помогает коду работать правильно и быть читаемым.

🟣Регистр букв. Lua чувствителен к регистру — это значит, что заглавные и строчные буквы имеют разное значение.
Например: Part и part — это не одно и то же слово. Для нас они выглядят почти одинаково, но Roblox читает их как два разных объекта.
💡 Ошибки в регистре — одна из самых частых причин, почему скрипт не работает.

🟣Пробелы и переносы строк. Roblox (а точнее, язык Lua) не обращает внимания на количество пробелов и пустых строк.
Это значит, что можно писать команды подряд, а можно — оставлять между ними расстояние. Но пробелы и пропуски строкони делают код понятным Разбивая команды на отдельные блоки, легче понять, что делает скрипт.
Please open Telegram to view this post
VIEW IN TELEGRAM
411
⭐️ Знаки препинания в скриптах Roblox Studio (Lua)

Когда ты пишешь код в Roblox Studio, ты используешь язык Lua.
А значит — знаки препинания здесь не просто «украшения», а важные символы, которые говорят компьютеру, что именно ты хочешь сделать.

Сегодня разберём основные знаки препинания,
а про них более подробно — и про другие, которые пока не упомянули — поговорим в следующих постах ✏️

Точка (.)
Используется, чтобы обратиться к содержимому объекта — его дочерним элементам или свойствам.

Например:
game.Workspace.Part

🔜 Из game мы заходим в Workspace, а из него — в Part.
Как будто открываем папку внутри папки 📁📂


А если написать:
part.Transparency = 0.5

🔜 Мы обращаемся к свойству Transparency(невидимость) и меняем его значение.

Кавычки (" " и ' ')
Обе пары — работают одинаково. Lua понимает и " " и ' ' как строку (текст).

Пример:
print("Привет, мир!")
print('Привет, мир!')

🔜 Оба варианта верны.

Чаще всего кавычки нужны для:

🔘написания текста (например, для вывода сообщений);
🔘указания имён объектов в коде:
workspace:FindFirstChild("Door")

🔜 Здесь "Door" — имя объекта, к которому мы обращаемся.

Две черты (--)
Это комментарий. Код после них не выполняется — это просто пояснение для тебя или других разработчиков:
-- Это подсказка, а не код
Please open Telegram to view this post
VIEW IN TELEGRAM
5111
✔️ Точка
Точка ( . ) в Lua — это как «войти внутрь» объекта. Она показывает, что мы берём что-то, что принадлежит этому объекту: другой объект, свойство или событие.

🔵 Пример. Попадание в другие объекты:
game.Workspace.Part

🔘 game — это весь мир Roblox.
🔘 Workspace — это место, где лежат все части и модели.
🔘 Part — конкретный объект.
🔜 Точка помогает «спуститься» внутрь объектов: сначала из game попасть в Workspace, потом из Workspace — в Part.
Как будто открываем папку внутри папки 📁📂


🔵 Пример. Обращение к свойствам объекта:
part.Position = Vector3.new(0, 10, 0)
part.BrickColor = BrickColor.new("Bright red")
part.Transparency = 0.5

🔜 Через точку мы меняем свойства объекта:
🟡где он будет находиться (Position)
🟡какого цвета (BrickColor) он будет
🟡 задаём значение Transparency (невидимости)

🔵 Пример. Подключение событий:
part.Touched:Connect(function(hit)
print("Кто-то коснулся детали!")
end)

Touched — это событие, которое происходит, когда объект трогают.
Через тут точку мы берём событие, а через двоеточие : вызываем метод Connect, чтобы сказать: «Когда случится событие, выполни эту функцию».
🔜То есть точка сама по себе показывает, к чему мы обращаемся: объект, свойство или событие. А уже дальше, если нужно что-то выполнить, может идти двоеточие и метод.
Please open Telegram to view this post
VIEW IN TELEGRAM
311
👻 Что такое события в скриптах Roblox Studio

События (Events) — это сигналы, которые сообщают скрипту, что что-то произошло.
Например:
• игрок нажал кнопку,
• персонаж коснулся детали,
• объект появился в игре,
• время дошло до нужного момента и т.д.

✏️ Проще говоря: событие — это триггер (причина запуска реакции), который запускает код/скрипт.

Почему к событиям “подключаются” функции?
Сами события ничего не делают — они просто “сообщают”, что произошло.
Чтобы на это отреагировать, мы подключаем функцию (через :Connect()),
которая выполнится, когда событие сработает (после каких условий сработает).

Пример 👇
local part = script.Parent

part.Touched:Connect(function(hit)
print("Кто-то коснулся детали!")
end)


🔵 Здесь событие Touched сообщает, что парт был тронут.
🔵 Через :Connect() мы “подписываемся” на это событие и запускаем функцию.
🔵 Функция — это реакция: что именно произойдёт, когда событие случится.

🧠 Итого:
🔘 Событие = “Случилось что-то”.
🔘 Функция = “Что делаем, когда случилось”.
🔘 :Connect() = “Связываем одно с другим”.
Please open Telegram to view this post
VIEW IN TELEGRAM
311
⚡️ Cобытия взаимодействия (1 часть)

Разберём 🎮 события взаимодействия в Roblox Studio подробнее — с объяснением, когда именно они срабатывают, и понятными примерами кода.

1️⃣ MouseClick 🖱

🛠 Когда срабатывает?
Когда игрок кликает мышкой по объекту, у которого есть ClickDetector.

Пример:
local part = script.Parent
local click = part:WaitForChild("ClickDetector")

click.MouseClick:Connect(function(player)
print(player.Name .. " кликнул по детали!")
part.BrickColor = BrickColor.Random()
end)

⚙️ ClickDetector нужно вставить внутрь детали (Part).
Можно задать MaxActivationDistance в Properties, чтобы ограничить дистанцию, с которой можно кликать.

2️⃣ Touched 👉

🛠 Когда срабатывает?
Когда одна часть касается другой — например, игрок наступает на платформу или парт коснулся другого парта.

Пример:
local part = script.Parent

part.Touched:Connect(function(hit)
local character = hit.Parent
local humanoid = character:FindFirstChild("Humanoid")

if humanoid then
print(character.Name .. " наступил на платформу!")
part.BrickColor = BrickColor.new("Bright green")
end
end)

⚙️ hit — это объект, который коснулся детали.
Часто проверяют, есть ли в родителе Humanoid, чтобы убедиться, что это игрок.

3️⃣ Equipped / Unequipped 🔨

🛠 Когда срабатывает?
🔵Equipped — инструмент взяли в руку.
🔵Unequipped — инструмент убрали.

Пример:
local tool = script.Parent

tool.Equipped:Connect(function()
print("Игрок взял инструмент в руку!")
end)

tool.Unequipped:Connect(function()
print("Игрок убрал инструмент.")
end)

⚙️ Можно использовать, чтобы, например, включать анимацию или подсказку, когда оружие в руках.

4️⃣ Triggered ⌨️

🛠 Когда срабатывает?
Когда игрок взаимодействует с ProximityPrompt (нажимает клавишу E рядом с объектом).

Пример:
local prompt = script.Parent:WaitForChild("ProximityPrompt")

prompt.Triggered:Connect(function(player)
print(player.Name .. " активировал подсказку!")
script.Parent.BrickColor = BrickColor.new("Really red")
end)

⚙️ В ProximityPromptProperties) можно задать:
🔘ActionText — надпись действия ("Открыть", "Взять", "Поговорить").
🔘ObjectText — подпись объекта ("Сундук", "NPC").
Please open Telegram to view this post
VIEW IN TELEGRAM
4221
🌟 Быстрые команды Roblox Studio - часть 1

🟣Alt + X — открыть / закрыть Explorer

🟢 Ctrl + D — дублировать выбранный объект
🟢 Ctrl + C / Ctrl + V — копировать / вставить выбранный объект
🟢 Ctrl + X / Ctrl + V — вырезать (объект удалиться) / вставить
🟢 Ctrl + A — выбрать всё (все объекты/весь текст)
🟢 Ctrl + Z — отменить действие
🟢 Ctrl + Y — вернуть действие (если случайно отменил)
🟢 Ctrl + G — сгруппировать выбранные объекты в Model
🟢 Ctrl + U — разбирает группу обратно на отдельные части
🟢 Ctrl + Shift + G — создать Union из выбранных объектов
🟢 Ctrl + Shift + U — разбирает Union обратно на отдельные части
🟢 Ctrl + Shift + N — Part/Union становится NegativePartом
Please open Telegram to view this post
VIEW IN TELEGRAM
411
Бег через Shift

🏃‍♂️ Как это работает 🏃‍♀️
Когда игрок зажимает клавишу Shift, персонаж начинает бежать быстрее, а когда отпускаетвозвращается к обычной скорости.

‼️ Важно ‼️
— Требуется создать LocalScript
— Скрипт нужно добавить в папку StarterCharacterScripts (Папка находится Explorer→ StarterPlayer)
— Работает только локально (для конкретного игрока)
— Можно менять значения скорости под себя

local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")

local UserInputService = game:GetService("UserInputService")

local normalSpeed = 16 -- обычная скорость
local newSpeed = 35 -- скорость при беге

UserInputService.InputBegan:Connect(function(input, isProcessed)
if isProcessed then return end
if input.KeyCode == Enum.KeyCode.LeftShift then
humanoid.WalkSpeed = newSpeed
end
end)

UserInputService.InputEnded:Connect(function(input)
if input.KeyCode == Enum.KeyCode.LeftShift then
humanoid.WalkSpeed = normalSpeed
end
end)


Изменяй в скрипте строчку:
local newSpeed = X

где X - желаемая скорость

💡 На заметку: Стандартная скорость (WalkSpeed) персонажа в Roblox = 16
Please open Telegram to view this post
VIEW IN TELEGRAM
522
🎨 Парт меняет цвет 👨‍🎨

🛠 Как это работает 🛠
Коснулся парта → Парт меняет цвет

‼️Важно‼️
— Script необходимо добавить в Part.
— Эффект будет работать только при касании персонажа.
— Part в Properties должен иметь значения:
Anchored = ☑️ true

Парт меняет цвет навсегда:
local part = script.Parent

part.Touched:Connect(function(hit)
local humanoid = hit.Parent:FindFirstChild("Humanoid")
if humanoid then
part.BrickColor = BrickColor.new("Bright red")
end
end)


Парт меняет цвет и через 2 секунды возвращается в исходный цвет:
local part = script.Parent
local touched = false
local originalColor = part.BrickColor

part.Touched:Connect(function(otherPart)
local humanoid = otherPart.Parent:FindFirstChild("Humanoid")
if humanoid then
if touched == false then
touched = true
part.BrickColor = BrickColor.new("Bright red")
wait(2) -- время до возврата
part.BrickColor = originalColor
touched = false
end
end
end)


Изменяй в скрипте строчку:
part.BrickColor = BrickColor.new("COLOR")

где COLOR - это название желаемого цвета.

💡 На заметку. Названия всех цветов можно выбрать через палитру (BrickColor) в свойствах парта в Roblox Studio.
Please open Telegram to view this post
VIEW IN TELEGRAM
4211
Супер-прыжок через Alt 💯

🛠 Как это работает 🛠
Когда игрок зажимает клавишу LeftAlt, персонаж супер-высоко прыгает

‼️ Важно ‼️
— LocalScript нужно добавить в папку StarterCharacterScripts (Папка находится Explorer→ StarterPlayer)
— Требуется создать именно LocalScript
— Работает только локально (для конкретного игрока)
— Можно менять высоту прыжка под себя

local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoidRoot = character:WaitForChild("HumanoidRootPart")
local UIS = game:GetService("UserInputService")

UIS.InputBegan:Connect(function(input, processed)
if processed then return end
if input.KeyCode == Enum.KeyCode.LeftAlt then
humanoidRoot.Velocity = Vector3.new(0, 100, 0) -- сила прыжка (можно менять)
end
end)


Изменяй в скрипте строчку:
humanoidRoot.Velocity = Vector3.new(0, X, 0)

где X - это желаемая высота супер-прыжка

Изменяй в скрипте строчку:
if input.KeyCode == Enum.KeyCode.Y

где Y - желаемая кнопка, которая будет супер-прыжка
4211
🔥 Горячие клавиши Roblox Studio - часть 2

📸 Камера:
🟡W / A / S / D — движение камерой Вперёд/Влево/Назад/Вправо
🟡Q / E — перемещение камеры Вверх/Вниз
🟡F — мгновенно перемещает камеру к выбранному объекту (Focus)

🔁 Инструменты и трансформация:
🟣1 / 2 / 3 / 4 — переключение инструментов:
🔘 1 — Select (выбор)
🔘 2 — Move (перемещение)
🔘 3 — Scale (масштаб)
🔘 4 — Rotate (поворот)
🟣Ctrl + R — поворот объекта на вертикальной оси
🟣Ctrl + T — наклон объект

✏️Работа с объектами:
🟢F2 (или fn+F2) — переименовать выбранный объект
Please open Telegram to view this post
VIEW IN TELEGRAM
4221
📕 Полезное. Советы. Информация 📕

🙂 Как устроен Roblox Studio 🙃
⭐️ Что такое Lua?
⭐️ Что такое скрипт?
⭐️ Знаки в скрипте = символы синтаксиса:
✔️ Точка ( . ) — это как «войти внутрь» объекта
✔️ Кавычки (" " и ' ') — указание имени объекта в коде, текст
✔️ Две черты (--) — комментарии
⭐️ Что такое события?
⚡️ Cобытия взаимодействия:
🟡 MouseClick 🖱
🟡 Touched 👉
🟡 Equipped / Unequipped 🔨
🟡 Triggered ⌨️

📎 Горячие клавиши (часть 1)
📎 Горячие клавиши (часть 2)

📎 Каталог скриптов 📎
Взаимодействие(коснулся парта):
🔘 Парт меняет цвет 🎨
Передвижение и физика мира:
🔘Бег через Shift (Без анимации) 🏃‍➡️
🔘Супер-прыжок через Alt

📌Список будет периодически пополняться📌
Please open Telegram to view this post
VIEW IN TELEGRAM
5311