Часть 2. Особенности многопользовательских карт.
Mutiplayer/Skirmish:
Во-первых, необходимо расставить точки появления игроков. Ставятся они вейпоинтами, и название у них Player_№_Start, где № - номер игрока.
Во-вторых, необходимо (причём в самом начале создания карты!) зайти в редактор списка игроков, и нажать там кнопку Add skirmish players. Появится куча сторон, жмём Ок.
В-третьих, для ИИ нужно сделать зоны-периметры. Для этого, инструментом областей, установите вокруг каждого игрока по две зоны – внутреннюю и внешнюю. Назовите их соотв. InnerPerimeter№ и OuterPerimeter№, где № - номер игрока, вокруг которого ставятся зоны.
В-четвёртых, для ИИ нужно сделать пути атак. Для этого, инструментом вейпоинтов, создайте пути от центра карты до игрока с трёх сторон, и дайте каждому пути имя: Center№ - для центрального, BackDoor№ - для тылового и Flank№ - для бокового, где № - номер игрока, на которого направлены эти пути.
В-пятых, по желанию можно сделать здания, которые будет занимать ИИ. Для этого выберите здание, и в доп.окне в поле имени вбейте Player№ Garrison%, где № - номер игрока, занимающего здание, а % - номер гарнизона (максимум 8).
Объекты, которые обязательно могут пригодиться:
Civilian -> STRUCTURE -> Supply[Dock/PileSmall/Warehouse] – источники ресурсов.
Civilian -> STRUCTURE -> Tech[Building name] – техпостройки.
Civilian -> STRUCTURE – гражданские постройки.
Civilian -> AUDIO – звуковые эффекты.
Civilian -> INFANTRY – гражданские люди.
Civilian -> MISC_MAN_MADE – мелочи техногенного характера.
Civilian -> MISC_NATURAL – мелочи природного характера.
Civilian -> VEHICLE – гражданские машины.
Часто задаваемые вопросы:
В: Могут ли боевые единицы из одного мода, поставленные на карту, присутствовать на карте при игре с другим модом?
О: В большинстве случаев – либо исчезнут, либо это будут другие единицы.
В: Где можно найти так называемые System maps, стандартные официальные карты и вообще можно ли их редактировать в worldbuilder?
О: Системные карты и есть официальные, и находятся они в папке Generals/ZeroHour/Maps. Редактировать их можно, извлекая из MapsZH.big в корневую папку Zero Hour и открывая в ВБ в разделе системных карт. Добавлять новые карты в официальные обычными средствами нельзя.
В: Я вот тут копался в билдере, точнее в его строениях, и нашёл какую-то хню, она большая чёрная вся и на верху у неё как бы такая сетка из палок, кто мне может объяснить зачем эта хня и как она действует?
О: Тестовый объект. Разработчики игры на нём что-то тестировали.
В: Как сделать волны по берегам водоёма?
О:
Сначала по берегам водоёма расставьте вэйпоинты в виде пути вот так: http://img7.imageshost.ru/imgs/090612/22b1911e8e/cbde3.jpg. То есть первый вэйпоинт называется CoastStart##, а второй - CoastEnd##, средние без разницы
Сохраните карту. Потом жмите File -> Dump Map To File. Потом включаете прогу WakEdit: http://projectgg.3dn.ru/load/raznoe/sluzhebnye_fajly/wakedit/6-1-0-3. Там есть кнопка "Импорт".
Жмёте, находите текстовый файл [Название карты].txt в корневой папке Zero Hour, если вы открыли правильный текстовый файл, появится окошко, в котором можно выбрать направление и тип волн. Выбираете направление, тип волн и жмёте ОК. Потом жмёте "Сохранить" (прога на англ., но проблем точно не будет), и сохраняете в папке с картой. Учтите, если у файла не будет расширения, то добавьте после названия .wak. Так же, проверьте, чтоб название файла совпадало с названием карты.
В: Можно ли как-то сделать, чтобы при занятии специфического здания (гражданского) у игрока включался радар?
О: Теоретически можно. Практически - я не уверен что будет работать. Причём работать будет только для объектов, имеющихся в игре. Итак, по шагам:
Cоздаем в папке с картой файл map.ini
Выбираем объект для "извращения". Скажем, AsianTVStation
Вводим в файл следующий код:
Object AsianTVStation AddModule Behavior = GrantUpgradeCreate ModuleTag_Radar01 UpgradeToGrant = Upgrade_Radar ExemptStatus = UNDER_CONSTRUCTION End End AddModule Behavior = RadarUpdate ModuleTag_Radar02 RadarExtendTime = 4000 End End AddModule Behavior = RadarUpgrade ModuleTag_Radar03 TriggeredBy = Upgrade_Radar End End End
Сохраняем файл
Тестируем карту
В: Как создать погодные условия на карте? Например дождь или снег... Если можно, то прошу описать все случаи погоды на карте.
О: Создаешь файл map.ini в папке с картой. В него вносишь этот код и изменяешь в соотв. с нуждами:
Для снега:
Weather SnowEnabled = yes ; enable/disable snow on the map. SnowTexture = ExSnowFlake1.tga ;texture used for each snow particle. EXRainDrop.tga SnowBoxDimensions = 100 ; width/height of box around camera containing snow. SnowBoxDensity = 1 ; amount of snow particles per world-unit. Raise to increase particle count. SnowFrequencyScaleX = 0.0533 ;speed of side-to-side wave movement. SnowFrequencyScaleY = 0.0275 ;speed of side-to-side wave movement. SnowAmplitude = 4.0 ;amount of side-to-side movement. SnowVelocity = 3.0 ;speed at which snow falls SnowPointSize = .16 ;scale the size of snow particles. SnowMaxPointSize = 10.0 ; maximum pixel size of point sprite particles (min-spec requires <= 64). SnowMinPointSize = 0.0 ; minimum pixel size of point sprite particles. ;Some video cards can't do hardware accelerated particles. Set this ;setting to "no" in order see what emulation will look like. Use the ;SnowQuadSize setting to make it look similar to PointSprite version. SnowPointSprites = yes ;set to "no" for point-sprite emulation. SnowQuadSize = 0.5 ;scale the size of snow particles when using point-sprite emulation. End Для дождя:
Weather SnowEnabled = yes ;enable/disable snow on the map. SnowTexture = EXRainDrop.tga ;texture used for each snow particle. SnowBoxDimensions = 100 ;width/height of box around camera containing snow. SnowBoxDensity = 1 ;amount of snow particles per world-unit. Raise to increase particle count. SnowFrequencyScaleX = 1 ;speed of side-to-side wave movement. SnowFrequencyScaleY = 1 ;speed of side-to-side wave movement. SnowAmplitude = .1 ;amount of side-to-side movement. SnowVelocity = 25.0 ;speed at which snow falls SnowPointSize = .3 ;scale the size of snow particles. ;Some video cards can't do hardware accelerated particles. Set this ;setting to "no" in order see what emulation will look like. Use the ;SnowQuadSize setting to make it look similar to PointSprite version.;; SnowPointSprites = yes ;set to "no" for point-sprite emulation. SnowQuadSize = .1 ;scale the size of snow particles when using point-sprite emulation. End
В: А есть ли какие-нибудь предустановки погоды?
О: Есть. http://www.strategyinformer.com/pc/commandconquergen...
Это набор погодных эффектов для карт. Всё что тебе нужно - импортить нужные скрипты, копировать инихи. Для импорта скриптов заходишь в Edit -> Edit scripts, жмешь там Import Scripts, выбираешь файл *.scb.
Приложение: map.ini и с чем его едят. В map.ini можно делать следующие вещи: менять полностью любой код, хоть объектов, хоть команд сетов, хоть чего. Но если армор или там локомотор прописывается без затруднений, то редакция объектов таит в себе трудности. О них я расскажу позже, а сейчас вот что: тщательно проверяйте код! Малейшая ошибка, и вам придётся искать такую мелкую ошибку, что просто стоит сменить код. Пример кода командной панели:
CommandSet GLAArmsDealerCommandSet_BikeChange 1 = Command_ConstructGLATankScorpion 2 = Command_ConstructGLAVehicleTechnical 3 = Command_ConstructGLAVehicleRadarVan 4 = Command_ConstructGLAVehicleQuadCannon 5 = Command_ConstructGLAVehicleToxinTruck 6 = Command_ConstructGLAVehicleRocketBuggy 7 = Command_ConstructGLATankMarauder 8 = Command_ConstructGLAVehicleBombTruck ; 9 = Command_ConstructGLAVehicleScudLauncher 10 = Command_UpgradeGLAScorpionRocket 11 = Command_ConstructGLAVehicleCombatBike ; 12 = Command_ConstructGLAVehicleBattleBus 13 = Command_SetRallyPoint 14 = Command_Sell 15 = Command_ConstructGLAVehicleCombatBikeRocket 16 = Command_ConstructGLAVehicleCombatBikeTerrorist End
Теперь, объекты: У объектов многие параметры можно менять как и у арморов или чего-нить ещё. Пример (он связан с примером командной панели):
Object GLAArmsDealer CommandSet = GLAArmsDealerCommandSet_BikeChange END
В результате это здание имеет другую панель команд. Также можно менять требования для постройки:
Object AmericaJetAurora Prerequisites Object = AmericaAirfield End End
Теперь Аврора строится даже если нет стратегического центра Но есть особые модули в объектах, у которых менять параметры можно только с помощью особого кода. Вот код-постфикс таких модулей:
ModuleTag_***
Их можно менять только при помощи трёх спец кодов: AddModule - добавить, RemoveModule - убрать, ReplaceModule - заменить. Пример добавления:
Object ChinaCommandCenter AddModule ModuleTag_CCUpgrades; добавление указанного модуля. Behavior = GrantUpgradeCreate ModuleTag_lightner01 UpgradeToGrant = Upgrade_InfantryCaptureBuilding End End; конец добавления модуля END
Пример удаления:
Object AmericaBarracks RemoveModule ModuleTag_09; без енда End
Пример замены:
Object AsianTrainStation ReplaceModule ModuleTag_03; заменяется только один модуль Behavior = GarrisonContain ModuleTag_03Alt ContainMax = 0 EnterSound = GarrisonEnter ExitSound = GarrisonExit End End; не забудьте END
Для просмотра кода объектов мода или оригинальных Генералов вам понадобится утилита FinalBIG 4.
Заключение. Этот туториал – не панацея, если у вас кривые руки и прямые извилины, а также отсутствует творческая жилка. Усердно тренируйтесь, и будете делать приличные карты.