🎮 IT Step by step | GameDev для начинающих 🚀
259 subscribers
68 photos
2 files
31 links
Учись создавать игры, сайты и 3D-модели вместе с весёлой Терри и её приятелем Тимом.
Программирование: Scratch, Roblox, Unity, Frontend
3D в Blender
Компьютерная грамотность
Реальные проекты
Для детей и подростков 6–16 лет

Администратор канала: @E1lena_9
加入频道
😳«О чём это?»: Разбираемся с геймдев-сленгом подростков (чтобы родители не терялись)🎮

Если вы родитель подростка, который увлёкся созданием игр, и вдруг услышали из комнаты загадочные слова вроде «спрайт», «баг» или «пулл-реквест», не паникуйте! Вот лёгкий и весёлый разбор самых популярных терминов из мира геймдева, чтобы можно было поддержать разговор и даже слегка удивить своего геймдевера.

🌟 Спрайт

Нет, это не новый вид спорта и не супергерой из комиксов. Спрайт — это просто картинка или анимация в игре. Можно представить героя как крошечную картинку, которая бегает по экрану. Вот это и есть спрайт.

Пример:
«Папа, я сегодня сделал спрайт для своего персонажа!» — значит, ребёнок нарисовал или добавил картинку героя.

🌟 Баг

Баг — это ошибка в игре. Ситуация, когда вы идёте по комнате и вдруг натыкаетесь на невидимую стену или герой начинает летать как птица — это баг.

Почему баг?
История гласит, что в одной из первых машин нашли настоящего жука (bug), который сломал механизм. С тех пор слово «баг» стало означать ошибку.

🌟 Пулл-реквест (Pull request)

Звучит как что-то из космоса, но на самом деле это просьба «запуллить» (влить) изменения в общий проект. Можно сравнить это с приготовлением пирога, когда вы предлагаете добавить свои ингредиенты — вот это и есть пулл-реквест.

🌟 Юзер (User)

Просто игрок или человек, который пользуется вашей игрой. Иногда подростки говорят «юзер» так, будто это секретный агент.

🌟 Лаг

Когда игра начинает тормозить, а герой движется рывками — это лаги. Это похоже на ситуацию, когда вы пытаетесь танцевать, но музыка постоянно заедает. Вот это и есть лаг.

🌟 Дебаг (Debug)

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

🌟 Геймплей (Gameplay)

То, как вы играете в игру — правила, управление, взаимодействие. Если ваш ребёнок говорит «геймплей», он просто рассказывает, как всё устроено в игре.

🌟 Фрейм (Frame)

Кадр в анимации или видео. Если игра — это фильм, то фреймы — это отдельные картинки, которые быстро сменяют друг друга и создают движение.

🌟 Краш (Crash)

Когда игра неожиданно «падает» и закрывается. Это похоже на ситуацию, когда вы пьёте чай, а чашка внезапно разбивается — вот так же и игра.

🌟 Хардкор (Hardcore)

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

Итог
Теперь, когда известно, что значит «спрайт», «баг» и «пулл-реквест», можно смело поддержать разговор с подростком-геймдевером и даже пошутить. Главное — не забывать, что за этими словами стоит огромный мир творчества и технологий, в который ребёнок погружается с интересом и страстью!

Если остались вопросы, то добро пожаловать в комментарии 😉

#Глоссарий
🔥5🤓3🤔2👌2
🎮 Краткий разбор жанров игр: выбираем стиль для своего проекта

Если хочешь создать свою игру, важно понимать, какие бывают жанры — они задают не только стиль, но и механику, и атмосферу игры. Вот самые популярные жанры и их особенности:

1️⃣ Экшн (Action)
Это игры, где главное — скорость реакции и умение быстро принимать решения. Сюда относятся шутеры, файтинги, платформеры и другие динамичные проекты. В экшн-играх часто много сражений, прыжков и быстрых движений. Отличный выбор, если любишь адреналин и драйв!

2️⃣ Приключения (Adventure)
В таких играх акцент на сюжете и исследовании мира. Игроки решают головоломки, выполняют квесты и погружаются в интересные истории. Это отличный жанр для тех, кто любит погружаться в атмосферу и переживать вместе с героями.

3️⃣ Ролевые игры (RPG)
RPG — это игры с развитием персонажа: прокачка навыков, выбор пути, принятие решений, влияющих на сюжет. Здесь важна свобода действий и глубокий сюжет. Любители погружаться в миры с богатой историей и разнообразием персонажей оценят RPG по достоинству.

4️⃣ Стратегии (Strategy)
Жанр для тех, кто любит планировать и продумывать каждый ход. В стратегиях игрок управляет ресурсами, строит базы, ведёт армии в бой. Это игры, где важна логика, тактика и умение предугадывать действия противника.

5️⃣ Симуляторы (Simulation)
Симуляторы имитируют реальные процессы или профессии — от фермерства и вождения до полётов и строительства. Такие игры дают возможность почувствовать себя в роли пилота, фермера или даже космонавта.

6️⃣ Головоломки (Puzzle)
Игры, где нужно решать логические задачи, собирать пазлы, находить закономерности. Отличный жанр для тренировки мозга и развития внимательности.

7️⃣ Хоррор (Horror)
Игры с элементами страха, напряжения и мистики. В хоррорах важна атмосфера, звуковое сопровождение и неожиданные события, которые заставляют сердце биться чаще.

Выбирай жанр, который больше всего вдохновляет, и начинай создавать свою уникальную игру!

#GameDev
🤔4🔥32👨‍💻1
🎮Как заменить курсор в Roblox Studio через скрипт

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

Шаги для замены курсора:

Открой Roblox Studio и в своём проекте найди папку StarterGui.

Добавь в StarterGui новый LocalScript (локальный скрипт).

В скрипте получи объекты игрока и мыши:

local player = game.Players.LocalPlayer
local mouse = player:GetMouse()

Задай свойству mouse.Icon ID изображения твоего нового курсора:

mouse.Icon = "rbxassetid://ID_ИЗОБРАЖЕНИЯ"

Где ID_ИЗОБРАЖЕНИЯ - это числовой идентификатор картинки, которую ты загрузил в Roblox (лучше использовать PNG с прозрачным фоном).

Запусти игру и увидишь, как курсор изменился!

Как получить ID изображения для курсора:

Открой вкладку VIEW найди там Asset Manager и через это окно загрузи свою картинку с компьютера.

После загрузки открой страницу с наклейкой и скопируй ID из URL. Это число после ?id= или в адресе вида rbxassetid://123456789.

Используй этот ID в скрипте вместо ID_ИЗОБРАЖЕНИЯ.

Советы:

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

Размер изображения лучше делать небольшим (например, 32x32 пикселя).

Если курсор не меняется, проверь правильность ID и что скрипт действительно запускается.

Сделай свою игру в Roblox уникальной и запоминающейся с помощью кастомного курсора! Если возникнут вопросы - пиши в комментариях. ⬇️

#Roblox #Lua #GameDev
👍42🎉2🔥1🥰1
Что такое CharacterController в Unity и как его использовать? 🦾

CharacterController - это удобный встроенный компонент Unity для управления персонажем в 3D без сложной физики Rigidbody. Он помогает легко реализовать движение, обработку столкновений и взаимодействие с окружением.

Основные возможности:

Перемещение персонажа через методы Move() и SimpleMove(), с автоматической обработкой столкновений.

Использует капсулу для определения границ персонажа - персонаж не проходит сквозь стены и объекты.

Настройки:

🌟Slope Limit - максимальный угол подъёма.

🌟Step Offset - высота, которую можно автоматически преодолеть.

🌟Skin Width - небольшой запас для предотвращения залипания.

Персонаж не вращается под действием физики - сохраняет вертикальное положение.

Как начать использовать:

Добавьте компонент CharacterController к вашему персонажу.

В скрипте получите ссылку на компонент:

private CharacterController controller;

void Start() {
controller = GetComponent<CharacterController>();
}

Перемещайте персонажа так:

Vector3 moveDirection = new Vector3(inputX, 0, inputZ);
controller.SimpleMove(moveDirection * speed);

SimpleMove учитывает гравитацию и время автоматически, а Move требует ручного управления.

Плюсы CharacterController:

🌟Легко использовать и быстро настроить.

🌟Отлично подходит для платформеров, шутеров и приключений.

🌟Встроенная обработка столкновений без лишних сложностей.

Ограничения:

Не подходит для реалистичной физики персонажа.

Вращение и прыжки нужно реализовывать самостоятельно.

Полезные ссылки для изучения:

📚 Официальная документация Unity

Если нужны примеры скриптов или помощь с настройками - пишите в комментариях! ⬇️

#Unity #GameDev
👍5🤔42
Хотите сделать курсор в вашей игре уникальным и менять его иконку, когда мышь наводится на разные объекты? Вот подробная инструкция с примерами!

1. Замена курсора на свою картинку по умолчанию
Подготовьте изображение курсора (лучше PNG с прозрачным фоном), импортируйте в проект и в инспекторе установите Texture Type → Cursor.

Создайте скрипт:

public class CursorManager : MonoBehaviour
{
public Texture2D defaultCursor;
public Vector2 hotspot = Vector2.zero;

void Start()
{
SetDefaultCursor();
}

public void SetDefaultCursor()
{
Cursor.SetCursor(defaultCursor, hotspot, CursorMode.Auto);
}

public void ResetCursor()
{
Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto);
}
}

Добавьте этот скрипт на любой объект в сцене и в инспекторе назначьте defaultCursor.

2. Смена курсора при наведении на объект
Чтобы менять курсор при наведении на конкретный объект, используйте интерфейсы Unity IPointerEnterHandler и IPointerExitHandler из пространства имён UnityEngine.EventSystems.

Пример скрипта для объекта:

using UnityEngine;
using UnityEngine.EventSystems;

public class CursorChangerOnHover : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
{
public Texture2D hoverCursor;
public Vector2 hotspot = Vector2.zero;

public void OnPointerEnter(PointerEventData eventData)
{
Cursor.SetCursor(hoverCursor, hotspot, CursorMode.Auto);
}

public void OnPointerExit(PointerEventData eventData)
{
Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto); // Возвращаем стандартный курсор
}
}

Важно: Для работы этих интерфейсов объект должен иметь компонент Collider и сцена должна содержать EventSystem (обычно создаётся автоматически при добавлении UI).

3. Альтернативный способ с использованием Raycast (для 3D объектов)
Если вы не используете UI, а хотите менять курсор при наведении на 3D объекты, можно делать Raycast из позиции мыши:

using UnityEngine;

public class CursorRaycastChanger : MonoBehaviour
{
public Texture2D defaultCursor;
public Texture2D hoverCursor;
public Vector2 hotspot = Vector2.zero;

void Start()
{
Cursor.SetCursor(defaultCursor, hotspot, CursorMode.Auto);
}

void Update()
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;

if (Physics.Raycast(ray, out hit))
{
if (hit.collider.CompareTag("HoverTarget"))
{
Cursor.SetCursor(hoverCursor, hotspot, CursorMode.Auto);
return;
}
}

Cursor.SetCursor(defaultCursor, hotspot, CursorMode.Auto);
}
}

Не забудьте назначить тег HoverTarget объектам, при наведении на которые курсор должен меняться.

Советы
Используйте маленькие изображения (например, 32×32 px) с прозрачным фоном.

Настройте hotspot - точку прицеливания курсора (обычно верхний левый угол или центр).

Следите, чтобы не было частых вызовов SetCursor без необходимости - это может влиять на производительность.

Официальная документация Cursor.SetCursor:
https://docs.unity3d.com/ScriptReference/Cursor.SetCursor.html

Сделайте управление курсором в игре удобным и стильным! Если возникнут вопросы - пишите в комментариях. ⬇️

#Unity #GameDev #Обучение
👍52🤔2👌2
🤖Что такое DragDetector в Roblox Studio и как его использовать?

DragDetector - это мощный встроенный компонент Roblox, который позволяет делать 3D-объекты в игре перетаскиваемыми с помощью мыши, тачскрина, геймпада или VR без написания кода!

Основные возможности DragDetector:

🌟Позволяет перетаскивать объекты (части или модели) в игровом пространстве.

🌟Работает со всеми типами ввода: мышь, сенсорный экран, геймпад и VR.

🌟Можно настроить стиль перетаскивания: перемещение по плоскости, по линии, вращение и другие варианты.

🌟Позволяет ограничить область перемещения, чтобы объект не выходил за заданные границы.

🌟Настраиваемая чувствительность и сила отклика для плавного управления.

🌟Можно задать, кто именно может перетаскивать объект (например, только владелец или все игроки).

🌟Работает без необходимости писать скрипты - достаточно добавить компонент и настроить параметры.

Как добавить DragDetector:

В Roblox Studio выберите объект (BasePart или Model), который хотите сделать перетаскиваемым.

В его иерархии добавьте объект DragDetector.

Настройте параметры DragDetector в свойствах:

DragStyle - стиль перетаскивания (например, TranslatePlane - движение по плоскости).

Responsiveness - насколько быстро объект реагирует на перемещение.

MaxActivationDistance - максимальное расстояние, с которого можно начать перетаскивание.

Другие параметры для ограничения движения и управления поведением.

Пример использования

Хотите сделать выдвижной ящик или вращающийся рычаг? DragDetector отлично подойдёт! Просто добавьте его к нужной части и настройте стиль движения. Игроки смогут перетаскивать объект в пределах заданных ограничений - всё это без единой строки кода.

Полезные ссылки для изучения:

Официальная документация Roblox по DragDetector:
https://create.roblox.com/docs/ui/3D-drag-detectors

DragDetector - отличный инструмент для интерактивности в ваших играх Roblox. Попробуйте добавить его и создайте уникальные механики перетаскивания!

Если нужны примеры или помощь с настройкой - пишите в комментариях! ⬇️

#Roblox #GameDev
🔥3🤔3👍2👀2
🔥Как опубликовать игру на Unity в Яндекс Играх🔥

Публикация игры на платформе Яндекс Игры - отличный способ показать свой проект широкой аудитории и начать зарабатывать. Разберём пошагово, как подготовить и загрузить игру, а также на что обратить внимание, чтобы успешно пройти модерацию.

1. Подготовка проекта в Unity
🌟Установите официальный плагин (SDK) Яндекс Игр для Unity. Он интегрирует в игру функции платформы: авторизацию, рекламу, платежи и другие возможности.

🌟Добавьте на каждую сцену специальный GameObject из плагина. Это необходимо для корректной работы SDK.

🌟Соберите билд игры в формате WebGL. Яндекс Игры поддерживают браузерные игры именно в этом формате.

2. Регистрация и создание аккаунта разработчика

🌟Зарегистрируйтесь и создайте учётную запись в консоли разработчика Яндекс Игр.

🌟Создайте черновик новой игры, укажите название, описание, иконки, скриншоты и другие метаданные.

3. Загрузка и настройка игры

🌟Загрузите собранный WebGL-билд в консоль Яндекс Игр.

🌟Укажите языки локализации и заполните описание игры на соответствующих языках (рекомендуется русский для русскоязычной аудитории).

🌟Настройте параметры дистрибуции: страны, где игра будет доступна, разрешённые хосты и другие настройки.

4. Отправка на модерацию и публикация

🌟Отправьте игру на проверку модераторам Яндекса.

🌟После успешной модерации нажмите кнопку «Опубликовать» - игра станет доступна в каталоге Яндекс Игр.

Основные требования к игре для публикации

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

🌟Встроенный SDK Яндекс Игр обязателен для авторизации, рекламы и платежей.

🌟Авторизация через Яндекс ID должна происходить по явному действию пользователя (например, нажатию кнопки).

🌟Должна быть возможность гостевого входа или игры без авторизации с сохранением прогресса.

🌟При сворачивании игры звук должен автоматически отключаться.

🌟Игра должна поддерживать полноэкранный режим на мобильных устройствах.

🌟Клавиатура должна автоматически появляться при вводе данных.

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

🌟Обязательно полное описание управления.

🌟Наличие игровых механик и сохранения прогресса или рекордов.

🌟Возрастной рейтинг должен соответствовать содержанию.

🌟Игра должна иметь нарастающую сложность и понятный сюжет или сеттинг.

🌟Продолжительность основного игрового процесса - не менее 10 минут.

🌟Локализация минимум на один язык (рекомендуется русский или английский).

🌟Автоматическое определение языка через SDK приветствуется.

Юридические и организационные требования

🌟Наличие действующей учётной записи разработчика в консоли Яндекс Игр.

🌟Игра и материалы должны быть предоставлены в требуемом формате.

🌟Игры могут оцениваться пользователями и Яндексом, что влияет на рейтинг и видимость.

Итог - чтобы опубликовать игру на Unity в Яндекс Играх, нужно:

Подключить и использовать SDK Яндекс Игр в проекте Unity.

Собрать WebGL-билд.

Зарегистрироваться и создать черновик игры в консоли Яндекс Игр.

Загрузить билд, заполнить данные и локализации.

Отправить игру на модерацию и опубликовать после одобрения.

Соблюдать технические и пользовательские требования платформы.

Полезные материалы и ссылки

Официальные требования к играм на Яндекс Играх:
https://yandex.ru/dev/games/doc/ru/concepts/requirements

Публикуйте свои игры, развивайтесь и делитесь ссылками на свои игры в комментариях ⬇️

#Unity #GameDev
👍3🔥32🤔2
Всем привет, это Terry, она будет тут тусоваться и приглядывать за каналом 😉
5🔥2🥰2👏2
🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
🎨 Blender: от скромного старта до мирового признания!

Знаете ли вы, что один из самых популярных инструментов для 3D-моделирования и анимации - Blender - когда-то чуть не исчез навсегда? 🤯

История Blender началась в 1994 году в Нидерландах. Его придумал Тон Розендаль, чтобы помочь своей студии NeoGeo создавать крутые 3D-анимации. Сначала это был внутренний проект, но уже в 1998 году Blender стал доступен для всех!

Однако в 2002 году компания-разработчик обанкротилась, и проект оказался под угрозой закрытия. Тогда Тон и команда запустили уникальную краудфандинговую кампанию: сообщество собрало $100 000, чтобы выкупить права на программу и сделать её полностью бесплатной и открытой! С тех пор Blender развивается благодаря энтузиастам со всего мира.

Интересные факты о Blender:

Blender используют для создания фильмов, игр, рекламы и даже научных проектов. Например, короткометражка "Big Buck Bunny" полностью сделана в Blender!

Программа поддерживает не только моделирование, но и скульптинг, анимацию, симуляцию жидкостей, монтаж видео и многое другое.

Blender - один из немногих профессиональных 3D-редакторов, который абсолютно бесплатен и доступен для всех платформ (Windows, Mac, Linux).

В 2020 году Blender Foundation получила гранты от таких гигантов, как Epic Games, NVIDIA и Ubisoft - это признание на высшем уровне!

Символ Blender - это стилизованный глаз и кисть художника, объединённые в один логотип.

Blender - отличный выбор для тех, кто хочет начать путь в 3D, не тратя ни копейки! 🚀

А вы уже пробовали создавать что-то в Blender? Делитесь своими работами и вопросами в комментариях! 👇

#Blender3D
👍52🔥2👨‍💻2
🐢💻 Как учиться программированию быстро и без скуки: советы от Терри

Не ищи миллион видео на YouTube - выбери один хороший курс и двигайся по плану!

Не стесняйся спрашивать, даже если кажется, что вопрос глупый (Терри всегда спрашивает, и ничего, живёт!).

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

Используй материалы от преподавателей и не трать время на поиски "секретных гайдов" на форумах.

Не сдавайся при первой ошибке - баги бывают у всех, даже у Терри!

А как ты экономишь время на обучении? Делись в комментариях! 👇
👍52😎2🔥1
🎉 Всемирный день общения! 🎉

Сегодня особенный праздник - Всемирный день общения!
Терри поздравляет всех подписчиков и напоминает:
Общение - это не только про слова, но и про поддержку, дружбу и новые идеи.

Если у тебя есть вопрос, хочешь поделиться успехом или просто поговорить - не стесняйся, пиши в комментариях!
Ведь именно вместе мы учимся быстрее, веселее и интереснее.

Пусть в этот день у тебя будет повод написать другу, познакомиться с кем-то новым или просто улыбнуться в чате 😊

Пусть каждый день будет наполнен интересным общением и новыми открытиями! 🥰
🥰5❤‍🔥3🎉2👍1
Встречайте Тима - одноклассника Терри!

Сегодня на нашем канале новость: у Терри появился новый друг Тим!
Тим - весёлый черепашонок в синих наушниках. Он любит разгадывать сложные задачки, не боится новых программ и всегда готов поддержать друзей.

Теперь Терри и Тим будут вместе учиться, делиться советами, спорить о том, что круче - Unity или Roblox, и, конечно, помогать тебе разбираться в программировании! 🌟
👍5🔥4🎉2👌1👾1
🎬 Как сделать анимацию персонажа в Roblox Studio?

Хотите, чтобы ваш персонаж в Roblox не просто стоял, а оживал, махал рукой или танцевал? Всё реально! В Roblox Studio есть удобный Animation Editor, который позволяет создавать собственные анимации для NPC и игровых героев.

Что нужно сделать:

Откройте Roblox Studio и добавьте персонажа (например, через AVATAR → Build Rig).

Откройте вкладку AVATAR → Animation Editor и выберите своего персонажа.

Придумайте и создайте анимацию: двигайте части тела на временной шкале, добавляйте ключевые кадры.

Сохраните анимацию и получите её ID.

Примените анимацию к персонажу с помощью Lua-скрипта.

Вот пример простого скрипта для NPC (script вложите в модель NPC):

 animation = Instance.new("Animation")
animation.AnimationId = "rbxassetid://ВАШ_ID_АНИМАЦИИ"
local humanoid = script.Parent:FindFirstChildOfClass("Humanoid")
local animTrack = humanoid:LoadAnimation(animation)
animTrack:Play()

💡 Полезные видео по теме:

Как сделать анимацию для NPC в Roblox Studio (YouTube)

Как сделать анимацию для NPC в Roblox Studio (Rutube)

Попробуйте создать свою первую анимацию - это не так сложно, как кажется! Делитесь своими результатами и вопросами в комментариях 👇

#Roblox #GameDev #Обучение
👍4🔥3👌1👨‍💻1
С Днём победы! Давайте беречь наш хрупкий мир.
6👍2🎉2🔥1
🎮 Разбор игрового момента: смена иконки у NPC-квестодателя в Roblox

В нашей игре игрок берёт квест у NPC. После этого над головой NPC иконка со знаком вопроса меняется на другую - чтобы было видно, что квест уже взят. Вот как это реализовано на Lua в Roblox Studio!

🔹 Скрипт для StarterPlayerScripts (клиентский localScript)
lua
local npcHead = workspace.Sylvia:WaitForChild("Head") -- Находим голову NPC по имени "Head" в модели Sylvia
local billboardGui = npcHead:FindFirstChild("BillboardGui") -- Ищем BillboardGui над головой NPC
local imageLabel = billboardGui and billboardGui:FindFirstChild("ImageLabel") -- Находим ImageLabel с иконкой (если BillboardGui существует)
local remote = npcHead:FindFirstChild("QuestStatusEvent") -- Ищем RemoteEvent для получения сигнала от сервера

local QUEST_TAKEN_IMAGE = "rbxassetid://000000" -- ID картинки, которая появится после взятия квеста

if remote and imageLabel then
remote.OnClientEvent:Connect(function(questTaken) -- Подписываемся на событие от сервера
if questTaken then
imageLabel.Image = QUEST_TAKEN_IMAGE -- Меняем иконку на новую, если квест взят
end
end)
end

🔹 Скрипт для ServerScriptService (серверный)
lua
local npcHead = workspace.Sylvia:WaitForChild("Head") -- Находим голову NPC по имени "Head" в модели Sylvia
local proximityPrompt = npcHead:FindFirstChild("ProximityPrompt") -- Ищем ProximityPrompt (кнопка взаимодействия)
local remote = Instance.new("RemoteEvent", npcHead) -- Создаём RemoteEvent для связи с клиентом
remote.Name = "QuestStatusEvent" -- Даём событию имя

proximityPrompt.Triggered:Connect(function(player) -- Когда игрок активирует ProximityPrompt
remote:FireClient(player, true) -- Отправляем игроку сигнал: квест взят (true)
end)

📝 Что происходит в игре?

Игрок подходит к NPC и видит значок вопроса над головой персонажа.

Нажимает на ProximityPrompt (например, кнопку "Взять квест").

Сервер отправляет сигнал только этому игроку, что квест взят.

У игрока меняется картинка над головой NPC - теперь видно, что квест уже взят именно этим игроком!

💡 Почему это важно?
Такой подход позволяет каждому игроку видеть свой статус квеста, не мешая другим. Это удобно для индивидуальных заданий и делает игру более интерактивной!

Посмотреть как это было реализовано в игре можно в видео на моих каналах:

Ссылка на видео: YouTube
Ссылка на видео: RUTUBE

Если хотите больше разборов игровых механик или есть вопросы по скриптам - пишите в комментариях! 👇
Терри и Тим всегда на связи 🐢🎧

#Roblox #Lua #GameDev
👍3🔥2🤔1👌1