Блог школы Роблоппа — Роблокс Студио, обучение, познавательные статьи и новости школы

Как сделать диалог с NPC в Роблокс Студио (ChatManager)

2025-10-31 10:31 Туториалы
Хочешь, чтобы персонаж в твоей игре разговаривал с игроком?
В Роблокс Студио это можно сделать с помощью ProximityPrompt и простого скрипта под названием ChatManager.
В этой статье ты узнаешь, как создать свой первый NPC с диалогом, который будет отвечать игроку случайными фразами.

🧩 Что такое ChatManager в Роблокс Студио?

Многие новички ищут в Roblox Studio объект под названием ChatManager, но на самом деле его нужно создать самостоятельно.
Это просто скрипт, который управляет сообщениями и фразами NPC.
📘 ChatManager отвечает за:
  • хранение списка фраз (диалога);
  • выбор случайной фразы;
  • показ текста над головой NPC при взаимодействии.

⚙️ Шаг 1. Подготовка NPC и ProximityPrompt

  1. Добавь в Workspace модель NPC (например, любого персонажа с Humanoid).
  2. Найди в модели Head — именно туда добавим взаимодействие.
  3. Вставь в Head объект ProximityPrompt (через вкладку Model → Create Prompt).
Теперь структура модели будет выглядеть так:

NPC
├─ Head
│ └─ ProximityPrompt
📌 ProximityPrompt нужен, чтобы игрок мог нажать [E] рядом с NPC и вызвать диалог.

🧠 Шаг 2. Создай ChatManager

  1. Внутрь ProximityPrompt добавь новый Script.
  2. Переименуй его в ChatManager — это и будет твой скрипт управления диалогами.
Теперь структура выглядит так:

NPC
├─ Head
│ └─ ProximityPrompt
│ └─ ChatManager (Script)

💬 Шаг 3. Добавь список фраз

Создай таблицу (список) фраз, которые NPC сможет говорить:
local phrases = {
    "Привет, путешественник!",
    "Хочешь испытание?",
    "Осторожно, впереди ловушки!",
    "Не забудь сохранить игру!"
}
💡 Это как «база данных» реплик NPC — можно добавлять сколько угодно фраз.

🗨️ Шаг 4. Сделай так, чтобы NPC говорил

Теперь NPC будет произносить случайную фразу при взаимодействии игрока с ProximityPrompt:
local prompt = script.Parent
local phrases = {
"Привет, путешественник!",
"Хочешь испытание?",
"Осторожно, впереди ловушки!",
"Не забудь сохранить игру!"
}

prompt.Triggered:Connect(function(player)
local phrase = phrases[math.random(1, #phrases)]
game:GetService("Chat"):Chat(script.Parent.Parent.Head, phrase)
end)
📍 Этот код делает следующее:
  • ждёт, пока игрок активирует ProximityPrompt;
  • выбирает случайную фразу из списка;
  • показывает её над головой NPC.

💡 Советы и улучшения

🔹 Добавь больше фраз, чтобы диалог выглядел живее.
🔹 Храни фразы в ModuleScript, если хочешь переиспользовать их для разных NPC.
🔹 Можно заменить Chat на GUI — тогда реплики будут появляться в окошке, как в настоящих RPG-играх.

⚙️ Что делать, если ChatManager не найден?

Многие путаются из-за инструкций на официальном сайте Roblox, где написано:
“Go to NPC ⟩ ProximityPrompt ⟩ ChatManager”
👉 ChatManager — это не встроенный объект,
а имя твоего скрипта, который ты создаёшь вручную.

🚀 Итоги

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

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

🎮 Хочешь научиться создавать собственные игры и NPC с квестами?

Запишись на обучение по Роблокс Студио на сайте roblo.ru
или вступай в наш Telegram 👉 t.me/robloppo