#pun-title h1 span {display: none;}

Союз | Union

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Союз | Union » Картостроение и скриптовка » В помощь картоделу (Применение различных ресурсов GZM)


В помощь картоделу (Применение различных ресурсов GZM)

Сообщений 1 страница 15 из 15

1

В связи с проведением конкурсов картоделов, решил открыть эту тему.
Постараюсь здесь рассказать о некоторых новых(и не очень новых) ресурсах мода и дать краткие разъяснения по их применению на картах и в миссиях.

1. Применение на картах флота. «Водные мосты» и «проходимая вода».

На данный момент в моде имеется достаточно большое количество различных кораблей, катеров и прочих плавсредств. Это дает возможность картоделам  создавать не только сухопутные миссии, но и миссии, в которых может быть в той или иной степени задействован флот, как от небольших речных катеров, так и до больших морских кораблей.
Для того чтобы заставить весь этот флот передвигаться по водным просторам имеется два способа.
Первый способ это применение так называемых «водных мостов».
Они находятся в общем разделе мостов(Bridges) редактора и на иконках представлены в виде синих и зеленых клетчатых объектов:
http://s013.radikal.ru/i324/1207/61/a0c3a3d24cc6t.jpghttp://s013.radikal.ru/i322/1207/90/5f211f11b030t.jpg
В нормальном своем состоянии(и в игре) они невидимы, так как имеют прозрачные текстуры. Поэтому для того чтобы их расставить на карте и использовать в редакторе, необходимо сначала установить отдельный(дополнительный) пак файл с видимыми текстурами этих мостов. Он идет в комплекте с модом, находится там в архиве в отдельной папке, которая так и называется. Этот пак файл из этой папки необходимо установить в папку Data игры.
Затем наносите на карте водную поверхность и, там где у вас планируется движение флота, устанавливаете эти мосты(устанавливаются они, как и обычные мосты, путем растягивания). Мосты эти имеют различные размеры. Все мосты по краям ограничены непроходимыми зонами(показаны красными линиями на скрине):
http://i061.radikal.ru/1207/d5/cdda28feb394t.jpg
И только два вида мостов не имеют по бокам таких непроходимых зон, - это мосты с названиями wat_Hugebridge_03nofen и cz_Hugebridge_01 (и соответственно их дубликаты другого направления 04 и 01). С помощью этих мостов без непроходимых зон можно, при необходимости, создавать проходимые для кораблей поверхности большей площади(Будьте внимательны, так как если такая поверхность будет создана из мостов с непроходимыми зонами, то корабли не смогут по ней нормально передвигаться, им будут мешать эти зоны):
http://s59.radikal.ru/i163/1207/c3/fae762caabcct.jpg
Также не забывайте о том, что мосты не должны наезжать и соединяться с сушей, иначе флот с моря прямиком двинется по суше. Между зоной движения кораблей и берегом всегда должна быть непроходимая зона. Ее можно проверить в редакторе кнопкой AI, непроходимая зона будет показана зеленым:
http://s005.radikal.ru/i209/1207/25/65978e0d6121t.jpg
После того как работы с картой будут закончены, пак файл с видимыми текстурами мостов из папки Data следует удалить, для того чтобы текстуры мостов не отображались в игре:
http://s58.radikal.ru/i161/1207/67/91f825607950t.jpg
Недостатком этого способа является отсутствие эффектов от взрывов снарядов на воде.
(Да и еще желательно, когда карта будет готова, закрасить на графических файлах карты эти мосты синим цветом, чтобы они не отображались на мини-карте в игре, и положить эти файлы вместе с другими файлами миссии и карты, присвоив им какую-нибудь дату из отдаленного будущего, чтобы они при генерации в игре всегда имели приоритет)
Второй способ это применение «проходимой воды».
Она находится в редакторе в разделе дорог(Roads):
http://i073.radikal.ru/1207/00/f71b46fd689at.jpg
Наносится она на карту так, как если бы это была вода, и после нанесения поверхность под ней обязательно необходимо залить болотными тайлами Swamp:
http://s016.radikal.ru/i336/1207/26/b9d87e417e72t.jpg
Если этого не сделать, тогда во время взрывов на этой «водной» поверхности будут отображаться воронки от взрывов, как на земле:
http://s019.radikal.ru/i621/1207/9e/7e426aedf51bt.jpg
А если поверхность будет залита, тогда взрывы будут происходить как на воде:
http://s51.radikal.ru/i134/1207/5f/c47f26e7a4e4t.jpg
Недостатком этого способа является отсутствие анимации движения воды на этой «водной поверхности».
Итак, в зависимости от нужд и потребностей карты, может применяться тот или иной способ. Или же оба эти способа могут применяться одновременно, совместно на одной карте.

+11

2

ilyaka
Отличный урок!
Вот у меня как раз и "океаническая карта" :D
Я решил использовать 2 способ для своей карты.
Посчитал, его более логичным. Жаль, что нет анимации. Хотя я ещё и не делал океан, то решение может изменится. :whistle:

0

3

Очень интересно. Ждём продолжения :cool:

0

4

2. Снабжение по воздуху. «Парашютисты-тюки».

Если вы откроете в редакторе вкладку со сквадами(Squads), то увидите там пару вот таких сквадов, состоящих из трех и пяти тюков:
http://s018.radikal.ru/i507/1207/14/2e0d5954a9dft.jpg
Они предназначены для создания визуального снабжения по воздуху. То есть это тюки, в которых может быть упаковано различное вооружение, которое может доставляться по воздуху:
http://s45.radikal.ru/i109/1207/cb/b305a4bec3a3t.jpg
Для того чтобы в миссии создать такое воздушное снабжение, потребуется сделать некоторые специальные подготовительные манипуляции в редакторе и написать определенный сценарий. Варианты тут могут быть самые разные, в зависимости от желания автора. Я приведу лишь небольшой, самый простой пример, только для того чтобы было понятно, как все это может работать.
Итак, предположим что в миссии игроку предстоит высадить воздушный десант, а затем по воздуху доставить ему вооружение, в данном случае это будут десантные гаубицы.
Так как данные «парашютисты-тюки» будут представлять собой отдельную сторону и их сквады будут указываться в наименовании парашютных сквадов авиации, то нам потребуется добавить в миссию еще одну дополнительную сторону. В данном случае это будет союзная игроку сторона. То есть во вкладке дипломатии добавим еще одного игрока: Player 2.
http://s55.radikal.ru/i149/1207/e7/de0d4e0c3d66t.jpg
Таким образом, во вкладке установок авиации должен появиться этот дополнительный игрок-союзник:
http://i073.radikal.ru/1207/18/933d583f7814t.jpg
В этой вкладке для основных сторон(игрока и противника-ИИ) выбираем по авиации все как обычно, а вот для дополнительного игрока-союзника выбираем следующие параметры(то есть здесь ставим имя стороны и название парашютного сквада, которые и будут соответствовать «парашютистам-тюкам»):
http://s010.radikal.ru/i313/1207/6c/0e371a24785ct.jpg
Далее предположим, что вооружение для десантников будет сброшено в определенную зону, нанесем ее на карту в редакторе, пусть это будет зона «А». Затем поставим здесь гаубицы и присвоим им группу подкреплений, пусть это будет группа 10. Вот эти гаубицы у нас и появятся впоследствии из тюков:
http://s001.radikal.ru/i193/1207/c6/ff8bf11cf4fdt.jpg
Ну а далее в приводимом примере используется вот такой скрипт(заданий тут каких-то и т.п. ничего нет, это просто кусочек сценария для показа данного примера):
function Init()
SwitchWeatherAutomatic(0);
SwitchWeather(0);
RunScript("Proverka1",20000);
SetIGlobalVar("ParadropSquad.ScriptID",100);
end;

function Proverka1()
local paraID = GetIGlobalVar("ParadropSquad.ScriptID",100);
if (GetNScriptUnitsInArea(paraID,"A")> 0) then
DisplayTrace("База, база! Мы находимся в квадрате А. Высылайте оборудование.");
RunScript("Proverka2",10000);
Suicide();
end;
end;

function Proverka2()
SetIGlobalVar("ParadropSquad.ScriptID",200);
Cmd(22,10000,2,GetScriptAreaParams("A"));
DisplayTrace("Командир, оборудование отправлено в указанный квадрат А. Встречайте.");
RunScript("Proverka3",50000);
Suicide();
end;

function Proverka3()
local paraID = GetIGlobalVar("ParadropSquad.ScriptID",200);
if (GetNScriptUnitsInArea(paraID,"A")> 0) then
DeleteReinforcement(paraID);
LandReinforcement(10);
DisplayTrace("Отлично! Оборудование получено, приступаем к выполнению задания.");
Suicide();
end;
end;

А в игре все это выглядит следующим образом:
Игрок где-то(или в указанном месте) высаживает десант:
http://s51.radikal.ru/i133/1207/05/be10e271f22dt.jpg
Далее десант следует, предположим в указанный квадрат, для приема воздушного груза:
http://s56.radikal.ru/i154/1207/be/2d031abd3a8at.jpg
С базы отправлен самолет с грузом:
http://i047.radikal.ru/1207/6e/dde92edfd349t.jpg
Груз сброшен:
http://s019.radikal.ru/i615/1207/1c/c69b77cf1a17t.jpg
После приземления тюков, через некоторое время они исчезают, а вместо них появляются гаубицы:
http://i002.radikal.ru/1207/9e/792b97d64806t.jpg
Таким образом, гаубицы не просто вдруг появились посреди карты откуда-то(как это иногда бывает в миссиях), а имеют вполне даже логичное появление, и визуально тоже. Так можно снабжать окруженцев, диверсантов, партизан и т.д. и т.п. 
Да, и появляющимся из тюков орудиям лучше ставить нейтральную сторону, чтобы они появлялись без расчетов, а иначе если орудие появится из тюка уже с расчетом это будет выглядеть несколько странно.
Подобные приемы воздушного снабжения используются в моде в некоторых миссиях, возможно вы уже с ними встречались.

+9

5

ilyaka
Всё очень четко и доходчиво написано. :cool:
Непременно ждём продолжения!

0

6

3. Разные траншеи на одной карте.

Если открыть в редакторе вкладку траншей(Entrenchments), то там можно увидеть только один тип траншеи:
http://s59.radikal.ru/i164/1207/dd/a276e7849ccft.jpg
Этот же один тип используют и саперы при постройке траншей в игре. Здесь на данный момент ничего нельзя изменить и добавить.
Однако, это не значит, что при создании карт вы можете использовать только этот один тип траншей. На карту создаваемую в редакторе можно добавлять и другие типы траншей, причем разные типы можно добавлять на одну и ту же карту.
На данный момент в моде имеются следующие виды траншей:
http://s019.radikal.ru/i640/1207/ea/206811f7ebcat.jpg
Как видно на скрине они отличаются текстурами. Траншеи Entrenchment, Entrenchment02 и Entrenchment03 имеют также и свои зимние текстуры, траншея Entrenchment01 только летняя. Сейчас по-умолчанию в моде используется траншея Entrenchment. Кроме того, траншеи немного отличаются друг от друга и параметрами влияющими на укрытие в них пехоты.
Ниже поясню как довольно быстро можно расставить все эти траншеи на одной карте.
Алгоритм примерно такой. Так как в редакторе по-умолчанию используется только одна траншея, то вот ее и будем сначала наносить на карту, а потом переименовывать в тот другой тип, который нужен. То есть на реальной карте для удобства расстановки требуется только одно, - определится изначально где и какого типа будут траншеи, и затем действовать по описанному ниже методу.
Итак, начну слева направо. Сначала наносим обычную траншею:
http://s018.radikal.ru/i516/1207/1c/1e433b837f14t.jpg
Сохраняем карту в формате xml.
Затем открываем ее обычным редактором Блокнот или WordPad. Почему рекомендую пользоваться этими редакторами, - потому что потребуется произвести только одну простую операцию и средств этих редакторов для нее вполне достаточно, а использование других более навороченных редакторов может привести только к тормозам, карта(это смотря какая она у вас по размеру в мегабайтах) может там долго грузиться или не открыться совсем.
Далее используем операцию «Заменить», вводим наименования наших траншей и нажимаем «Заменить все»:
http://s52.radikal.ru/i137/1207/d2/bef0ae931750t.jpg
Сохраняем карту. (Всю эту операцию можно проводить, не закрывая редактор с картой)
Далее перезагружаем карту в редакторе(или открываем ее, если закрывали редактор) и видим, что наша траншея, которая была по-умолчанию, заменилась на ту, что мы ввели:
http://s53.radikal.ru/i141/1207/cd/b1fdb070f0eat.jpg
Рядом снова наносим траншею по-умолчанию(теперь будем менять ее на другую):
http://s54.radikal.ru/i143/1207/9e/a1beb8e2b53ft.jpg
Сохраняем карту и опять открываем ее Блокнотом или WordPad, но теперь для замены вводим там наименование другой траншеи:
http://i062.radikal.ru/1207/fa/6725d17c8a3ft.jpg
Сохраняем и открываем в редакторе. Теперь появилась вторая траншея:
http://s61.radikal.ru/i171/1207/26/19f674975375t.jpg
И далее снова повторяем эту операцию, а последней на карту наносим ту траншею, которая стоит по-умолчанию в редакторе, ее менять ни на что уже не надо.
И имеем следующий результат:
http://i070.radikal.ru/1207/92/af75f76caec9t.jpg
Ну а потом сохраняем карту в формат bzm и работаем с ней дальше.
Таким образом, для разнообразия на картах можно применять разные траншеи.

+8

7

4. Подрывы мостов и разных объектов. «Невидимая» мина-фугас.

Сначала немного о мостах: здесь не будет каких-то «открытий» или чего-то нового, затрону этот момент только потому, что используемые здесь методы будут применяться и далее, в том числе и с описываемыми здесь ресурсами мода.
Известно что в игре мосты не обладают эффектами(и соответственно звуками) при крушении, хотя в редакторе ресурсов и предусмотрен механизм придания им эффектов, но на практике он не работает.
Однако, можно путем различного рода манипуляций снабдить мосты эффектами и звуком хотя бы при сценарных разрушениях, на мой взгляд это все-таки лучше, чем когда мост просто стоял и бац(!) рухнул без всякого шума и пыли. 
Для начала вот такая сценка:
Ваш танк движется по направлению к мосту через реку:
http://s019.radikal.ru/i643/1207/b0/2a0b657c401bt.jpg
Действия противника:
http://s019.radikal.ru/i600/1207/ee/3d4a947d9175t.jpg
http://s15.radikal.ru/i189/1207/79/8a34fd457469t.jpg
http://s011.radikal.ru/i317/1207/b8/776c0ac5d973t.jpg
http://s41.radikal.ru/i094/1207/51/8886c6667099t.jpg
http://s41.radikal.ru/i092/1207/68/592fea424df9t.jpg
В данном примере я хотел показать, как деревянный мост не просто бесшумно превратился бы в разрушенный, а был взорван с применением эффектов от сторонних объектов.
Описание подготовки этой сценки:
Вообще чтобы сценарно взорвать мост(да и любой объект, юнит) необходимо присвоить объекту скриптовый номер.
В данном случае, чтобы мосту присвоить скриптовый номер, необходимо после установки его на карту, сохранить карту в формате xml, для того чтобы ее можно было открыть в текстовом редакторе. Затем открыть ее, пусть это будет редактор WordPad. И найти там строки с этим мостом, выглядеть они будут так(на примере строк для первой секции моста):
<item Direction="0" Player="0" ScriptID="-1" HP="1" FrameIndex="1"><Name>WoodenBig_Heavy_02</Name><Position x="2144" y="1822" z="0"/><Link LinkID="1" Intention="0" LinkWith="0"/></item>

Далее прописать скриптовый номер, пусть это будет 1001:
<item Direction="0" Player="0" ScriptID="1001" HP="1" FrameIndex="1"><Name>WoodenBig_Heavy_02</Name><Position x="2144" y="1822" z="0"/><Link LinkID="1" Intention="0" LinkWith="0"/></item>
Скриптовый номер прописываем каждой секции моста. Когда всем секциям номера прописаны, сохраняем карту и открываем ее в редакторе, после этого ее можно сохранить в формате bzm.
Затем наносим на карту необходимые скриптовые зоны, юнитов и объекты. Присваиваем им скриптовые номера и номера групп подкреплений. В данном случае минам, эффекты которых будут использованы для подрыва моста, присваиваем противоположную сторону, чтобы их не было видно. Ящикам тоже присваиваем противоположную сторону, чтобы при их появлении на экране не было надписи «Прибыло подкрепление».
http://s019.radikal.ru/i642/1207/de/17cf213c095bt.jpg
И пишем примерно такой сценарий:
function Init()
RunScript("Proverka1",5000);
end;

function Proverka1()
if(GetNScriptUnitsInArea(100,"M1")> 0) then
AskClient("SetCamera(2105,1230)");
LandReinforcement(10);
RunScript("Proverka2",2000);
RunScript("Proverka7",2000);
Suicide();
end;
end;

function Proverka2()
Cmd(0,200,GetScriptAreaParams("M2"));
ViewZone("Vid",1);
RunScript("Proverka3",2000);
Suicide();
end;

function Proverka3()
if(GetNScriptUnitsInArea(200,"M2")> 0) then
LandReinforcement(20);
RunScript("Proverka4",2000);
Suicide();
end;
end;

function Proverka4()
LandReinforcement(30);
Cmd(0,300,2280,3330);
RunScript("Proverka5",2000);
Suicide();
end;

function Proverka5()
if(GetNScriptUnitsInArea(100,"M3")> 0) then
DamageObject(200,0);
DamageObject(501,0);
RunScript("Proverka6",2000);
Suicide();
end;
end;

function Proverka6()
DamageObject(601,0);
DamageObject(1001,0);
Suicide();
end;

function Proverka7()
if(GetNUnitsInScriptGroup(200,2)==0) then
RunScript("Proverka6",2000);
KillScript("Proverka3");
KillScript("Proverka4");
KillScript("Proverka5");
Suicide();
end;
end;
В данном случае пехота прибывает на мосту в виде подкрепления, но это потому что у бензовоза нет функции высадки пехоты(хотя в редакторе ее посадить в него можно было, - обнаружился глючок), а если бы использовался другой грузовик, тогда можно было прямо в него посадить пехоту и высадить ее на мосту, сценарий в таком случае выглядел бы немного по-другому.

Следующая сценка:
http://s005.radikal.ru/i209/1207/54/91c30aae342ft.jpg
http://i052.radikal.ru/1207/c7/a5f41ca05d7ct.jpg
http://i015.radikal.ru/1207/48/3f4297f18864t.jpg
http://i003.radikal.ru/1207/63/4f07c8ab8699t.jpg
http://s017.radikal.ru/i408/1207/5d/447d55c0864ct.jpg
http://s019.radikal.ru/i629/1207/c2/c05985d76f89t.jpg
http://s019.radikal.ru/i603/1207/b1/c74ab93be23et.jpg
http://s019.radikal.ru/i633/1207/95/5dbe141b50e6t.jpg
В этом примере, также как и в предыдущем, заскриптованы секции моста и для создания эффекта взрыва и крушения используются мины, расставленные по периметру. Все мины прибывают в качестве «подкрепления», а взрыв их немного, на полсекунды, разделен для визуального улучшения эффекта.
Сценарий:
function Init()
RunScript("Proverka1",5000);
end;

function Proverka1()
DisplayTrace("Саперы, слушай мою команду!");
DisplayTrace("Ваша задача заминировать мост до подхода сил противника.");
RunScript("Proverka2",5000);
Suicide();
end;

function Proverka2()
Cmd(11,100,GetScriptAreaParams("M1"));
QCmd(0,100,GetScriptAreaParams("M3"));
RunScript("Proverka3",6000);
Suicide();
end;

function Proverka3()
if(GetNScriptUnitsInArea(100,"M3")> 0) then
DisplayTrace("Товарищ командир, задание выполнено!");
LandReinforcement(10);
RunScript("Proverka4",5000);
Suicide();
end;
end;

function Proverka4()
if(GetNScriptUnitsInArea(200,"M2")> 0) then
DisplayTrace("Противник подходит к берегу реки! Подрывайте мост!");
RunScript("Proverka5",3000);
RunScript("Proverka6",3500);
Suicide();
end;
end;

function Proverka5()
DamageObject(1501,0);
DamageObject(501,0);
Suicide();
end;

function Proverka6()
DamageObject(1001,0);
DamageObject(1502,0);
Suicide();
end;
В редакторе это выглядит следующим образом:
http://s005.radikal.ru/i212/1207/24/c64cc39ceb57t.jpg
Как видите здесь в сцене подрыва моста задействована еще одна мина – Mine_invisible. Немного о ней поподробнее. Как объект – это обычная мина, но с гораздо более мощным зарядом, своего рода это фугас. Она сделана «невидимой», то есть в игре у нее не будет текстур. Для того чтобы ее использовать для расстановки в редакторе, предварительно необходимо установить в папку Data пак файл с видимыми текстурами этой мины, затем его удалить. Все точно также как и в случае с описанными ранее «водными» мостами.
В принципе ее можно использовать и как мину, но этот вариант я не рекомендую, так как заряд у нее очень мощный, и хотя у нее и увеличен вес для наезда техники, но все же если на нее наедет даже тяжелый танк, то его ждут фатальные последствия. А это в свою очередь будет выглядеть не очень правдоподобно, так как от противотанковой мины танк врядли взлетел бы на воздух.
(сравнительное действие обычной противотанковой мины и этой мины-фугаса)
http://i081.radikal.ru/1207/13/a769983e96b5.jpghttp://s43.radikal.ru/i101/1207/0f/e88378f9797a.jpg

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

Или, например, с ее помощью можно создать сценарный «обстрел» позиции дальнобойной или морской артиллерией.
Пример:
http://s41.radikal.ru/i093/1207/82/6649fdf9b1dft.jpg
http://s47.radikal.ru/i118/1207/86/07c2b8acb421t.jpg
Подготовка сценки в редакторе:
http://s47.radikal.ru/i117/1207/15/ea4ee2ebfb49t.jpg
И например, такой сценарий:
function Init()
RunScript("Proverka1",5000 + RandomInt(3000));
RunScript("Proverka2",6000 + RandomInt(4000));
RunScript("Proverka3",7000 + RandomInt(5000));
RunScript("Proverka4",8000 + RandomInt(5000));
RunScript("Proverka5",8000 + RandomInt(6000));
RunScript("Proverka6",9000 + RandomInt(6000));
end;

function Proverka1()
LandReinforcement(10);
DamageObject(100,0);
Suicide();
end;

function Proverka2()
LandReinforcement(20);
DamageObject(200,0);
Suicide();
end;

function Proverka3()
LandReinforcement(30);
DamageObject(300,0);
Suicide();
end;

function Proverka4()
LandReinforcement(40);
DamageObject(400,0);
Suicide();
end;

function Proverka5()
LandReinforcement(50);
DamageObject(500,0);
Suicide();
end;

function Proverka6()
LandReinforcement(60);
DamageObject(600,0);
Suicide();
end;

Или, например, эту мину-фугас можно использовать для создания какой-нибудь сцены подрыва заминированного объекта. Например, заводик:
http://s006.radikal.ru/i213/1207/7d/1855f8db4878t.jpg
http://s43.radikal.ru/i102/1207/f7/d6e7d32dff63t.jpg
http://s018.radikal.ru/i507/1207/c5/67cfae99eb61t.jpg
http://s005.radikal.ru/i210/1207/ef/5f3820ef2e11t.jpg
http://s009.radikal.ru/i310/1207/f0/ee9bd8da5b6at.jpg
http://i066.radikal.ru/1207/7e/63f7f9bfe4b9t.jpg
Готовим сцену в редакторе, присваиваем скриптовые номера объектам, которые будут подрываться. Обратите внимание, под цистерны я специально подкладываю терраобъекты обгорелой земли, чтобы взрыв цистерн выглядел еще более правдоподобно, они появятся в виде отдельного «подкрепления» в момент взрыва цистерн(напоминаю, ставим им противоположную сторону, чтобы в момент появления на экране не было надписи «Прибыло подкрепление»):
http://s010.radikal.ru/i314/1207/b8/2a921c12b209t.jpg
И затем используем, например, такой сценарий:
function Init()
RunScript("Proverka1",5000);
end;

function Proverka1()
if (GetUnitState(100)==8) then
RunScript("Proverka2",5000);
Suicide();
end;
end;

function Proverka2()
DisplayTrace("Сэр! Капрал Оак тут нашел какую-то красную кнопку и слегка нажал на нее.");
DisplayTrace("Тик-тик-тик-тик...");
RunScript("Proverka3",5000);
Suicide();
end;

function Proverka3()
DisplayTrace("Тик-тик-тик...");
DisplayTrace("Хм-м, какие-то странные звуки?!");
DisplayTrace("Окей, я поеду в штаб, а вы офицер на всякий случай выведите людей из здания.");
LandReinforcement(20);
RunScript("Proverka4",5000);
Suicide();
end;

function Proverka4()
Cmd(0,101,1885,1305);
QCmd(4,101,102);
RunScript("Proverka5",6000);
Suicide();
end;

function Proverka5()
if (GetUnitState(100)==32) then
DamageObject(53,0);
LandReinforcement(60);
RunScript("Proverka6",4000);
Suicide();
end;
end;

function Proverka6()
DamageObject(51,0);
DamageObject(21,0);
RunScript("Proverka7",4000);
Suicide();
end;

function Proverka7()
DamageObject(52,0);
DamageObject(22,0);
Suicide();
end;

Итак, как видно из примеров, этот ресурс относительно универсален и может находить применение в различных сценариях.

+5

8

ilyaka
Определенно +.
Очень всё понятно и четко расписано.
А где можно раздобыть этот пак с видимыми минами?(текстурами) :dontknow:
Мне бы на карте это очень кстати.

0

9

Soldier110 написал(а):

А где можно раздобыть этот пак с видимыми минами?(текстурами)

В предрелизной бете будет.

+1

10

Добавлю к уроку №3. Надо обязательно включать ф-цию "заменить слово целиком" т.к. в хмеле есть строки типа </Entrenchments> и это никак заменять не надо. Если заменить происходит вылет в игре. ilyaka, ОБЯЗАТЕЛЬНО добавь это, на себе проверил эту проблему

Да нет, у меня всё нормально, меняются только слова-наименования, теговые строки не меняются, я ставлю галочки напротив "заменить слово целиком" и "с учётом регистра"(обрати внимание там на скрине показано).
А так да, если в теге это слово заменить, то конечно будет вылет, xml карты уже не будет читаться.

ilyaka

Отредактировано ИС 3 (2012-08-07 20:48:17)

0

11

ilyaka написал(а):

на картах можно применять разные траншеи

Ресурсы других траншей в GZM_Patch_7.50 и более ранних не нашел, а карту с измененными траншеями, естественно, выбивает. Не подскажешь, где на сегодня можно скачать ресурсы этих траншей, или патч, где они уже прописаны? На форуме через поиск "Entrenchment" и "окопы" нашел только одну дохлую ссылку.

Да в 7.50 их еще не было, в бета-патче 7.70 все есть. Ты обратись к Алексею, так как бета-версией он вроде всех картоделов обеспечил, особенно чьи карты в конкусе участвуют.

ilyaka

0

12

yersinia написал(а):

Ресурсы других траншей в GZM_Patch_7.50 и более ранних не нашел,

Можно найти "жёлтые окопы" в доп. паке для Севастополя.
Вопрос по мостам закрыт!
П.С. Ilyaka, очень нужный(последний) урок. :flag:

Отредактировано Soldier110 (2012-08-09 22:08:45)

0

13

И еще один ресурс, о котором следует упомянуть:

5. Уничтожаемые рельсы.

Если открыть в редакторе вкладку с мостами(Bridges), то там можно увидеть пару «мостов», выполненных в виде участка железной дороги:
http://s48.radikal.ru/i121/1208/cd/93844d9e0420t.jpg
Эти железнодорожные участки имеют свойства мостов, а соответственно их, как и мосты, можно уничтожать и ремонтировать. Также как и мосты, при нанесении на карту их можно растягивать, в зависимости от того какой длины вам необходим такой участок. Участки эти и предназначены для создания в миссиях сцен с подрывом рельсов. Для того чтобы их правильно использовать, потребуется определенная подготовка в редакторе карт.
Сценарии с их использованием могут быть самые разные, я приведу лишь пару самых простых примеров, чтобы было понятно как они могут действовать.

Итак, по железной дороге движется состав в сопровождении разведовательной дрезины. Дрезина заминированный участок дороги прошла беспрепятственно:
http://s11.radikal.ru/i183/1208/92/a8756be8dbbbt.jpg
При подходе состава к заминированному участку, рельсы подорваны:
http://s017.radikal.ru/i436/1208/e5/a13fffe9e855t.jpg
Дальше состав двигаться не может:
http://s017.radikal.ru/i430/1208/aa/a3a9bb5c1ec8t.jpg
Вызываются ремонтники для восстановления путей:
http://s019.radikal.ru/i620/1208/17/8bbec42ba4e0t.jpg
Пути отремонтированы:
http://s50.radikal.ru/i128/1208/65/42ec8f8e4476t.jpg
http://s010.radikal.ru/i314/1208/b5/9e5f5d05bf16t.jpg
Состав может двигаться дальше:
http://s003.radikal.ru/i202/1208/fc/d806bc6dfdc3t.jpg
Подготовка сцены:
Устанавливаем «мост»-участок и затем поверх прокладываем железную дорогу, то есть делаем все так, как если бы это был обычный железнодорожный мост:
http://s018.radikal.ru/i513/1208/bc/0613f484436ct.jpg
С той лишь разницей, что в месте подрыва рельсов делаем железную дорогу прозрачной:
http://s003.radikal.ru/i201/1208/46/1a17cd69da83t.jpg
Это делается для того, чтобы железная дорога после взрыва «моста»-участка не просвечивала в месте подрыва.
Затем подкладываем под место подрыва маленький кусочек воды. Чтобы воду не было видно, ее тоже делаем прозрачной(на миникарте этот маленький кусочек также не будет видно):
http://s55.radikal.ru/i150/1208/44/35d7456a6e07t.jpg
http://s013.radikal.ru/i324/1208/40/59fde6bd3e15t.jpg
Это делается для того, чтобы когда рельсы будут подорваны, поезд не мог двигаться через поврежденный участок. То есть если в случае с обычным мостом через реку, таким ограничителем движения по разрушенному мосту является сама река, то в данном случае таким ограничителем движения по разрушенным рельсам будет являться этот кусочек прозрачной воды.
Далее скриптуем «мост»-участок, устанавливаем необходимые скриптовые зоны и мины-«подкрепление», для создания визуального эффекта подрыва. Обо всем этом было подробно написано ранее.
http://s58.radikal.ru/i162/1208/05/b7309ebc0672t.jpg
И используем примерно такой сценарий(это для простого примера):
function Init()
RunScript("Proverka1",3000);
end;

function Proverka1()
if(GetNScriptUnitsInArea(100,"P1")> 0) then
LandReinforcement(10);
RunScript("Proverka2",2000);
Suicide();
end;
end;

function Proverka2()
DamageObject(10,0);
DamageObject(1000,0);
Suicide();
end;

Ну а в случае когда, например, нет необходимости в ремонте подорванных рельсов, а по сюжету задумано их подорвать вместе с составом(под паровозом или вагонами), делаем все примерно также, как написано выше, с той лишь разницей, что прозрачный участок воды под место подрыва подставлять не следует, иначе в момент подрыва паровоз или вагоны, находящиеся над этим водным участком, исчезнут, как бывает когда подрывается обычный мост через реку.
В этом случае будем иметь, например, с таким сценарием
function Init()
RunScript("Proverka1",4000);
ViewZone("Vid1",1);
end;

function Proverka1()
if(GetNScriptUnitsInArea(100,"P1")> 0) then
LandReinforcement(10);
RunScript("Proverka2",2000);
RunScript("Proverka3",3000);
RunScript("Proverka4",4000);
Suicide();
end;
end;

function Proverka2()
DamageObject(10,0);
DamageObject(1000,0);
Suicide();
end;

function Proverka3()
DamageObject(100,0);
DamageObject(101,0);
Suicide();
end;

function Proverka4()
DamageObject(102,0);
DamageObject(103,0);
Suicide();
end;

вот такую сцену:

http://s018.radikal.ru/i524/1208/f4/724f088fb166t.jpg
http://s43.radikal.ru/i100/1208/51/7b5329b7fdd6t.jpg
http://s019.radikal.ru/i613/1208/0c/629b8b0ea677t.jpg
http://s019.radikal.ru/i632/1208/2b/2719b6a5ff30t.jpg

+6

14

ilyaka написал(а):

1. Применение на картах флота. «Водные мосты» и «проходимая вода».


Ребят вышлите пак файл с водными мостами .

0

15

В помощь картоделу.
При расставлении войск на карте много времени занимает поиск нужного взвода среди всего их богатства в ГЗМ.
В редакторе фильтр для всех взводов одной стороны создать нельзя (получается винигрет).
Для себя я сделал фильтр, где есть отдельно немецкая и советская пехота.
В немецкую добавлен Русский охранный корпус и бандеровцы, а в советскую - животные, ящики пополнения и общие упряжки.
Кому интересно, вот ссылка
http://rusfolder.com/39708920

Советские называются soviet Squads, немецкие German Squads.
Кажется, в этом фильтре нет и двойных названий на один и тот же взвод.
Из архива вытянуть файл "filter.xml" и поместить его в папку по пути Data\Editor\filter.xml, заменив имеющийся.
ВНИМАНИЕ. Если ваш "filter.xml" изменен, предварительно его сохраните в другом месте, чтобы была возможность вернуть изменения.

+2


Вы здесь » Союз | Union » Картостроение и скриптовка » В помощь картоделу (Применение различных ресурсов GZM)