Итак, что же такое FGD файл и с чем его едят? Любой человек, который когда-либо
работал с Worldcraft (да, и вообще с какой либо другой мапперской утилитой ) знает
что такое Entities. Для не просвещённых Entity - это специальные объекты, которые помогают
манипулировать вашим компьютерным миром (наглядный пример: допустим, вы хотите
создать какой либо объект, который при действии на него внешнего мира (взрыв бомбы,
атака со стороны игрока и т.п.) ломался. Для этого вы создаёте объект при помощи
браша (или префаба), но сколько по нему не стреляй, сколько по нему не лупи, толку
это никакого не даст. Так вот, для того чтобы он ломался, нужно его выделить и
на панели управления нажать to Entity, у вас появиться меню, в котором вы можете
выбрать нужную вам ентитю, в нашем случае func_breakable и установить нужные вам опции).
Ну так вот, не будем отклоняться от темы, итак:
FGD файл - это такой файл, в котором содержатся все необходимые Entities для создания
данного мода, карт для этого мода или целостной игры.
Надеюсь вам понятно моё толкование данного термина. Так что если вы хотите создать
свой мод (а именно на создателей модов ориентирован данный туториал), то, пожалуй,
это одна из первых вещей, с которых надо начинать; так же для начала надо продумать сценарий.
Вид энтить нужно обязательно разделять, иначе ничего не получится.
Для начала создайте текстовый файл. И приступаем:
Begin *.fgd file after the line.
---------------------------------------------------------------------------------
//
//<здесь нужно указать имя мода> game definition file (.fgd)
//Version <здесь можно написать версию мода>
//For <вид и версия маппинговой утилит(ы)> and <версия Half-Life>
//
//by <автор>
//
Теперь создаём классы (т.е. вводим переменные, которые будут у нас выявляться в Properties)
Надпись "@BaseClass = <>" означает то, что вы вводите новую переменную. Тут указаны
Основные переменные, представленные в CS, но вы можете их изменять и добавлять свои.
//
//BaseClasses
//
@BaseClass = Angles
[
angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
]
Ну вот, вроде бы с переменными покончено. Теперь можно приступить к созданию непосредственно энтить.
Если вы хотите создать энтити, которы уже существуют в HL или же каких-нибудь модов для неё, просто откройте
их fgd файлы, выделите нужную вам энтитю и копируйте её в ваш файл.
Итак, PointClass. Не буду долго возиться, а просто на одном наглядном примере объясню что к чему.
Короче, всё наглядно до ужаса, создаётся энтитя в скобках вводятся основные
переменные, которые мы указывали выше, при желании вводятся свои.
Значения в скобках после переменной указаны в конце туториала.
Дальше задействованы Env_энтити, создаются они так же как и вышеуказанные.
Для этого надо всего лишь перед их созданием написать:
//
//Environmental effects
//
<....>
Вот и всё ,только не забывайте менять классы при создании например:
@PointClass = <>
@SolidClass = <>
И далее
Func -энтити:
//
// Function entities
//
<...>
Info-Энтити
//
// Info entities
//
<...>
И специальные энтити:
//
// <название игры> specific entities
//
<...>
А так же:
//
// Miscellaneous entities
//
<...>
Всё файл готов.
---------------------------------------------------------------------------------
End of file.
Эти константы являются как раз теми самыми надписями, которые мы видели в скобках
после задания объекта/опции.
Итак:
(string) - эта константа означает, что в данная опция является строковой (значение в виде текстовой строки)
(integer) - означает, что значение параметра - числовое
(choises) - означает, что имеются несколько вариантов для выбора
(flags) - означает, что опция будет находится во "флагах"
(sprite) - означает использование спрайтов
(model) - означает использование моделей
Так же, как это ни удивительно, но и переменные могут использоваться в качестве
констант, а некоторые даже превращаться в полноценные энтити (например door).
===================================================================================
Да,кстати не забудьте, что не все игры, созданные на одном движке,
поддерживают некоторые энтит, так допустим Counter-Strike не поддерживает
энтити типа monster_, которые задают в HL различны NPC или же ваших врагов,
хоть вы пихайте эту энтитю в cstrike.fgd толку от того, что вы её поставите
не будет никакого!!! Просто CS поддерживает только Multiplayer режим.
===================================================================================
Спаисбо за то, что прочитали всю эту фигню.
Удачи вам, творите на здоровье!
Мне недавно требовалась юридическая помощь и я долго искал юридический центр в городе Москва! Через какое-то время совсем случайно нашёл на http://www.consalt-centr.ru - юридический центр в Москве . Почитал их сайт и рискнул заказать предлагаемую юридическую услугу. По исходу этих событий юридическая помощь дала о себе знать и я решил свои проблемы. Теперь советую каждому Юридический центр Консалт в городе Москва.
Прикольный ресурс в сети я нашёл! Вот в rambler нарыл предложение http://rentrealtycrimea.com/kvartiry-dlitelno/page/2/ - сдам квартиру Крым и был шокирован. Кстати забыл поздороваться! В общем сдам квартиру Симферополь ,я прочитал и осознал, что настоящая житуха только начинает свой путь – раз имеют место такие квартиры. Поэтому всем рекомендую ссылку http://rentrealtycrimea.com с Крымской недвижимостью.
Мини-профиль
Привет: Гость
Сообщения: Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!