Чудо-инженер в редакторе

Итак, я конечно понимаю, что это как-то звучит странно, но мне тупо стало интересно… Можно ли каким-то образом в редакторе (или там в каком-то файле где можно создавать пользовательские вещи) создать чудо инженерной мысли (молоточек или другую штуку), с помощью которой можно будет возводить все типы построек? То есть, инженер\штурмовик\пулемётчик сможет возвести максим, ампуломет, пушку и остальные постройки? Спросите, о чем я думал, когда создавал эту тему? Отвечу: [ЦЕНЗУРА] его знает. Не удивлюсь, если это что-то из ряда вон, и сделать это не получится

2 лайка

Можно!
Пример постройки мотоцикла молотком by tommyZZM

big_action_builded_vehicle_wbm_r75{
  _extends:t="wbm_r75"
  // _extends:t="fortification_ai_target"
  _extends:t="destroy_inactive_vehicle"
  inactiveDeleteTimer:r=120.0
  inactiveTimer:r=0.0
  destroyTimerCheckDistance:r=20.0
  building_menu__text:t="items/wbm_r75"

  "animchar__objTexReplace:object"{
    "ger_camo_dunkelgelb_africa*":t="ger_camo_grey*"
  }
}

big_action_builded_vehicle_wbm_r75_preview{
  _extends:t="base_animchar_builder_preview"
  _extends:t="fortification_builder_info"
  // additionalBuildingTemplate:t="big_action_vehicle_builded_no_shred"
  animchar__res:t="bmw_r75_char"
  collres__res:t="bmw_r75_collision"
  instantiateTemplate:t="big_action_builded_vehicle_wbm_r75"
  avaliableAngles:p2=-16.9, 16.9
  previewCollobjOffset:r=0.0
  buildingSoundTag:t="cannon"
  building_menu__text:t="items/wbm_r75"
  building_menu__image:t="map_icon_bike"
  buildingCost:r=5.0
  buildingDistance:r=3.6
  additionalHeight:r=0.16
  building_builder__minDistanceToCapturePoints:r=-1.0
  requiredSpaceAboveObject:r=8.0
  building__requireUnlockId:i=-1
}

big_action_builded_vehicle_wbm_r75_preview_unlock_5{
  _extends:t="big_action_builded_vehicle_wbm_r75_preview"
  building__requireUnlockId:i=5
}

ger_building_tool_gun{
  _override:b=yes

  "previewTemplate:list<t>"{
    template:t="big_action_builded_vehicle_wbm_r75_preview"
  }

  // "buildingLimits:list<i>"{...}
}
1 лайк

А есть версия типа с классическими постройками? Типа берешь штурма, подбираешь молоточек и все! Строй максимки, дшк пушки и т.д.?

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

Ааа, то есть это только в редакторе можно построить так мотик?

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

Нет, мотоцикл построить можно, разрабы в ДЭЛ 49 сделали поддержку entities.blk

1 лайк

Тут только через отряды в custom profile

Поясните, мистер

Создаётся файл, через который редактируются выдаваемые отряды. Там хоть 250 солдат сделать можно в одном отряде. Далее создаётся в редакторе custom_profile и по желанию custom_bot_profile .
Т.е можно через один файл выдать желаемые отряды работающие в моде, в случае если ваш custom profile будет неисправен, то вы увидите в игре Соединение отклонено, а в локальной игре (выставив в пользовательской комнате игроков 1 ) вы увидите вверху надпись
Corrupted or bad armies.
Ниже дан пример профиля с десантом советским и отдельным профилям для ботов (иногда боты любят брать технику, и на самолёте разбиваются, а на танке тупо стоят)
para_schemes нужен для кастом ящика.
Usadba Profile.rar (20,7 КБ)

Ничего не понял, но буду разбираться

2 лайка

Если хотите протестировать, киньте распакованные файлы в вашу папку с модом, сделайте мод в vromfs.bin (по желанию можете сделать навмеш, чтобы боты не застревали в стене или в каряге)
создайте сущности custom_profile и custom_bot_profile и укажите в них путь к файлу профиля
%ugm/МОЙФАЙЛ.json и для custom bot profil’я : `%ugm/ДЛЯБОТОВ.json
Создайте entities.blk и скопируйте туды Koд:

//Paratrooper box code.//////////////////////////////////////////////////////////////////////////////
paratroopers_supply_schemes{
  _override:b=yes
  paratroopers__supplySchemesJson:t="%ugm/para_schemes.json"
}

сделайте мод в vromfs.bin (по желанию можете сделать навмеш, чтобы боты не застревали в стене или в каряге)

How to make NavMesh And Vromfs
выложите на sandbox нажав Save Draft.
В редакторе самом игра будет писать Corrupted or bad armies . Так что тестируй в самой игре создав пользовательский матч после махинаций выше

Да. Можно.


Для этого надо всего лишь прописать постройки внутри previewTemplate и buildingLimits.

Можно поменять список только через scene или через entities. Однако расширить список возможно только редактируя файлы, так как внутри не совсем array тип данных, а его другая версия, которые принимает только текстовые или числовые значения. То есть пишем item<t> или item<i> вместо array. Если планируешь поменять лимит, то советуется уже это делать в entities.blk, так как лимиты зависят от первого полученного инженерного молотка.

Можно, а так же сделать подбираемым. Инженерные молотки (building_tool) находится вкладке all. Для того чтобы сделать подбираемым надо добавить постфикс +item_in_world, а затем создать item версию.

2 лайка

Код, меняющий инженерный молоток из лунного события:

ussr_moon_building_tool_gun{
  _override:b=yes


  "buildingLimits:list<i>"{
    item:i=100
    item:i=300
    item:i=600
    item:i=100
    item:i=100
    item:i=200
    item:i=100
    item:i=100
    item:i=100
    item:i=100
    item:i=100
    item:i=100
  }

  "previewTemplate:list<t>"{
    item:t="ri_entity__normandy_bunker_a102_walls_preview"
    item:t="ammunition_box_a_preview"
    item:t="czech_hedgehog_a_preview"
    item:t="sandbags_wall_1_preview"
    item:t="sandbags_wall_3_preview"
    item:t="cannon_germ_20mm_flak38_preview"
    item:t="cannon_germ_towed_at_pak38_no_camo_preview"
    item:t="sandbags_wall_mg_34_preview"
    item:t="sandbags_wall_mg_131_preview"
    item:t="sandbags_wall_ampulomet_preview"
    item:t="czech_hedgehog_a_preview"
    item:t="gaz_67_preview"
  }
}

Код новых построек:

ri_entity__normandy_bunker_a102_walls_preview{
  _extends:t="base_rendinst_builder_preview"
  instantiateTemplate:t="ri_entity__normandy_bunker_a102_walls"
  ri_preview__name:t="normandy_bunker_a102_walls"
  buildingSoundTag:t="fortification"
  building_builder__maxTimeToBuild:r=10.0
  building_menu__text:t="Bunker"
  building_menu__image:t="bunker"
}

ri_entity__normandy_bunker_a102_walls{
  _extends:t="game_rendinst_decor"
  ri_extra__name:t="normandy_bunker_a102_walls"
}

gaz_67_preview{
  _extends:t="base_animchar_builder_preview"
  animchar__res:t="pv_gaz_67_char"
  collres__res:t="pv_gaz_67_collision"
  instantiateTemplate:t="gaz_67"
  buildingSoundTag:t="fortification"
  building_builder__maxTimeToBuild:r=5.0
  building_menu__text:t="gaz_67"
  building_menu__image:t="map_icon_car"
  buildingDistance:r=12.5
  additionalHeight:r=1.0
  avaliableAngles:p2=-30.0, 30.0
}

Если хотим добавить в список построек какой-то rendinst, но его нету в списке Create Entity, то увы нам придется добавить его. В коде добавлен объект с названием ri_entity__normandy_bunker_a102_walls. Внутри свойства ri_extra__name пишем название объекта.

Именно свойство instantiateTemplate создает объект на карте.

2 лайка

В планах открыть все постройки всем отрядам, а не только определенным? Если что за блокировку постройки отряду отвечает свойство building__requireUnlockId. Надо всего лишь поставить -1 у привьюшки. Пример кода:

cannon_germ_20mm_flak38_preview{
  _override:b=yes
  building__requireUnlockId:i=-1
}


Определенные постройки включается в профиле/наборе отрядов, пример которого тебе KpyTou_2022 скинул.

2 лайка

Спасибо.

2 лайка

C советским десантом)

1 лайк

В этой теме есть гайд как это делается: Существуют ли гайды по созданию кастомных отрядов?

Единственное, что добавлю… Для превращения отряда в десантников надо добавить эти строчки в коде отряда: "isParatroopers": true, и "paratrooperBoxUnlocks": [],.
Как это сделано с "engineerUnlocks" : [],.

3 лайка

Это типа вставлять в entities.blk&

1 лайк

Если да, то как его создать?

1 лайк