Обозначения на карте ( keypoint )

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

Обозначения как правило делаются через саму модель объекта, а вот названия присваиваются в самом Terrain Builder’е, и записываются при экспорте карты в map_name.hpp, при чем делается это через файл локализации stringtable.xml, но об этом ниже…

И так, для начала нужно включить отображение этих самых кейпоинтов View-> view keypoints или нажать на такую кнопку на панели инструментов 

Далее нажимаем кнопку «Добавить кейпоинт»  и ставим в нужном месте на карте.

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

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

Name — имя кейпоинта, которое запишется в будущем в .hpp файл (обратите внимание, что пробелов быть не должно!)

Type — тут задается тип обозначения (значки, текст, или шэйп\полигон — по типу деревьев)

Остальные параметры не вижу смысла расписывать, кроме поля text — Отображаемое название кейпоинта. Раз делаем как положено, то и название населенных пунктов будем задавать не здесь, а в stringtable.xml, а в этом поле напишем только код типа $STR_name_location (не пишите на латиннице — билдер сглючит)

И так, мы задали код названия локации, дали название самому кейпоинту, разместили где нужно, теперь при экспорте карты в .wrp появится файл с раширением .hpp — в котором будут указываться параметры всех кэйпоинтов на карте. Открывается текстовиком.

Теперь создаем файл локализации stringtable.xml, и пишем коды названий в соответствующие поля.

Как создается файл локализации расписано здесь

Либо можете скопировать мой для карты:

После упаковки карты можем лицезреть название населенного пункта на карте:


 

Наглядный вид стандартных типов обозначений:

 

 


Так же мы можем добавить и свое обозначение. Для этого создаем CfgLocationTypes.hpp, кладем рядом с конфигом, и подключаем в конфиге между классами «CfgPatches» и «CfgWorlds»:

В сам CfgLocationTypes.hpp копируем это:

Осталось в map_name.hpp переименовать класс в созданный вами «My_map_icon1» и все!