Практические сущности № 1: Очень простой hud_icon

Вы можете использовать его для создания маркеров значков HUD.

В отличие от custom_marker и map_icon, которые отображаются только на мини-карте, значок hud отображается в игровом мире.

Вы можете установить команду, в которой она находится, установив параметры team.

big_action_base_hud_icon_effect{
  _extends:t="replicating"
  transform:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [0.0, 0.0, 0.0]]
  object__useDist:r=1
  buildingRadius:r=1.0
  team:i=1

  _group{
    _tags:t="ui"
    hud_icon__image:t="waypoint_tutorial"
    hud_icon__maxDistance:r=10.0
    hud_icon__offsetY:r=0.1
    hud_icon__opacityRangeX:p2=0.5, 0.8
    hud_icon__opacityRangeY:p2=0.5, 0.8
  }

  effect{
    _tags:t="render"
  }

  _group{
    _tags:t="render"
    effect__name:t="hit_footstep_sand_cmps_fx"
  }
  
  "buildByPlayer:eid"{
  }
}
14 лайков

big_action_ussr_towed_at_zis_3_m_gunner_cockpit{
  _extends:t="ussr_towed_at_53k_gunner_cockpit"
  cockpit__offset:p3=0.17, 0.26, 0.3
}

big_action_turret_towed_at_76mm_zis_3_m{
  _extends:t="su_76m_turret_01_76mm_zis3"
  turret__limit:p4=-27.0, 27.0, -5.0, 26.0

  "gun__shellsAmmo:array"{
    ammo:i=9
    ammo:i=10
    ammo:i=3
    ammo:i=2
    ammo:i=1
  }
}

big_action_ussr_towed_at_zis_3_m_movable_common{
  _extends:t="us_towed_at_m1_movable_common"
  animchar__res:t="towed_at_6pdr_char"
  collres__res:t="towed_at_6pdr_collision"

  "turrets__initAmmoDistribution:array"{
    "ammo:object"{
      slot:i=0
      fill:b=yes
    }

    "ammo:object"{
      slot:i=1
      fill:b=yes
    }

    // 122mm_ussr_APDS
    "ammo:object"{
      slot:i=2
      count:i=3
    }

    // 76mm_ussr_APCR_1943
    "ammo:object"{
      slot:i=4
      count:i=3
    }
  }

  "animchar__objTexReplace:object"{
    "uk_camo_very_dark_drab*":t="ussr_camo_green*"
  }

  "attach_decorators__entities:list<eid>"{
  }

  "attach_decorators__templates:array"{
    "attach_decorators__templates:object"{
      relativeTm:m=[[1, 0, 0] [0, -4.37114e-08, -1] [-0, 1, -4.37114e-08] [-1.66, -1.69, 0.22]]
      template:t="base_vehicle_ghost_decor+big_action_vehicle_decorator_zis_3_gun_barrel_animchar"
      nodeName:t="emtr_gun_flame"
    }
  }

  "disableDMParts:list<t>"{
    item:t="gun_barrel"
  }

  "vehicle_seats__seats:shared:array"{

    "seats:object"{
      name:t="main_gunner"
      adjacentSeat:t="driver"
      locName:t="at_position/combat"
      attachNode:t="root"
      attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-1.2, -0.15, 0.4]]
      seatComponent:t="isGunner"
      ignoreAttachNodeRotation:b=yes
      cameraNodeName:t="bone_camera_gunner"
      cameraOffset:p3=-0.0, 0.0, 0.0
      directTurretControl:b=yes
      cockpitTemplate:t="big_action_ussr_towed_at_zis_3_m_gunner_cockpit"
      isHoldGunModeAllowed:b=no

      "lockSeats:list<t>"{
        locked:t="loader_marching"
      }

      "turretNames:array"{
        turret:t="turret_01"
      }
    }

    "seats:object"{
      name:t="driver"
      adjacentSeat:t="main_gunner"
      locName:t="at_position/march"
      seatOwnsEntityControl:b=yes
      attachNode:t="root"
      ignoreAttachNodeRotation:b=yes
      shouldHideOwner:b=no
      attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-1.02, 0.205, 0.8]]
      cameraOffset:p3=0.3, 0.0, 0.0
      cameraType:t="commander"
      seatComponent:t="isDriver"
      nextSeat:t="main_gunner"
      receiveDamageFromDMPart:t="driver"
      cameraNodeName:t="root"
      isHoldGunModeAllowed:b=no
      copySkeletonNodesPostfix:t="_gunner"

      "lockSeats:list<t>"{
        locked:t="loader"
      }

      "effectors:object"{
        l.hand:t="ik_hand_left001"
        r.hand:t="ik_hand_right001"
        l.forearm:t="ik_forearm_left001"
        r.forearm:t="ik_forearm_right001"
      }

      "copySkeletonNodesRecursive:array"{
        node:t="Bip01 L Hand"
        node:t="Bip01 R Hand"
      }
    }

    "seats:object"{
      name:t="loader"
      adjacentSeat:t="loader_marching"
      locName:t="at_position/combat"
      entranceNode:t="root"
      cameraOffset:p3=0.8, 0.5, 0.0
      attachNode:t="root"
      ignoreAttachNodeRotation:b=yes
      attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-1.2, -0.15, -0.2]]
      seatComponent:t="isPassenger"
      receiveDamageFromDMPart:t="loader"
      cameraNodeName:t="root"
      nextSeat:t="main_gunner"
      vehicleReloadMult:r=0.7
      isHoldGunModeAllowed:b=no

      "loaderTurretNames:array"{
        turret:t="turret_01"
      }
    }

    "seats:object"{
      name:t="loader_marching"
      adjacentSeat:t="loader"
      locName:t="at_position/march"
      entranceNode:t="root"
      cameraOffset:p3=0.8, 0.5, 0.0
      attachNode:t="root"
      ignoreAttachNodeRotation:b=yes
      attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-1.0, 0.0, -0.3]]
      seatComponent:t="isPassenger"
      receiveDamageFromDMPart:t="loader"
      cameraNodeName:t="root"
      nextSeat:t="main_gunner"
      vehicleReloadMult:r=0.7
      canPlaceManually:b=no
      isHoldGunModeAllowed:b=no
      copySkeletonNodesPostfix:t="_loader"

      "effectors:object"{
        l.hand:t="ik_hand_left"
        r.hand:t="ik_hand_right"
        l.forearm:t="ik_forearm_left"
        r.forearm:t="ik_forearm_right"
      }

      "copySkeletonNodesRecursive:array"{
        node:t="Bip01 L Hand"
        node:t="Bip01 R Hand"
      }
    }
  }

  "turret_control__turretInfo:shared:array"{

    "turretInfo:object"{
      turretName:t="turret_01"
      gun:t="big_action_turret_towed_at_76mm_zis_3_m+turret_with_several_types_of_shells+main_turret"
      barrelDm:t="gun_barrel"
      breechDm:t="cannon_breech"
      verDriveDm:t="drive_turret_v"
      salt:i=1
    }
  }
}

big_action_vehicle_decorator_zis_3_gun_barrel_animchar{
  _extends:t="animchar"
  transform:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [0.0, 0.0, 0.0]]
  animchar__res:t="su_76m_char"
  collres__res:t="grenade_f1_collision"

  "disableDMParts:list<t>"{
    item:t="@root"
    // item:t="bone_gun"
    item:t="bone_roll_turret_h"
    item:t="bone_roll_turret_v"
    item:t="ex_lantern_01"
    item:t="ex_lantern_02"
    item:t="antenna"
    item:t="ex_armor_01"
    item:t="ex_armor_02"
    item:t="ex_decor_01"
    item:t="ex_decor_02"
    item:t="ex_decor_03"
    item:t="ex_decor_04"
    item:t="ex_decor_05"
    item:t="ex_decor_06"
    item:t="ex_decor_07"
    item:t="ex_decor_08"
    item:t="ex_decor_09"
    item:t="ex_decor_10"
    item:t="ex_decor_11"
    item:t="ex_decor_12"
    item:t="ex_decor_13"
    item:t="ex_decor_14"
    item:t="ex_decor_15"
    item:t="ex_decor_16"
    item:t="ex_decor_17"
    item:t="ex_decor_18"
    item:t="ex_decor_19"
    item:t="hatch_01"
    item:t="suspension_l_01"
    item:t="suspension_r_01"
    item:t="suspension_l_02"
    item:t="suspension_r_02"
    item:t="suspension_l_03"
    item:t="suspension_r_03"
    item:t="suspension_l_04"
    item:t="suspension_r_04"
    item:t="suspension_l_05"
    item:t="suspension_r_05"
    item:t="suspension_l_06"
    item:t="suspension_r_06"
    item:t="wheel_r_01"
    item:t="wheel_r_02"
    item:t="wheel_r_03"
    item:t="wheel_r_04"
    item:t="wheel_r_05"
    item:t="wheel_r_06"
    item:t="wheel_l_01"
    item:t="wheel_l_02"
    item:t="wheel_l_03"
    item:t="wheel_l_04"
    item:t="wheel_l_05"
    item:t="wheel_l_06"
    item:t="wheel_l_top_01"
    item:t="wheel_l_top_02"
    item:t="wheel_l_top_03"
    item:t="wheel_r_top_01"
    item:t="wheel_r_top_02"
    item:t="wheel_r_top_03"
    item:t="wheel_r_drive"
    item:t="wheel_l_drive"
    item:t="wheel_r_back"
    item:t="wheel_l_back"
    item:t="track_l"
    item:t="track_r"
  }
}

Вам также может потребоваться использовать Vehicle_net_phys__blk, чтобы увеличить вес пистолета, чтобы избежать вибрации при стрельбе.

Я думаю, это, пожалуй, самое близкое к Зис-3, что мы можем сейчас подобрать.

5 лайков

зис-3 курильщика, но в целом класс

9 лайков

Томми, добавь этот ЗИС на Волоколамск обороняющимся :laughing:

1 лайк

Интересно выглядит. А так более крупнокалиберные орудия можно создать? Например Пак43 или БС-3?

1 лайк

Да, присоединяюсь.

Его можно построить. Когда легковой автомобиль будет развернут как грузовик, вы получите специальный строительный молоток. Он может построить противотанковую пушку калибра 76/75 мм.

Эту роль ЗИС выполняет вместе с Пак40.

Хотя в настоящее время мы не можем создать настоящую функцию вытягивания, вы можете рассказать этот сценарий с помощью специального саперного молота. Играйте за какой-то буксируемый отряд противотанковых орудий.

Только в таких условиях можно построить 76-мм/75-мм пушку.

А обычные инженеры могут построить противотанковые пушки типа Pak38 или 52k.


Эта артиллерия сделана из ствола СУ-76М и артустановки 6ПДР.

Теоретически таким способом можно запечатать и другие типы пушек.

Но думаю подходящего носителя для БС-3 нет

Pak43, вероятно, можно было бы сделать на базе установки 17-фунтовой пушки.

Я попробую.

2 лайка

О, так вы действительно добавите это. Будет интересно попробовать, ведь на карте есть много мест, где протитанковые пушки прекрасно себя показывают. Кстати, раз подвернулся момент, хотел бы задать вопрос. У нас есть ссылка на sandbox, где можно скачать url для мода. Она все время обновляется, и если сюда зайти и “скачать ulr”, то будет скачиваться именно новая версия, или есть отдельная страница с версиями?
Кстати, когда-то мы играли в одной игре за оборону, давно это было, но воевали с начала и до конца, хоть и проиграли тогда. GG WP

1 лайк

Я обновил его на той же странице.

image

Но так как никаких автоматических обновлений или напоминаний об обновлениях на данный момент не будет.

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

Например, если ваша текущая версия — 600 и вам нужно обновиться до новой версии, вам необходимо загрузить новую версию 703.

Я установил номер версии заголовка такой же, как в ссылке.

Например: https://sandbox.enlisted.net/post/lIXaTtfV9x0bZT61/manifest/703/

После обновления 704, 705… в настоящее время мы можем выполнить повторное связывание только вручную.

1 лайк

Полугусеничный тягач и гаубичное отделение sdkfz6.

В игровом режиме он будет выполнять роль вспомогательного транспортного средства для гаубичного расчета, как и тягач СТЗ5.

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

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

big_action_tractor_sd_kfz6_tent{
  _extends:t="rendinst_base"
  _extends:t="game_rendinst_decor"
  _extends:t="replicating"
  _extends:t="base_vehicle_ghost_decor"
  _extends:t="sound_effect"
  ri_extra__name:t="sd_kfz9_tent"
  ri_extra__hasCollision:b=no

  "ri_extra__overrideHitPoints:i"{
    value:i=999999
    _info:t="ri_hit_points"
  }

  _group{
    _tags:t="sound"
    sound_effect__path:t="env_effects/rally_point"
  }

  _group{
    _tags:t="sound"
    sound_control__range:r=60.0
  }

  _group{
    _tags:t="sound"
    sound_effect__autoRange:b=no
  }
}

big_action_tractor_sd_kfz6_hull{
  _extends:t="rendinst_base"
  _extends:t="game_rendinst_decor"
  _extends:t="replicating"
  _extends:t="base_vehicle_ghost_decor"
  ri_extra__name:t="sd_kfz9_hull"
  ri_extra__hasCollision:b=no

  "ri_extra__overrideHitPoints:i"{
    value:i=999999
    _info:t="ri_hit_points"
  }
}

big_action_tractor_sdkfz_6_common{
  _extends:t="base_civil_fire_ready_vehicle_tracked"
  _extends:t="tank_t34_engine_sound"
  _extends:t="tank_vehicle_gear_sound"
  _extends:t="tank_vehicle_collision_sound_setup"
  _extends:t="tank_vehicle_damage_sound_setup"
  _extends:t="tank_light_vehicle_tracks_sound"
  _extends:t="car_vehicle_horn_sound"
  _extends:t="vehicle_horn_note_E4"
  _extends:t="car_vehicle_inside_snapshot"
  _extends:t="simple_damage_model"
  _extends:t="kick_passengers_on_flip"
  _extends:t="vehicle_maintenance"
  vehicleType:t="truck"
  animchar__res:t="flak_36_sdkfz_6_2_char"
  collres__res:t="flak_36_sdkfz_6_2_collision"
  vehicle_net_phys__blk:t="gamedata/gen/units/tanks/flak_36_sdkfz_6_2.blk:VehiclePhys"
  damage_model__blk:t="gamedata/gen/units/tanks/flak_36_sdkfz_6_2.blk"
  particle_phys__blk:t="gamedata/suspension/empty.blk"
  dmg_animchar__res:t="flak_36_sdkfz_6_2_dmg_char"
  xray_resource__modelName:t="flak_36_sdkfz_6_2"
  hitpoints__maxHp:r=550.0
  hitpoints__hp:r=550.0
  camera__offset:p3=0.0, -1.0, -6.0

  "disableDMParts:list<t>"{
    item:t="bone_gun"
    item:t="bone_turret"
    item:t="bone_gun_barrel"
    item:t="gun_barrel"
    item:t="ex_armor_r_01"
    item:t="ex_armor_l_01"
    item:t="bone_roll_turret_v"
    item:t="bone_roll_turret_h"
    item:t="bone_mount_camera"
    item:t="ex_decor_l_07"
    item:t="ex_decor_r_07"
    item:t="ex_decor_04"
    item:t="ammo_body_01"
    item:t="ammo_body_02"
    item:t="ammo_body_03"
  }

  "attach_decorators__entities:list<eid>"{
  }

  "attach_decorators__templates:array"{
    "templates:object"{
      relativeTm:m=[[0.84, -0, 0] [0, 0.0, -0.84] [0, 0.84, 0.0] [0.08, 0.0, 0.0]]
      template:t="big_action_tractor_sd_kfz6_hull+moveable_obstacle"
      nodeName:t="root"
    }

    "templates:object"{
      relativeTm:m=[[0.84, -0, 0] [0, 0.0, -0.84] [0, 0.84, 0.0] [0.08, 0.069, 0.0]]
      template:t="big_action_tractor_sd_kfz6_tent+moveable_obstacle"
      nodeName:t="root"
    }
  }

  "defaultCameraTypes:shared:object"{
    driver:t="driver"
    passenger:t="passenger"
    passenger1:t="passenger"
    passenger2:t="passenger"
    passenger3:t="passenger"
    passenger4:t="passenger"
    passenger5:t="passenger"
    passenger6:t="passenger"
    passenger7:t="passenger"
    passenger8:t="passenger"
    passenger9:t="passenger"
    passenger10:t="passenger"
  }
}

big_action_tractor_sdkfz_6{
  _extends:t="big_action_tractor_sdkfz_6_common"

  "vehicle_seats__seats:shared:array"{

    "seats:object"{
      name:t="driver"
      locName:t="vehicle_seats/driver"
      seatOwnsEntityControl:b=yes
      attachNode:t="driver"
      ignoreAttachNodeRotation:b=yes
      attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.25, -0.5, 0.0]]
      seatComponent:t="isDriver"
      nextSeat:t="main_gunner"
      shouldHideOwner:b=no
      receiveDamageFromDMPart:t="driver"
      cameraNodeName:t="bone_camera_driver"
    }

    "seats:object"{
      name:t="passenger1"
      locName:t="vehicle_seats/commander"
      attachNode:t="driver"
      ignoreAttachNodeRotation:b=yes
      attachTm:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [-0.25, -0.5, -0.9]]
      seatComponent:t="isPassenger"
      nextSeat:t="driver"
      shouldHideOwner:b=no
      canPlaceManually:b=yes
      seatEnum:t="right_seat"
      isHoldGunModeAllowed:b=yes
      isInHatch:b=yes
    }

    "seats:object"{
      name:t="passenger2"
      locName:t="vehicle_seats/passenger1"
      attachNode:t="driver"
      ignoreAttachNodeRotation:b=yes
      attachTm:m=[[-1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, -1.0] [-1.7, -0.32, -0.8]]
      seatComponent:t="isPassenger"
      nextSeat:t="driver"
      shouldHideOwner:b=no
      canPlaceManually:b=no
      seatEnum:t="right_seat"
      isHoldGunModeAllowed:b=no
      isInHatch:b=no
    }

    "seats:object"{
      name:t="passenger3"
      locName:t="vehicle_seats/passenger2"
      attachNode:t="driver"
      ignoreAttachNodeRotation:b=yes
      attachTm:m=[[0.0, 0.0, 1.0] [0.0, 1.0, 0.0] [-1.0, 0.0, 0.0] [-2.7, -0.39, -0.8]]
      seatComponent:t="isPassenger"
      nextSeat:t="driver"
      shouldHideOwner:b=no
      canPlaceManually:b=no
      seatEnum:t="right_seat"
      isHoldGunModeAllowed:b=no
      isInHatch:b=no
    }

    "seats:object"{
      name:t="passenger4"
      locName:t="vehicle_seats/passenger3"
      attachNode:t="driver"
      ignoreAttachNodeRotation:b=yes
      attachTm:m=[[0.0, 0.0, 1.0] [0.0, 1.0, 0.0] [-1.0, 0.0, 0.0] [-3.3, -0.39, -0.8]]
      seatComponent:t="isPassenger"
      nextSeat:t="driver"
      shouldHideOwner:b=no
      canPlaceManually:b=no
      seatEnum:t="right_seat"
      isHoldGunModeAllowed:b=no
      isInHatch:b=no
    }

  }
}

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

1 лайк

Спасибо

1 лайк

tommyZZM вы гений! А вот разработчики игры не додумались до них! И можно задам вопрос? Если да, то как добавить БТР в свой мод с артиллерией как на видео? Мне интересно даже (я еще нубик в модах )

1 лайк

Создайте «entities.blk» в папке вашего мода и добавляйте и определяйте в нем новые объекты. Поскольку вы можете создавать новые предметы, комбинируя свойства с чем-либо, уже имеющимся в игре.

Простым примером может быть копирование кода сущностей, который я предоставил выше, и добавление его в ваш entities.blk. Затем вы можете найти эти объекты в списке объектов и добавить их на сцену.

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

1 лайк

Большое спасибо!

1 лайк