Тибериумные скрипты

Тибериумные скрипты

Мастерская — Тибериумные скрипты
...хочешь не хочешь, а учиться скриптописанию придется. Мы же со своей стороны постараемся сделать этот процесс максимально простым и интересным. Сегодня мы изучим скриптовый синтаксис и поучимся создавать несложные скриптовые блоки, чтобы вы в общих черт
Игроманияhttps://www.igromania.ru/
Мастерская
Тибериумные скриптыТибериумные скрипты

В предыдущих материалах по редактированию Command & Conquer 3: Tiberium Wars мы познакомились с устройством редактора карт WorldBuilder и научились создавать достаточно сложные уровни для игры. За бортом этих статей осталась одна-единственная тема — скрипты.

Не будем скрывать, что на самом деле она очень нудная, сложная, да и вообще далеко не у всех хватает терпения, чтобы ее освоить. Единственное «но» — на скриптах в C&C3 основана вся игра: поведение юнитов на поле боя, строительство сооружений, огибание препятствий. Стоит вырезать все скриптовые модули из C&C 3: Tiberium Wars, как жизнь в игре остановится в мгновение ока — солдаты, транспортные средства и вообще все подвижные объекты замрут в самых неожиданных позах. Чтобы вновь оживить такую сцену, придется изрядно попотеть — написать новые модели поведения персонажей и транспортных средств, обозначить ряд целей и задач, определить тактику ведения боя и много чего еще.

В общем, вы уже поняли, что хочешь не хочешь, а учиться скриптописанию придется. Мы же со своей стороны постараемся сделать этот процесс максимально простым и интересным. Сегодня мы изучим скриптовый синтаксис и поучимся создавать несложные скриптовые блоки, чтобы вы в общих чертах составили представление, как все это вообще работает. Полученного минимума знаний вам хватит для оживления относительно несложного уровня.

Буки, веди

Запустите WorldBuilder из директории с установленной игрой. Для вызова редактора скриптов выберите пункт меню Edit/Scripts (Ctrl+Alt+R). Появится форма, на которую вынесены кнопки для создания/открытия/проверки/импортирования и экспортирования скриптов, поиска нужного фрагмента в определенном документе.

Тибериумные скрипты

Так выглядит менеджер скриптов в редакторе WorldBuilder.

Разработка новых скриптов для игры сводится к банальному конструированию блоков, а не программированию в чистом виде. При этом каждый блок имеет следующую незамысловатую структуру: IF (условие), THEN (действие-1) ELSE (действие-2). То есть сначала задается определенное условие — скажем, уничтожение пехоты оппонента. Если цель выполнена, обработчик выполняет скрипт, следующий за ключевым словом THEN, в противном случае происходит обработка кода после ELSE. Как видите, ничего сложного, те, кто знаком с тем же «Бейсиком», отлично представляют себе, как такие конструкции работают.

Чтобы создать новый скриптовый документ, щелкните по кнопке New Script в окне Scripts. Откроется окно конструктора скриптов. Новые программные модули для C&C 3 пишутся поэтапно. Сначала вам необходимо ввести имя скрипта в поле Script Name. После этого следует водрузить флажки напротив нужных пунктов в поле Active in — указать уровень сложности, на котором будет использоваться скрипт (Easy — легкий, Normal — средний, Hard — сложный). Далее желательно (но необязательно) в поле под пунктом Script Comment написать краткий авторский комментарий к скрипту (что за модуль такой, для чего предназначен и так далее).

Когда основные параметры будут установлены, переместитесь во вкладку Script Conditions и обозначьте ряд условий, после успешного выполнения которых будут осуществлены действия, прописанные в блоке Actions IF True, а в случае их несоблюдения — команды из группы Actions IF False.

Чтобы задать новое условие, щелкните по кнопке New на форме редактирования скрипта, после чего в открывшемся окне Edit: Condition выберите определенное условие из списка, например Map/Area on fire (зона X находится под огнем). Вы увидите, что в поле под списком отобразится программный код условия и синим цветом (в стиле гиперссылок — подчеркнутый текст) выделятся различные атрибуты, в нашем случае — area ???. Чтобы изменить значение параметра, щелкните по нему левой клавишей мышки и в появившемся окошке выберите из списка нужное значение, скажем Water Grid.

Если вы хотите организовать проверку на невыполнение заданного условия, поставьте галочку напротив комментария NOT! в нижней области окна Edit Condition. Чтобы завершить создание условия, нажмите кнопку Ok.

Это важно знать
  • Разработчики умышленно ввели ограничение на максимальное число скриптов для одного сценария — 100 программных конструкций и ни одной больше. Превысите установленный лимит — не сможете скомпилировать уровень: редактор выдаст ошибку.
  • Если в поле условий Conditions for Script вы удалите условный оператор OR, то автоматически уничтожите все команды, прописанные после данного ключевого слова до следующего оператора.
  • Если напротив определенного скрипта в дереве файлов и папок менеджера стоит красный значок вопроса, это значит, что вами были определены не все базовые параметры.
Тибериумные скрипты

Последствий много разных

Тибериумные скрипты

Чтобы скрипт активировался при попадании игрока или компьютера в определенную зону, на ней должны быть расставлены триггеры.

В поле Conditions for this Script, в окне редактирования скрипта, после условного оператора IF появится команда — текст условия. Обратите внимание, условий может быть несколько. Например, вы можете попросить игрока одновременно выполнить задачи A и B, и лишь в этом случае будет осуществлено определенное действие. Добавить еще одно условие можно через кнопочку New, главное, следите, чтобы оно отличалось от первого: два одинаковых условия игра обработать не сможет.

Если вы хотите, чтобы выполнялось только одно из нескольких условий, то перед формированием второго условия встройте в тело скрипта условный оператор OR (логическое «или»). Для этого во вкладке Script Conditions (в окне создания скрипта) щелкните по кнопке OR. Чтобы сделать копию условия, выделите нужный компонент в поле Conditions for Script и щелкните по кнопке Copy на форме редактора скриптов. Если нужно вставить дубль, нажмите кнопку Paste. Для перемещения элементов, образующих единый блок, на одну позицию вверх/вниз, используйте кнопки Move Up или Move Down соответственно. Ну а чтобы удалить запись из списка условий, выделите ее, а затем кликните по кнопке Delete.

C постановкой условий разобрались. Создадим действие, которое активируется, если игрок успешно справится с обозначенной задачей. Перейдите во вкладку Actions IF True в окне менеджера скриптов. Чтобы добавить новое действие, щелкните по кнопке New. Появится окно со списком различных действий. Давайте, например, выведем на экран окно статистики и завершим текущую миссию. Выберите из списка элемент Win & Loss/Announce Victory и нажмите Ok. Заметьте, что в своем сценарии вы можете использовать не одно, а несколько различных действий. А что если игрок провалит задание? Как наказать нерадивого? Очень просто: достаточно заглянуть во вкладку Action IF False и по аналогии с созданием условий определить действия, которые осуществятся в случае невыполнения игроком поставленной задачи. Когда закончите, кликните по кнопке Ok, чтобы сохранить изменения и вернуться к менеджеру скриптов.

Теория менеджмента

Управление созданными скриптами осуществляется через окно Scripts. На панели в левой части данной формы содержатся инструменты для создания папок, скриптов, поиска текста и другие полезные функции. Правое поле менеджера разбито на три прямоугольные области, две нижние содержат информацию (комментарий) о скрипте и его содержимое, а третья (та, что занимает большую часть окна Scripts) представляет собой дерево папок и файлов (скриптов).

Названия большинства каталогов в данном поле соответствуют именам игроков, которые присутствуют на карте. Если вы уже сделали несложный уровень и поместили на него объекты, то с большой вероятностью встретите в дереве каталогов четыре директории — Neutral, PlyrGDI, PlyrCivilian, PlyrNeutral. Это свидетельствует о том, что на уровне определено несколько противоборствующих сторон, в данном случае четыре. Так вот, созданный скрипт нужно поместить в один из перечисленных каталогов — закрепить его за игроком, чьи подразделения должны выполнить задание.

Изначально скрипт может оказаться в любой из упомянутых директорий. Чтобы переместить документ в нужный каталог, ухватитесь за него левой кнопкой мышки и, не отпуская ее, перетащите файл в нужную папку. Для создания копии скрипта выделите его в дереве файлов и на панели инструментов окна Scripts кликните по кнопке Copy. Дубль будет помещен в папку с оригинальным скриптом. Для удаления какой-либо директории или файла предназначена кнопочка Delete. Обратите внимание, что кнопка Delete на клавиатуре ее не дублирует — неудобно, но тут уж ничего не поделаешь.

Чтобы экспортировать написанный скрипт (для использования его в других сценариях), выделите его и щелкните по кнопке Export Script на панели в левой части окна Scripts. В открывшемся окне настройте параметры сохранения скрипта (на начальном этапе модифицирования менять экспортные характеристики не рекомендуем) и нажмите Ok. Ну и, наконец, чтобы отредактировать написанный ранее скрипт, щелкните по нему дважды левой кнопкой мышки и нажмите Edit на панели инструментов.

Модотворцам на заметку
    Тибериумные скрипты
  • При написании сложных скриптов, которые активируются при пересечении игроком определенной территории, зачастую приходится прибегать к использованию идентификационных инструментов Waypoint Tool (горячая клавиша W, о нем мы уже рассказывали вам в прошлом выпуске «Игростроя») и Polygon Tool. Polygon Tool применяется для создания так называемых триггеров — невидимых зон, активирующих определенное действие. Срабатывает такой компонент, когда игрок или NPC оказывается в области его захвата. Триггеры могут использоваться, например, для проигрывания музыкальных треков, телепортации между локациями, активации режима боя.
  • Скрипты, действие которых распространяется на всех игроков, необходимо поместить в каталог Neutral. К ним прежде всего относятся файлы, ответственные за инициализацию уровня и условия выигрыша/проигрыша сторон. Модули для конкретных игроков следует распределить по директориям, названия которых соответствуют именам противоборствующих сторон. Скажем, если вы хотите, чтобы скрипт X выполнялся только для игрока PlyrCivilian, положите его в директорию /PlyrCivilian. После того как распределите скрипты по каталогам, вы можете упорядочить их внутри определенной директории по папкам.
  • Не пытайтесь удалить базовые каталоги, соответствующие названиям игроков, в окне менеджера скриптов: зря потратите время. Они создаются автоматически в процессе формирования карты и не могут быть удалены вручную.
  • Учите английский язык, друзья. Дело в том, что в редакторе WorldBuilder почти все скриптовые команды (условия, действия, переменные) сопровождаются развернутыми комментариями разработчиков на английском.

* * *

Как видите, в написании и редактировании базовых скриптов для С&C 3: Tiberium Wars нет ничего сложного. Нужно всего лишь дать скрипту имя, обозначить базовые условия и задать действия, которые осуществятся при выполнении или невыполнении поставленной задачи.

Трудности начинаются, когда нужно написать многоуровневый скрипт со множеством условий и несколькими вариантами реагирования на каждое из них. Если тема вам интересна и вы планируете создавать сложные скриптовые конструкции, то вам прямая дорога на наш DVD, в раздел «Игрострой». Там вас подстерегает подробная статья, где максимально доходчиво изложен механизм объявления переменных, основные принципы работы с таймерами, счетчиками и другая полезная информация по теме.

На этой трогательной ноте мы завершаем цикл статей по редактированию C&C 3: Tiberium Wars. Не стесняйтесь присылать свои работы (в том числе и скриптовые моды) на электронный ящик «Игростроя» — gamezone@igromania.ru: лучшие из них будут опубликованы на нашем диске.

Ну а все вопросы, которые у вас возникнут в ходе освоения редактора WorldBuilder, присылайте по адресу gamedev@igromania.ru. На самые интересные из них мы непременно ответим в рамках игростроевской «Горячей линии».

Комментарии
Загрузка комментариев  
Игра в материале
Command & Conquer 3: Tiberium Wars
?Рейтинг
Игромании
9,1Рейтинг
игроков
PC   X360
Жанр: Стратегия, Стратегия в реальном времени
Серия: Command & Conquer
Мультиплеер:  Интернет, локальная сеть (8)
Разработчик: EA Los Angeles
Издатель: Electronic Arts
Издатель в России: СофтКлаб
Локализатор: СофтКлаб
Дата выхода: 30 марта 2007
Дата выхода в России: 5 апреля 2007