Как сделать lefh 18/40 и м30 122?

Мне нужно сделать их, но незнаю как(

2 лайка

Во первых @tommyZZM , во вторых Не новости разработчиков, № 1, а что-то новое, сделанное игроком бесплатно

3 лайка

Успешно не найдено!)

1 лайк

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

2 лайка

Немного старая версия. В ней не было тех гаубиц.

Там есть ссылка на соурс код entities.blk:
entities_src.zip (24,6 КБ)
В файле entities_engineer_tunisia_artillery.blk содержится информация про орудие. Кусок кода для инженера находится в entities_engineer.blk и еще полезная информация в entities_1_vehicle_base.blk. В общем пока могу сказать точно что и как. Следи на названиями entities в файлах. Если что _entends:t=… расширяет/берет информацию из другого entity.

Тем не менее там старый код. Не те гаубицы, которые нужны тебе + что-то может не работать. Так что ждем Томми. Если же не появится, то завтра поищу более новую тему. Ну или сам попробую сделать, но тут только после того как проверю что не так с твоим пользовательским профилем.

2 лайка

Самая критическая часть

base_vehicle_ghost_decor{
  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]]
  decor__id:i=-1
  decor__swapYZ:b=no
  outline__enabled:b=no
  outline__always_visible:b=yes
  outline__color:c=255, 0, 0, 255
  item__iconPitch:r=45.0
  item__iconYaw:r=45.0
  item__iconRoll:r=45.0
  item__iconScale:r=0.9
  item__iconOffset:p2=0.0, 0.2
  isExploded:b=no
  _tracked:t="isExploded"

  "node_attached__updateWtm:tag"{
  }

  "decor__canAttach:b"{
    value:b=no
    _tags:t="gameClient"
  }

  _group{
    decor__rootNodeId:i=-1
    decor__turretNodeId:i=-1
    _tags:t="gameClient"
  }

  "scorchable:tag"{
    _tags:t="render"
  }
}

big_action_movable_cannon_seat_misc_marching{
  _extends:t="base_vehicle_seat"
  seat_anim__upper:t="enlisted_idle_20_weapon"
  // seat_anim__lower:t="presentation_idle_beast"
  seat_anim__lowerMove:t="lower_walk"
  seat_anim__lowerIdle:t="lower_stand"
  seat_anim_movable__minVelocity:r=0.3
  _tracked:t="seat_anim__lower"
  seat_anim__maxStandHeight:r=0.0
}

bullet_projectile_marker_team2{
  _extends:t="bullet_projectile"
  _extends:t="flame_firebomb_projectile"
  // _extends:t="shell_fly_sound"
  flame_projectile__onHitCreate:t="big_action_shell_expl_map_icon_effect_team2"
  projectile__minLifeTime:r=0.02
  projectile__maxLifeTime:r=50
}

big_action_turret_0_howitzer_lefh_18_40_105mm{
  _extends:t="tankgun"
  _extends:t="base_tankgun_cannon"
  _extends:t="gunsound_105mm_stuh42"
  gun__blk:t="%ugm/data/weapons/engineer/howitzer_lefh_18_40_105mm/_howitzer_lefh_18_40_105mm_gun.blk"
  gun__rotInertia:p3=0.1, 0.1, 0.1
  gun_anim_var__reyeOffsetFwd0:r=-10.0
  gun_anim_var__gunOffsetAlong:r=10.0
  gun_anim_var__gunOffsetAcross:r=10.0
  gun_anim_var__gunOffsetUp:r=10.0
  turret__triggerGroup:i=0
  item__name:t="105mm leFH 18/40 howitzer"
  gun__shotFreq:r=0.13
  gun__locName:t="105mm leFH 18/40 howitzer"
  gun__shootNodeName:t="bone_gun_barrel"
  gun_spread__maxDeltaAngle:r=0.9
  gun_spread__maxDeltaAngleVertical:r=0.5
  gun_deviation__maxDeviation:r=12.066
  gun_deviation__omegaDevInc:p2=0.2, 0.78
  gun_deviation__increaseMul:r=3.2
  gun_deviation__decreaseMul:r=-0.2
  gun__maxAmmo:i=100
  turret__yawSpeed:r=6.0
  turret__pitchSpeed:r=2.0
  turret__aimNodeName:t="bone_turret"
  turret__limit:p4=-26.0, 26.0, 0, 39.0
  // gun__reloadTime:r=2.7
  gun__projectileTemplate:t="bullet_projectile_marker_team2"
  gun__projectileDebugTemplate:t="bullet_projectile_marker_team2+bullet_projectile_debug"
  turret__stabilizerPitchFrictionMult:r=0.8
  turret__stabilizerPitchSpeedLimitKph:r=30.0

  "gun__ammoSetsInfo:shared:array"{

    "105mm_germany_HE:array"{
      "shell:object"{
        blk:t="%ugm/data/weapons/engineer/howitzer_lefh_18_40_105mm/howitzer_germ_lefh_18_40_105mm_he.blk"
        name:t="105mm_fhgr"
        type:t="he_frag_tank"
      }
    }

    "105mm_germany_SMOKE:array"{
      "shell:object"{
        blk:t="%ugm/data/weapons/engineer/howitzer_lefh_18_40_105mm/howitzer_germ_lefh_18_40_105mm_smoke.blk"
        name:t="105mm_f_h_gr_nb"
        type:t="smoke_tank"
      }
    }
  }

  "gun__shellsAmmo:array"{
    ammo:i=20
    ammo:i=6
  }
}

big_action_howitzer_lefh_18_40_105mm_command_cockpit{
  _extends:t="germ_towed_at_pak40_gunner_cockpit"
  vehicle_sight__blk:t="%ugm/data/sight/howitzer_indirect_ami_sight_lefh_18_40_105mm.blk"
  animchar__res:t="ba_11_gunner_char"
  animchar_render__enabled:b=yes
  // cockpit__angles:p3=90.0, 0.0, 0.0
  cockpit__offset:p3=-3.8, 0.47, -0.5
  // cockpit__scale:p3=0.01, 0.01, 0.01

  "cockpit__visibleVehicleNodeNames:list<t>"{
    node:t="bone_gun"
    node:t="bone_gun_barrel"
    node:t="bone_turret"
    node:t="@root"
  }

  "cockpit__attachNodeNames:list<t>"{
    // node:t="bone_gun_barrel"
  }

  "cockpit__slitForwardOffset:list<r>"{
    slit:r=0.28
  }

  "cockpit__slitZoom:array"{

    "slit:list<r>"{
      zoom:r=1.0
    }
  }

  "cockpit__slitAngles:list<r>"{
    slit:r=1.0
  }
}

big_action_rendinst_germany_105mm_cannon_lefh_18_40_decor{
  _extends:t="game_rendinst_decor"
  _extends:t="base_vehicle_ghost_decor"
  ri_extra__name:t="germany_105mm_cannon_lefh_18_40"
  ri_extra__hasCollision:b=no

  "ri_extra__overrideHitPoints:i"{
    value:i=-2
    _info:t="ri_hit_points"
  }
}

big_action_howitzer_105mm_lefh_18_40{
  _extends:t="builded_germ_towed_at_pak40"
  _extends:t="big_action_base_map_icon_effect"
  _extends:t="big_action_base_hud_icon_effect"
  vehicle_seats_camera_nodes__defaultNode:t="bone_camera_gunner"
  vehicle_seats__enterTime:r=1.0
  vehicle_seats__exitTime:r=1.0
  vehicle_net_phys__blk:t="%ugm/data/units/building/towed_howitzer_base_on_pak40.blk:VehiclePhys"
  damage_model__blk:t="%ugm/data/units/building/towed_howitzer_base_on_pak40.blk"
  item__name:t="capzone/artillery_emplacement"
  reportKill:b=yes
  _replicated:t="reportKill"
  _replicated:t="killer"
  building_destroy__maxTimeToDestroy:r=36.0
  repairable__baseRepairTotalTime:r=10.0
  maxCostReturnedOnDestructionMul:r=0.7
  costReturnedOnDestructionMul:r=0.7
  fortification_repair__costPercent:r=0.76
  hud_icon__image:t="map_icon_cannon_at"
  building_menu__image:t="map_icon_cannon_at"
  building_menu__text:t="Howitzer 105mm leFH 18/40"
  vehicle_seats__autoDetectRestrictToTeam:b=no

  "killer:eid"{
  }

  "attach_decorators__entities:list<eid>"{
  }

  "attach_decorators__templates:array"{
    "attach_decorators__templates:object"{
      relativeTm:m=[[0.965926, -0.258819, -1.15463e-14] [-1.13134e-08, -4.2222e-08, -1] [0.258819, 0.965926, -4.37114e-08] [-2.9, -1.2, -0.0]]
      template:t="big_action_rendinst_germany_105mm_cannon_lefh_18_40_decor"
      nodeName:t="emtr_gun_flame"
    }
  }

  "disableDMParts:list<t>"{
    part:t="gunner"
    part:t="loader"
    node:t="bone_turret"
    node:t="bone_gun_barrel"
    node:t="wheel_r_01"
    node:t="wheel_l_01"
  }

  _group{
    _tags:t="render"
    animchar_camera_target__node_name:t="bone_camera_gunner"
    animchar_camera_target__node_offset:p3=0.0, 0.5, 0.0
    animchar_camera_target__nodeIndex:i=-1
  }

  "vehicle_seats__seatTemplates:shared:object"{
    default:t="movable_cannon_seat_default_sit"
    driver:t="movable_cannon_seat_driver"
    main_gunner:t="movable_cannon_seat_gunner"
    loader:t="movable_cannon_seat_loader"
    loader_marching:t="movable_cannon_seat_marching"
    passenger:t="big_action_movable_cannon_seat_misc_marching"
  }

  _group{
    _tags:t="server"

    "dependent_templates:ecs::TemplatesListToInstantiate"{
    }

    "dependent_templates_list_shared:shared:list<t>"{
      template_name:t="movable_cannon_seat_default_sit"
      template_name:t="movable_cannon_seat_driver"
      template_name:t="movable_cannon_seat_gunner"
      template_name:t="movable_cannon_seat_loader"
      template_name:t="movable_cannon_seat_marching"
      template_name:t="big_action_movable_cannon_seat_misc_marching"
    }
  }

  "vehicle_seats__seatsProvideOrder:tag"{
  }

  "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.5, 0.0, 0.39]]
      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_howitzer_lefh_18_40_105mm_command_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.3, 0.13, 0.7]]
      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"

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

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

    "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.3, -0.15, -0.3]]
      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.3, 0.0, -0.4]]
      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"
    }

    "seats:object"{
      name:t="passenger"
      locName:t="at_position/march"
      seatOwnsEntityControl:b=no
      attachNode:t="root"
      ignoreAttachNodeRotation:b=yes
      shouldHideOwner:b=no
      attachTm:m=[[0.866025, 0, 0.5] [0, 1, -0] [-0.5, 0, 0.866026] [-3.1, -0.2, -0.6]]
      cameraOffset:p3=0.3, 0.0, 0.0
      seatComponent:t="isPassenger"
      vehicleReloadMult:r=0.6

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

    "seats:object"{
      name:t="passenger"
      locName:t="at_position/march"
      seatOwnsEntityControl:b=no
      attachNode:t="root"
      ignoreAttachNodeRotation:b=yes
      shouldHideOwner:b=no
      attachTm:m=[[0.866025, 0, -0.5] [0, 1, 0] [0.5, -0, 0.866026] [-3.2, -0.2, 0.7]]
      cameraOffset:p3=0.3, 0.0, 0.0
      seatComponent:t="isPassenger"
      vehicleReloadMult:r=0.6

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

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

  "turret_gun_flash_fx__flashNodes:shared:array"{
    node:t="emtr_gun_flame"
  }

  "turret_gun_flash_fx__flashFx:shared:array"{
    fx:t="muzzle_ground_125mm_brake_with_side_effects"
  }

  "turret_gun_flash_fx__flashFxScale:shared:array"{
    scale:r=1.0
  }

  "turret_control__emitterNodes:shared:array"{
    node:t="bone_gun_barrel"
  }

  "turret_control__turretInfo:shared:array"{

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

big_action_howitzer_105mm_lefh_18_40_preview{
  _extends:t="base_rendinst_builder_preview"
  additionalBuildingTemplate:t="base_fortification_build"
  avaliableAngles:p2=-6.0, 6.0
  buildingDistance:r=5.0
  previewCollobjOffset:r=0.6
  buildingSoundTag:t="cannon"
  building_builder__maxTimeToBuild:r=30.0
  buildingCost:r=16.0
  building_menu__image:t="map_icon_cannon_at"
  building_menu__text:t="Howitzer 105mm leFH 18/40"
  instantiateTemplate:t="big_action_howitzer_105mm_lefh_18_40"
  ri_preview__name:t="germany_105mm_cannon_lefh_18_40"
  building__requireUnlockId:i=-1
  savePreviewTeam:b=yes
  avaliableAngles:p2=-16.0, 16.0
  additionalHeight:r=0.12
  requiredSpaceAboveObject:r=6.9
}

howitzer_indirect_ami_sight_lefh_18_40_105mm.blk

rangefinderProgressBarColor1:c=0, 255, 0, 64
rangefinderProgressBarColor2:c=255, 255, 255, 64
rangefinderTextScale:r=0.7
rangefinderVerticalOffset:r=0.0
rangefinderHorizontalOffset:r=0.0
fontSizeMult:r=1.0
lineSizeMult:r=2.9
drawCentralLineVert:b=no
drawCentralLineHorz:b=no
applyCorrectionToGun:b=no
crosshairDistHorSizeMain:p2=0.03, 0.02
crosshairDistHorSizeAdditional:p2=0.005, 0.003
distanceCorrectionPos:p2=-0.2, -0.05
drawDistanceCorrection:b=no

crosshair_distances{
}

crosshair_hor_ranges{
}

drawLines{
  line{
    line:p4=-200.0, 200.0, -200.0, -100.0
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=180.0, 0.0, -300.0, 0.0
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 22.3, -295.0, 22.3
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 37.95, -280.0, 37.95 // 500
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 46.9, -275.0, 46.9
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 55.3, -270.0, 55.3
    move:b=no
    thousandth:b=yes
  }

   line{
    line:p4=20.0, 65.5, -265.0, 65.5
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 75.6, -260.0, 75.6 // 900
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 85.7, -255.0, 85.7
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 95.7, -250.0, 95.7
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 105.8, -245.0, 105.8
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 116.3, -240.0, 116.3
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 127.0, -235.0, 127.0
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 138, -230.0, 138
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 150, -225.0, 150
    move:b=no
    thousandth:b=yes
  }
}

drawCircles{
}

drawTexts{
  text{
    text:t="(No Zoom)"
    align:i=0
    pos:p2=-0.81, -0.12
    move:b=no
    size:r=0.5
  }

  text{
    text:t="Richten Sie das Lineal zum Zielen am Horizont aus;Align the ruler to the horizon to aim;Выровняйте линейку по горизонту, чтобы прицелиться;将标尺对准到地平线"
    align:i=0
    pos:p2=-0.81, -0.01
    move:b=no
    size:r=0.5
  }

  text{
    text:t="250"
    align:i=0
    pos:p2=-0.81, 0.076
    move:b=no
    size:r=0.55
  }

  text{
    text:t="500"
    align:i=0
    pos:p2=-0.81, 0.149
    move:b=no
    size:r=0.55
  }

  text{
    text:t="600"
    align:i=0
    pos:p2=-0.81, 0.187
    move:b=no
    size:r=0.55
  }

  text{
    text:t="700"
    align:i=0
    pos:p2=-0.81, 0.222
    move:b=no
    size:r=0.55
  }

  text{
    text:t="800"
    align:i=0
    pos:p2=-0.81, 0.263
    move:b=no
    size:r=0.55
  }

  text{
    text:t="900"
    align:i=0
    pos:p2=-0.81, 0.303
    move:b=no
    size:r=0.55
  }

  text{
    text:t="1000"
    align:i=0
    pos:p2=-0.81, 0.345
    move:b=no
    size:r=0.55
  }

  text{
    text:t="1100"
    align:i=0
    pos:p2=-0.81, 0.386
    move:b=no
    size:r=0.55
  }

  text{
    text:t="1200"
    align:i=0
    pos:p2=-0.81, 0.427
    move:b=no
    size:r=0.55
  }

  text{
    text:t="1300"
    align:i=0
    pos:p2=-0.81, 0.470
    move:b=no
    size:r=0.55
  }

  text{
    text:t="1400"
    align:i=0
    pos:p2=-0.81, 0.513
    move:b=no
    size:r=0.55
  }

  text{
    text:t="1500"
    align:i=0
    pos:p2=-0.81, 0.558
    move:b=no
    size:r=0.55
  }

  text{
    text:t="1600"
    align:i=0
    pos:p2=-0.81, 0.605
    move:b=no
    size:r=0.55
  }
}

_howitzer_lefh_18_40_105mm_gun.blk

stat_name:t="artillery"

howitzer_germ_lefh_18_40_105mm_he.blk

bulletCount:i=25
mass:r=23.81
explosiveType:t="fp02"
explosiveMass:r=2.9
rendinstDamageRadius:r=4.2
caliber:r=0.105
speed:r=162.3
maxDistance:r=2300.0
normalizationPreset:t="heat"
bulletType:t="he_frag_tank"
fresnel:p3=0.23, 0.1, 2.0
explodeOnRendinst:b=yes
useEffectiveArmorThicknessForShatter:b=yes
shellAnimation:t="video/shells_animations/he.ivf"
bulletName:t="105mm_fhgr"
explodeTreshold:r=0.1
fuseDelayDist:r=0.0
explosionPatchRadius:r=3.5
modelName:t="tank_bullet_he"
secondaryShattersPreset:t="ap"
rendinstDamageRadius:r=6.0

pressureDamage{
  damageType:t="pressure"
}

hitpower{
  HitPower0m:p2=0.3, 500.0
  HitPower2500m:p2=0.1, 2500.0
  HitPower7000m:p2=0.0, 7000.0
}

armorpower{
  ArmorPower0m:p2=23.0, 10.0
  ArmorPower100m:p2=16.0, 10.0
  ArmorPower300m:p2=10.0, 10.0
  ArmorPower3000m:p2=3.0, 5000.0
  ArmorPower10000m:p2=1.0, 10000.0
}

damage{

  shatter{
    useRealShatters:b=yes
    countPortion:r=0.22
    damageType:t="shatter"

    segment{
      radiusScale:r=0.15
      penetrationScale:r=2.0
      damageScale:r=1.0
      angles:p2=0.0, 29.0
      countPortion:r=0.04
      onHitChanceMultFire:r=10.0
    }

    segment{
      radiusScale:r=1.0
      penetrationScale:r=1.0
      damageScale:r=1.0
      angles:p2=30.0, 69.0
      countPortion:r=0.235
    }

    segment{
      radiusScale:r=0.25
      penetrationScale:r=1.7
      damageScale:r=1.5
      angles:p2=70.0, 110.0
      countPortion:r=0.075
      onHitChanceMultFire:r=50.0
    }

    segment{
      radiusScale:r=1.0
      penetrationScale:r=1.0
      damageScale:r=1.0
      angles:p2=111.0, 180.0
      countPortion:r=0.15
    }

    segment{
      radiusScale:r=1.0
      penetrationScale:r=1.0
      damageScale:r=1.0
      angles:p2=181.0, 249.0
      countPortion:r=0.15
    }

    segment{
      radiusScale:r=0.25
      penetrationScale:r=1.7
      damageScale:r=1.5
      angles:p2=250.0, 290.0
      countPortion:r=0.075
      onHitChanceMultFire:r=50.0
    }

    segment{
      radiusScale:r=1.0
      penetrationScale:r=1.0
      damageScale:r=1.0
      angles:p2=291.0, 329.0
      countPortion:r=0.235
    }

    segment{
      radiusScale:r=0.15
      penetrationScale:r=2.0
      damageScale:r=1.0
      angles:p2=330.0, 359.0
      countPortion:r=0.04
      onHitChanceMultFire:r=10.0
    }
  }

  kinetic{
    damage:r=40.0
    damageType:t="generic"

    energyToDamage{
      p0:p2=3000.0, 5.0
      p1:p2=15000.0, 10.0
      p2:p2=30000.0, 15.0
      p3:p2=60000.0, 25.0
      p4:p2=80000.0, 40.0
      p5:p2=110000.0, 60.0
      p6:p2=300000.0, 70.0
      p7:p2=400000.0, 75.0
      p8:p2=500000.0, 80.0
      p9:p2=650000.0, 110.0
      p10:p2=1100000.0, 150.0
      p11:p2=1300000.0, 200.0
      p12:p2=1800000.0, 230.0
      p13:p2=2200000.0, 240.0
      p14:p2=3000000.0, 300.0
      p15:p2=4000000.0, 320.0
      p16:p2=5000000.0, 350.0
      p17:p2=8000000.0, 370.0
      p18:p2=12000000.0, 900.0
    }
  }

  secondaryShatter{
    residualArmorPenetrationToShatterCountMult:p4=20.0, 100.0, 0.5, 1.0
    residualArmorPenetrationToShatterPenetrationMult:p4=20.0, 100.0, 0.5, 1.0
    residualArmorPenetrationToShatterDamageMult:p4=20.0, 100.0, 0.4, 1.0
    caliberToArmorToShatterCountMult:p4=0.5, 1.0, 0.5, 1.0
    damageType:t="secondaryShatter"

    section0{
      angles:p2=0.0, 10.0

      shatter{
        distance:r=5.0
        size:r=0.05
        count:i=8
        penetration:p2=11.0, 8.0
        damage:p2=20.0, 15.0
        onHitChanceMultFire:r=1.3
      }
    }

    section1{
      angles:p2=0.0, 25.0

      shatter{
        distance:r=2.5
        size:r=0.025
        count:i=20
        penetration:p2=7.0, 5.0
        damage:p2=15.0, 12.0
        onHitChanceMultFire:r=1.0
      }
    }

    section2{
      angles:p2=0.0, 40.0

      shatter{
        size:r=0.01
        distance:r=1.5
        count:i=40
        penetration:p2=4.0, 3.0
        damage:p2=8.0, 6.0
        onHitChanceMultFire:r=1.0
      }
    }
  }

  explosive{
    type:t="fp02"
    mass:r=1.75
    fuseDelayDist:r=0.0
    fuseArmorTreshold:r=0.1
    strengthEquivalent:r=1.0
    brisanceEquivalent:r=1.0
  }
}

shatterDamage{
  breachConeAngle:r=45.0
}

ballistics{

  slopeEffect{

    table{

      t_0_5{
        caliberToArmor:r=0.5
        slopeEffect0deg:p2=0.0, 84.0
        slopeEffect5deg:p2=5.0, 84.0
        slopeEffect10deg:p2=10.0, 49.54
        slopeEffect15deg:p2=15.0, 28.94
        slopeEffect20deg:p2=20.0, 17.36
        slopeEffect25deg:p2=25.0, 11.84
        slopeEffect30deg:p2=30.0, 7.17
        slopeEffect35deg:p2=35.0, 5.21
        slopeEffect40deg:p2=40.0, 3.93
        slopeEffect45deg:p2=45.0, 2.53
        slopeEffect50deg:p2=50.0, 1.95
        slopeEffect55deg:p2=55.0, 1.6
        slopeEffect60deg:p2=60.0, 1.39
        slopeEffect65deg:p2=65.0, 1.24
        slopeEffect70deg:p2=70.0, 1.13
        slopeEffect75deg:p2=75.0, 1.07
        slopeEffect80deg:p2=80.0, 1.02
        slopeEffect85deg:p2=85.0, 1.0
        slopeEffect90deg:p2=90.0, 1.0
      }

      t_1_0{
        caliberToArmor:r=1.0
        slopeEffect0deg:p2=0.0, 34.4
        slopeEffect5deg:p2=5.0, 34.4
        slopeEffect10deg:p2=10.0, 21.8
        slopeEffect15deg:p2=15.0, 13.75
        slopeEffect20deg:p2=20.0, 8.64
        slopeEffect25deg:p2=25.0, 6.26
        slopeEffect30deg:p2=30.0, 4.0
        slopeEffect35deg:p2=35.0, 3.23
        slopeEffect40deg:p2=40.0, 2.64
        slopeEffect45deg:p2=45.0, 2.0
        slopeEffect50deg:p2=50.0, 1.62
        slopeEffect55deg:p2=55.0, 1.37
        slopeEffect60deg:p2=60.0, 1.21
        slopeEffect65deg:p2=65.0, 1.11
        slopeEffect70deg:p2=70.0, 1.03
        slopeEffect75deg:p2=75.0, 1.0
        slopeEffect80deg:p2=80.0, 1.0
        slopeEffect85deg:p2=85.0, 1.0
        slopeEffect90deg:p2=90.0, 1.0
      }

      t_1_33{
        caliberToArmor:r=1.33
        slopeEffect0deg:p2=0.0, 23.8
        slopeEffect5deg:p2=5.0, 23.8
        slopeEffect10deg:p2=10.0, 15.57
        slopeEffect15deg:p2=15.0, 10.09
        slopeEffect20deg:p2=20.0, 6.47
        slopeEffect25deg:p2=25.0, 4.8
        slopeEffect30deg:p2=30.0, 3.21
        slopeEffect35deg:p2=35.0, 2.64
        slopeEffect40deg:p2=40.0, 2.24
        slopeEffect45deg:p2=45.0, 1.81
        slopeEffect50deg:p2=50.0, 1.5
        slopeEffect55deg:p2=55.0, 1.29
        slopeEffect60deg:p2=60.0, 1.15
        slopeEffect65deg:p2=65.0, 1.06
        slopeEffect70deg:p2=70.0, 1.0
        slopeEffect75deg:p2=75.0, 1.0
        slopeEffect80deg:p2=80.0, 1.0
        slopeEffect85deg:p2=85.0, 1.0
        slopeEffect90deg:p2=90.0, 1.0
      }

      t_1_5{
        caliberToArmor:r=1.5
        slopeEffect0deg:p2=0.0, 20.0
        slopeEffect5deg:p2=5.0, 20.6
        slopeEffect10deg:p2=10.0, 13.63
        slopeEffect15deg:p2=15.0, 8.94
        slopeEffect20deg:p2=20.0, 5.78
        slopeEffect25deg:p2=25.0, 4.33
        slopeEffect30deg:p2=30.0, 2.93
        slopeEffect35deg:p2=35.0, 2.45
        slopeEffect40deg:p2=40.0, 2.1
        slopeEffect45deg:p2=45.0, 1.74
        slopeEffect50deg:p2=50.0, 1.46
        slopeEffect55deg:p2=55.0, 1.25
        slopeEffect60deg:p2=60.0, 1.12
        slopeEffect65deg:p2=65.0, 1.04
        slopeEffect70deg:p2=70.0, 1.0
        slopeEffect75deg:p2=75.0, 1.0
        slopeEffect80deg:p2=80.0, 1.0
        slopeEffect85deg:p2=85.0, 1.0
        slopeEffect90deg:p2=90.0, 1.0
      }

      t_2{
        caliberToArmor:r=2.0
        slopeEffect0deg:p2=0.0, 20.0
        slopeEffect5deg:p2=5.0, 14.13
        slopeEffect10deg:p2=10.0, 9.65
        slopeEffect15deg:p2=15.0, 6.53
        slopeEffect20deg:p2=20.0, 4.3
        slopeEffect25deg:p2=25.0, 3.31
        slopeEffect30deg:p2=30.0, 2.3
        slopeEffect35deg:p2=35.0, 2.0
        slopeEffect40deg:p2=40.0, 1.77
        slopeEffect45deg:p2=45.0, 1.58
        slopeEffect50deg:p2=50.0, 1.35
        slopeEffect55deg:p2=55.0, 1.17
        slopeEffect60deg:p2=60.0, 1.06
        slopeEffect65deg:p2=65.0, 1.0
        slopeEffect70deg:p2=70.0, 1.0
        slopeEffect75deg:p2=75.0, 1.0
        slopeEffect80deg:p2=80.0, 1.0
        slopeEffect85deg:p2=85.0, 1.0
        slopeEffect90deg:p2=90.0, 1.0
      }

      t_2_5{
        caliberToArmor:r=2.5
        slopeEffect0deg:p2=0.0, 20.0
        slopeEffect5deg:p2=5.0, 10.6
        slopeEffect10deg:p2=10.0, 7.42
        slopeEffect15deg:p2=15.0, 5.13
        slopeEffect20deg:p2=20.0, 3.44
        slopeEffect25deg:p2=25.0, 2.69
        slopeEffect30deg:p2=30.0, 1.92
        slopeEffect35deg:p2=35.0, 1.71
        slopeEffect40deg:p2=40.0, 1.56
        slopeEffect45deg:p2=45.0, 1.46
        slopeEffect50deg:p2=50.0, 1.27
        slopeEffect55deg:p2=55.0, 1.12
        slopeEffect60deg:p2=60.0, 1.01
        slopeEffect65deg:p2=65.0, 1.0
        slopeEffect70deg:p2=70.0, 1.0
        slopeEffect75deg:p2=75.0, 1.0
        slopeEffect80deg:p2=80.0, 1.0
        slopeEffect85deg:p2=85.0, 1.0
        slopeEffect90deg:p2=90.0, 1.0
      }
    }
  }

  ricochet{

    table{

      t1{
        caliberToArmor:r=1.0
        ricochetProbability0deg:p2=0.0, 1.0
        ricochetProbability09deg:p2=9.0, 1.0
        ricochetProbability10deg:p2=10.0, 0.5
        ricochetProbability11deg:p2=11.0, 0.0
        ricochetProbability90deg:p2=90.0, 0.0
      }
    }
  }

  stability{
    stabilityThreshold:r=0.5
    stabilityCaliberToArmorThreshold:r=5.0
    stabilityReductionAfterRicochet:r=0.3
    stabilityReductionAfterPenetration:r=0.15

    stabilityRicochetModifier{
      mod1:p2=0.0, 0.5
      mod2:p2=15.0, 0.7
      mod3:p2=30.0, 0.99
    }
  }
}

visual{
  range_percent_of_ammo:p2=100.0, 0.0
  traceFreq:i=1
  tracer:t="30mmWhite"
  trail:t="black"
}

tracer{
  headColor:c=255, 200, 100, 239
  smokeRadius:r=0.1
  smokeTime:r=10.0
  smokeColor:c=255, 230, 179, 204
  burnTime:r=23.0
  luminosity:r=20.0
}

howitzer_germ_lefh_18_40_105mm_smoke.blk


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

2 лайка
bullet_projectile_marker_team1{
  _extends:t="bullet_projectile"
  _extends:t="flame_firebomb_projectile"
  // _extends:t="shell_fly_sound"
  flame_projectile__onHitCreate:t="big_action_shell_expl_map_icon_effect_team1"
  projectile__minLifeTime:r=0.02
  projectile__maxLifeTime:r=50
}

big_action_turret_0_howitzer_m1938_m30_122mm{
  _extends:t="tankgun"
  _extends:t="base_tankgun_cannon"
  _extends:t="gunsound_122mm_d25t"
  gun__blk:t="%ugm/data/weapons/engineer/howitzer_m1938_m30_122mm/_howitzer_m1938_m30_122mm_gun.blk"
  gun__rotInertia:p3=0.1, 0.1, 0.1
  gun_anim_var__reyeOffsetFwd0:r=-10.0
  gun_anim_var__gunOffsetAlong:r=10.0
  gun_anim_var__gunOffsetAcross:r=10.0
  gun_anim_var__gunOffsetUp:r=10.0
  turret__triggerGroup:i=0
  item__name:t="122mm M1938 (M30) howitzer"
  gun__shotFreq:r=0.09
  gun__locName:t="122mm M1938 (M30) howitzer"
  gun__shootNodeName:t="bone_gun_barrel"
  gun_spread__maxDeltaAngle:r=1.36
  gun_spread__maxDeltaAngleVertical:r=0.6
  gun_deviation__maxDeviation:r=16.366
  gun_deviation__omegaDevInc:p2=0.2, 0.9
  gun_deviation__increaseMul:r=3.0
  gun_deviation__decreaseMul:r=-0.2
  gun__maxAmmo:i=100
  turret__yawSpeed:r=6.0
  turret__pitchSpeed:r=2.0
  turret__aimNodeName:t="bone_turret"
  turret__limit:p4=-23.0, 23.0, 0, 39.0
  // gun__reloadTime:r=3.0
  gun__projectileTemplate:t="bullet_projectile_marker_team1"
  gun__projectileDebugTemplate:t="bullet_projectile_marker_team1+bullet_projectile_debug"
  turret__stabilizerPitchFrictionMult:r=0.8
  turret__stabilizerPitchSpeedLimitKph:r=30.0

  "gun__ammoSetsInfo:shared:array"{

    "122mm_ussr_HE:array"{
      "shell:object"{
        blk:t="%ugm/data/weapons/engineer/howitzer_m1938_m30_122mm/howitzer_ussr_m1938_m30_122mm_he.blk"
        name:t="122mm_of_471"
        type:t="he_frag_tank"
      }
    }

    "122mm_ussr_APHE:array"{
      "shell:object"{
        blk:t="%ugm/data/weapons/engineer/howitzer_m1938_m30_122mm/howitzer_ussr_m1938_m30_122mm_aphe.blk"
        name:t="122mm_br_471b"
        type:t="aphe_tank"
      }
    }

    "122mm_ussr_SMOKE:array"{
      "shell:object"{
        blk:t="%ugm/data/weapons/engineer/howitzer_m1938_m30_122mm/howitzer_ussr_m1938_m30_122mm_smoke.blk"
        name:t="122mm_of_471"
        type:t="smoke_tank"
      }
    }
  }

  "gun__shellsAmmo:array"{
    ammo:i=16
    ammo:i=6
    ammo:i=6
  }
}

big_action_howitzer_m1938_m30_122mm_command_cockpit{
  _extends:t="germ_towed_at_pak40_gunner_cockpit"
  vehicle_sight__blk:t="%ugm/data/sight/howitzer_indirect_ami_sight_m1938_m30_122mm.blk"
  animchar__res:t="ba_11_gunner_char"
  animchar_render__enabled:b=yes
  cockpit__offset:p3=-3.8, 0.47, -0.5
  cockpit__zoomTimeMul:r=1.0
  cockpit__cameraTimeMul:r=1.0

  "cockpit__visibleVehicleNodeNames:list<t>"{
    node:t="bone_gun"
    node:t="bone_gun_barrel"
    // node:t="wheel_r_01"
    // node:t="wheel_l_01"
    // node:t="ex_armor_01"
    // node:t="ex_decor_01"
    // node:t="bone_roll_turret_v"
    // node:t="bone_roll_turret_h"
    node:t="bone_turret"
    node:t="@root"
  }

  "cockpit__attachNodeNames:list<t>"{
    // node:t="bone_gun_barrel"
  }

  "cockpit__slitForwardOffset:list<r>"{
    slit:r=0.28
  }

  "cockpit__slitZoom:array"{

    "slit:list<r>"{
      zoom:r=1.0
    }
  }
}

big_action_rendinst_ussr_122mm_cannon_m30_decor{
  _extends:t="game_rendinst_decor"
  _extends:t="base_vehicle_ghost_decor"
  ri_extra__name:t="ussr_120mm_cannon_m30"
  ri_extra__hasCollision:b=no

  "ri_extra__overrideHitPoints:i"{
    value:i=-2
    _info:t="ri_hit_points"
  }
}

big_action_howitzer_122mm_m1938_m30{
  _extends:t="builded_germ_towed_at_pak40"
  _extends:t="big_action_base_map_icon_effect"
  _extends:t="big_action_base_hud_icon_effect"
  vehicle_seats_camera_nodes__defaultNode:t="bone_camera_gunner"
  vehicle_seats__enterTime:r=1.0
  vehicle_seats__exitTime:r=1.0
  vehicle_net_phys__blk:t="%ugm/data/units/building/towed_howitzer_base_on_pak40.blk:VehiclePhys"
  damage_model__blk:t="%ugm/data/units/building/towed_howitzer_base_on_pak40.blk"
  item__name:t="capzone/artillery_emplacement"
  reportKill:b=yes
  _replicated:t="reportKill"
  _replicated:t="killer"
  building_destroy__maxTimeToDestroy:r=36.0
  repairable__baseRepairTotalTime:r=10.0
  maxCostReturnedOnDestructionMul:r=0.7
  costReturnedOnDestructionMul:r=0.7
  fortification_repair__costPercent:r=0.76
  hud_icon__image:t="map_icon_cannon_at"
  building_menu__image:t="map_icon_cannon_at"
  building_menu__text:t="Howitzer 122mm M1938 (M30)"
  vehicle_seats__autoDetectRestrictToTeam:b=no

  "killer:eid"{
  }

  "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] [-2.9, -1.1, -0.0]]
      template:t="big_action_rendinst_ussr_122mm_cannon_m30_decor"
      nodeName:t="emtr_gun_flame"
    }
  }

  "disableDMParts:list<t>"{
    part:t="gunner"
    part:t="loader"
    node:t="bone_turret"
    node:t="bone_gun_barrel"
    node:t="wheel_r_01"
    node:t="wheel_l_01"
  }

  _group{
    _tags:t="render"
    animchar_camera_target__node_name:t="bone_camera_gunner"
    animchar_camera_target__node_offset:p3=0.0, 0.5, 0.0
    animchar_camera_target__nodeIndex:i=-1
  }

  "vehicle_seats__seatTemplates:shared:object"{
    default:t="movable_cannon_seat_default_sit"
    driver:t="movable_cannon_seat_driver"
    main_gunner:t="movable_cannon_seat_gunner"
    loader:t="movable_cannon_seat_loader"
    loader_marching:t="movable_cannon_seat_marching"
    passenger:t="big_action_movable_cannon_seat_misc_marching"
  }

  _group{
    _tags:t="server"

    "dependent_templates:ecs::TemplatesListToInstantiate"{
    }

    "dependent_templates_list_shared:shared:list<t>"{
      template_name:t="movable_cannon_seat_default_sit"
      template_name:t="movable_cannon_seat_driver"
      template_name:t="movable_cannon_seat_gunner"
      template_name:t="movable_cannon_seat_loader"
      template_name:t="movable_cannon_seat_marching"
      template_name:t="big_action_movable_cannon_seat_misc_marching"
    }
  }

  "vehicle_seats__seatsProvideOrder:tag"{
  }

  "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.4, -0.15, 0.5]]
      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_howitzer_m1938_m30_122mm_command_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.3, 0.13, 0.7]]
      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"

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

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

    "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.3, -0.15, -0.3]]
      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.3, 0.0, -0.4]]
      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"
    }

    "seats:object"{
      name:t="passenger"
      locName:t="at_position/march"
      seatOwnsEntityControl:b=no
      attachNode:t="root"
      ignoreAttachNodeRotation:b=yes
      shouldHideOwner:b=no
      attachTm:m=[[0.866025, 0, 0.5] [0, 1, -0] [-0.5, 0, 0.866026] [-3.1, -0.2, -0.6]]
      cameraOffset:p3=0.3, 0.0, 0.0
      seatComponent:t="isPassenger"
      vehicleReloadMult:r=0.6

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

    "seats:object"{
      name:t="passenger"
      locName:t="at_position/march"
      seatOwnsEntityControl:b=no
      attachNode:t="root"
      ignoreAttachNodeRotation:b=yes
      shouldHideOwner:b=no
      attachTm:m=[[0.866025, 0, -0.5] [0, 1, 0] [0.5, -0, 0.866026] [-3.2, -0.2, 0.7]]
      cameraOffset:p3=0.3, 0.0, 0.0
      seatComponent:t="isPassenger"
      vehicleReloadMult:r=0.6

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

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

  "turret_gun_flash_fx__flashNodes:shared:array"{
    node:t="emtr_gun_flame"
  }

  "turret_gun_flash_fx__flashFx:shared:array"{
    fx:t="muzzle_ground_125mm_brake_with_side_effects"
  }

  "turret_gun_flash_fx__flashFxScale:shared:array"{
    scale:r=1.0
  }

  "turret_control__emitterNodes:shared:array"{
    node:t="bone_gun_barrel"
  }

  "turret_control__turretInfo:shared:array"{

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

big_action_howitzer_122mm_m1938_m30_preview{
  _extends:t="base_rendinst_builder_preview"
  additionalBuildingTemplate:t="base_fortification_build"
  avaliableAngles:p2=-6.0, 6.0
  buildingDistance:r=5.0
  previewCollobjOffset:r=0.6
  buildingSoundTag:t="cannon"
  building_builder__maxTimeToBuild:r=30.0
  buildingCost:r=16.0
  building_menu__image:t="map_icon_cannon_at"
  building_menu__text:t="Howitzer 122mm M1938 (M30)"
  instantiateTemplate:t="big_action_howitzer_122mm_m1938_m30"
  ri_preview__name:t="ussr_120mm_cannon_m30"
  building__requireUnlockId:i=-1
  savePreviewTeam:b=yes
  avaliableAngles:p2=-16.0, 16.0
  additionalHeight:r=0.12
  requiredSpaceAboveObject:r=6.9
}

howitzer_ussr_m1938_m30_122mm_he.blk

bulletCount:i=25
mass:r=25.0
explosiveType:t="tnt"
explosiveMass:r=3.9
rendinstDamageRadius:r=5.0
caliber:r=0.122
speed:r=162.7
Cx:r=0.3069
maxDistance:r=2000.0
normalizationPreset:t="heat"
bulletType:t="he_frag_tank"
fresnel:p3=0.23, 0.1, 2.0
explodeOnRendinst:b=yes
useEffectiveArmorThicknessForShatter:b=yes
shellAnimation:t="video/shells_animations/he.ivf"
bulletName:t="122mm_of_471"
explodeTreshold:r=0.1
fuseDelayDist:r=0.0
explosionPatchRadius:r=3.5
visualShattersWaterOffset:r=1.2
visualShattersGroundOffset:r=1.2
modelName:t="tank_bullet_he"
secondaryShattersPreset:t="ap"
rendinstDamageRadius:r=6.6

pressureDamage{
  damageType:t="pressure"
}

hitpower{
  HitPower0m:p2=0.6, 500.0
  HitPower1000m:p2=0.3, 1000.0
  HitPower1500m:p2=0.2, 1500.0
  HitPower2500m:p2=0.1, 2500.0
  HitPower7000m:p2=0.0, 7000.0
}

armorpower{
  ArmorPower0m:p2=20.0, 10.0
  ArmorPower100m:p2=15.0, 10.0
  ArmorPower300m:p2=10.0, 10.0
  ArmorPower3000m:p2=3.0, 5000.0
  ArmorPower10000m:p2=1.0, 10000.0
}

DamageParts{

  body{
    hp:r=5.0
    armorClass:t="tank_structural_steel"
    armorThickness:r=1.0
  }
}

DamageEffects{

  part{
    name:t="body"

    onHit{
      break_fuse:r=1.0
    }

    onKill{
      destruction:r=1.0
    }
  }
}

hitpower{
  HitPower0m:p2=1.0, 500.0
  HitPower5000m:p2=0.5, 5000.0
  HitPower7000m:p2=0.1, 7000.0
}

damage{

  explosive{
    radius:r=0.3
    offset:r=0.2
    type:t="tnt"
    mass:r=3.6
    fuseDelayDist:r=0.0
    fuseArmorTreshold:r=0.1
    strengthEquivalent:r=1.0
    brisanceEquivalent:r=1.0
  }

  shatter{
    useRealShatters:b=yes
    countPortion:r=0.2
    damageType:t="shatter"

    segment{
      radiusScale:r=0.15
      penetrationScale:r=3.5
      damageScale:r=1.0
      angles:p2=0.0, 29.0
      countPortion:r=0.045
      onHitChanceMultFire:r=10.0
    }

    segment{
      radiusScale:r=1.0
      penetrationScale:r=1.0
      damageScale:r=1.0
      angles:p2=30.0, 69.0
      countPortion:r=0.23
    }

    segment{
      radiusScale:r=0.35
      penetrationScale:r=1.75
      damageScale:r=1.5
      angles:p2=70.0, 110.0
      countPortion:r=0.075
      onHitChanceMultFire:r=60.0
    }

    segment{
      radiusScale:r=1.0
      penetrationScale:r=1.0
      damageScale:r=1.0
      angles:p2=111.0, 180.0
      countPortion:r=0.15
    }

    segment{
      radiusScale:r=1.0
      penetrationScale:r=1.0
      damageScale:r=1.0
      angles:p2=181.0, 249.0
      countPortion:r=0.15
    }

    segment{
      radiusScale:r=0.35
      penetrationScale:r=1.75
      damageScale:r=1.5
      angles:p2=250.0, 290.0
      countPortion:r=0.075
      onHitChanceMultFire:r=60.0
    }

    segment{
      radiusScale:r=1.0
      penetrationScale:r=1.0
      damageScale:r=1.0
      angles:p2=291.0, 329.0
      countPortion:r=0.23
    }

    segment{
      radiusScale:r=0.15
      penetrationScale:r=3.5
      damageScale:r=1.0
      angles:p2=330.0, 359.0
      countPortion:r=0.045
      onHitChanceMultFire:r=10.0
    }
  }

  kinetic{
    damage:r=40.0
    damageType:t="generic"

    energyToDamage{
      p0:p2=3000.0, 5.0
      p1:p2=15000.0, 10.0
      p2:p2=30000.0, 15.0
      p3:p2=60000.0, 25.0
      p4:p2=80000.0, 40.0
      p5:p2=110000.0, 60.0
      p6:p2=300000.0, 70.0
      p7:p2=400000.0, 75.0
      p8:p2=500000.0, 80.0
      p9:p2=650000.0, 110.0
      p10:p2=1100000.0, 150.0
      p11:p2=1300000.0, 200.0
      p12:p2=1800000.0, 230.0
      p13:p2=2200000.0, 240.0
      p14:p2=3000000.0, 300.0
      p15:p2=4000000.0, 320.0
      p16:p2=5000000.0, 350.0
      p17:p2=8000000.0, 370.0
      p18:p2=12000000.0, 900.0
    }
  }

  secondaryShatter{
    residualArmorPenetrationToShatterCountMult:p4=20.0, 100.0, 0.5, 1.0
    residualArmorPenetrationToShatterPenetrationMult:p4=20.0, 100.0, 0.5, 1.0
    residualArmorPenetrationToShatterDamageMult:p4=20.0, 100.0, 0.4, 1.0
    caliberToArmorToShatterCountMult:p4=0.5, 1.0, 0.5, 1.0
    damageType:t="secondaryShatter"

    section0{
      angles:p2=0.0, 10.0

      shatter{
        distance:r=5.0
        size:r=0.05
        count:i=8
        penetration:p2=11.0, 8.0
        damage:p2=20.0, 15.0
        onHitChanceMultFire:r=1.3
      }
    }

    section1{
      angles:p2=0.0, 25.0

      shatter{
        distance:r=2.5
        size:r=0.025
        count:i=20
        penetration:p2=7.0, 5.0
        damage:p2=15.0, 12.0
        onHitChanceMultFire:r=1.0
      }
    }

    section2{
      angles:p2=0.0, 40.0

      shatter{
        size:r=0.01
        distance:r=1.5
        count:i=40
        penetration:p2=4.0, 3.0
        damage:p2=8.0, 6.0
        onHitChanceMultFire:r=1.0
      }
    }
  }
}

shatterDamage{
  breachConeAngle:r=45.0
}

ballistics{

  slopeEffect{

    table{

      t_0_5{
        caliberToArmor:r=0.5
        slopeEffect0deg:p2=0.0, 84.0
        slopeEffect5deg:p2=5.0, 84.0
        slopeEffect10deg:p2=10.0, 49.54
        slopeEffect15deg:p2=15.0, 28.94
        slopeEffect20deg:p2=20.0, 17.36
        slopeEffect25deg:p2=25.0, 11.84
        slopeEffect30deg:p2=30.0, 7.17
        slopeEffect35deg:p2=35.0, 5.21
        slopeEffect40deg:p2=40.0, 3.93
        slopeEffect45deg:p2=45.0, 2.53
        slopeEffect50deg:p2=50.0, 1.95
        slopeEffect55deg:p2=55.0, 1.6
        slopeEffect60deg:p2=60.0, 1.39
        slopeEffect65deg:p2=65.0, 1.24
        slopeEffect70deg:p2=70.0, 1.13
        slopeEffect75deg:p2=75.0, 1.07
        slopeEffect80deg:p2=80.0, 1.02
        slopeEffect85deg:p2=85.0, 1.0
        slopeEffect90deg:p2=90.0, 1.0
      }

      t_1_0{
        caliberToArmor:r=1.0
        slopeEffect0deg:p2=0.0, 34.4
        slopeEffect5deg:p2=5.0, 34.4
        slopeEffect10deg:p2=10.0, 21.8
        slopeEffect15deg:p2=15.0, 13.75
        slopeEffect20deg:p2=20.0, 8.64
        slopeEffect25deg:p2=25.0, 6.26
        slopeEffect30deg:p2=30.0, 4.0
        slopeEffect35deg:p2=35.0, 3.23
        slopeEffect40deg:p2=40.0, 2.64
        slopeEffect45deg:p2=45.0, 2.0
        slopeEffect50deg:p2=50.0, 1.62
        slopeEffect55deg:p2=55.0, 1.37
        slopeEffect60deg:p2=60.0, 1.21
        slopeEffect65deg:p2=65.0, 1.11
        slopeEffect70deg:p2=70.0, 1.03
        slopeEffect75deg:p2=75.0, 1.0
        slopeEffect80deg:p2=80.0, 1.0
        slopeEffect85deg:p2=85.0, 1.0
        slopeEffect90deg:p2=90.0, 1.0
      }

      t_1_33{
        caliberToArmor:r=1.33
        slopeEffect0deg:p2=0.0, 23.8
        slopeEffect5deg:p2=5.0, 23.8
        slopeEffect10deg:p2=10.0, 15.57
        slopeEffect15deg:p2=15.0, 10.09
        slopeEffect20deg:p2=20.0, 6.47
        slopeEffect25deg:p2=25.0, 4.8
        slopeEffect30deg:p2=30.0, 3.21
        slopeEffect35deg:p2=35.0, 2.64
        slopeEffect40deg:p2=40.0, 2.24
        slopeEffect45deg:p2=45.0, 1.81
        slopeEffect50deg:p2=50.0, 1.5
        slopeEffect55deg:p2=55.0, 1.29
        slopeEffect60deg:p2=60.0, 1.15
        slopeEffect65deg:p2=65.0, 1.06
        slopeEffect70deg:p2=70.0, 1.0
        slopeEffect75deg:p2=75.0, 1.0
        slopeEffect80deg:p2=80.0, 1.0
        slopeEffect85deg:p2=85.0, 1.0
        slopeEffect90deg:p2=90.0, 1.0
      }

      t_1_5{
        caliberToArmor:r=1.5
        slopeEffect0deg:p2=0.0, 20.0
        slopeEffect5deg:p2=5.0, 20.6
        slopeEffect10deg:p2=10.0, 13.63
        slopeEffect15deg:p2=15.0, 8.94
        slopeEffect20deg:p2=20.0, 5.78
        slopeEffect25deg:p2=25.0, 4.33
        slopeEffect30deg:p2=30.0, 2.93
        slopeEffect35deg:p2=35.0, 2.45
        slopeEffect40deg:p2=40.0, 2.1
        slopeEffect45deg:p2=45.0, 1.74
        slopeEffect50deg:p2=50.0, 1.46
        slopeEffect55deg:p2=55.0, 1.25
        slopeEffect60deg:p2=60.0, 1.12
        slopeEffect65deg:p2=65.0, 1.04
        slopeEffect70deg:p2=70.0, 1.0
        slopeEffect75deg:p2=75.0, 1.0
        slopeEffect80deg:p2=80.0, 1.0
        slopeEffect85deg:p2=85.0, 1.0
        slopeEffect90deg:p2=90.0, 1.0
      }

      t_2{
        caliberToArmor:r=2.0
        slopeEffect0deg:p2=0.0, 20.0
        slopeEffect5deg:p2=5.0, 14.13
        slopeEffect10deg:p2=10.0, 9.65
        slopeEffect15deg:p2=15.0, 6.53
        slopeEffect20deg:p2=20.0, 4.3
        slopeEffect25deg:p2=25.0, 3.31
        slopeEffect30deg:p2=30.0, 2.3
        slopeEffect35deg:p2=35.0, 2.0
        slopeEffect40deg:p2=40.0, 1.77
        slopeEffect45deg:p2=45.0, 1.58
        slopeEffect50deg:p2=50.0, 1.35
        slopeEffect55deg:p2=55.0, 1.17
        slopeEffect60deg:p2=60.0, 1.06
        slopeEffect65deg:p2=65.0, 1.0
        slopeEffect70deg:p2=70.0, 1.0
        slopeEffect75deg:p2=75.0, 1.0
        slopeEffect80deg:p2=80.0, 1.0
        slopeEffect85deg:p2=85.0, 1.0
        slopeEffect90deg:p2=90.0, 1.0
      }

      t_2_5{
        caliberToArmor:r=2.5
        slopeEffect0deg:p2=0.0, 20.0
        slopeEffect5deg:p2=5.0, 10.6
        slopeEffect10deg:p2=10.0, 7.42
        slopeEffect15deg:p2=15.0, 5.13
        slopeEffect20deg:p2=20.0, 3.44
        slopeEffect25deg:p2=25.0, 2.69
        slopeEffect30deg:p2=30.0, 1.92
        slopeEffect35deg:p2=35.0, 1.71
        slopeEffect40deg:p2=40.0, 1.56
        slopeEffect45deg:p2=45.0, 1.46
        slopeEffect50deg:p2=50.0, 1.27
        slopeEffect55deg:p2=55.0, 1.12
        slopeEffect60deg:p2=60.0, 1.01
        slopeEffect65deg:p2=65.0, 1.0
        slopeEffect70deg:p2=70.0, 1.0
        slopeEffect75deg:p2=75.0, 1.0
        slopeEffect80deg:p2=80.0, 1.0
        slopeEffect85deg:p2=85.0, 1.0
        slopeEffect90deg:p2=90.0, 1.0
      }
    }
  }

  ricochet{

    table{

      t1{
        caliberToArmor:r=1.0
        ricochetProbability0deg:p2=0.0, 1.0
        ricochetProbability09deg:p2=9.0, 1.0
        ricochetProbability10deg:p2=10.0, 0.5
        ricochetProbability11deg:p2=11.0, 0.0
        ricochetProbability90deg:p2=90.0, 0.0
      }
    }
  }

  stability{
    stabilityThreshold:r=0.5
    stabilityCaliberToArmorThreshold:r=5.0
    stabilityReductionAfterRicochet:r=0.3
    stabilityReductionAfterPenetration:r=0.15

    stabilityRicochetModifier{
      mod1:p2=0.0, 0.5
      mod2:p2=15.0, 0.7
      mod3:p2=30.0, 0.99
    }
  }
}

visual{
  range_percent_of_ammo:p2=100.0, 0.0
  traceFreq:i=1
  tracer:t="30mmWhite"
  trail:t="smallTrail"
}

tracer{
  headColor:c=255, 100, 100, 230
  smokeRadius:r=0.1
  smokeTime:r=10.0
  smokeColor:c=255, 230, 179, 204
  burnTime:r=23.0
  luminosity:r=16.0
}

howitzer_indirect_ami_sight_m1938_m30_122mm.blk

rangefinderProgressBarColor1:c=0, 255, 0, 64
rangefinderProgressBarColor2:c=255, 255, 255, 64
rangefinderTextScale:r=0.7
rangefinderVerticalOffset:r=0.0
rangefinderHorizontalOffset:r=0.0
fontSizeMult:r=1.0
lineSizeMult:r=2.9
drawCentralLineVert:b=no
drawCentralLineHorz:b=no
applyCorrectionToGun:b=no
crosshairDistHorSizeMain:p2=0.03, 0.02
crosshairDistHorSizeAdditional:p2=0.005, 0.003
distanceCorrectionPos:p2=-0.2, -0.05
drawDistanceCorrection:b=no

crosshair_distances{
}

crosshair_hor_ranges{
}

drawLines{
  line{
    line:p4=-200.0, 200.0, -200.0, -100.0
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=180.0, 0.0, -300.0, 0.0
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=22.3, 21.9, -290.0, 21.9
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 39.0, -285.0, 39.0
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 45.9, -280.0, 45.9
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 53.9, -275.0, 53.9
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 63.2, -270.0, 63.2
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 72.7, -265.0, 72.7
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 83.6, -260.0, 83.6
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 94.7, -255.0, 94.7
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 104.9, -250.0, 104.9
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 115.3, -245.0, 115.3
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 126.9, -240.0, 126.9
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 138.9, -235.0, 138.9
    move:b=no
    thousandth:b=yes
  }

  line{
    line:p4=20.0, 152.6, -230.0, 152.6
    move:b=no
    thousandth:b=yes
  }
}

drawCircles{
}

drawTexts{

  text{
    text:t="Выровняйте линейку по горизонту, чтобы прицелиться;Richten Sie das Lineal zum Zielen am Horizont aus;Align the ruler to the horizon to aim;将标尺对准到地平线"
    align:i=0
    pos:p2=-0.81, -0.01
    move:b=no
    size:r=0.5
  }

  text{
    text:t="300"
    align:i=0
    pos:p2=-0.81, 0.085
    move:b=no
    size:r=0.55
  }

  text{
    text:t="500"
    align:i=0
    pos:p2=-0.81, 0.155
    move:b=no
    size:r=0.55
  }

  text{
    text:t="600"
    align:i=0
    pos:p2=-0.81, 0.183
    move:b=no
    size:r=0.55
  }

  text{
    text:t="700"
    align:i=0
    pos:p2=-0.81, 0.217
    move:b=no
    size:r=0.55
  }

  text{
    text:t="800"
    align:i=0
    pos:p2=-0.81, 0.254
    move:b=no
    size:r=0.55
  }

  text{
    text:t="900"
    align:i=0
    pos:p2=-0.81, 0.292
    move:b=no
    size:r=0.55
  }

  text{
    text:t="1000"
    align:i=0
    pos:p2=-0.81, 0.337
    move:b=no
    size:r=0.55
  }

  text{
    text:t="1100"
    align:i=0
    pos:p2=-0.81, 0.382
    move:b=no
    size:r=0.55
  }

  text{
    text:t="1200"
    align:i=0
    pos:p2=-0.81, 0.423
    move:b=no
    size:r=0.55
  }

  text{
    text:t="1300"
    align:i=0
    pos:p2=-0.81, 0.467
    move:b=no
    size:r=0.55
  }

  text{
    text:t="1400"
    align:i=0
    pos:p2=-0.81, 0.512
    move:b=no
    size:r=0.55
  }

  text{
    text:t="1500"
    align:i=0
    pos:p2=-0.81, 0.562
    move:b=no
    size:r=0.55
  }

  text{
    text:t="1600"
    align:i=0
    pos:p2=-0.81, 0.618
    move:b=no
    size:r=0.55
  }
}

3 лайка

Что мне записать в gun.blk для lefh и m30? Пожалуйста?
И нужны ли дымовые снаряды как файлы? Если да, то что мне в них записать?
Еще вылазит ошибка при попытке спавна любого из данных пушек
blk not found %ugm/data/units/building/towed_howitzer_base_on_pak40.blk
Спасибо!

2 лайка

В entities.blk кидаешь вот это:

Дальше зависит от тебя. Либо меняешь путь к файлам (например убираешь data/sight/), либо в папке с модом создаешь еще папки (например, data, а внутри еще sight). Это нужно, так как у тебя ссылка указывает на эти папки.

После этого ты создаешь еще парочку файлов. И кидаешь код, который скинул Томми. Например этот:

Да, он должен быть отдельно от entities.blk, так как структура совсем иная. В общем его кидаешь в файл, который внутри папки sight. И так далее с другими файлами, смотри какой у них путь в entities.

2 лайка

Поменял пути называется на свои:


:rofl: :cry:
И как мне понять, где ошибка?
Omaha.rar (20,6 КБ)

2 лайка

Путь указан не очень правильный: /data/data/weapons/. У тебя же только одна папка data. Внутри неё нету еще одной такой же папки. Если что %ugm/ - это твоя папка.

Хотя странно, что игра не сообщила об этом и успешно запустилась.

Далее… В файле _howitzer_m1938_m30_122mm_gun.blk совсем другая информация. Почему-то там такой же код entities.blk. А должен быть только stat_name:t="artillery". Остальное, вроде, нормально сделаны.

2 лайка

Еще там с физикой не то, кажется.

Код для towed_howitzer_base_on_pak40.blk
VehiclePhys{
  skipUpdateOnSleep:b=yes

  Mass{
    Empty:r=1425.0
    Fuel:r=200.0
    TakeOff:r=1500.0
    momentOfInertia:p3=6.0, 1.0, 6.0
    CenterOfGravity:p3=-1.0, 0.2, 0.0
    AdvancedMass:b=no
    CenterOfGravityClampY:p2=0.0, 0.7
    cls_body:r=1.0
  }

  tracks{
    slippingHorizontalSpeedThreshold:r=0.25
    animationMultiplier:r=0.5
    height:r=0.0
    width:r=0.2
    trackPhysMat:t="wheel"
    fricFrontal:p2=10.0, 10.0
  }

  collisionProps{
    body_back:t="convex_hull"
    turret_front:t="convex_hull"
  }

  engine{
    horsePowers:r=7.0
    maxRPM:r=4000.0
    minRPM:r=900.0
    rpmTau:r=0.1
    minTorqueLimiter:r=0.0
  }

  mechanics{
    maxBrakeForce:r=3200.0
    driveGearRadius:r=0.3165
    mainGearRatio:r=1.084
    sideGearRatio:r=4.3
    tracked:b=no

    gearRatios{
      ratio:r=-65.0
      ratio:r=0.0
      ratio:r=26.0
    }
  }

  suspension{
    suspensionOffsets:p3=-0.15, -0.12, 0.12
    defaultGearRadius:r=0.372
    defaultDampeningForce:p2=5000.0, 5000.0
    hasSuspensionOnDriveGear:b=yes
    dampeningRelaxationRatio:r=0.4
    dampeningCompressionRatio:r=0.15
    brokenWheelSteeringDeflection:r=-15.0
    wheel_l_01:r=0.455
    wheel_r_01:r=0.455
    wheel_l_02:r=0.11
    wheel_r_02:r=0.11
    recalcWtms:b=yes

    steeringDeflection{
      wheel_l_02:r=-65.0
      wheel_r_02:r=-65.0
    }

    driven{
      wheel_l_01:b=yes
      wheel_r_01:b=yes
    }
  }
}

DamageParts{
  formatVersion:i=2

  turret_top{
    hitTestType:t="armor"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=-1.0
    externalArmor:b=yes
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=0.0
    armorClass:t="RHA_tank"
    hp:r=1000.0
    armorThickness:r=15.0
  }

  turret_side{
    hitTestType:t="armor"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=-1.0
    externalArmor:b=yes
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=0.0
    armorClass:t="RHA_tank"
    hp:r=1000.0
    armorThickness:r=15.0
  }

  turret_front{
    hitTestType:t="armor"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=-1.0
    externalArmor:b=yes
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=0.0
    armorClass:t="RHA_tank"
    hp:r=1000.0
    armorThickness:r=15.0
  }

  body_back{
    hitTestType:t="armor"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=-1.0
    externalArmor:b=yes
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=0.0
    armorClass:t="RHA_tank"
    hp:r=1000.0
    armorThickness:r=8.0
  }

  gun{
    hitTestType:t="armor"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=-1.0
    externalArmor:b=no
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=0.0
    armorClass:t="RHA_tank"
    hp:r=1000.0
    armorThickness:r=15.0
  }

  turret_back{
    hitTestType:t="armor"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=-1.0
    externalArmor:b=yes
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=0.0
    armorClass:t="RHA_tank"
    hp:r=1000.0
    armorThickness:r=15.0
  }

  body_front{
    hitTestType:t="armor"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=-1.0
    externalArmor:b=yes
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=0.0
    armorClass:t="RHA_tank"
    hp:r=1000.0
    armorThickness:r=8.0
  }

  body_bottom{
    hitTestType:t="armor"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=-1.0
    externalArmor:b=yes
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=0.0
    armorClass:t="RHA_tank"
    hp:r=1000.0
    armorThickness:r=8.0
  }

  ex_armor_01{
    hitTestType:t="armor"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=-1.0
    externalArmor:b=no
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=0.0
    armorClass:t="RHA_tank"
    hp:r=1000.0
    armorThickness:r=8.0
  }

  wheel_r_01{
    hitTestType:t="exclude"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=-1.0
    externalArmor:b=no
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=0.0
    vital:b=yes
    armorClass:t="tank_steel_wheels"
    hp:r=250.0
    armorThickness:r=10.0
  }

  wheel_l_01{
    hitTestType:t="exclude"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=-1.0
    externalArmor:b=no
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=0.0
    vital:b=yes
    armorClass:t="tank_steel_wheels"
    hp:r=250.0
    armorThickness:r=10.0
  }

  optic_turret{
    hitTestType:t="armor"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=-1.0
    externalArmor:b=no
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=0.0
    armorClass:t="optics_tank"
    hp:r=20.0
    armorThickness:r=3.0
  }

  gun_barrel{
    hitTestType:t="armor"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=-1.0
    externalArmor:b=no
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=0.0
    vital:b=yes
    armorClass:t="tank_barrel"
    hp:r=100.0
    armorThickness:r=10.0
  }

  loader{
    hitTestType:t="inner"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=-1.0
    externalArmor:b=no
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=1.0
    vital:b=yes
    armorClass:t="steel_tankman"
    hp:r=40.0
    genericDamageMult:r=3.0
  }

  gunner{
    hitTestType:t="inner"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=-1.0
    externalArmor:b=no
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=1.0
    vital:b=yes
    armorClass:t="steel_tankman"
    hp:r=40.0
    genericDamageMult:r=3.0
  }

  drive_turret_v{
    hitTestType:t="inner"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=5.0
    externalArmor:b=no
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=0.0
    vital:b=yes
    armorClass:t="tank_structural_steel"
    hp:r=150.0
    armorThrough:r=15.0
    hidableInViewer:b=no
  }

  drive_turret_h{
    hitTestType:t="inner"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=5.0
    externalArmor:b=no
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=0.0
    vital:b=yes
    armorClass:t="tank_structural_steel"
    hp:r=150.0
    armorThrough:r=15.0
    hidableInViewer:b=no
  }

  cannon_breech{
    hitTestType:t="inner"
    malfunctionDamage:r=0.7
    stopChanceOnDeadPart:r=1.0
    castOnKillAfterTankPartDead:b=no
    fireProtectionHp:r=5.0
    externalArmor:b=no
    minRelHpSelfRepair:r=0.5
    maxRelHpSelfRepair:r=0.5
    selfRepairDelay:r=0.0
    selfRepairTime:r=-1.0
    ignoreDeadWithSplash:b=no
    splashPenetrationToArmorThreshold:r=0.33
    pressureDamageMult:r=0.0
    vital:b=yes
    armorClass:t="tank_structural_steel"
    hp:r=150.0
    armorThickness:r=150.0
    hidableInViewer:b=no
    restrainDamage:r=0.5
    armorThrough:r=150.0
  }
}

DamageEffects{
}

MetaParts{

  armor_body{
    hp:r=100.0
    part:t="turret_top"
    part:t="turret_side"
    part:t="turret_front"
    part:t="body_back"
    part:t="body_front"
    part:t="body_bottom"

    effect{
      conditionDead:b=yes
      killEffect:t="expl"
      kill:b=yes
    }
  }

  open_fightning_compartment{
    part:t="driver"
    part:t="loader"
    part:t="gunner"
    part:t="commander"
    part:t="machine_gunner"
    part:t="gunner_01"
    part:t="gunner_02"
    part:t="loader_01"
    part:t="loader_02"

    effect{
      pressureOpen:b=yes
    }
  }

  closed_fightning_compartment{
    part:t="driver"
    part:t="loader"
    part:t="gunner"
    part:t="commander"
    part:t="machine_gunner"
    part:t="machine_gunner_01"
    part:t="machine_gunner_02"
    part:t="gunner_01"
    part:t="gunner_02"
    part:t="loader_01"
    part:t="loader_02"
    part:t="cannon_breech"
    part:t="ammo_turret"
    part:t="ammo_turret_01"
    part:t="ammo_turret_02"
    part:t="ammo_turret_03"
    part:t="ammo_turret_04"
    part:t="ammo_turret_05"
    part:t="ammo_turret_06"
    part:t="ammo_turret_07"
    part:t="ammo_turret_08"
    part:t="ammo_turret_09"
    part:t="ammo_turret_10"
    part:t="ammo_turret_11"
    part:t="ammo_turret_12"
    part:t="ammo_turret_13"
    part:t="ammo_turret_14"
    part:t="ammo_turret_15"
    part:t="ammo_turret_16"
    part:t="ammo_turret_17"
    part:t="ammo_turret_18"
    part:t="ammo_turret_19"
    part:t="ammo_turret_20"
    part:t="ammo_turret_21"
    part:t="ammo_turret_22"
    part:t="ammo_turret_23"
    part:t="ammo_turret_24"
    part:t="ammo_turret_25"
    part:t="ammo_turret_26"
    part:t="ammo_turret_27"
    part:t="ammo_turret_28"
    part:t="ammo_turret_29"
    part:t="ammo_turret_30"
    part:t="ammo_turret_31"
    part:t="ammo_turret_32"
    part:t="ammo_turret_33"
    part:t="ammo_turret_34"
    part:t="ammo_turret_35"
    part:t="ammo_turret_36"
    part:t="ammo_turret_37"
    part:t="ammo_turret_38"
    part:t="ammo_turret_39"
    part:t="ammo_turret_40"
    part:t="ammo_turret_41"
    part:t="ammo_turret_42"
    part:t="ammo_turret_43"
    part:t="ammo_turret_44"
    part:t="ammo_turret_45"
    part:t="ammo_turret_46"
    part:t="ammo_turret_47"
    part:t="ammo_turret_48"
    part:t="ammo_turret_49"
    part:t="ammo_turret_50"
    part:t="ammo_turret_51"
    part:t="ammo_turret_52"
    part:t="ammo_turret_53"
    part:t="ammo_turret_54"
    part:t="ammo_turret_55"
    part:t="ammo_body_01"
    part:t="ammo_body_02"
    part:t="ammo_body_03"
    part:t="ammo_body_04"
    part:t="ammo_body_05"
    part:t="ammo_body_06"
    part:t="ammo_body_07"
    part:t="ammo_body_08"
    part:t="ammo_body_09"
    part:t="ammo_body_10"
    part:t="ammo_body_11"
    part:t="ammo_body_12"
    part:t="ammo_body_13"
    part:t="ammo_body_14"
    part:t="ammo_body_15"
    part:t="ammo_body_16"
    part:t="ammo_body_17"
    part:t="ammo_body_18"
    part:t="ammo_body_19"
    part:t="ammo_body_20"
    part:t="ammo_body_21"
    part:t="ammo_body_22"
    part:t="ammo_body_23"
    part:t="ammo_body_24"
    part:t="ammo_body_25"
    part:t="ammo_body_26"
    part:t="ammo_body_27"
    part:t="ammo_body_28"
    part:t="ammo_body_29"
    part:t="ammo_body_30"
    part:t="ammo_body_31"
    part:t="ammo_body_32"
    part:t="ammo_body_33"
    part:t="ammo_body_34"
    part:t="ammo_body_35"
    part:t="ammo_body_36"
    part:t="ammo_body_37"
    part:t="ammo_body_38"
    part:t="ammo_body_39"
    part:t="ammo_body_40"
    part:t="ammo_body_41"
    part:t="ammo_body_42"
    part:t="ammo_body_43"
    part:t="ammo_body_44"
    part:t="ammo_body_45"
    part:t="ammo_body_46"
    part:t="ammo_body_47"
    part:t="ammo_body_48"
    part:t="ammo_body_49"
    part:t="ammo_body_50"
    part:t="ammo_body_51"
    part:t="ammo_body_52"
    part:t="ammo_body_53"
    part:t="ammo_body_54"
    part:t="ammo_body_55"
    part:t="ammo_body_56"
    part:t="ammo_body_57"
    part:t="ammo_body_58"
    part:t="ammo_body_59"
    part:t="ammo_body_60"
    part:t="ammo_body_61"
    part:t="ammo_body_62"
    part:t="ammo_body_63"
    part:t="ammo_body_64"
    part:t="ammo_body_65"
    part:t="ammo_body_66"
    part:t="ammo_body_67"
    part:t="ammo_body_68"
    part:t="ammo_body_69"
    part:t="ammo_body_70"
    part:t="ammo_body_l_01"
    part:t="ammo_body_l_02"
    part:t="ammo_body_l_03"
    part:t="ammo_body_l_04"
    part:t="ammo_body_l_05"
    part:t="ammo_body_l_06"
    part:t="ammo_body_l_07"
    part:t="ammo_body_l_08"
    part:t="ammo_body_l_09"
    part:t="ammo_body_l_10"
    part:t="ammo_body_l_11"
    part:t="ammo_body_l_12"
    part:t="ammo_body_l_13"
    part:t="ammo_body_l_14"
    part:t="ammo_body_l_15"
    part:t="ammo_body_l_16"
    part:t="ammo_body_l_17"
    part:t="ammo_body_l_18"
    part:t="ammo_body_l_19"
    part:t="ammo_body_l_20"
    part:t="ammo_body_r_01"
    part:t="ammo_body_r_02"
    part:t="ammo_body_r_03"
    part:t="ammo_body_r_04"
    part:t="ammo_body_r_05"
    part:t="ammo_body_r_06"
    part:t="ammo_body_r_07"
    part:t="ammo_body_r_08"
    part:t="ammo_body_r_09"
    part:t="ammo_body_r_10"
    part:t="ammo_body_r_11"
    part:t="ammo_body_r_12"
    part:t="ammo_body_r_13"
    part:t="ammo_body_r_14"
    part:t="ammo_body_r_15"
    part:t="ammo_body_r_16"
    part:t="ammo_body_r_17"
    part:t="ammo_body_r_18"
    part:t="ammo_body_r_19"
    part:t="ammo_body_r_20"
    part:t="radiator"
    part:t="radiator_l"
    part:t="radiator_r"
    part:t="radio_station"
    part:t="drive_turret_v"
    part:t="drive_turret_h"
    part:t="drive_turret_v_01"
    part:t="drive_turret_h_01"
    part:t="drive_turret_v_02"
    part:t="drive_turret_h_02"
    part:t="engine"
    part:t="transmission"
    part:t="fuel_tank"
    part:t="fuel_tank_01"
    part:t="fuel_tank_02"
    part:t="fuel_tank_03"
    part:t="fuel_tank_04"
    part:t="fuel_tank_05"
    part:t="fuel_tank_r_01"
    part:t="fuel_tank_r_02"
    part:t="fuel_tank_r_03"
    part:t="fuel_tank_r_04"
    part:t="fuel_tank_r_05"
    part:t="fuel_tank_l_01"
    part:t="fuel_tank_l_02"
    part:t="fuel_tank_l_03"
    part:t="fuel_tank_l_04"
    part:t="fuel_tank_l_05"

    effect{
      conditionDamageType:t="explosion"
      conditionDamage:r=1.0
      pressure:b=yes
    }

    effect{
      conditionDamageType:t="shatter"
      conditionDamage:r=1.0
      pressure:b=yes
    }
  }
}

Ну может и не точный код, но оружие уже без проблем создается. Хотя все же лучше в vehiclePhys и в damage_model прописать путь к обычному pak40, чем брать мой код.

2 лайка

gun__blk:t="xxx"

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

Совместное использование другого существующего оружия приведет к путанице в списке убийств.

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

2 лайка

big_action_shell_expl_map_icon_effect_team2 and big_action_shell_expl_map_icon_effect_team1 отсутствует

data/weapons/howitzer_lefh_18_40_105mm/_howitzer_lefh_18_40_105mm_gun.blk

Содержимое должно быть пустым или содержать одну строку stat_name:t="artillery"


vehicle_net_phys__blk damage_model__blk можно закомментировать

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

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


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

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

Omaha.zip (22,1 КБ)

3 лайка