В игре есть рендинст 88mm_flak_36_canon_a
Я хотел из него сделать стреляющий флак, в который игрок может сесть.
6 часов в пустоту.
Так может вы знаете как сделать?
А что именно вызывает трудности? Нормально и красиво вряд ли получится сделать.
Думаю, можно прикрепить к флаку.
flak88mm{
_extends:t="builded_cannon_germ_20mm_flak38"
"disableDMParts:list<t>"{
Part:t="@root"
}
"attach_decorators__entities:list<eid>"{
}
"attach_decorators__templates:array"{
"attach_decorators__templates:object"{
relativeTm:m=[[1.31134e-07, -2.94055e-07, -1] [-1, -4.37114e-08, -1.31134e-07] [-4.37114e-08, 1, -2.94055e-07] [-0.31,-1.27,0.0]]
template:t="ri_flak88mm"
nodeName:t="bone_gun_barrel"
}
}
}
ri_flak88mm{
_extends:t="game_rendinst_decor"
_extends:t="base_vehicle_decor"
animchar_render__enabled:b=no
animchar__res:t="sandbag_single_decor_a_char"
collres__res:t="sandbag_single_decor_a_collision"
ri_extra__name:t="88mm_flak_36_canon_a"
ri_extra__hasCollision:b=no
}
А далее поправить положение и возможно анимации бойца. Можно пойти дальше и изменить положение РИ и/или скрыть некоторые детали техники (disableDMParts, который я не доделал). Однако же увы полностью избавиться от визуальных проблем вряд ли получится. Я про те крепления флака, хотя можно пойти другим путем и отказаться от визуального положения орудия.
Я хотел выдать флаку 88мм орудие от Тигра 2H , чтобы тот не стрелял горохом.
Еще хотелось выдать хорошие углы, чтобы можно было использовать по назначению
Поменять орудие можно просто изменив gun внутри turretInfo. А углы можно подправить в turretsInitialComponents, добавив объект, а внутри него изменив turret__limit.
Код к прошлому коду:
"turret_control__turretInfo:shared:array"{
"turretInfo:object"{
gun:t="pzkpfw_vi_ausf_b_tiger_iih_turret_01_88mm_kwk43+turret_with_several_types_of_shells+main_turret"
turretGroup:t="main_turrets"
turretName:t="turret_01"
}
}
"turretsInitialComponents:array"{
"turretsInitialComponents:object"{
turret__limit:p4=-180,180,-10,90
turret__aimNodeName:t=""
}
}
"turret_gun_flash_fx__flashFx:shared:array"{
fx:t="muzzle_ground_100mm_brake"
}
А можно ли увеличить время перезарядки? На 3 минуты например
Да, можно. Для этого меняем gun__reloadTimeBase. Закидываем внутрь turretsInitialComponents.
А можно ли примерный код?
Немного ошибся и перепутал.
Свойство gun__shotFreq у танковых орудии отвечает за перезарядку тоже. А gun__reloadTimeBase относится к тем орудиям, у которых есть магазин, ну не один раз стреляют перед перезарядкой. В целом код будет таким:
"turretsInitialComponents:array"{
"turretsInitialComponents:object"{
turret__limit:p4=-180,180,-10,90
gun__shotFreq:r=9999
}
}
Если что эти свойства тоже влияют на углы.
"turretsInitialComponents:array"{
"turretsInitialComponents:object"{
turret__limit:p4=-180,180,-180,180
gun__shotFreq:r=9999
"turret__limitsTable:list<p4>"{
item:p4=-180,180,-180,180
item:p4=-180,180,-180,180
}
}
}
И, да, ты можешь в редакторе скопировать почти любой объект, поменять свойства и затем из scene.blk перекинуть в entities.blk.
А можно ли создать свою гранату?
Мне хотелось сделать противотанковую.
Да и подбираю - результата 0. Т.е тупо не могу кинуть
German_Antitank_grenade{
_extends:t="no_69_impact_grenade_item"
_extends:t="item_in_world"
item__name:t="Panzerwurfmine Anti-tank Grenade"
item__shell:t="%ugm/data/weapons/exp.blk"
item__proto:t="%ugm/data/weapons/exp.blk"
}
И файлик
mass:r=1.0
momentOfInertia:p3=0.04, 0.008, 0.04
caliber:r=0.04
speed:r=18.5
speedPitch:r=5.0
maxDistance:r=5.0
physMat:t="grenadeRay"
useFutureContacts:b=yes
logCCD:b=no
frictionGround:r=2.0
entityTemplate:t="no_69_impact_grenade"
entityPhysTemplate:t="no_69_impact_grenade_phys"
ccdClipVelocityMult:r=0.0
explosiveType:t="tnt"
explodeHitPower:r=250.0
explodeArmorPower:r=35.0
explodeRadius:p2=1.0, 2.5
collisionResource{
props{
volumeBox:t="box"
}
}
ccdSpheres{
ccd:p4=0.0, 0.05, 0.0, 0.015
ccd:p4=0.0, 0.2, 0.0, 0.015
ccd:p4=0.0, -0.05, 0.0, 0.015
}
visual{
template:t="no_69_impact_grenade_item+item_in_world"
}
detonation{
onHit:b=no
timer:r=0.1
}
explFx{
fxScale:p2=2.8, 2.9
effectTemplName:t="explosion_effect_extra_large+disable_effect_sfx"
}
explSound{
explSoundPath:t="impact/grenade"
}
shellSound{
activatePath:t="/weapon/explosive/activate"
}
splashDamage{
radius:p2=1.0, 10.0
penetration:p2=15.0, 2.0
damage:r=60.0
dmgOffset:p3=0.0, 0.25, 0.0
}
solver{
energyConservation:r=0.15
}
Да, можно. Только тут еще вероятно надо будет прописать item и phys версии.
И главное - не забыть изменить grenade_thrower. В нем надо добавить еще одну строку и написать новую гранату, ссылку на файлик.
grenade_thrower{
_override:b=yes
"gun__shells:array"{
gun__shells:t="content/enlisted/gamedata/weapons/grenades/m24.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/m24_smoke.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/m24_smoke_short_time.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/usa_mk2.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/uk_mills_grenade.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/usa_anm8_smoke.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/m24_flash.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/f1.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/rdg1_smoke.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/signal_flare.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/explosion_pack.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/ger_molotov.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/ussr_molotov.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/jap_molotov.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/srcm_mod_35fl.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/no_69_impact_grenade.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/srcm_mod_35_impact_grenade.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/m_15_incendiary_grenade.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/type_91_incendiary_grenade.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/uk_no_77_incendiary_grenade.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/srcm_mod_35_incendiary_grenade.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/type_97_grenade.blk"
gun__shells:t="content/enlisted/gamedata/weapons/grenades/type_94_smoke_grenade.blk"
gun__shells:t="%ugm/tear.blk"
}
}
А возможно ли поменять анимчар гранаты во время держания?
Ну типа взял в руки и видишь панцерфауст?
(так как я решил проблему с полётом)
Не пробовал ставить анимчар оружия на гранату, только технику ставил
Стоит попробовать и глянуть что будет с анимациями, но вероятно будет как и с техникой. Держишь как гранату. Завтра уже гляну как там будет с оружием, но думаю ты можешь сам глянуть. Просто измени везде анимчар. Если что для изменения внешнего вида брошенной гранаты надо изменить phys и его прописать в отдельном файле (entityPhysTemplate:t=“no_69_impact_grenade_phys”).
Подскажите, пожалуйста, точный код, потому что у меня нет правильного взгляда (спасибо за ответ).
Если что этот код для entities.blk (код объектов, шестой раздел в неофициальном гайде), а не для scene.blk (кода карты). Если не ошибаюсь, то код должен быть рабочим. UPD: А, вместо extends уже используем use для расширения/использования свойств из других объектов.
В комментариях дальше будут дополнения к коду, так что он, вероятно, будет таким:
flak88mm{
_use:t="builded_cannon_germ_20mm_flak38"
"disableDMParts:list<t>"{
Part:t="@root"
}
"attach_decorators__entities:list<eid>"{
}
"attach_decorators__templates:array"{
"attach_decorators__templates:object"{
relativeTm:m=[[1.31134e-07, -2.94055e-07, -1] [-1, -4.37114e-08, -1.31134e-07] [-4.37114e-08, 1, -2.94055e-07] [-0.31,-1.27,0.0]]
template:t="ri_flak88mm"
nodeName:t="bone_gun_barrel"
}
}
"turret_control__turretInfo:shared:array"{
"turretInfo:object"{
gun:t="pzkpfw_vi_ausf_b_tiger_iih_turret_01_88mm_kwk43+turret_with_several_types_of_shells+main_turret"
turretGroup:t="main_turrets"
turretName:t="turret_01"
}
}
"turretsInitialComponents:array"{
"turretsInitialComponents:object"{
turret__limit:p4=-180,180,-10,90
turret__aimNodeName:t=""
}
}
"turret_gun_flash_fx__flashFx:shared:array"{
fx:t="muzzle_ground_100mm_brake"
}
}
ri_flak88mm{
_use:t="game_rendinst_decor"
_use:t="base_vehicle_decor"
animchar_render__enabled:b=no
animchar__res:t="sandbag_single_decor_a_char"
collres__res:t="sandbag_single_decor_a_collision"
ri_extra__name:t="88mm_flak_36_canon_a"
ri_extra__hasCollision:b=no
}