Garry's Mod

Garry's Mod

122 ratings
Как Cделать Cвоего Nextbot?
By sralasobaka
Добавляйте в др если что помогу

Если вам помогло руководство то отблагодарите меня лайком класным комментом или наградой пж
   
Award
Favorite
Favorited
Unfavorite
➥ Нужные Программы
Notepad++ [notepad-plus-plus.org] -- Не обязателен, но с ним будет удобнее работать.

Audacity [www.audacityteam.org] -- Обязателен для добавления звуков.


➥ Получение шаблона
Для начала мы должны получить шаблон который переделаем в желанного некстбота. В качестве шаблона возьмем этот аддон: https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=619686973

Подписуемся на аддон и заходим в игру, ждем в меню когда загрузится аддон, после чего можем ливать из игры. От этой загрузки файл аддона появится в корневой папке игры с аддонами, сам файл мы распакуем и будем юзать как "шаблон". Как все сделали переходим в корневую папку игры, по этому пути:(E:\SteamLibrary\steamapps\common\GarrysMod\garrysmod\addons)

Находим в папке файл формата gma с названием merio_snpc_619686973.gma (Цифры у всех разные, ♥♥♥♥♥ забейте). Еще раз открываем корневую папку игры (Не закрывая папку addons). Переходим в папку "bin", она располагается по этому пути:
E:\SteamLibrary\steamapps\common\GarrysMod\bin)E:\SteamLibrary\steamapps\common\GarrysMod\bin)

В папке находим файл gmad.exe, он нам понадобится для распаковки скачанного аддона-шаблона. Мышкой переносим в него недавно созданный файл merio.gma из addons, после этого программа начнет распаковывать аддон. В случае с этим аддоном это займет всего пару секунд. После распаковки снова переходим в addons, находим распакованную папку аддона "merio_snpc_619686973", заходим в нее.

➥ Настройка Lua
Заходим в папку lua, встречаем еще одну папку, "merio", ее нужно переименовать в название вашего некстбота. Как все сделали заходим и в нее. в ней находится скрипт, отвечающий за все в некстботе. В названии скрипта так-же заменяем на имя нашего некстбота, после чего заходим в него.

Начнем с самого важного и базисного. Нажимаем на "Правка" сверху блокнота, и "Заменить" вылазит панель, там где "Что" пишем "merio", а там где "Чем" пишем название вашего некстбота (Обязательно писать нужно на английском языке), после чего нажимаем на "Заменить все".

(Если вы используете Notepad++, тогда нажимаем "Поиск" и "Замена", вместо "Чем" это здесь "Найти", а "Чем" это "Заменить на")

➥ Основные настройки
    Спускаемся в самый низ файла и находим это, заменяем под себя.
  • Name = Это имя в меню спавна NPC.
  • Class = Не трогаем этот пункт.
  • Category = Категория в меню спавна.
  • AdminOnly = При "True" только создатель сервера может спавнить бота, а при "false" любой игрок сервера.

➥ Основные настройки № 2
    Поднимаемся и находим строку:
  • killicon.Add("npc_название_некстбота", "название_некстбота/npc_название_некстбота_killicon", color_white) -- Название и путь к килл иконки. Заменяем названия.
  • language.Add("npc_название_некстбота", "название_некстбота") Это имя некстбота при убийстве кого-либо справа сверху. Заменяем на свое.


➥ Настройка характеристик бота
Поднимаемся на самый вверх и находим:
1. local npc_название_некстбота_acquire_distance = CreateConVar("npc_название_некстбота_acquire_distance", 2800, bit.bor(FCVAR_GAMEDLL, FCVAR_DEMO, FCVAR_SERVER_CAN_EXECUTE), = Дистанция виденья игрока, оригинально 2800

2. local npc_название_некстбота_spawn_protect = CreateConVar("npc_название_некстбота_spawn_protect", 1, bit.bor(FCVAR_GAMEDLL, FCVAR_DEMO, FCVAR_SERVER_CAN_EXECUTE) = Не трогайте этот пункт, т.к из-за него не будет ничего работать.

3. local npc_название_некстбота_attack_distance = CreateConVar("npc_название_некстбота_attack_distance", 50, bit.bor(FCVAR_GAMEDLL, FCVAR_DEMO, FCVAR_SERVER_CAN_EXECUTE) = Радиус атаки некстбота (Оригинально 50)

4. local npc_название_некстбота_attack_interval = CreateConVar("npc_название_некстбота_attack_interval", 0.2, bit.bor(FCVAR_GAMEDLL, FCVAR_DEMO, FCVAR_SERVER_CAN_EXECUTE) = Задержка между атаками некстбота (Оригинально 0.2)

5. local npc_название_некстбота_attack_force = CreateConVar("npc_название_некстбота_attack_force", 800, bit.bor(FCVAR_GAMEDLL, FCVAR_DEMO, FCVAR_SERVER_CAN_EXECUTE) = Физическая сила атаки, более высокие значения отбрасывают вещи дальше (Оригинально 800)

6. local npc_название_некстбота_smash_props = CreateConVar("npc_название_некстбота_smash_props", 1, bit.bor(FCVAR_GAMEDLL, FCVAR_DEMO, FCVAR_SERVER_CAN_EXECUTE) = При выставлении 0 некстбот не сможет ломать ящики, и прочии пропы.

7. local npc_название_некстбота_hiding_scan_interval = CreateConVar("npc_название_некстбота_hiding_scan_interval", 3, bit.bor(FCVAR_GAMEDLL, FCVAR_DEMO, FCVAR_SERVER_CAN_EXECUTE) = "npc_testnextbot будет искать укрытия только каждые X секунд. Это может быть дорогостоящей операцией, так что это не "рекомендуется слишком понизить это значение. Однако, если далекие некстбот не прячутся от вас достаточно быстро, " ..
Вы можете рассмотреть возможность снижения этой небольшой суммы.


➥ Прочее
• 1. Изменение скорости некстботу:
Находим такую строчку: "self.loco:SetDesiredSpeed(game.SinglePlayer() and 600 or 500)", для изменения скорости измените число в конце.

• 2. Изменения текста, когда некстбот не находит сетку nav_mesh:
Спускаемся на 904 строчку, и находим это:
local function navWarning() -- Сообщение при отсутствии сетки nav_mesh на карте.
net.Receive("название_некстбота_nag", function() -- Особое сообщение появляющееся в мультиплеерной игре.
Что-бы изменить ответы, меняем текст в скобках под основным сообщением.

• 3. Изменение радиуса слышимости panic'a:
Ищем 940 строчку и находим это: "local MUSIC_PANIC_DISTANCE = 200", экспериментируйте, но при изменении дистанции происходит баг, panic не становится тише если некстбот отходит от вас.

• 4. Переименование файлов звука:
Нажимаем правка, заменить, пишем название которое хотим заменить (К примеру jump) и чем хотим заменить, после чего сохраняем и переименовываем звук в sounds.

➥ Работа с Materials
Заходим в meterials/merio, закидуем туда свою текстуру некстбота и удаляем предыдущую текстуру "npc_merio.png", вашу текстуру называем так: npc_название_некстбота.
(P.S) Расширение картинки должно быть минимум 1024х1024! После этого называем папку в которой это делается в айди вашего некстбота (без npc)

➥ Entitles
В папке materials находим entities, это иконка некстбота в спавн меню, кидаем картинку, переименовуем в npc_название_некстбота и все, размер должен быть минимум 512х512.


➥ Killicon
Для этого нам нужна программа VTFedit, заходим в нее, импортируем в нее нужную вам картинку (Убедитесь что текстура имеет формат 64x64, иначе килликонка будет очень большой и некрасивой), ищем категорию "Advanced", и выбираем Version 7.2", после чего нажимаем OK
Сохраняем ее через Save as в том-же "File", кидаем в папку materials\название_некстбота, делаем название npc_название_некстбота_killicon, дальше заходим в vmt файл, видим следующее:
"UnlitGeneric"
{
"$basetexture" "название_некстбота/npc_название_некстбота_killicon" -- Путь к килликонке.
"$translucent" 1 -- Это можно удалить.
"$vertexalpha" 1 -- Это можно удалить.
}
Заменяем на название вашего бота и сохраняем.
➥ Работа со звуками
Заходим в папку sound, в ней находится еще одна папка, ее переименовуем в айди некстбота, заходим в нее, здесь находятся все звуки.
Значение каждого из них:
• panic - Основная музыка бота
• jump - Прыжок
• spring - Высокий прыжок
• pieceofcake - Звук убийство игрока
• stepitup - Звук убийство игрока
• tooeasy - Звук убийство игрока
• tooslow - Звук убийство игрока

Для того что-бы заменить на свой звук понадобится программа «Audacity», ссылку на которую я оставлял в самом первом разделе руководства. В программе нажимаем «Файл», «Открыть», выбираем нужный звук, теперь снова нажимаем «Файл», «Экспорт», экспортируем в мп3, в появившемся меню ставим постоянный режим, ставим качество 96-кб (Работает не со всеми килобитами, я забыл с какими еще, поэтому ставим 96). Экспортированный звук кидаем в папку sound, заменяем им выбранный звук. Проверяем в игре

113 Comments
.EblanPeek? mega21 25 Jun @ 12:10pm 
каеф
Chen 8 May @ 9:09am 
Поправка не 400 а 4000
Chen 8 May @ 9:09am 
Короче если нету аддонов в папке addons надо зайти в файлы стима там Steamapps далее workshop затем content и 400 и там надо вводить айдишник аддона
zahsok72 10 Dec, 2024 @ 7:53am 
А если емо текстуры остались что делать?
Виктор Корнеплод 14 Nov, 2024 @ 8:21am 
SYP4ik, попробуй создать mp3 файл, например "sus.mp3". Важно назвать его на английском языке, а потом найти с помощью кнопки find команды по типу: util.PrecacheSound("папка/sus.mp3"). После же с помощью той же самой кнопки найти tauntSounds - список звуков
local tauntSounds = {
"папка/sus.mp3"
}
Виктор Корнеплод 8 Nov, 2024 @ 2:02pm 
И как уменьшать дамаг некстбота, чтобы он например наносил 10 хп?
Виктор Корнеплод 8 Nov, 2024 @ 1:59pm 
а как сделать некстбота маленьким? (хочется, чтобы он был поменьше обычного)
DXZA#YANOV 23 Oct, 2024 @ 6:12am 
Duck_Vasiliv
SYP4ik 7 Oct, 2024 @ 2:16pm 
А можно как-то добавить больше звуков к некстботу? типо больше вариаций убийства игрока
PRAISING THE SUN 23 Sep, 2024 @ 7:19pm 
━━━━╮ Это Мемопёс. Помогите
╰┃ ┣▇━▇ Мемопсу прокатиться
 ┃ ┃  ╰━▅╮ через гайды в стим вставляя
 ╰┳╯ ╰━━┳╯ его в другие
  ╰╮ ┳━━╯ гайды иначе он
 ▕▔▋ ╰╮╭━╮ не станет псом-мемом
╱▔╲▋╰━┻┻╮╲╱▔▔▔╲
▏  ▔▔▔▔▔▔▔  O O┃
╲╱▔╲▂▂▂▂╱▔╲▂▂▂╱
 ▏╳▕▇▇▕ ▏╳▕▇▇▕
 ╲▂╱╲▂╱ ╲▂╱╲▂╱