Мне нужно сделать их, но незнаю как(
Во первых @tommyZZM , во вторых Не новости разработчиков, № 1, а что-то новое, сделанное игроком бесплатно
Успешно не найдено!)
Ну так ты в файлах поройся, но наверное легче будет Томми подождать, он писал ентити только он и разберется
Немного старая версия. В ней не было тех гаубиц.
Там есть ссылка на соурс код entities.blk:
entities_src.zip (24,6 КБ)
В файле entities_engineer_tunisia_artillery.blk содержится информация про орудие. Кусок кода для инженера находится в entities_engineer.blk и еще полезная информация в entities_1_vehicle_base.blk. В общем пока могу сказать точно что и как. Следи на названиями entities в файлах. Если что _entends:t=… расширяет/берет информацию из другого entity.
Тем не менее там старый код. Не те гаубицы, которые нужны тебе + что-то может не работать. Так что ждем Томми. Если же не появится, то завтра поищу более новую тему. Ну или сам попробую сделать, но тут только после того как проверю что не так с твоим пользовательским профилем.
Самая критическая часть
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
Это дополнительный файл данных, калибровать прицел необходимо самостоятельно, если вам нужна функция огня с закрытых позиций
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
}
}
Что мне записать в gun.blk для lefh и m30? Пожалуйста?
И нужны ли дымовые снаряды как файлы? Если да, то что мне в них записать?
Еще вылазит ошибка при попытке спавна любого из данных пушек
blk not found %ugm/data/units/building/towed_howitzer_base_on_pak40.blk
Спасибо!
В entities.blk кидаешь вот это:
Дальше зависит от тебя. Либо меняешь путь к файлам (например убираешь data/sight/), либо в папке с модом создаешь еще папки (например, data, а внутри еще sight). Это нужно, так как у тебя ссылка указывает на эти папки.
После этого ты создаешь еще парочку файлов. И кидаешь код, который скинул Томми. Например этот:
Да, он должен быть отдельно от entities.blk, так как структура совсем иная. В общем его кидаешь в файл, который внутри папки sight. И так далее с другими файлами, смотри какой у них путь в entities.
Путь указан не очень правильный: /data/data/weapons/
. У тебя же только одна папка data. Внутри неё нету еще одной такой же папки. Если что %ugm/ - это твоя папка.
Хотя странно, что игра не сообщила об этом и успешно запустилась.
Далее… В файле _howitzer_m1938_m30_122mm_gun.blk совсем другая информация. Почему-то там такой же код entities.blk. А должен быть только stat_name:t="artillery"
. Остальное, вроде, нормально сделаны.
Еще там с физикой не то, кажется.
Код для 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, чем брать мой код.
gun__blk:t="xxx"
Другая причина создания этого файла заключается в том, что для того, чтобы имя оружия было уникальным, необходим пустой файл.
Совместное использование другого существующего оружия приведет к путанице в списке убийств.
Если вам нужно сделать новое имя оружия, вам нужно добавить отдельный четный пустой параметр gun__blk
.
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 КБ)