Персонажі, які не є гравцями
NPC (персонажі, які не є гравцями) можуть додати досвіду багато глибини. Усіх наступних NPC можна візуально налаштувати, змінити їх поведінку , а зомбі/солдати можуть навіть захищати територію, атакуючи гравців або інших персонажів, використовуючи систему тегів для встановлення поведінки.
Щоб використовувати NPC у грі:
На сторінці предметів NPC натисніть зелену кнопку «Отримати» та підтвердьте транзакцію.
У Roblox Studio відкрийте панель інструментів ( Перегляд → Панель інструментів ).
Виберіть розділ «Інвентаризація» панелі інструментів .
Знайдіть NPC і клацніть його, щоб додати його в місце.
Структура персонажа
Кожна модель NPC зазвичай містить такі об’єкти:
Ім'я об'єкта або [Тип] | Тип | опис |
---|---|---|
Animations | Folder | Містить анімацію , наприклад AttackAnimation або DeathAnimation . |
Initial Poses (Початкові пози) | Folder | Містить інформацію про позування. |
Animate | Script | Завантажує та відтворює анімацію на платформі персонажа. Дивіться Animate для отримання додаткової інформації. |
[Accessory] | Accessory | Один із, можливо, кількох аксесуарів для NPC, таких як капелюхи, зброя тощо. |
Health | Script | Зазвичай з часом відновлює здоров’я гуманоїда . Якщо вимкнути це, персонаж не зможе відновити здоров’я. |
Humanoid | Humanoid | Керує пов’язаними з Humanoid властивостями, такими як Humanoid.Health , Humanoid.WalkSpeed , Humanoid.DisplayDistanceType тощо. |
NPC | Script | Визначає специфічну поведінку персонажа, як-от роумінг, атаку тощо. Батьки таких об’єктів: Maid ( ModuleScript ) визначає клас, корисний для звільнення використаних ресурсів. Ragdoll ( ModuleScript ) визначає функцію, яка перетворює персонажа на вільне фізичне тіло (батьки RigTypes ModuleScript , який визначає кілька допоміжних функцій). |
RbxNpcSounds | Script | Визначає та керує поведінкою, пов’язаною зі звуковими ефектами персонажа, такими як біг, смерть тощо. |
BodyParts | BasePart | Різні частини тіла персонажа, прикріплені до HumanoidRootPart або сусідніх частин тіла через Motor6D або об’єкти обмежень. Для отримання додаткової інформації дивіться BodyParts . |
HumanoidRootPart | BasePart | Особлива невидима частина, яка вважається основою ригу; це також первинна частина моделі персонажа . |
Configuration | Configuration | Містить об’єкти значень, які налаштовують різні поведінки. Додаткову інформацію див. у розділі Конфігурація . |
Конфігурація
Кожен NPC містить об’єкт Configuration у своїй ієрархії, який діє як контейнер об’єктів значення. Вони використовуються сценарієм NPC для налаштування різних дій. Якщо не вказано інше, вони застосовуються до всіх символів.Ім'я об'єкта або [Тип] | Тип | опис |
---|---|---|
DestroyOnDeath | BoolValue | Спричиняє знищення всього NPC незабаром після його смерті. Вимкніть це, щоб регдолли були постійними. |
PatrolEnabled | BoolValue | Змушує NPC блукати в області навколо його вихідної позиції. |
PatrolRadius | NumberValue | Визначає максимальну відстань, на яку NPC буде блукати від початкової позиції, припускаючи, що параметр PatrolEnabled вірний. |
RagdollEnabled | BoolValue | Коли NPC вмирає, він стає млявим, а не розпадається. |
AttackDamage | NumberValue | Визначає, скільки здоров'я втрачає жертва під час атаки NPC. Це стосується лише наборів «Зомбі» та «Солдат». |
AttackDelay | NumberValue | Визначає мінімальну кількість секунд між пострілами. Це стосується лише комплектів солдатів. |
AttackMode | NumberValue | Визначає, що солдат буде атакувати, на основі системи позначення . Це стосується лише комплектів солдатів. |
AttackRadius | NumberValue | Визначає максимальну відстань, на якій NPC має бути від потенційної жертви, перш ніж спробує атакувати. Це стосується лише наборів «Зомбі» та «Солдат». |
ClipCapacity | NumberValue | Визначає, скільки куль солдат може вистрілити, перш ніж потрібно буде перезарядити. Це стосується лише комплектів солдатів. |
ReloadDelay | NumberValue | Визначає, скільки секунд має пройти до перезарядки обойми зброї солдата. Це стосується лише комплектів солдатів. |
Призначення тегів
Сценарій NPC використовує теги CollectionService для управління агресією по відношенню до інших персонажів і гравців. Різні теги з наведеної нижче таблиці можна призначати наступним чином:Щоб призначити теги іншому NPC, призначте їх моделі верхнього рівня NPC за допомогою розділу «Теги» його властивостей або редактора тегів Studio .
Щоб призначити тег персонажу гравця , ви можете додати сценарій до StarterCharacterScripts за допомогою виклику CollectionService:AddTag() .
Тег | призначення |
---|---|
SoldierEnemy або SoldierFriend | Визначає, чи повинен солдат атакувати іншого персонажа, виходячи зі значення конфігурації AttackMode . Коли режим атаки солдата встановлений на 1 , інші персонажі повинні бути позначені тегом SoldierEnemy , щоб вважатися такими, що можна атакувати. Коли режим атаки солдата встановлено на 2 , усі об’єкти без тегу SoldierFriend вважаються такими, що піддаються атаці. Коли режим атаки солдата встановлено на 3 , ці теги повністю ігноруються, і солдат атакуватиме всіх персонажів. |
ZombieFriend | Цей тег використовується зомбі, щоб визначити, чи не варто йому атакувати персонажа. Після застосування зомбі стає слухняним до позначеного персонажа. |