Возможно ли сделать флак 36?

В игре есть рендинст 88mm_flak_36_canon_a
Я хотел из него сделать стреляющий флак, в который игрок может сесть.
6 часов в пустоту.
Так может вы знаете как сделать?

2 лайка

А что именно вызывает трудности? Нормально и красиво вряд ли получится сделать.

Думаю, можно прикрепить к флаку.

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, который я не доделал). Однако же увы полностью избавиться от визуальных проблем вряд ли получится. Я про те крепления флака, хотя можно пойти другим путем и отказаться от визуального положения орудия.

4 лайка

Я хотел выдать флаку 88мм орудие от Тигра 2H , чтобы тот не стрелял горохом.
Еще хотелось выдать хорошие углы, чтобы можно было использовать по назначению

1 лайк

Поменять орудие можно просто изменив 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"
  }
2 лайка

А можно ли увеличить время перезарядки? На 3 минуты например

1 лайк

Да, можно. Для этого меняем gun__reloadTimeBase. Закидываем внутрь turretsInitialComponents.

1 лайк

А можно ли примерный код?

Немного ошибся и перепутал. :frowning:
Свойство 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.

2 лайка

А можно ли создать свою гранату?
Мне хотелось сделать противотанковую.
Да и подбираю - результата 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
}
2 лайка

Да, можно. Только тут еще вероятно надо будет прописать 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"
  }
}
2 лайка

А возможно ли поменять анимчар гранаты во время держания?
Ну типа взял в руки и видишь панцерфауст?
(так как я решил проблему с полётом)

1 лайк

Не пробовал ставить анимчар оружия на гранату, только технику ставил :slight_smile:
Стоит попробовать и глянуть что будет с анимациями, но вероятно будет как и с техникой. Держишь как гранату. Завтра уже гляну как там будет с оружием, но думаю ты можешь сам глянуть. Просто измени везде анимчар. Если что для изменения внешнего вида брошенной гранаты надо изменить phys и его прописать в отдельном файле (entityPhysTemplate:t=“no_69_impact_grenade_phys”).

1 лайк

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

Если что этот код для 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
}
2 лайка