Как сделать так чтобы нпс смотрел на игрока

Обновлено: 05.07.2024

ROBLOX Studio: Как мне заставить этого NPC следовать за ближайшим игроком, который всегда отличается и иногда не упирается в стену? Похоже, ваш пост - это в основном код; пожалуйста, добавьте более подробную информацию.

1 ответ

Прежде всего, убедитесь, что в строке 5 у вас есть game.Workspace:GetChildren() , а не game.Workspace:children()

Теперь, чтобы найти ближайшего игрока, вы можете создать таблицу для хранения расстояния каждого игрока от вашего NPC: local playerDistances = <> . Теперь вы можете использовать цикл while для всего кода движения вашего NPC (чтобы NPC продолжал следовать за игроком). Внутри оператора if, где вы проверяете temp, human и human.Health, вы можете добавить расстояние между игроками HumanoidRootPart (часть, которая хранит позицию игрока) от NPC, выполнив table.insert(playerDistances,(

Затем вы можете обновлять таблицу расстояний каждый раз, когда цикл проходит, выполняя table.clear(playerDistances) прямо перед end цикла while. Это гарантирует, что в таблице нет ненужных старых данных, которые могут испортить работу вашего NPC.

Затем вы можете получить доступ к ближайшему игроку, выполнив playerDistances[1]

Теперь, чтобы NPC не врезался в стену, я бы рекомендовал использовать Roblox Lua PathfindingService . Вы можете использовать :CreatePath(), :GetWaypoints(), :MoveTo(), and :MoveToFinished:Wait() , чтобы постоянно следить за тем, чтобы NPC вычислял открытый путь и мог добраться до игрока. Вот несколько ссылок на страницу Developer Wiki на PathfindingService :

Для начала смотрим свободного НПС в дат паке в таблице npc - запоминаем ид..
для чего да для того что все нпс у реба синхронизируются с клиентом. Можно конечно и своего сделать но нужно лезть в клиент, а этого нам больше всего не хочется..Итак приступим

Даем нашему нпс в той же таблице npc в поле ai мозг те пишем допустим Taurin2.

идем в папку скриптов папку ai и копируем файлег Taurin.java > потом его редактим (пишу копи пасте тк не все шарят в джаве)

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

Заранее нужно определить путь нпс - НПС не должен натыкатся на стены и препятствия..

Все координаты вбили, диалоги добавили - сохраняем файл и называем его Taurin2.java

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

Запускаем сервер смотрим на консоль если скрипты подгрузились то все ок - нет ищем ошибки в том что написали.

если в базу вашему нпс не добавить ai то по умолчанию нпс ходить и говоритьб не будет нужно админом подойти выделить его и написать //admin_setai Taurin2

теперь все в порядке но опять же нпс пройдет 1 цикл и будет стоять на стартовой точке пока вы не пропишете ему мозги снова поэтому рекомендую дать мозг ему навечно

Custom NPC - инструкция по моду, как делать квесты

И так наверное многие знаю такой замечательный мод как Custom NPC, но и половину вещей которые он может тоже не знают? Думаю я прав.В данном гайде я попытаюсь объяснить все что только возможно ( ну по крайне мере до тех пор пока я не тупану :D )
Это инструкция по моду Custom NPC

И так думаю мы организуем наш урок следующим образом:

Custom NPC - инструкция по моду, как делать квесты

Первым делом я думаю нам надо бы установить мод верно? Для тех кто еще не знает это делается так:
1.Вам нужно скачать сам мод -Custom NPC .Я поставил ссылку на официальное скачивание.( тык на картинку )

2.Скачанный мод кидаем в папку mods которая находится по адресу

" %appdata%/.minecraft/mods "
Примечание!
1.Не надо разархивировать мод!
2.У вас должен быть установлен forge

На этом мы закончим установку и перейдем

к основному меню с гайдами.
Все гайды полностью написаны мною.



Custom NPC — это модификация для одиночной и многопользовательской игры, добавляющая мобов, которых изначально программирует сам игрок. Также, добавляет множество предметов и оружия специально для NPC (легально не получить).
Данные НПС которых вы создадите могут:Торговать ,говорить, давать квесты, убивать монстров,быть вашим наёмником и многое другое.Я не буду на этом останавливаться и начну вас обучать основам.



Custom NPC - инструкция по моду, как делать квесты


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

Custom NPC - инструкция по моду, как делать квесты

Custom NPC - инструкция по моду, как делать квесты



И так перейдя во вкладку Stats вы увидите вот такое вот меню:

1.Health: Отвечает за здоровье вашего НПС.
2.AttackRange: Отвечает за то с какого расстояния НПС будет бить вас.Если хотите сделать лучника более 15-20 вам будет достаточно.
3.Normal WalkingSpeed: Отвечает за то с какой скоростью будет двигаться ваш нпс.По умолчанию стоит 5.
4.Respawn of/on и его функции: Как вы поняли это отвечает за то будет ли ваш НПС спавниться после смерти.По умолчанию стоит "ON" что значит будет спавниться.Рядом написано "Time:20" , что отвечает за то, за какое время ваш НПС будет спавниттся ( время в секундах ).Также рядом есть строка "Show body when killed" , что обозначает "Показывать тело когда убито" .Вы можете изменить так, чтобы оно не показывалось.
5.Strenght: Сила удара.НПС с силой 5 будет отнимать 2.5 сердечка, соответственно 4 силы будет отнимать 2 сердечка.
6.AttackSpeed: Скорость атаки НПС.20 стандартное число ( 2 секунды вроде как )
7.Attack WalkingSpeed: Скорость атаки когда НПС в движении.

Custom NPC - инструкция по моду, как делать квесты


И так перейдя во вкладку Inventory вы увидите вот такое вот меню:

Думаю здесь все очень элементарно.Выглядит как обычный инвентарь игрока.Только вот с права вы можете увидеть ячейки.Вставляя в ячейку предмет вы можете настроить шанс его дропа ( выпадания ) если ваш НПС умрет.
1.MinXp -Минимальное количесто опыта которое может упасть с вашего НПС при смерти
2.MaxXp -Максимальное количество опыта которое может упасть с вашего НПС при смерти.

Custom NPC - инструкция по моду, как делать квесты


И так перейдя во вкладку Advanced вы увидите вот такое вот меню:

Advanced определяет роль и работу NPC, его фракцию и диалог.
Роли
1.Trader - торговец :Настраиваемый игроком. Возможно установить 36 обменов.
2.Follower - наёмник :Присоединяется к игроку, если он заплатит ему (плата и время действия контракта настраивается игроком). После окончания контракта или смерти, наёмник возвращается на место своего спавна.
3.Bank - банк: Работает по принципу сундука Края . Игроком настраивается кол-во слотов, цена покупки новых и апгрейда старых.
4.Transporter - транспортёр: Переносит игрока к другому транспортёру. Игроком настраивается, к какому другому транспортёру будет

отправляться игрок.
Работа
1.Bard - бард: Игроком настраивается музыка, которую будет играть бард (можно добавлять свои треки), каким инструментом будет играть бард (чисто декоративная настройка), тип игры (как проигрыватель или как фоновая музыка, расстояние в блоках включения и выключения воспроизведения музыки.
2.Healer - Целитель: Может лечить вас в определенное время.
3.Guard - стражник: Защищает определенную территорию.Можно настроить агро радиус, атаку мобов, животных.
4.Item giver - раздатчик предметов: Игроком настраивается время, через которое он будет выдавать предметы, как он будет их выдавать и предметы которые он будет выдавать.
Lines
Фразы, которые NPC говорит при определённых обстоятельствах. Есть 4 вида фраз:
World lines - воспроизводится, когда игрок рядом.
Attack lines - воспроизводится, когда NPC атакует.
Interact lines - воспроизводится, когда игрок контактирует с NPC.
Killed lines - воспроизводится, когда NPC умирает.
Factions
Каждому NPC можно назначить фракцию. Фракции можно добавить и изменить в разделе "Global".
Dialogs NPC можно назначить определённый диалог. Диалоги можно добавить и изменить в разделе "Global".

Custom NPC - инструкция по моду, как делать квесты



И так перейдя во вкладку Global вы увидите вот такое вот меню:

Раздел Global служит общими настройками для NPC в целом. В этом разделе можно
создавать/удалять/редактировать:
Диалоги с игроком
Фракции
Точки телепортации транспортёра.
Банки
Квесты
Рецепты станка, добавляемого модом.
Можно создать свой рецепт.

Custom NPC - инструкция по моду, как делать квесты


1. Как вы знаете в Custom NPC встроено 3 фракции:Нейтралы,Друзья,Агрессоры.Но также Custom NPC имеет такую функцию, как создать свою собственную фракцию для НПС.Давайте не будем медлить и уже приступим к созданию?
2. Перейдите во вкладку Global и нажмите там на кнопку Factions.Перед вами откроется вот такое вот окно:

Нажмите на кнопочку "ADD" и у вас появиться, то что показано на скрине выше.То есть кнопкой "ADD" вы добавляете новую фракцию.
Давайте разберем здесь все более подробно:
2.1 Name:Имя вашей фракции
2.2 Color:Цвет отличающий вашу фракцию от остальных, а также каким цветом будет отображен ник вашего НПС над его головой.
2.3 Can be attacked by player/ Can't be attacked by player:Здесь все придельно просто.Может или не Может быть атакован игроком
2.4 Dont't attack players/ Attack players:Может или же не может атаковать игрока.Проше говоря будет ли ваш НПС агрессивным или же наоборот дружелюбным.
2.5 Dont't help eachother/Help eachother:Устанавливает то,
что если будет стоять 2 НПС этой фракции, то если на одного из НПС напали будет ли ему помогать своя расса или же тупо стоять и смотреть. ( Думаю вы поняли )
2.6 Hostile faction:Устанавливает враждебные фракции.


1.Если вы уже создали свою фракцию и хотите подключить её к НПС, то проделаем следующее.
1.1 Перейдем во вкладку "Advanced"
1.2 Нажмем на кнопочку "Factions"
1.3 Выберем нашу фракцию и закроем редактирование НПС
Все.Ваша фракция готова и подключена к НПС

1. Барды могут играть песни.
2. Бард начнет играть, когда вы подходите к нему в определенном диапазоне.
3. Бард перестанет играть если вы уйдете от заданного диапазона.
4. Бард может играть на скрипке,банджо,гитаре и что-то еще :D
5. В настройках роли вы можете установить будет ли он играть в фоновом режиме или же играть на определенный диапазон.
6. Если вы поставите так чтобы бард играл в фоновом режиме, то музыка будет играть не зависимо от того как вы отдалитесь от НПС.Пока она не кончится будет играть.


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

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


1. Дает предметы, если вы находитесь в зоне действия
2. Дает предметы которые находятся у него в инвентаре
3. Как он может давать предметы:
3.1. Случайный предмет
3.2. Все предметы
3.3. Только те предметы, которых нету у игрока
3.4. Предметы которые находят у него в стаке может давать по одному
3.5. Может давать предметы в заданном диапазоне и через определенное время.


1.NPC могут провалиться в пол, и проваливаются часто.С последний версией как я наблюдаю время бага все растет.Если раньше было 3 секунды, то сейчас бывает что от минуты и более.
2.Если надеть на NPC тыкву, то тыква будет надета на NPC неправильно.
3.C версии 1.4.6 крафт предметов для призывания npc невозможен.
4.Возможно не баг, но c Flan's оружием они не стреляю патронами, видимо сам Custom не поддерживает эту функцию.
5.Возможно тоже не баг, но анимация стрельбы с лука не отображается.


CommandNPC - еще одно дополнение плагина Citizens (нпс-жители). Этот плагин добавит возможность назначать команды на NPC-Жителей. Например можно будет сделать, что бы при нажатии на нпс у вас открывалась какая-то менюшка, или телепортировало например на какой-то варп. Можно сделать даже так, чтобы можно было переходить с сервера на сервер, но это уже для BungeeCord.

Основные команды:

/npc addcmd false noPerm команда - Назначить команду на нпс.

Установка:

Читайте также: