Возможно вы искали: 'Reel Deal Slots & Vide...'

May 15 2025 19:02:33
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Военный конструктор. Operation Flashpoint: 1985 Cold War Crisis. Часть шестая: Секрет мастерства

Военный конструктор. Operation Flashpoint: 1985 Cold War Crisis. Часть шестая: Секрет мастерства

Где взять: Встроен в игру
А вот и один из отечественных
аддонов. Правда, пока
без текстур.
Возможности: 40% игровых; после данной статьи: 94% игровых, с учетом предыдущих
Сложность освоения: В зависимости от вашего желания. От очень легкого до экстремально сложного.
Добро пожаловать на завершающую лекцию по редактированию Operation Flashpoint! Спасибо всем, кто читал прошлые статьи, дотошно разбирался в их содержании и создавал свои маленькие шедевры.
Сегодняшняя тема — файл config.cpp, где содержится описание юнита на языке игры (см. предыдущую статью). Этот файл — ключ к созданию собственного аддона.

Познай силу config.cpp

Сonfig.cpp содержит в себе всю информацию о юните — его класс, параметры. Подобный файл содержится в каждом файле аддона (.pbo), и при создании своего дополнения вам просто-таки необходимо будет его написать. Иначе игра банально проигнорирует плоды ваших трудов. Как я уже говорил в предыдущей статье, создать полностью новый юнит не получится (утилиту для импорта моделей в игру разработчики выдают лишь избранным), а вот изменить текстуры (см. предыдущий номер) и параметры существующих — легко. Как — читайте дальше.

Начало

Надеюсь, вы уже распаковали какой-нибудь файл с аддоном, посмотрели, что там к
чему, подготовили все, что вам нужно для создания собственного дополнения, и сидите с раскрытым блокнотом (notepad, в смысле), готовые впитать все, что я вам сегодня продиктую.
Перед началом написания config.cpp вам нужно вооружиться Command Reference Manual или, попросту говоря, списком команд (см. предыдущие номера).
Любой config.cpp начинается с написания так называемых defines. Это как константы в любом языке программирования — повесил на них определенное значение и используешь везде, где заблагорассудится. Вообще, можно особо не вникать в это, так как обычно все просто копируют defines с оригинальных config.cpp. Но несколько необходимых я все же приведу:
#define TEast 0
#define TWest 1
#define TGuerrila 2
#define TCivilian 3
#define TSideUnknown 4
Мода делать спорткары для
Flashpoint появилась совсем
недавно, но обрела бешеную
популярность. NFS, где ты?
#define TEnemy 5
#define TFriendly 6
#define TLogic 7
#define true 1
#define false 0
#define private 0
#define protected 1
#define public 2


Патчи разные бывают

После назначения defines приступаем к написанию так называемых CfgPatches. Они служат для описания аддона к игре:
class CfgPatches
{
class имя нового класса
{
units[] = {имя нового юнита};
weapons[] = {имя нового оружия};
requiredVersion = версия OFP, необходимая для запуска;
};
Это "Боинг", если непонятно.
};

Например, мы хотим создать новый юнит со звучным именем "Игроманьяк":
class CfgPatches
{
class Igromanyak
{
units[] = {Igromanyak};
weapons[] = {};
requiredVersion = 1.75;
};
};

Соответственно, если хотим создать новое оружие, то пишем его название в weapons. С версией игры, думаю, объяснять не стоит — и так поймете.
Теперь перейдем к спецификации того аддона, который мы только что описали. Для этого существуют специальные классы: CfgAmmo, CfgVehicles, CfgWeapons и т.д. Принцип их написания завязан на так называемом "наследовании" — я объясню на конкретном примере, ниже.

Оружие

Для создания
собственного оружия нам, в основном, понадобятся два класса: CfgAmmo и CfgWeapons. Первый создаст уникальную амуницию, а второй — оружие:
class CfgAmmo
{
class default {};
class LAW : Default {};
class RPG : LAW {};
class IgromanyakRPGammo : RPG
{
hit=3000;
indirectHit=1500;
indirectHitRange=15;
};
};

Что же означает эта запись? Класс LAW наследует первоначальные установки, затем класс RPG наследует установки LAW, а IgromanyakRPGammo, в свою очередь, перенимает все у RPG. После этого мы меняем некоторые из полученных
"Чинук", стреляющий
ракетами? Почему бы и нет. параметров. Готово. Естественно, что параметров просто море, и поэтому мы выкладываем на наш диск огромный список default-параметров для различных классов.
class CfgWeapons
{
class default {};
class LAWLauncher : default {};
class CarlGustavLauncher : LAWLauncher {};
class AT4Launcher : CarlGustavLauncher {};
class IgromanyakRPG : AT4Launcher
{
model="\IgromanyakRPG\IRPG.p3d";
picture="\dtaext\equip\m\m_at4Launcher.paa";
displayName = Igromanyak RPG Launcher;
displayNameMagazine = IgromanyakRPG Ammunition;
shortNameMagazine = IgRPGa;
ammo = IgromanyakRPGammo;
initspeed = 125;
count = 1;

maxLeadSpeed=150;
};
};

Опять все тот же принцип наследования, но уже не с амуницией, а с самим стволом. Тут мы уже прописываем свою модель (помните, что каждый pbo-файл для игры выглядит как директория) оружия, иконку для отображения в игре и много других параметров, вроде скорости развертывания оружия. Полный список вас ждет на компакте.
Завершает же написание config.cpp всегда так называемый class CfgNonAIVehicles. Смысл его так до конца никому и не ясен, но для нашего случая запись будет выглядеть так:
class CfgNonAIVehicles
{
class ProxyWeapon {};
class ProxyIgromanyakRPG: ProxyWeapon {};
};

Помимо стандартных CfgAmmo и CfgWeapons, существует еще один
Вы все еще ждете Halo?
Зачем? Ведь самое интересное,
что там есть - этот джип. класс — CfgRecoils. Как следует из названия, отвечает он за отдачу оружия. Схема очень проста:
class CfgRecoils
{
empty[]={};
riffleSingle[]={0.050000,0.020000,0.040000,0.050000,0,0};
riffleSilenced[]={0.010000,0.004000,0.010000,0.050000,0,0};
};

Чтобы создать собственную отдачу, достаточно записи:
class CfgRecoils
{
IgromanyakRecoil[]={0.4,0.5,0.7};
};

Данная запись будет означать, что за 0.4 секунды ствол сдвинется на 0.5 единиц назад и 0.7 вверх. Но можно еще более гибко управлять отдачей:
class CfgRecoils
{
IgromanyakRPG[]={0.02,0,0.01,0.05,0.07,0.15,0.4,0,0};
};

Получится, что за 0.02 секунды ствол сдвинется на 0.01 вверх, затем за 0.05 секунды брыкнется на 0.07 назад и на 0.15 вверх и вернется в нормальное положение за 0.4 секунды. Как видите, все очень просто. Только не забудьте прописать вашу отдачу в параметрах CfgWeapons: recoil=IgromanyakRecoil.

Техника

Все, детство кончилось. Одного взгляда на config.cpp какого-нибудь "Апача" достаточно, чтобы раз и навсегда отказаться от идеи хоть в чем-то здесь разбираться. Ничего — прорвемся! Начнем с простого — нарастим броню "Хаммеру":
class CfgVehicles
{
class All {};
class AllVehicles: All {};
class Land: AllVehicles {};
class LandVehicle: Land {};
Поигравшись с config.cpp,
народные умельцы заменили
ракеты А-10 на пилотов.
К результату равнодушным
остаться нельзя.
class Car: LandVehicle {};
class Jeep : Car {};
class HMMWV: Jeep
{
displayName= $STR_DN_HMMV;
model=\humr\HMMWV.p3d;
picture=\humr\ihmmwv.paa;
armor = 80;
type=VArmor;
cost=100000;
dammageHalf[]=
{
...
};
dammageFull[]=
{
...
};
armorGlass=0.5;
armorWheels=0.1;

soundEngine[]={\humr\HMMWVengine,db-25,1.25};
typicalCargo[]={Soldier, Soldier, SoldierLAW, Officer};
};
};

Здесь все очень близко к тому, что мы видели в CfgWeapons. Но "Хаммер" — простой транспорт и не имеет всяких там радаров с башнями. DisplayName — имя юнита в файле stringtable.csv (о нем мы рассказывали в предыдущих номерах). Type — это тип брони (бывают еще VSoft и VAir). В данном случае у машины имеются бронированное стекло (armorGlass) и колеса (armorWheels). DammageHalf — список текстур, которые появятся после нанесения 50% урона, dammageFull — соответственно. SoundEngine — параметры звука мотора. Ну а с typicalCargo и объяснять не стоит.
Разберем более сложный пример — Vulcan. Этот зенитный комплекс имеет и радар, и башню:
class CfgVehicles
{
class All {};
class AllVehicles: All {};
class Land: AllVehicles {};
class LandVehicle: Land {};

class Tank: LandVehicle
{
class TurretBase {};
};
class APC: Tank {};
class M113: APC {};
class Vulcan: M113
{
displayName=$STR_DN_VULCAN;
picture=\vulcan\ivulcan.paa;
icon = antiAC.paa;
armor=180;
cost=1000000;
model=\vulcan\m163a1vulcan;
irScanRange = 4000;
irScanGround = false;

gunnerCanSee = CanSeeOptics+CanSeeEar+CanSeeCompass+CanSeeRadar;
weapons[]={VulcanCannon};
magazines[]={VulcanCannon};
class Turret: TurretBase
{
minElev=-3;
maxElev=+70;
};
threat[]={0.5, 0.5, 1};
gunnerOpticsModel = "optika_zsu_gunner";
commanderOpticsModel = "optika_tanke_auxiliary";
gunnerAction = ManActVulcanGunner;
gunnerInAction = ManActVulcanGunner;

// outGunnerMayFire = true;
forceHideGunner = true;
viewGunnerInExternal = true;
transportSoldier = 0;
};
};

Сразу отмечаем появление class TurretBase — запись станет понятна чуть позже.
Еще одни юмористы. Далее видим irScanRange и irScanGround. Поскольку Vulcan именно зенитный комплекс, то его радар видит только воздушные цели и irScanGround будет равен false. Строка gunnerCanSee определяет то, чем может воспользоваться стрелок в Vulcan — радаром, компасом и т.д. И вот теперь мы натыкаемся на class Turret: TurretBase — запись в начале CfgVehicles просто говорит движку, что нужно пойти сюда и снять параметры. По названию можно догадаться, что они означают минимальный и максимальный уровень подъема дула. Далее идет очень интересный параметр threat — это уровень угрозы, исходящей от различных юнитов. Или приоритет уничтожения, если хотите. Сначала (0.5) идут VSoft (джипы и т.д.), затем (0.5) VArmor (танки) и, наконец (1), VAir (воздушные цели). Данная запись означает, что Vulcan в первую очередь будет стрелять по воздушным целям, а затем уже по наземным. Далее идут установки оптики и анимации для членов экипажа, а также число (0) солдат, которых может данная машина перевозить.
Class CfgVehicles для Vulcan разобран, но в config.cpp еще много чего интересного ( CfgWeapons, CfgVehicleActions, CfgMovesMC) — смотрите оригинал. Вообще, изменяя параметры или создавая новый юнит, вы по-любому будете обращаться к оригиналу — моя задача состоит лишь в том, чтобы вы поняли, что там написано.
Разберем еще один пример — на этот раз возьмем какое-нибудь воздушное судно. Например, официальный аддон Су-25. Амуницию и оружие опять опускаем (там ничего нового, а если интересно, то смотрите оригинал) и разбираем класс CfgVehicles:
class CfgVehicles
{
class All {};
class AllVehicles: All {};
class Air: AllVehicles {};
class Plane: Air {};
class Su25: Plane
{
...
crew = SoldierEPilot;
...
weapons[]={Ch29TLauncher,
Rocket57x64, MachineGun30A10};
magazines[]={Ch29TLauncher, Rocket57x64, MachineGun30A10};
fov=0.5;
type=VAir;
threat[]={0.1, 1, 0.7};
class Reflectors
{
class Reflector
{
...
};
};
class IndicatorAltRadar
{
...
};
class IndicatorAltRadar2
{
...
};
class IndicatorSpeed
{
...

};
class IndicatorVertSpeed
{
...
};
class IndicatorVertSpeed2
{
...
};
};
};

Сразу отмечаем параметр crew = SoldierEPilot — он означает, что SoldierEPilot изначально появится в самолете. Далее видим уже знакомые type и threat — как с ними оперировать, тоже понятно. А вот дальше идут характеристики приборов: задаются цвет огней самолета, его "потолок", скорость и т.д. Запомните: вместе с изменением скорости полета винтокрылой машинки нужно изменить и показания ее приборов. Кстати, максимальный "потолок" для юнитов типа Air составляет 1000 футов — учтите это при редактировании.

Без лица

Я знаю, вам всегда хотелось поместить свое лицо в игру... Сделать это просто — достаточно создать соответствующий аддон! Для этого нам понадобятся
Один из недавних аддонов -
speedbike из "Звездных войн". лишь два класса — СfgPatches и CfgFaces:
class CfgPatches
{
class Faces
{
units[] = {};
weapons[] = {};

requiredVersion = нужная версия;
};
};
class CfgFaces
{
class Имя класса
{
name="Имя лица";
texture="\имя файла аддона.pbo\имя файла.jpg";
east=1;
west=1;
};
};

East/west=1/0 делает доступным/недоступным ваше лицо для определенной стороны.

Вместо эпилога

Все, пора
окончательно прощаться с темой Flashpoint... Конечно, еще уйму всего можно было бы рассказать об одном только config.cpp, но, как уже говорилось, все рамки дозволенного мы и так превысили. Советую чаще заходить на www.ofpeditingcenter.com и http://flashpoint.xaos.ru — там вы почерпнете еще уйму интересной информации.
Flashpoint-сообщество постоянно расширяется, вместе с ним увеличиваются и масштабы раскопок внутренностей игры. Уже созданы утилиты, многократно облегчающие редактирование, пачками выходят аддоны (некоторые умельцы даже сделали гоночную трассу и спортивный Jaguar к ней!), в разработке находится уйма модов, появляются полноценные редакторы... Взять хотя бы отечественный сайт Project OFPinternals (www.ofpinternals.megaforums.ru), где все желающие могут заполучить бета-версию редактора островов WrpEdit для Flashpoint. Кстати, те же
ребята создали программку CPP Creator, которая поможет вам при создании файла config.cpp. Процесс уже нельзя остановить. Скоро Flashpoint будет окончательно разобран по косточкам, а разработчики будут рвать на голове волосы от того, что они натворили с этим миром... От всей души желаю вам присоединиться к всеобщему торжеству и создать какой-нибудь супер-мега-мод или просто миссию. Тем более что повод, скажу вам по секрету, для этого есть, ибо скоро наших читателей ожидает масштабный конкурс по Flashpoint!
P.S. Как вы уже знаете, два месяца назад вышел аддон для Flashpoint под названием Resistance. В нем разработчики немного усовершенствовали редактор — советую ознакомиться. Также, в связи с выходом Resistance, BIS выпустили новую версию Operation Flashpoint Scripting Reference, с новым набором команд, — ищите на диске. И еще, в Сети появился новый аддон под названием Kegetys Editor Addon, который добавляет в редактор объекты из Resistance, а их там, как вы знаете, очень много. В общем, тоже ищите на нашем диске.
1300 Прочтений •  [Военный конструктор. Operation Flashpoint: 1985 Cold War Crisis. Часть шестая: Секрет мастерства] [19.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Военный конструктор. Operation Flas... Ukraine Vova 19.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка