Скрипт перемещения НПС по установленным меткам

Небольшой скрипт который позволит настроить спавн некоторых НПС на карте и задать для них маршрут для передвижения. Примечательно что работоспособность скрипта не зависит от наличия NAV сетки. При этом в большинстве случаев созданные таким образом спавнеры практически не нагружают систему.

Команды Cvars:
bg_citizens_max_npc Максимальное количество фоновых NPC на карте.
bg_citizens_enable Активность модификации.

1 — включен
0 — выключен

bg_citizens_spawn_radius Радиус появления NPC относительно игрока.
bg_citizens_spawn_radius_visibility Запускает проверку видимости NPC в этом радиусе, чтобы избежать появления сущностей перед игроком.
bg_citizens_spawn_radius_raytracing Проверяет точки появления NPC с помощью трассировки лучей в заданном радиусе. Этот параметр не должен быть больше, чем — bg_citizens_spawn_radius_visibility

0 — отключить проверку
Отключите этот параметр, если возникают проблемы с производительностью!

bg_citizens_spawn_block_radius Запрещает создание NPC в заданном радиусе. Не должно быть больше параметра — bg_citizens_spawn_radius_raytracing.

0 — отключить проверку

bg_citizens_spawn_period Период между появлением NPC. Изменения требуют перезапуска сервера.

Консольные команды:

cl_citizens_load_tool Выдаёт игроку инструмент для редактирования точек передвижения. ЛКМ — поставить точку / удалить точку / удалить последнюю точку, ПКМ — переключение режима редактирования, R — очистить все точки
cl_citizens_unload_tool Удаляет инструмент редактирования у игрока
cl_citizens_save_route Сохраняет точки перемещения (Только если у игрока есть оружие-инструмент!)
cl_citizens_load_route Загружает точки перемещения. Это выполняется автоматически при загрузке карты, но если вы хотите обновить точки без перезагрузки, используйте эту команду.
cl_citizens_remove_route Удаляет файл сетки с сервера. Первый аргумент — это подтверждение (yes), второй аргумент — это название карты. Если второго аргумента нет, то используется текущая карта.

Пример:
cl_citizens_remove_route yes
cl_citizens_remove_route yes gm_flatgrass

cl_citizens_compile_route Сохраняет ваши точки как lua-скрипт, чтобы вы могли разместить свою сетку в мастерской.

Файлы сохраняются в папке:
../GarrysMod/garrysmod/data/citizens_points_compile/<файлы>

После компиляции переименуйте файл, заменив .txt на .lua, после чего разместите его в вашем аддоне в папке lua/autorun/server/

Конфиг:

bgCitizens.loadPresets — загружает пресеты карт;
bgCitizens.npc_classes — список НПС для спавна.

Установка

  1. Поместить файлы в папку addons;
  2. Пример: D:\Steam\SteamApps\common\GarrysMod\garrysmod\addons.

Аддон в Стиме