Arma 3 как открыть карту

Обновлено: 02.07.2024


Не проверял, вероятно где то может и ошибся.

Так же совсем забыл, экшен спавнит код или вызывает методом call, по этому добавлен спавн кода.

работает но карту добавляет в инвентарь

евгений373

доброго всем дня.Идея такова-стоит стол,подходишь к нему и появляется действие открыть карту.Как такое воплотатить в жизнь ? ну или хотя бы как триггером открыть карту и закрыть?

евгений373 , в поле Init стенда или карты вставь этот код:

евгений373

евгений373 , в поле Init стенда или карты вставь этот код:

спасибо но проблемма,дело в том что карты в инвентаре если нет то этим скриптом она неоткрывается

триггером пришлось добавлять а при выходе из него удалять карту)))ненравится мне такое решение))

ну так если в инвентаре перса нет карты, добавьте в код вызываемый экшеном проверку, если карты нет, то добавить карту в инвентарь. Так же, при необходимости можно построить алгоритм так, что если при вызове экшена у перса нет карты, то карта добавляется, а при закрытии карты карта удаляется, и если на момент вызова экшена у перса была карта, то после закрытия карта не удаляется.

Не проверял, вероятно где то может и ошибся.

Так же совсем забыл, экшен спавнит код или вызывает методом call, по этому добавлен спавн кода.

триггером пришлось добавлять а при выходе из него удалять карту)))ненравится мне такое решение))

Вас впереди ожидает много того что вам не очень понравится, это арма)

Ну по поводу нравится или нет.

Как пример решения давайте посмотрим на такое.

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

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

Но кому то он кажется мало приемлемым. Но приемлемость познаётся в сравнении.

Как вариант ещё одно, оригинальное решение. Кому то будет проще, и приемлемее, например взять а нарисовать карту, например Алтиса, в 4к разрешении, повесить эту текстуру на стенд, а потом сидеть и рисовать алгоритм которым игрок будет водить свою камеру по этой текстуре? Вряд ли прикольно, во всяком случае для того кто это будет писать).

По этому, решение добавить и после удалить карту, после приведённого примера выше, уже выглядит вполне себе применимо и привлекательно.

евгений373 , мой вариант:

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

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

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

Я бы настоятельно рекомендовал вам в ваших решениях, не обламываться), и всё таки, строить алгоритмы с расстановкой приоритетов, согласно, так скажем вероятностям.

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

Следующей вероятностью рассматривается что у перса, вероятно, карта может быть, но не прилинкована, проверяем. Если верно линкуем.

И последнее утверждение, перс бомж, надо поддержать такого).

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

Одним словом, сэкономил тут копейку, там десять, на выходе глядишь и сотка набежит).

SteelRat , всё это, конечно же, понятно. Просто я за не столько оптимальность, сколько за некий баланс оптимальности и наглядности, а мой вариант, как мне кажется, всё-таки более наглядный, даже если и медленнее.

Вот ещё пара вариантов:

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

Тут как говорится, всегда поиск золотой середины, но для данного конкретного решения, я всё таки бы развёл проверки по развилкам)

vlad333000

Так же совсем забыл, экшен спавнит код или вызывает методом call

Планировщик отвечает за код действий, так что spawn получается лишним

я всё таки бы развёл проверки по развилкам

Я бы вообще не проверял бы наличие карты не в специальном слоте - нету в спец слоте, добавили через linkItem и убрали через unlinkItem, карта внутри контейнеров ни как не затронута и все быстро и просто

Я бы вообще не проверял бы наличие карты не в специальном слоте - нету в спец слоте, добавили через linkItem и убрали через unlinkItem, карта внутри контейнеров ни как не затронута и все быстро и просто

евгений373

триггером пришлось добавлять а при выходе из него удалять карту)))ненравится мне такое решение))

Вас впереди ожидает много того что вам не очень понравится, это арма)

Ну по поводу нравится или нет.

Как пример решения давайте посмотрим на такое.

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

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

Но кому то он кажется мало приемлемым. Но приемлемость познаётся в сравнении.

Как вариант ещё одно, оригинальное решение. Кому то будет проще, и приемлемее, например взять а нарисовать карту, например Алтиса, в 4к разрешении, повесить эту текстуру на стенд, а потом сидеть и рисовать алгоритм которым игрок будет водить свою камеру по этой текстуре? Вряд ли прикольно, во всяком случае для того кто это будет писать).

По этому, решение добавить и после удалить карту, после приведённого примера выше, уже выглядит вполне себе применимо и привлекательно.

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

Гайд по созданию своего собственного острова или карты для ARMA 3. В этой части Вы узнаете как создать пустой ландшафт в Terrain Builder, не имея опыта в этой области. Данная часть урока больше подходит для начинающих картоделов.

  • Как создать свою карту для ARMA 3. Часть 1
  • Как создать свою карту для ARMA 3. Часть 3

Подготовка.

Для начала подготовка. Необходимо установить нужные программы и подготовить материалы для карты.

1) Инструменты ARMA 3 Tools.

Инструменты ARMA 3 Tools

2) Текстуры

Это наши материалы для карты, ее основа.

KartaWisot.bmp

Карта Высот. Впадины и возвышенности на нашей карте. Чем белее и ярче цвет, тем выше рельеф в данной области и наоборот чем темнее, тем ниже впадины.

KartaT.bmp


Текстура карты. То как карта будет отображаться в игре. Чем выше качество и размер текстуры, тем лучше выглядит в игре. Например для карты размером 5км х 5км необходима текстура размером 5120 px

KartaMaska.bmp

Маска карты, через layers.cfg по цветам можно назначить определенную текстуру, расставить мелкие объекты и наложить траву. В нашем случае под желтый цвет будет добавлена текстура песка.

mapLegend.jpg

Цветовая палитра для игрового движка.

3) Конфиги.

Для меня самая сложная и пока не понятная часть в создании карт. Мы же будем использовать стандартные и готовые шаблоны, более подробно об этом разделе вы узнаете в 3 части.

Создание карты в Terrain Builder.

Все материал для нашей карт готовы, осталось создать ее в программе Terrai Builder.

1) Запускаем Terrai Builder

tb

tb2

tb3

tb4jpg

tb5jpg
tb6

tb7

tb10

tt2

9) Все сохраняем. В левом разделе Terrai Builder в панели mapframes кликаем два раза по DefaulMapframe_1, появиться знакомое нам окно. Теперь нужно его заполнить.

Location

a1


Samplers

a2

Processing

a3

Коррекция. Запуск.

a5

a4

1) В верхней панели заходим Terrain\Edit Terrain. Мы активировали режим редактирования карты. Теперь выделите ВСЮ нашу карту.

В левой части появятся данные всей карты.

a6

Жмем ОК. Наш ландшафт приобретет более гладкий вид.

a7

3) Сохраняем наш проект. Теперь осталось экспортировать нашу готовую карту и запаковать ее в BIN

В верхней части переходим File\Export\WRP

Указываем путь P:\ADesert и даем имя ADesert

a8

4) В папке с игрой создаем папку @ADesert, в ней папку addons

Запускаем лаунчер ARMA 3 Tools, запускаем Addon Builder

1 as

5) В Addon Builder указываем адрес нашей карты и адрес нашего будущего мода.

Убираем все галочки и жмем Pack

2 as

6) Запускаем ARMA 3. Подключаем наш мод @ADesert и заходим в игру. Переходим в редактор и тестируем!

Третья часть урока по созданию собственной карты для ARMA 3. В этой части мы рассмотрим как создать карту реальной местности из Google Maps и какие программы для этого использовать.

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

Необходимые инструменты

Необходимо скачать несколько инструментов:

L3DT Pro нужная вещь для картадела, в нашем случае он нужен для карты высот. Что-бы скачать PRO версию перейдите по данной ссылке. На этой странице вы можете купить или получить пробную PRO версию L3DT на 90 дней (этого хватит). Для активации пробной версии жмем на register for a free 90-day trial.

L3DT Pro

Заполняем все поля и указываем действующий почтовый ящик, туда придут ключи активации и ссылка на скачивание. При первом запуску программы забейте все ключи которые вам дали.

Создаем реальную Карту Высот

Карта высот одна из самых главных проблем в этом деле. Если вы делаете реальную карту высот будьте готовы потратить кучу времени.

В нашем случае необходимо сначала сделать именно карту высот, в дальнейшем когда вы будете делать свою выбранную местность вы поймете почему. Для урока в Googl Maps мы выбрали остров Block Island (г. Нью Шорхэм) который находится в США. Почему именно США, а не родную Россию? К сожалению более четко Googl Maps отображает США и Европу.

Остров блок

Теперь необходимо скачать карту высот этого острова:

карта высот

Ниже уберите галочку с Generate hillshade images from DEMs и введите любой почтовый ящик. Далее жмем кнопку SUMBIT

карта высот

карта высот

Теперь мы можем скачать карту высот в формате tag.gz

В L3DT Pro заходим в File >> Import >> Heightfiled >> текстура формата tif

карта высот

Полученная карта высот очень маленькая, что бы увеличить его в L3DT Pro переходим: Operations >> Heightfiled >> Resize Heightfiled.

В появившемся окошке выставляем нужный вам размер по Width. В нашем случает выставляем Width: 8192 Height: 6168

Как создать карту по Google Maps для ARMA 3 | Часть 3

Размер выставлен, сохраняем карту высот в формате bmp. Для этого в L3DT Pro кликаем по текстуре Правой кнопкой мыши и выбираем Export. В окошке Exporta выбираем формат BMP и путь с названием.

Как создать карту по Google Maps для ARMA 3 | Часть 3

Наша карта высот почти готова, дальше необходимо будет подогнать ее к сатке. А мы же переходим к созданию SAT текстуры.

Создаем высококачественную SATку для острова

Для создания SATки высокого качества нам понадобится Google Earth Pro. Метод который будет описан в уроке позволит сделать текстуру высокого качества, вы же можете сделать качество еще выше или ниже.

Наша сатка будет размером 8192 x 8192, весом около 200мб. Google Earth Pro позволяет сделать снимок в качестве 4К размером 4800 х 2757. Следовательно нужно сделать 6 снимков и поделить остров на 6 частей. Потом эти 6 частей соберутся в одну тяжелую текстуру.

Запускаем программу Google Earth Pro и находим в ней наш остров. Делим остров на 6 условных частей: 2 по горизонтали и 3 по вертикали 2757

карта высот3

сатка

сатка

Проделываем тоже самое с остальными частями острова. В итоге должно получиться остров из 6 изображений. Например в Paint аккуратно скливаем наш остров. По итогу задаем размер текстуре 8192 x 8192 и сохраняем в формате BMP.

Вот таким нелегким путем наша сатка готова!

Создаем Маску для острова

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

Закидываем 2 раза в GIMP нашу готовую Сатку и mapLegend.jpg

Как создать карту по Google Maps для ARMA 3 | Часть 3

Маска

Как создать карту по Google Maps для ARMA 3 | Часть 3

Маска

Надеюсь суть Вы поняли. Итог экспортируйте в формат BMP.

Создаем карту в Terrain Builder

*Насчет карты высот. Вам необходимо например в том же GIMP подогнать карту высот под сатку. К сожалению описать данный процесс мы не можем, для этого вам придется немного подучиться работать на граф.редакторе.

Допустим что ваша САТКА, КАРТА ВЫСОТ и МАСКА готовы, давайте создадим по ним карту в Terrain Builder! Вы так же можете скачать наш пример [ Я.ДИСК ]

О том как создать карту в Terrain Builder описано в первом уроке. Тут будет описаны параметры для карты.

Параметры для текстур:

Как создать карту по Google Maps для ARMA 3 | Часть 3

Параметры для Mapframe:

Как создать карту по Google Maps для ARMA 3 | Часть 3

В заключении

В итоге у Вас получиться карта из реальной жизни, конечно у вас уйдет уйму времени на выравнивание карты высот, редактирование сатки и текстурирования под маску. Но это ни что по сравнению с расставлением объектов по карте =)

Гайд по созданию своего собственного острова или карты для ARMA 3. В этой части Вы узнаете как проложить дороги, как сделать лес и добавить объекты на карту. Так же рассмотрим более подробно маску, наложение текстур и пример добавления травы.

  • Как создать свою карту для ARMA 3. Часть 1
  • Как создать свою карту для ARMA 3. Часть 2
  • Как создать свою карту для ARMA 3. Часть 3

Согласуем сразу, подробно о создании текстур, маски и карты высот, будет написано в 3 части, а сейчас мы подготавливаем Вас к созданию своего творения. Для этой части мы будем использовать небольшую демо карту The Village. Она создана специально для урока и имеет множество недоработок.

Вот пример того что у Вас должно получиться:

3 Как создать свою карту для ARMA 3. Часть 2
4 Как создать свою карту для ARMA 3. Часть 2
5 Как создать свою карту для ARMA 3. Часть 2
7 Как создать свою карту для ARMA 3. Часть 2
2 Как создать свою карту для ARMA 3. Часть 2
6 Как создать свою карту для ARMA 3. Часть 2

Подготовка

2. Нам необходимо добавить стандартные файлы от ARMA 3. Для этого запустите лаунчер ARMA 3 Tools > Project Drive Managment > Extract Game Data > Run

  • Процесс долгий, ждем до конца.

1

3. Если у вас еще нет мода CUP Core то нужно скачать. Он будет нужен в дальнейшем, огромная база различных объектов для нашей карты.

Дороги методом Road Shape

О том как добавлять дороги подробно описано в armatools.info

Важно! Что бы работал данный метод — ваша карта обязательно должна находится в координатах: Easting — 200000.000, Northing 0.000

Как создать свою карту для ARMA 3. Часть 2

Итак, нам нужен инструмент «Add polyline«, но чтобы увидеть шейпы — должна быть нажата кнопка их отображения «View shapes»

Как создать свою карту для ARMA 3. Часть 2

Щелчком мыши ставим начальную точку — и рисуем точками дорогу. Двойной щелчек завершает действие.

4

Затем выделяем дороги, жмем ПКМ — Database properties

3

И заполняем таблицу. Жмем New — в поле Name пишем ID, Type — float

Затем снова New — ORDER — float, затем _ID — float, и _LAYER — text

Как создать свою карту для ARMA 3. Часть 2

  • ID — по этому номеру выбирается текстура дороги, которая указывается в RoadsLib.cfg
  • ORDER — приоритет наложения дороги. Т.е. если одна дорога пересекает другую и нужно чтобы определенная из них шла поверх другой — стоит поиграться со значениями. Чем выше число — тем выше приоритет дороги которая будет лежать поверх других.
  • _ID — порядковый номер каждого отрезка дороги, может быть любое число, главное чтобы не повторялось
  • _LAYER — указывает в каком слое находится роадшейп, хотя исходя из опыта билдеру совершенно пофиг на этот параметр.

После того как забили нужные параметры, жмем OK, выделяем все дороги и экспортируем в папку …/data/roads нашей карты (File-> Export-> Shapes-> Selection) под именем Roads

  • class Road0001 — равен первому айди (ID =1)
  • width = 10; — ширина дороги в метрах
  • map — тип отображения дороги на карте ( «main road», «City Road», «road», track, «path»)
  • AIpathOffset = 1; — положение ботов на дороге

Теперь, чтобы увидеть дороги в бульдозере, обязательно нужно создать файл editor.sqs и поместить в папку scripts в корне диска P\: В нем должны быть следующие строки:

Объекты. Садим лес

Пришло время для добавления объектов. Начнем с деревьев. Для начало нужны сами деревья, мы будем использовать стандартные от БИСов.

5

Указываем путь к нашим деревьям: P:\a3\plants_f\tree\

6

Теперь Вы можете из списка выбрать объекты и ставить их на карту. Для этого используйте кнопку AddObject. Просто выставляйте нужные объекты на карте, а потом в Бульдозере подгоняйте.

7

Конечно ручным способом посадить лес займет кучу времени. Для таких целей в редакторе есть нужный инструмент: add Polygon

Нарисуйте с его помощью нужную площадь вашего леса, завершение двойным ЛКМ. Далее выделяем эту площадь и ПКМ вызываем меню, там жмем на Fill

9

В Fill area можно засеять объектами из имеющихся библиотек выбранную площадь. Мы с вами создали библиотеки деревьев и кустов.

10

Теперь можно снова выделить нашу площадь и удалить его. На его месте появился наш лес.

11

*Рекомендую садить лес в последнюю очередь или использовать слои объектов что бы скрыть его.

Объекты из других модов.

  • cup_terrains_ca_structures
  • cup_terrains_ca_data
  • cup_terrains_ca_buildings
  • cup_terrains_ca_buildings2

12

2) Теперь необходимо узнать точное место где должны находиться наши аддоны, что бы подгрузились все наши текстуры. Для этого откройте с помощью Notepad любой файл формата p3d

  • Например из cup_terrains_ca_structures в папке A_BuildingWIP файл A_BuildingWIP.pd3
  • В Notepad заходим в поиск и вбиваем имя файла A_BuildingWIP. Теперь мы видим нужное нам положение файла: \ca\structures\

13

  1. structures
  2. data
  3. buildings
  4. buildings2

В них по названию залейте всё из разбинаренных addons.

4) В Terrain Buillder создайте библиотеки с нужными для вас объектами. Здания находятся -\ca\structures\House.

Теперь Вы смело можете ставить здания из CUP на свою карту! Для запуска вашей карты в игре будет требоваться мод CUP Core.

14

Примеры по текстурам и траве

Немного пояснений по Маске:

Мы имеем 5 цветов, у каждого цвета есть свой код, например:

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

2

На нашей маске используется 5 текстур из папки Data :

*Этот пример рабочий но названия стандартные и перепутанные, рекомендую использовать свои названия что-бы не путаться.

Трава

Под любую текстуру можно добавить растительность (траву, камни и т.д). Для примера трава наложена под желтый и зеленые цвета. Для этого используются 2 файла: cfgClutter.hpp и cfgSurfaces.hpp

В cfgClutter.hpp прописывается сама растительность, путь к модели. У нас он заполнен и используются стандартные модели ARMA 3.

В cfgSurfaces.hpp прописывается классы текстур, звуки и модели из cfgClutter.hpp которые будут использоваться в качестве растительности.

*Используйте эти рабочие конфиги для своей карты. Они находятся в корне папки nether

Читайте также: