Академический Документы
Профессиональный Документы
Культура Документы
«Блицкриг II»
1-01. Введение
• Что можно сделать с помощью данного редактора карт и основные принципы его
работы.
• Что представляет интерфейс редактора, его основные меню и панели
инструментов.
• Какие инструменты используются для создания карт.
• Как выполнять основные повторяющиеся действия в редакторе и какие горячие
клавиши следует использовать.
• Как сохранять, загружать, передавать друг другу и запускать созданные в
редакторе карт миссии.
• Как настроить внешний вид редактора, а также фильтры и таблицы.
• С чего начать создание миссии и чем отличается однопользовательская миссия от
многопользовательской.
• Как создать новую карту, выбрать сезон или обстановку и выбрать игроков и
стороны, за которые они играют.
• Как подготавливать ландшафт карты, создавать высоты и наносить текстуры.
• Как размещать на карте объекты карты и VSO, а также автоматически заполнять
участки местности шаблонами растительности и ландшафта.
• Как расставлять боевые единицы, назначать им начальные команды и настраивать
их параметры.
• Из чего состоят параметры игроков и как настраивается дипломатия.
И наконец:
• В приложении вы найдете пример сценария и набросок оригинальной карты
«Блицкрига II», которые помогут вам создать свои собственные карты.
1-02. Предупреждение
Если вы хотите узнать о том, как сделать нечто большее, чем карты и отдельные миссии
для игры «Блицкриг II», или готовы попробовать силы в создании модификаций –
посетите официальные сайт и форум игры «Блицкриг II». Список всех сайтов и форумов
игры «Блицкриг II» и дополнительная контактная информация находятся к конце данного
руководства и в руководстве к игре «Блицкриг II».
1-03. Авторские права и юридическая информация
Редактор карт «Блицкриг II» © 2005 Nival Interactive. Все права защищены. «Блицкриг» является товарным
знаком компании Nival Interactive.
Упоминаемые в настоящей документации товарные знаки Microsoft, Windows, Windows 98, Windows NT,
Windows 2000, Windows XP, Excel, Excel 97, Excel 2000, Excel 2002, UDA, OLE DB и ODBC являются
зарегистрированными товарными знаками Microsoft Corporation в США и/или других странах.
Adobe / Adobe Photoshop и логотипы Adobe и Adobe Photoshop являются товарными знаками компании
Adobe System Incorporated.
Каждая карта для игры «Блицкриг II» представляет собой набор файлов, хранящихся в
одной папке (как правило, имя папки является и названием карты/миссии, задаваемым при
создании карты). В основном эти файлы содержат информацию в XML-формате, но есть и
бинарные (например, мини-карта).
Чтобы редактор мог видеть и загружать карты для редактирования, папка с файлами
должна лежать в <B2_Game>\Data\<Your_Map_folder>.
При этом редактор не будет видеть карту, если она не проиндексирована (все карты,
которые вы создаете на своем компьютере, автоматически индексируются и доступны в
вашем редакторе).
Все эти способы почти полностью дублируют друг друга. При этом отдельные команды
появляются только в некоторых режимах работы редактора – например, при работе с
ландшафтом, объектами на карте (боевыми единицами, зданиями и т.п.), при работе в
таблицах свойств и т.д.
2. Панели инструментов
Панели инструментов содержат значки команд, дублируя команды из различных меню.
Вы можете выводить или скрывать панели инструментов, используя настройки меню
«View».
5. Окно мини-карты
Окно, содержащее мини-карту. Схематически показывает особенности ландшафта
редактируемой карты.
6. Окно инструментов
Окно с основными инструментами, используемыми при создании и настройке карт.
Содержит в себе инструменты «Terrain» (ландшафт), «Objects» (цели), «Gameplay»
(игровой процесс) и «Script» (скрипт). Подробное описание см. в главе 2-05
«Инструменты».
7. Окно журнала
Окно с журналом работы редактора. Здесь появляются записи о таких операциях, как
открытие и сохранение карты, создание мини-карты и начального снимка экрана, а также
обо всех ошибках работы редактора.
8. Координаты
Здесь выводятся текущие координаты указателя (в пикселях и тайлах).
Undo – отменить последнее действие. Данная команда работает только при действиях с
объектами (objects) и при изменении ландшафта.
Redo – повторить последнее действие (работает в тех же случаях, что и Undo).
Fit to AI Grid – при размещении объектов на карте (кроме войск) «прилипает» к узлу
сетки в режиме AI Tile.
Rotate Multiple To 90 Degree – при ориентировании объектов на карте (кроме войск) они
поворачиваются на 90 градусов.
2-05. Инструменты
Основные инструменты, необходимые при создании карт и миссий, находятся в окне
инструментов. Если после запуска редактора карт вы не можете найти окно инструментов,
попробуйте включить его с помощью меню View или с помощью кнопки в панели
инструментов.
Окно инструментов включает в себя несколько основных разделов, в которые
сгруппированы инструменты.
2-05-1. Terrain
2-05-2. Objects
2-05-3. Gameplay
Инструменты для настройки Reinforcement Points, Start Cameras, AI General и Unit Start
Commands.
2-05-4. Script
Инструменты для размещения и настройки Script Areas и Script Movies на движке игры.
Чтобы изменить местоположение окна, наведите курсор на две полоски вверху окна.
Нажав и удерживая ЛКМ, перетащите окно в любое удобное место рабочей области
редактора. При этом при приближении к границам рабочей области окно будет прилипать
к ней, принимая оптимальную форму.
А при удалении от границы рабочей области получится просто отдельно расположенное
окно.
...и щелкнуть ЛКМ в столбце Value. Появятся две кнопки – с троеточием и надписью
«New». Для создания нового объекта (файла) нажмите кнопку «New».
Появится новое окно, в котором необходимо ввести имя нового объекта (имя файла).
Для открытия окна со списком доступных объектов (файлов) этого класса нажмите кнопку
с троеточием.
Иногда при настройке или изменении параметров какого-либо объекта (файла) может
потребоваться открыть для редактирования подчиненные объекты (файлы). (Например,
см. главу 6-03 «Музыка»)
Это можно сделать с помощью выпадающего меню, если оно есть, ввести значение
вручную или выбрать с помощью ползунка.
Чтобы сохранить текущую карту и все сделанные изменения, выберите в меню File пункт
Save All или нажмите [Ctrl] + [S].
Если нужная вам карта находится в списке, откройте ее двойным щелчком ЛКМ. Также
карту можно открыть через пункт Open из меню File или нажав [Ctrl] + [O]. При открытии
карты с помощью меню или сочетанием клавиш откроется окно со списком всех карт,
известных редактору.
Если в списке карт, известных редактору, нет нужной вам карты – значит, она не
проиндексирована и не внесена в список файлов, используемых редактором. О том, как
проиндексировать карту, вы можете узнать в следующей главе — 2-10 «Индексация карт».
Если в момент открытия другой карты у вас уже открыта какая-либо карта, вам будет
предложено сохранить все сделанные изменения на текущей карте.
2-10. Индексация карт
Проиндексировать карту можно двумя способами.
Способ 1
Поместите папку с картой в папку Data игры «Блицкриг II» так, чтобы получился
следующий путь: <B2_Game>\Data\<Your_Map_folder>.
Способ 2
Поместите папку с картой в папку Data игры «Блицкриг II» так, чтобы получился
следующий путь: <B2_Game>\Data\<Your_Map_folder>.
В папке «<B2_Game>\Data\» найдите файл dbindex.ba» и запустите его. После этого все
файлы в папке <B2_Game>\Data\ будут заново проиндексированы и все новые карты
станут доступны в редакторе карт для открытия и редактирования.
При выходе из редактора вам будет предложено сохранить все сделанные изменения на
текущей карте.
Способ 1
Если карта, созданная вами в редакторе карт, или папка с картой находится в
<B2_Game>\Data\Custom\Missions\<Path_to_Your_Map_folder>, ее можно запустить с
помощью пункта меню Custom Missions, доступного из главного меню игры.
При выборе в главном меню пункта Custom Missions открывается экран выбора
пользовательских карт. Выберите карту и запустите ее, нажав кнопку «ОК».
Способ 2
Чтобы запустить созданную в редакторе карт миссию в игре «Блицкриг II», нужно
проделать следующее (при этом папка с картой должна находиться в папке
<B2_Game>\Data\Custom\<Path_to_Your_Map_folder>).
Например, если вы хотите выложить карту, которая находится в папке C:\ Блицкриг
II\data\Custom\Missions\MyTestMap-003\, вы должны запаковать всю папку. Позаботьтесь,
чтобы ни один файл не был пропущен, особенно mapinfo.xdb.
Вы можете отправить сделанный вами архив своим друзьям или выложить его на сайте.
[Enter] – открыть свойства объекта (боевой единицы / здания и т.п.) в окне Selection
Property
При работе с картой можно использовать левую клавишу [Alt] и курсор мыши для
вращения карты.
Боевая единица и объект будут связаны между собой, если перетащить боевую единицу на
объект (или транспортное средсво) при зажатой клавише [Shift].
2-16. Таблицы и фильтры
Опытный пользователь может воспользоваться возможностью установки фильтров и
дополнительных таблиц баз данных.
Game Database Tables – все данные игры, рассортированные по типам. Например, когда
вы редактируете карту, то автоматически работаете с таблицей MapInfo. Таким же
образом можно работать и с другими объектами и типами данных игры «Блицкриг II».
Ввиду того что работать с данными, доступными через Game Database Tables,
рекомендуется только опытным пользователям, в данном руководстве не приводится
описание конкретных таблиц и типов данных. Изучайте и изменяйте их только на свой
страх и риск.
Чтобы вызвать список таблиц с типами данных игры «Блицкриг II», нажмите [Ctrl] + [T]
или воспользуйтесь командой Select Tables в меню File или аналогом на панели
инструментов.
Чтобы задействовать таблицу с тем или иным типом данных, поставьте галочку в
соответствующей строке.
2-16-2. Фильтры
Помимо фильтров различных объектов, здесь же можно включить или отключить сетку и
переключить ее в один из режимов отображения ячеек – Visual tile или AI tile. Что удобно,
соответственно, для работы с ландшафтом и при размещении объектов.
3-04. Карта
В случае, если вы делаете однопользовательскую или многопользовательскую миссию по
мотивам исторических событий, будет полезно попытаться найти точную карту
местности, где происходили какие-либо события, либо карту с указанием позиций и
направлений основных ударов и передвижений войск в рамках данного исторического
события.
Size X, Size Y – эти параметры определяют условные размеры карты. Для изменения этих
значений щелкните ЛКМ в столбце Value соответствующей строки. С помощью
выпадающего меню выберите нужное значение.
Season — выбор времени года для карты или места действия. Данный параметр
определяет набор текстур для террайна, растительности и других объектов,
определяющих характер ландшафта. Для изменения этого значения щелкните ЛКМ в
столбце Value соответствующей строки. С помощью выпадающего меню выберите
нужное значение.
Daytime – выбор времени суток для карты. Данный параметр определяет характер
освещения карты. Для изменения этого значения щелкните ЛКМ в столбце Value
соответствующей строки. С помощью выпадающего меню выберите нужное значение.
Важное замечание: если данные правила при выборе игроков для создаваемой карты не
соблюдаются, такая карта будет функционировать некорректно.
Для каждого игрока, который есть в списке, должна быть определена сторона, за которую
он играет. Чтобы определить сторону, щелкните ЛКМ в столбце Value соответствующей
строки и нажмите троеточие.
Если вы создаете карту для сетевой игры, то никакой разницы нет, какому игроку какая
сторона назначена, так как в начале сетевой игры игроки сами выбирают сторону, за
которую играют. Однако не забудьте поставить нейтрального игрока даже при создании
карты для сетевой игры.
Чтобы перейти в свойства карты, в списке карт (таблица MapInfo) выберите файл
mapinfo.xdb в папке с именем вашей карты.
WindDirection
Определяет направление ветра в градусах от оси Y. От этого параметра зависит, как себя
ведут деревья и откуда бегут барашки волн на поверхности моря (в случае если на карте
присутствует побережье).
WindForce
Определяет силу ветра. Если стоит значение 0, ветра нет.
WeatherPeriod
Определяет, с какой периодичностью на карте меняется погода с ясной (по умолчанию) на
ненастную. При смене погоды отображается выбранный с помощью Visuals (см. ниже)
эффект. Задается в секундах.
Если задано значение =0, то погода НЕ меняется и остается все время ясной.
Важное замечание: если задано значение, отличное от 0, но при этом в Visuals не
заданы эффекты ненастной погоды, игра все равно будет обсчитывать периоды смены
погоды, и в тот момент, когда погода будет считаться ненастной, боевые единицы
будут соответственно на нее реагировать (авиация не вылетит на вызов и т.п.), даже
если при этом нет никаких визуальных эффектов.
WeatherPeriodRandom
Определяет, какое количество секунд, выбранных случайным образом из заданного
диапазона, добавляется к периоду, указанному в WeatherPeriod. Это сделано, чтобы
периоды смены погоды были неравномерными. Задается в секундах.
Visuals
Этим параметром определяется, собственно, какая погода будет на карте. Если данный
параметр не определен (поле Value оставлено пустым), на карте не будут
визуализироваться эффекты плохой погоды, даже если смена погоды происходит.
Можно выбрать дождливую погоду с грозой или без, снегопад или песчаную бурю (в
зависимости от сеттинга карты).
Season
Время года влияет на набор текстур для ландшафта, различных объектов (включая боевые
единицы), растительности и т.п. Также выбранный сезон или место действия (в случае с
Азией или Африкой) влияет на некоторые доступные шаблоны автоматической генерации
поверхности в закладке «Fields» раздела Terrain.
DayTime
Время суток оказывает определенное влияние на игровой процесс – например, когда
выбрано время суток DAY_NIGHT, поле зрения наземных боевых единиц ограничено.
ScriptEffects – не используется.
Высоты
Сглаживание рельефа
Выравнивание рельефа
Этот инструмент удобен, когда вам необходимо создать ровную площадку на
определенной высоте под строение, населенный пункт и т.п.
Для того чтобы создать ровную площадку на заданной высоте, сначала нужно
выбрать точку, параметры которой потом будут использованы для выравнивания
рельефа. Для этого наведите курсор на желаемую точку и нажмите ПКМ. Высота
этой точки теперь будет использована для выравнивания рельефа.
4-05-5. Поля
Для автоматического создания и заполнения выбранных регионов текстурами и
объектами используется инструмент создания Fields – закладка «Fields» раздела
«Terrain».
Для начала работы по созданию поля необходимо выбрать шаблон. Для этого
найдите поле Available Fields, в котором указан текущий путь к шаблону
генерируемого поля. Этот путь выглядит как
Other\Fields\All\Spring\FirPineForest\Field.
Поэтому если в поле выбора шаблона (Available Fields) ничего нет – значит, для
времени года и текущей настройки вашей карты шаблонов нет. Попробуйте
сменить время года или настройки или же обратитесь за дополнительной
информацией к официальному сайту «Блицкриг II».
4. Границы поля
При изменении границ поля по одной точке ваши действия влияют только на
конкретную точку и границы, соединяющие эту точку с соседними точками.
При изменении границ поля по нескольким точкам ваши действия влияют сразу на
несколько зависимых точек.
При работе с границами поля по всем точкам вы передвигаете весь объект сразу.
5. Заполнение поля
После того как поле заполнено, изменить или переместить его уже нельзя.
Дороги
Дороги служат для обозначения основных транспортных путей, связывания
между собой населенных пунктов и военных баз и являются основным способом
быстрой переброски войск и техники. Дороги – наиболее вероятные места
размещения засад, минных полей и заграждений.
Реки
Река – основная водная преграда на местности. Наличие рек – один из важнейших
факторов, учитываемых при стратегическом планировании. Форсирование рек,
поиск и контроль мест, пригодных для переправы, а также ремонт или
уничтожение мостов являются важнейшими этапами любой военной операции.
Озера (болота)
Озера — разновидность водных преград, которые могут использоваться
надводной техникой для ведения боевых действий.
Обрывы
Модификаторы местности, являющиеся непреодолимыми преградами.
Побережье
Побережье позволяет создать участок карты, покрытый водой, с волнами и
прибоем, что используется для изображения морей или крупных озер.
Побережье присутствует на карте и в том случае, когда необходимо реализовать
прибытие водного десанта или сражение надводных кораблей. Побережье
отличается от озер и болот наличием волн, подчеркивающих, что это крупный
водоем.
Например: категория VSO Crags делится на несколько видов — Africa, Asia, Autumn,
Spring, Summer, Winter (при этом сезоны относятся к объектам, характерным для Европы).
Выбранный вид определяет внешний вид объектов. Каждый вид содержит несколько
типов объектов, оформленных в соответствии с видом, к которому они принадлежат. В
итоге можно выбрать европейский летний каменный обрыв (Crags >> Summer >> Rock
Crag)
Для размещения VSO на новой или ранее созданной карте необходимо задействовать
режим работы с VSO. Для этого в окне инструментов выберите вкладку «VSO» раздела
«Objects». Редактор перейдет в режим работы с VSO.
На данной вкладке находятся выпадающий фильтр категории и вида VSO, а также
дополнительные параметры настройки. Перед размещением на карте какого-либо
векторного объекта можно изменить значения двух параметров – ширины (width) и
прозрачности (opacity). Однако мы рекомендуем изменять эти параметры у векторных
объектов, уже размещенных на карте.
Важное замечание: при выборе векторных объектов курсор на карте не меняет своего
вида и не связан с контуром объекта, как в случае размещения техники, подразделений и
т.п.
Path – тропинка;
Railroadembankment – железнодорожное полотно с насыпью;
Railroadgravel – железнодорожное полотно с гравием;
Railroadtown – трамвайные пути (рекомендуется размещать в населенных пунктах);
Roadground – двусторонняя проселочная (грунтовая) дорога;
Roadpaved – двусторонняя дорога, мощенная булыжником (рекомендуется размещать в
населенных пунктах);
Townasphalt – двусторонняя асфальтированная дорога (рекомендуется размещать в
населенных пунктах);
Track – колея (рекомендуется для размещения в сельской местности);
Usedasphalt – двусторонняя старая (испорченная) асфальтированная дорога
(рекомендуется размещать в населенных пунктах, в которых идут или прошли бои).
Выбрав вид дорог, щелкните ПКМ по тому месту, откуда дорога берет начало.
Как правило, дорога должна выходить из-за края существующей карты, при этом
стартовую точку лучше ставить немного за границей карты.
После этого проложите дорогу в нужных вам местах, расставив промежуточные точки.
Эти точки определяют основной контур и кривизну вашей дороги. Чтобы закончить
прокладку дороги, нажмите [Enter].
После этого намеченная дорога будет создана на карте, при этом управляющие точки все
еще будут показывать контур дороги. С их помощью вы можете изменить как путь, по
которому проложена дорога, так и ее ширину и прозрачность.
У обычной реки поднятый береговой срез изломан и по краю идет трава (как выглядит
берег в естественных условиях), у набережной реки береговой срез гладкий и поверху не
растет трава (как выглядит, например, берег реки или набережная в населенных пунктах).
(перед поднятием ландшафта) (после поднятия ландшафта)
Стоит отметить, что если поднять часть ландшафта в районе реки, то берег реки
автоматически станет крутым и обрывистым.
Здесь вы видите, что река опускает русло до уровня стартовой точки несмотря на то что
модель пустили по поверхности холма.
Выберите нужный вид рек. Щелкните ЛКМ по стартовой точке, откуда ваша река берет
начало. Определите промежуточные точки.
Теперь вы можете изменить ширину и русло реки. В отличие от дорог, ширина которых
соотносится с параметрами техники в игре, вы можете свободно изменять ширину реки,
при этом следует обращать внимание на изменение текстуры дна реки.
Crag – обычный;
Excavation – грунтовый;
Ground – земляной;
Groundgrass – поросший травой;
Quay – ровная скала (подходит для создания набережных в населенных пунктах);
Rock – горный;
Sand – песчаный.
Выбрав вид обрыва, щелкните ЛКМ по стартовой точке, откуда протянется ваш обрыв.
После этого создайте столько промежуточных точек, сколько вам нужно для
последующей настройки высот и кривизны обрыва.
После обозначения контура будущего обрыва необходимо задать ему высоты. Для этого
выберите нужную синюю контрольную точку и потяните ее вверх. Как уже говорилось
ранее, задать отрицательную высоту для обрыва нельзя.
Теперь необходимо задать ширину и контур пологого склона обрыва. Найдите зеленые
точки на макете обрыва и потяните за нужные. Зеленый контур определяет ширину
полого склона.
Нажмите клавишу [Enter], когда контуры и высоты обрыва будут заданы, чтобы создать
этот обрыв на карте.
Создание ущелий
Чтобы создать овраг или ущелье в горах, нужно просто поставить два обрыва друг против
друга. Таким образом вы добьетесь эффекта оврага или ущелья.
Как правило, прежде чем создавать скалистые горы на карте своей мечты, лучше
потренироваться на тестовой карте.
Если вы хотите создать холмы посреди озера или болота, вам лучше создать
сначала остров, а затем на его поверхности создавать холм. Одним из параметров,
характеризующих остров, является прибой, который вы сами можете для него
просчитать.
Заметьте, что после создания побережья на водной поверхности появились буруны волн,
двигающихся в одном направлении. Они реагируют на силу (Wind Force) и направление
ветра (Wind Direction), настраиваемых в свойствах карты (см. раздел «Настройка свойств
карты»).
(I) При создании побережья можно менять линию
берега. На поверхности прибрежных вод появляются
барашки, обозначающие силу и направление ветра.
(сдвигается точка 1)
При изменении VSO по одной точке ваши действия влияют только на конкретную точку
и на векторы, соединяющие эту точку с соседними точками.
Как видно на картинке, после того как точка 1 была сдвинута, точки 2 и 3 остались на
своих местах. Весь контур VSO изменился благодаря точке 1.
Как видно на картинке, все точки, кроме одной были сдвинуты. Соответственно
поменялся и контур VSO.
При работе с VSO по всем точкам вы либо одинаково перемещаете все точки одного
типа, либо передвигаете весь объект (если вы перемещаете красные точки). Поэтому если
вы хотите передвинуть какой-либо уже созданный на карте VSO объект, включите режим
работы со всеми точками.
Как видно на картинке, несмотря на то что пользователь перемещает только одну точку 1,
все остальные точки синхронно двигаются в ту же сторону.
При создании VSO правильно настроить такие параметры, как ширина (width) и
прозрачность (opacity), помогут соответствующие поля значений, расположенные чуть
выше фильтра объектов.
Поле Width показывает значение для контура зеленого цвета. Соответственно, это
значение изменяется, когда вы перемещаете в стороны зеленые контрольные точки.
Например, если вы хотите изменить ширину реки, выберите нужный режим работы
с точками (с одной, несколькими или всеми), и потяните за одну из зеленых
контрольных точек в ту или иную сторону. Вы увидите, как значение в поле Width
изменилось.
При необходимости вы можете задать нужную ширину дороги через поле Width
перед ее размещением на карте. Для этого введите в поле Width нужное значение и
нажмите клавишу [Enter]. После этого размещаемая дорога будет автоматически
настроена на заданную вами ширину.
Поле Opacity показывает значение прозрачности для определенного участка VSO.
Чтобы уточнить, какое значение прозрачности задано тому или иному участку
VSO, щелкните по соответствующей зеленой контрольной точке.
Чтобы изменить значение прозрачности для отдельного участка или для всего
объекта в целом, выберите режим работы с контрольными точками (с одной,
несколькими или всеми) и, выбрав нужную зеленую контрольную точку, потяните
вверх или вниз. Вы увидите, как значение прозрачности в соответствующем поле
изменится. Нажмите [Enter], чтобы изменения вступили в силу.
Обратите внимание: на той же закладке «Terrain Objects» есть еще два пункта
настроек: Predefined Stats (предопределенные параметры) и Custom Stats (настраиваемые
параметры). В текущей версии редактора эти параметры отключены и их
использование ничего не меняет.
Для размещения объектов на новой или ранее созданной карте необходимо задействовать
режим работы с объектами. Для этого в окне Tools выберите вкладку «Map Objects»
раздела «Objects». Редактор перейдет в режим работы с объектами.
Выберите место для размещения данного объекта и щелкните ЛКМ. Чтобы прекратить
размещение данного объекта, щелкните ПКМ.
Размещенные объекты на карте, особенно это касается боевых единиц, во многих случаях
необходимо дополнительно настраивать, изменяя некоторые их параметры. (Подробнее
см. ниже, раздел 4-12 «Параметры объектов»)
Создание мостов и заграждений можно завершить? просто указав конечную точку. Чтобы
завершить создание окопов? необходимо нажать клавишу [Enter].
Для дальнейших действий с объектом на карте выделите его, щелкнув по нему ЛКМ.
Вокруг центра объекта появится окружность с двумя управляющими точками (1 и 2) и
вектором направления (3).
Для перемещения группы объектов выделите их с помощью рамки или клавиши [Shift] +
ЛКМ (выделение объектов аналогично выделению боевых единиц в игре). Нажмите и
удерживайте ЛКМ на управляющей точке в центре окружности выделенной группы и
переместите группу в любое место на карте. При перемещении группа объектов сохраняет
местоположение относительно друг друга и заданное ориентирование.
Важное замечание: все объекты, кроме авиации, не могут быть размещены над
поверхностью карты. При попытке поднять их все объекты стремятся опуститься на
поверхность карты, как только пользователь «отпускает» их.
Боевые единицы вогнать в землю невозможно. Даже если в редакторе боевая единица
находится наполовину или полностью в земле, в игре она окажется на поверхности карты.
После этого между этими объектами должна появиться связывающая их оранжевая линия.
А в свойствах объекта, в поле LinkWith должен появиться LinkID объекта, с которым
связан первый объект.
Player
Указывает, какому игроку принадлежит объект (боевая единица). Можно поменять
принадлежность, изменив значение этого поля в столбце Value.
ScriptID
Как правило, ScriptID присваивается различным боевым единицам или группам боевых
единиц.
Назначение ScriptID
Для назначения идентификатора (ScriptID) одиночному объекту переведите редактор в
режим работы с объектами, выделите нужный объект и нажмите клавишу [Enter] на
клавиатуре или соответствующий значок на панели инструментов. На информационной
панели появится окно с дополнительными параметрами объекта.
Найдите строку ScriptID. Если объекту не присвоен идентификатор, вы увидите значение
-1. Чтобы присвоить объекту идентификатор, дважды щелкните ЛКМ в столбце Value и
введите нужное значение. Рекомендуется избегать значения 0 в силу особенностей языка
LUA.
HP
Данный параметр отображает коэффициент начального запаса прочности/здоровья
объекта. Значение, равное 1, соответствует 100%. Для его изменения введите
соответствующий коэффициент, отличный от 1. Например, 0.4 (соответствует 40%).
Важное замечание: отдельно стоит отметить мосты (Bridges) – при изменении этого
значения у мостов их запас прочности не меняется. Нанесение повреждений мостам
возможно с помощью скрипта и соответствующей функции.
LinkID
При размещении на карте любого объекта редактор автоматически присваивает ему
LinkId – специальный идентификатор, который используется для связывания объектов.
LinkWith
В это поле необходимо ввести значение поля LinkID того объекта, с которым вы хотите
связать данный объект. Причем следует соблюдать логику связывания – пехоту следует
связывать с окопами, а не наоборот.
Глава 5
General – настройки, относящиеся только к AI General (подробнее см. в главе 5-08 «AI
General»).
PartyInfo – выбор стороны, за которую будет играть данный игрок в одиночной игре.
ScriptReinforcements – не используется.
Для одиночной игры имеют смысл установки начальной камеры только для Player 0, а в
сетевой игре – для всех игроков, позиции которых заданы в редакторе.
(I) В начале сетевой игры начальные позиции, принадлежащие
одной стороне, случайным образом распределяются между
игроками из этой команды.
Чтобы установить позицию начальной камеры, откройте закладку «Start Cameras» раздела
«Gameplay» панели инструментов.
После этого сориентируйте вид на карту так, как вы хотите, чтобы соответствующий
игрок видел ее в начале игры.
После этого нажмите кнопку «Set». На карте по центру видимого пространства должен
появиться маркер, обозначающий положение начальной камеры для текущего игрока.
Set Only Position for Camera – при установке начальной камеры запоминаются
только координаты камеры. Соответственно, пользователь будет начинать игру в этих
координатах со стандартной высотой камеры.
Set All Params For Camera – при установке начальной камеры запоминаются
координаты и высота камеры над картой.
Параметр Final Position необходим для того, чтобы в случае победы или поражения
показать участок карты или объект, имевший в этой миссии ключевое значение и,
соответственно, в отношении которого действия игрока привели к победе или поражению.
5-05. Подкрепления
В ходе миссии игрок (или другая участвующая сторона) может получать под
командование дополнительные технику и войска.
Существуют два основных способа передачи боевых единиц под командование одной из
сторон – вызов боевых единиц из пула подкреплений с помощью интерфейса вызова
подкреплений или передача боевых единиц под командование одной из сторон с
помощью скрипта.
В дальнейшем подкреплениями мы будем называть боевые единицы, вызываемые
игроком из пула подкреплений, а призовыми боевыми единицами — боевые единицы,
передаваемые под командование игрока с помощью скрипта.
Чтобы игрок мог вызвать в процессе игры подкрепления, для каждой карты (миссии)
должны быть указаны типы и состав доступных подкреплений для каждой стороны, их
количество и точки прихода подкреплений.
В случае, когда создается новый тип подкрепления, необходимо ввести его название. Для
дальнейшей настройки этого типа подкреплений необходимо нажать кнопку с троеточием
(подробнее о создании нового типа подкреплений см. ниже).
Type
В игре «Блицкриг II» все боевые единицы накапливают опыт. По завершении миссии
опыт, накопленный различными войсками, засчитывается тому ТИПУ, к которому эти
боевые единицы были приписаны.
Например, если вы создали подкрепление и обозначили его тип как LIGHT TANKS, но в
состав подкрепления включили взводы штурмовой пехоты, то весь опыт, полученный
этой пехотой, будет начислен типу LIGHT TANKS. Так как такой способ не является
корректным, рекомендуется придерживаться соответствия между типом подкрепления и
его составом.
Entries
Squad
В этом поле указывается взвод пехоты.
Важное замечание: нельзя использовать одно Entry одновременно для боевой единицы
техники и пехоты!
LinkIndex
LinkWith
В этом поле необходимо ввести значение параметра LinkIndex той боевой единицы, к
которой необходимо связать текущую боевую единицу. Если в этом поле оставлено
значение -1, то связывание невозможно.
На данной картинке видны две боевые единицы, одна из которых привязана ко второй
(значение поля LinkWith одной боевой единицы соответствует значению поля LinkIndex
второй).
5-05-3. Определение количества вызовов подкреплений
Принадлежность игроку
Точка с IsDefault = true при старте карты доступна игроку, даже если ключевое здание
принадлежит не ему. После первого перезахвата точка начнет работать обычным образом.
Перед вами появится список «Typed Templates» для данной точки появления
подкреплений. Нажмите кнопку «Add», чтобы добавить новый шаблон.
Если нужно, вы можете выбрать несколько типизированных шаблонов для данной точки
появления подкрепления.
В игре «Блицкриг II» захват новых точек появления подкреплений происходит путем
захвата ключевых зданий.
Для того чтобы связать ключевое здание с точкой появления подкреплений, необходимо
три элемента:
1. Ключевое здание 2. Флаг 3. Точка появления подкреплений
Т.е. смотрим значение LinkID флага и прописываем его в строке LinkWith в свойствах
связанного с ним здания.
Если все было сделано правильно, эти два объекта будут визуально соединены оранжевой
линией на карте.
Обратите внимание, что для каждой играющей стороны можно добавить только по одной
точке появления подкреплений, связанной с данным призовым объектом.
Если все было сделано правильно, у вас готов призовой объект, при захвате которого
играющие стороны получат контроль над определенным точками появления
подкреплений.
5-07. Начальные команды боевой единицы
Для того чтобы обеспечить на карте активность в самом начале миссии (например,
окопаться, организовать атаку силами союзника или войсками противника, показать
какие-то события и т.п.), существует возможность задать боевым единицам начальные
команды. Причем каждой боевой единице можно дать несколько команд, которые она
станет выполнять согласно очередности.
Для того чтобы задать начальные команды, перейдите на закладку «Unit Start Commands»,
раздела «Gameplay» в панели инструментов.
Если команда предполагает наличие цели или точки на карте (например, «attack unit» или
«move to point»), то, не закрывая окно назначения начальной команды, щелкните ЛКМ на
поверхности карты и укажите цель или точку назначения на карте. Координаты цели или
места назначения отобразятся в поле «Target» окна назначения начальной команды.
Список содержит начальные команды для боевых единиц всех участников. Просмотреть
начальные команды для боевых единиц только одной стороны нельзя.
При выборе команды в списке начальных команд можно увидеть точку назначения или
цель данной команды.
Можно менять очередность начальных команд как в общем списке, так и в списке команд
отдельной боевой единицы. Для этого воспользуйтесь кнопками «Up» и «Down».
5-08. AI General
Функция редактора карт «AI General» – это основное и наиболее часто используемое
средство для формирования и настройки базовых действий компьютерного противника в
однопользовательской игре.
(I) AI General может быть только у компьютерного противника.
Т.е. ни у игрока, ни у его союзников, ни тем более у нейтральной
стороны AI General работать не может.
Цена каждой боевой единицы определяется исходя из цены по умолчанию для всех
боевых единиц данного рода войск, а так же ее качества. При этом от качества боевой
единицы зависит множитель на цену по умолчанию. Например, возьмем средний танк
M4A1 «Шерман». Цена по умолчанию для всех средних танков равна 70, множитель от
качества самого «Шермана» равен l. Соответственно, цена танка «Шерман» равна 70
единицам. Если в одной клетке будут находиться 10 танков Шерман, то, соответственно,
уровень опасности для этой клетки будет оценен AI General в 700 единиц.
Решение о том, что делать с каждой конкретной клеткой, AI General принимает на основе
уровня опасности, присвоенной каждой клетке. Решения принимаются с определенной
периодичностью, через равные промежутки времени.
При наличии нескольких опасных клеток AI General всегда выбирает клетку с наивысшим
приоритетом и начинает ее обработку. Клетка считается обработанной после того, как в
отношении ее были совершены все возможные действия — выслана авиация и завершен
обстрел артилерией, при этом длительность одного арт-обстрела регулируется константой
(см. файл consts.cfg).
Запрос на вызов авиации создается в двух случаях: если имеется клетка с необходимым
уровнем опасности (вызываются бомбардировщики/штурмовики) либо если на карте была
обнаружена вражеская бомбардировочная/штурмовая авиация (вызываются истребители).
Вызванные самолеты летят в режиме «swarm» из точки своего появления к целевой точке,
поэтому точку появления авиации для компьютера лучше ставить в непосредственной
близости от точки появления его наземных войск.
Это необходимо для того, чтобы минимизировать время полета над территорией игрока, в
противном случае на полетном маршруте могут обнаружиться ранее неизвестные AI
General цели, которые отвлекут вызванные самолеты от их основной задачи, что снизит
эффективность действия AI General.
Например, если точка появления авиации AI General находится в легко доступном для его
противника месте, прибывающая авиация может быть легко связана боем и, таким
образом, отвлечется от выполнения основной задачи.
Зона внимания – универсальная зона для защиты или нападения. Каждая зона внимания
по умолчанию обладает постоянным начальным коэффициентом важности. Этот
коэффициент определяет приоритет той или иной зоны внимания при прочих равных
условиях. Фактический коэффициент важности зоны внимания определяется исходя из
начального коэффициента важности за вычетом стоимости всех боевых единиц AI
General, уже находящихся в данной зоне, и с добавлением стоимости всех боевых единиц
игрока в данной зоне, умноженной на два (множитель 2 используется AI General для
создания решающего преимущества в такой зоне).
Если коэффициент важности зоны выше, чем стоимость всех боевых единиц AI General в
этой зоне, то при наличии свободных сил (вызовов подкреплений либо войск в качестве
резерва) AI General вышлет в данную зону дополнительные силы, при этом фактическое
количество высылаемых сил будет равно: (начальный коэффициент зоны - стоимость
войск AI General) + стоимость войск игрока* 2, где 2 — коэффициент желаемого
превосходства, означающий во сколько раз силы AI General должны превышать силы
игрока для обеспечения стабильной победы.
Например: у нас есть зона внимания с коэффициентом важности 1000. В этой зоне
находятся войска AI General со стоимостью 200 и войска игрока со стоимостью 1000.
На основе вычислений (1000-200)+1000*2 AI General постарается выслать в эту зону
войска общей стоимостью 2800.
Зона резерва – это зона, в которой AI General накапливает излишки вызванных наземных
сил, т.е. войск, на которые в текущий момент времени отсутствует запрос. Данный тип зон
не обладает начальным коэффициентом важности, также для этого типа зон не
учитывается наличие в ней войск AI General либо игрока – т.е. на наличие войск
противника в данной зоне AI General будет реагировать как на обычные клетки карты.
Если у AI General есть несколько зон резерва, то свободные войска распределяются между
ними равномерно.
Если у AI General есть войска только для удовлетворения запросов от одной зоны, то все
резервные войска будут отправлены в нее, а остальные зоны будут забыты до следующего
пересчета приоритетов.
Стоит особо отметить тот факт, что AI General не управляет абсолютно всеми войсками,
принадлежащими конкретной стороне. AI General управляет только боевыми единицами,
переданными ему в качестве мобильных подкреплений, вызванных им или переданных
ему с помощью скрипта (более подробная информация в главе 5-10-1 «Мобильные
подкрепления»).
Для настройки AI General откройте закладку «AI General» раздела «Gameplay» в окне
«Tools».
Прежде чем начать настройку AI General, убедитесь, что у вас выбрана соответствующая
сторона. AI General не может быть назначен игроку, его союзниками или нейтральной
стороне.
Но при этом ScriptID всех войск, которые планируется передать под управление AI
General, обязательно должны быть прописаны в разделе «Mobile Reinforcements»
редактора карт.
На каждой карте должно быть размещено как минимум по одной зоне внимания и резерва,
чтобы AI General мог нормально распоряжаться войсками, переданными ему или
вызванными в качестве подкреплений.
Важное замечание: Карты, на которых нет зон внимания и зон резерва для AI General,
могут функционировать некорректно! Например, при вызове подкреплений и отсутствии
запросов на их использование AI General просто не будет знать, что с ними делать.
5-11-1. Назначение и настройка зон внимания
Зоны внимания – это универсальные зоны, используемые для назначения AI General таких
задач, как оборона или нападение. Принципиально нет никакой разницы между зоной,
предназначенной для защиты или нападения, — это деление чисто условное. AI General
выполняет одни и те же действия для зон внимания, предназначенных как для защиты, так
и для нападения, поэтому их различие заключается лишь в доступности и изначальном
заполнении войсками AI General или его противника.
Поэтому если вы хотите назначить AI General зону для защиты, то обеспечьте ему
возможность заполнить ее войсками до подхода сил противника. Зону атаки следует
изначально располагать на территории противника и заполнять ее враждебными AI
General войсками.
Чтобы разместить на карте зону внимания AI General, в нижней части закладки «AI
General» нажмите кнопку «Add», находящуюся справа от заголовка «Parcels».
На карте автоматически появится красный контур будущей зоны с двумя направляющими
точками – в центре и на границе. С их помощью можно сдвигать зону внимания и
изменять ее размер во время размещения войск или других объектов на карте.
Для этого в списке зон дважды щелкните ЛКМ по соответствующей строчке в столбце
Type.
Для назначения зоны резерва нужно проделать все то же самое, что и для назначения зоны
внимания, только необходимо назначить ей тип «reinforcements».
1 – номер зоны;
2 – количество позиций для войск в этой зоне;
3 – координаты зоны на карте;
4 – важность зоны (суммарная стоимость боевых единиц, которую будет учитывать AI
General при расчете числа отправляемых в зону войск);
5 – тип зоны (DEFENCE, REINFORCE или UNKNOWN).
Скрипты пишутся на измененной версии языка LUA (www.lua.org). Поэтому если вы уже
знакомы с этим языком, то процесс создания скриптов «Блицкрига II» для вас значительно
упростится.
Чтобы запустить редактор скриптов и начать создание скрипта для своей миссии, найдите
строку ScriptFileRef в свойствах карты (MapInfo).
Чтобы создать скриптованную зону, откройте закладку «Script Areas» раздела «Script» на
панели инструментов.
После этого укажите радиус (если тип намечаемой зоны – окружность) или расстояние от
центра до угла зоны (если прямоугольник).
На карте появятся два красных кружка, соединенных линией, после чего вам будет
предложено дать название новой зоне.
Имя может содержать буквы и цифры. При этом, если вы создаете несколько
скриптованных зон, рекомендуется давать им не повторяющиеся имена, чтобы вы могли
свободно их использовать при скриптовании миссии.
После создания скриптованной зоны ее имя и тип появятся в списке на той же закладке.
После размещения зоны ее, как и любой другой объект на карте, можно переместить в
другое место или изменить ее размеры.
Делается это с помощью двух направляющих точек в центре и на границе зоны.
5-15. Задачи
При создании карты для одиночной игры одним из ключевых моментов является выдача
пользователю в ходе миссии текущих задач.
Создайте новую задачу и введите имя файла, в котором будут сохранены параметры
задачи.
Теперь необходимо настроить параметры задачи. Перейдите в свойства объекта. Перед
вами появится список параметров, которые необходимо настроить.
HeaderFileRef и DescriptionFileRef
Эти параметры определяют название задачи и ее описание, они заполняются так же, как
обычно. BriefingFileRef не используется.
IsPrimary
Этот параметр определяет, первостепенной или второстепенной является данная задача. В
настоящее время этот параметр всегда должен иметь значение «true», так как значение
«false» не используется.
MapPosition
Чтобы отобразить на карте и мини-карте маркеры, указывающие местоположение целей
заданий, необходимо добавить эти указатели в группу параметров MapPosition. Добавьте
необходимое вам количество маркеров.
После этого каждому маркеру необходимо назначить координаты, по которым этот
маркер будет отображаться на карте и мини-карте. Координаты вписываются вручную в
соответствии с расположением объекта на карте или примерными координатами нужного
региона. Чтобы узнать нужные координаты, проще всего в редакторе навести курсор
мыши на нужное место – координаты курсора мыши будут показаны в правом нижнем
углу редактора в строке состояния.
Опыт
С помощью этого параметра определяется количество опыта, получаемого игроком после
выполнения данной задачи в рамках кампании. При создании карт для одиночной или
сетевой игры он не имеет значения.
Так как мы создаем новую карту, необходимо сначала создать XDB-файл, где вы
впоследствии сохраните текстуру со снимком для вашей карты.
11. Если все было сделано правильно, в окне журнала появится запись о том, что
текстура успешно экспортирована, в противном случае вам следует убедиться, что
все было сделано правильно и повторить этапы встраивания снимка.
6-02. МИНИ-КАРТА
6-03. Музыка
Одним из важных составляющих атмосферы и т.н. «настроения» карты или миссии
является музыкальное сопровождение
Для этого в редакторе карт «Блицкрига II» есть возможность создавать списки
композиций для проигрывания на этой карте.
Причем для каждой миссии обязательно наличие двух списков – «#0 — Adventure
Playlist», который проигрывается в то время, пока на карте игрок не принимает участия в
сражении, и «#1 — Combat Playlist», который проигрывается во время боевых действий с
участием игрока.
StillOrder
Выберите композиции с музыкой.
RandomOrder
Выберите композиции с музыкой. На забудьте указать вес каждой композиции.
FadeIn
Укажите параметры FadeIn, чтобы в начале проигрывания композиции громкость музыки
плавно повышалась.
FadeOut
Указать параметры FadeOut, чтобы в конце проигрывания композиции громкость музыки
плавно понижалась до нуля.
Track
Выбор файла с музыкой на диске. Формат поддерживаемых файлов – wav, ogg, mp3.
FadeIn и FadeOut
Выбор параметров изменения музыки в течение заданного времени в начале и в конце
композиции.
(I) Fade – изменение громкости музыки в течение заданного
времени. Fade зависит от двух основных параметров –
конечной заданной громкости композиции и интервала
времени, в течение которого происходит заданное изменение
громкости. За это отвечают параметры FadeVolume и
FadeTime соответственно.
PlayTime
Этот параметр задает время и параметры проигрывания композиции. Можно проигрывать
всю композицию заданное количество раз или же повторять ее в течение какого-то
времени.
PlayPauseAfter
Выбор продолжительности паузы после проигрывания каждой композиции.
Чтобы изменить свойства ключевого кадра, сначала с помощью ЛКМ выберите его
так, чтобы рядом появился номер кадра, затем щелкните по нему ПКМ и выберите
соответствующий пункт в появившемся меню.
Чтобы увидеть ролик так же, как его увидит в игре пользователь, включите режим
пропорционального игрового экрана.
Скриптовые функции
Для разработки игровой миссии, рассчитанной на одного игрока, необходимо создание
скрипта, описывающего множество событий и условий.
Изучив примеры использования функций, вам будет несложно написать свой собственный
скрипт для игровой миссии.
Get
GetAmmo
GetAmmo (UniqueID)
GetDifficultyLevel
GetDifficultyLevel( )
GetFrontDir
GetFrontDir (UniqueID)
Возвращает направление боевой единицы с идентификатором UniqueID. Результат может
варьироваться в пределах [0,65535].
GetGameTime
GetGameTime ( )
Возвращает текущее время в N секунд от начала миссии.
time = GetGameTime ( );
GetIGlobalVar
GetIGlobalVar ('strGlobalVarName', 0)
Возвращает значение глобальной переменной с именем 'strGlobalVarName'. Если этой
переменной не существует, она создается и получает значение 0. Значения GetIGlobalVar
могут быть только целочисленными.
GetIGlobalVar ('temp.objective.0', 0) == 2
GetNAmmo
GetNAmmo (ScriptID)
Возвращает количество боеприпасов у боевой единицы с идентификатором ScriptID по
списку. Это обобщенное значение первичного и вторичного боеприпасов.
GetNMinesInScriptArea
GetNMinesInScriptArea ('ScriptAreaName')
Возвращает количество мин в скриптовой зоне с названием 'ScriptAreaName'.
GetNMinesInScriptArea ('MineField') > 2
GetNScriptUnitsInArea
GetNScriptUnitsInArea (ScriptID, 'ScriptAreaName',
countPlanesAsUnits)
GetNScriptUnitsInArea
GetNScriptUnitsInArea (ScriptID, X, Y, Radius, countPlanesAsUnits)
GetNUnitsInArea
GetNUnitsInArea (nPlayer, 'ScriptAreaName', countPlanesAsUnits)
GetNUnitsInCircle
GetNUnitsInCircle (nPlayer, X, Y, Radius)
GetNUnitsInParty
GetNUnitsInParty (nPlayer)
Возвращает количество боевых единиц, принадлежащих стороне nPlayer. Пехота
учитывается в индивидуальном порядке (1 отряд = количеству боевых единиц в отряде).
GetNUnitsInPlayerUF
GetNUnitsInPlayerUF (nPlayer)
В сетевой игре:
возвращает количество боевых единиц, принадлежащих стороне nPlayer. Пехота
учитывается поотрядно (1 отряд = 1 боевой единице).
GetNUnitsInScriptGroup
GetNUnitsInScriptGroup (ScriptID [, iPlayer])
GetObjectHPs
GetObjectHPs (UniqueID)
GetObjectList
GetObjectList (ScriptID)
Возвращает список с идентификаторов UniqueID боевых единиц и объектов в скриптовой
группе ScriptID.
GetPassangers
GetPassangers (UniqueID, nPlayer)
GetReinforcementCallsLeft
GetReinforcementCallsLeft (nPlayer)
GetReinforcementCallsLeft (0) == 0
GetScriptAreaParams
GetScriptAreaParams ('ScriptAreaName')
GetSGlobalVar
GetSGlobalVar ('strGlobalVarName', 0)
GetUnitListInArea
GetUnitListInArea (nPlayer, 'ScriptAreaName' , countPlanesAsUnits)
GetUnitListInArea
GetUnitListInArea (nPlayer, X, Y, Radius, countPlanesAsUnits)
GetUnitListOfPlayer
GetUnitListOfPlayer (nPlayer)
GetUnitRPGStats
GetUnitRPGStats (UniqueID)
GetUnitState
GetUnitState (UniqueID)
Возвращает состяние боевой единицы с идентификатором UniqueID:
STATE_REST = 1;
STATE_REST_BUILDING = 8;
STATE_REST_ENTRENCHMENT = 9;
STATE_IN_TRANSPORT = 3;
STATE_SWARM = 11;
STATE_MOVE = 32;
STATE_SUPPRESS_FIRE = 34;
STATE_TOWED = 24;
STATE_UNIT_ATTACK = 21.
GetUnitState (171) ~= 1
IsAlive
IsAlive (UniqueID)
Возвращает 1, если боевая единица жива, или, 0 если она погибла или отсутствует:
IsAlive (171) == 1
IsImmobilized
IsImmobilized (UniqueID)
Возвращает 1, если боевая единица обездвижена, в противном случае – 0.
IsPlayerPresent
IsPlayerPresent (nPlayer)
IsReinforcementAvailable
IsReinforcementAvailable (nPlayer)
Возвращает 1, если у стороны nPlayer имеется достаточно типов и очков подкреплений,
даже если их вызов невозможен по времени:
IsReinforcementAvailable ( 0 ) == 1
IsSomeBodyAlive
IsSomeBodyAlive (nPlayer, ScriptID)
Возвращает 1, если у nPlayer осталась хотя бы одна живая боевая единица с заданным
ScriptID, или есть кто-либо живой в здании с заданным ScriptID, или есть хотя бы один не
уничтоженный объект с заданным ScriptID:
Возвращает 1, если у nPlayer есть хотя бы одна боевая единица, включая авиацию, в
скриптовой зоне 'ScriptAreaName' (если задано countPlanesAsUnits – 1):
IsSomeUnitInParty
IsSomeUnitInParty (nParty)
IsSomeUnitInParty ( 2 ) == 1
IsSomePlayerUnit
IsSomePlayerUnit (nPlayer)
IsUnitInArea
IsUnitInArea (nPlayer, X, Y, Radius, UniqueID)
IsUnitNearScriptObject
IsUnitNearScriptObject (nPlayer, ScriptID, Radius)
x, y = ObjectGetCoord (171)
RandomInt
RandomInt (n)
Возвращает случайное целое число в интервале [0; n]:
RandomInt (2) == 1
Trace
Trace ('strText' [, params, …])
Set
AddIronMan
AddIronMan (iScriptID)
ChangeFormation
ChangeFormation (ScriptID, nFormation)
Переводит отряд в скриптовой группе ScriptID в строй nFormation:
0 — по умолчанию;
1 — марш;
2 — оборона;
3 — наступление.
ChangePlayer
ChangePlayer (UniqueID, nPlayer)
Cmd
Cmd (nAction, ScriptID [, dispersion, params, …])
Отдает команду nAction боевой единице в скриптовой группе ScriptID. Параметры
должны быть перечислены через запятую. Команды с использованием координат должны
содержать дисперсию параметра. Cmd заменяет GiveCommand. Команда отдается боевой
единице немедленно.
Cmd (3, 1001, 50, 2756, 9678); Cmd (ACT_ENTER, 200, 350);
DamageObject
DamageObject (UniqueID, Damage)
LandReinforcementFromMap
LandReinforcementFromMap (nPlayer, 'ReinfName', nPositionID,
ScriptID)
ObjectiveChanged
ObjectiveChanged (ObjNum, nState)
Изменяет статус здания (цели) с номером ObjNum, задавая его как nState. Это может быть:
0 – скрыть здание (стереть из списка);
1 – сдать здание;
2 – задача выполнена;
3 – задача провалена.
QCmd, GiveQCommand
QCmd, GiveQCommand (nAction, ScriptID [, dispersion, params, …])
RemoveScriptGroup
RemoveScriptGroup (ScriptID)
SCStartMovie
SCStartMovie ( nMovieID, ['CallbackName'])
SCStopMovie
SCStopMovie ( )
SCReset
SCReset ()
SetAmmo
SetAmmo (UniqueID, Ammo1, Ammo2)
SetIGlobalVar
SetIGlobalVar ('strGlobalVarName', iVar)
SetSGlobalVar
SetSGlobalVar ('strGlobalVarName', 'strVar')
Задает значение глобальной переменной с именем 'strGlobalVarName'. SetFGlobalVar
использует строковый параметр.
Sleep
Sleep (N)
StartThread
StartThread (funcname, [params, …])
SwitchSquadLightFX
SwitchSquadLightFX (ScriptID, nState)
Включает (nState = 1) или выключает (nState = 0) фары у боевой единицы группы ScriptID.
SwitchUnitLightFX
SwitchUnitLightFX (UniqueID, nState)
SwitchWeather
SwitchWeather (iState)
UnitCmd
UnitCmd (nAction, UniqueID, [, dispersion, params ... ])
Дает команду для немедленного выполнения. Различие между UnitCmd и Cmd в том, что в
первой функции используются идентификаторы объектов и боевых единиц UniqueID, во
второй – ScriptID.
UnitQCmd
UnitQCmd (nAction, UniqueID, [, dispersion, params ... ])
UnitRemove
UnitRemove (UniqueID)
ViewZone
ViewZone ('ScriptAreaName', nParam)
Win
Win (nParty)
В одиночном режиме:
победа игрока номер nParty.
Miscellaneous
ChangePlayerForScriptGroup
ChangePlayerForScriptGroup (ScriptID, nPlayer)
Заменяет принадлежность всех боевых единиц группы ScriptID на ту, что указана в
nPlayer.
CmdArray
CmdArray (nAction, array [, params ... ])
CmdArrayDisp
CmdArrayDisp (nAction, array [, dispersion, params ... ])
DamageScriptObject
DamageScriptObject (ScriptID, nDam)
Повреждение всех объектов в скриптовой группе.
GetArray
GetArray ( ... )
GetNUnitsInArray
GetNUnitsInArray (array)
GetObjectListArray
GetObjectListArray (ScriptID)
GetPassangersArray
GetPassangersArray (UniqueID, Player)
Возвращает массив боевых единиц из массива с параметром paramtype, где param – его
значение.
QCmdArray
QCmdArray (nAction, array [, params ... ])
QCmdArrayDisp
QCmdArrayDisp (nAction, array [, dispersion, params ... ])
RemoveScriptGroup
RemoveScriptGroup (ScriptID)
Wait
Wait (N)
Trigger
Trigger (chechkfunction, execfunction, [cicled, latency])
Константы
Константы используются в функциях Cmd, QCmd, UnitCmd, UnitQCmd,
GetUnitsByParam:
двигаться в точку
ACT_MOVE = 0;
собраться в точке
ACT_SWARM = 3;
повернуться к точке
ACT_ROTATE = 8;
сменить строй 0, 1, 2, 3
ACT_PARADE = 10;
заминировать точку
ACT_PLACE_MINE = 11;
пристреляться
ACT_ZEROING = 15;
обстреливать
ACT_SUPPRESS = 16;
ремонтировать в точке
ACT_REPAIR = 24;
взять артиллерию
ACT_ATTACH = 31;
окопаться
ACT_ENTRENCH = 45;
держать позицию
ACT_STAND = 50;
патрулировать
ACT_PATROL = 75;
телепортироваться в транспорт
ACT_LOAD_NOW = 1001;
убрать
ACT_DISAPPEAR = 1007;
повернуться по вектору
ACT_ROTATE_VEC = 1055;
PT_TYPE = 1
Указывает, что следующий параметр – тип боевой единицы TYPE_INF / TYPE_MECH.
PT_ID = 2
Указывает, что следующий параметр – идентификатор боевой единицы в базе.
PT_CLASS = 3
Указывает, что следующий параметр – класс боевой единицы: типы отрядов/типы
техники.
PT_PRICE = 4
Указывает, что следующий параметр – стоимость боевой единицы для AI.
PT_MAXHP = 5
Указывает, что следующий параметр – максимальное число HP у боевой единицы.
PT_WEIGHT = 6
Указывает, что следующий параметр – вес боевой единицы.
PT_TOWFORCE = 7
Указывает, что следующий параметр – сила тяги боевой единицы, равная максимальному
весу другой боевой единицы, который он может тянуть на прицепе.
Типы PT_TYPE:
TYPE_INF = 0;
TYPE_MECH = 1;
Ландшафт
В тылу у игрока время от времени появляются элитные немецкие войска (они выходят на
поверхность из разбросанных по городу станций метро).
Подробности
В начале игрок получает задачу не допустить захват противником его склада и стартовой
точки 1.
После получения задачи [1] выдается также задача [2] – занять командный пункт
германского гарнизона. По ее выполнении атаки противника из метро прекращаются.
Затем, если игрок еще не захватил ни один из мостов, он получает задачу [3]. На брифинге
игроку сообщается, что противник намерен подорвать три главных моста через реку
Шпрее. Через 10—15 минут после получения задачи все мосты на карте, не захваченные
игроком, уничтожаются.
Задача [4] выдается после выполнения или провала задачи [3] или в случае, если хотя бы
одна из наземных боевых единиц игрока оказывается в зоне Рейхстага.
В районе Рейхстага следует установить зону внимания таким образом, чтобы, если игрок
не выполнил задачу [2], в нее начинали прибывать дополнительные подкрепления. В этом
случае выполнить задачу [4] будет значительно сложнее.
Задача [5] выдается после выполнения [4] или в случае, если хотя бы одна из наземных
боевых единиц игрока оказывается в зоне Рейхсканцелярии.
Согласно скрипту противник должен нанести там несколько (5—6) бомбовых ударов.
Условия поражения
Условия победы
Выполнены задачи 2, 4 и 5.
Задачи