Создаём NPC
Для примера возьмём Gordon Freeman NPC.
Понадобится:
Adobe Photoshop или Paint.NET
Блокнот
Мозг
Собственно процесс:Для начала создаём папки: создаём папку My NPC(например), в ней создаём папки lua, models, materials и файл info.txt.Начнём с lua: создаём в ней папку autorun, а в ней файл с расширением lua, например Freeman.lua. Пишем в этом файле:
local Category = "Humans+Resistance"
local NPC = { Name = "Gordon Freeman",
Class = "npc_citizen",
Model = "models/katharsmodels/gordon_freeman/gordon_freeman.mdl",
Health = "100",
KeyValues={citizentype=4},
Category = Category }
list.Set( "NPC", "npc_freeman", NPC )
Разберём этот lua файл:
local Category = "Humans+Resistance"-категория NPC, в которой окажется наш Фримен
local NPC = { Name = "Gordon Freeman",-имя NPC, отображающееся под картинкой
Class = "npc_citizen",-класс NPC
Model = "models/katharsmodels/gordon_freeman/gordon_freeman.mdl",-путь к модели
Health = "100",-здоровье NPC, от 1 до бесконечности
KeyValues={citizentype=4},-обязательная строка
Category = Category }-обязательная строка
list.Set( "NPC", "npc_freeman", NPC )-команда для вызова NPC через консоль
Закончили. Теперь кидаем модели в папку models(Путь должен соответствовать указанному в lua!!! Слэш в lua должен быть /, а не \. Это важно!!!)и текстуры в папку materials. Нельзя создать NPC из любого рэгдолла!!! Модель должна содержать все необходимые анимации, иначе NPC просто будет стоять столбом!!!
Теперь нашему NPC понадобится иконка для спавнменю. А нам для этого понадобится фотошоп или пэйнт.нет(я бы посоветовал последний) с установленным vtf-плагином.
Включаем игру, вызываем нашего NPC, делаем скриншот, открываем редактор, загружаем скриншот, обрезаем-обжимаем до размера 150x150 сохраняем в vtf(называем freeman.vtf к примеру). В папке materials создаём папку VGUI, а в ней папку entities, туда и кидаем нашу иконку. Создаём рядом с ней файл расширения vmt Имя файла должно соответствовать имени lua!!! Вписываем туда:
"UnlitGeneric"
{
"$basetexture" "vgui/entities/freeman"
"$vertexcolor" 1
"$vertexalpha" 1
"$nolod" 1
}
"$basetexture" "vgui/entities/freeman"-путь к иконке
Сохраняем файл.
Открываем info.txt и пишем туда:
"AddonInfo"
{
"name" ""
"version" ""
"up_date" ""
"author_name" ""
"author_email" ""
"author_url" ""
"info" ""
}
Заполняем все пропущенные места-название, версия, ник, эмейл и остальные.
Всё! NPC готов.
Спасибо, пригодиться
один вопрос - последний .txt файл с версией и прочим необязателен? прост я устанавливал для гаррис мода моды, этот файл не добавлял и всё работало
он не обязателен, это просто как информация о NPC (кто его создал и как с ним связаться)