Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: bow machinegun

  1. #1
    Has anyone come up with a solution of how to make WW2 tank hull machinegun to be manned and work properly?

    I'm working on a Tiger atm. Useless to continue if it is impossible to setup due engine limitations.

    An additional turret with a limited traverse perhaps?




  2. #2
    Quote Originally Posted by (Törni @ Oct. 15 2008,15:45)
    Has anyone come up with a solution of how to make WW2 tank hull machinegun to be manned and work properly?

    I'm working on a Tiger atm. Useless to continue if it is impossible to setup due engine limitations.

    An additional turret with a limited traverse perhaps?
    Yepp, that is what I tried with my BMP-T proto.
    I used RavenDK's multiple turret example as blueprint.

    Works as long as you do not assign a waypoint... the new gunner leaves the vehicle and heads for the assigned waypoint... by foot ***

    Same behaviour on all tanks that include an additional gunner ***




  3. #3
    Got a link to this sample?

    I want take a closer look at it.

  4. #4
    While zShare is offline... all samples of the "Wollmilchsau Proto" are down

    But basically everything is included in RavenDK's sample

  5. #5
    Master Gunnery Sergeant Rip31st's Avatar
    Join Date
    Mar 18 2008
    Location
    Where the cold winds blow
    Posts
    1,077
    -Add a selection for "bowmg" to your base LOD for the additional machine gun you want to show as a moving piece.

    -Add a two point horizontal axis in your memory LOD for that gun called "mg_vertical_axis" on a horizontal plane where you want your bowmg to move up and down.

    -Add a two point vertical axis in your memory LOD directly under it called "mg_horizontal_axis" where you want your bowmg to move left and right.

    -Add two points along the barrel in the memory LOD. Call one "bowmg_start" & "bowmg_end".

    -In the memory LOD Select the points for the "bowmg_start", "bowmg_end" & "mg_vertial_axis" and make a new selection called "otochHlaven1".

    -In the memory LOD Select "otochHlaven1" and "mg_horizontal_axis" and make a new selection called "otocvez1".

    -In the memory LOD make a new point for your new bowmg's gunner view. Call it "hull_gunner_view".


    Save your model and move to the config.

    -IF you use the BIS sample configs like I do: In your config.cpp under the turret section of cfgvehicles add a new turret sub class under the commandersoptics section if you are using a inheritable config ( this means you could possible use a base configuration and apply it to several models or tanks ):

    <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">
    class CommanderOptics_1&#58; NewTurret
    {
    proxyType=&#34;CPGunner&#34;;
    proxyIndex=2;
    gunnerName=&#34;hull gunner&#34;;
    primaryGunner=0;
    primaryObserver=0;
    body=&#34;obsTurret_1&#34;;
    gun=&#34;obsGun_1&#34;;
    animationSourceBody=&#34;obsTurret_1&#34;;
    animationSourceGun=&#34;obsGun_1&#34;;
    soundServo&#91;&#93;=
    {
    &#34;&#34;,
    0.003162,
    1.000000
    };
    gunBeg=&#34;&#34;;
    gunEnd=&#34;&#34;;
    minElev=-4;
    maxElev=20;
    initElev=0;
    minTurn=-360;
    maxTurn=360;
    initTurn=0;
    commanding=2;
    outGunnerMayFire=1;
    inGunnerMayFire=1;
    viewGunnerInExternal=0;
    gunnerOpticsModel=&#34;&#92;ca&#92;Tracked&#92;opt ika_tank_driver&#34;;
    gunnerOutOpticsModel=&#34;&#92;ca&#92;Weapons&#92; optika_empty&#34;;
    gunnerOutOpticsColor&#91;&#93;={0,0,0,1};
    gunnerOutForceOptics=0;
    gunnerOutOpticsShowCursor=0;

    memoryPointGunnerOutOptics=&#34;hull_gunner_view&# 34;;
    memoryPointGunnerOptics=&#34;hull_gunner_view1&#34 ;;
    memoryPointsGetInGunner=&#34;pos driver&#34;;
    memoryPointsGetInGunnerDir=&#34;pos driver dir&#34;;
    memoryPointGun=&#34;machinegun&#34;;


    class ViewOptics
    {
    initAngleX=0;
    minAngleX=-30;
    maxAngleX=30;
    initAngleY=0;
    minAngleY=-100;
    maxAngleY=100;
    initFov=0.420000;
    minFov=0.220000;
    maxFov=0.640000;
    };
    class ViewGunner
    {
    initAngleX=5;
    minAngleX=-30;
    maxAngleX=30;
    initAngleY=0;
    minAngleY=0;
    maxAngleY=0;
    initFov=0.420000;
    minFov=0.220000;
    maxFov=0.640000;
    };
    };
    [/QUOTE]

    IF you compare the BIS model of the T72, you will see all we did here was change a proxy number and appended "_1" to some of the info. Then the necessary changes were made in the new turret section with the new position "hull gunner view".

    From there you will need to add the actual turret config under the model class in the turret class section. This is where you will define your movement limitiations for this new turret. The code is nearly the same as the above, but look at the minor changes.


    <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

    class CommanderOptics_1&#58; CommanderOptics_1
    {
    weapons&#91;&#93;=
    {
    &#34;rip31st_m4a4_30_cal&#34;
    };
    magazines&#91;&#93;=
    {
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;,
    &#34;100Rnd_m4a4_30_belt&#34;

    };
    gunBeg=&#34;bowmg_start&#34;;
    gunEnd=&#34;bowmg_end&#34;;
    body=&#34;ObsTurret_1&#34;;
    gun=&#34;Obsgun_1&#34;;
    gunnerAction=&#34;T72_CommanderOut&#34;;
    gunnerInAction=&#34;T72_Commander&#34;;
    forceHideGunner=1;
    startEngine=0;
    minElev=-5;
    maxElev=5;
    initElev=0;
    minTurn=-12;
    maxTurn=12;
    initTurn=0;
    gunnerOpticsModel=&#34;&#92;rip31st_m4a4&#92;optik a_m4a4_commander&#34;;
    soundServo&#91;&#93;=
    {
    &#34;&#92;ca&#92;Weapons&#92;Data&#92;Sound&#92;gu n_elevate2&#34;,
    0.000316,
    1.000000
    };
    outGunnerMayFire=0;
    inGunnerMayFire=1;
    };





    };
    };
    };
    [/QUOTE]

    Don&#39;t copy my code verbatim as it contains custom gunner optics and weapons. You will have to replace those with your own. You can see maxturn and minturn=12 ( 12 degrees left and right for the bowmg ).

    Now in your model.cfg if you do the skeletion and cfgmodels section separately like I do you will have to add the skeleton bones for your new moving part. Again I used the BIS sample model.cfg&#39;s add just changed the one for the T72 and added my own custom moving parts:

    Under your skeleton section add this code with your own model info:

    <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">
    class rip31st_m4a4Skeleton&#58; Tank
    {
    skeletonInherit=&#34;Tank&#34;;
    skeletonBones&#91;&#93;=
    {

    &#34;otocvez1&#34;,
    &#34;&#34;,
    &#34;bowmg&#34;,
    &#34;otocvez1&#34;,
    &#34;otochLhaven1&#34;,
    &#34;otocvez1&#34;



    };
    };
    [/QUOTE]

    In your cfgmodels section add this code for you new bowmg:

    <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">
    class ObsTurret_1
    {
    type=&#34;rotationY&#34;;
    source=&#34;obsTurret_1&#34;;
    selection=&#34;bowmg&#34;;
    axis=&#34;mg_vertical_axis&#34;;
    animPeriod=0;
    memory=1;
    minValue=&#34;rad -25&#34;;
    maxValue=&#34;rad +25&#34;;
    angle0=&#34;rad -25&#34;;
    angle1=&#34;rad +25&#34;;
    };
    class ObsGun_1&#58; ObsTurret_1
    {
    type=&#34;rotationX&#34;;
    source=&#34;obsGun_1&#34;;
    selection=&#34;bowmg&#34;;
    axis=&#34;mg_horizontal_axis&#34;;
    memory=1;
    };
    [/QUOTE]

    This should get it all working. Hope it helps. If you need further assistance P/M me.

    *NOTE: I&#39;m a noob at configs, but this is how I got it to work in Arma. I&#39;m almost 100% sure there are more efficient ways to program it but it works very well for me. I try to share my info with all, so people can refer to it and have an less difficult time creating addons. There is somewhat of a top secret mentality floating behind some of the addon makers that keeps them from sharing. Sharing is caring.

    Goodluck&#33;
    "Obviously I like WW2 & Depeche Mode. If you don't like either...shove off m8" - rip31st

  6. #6
    Thanks for the examples.

    I&#39;ve made several addons so far, but they have all fallen into category of doing about similar stuff that BIS has done with ArmA.

    EDIT: A bit of tweaking and now Tiger has an additional crew member. Have to see if AI knows how to operate and actually also fire the weapon.




  7. #7
    I have re-uploaded the last prototype BMP-T proto 0.25 by zShare

    Only difference to the config Rip31st showed, is that I "reused" the T-72 turret definition for the additional right and left grenadelauncher turrets by removing the commander&#39;s turret via an empty Turrets class in the turret:
    <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">
    class GunTurret1&#58; MainTurret
    {
    class Turrets { };
    ...
    [/QUOTE]

    I have stopped the project, because someone else implements the BMP-T for ArmA. If anybody else want to continue this addon, feel free. It is unbinarized.

    @Rip31st: I agree, sharing is caring. But for this project I decided to share it at armed-assault.de forum and not in this forum here.

    mike

  8. #8
    Yes it works and AI even knows how to fire the bow mg. There are small annoyances.

    1) If you leave the vehicle via commander&#39;s place you cannot command the vehicle anymore. However if you change places with with other crew members and then exit you can command the vehicle normally.

    2) If the vehicle gets damaged sometimes the bow machinegunner exits the tank and continues on foot. (Might be caused by the AI addons that I have installed).

    But I can live with that.




  9. #9
    1) Each turret has tis own commanding value. The highest valued turret commands the vehicle. May be some turrets have the same commanding value and cause this effect ***

    2) Additional turrets can have strange effects. Just like the mentioned waypoint assignment effect. But no one discovered a sollution yet. They tend to leave the vehicle more often than the standard positions (cargo, driver, gunner, commander) in a vehicle. ***

  10. #10
    look at my Alien APC config , there is ***main turret and hull turret
    3 turrets is possible to

    Torni i can do a config for you for WW2 mod help, or look:

    LETS CALL HULL TURRET SELECTION OTOCVEZ3

    MAIN IS OTOCVEZ1
    COMMANDER OTOCVEZ2

    (dear moderator i must write in big letters for important things)

    _


    class CfgSkeletons ***

    there you define all selections but most important will be:

    "otocvez","",
    "otochlaven","otocvez",
    "otocvez_2","otocvez",
    "otochlaven_2","otocvez_2",
    "otocvez_3","",
    "otochlaven_3","otocvez_3",


    &#33;&#33;&#33;&#33;&#33;&#33;&#33;

    MOST IMPORTANT
    it causes that vez3 follows NOTHING, vez2 follows main turret

    if you have it than turret 1 is main, turret 2 obey commander and turret 1 movement and turret 3 folows noone

    =====================================


    cfg models:


    class otocvez
    {
    *** *** *** type = "rotationY";
    *** *** *** source = "mainTurret";
    selection = "otocvez";
    axis = "OsaVeze";
    memory = true;
    sourceAddress = "loop";
    minValue = rad -360;
    *** *** *** *** *** *** *** *** *** maxValue = rad +360;
    *** *** *** *** *** *** *** *** *** *** angle0 = rad -360;
    *** *** *** angle1 = "rad 360";
    *** };
    class otochlaven
    {
    *** *** *** type = "rotationX";
    *** *** *** source = "mainGun";
    selection = "OtocHlaven";
    axis = "OsaHlavne";
    memory = true;
    sourceAddress = "clamp";
    minValue = "rad -8.5";
    *** *** *** *** *** *** *** *** *** maxValue = "rad 50";
    *** *** *** *** *** *** *** *** *** *** angle0 = "rad -8.5";
    *** *** *** angle1 = "rad 50";
    *** };
    class otocvez_2
    {
    *** *** *** type = "rotationY";
    *** *** *** source = "obsTurret";
    selection = "otocvez_2";
    axis = "OsaVeze_2";
    memory = true;
    sourceAddress = "loop";
    minValue = rad -360;
    *** *** *** *** *** *** *** *** *** maxValue = rad +360;
    *** *** *** *** *** *** *** *** *** *** angle0 = rad -360;
    *** *** *** angle1 = "rad 360";
    *** };
    class otochlaven_2
    {
    *** *** *** type = "rotationX";
    *** *** *** source = "obsGun";
    selection = "OtocHlaven_2";
    axis = "OsaHlavne_2";
    memory = true;
    sourceAddress = "clamp";
    minValue = "rad -8.5";
    *** *** *** *** *** *** *** *** *** maxValue = "rad 50";
    *** *** *** *** *** *** *** *** *** *** angle0 = "rad -8.5";
    *** *** *** angle1 = "rad 50";
    *** };
    class otocvez_3
    {
    *** *** *** type = "rotationY";
    *** *** *** source = "Turret_3";
    selection = "otocvez_3";
    axis = "OsaVeze";
    memory = true;
    sourceAddress = "loop";
    minValue = rad -360;
    *** *** *** *** *** *** *** *** *** maxValue = rad +360;
    *** *** *** *** *** *** *** *** *** *** angle0 = rad -360;
    *** *** *** angle1 = "rad 360";
    *** };
    class otochlaven_3
    {
    *** *** *** type = "rotationX";
    *** *** *** source = "Gun_3";
    selection = "OtocHlaven_3";
    axis = "OsaHlavne_3";
    memory = true;
    sourceAddress = "clamp";
    minValue = "rad -8.5";
    *** *** *** *** *** *** *** *** *** maxValue = "rad 50";
    *** *** *** *** *** *** *** *** *** *** angle0 = "rad -8.5";
    *** *** *** angle1 = "rad 50";
    *** };

    =========================================
    cfg vehicles :

    class Turrets : Turrets {
    class MainTurret : MainTurret {
    body = "OtocVez";
    gun = "OtocHlaven";
    animationSourceBody = "mainTurret";
    animationSourceGun = "mainGun";
    animationSourceHatch = "hatchGunner";
    weapons[] = {VIL_sher_cannon,VIL_m1919_tank};
    magazines[] = {"1200Rnd_762x51_M240","VIL_sher_GUN1", "VIL_sher_GUN2"};
    soundServo[] = {"&#92;ca&#92;Weapons&#92;Data&#92;Sound&#92;gun_e levate", 0.001, 1.1};
    minElev = -5;
    maxElev = 20;
    minTurn = -360;
    maxTurn = 360;
    memoryPointGun = "kulas";
    memoryPointGunnerOptics = "gunnerview";
    gunnerAction = "BMP2_Gunner";
    gunnerInAction = "BMP2_Gunner";
    gunBeg = "usti hlavne";
    gunEnd = "konec hlavne";
    forceHideGunner = 1;
    gunnerOpticsModel = "&#92;ca&#92;Tracked&#92;optika_M1A1_gunner";
    gunnerOutOpticsModel = "";

    class Turrets : Turrets {
    class CommanderOptics : CommanderOptics {
    weapons[] = {"M2"};
    magazines[] = {"100Rnd_127x99_M2", "100Rnd_127x99_M2"};
    gunnerOpticsModel = "-";
    body = "OtocVez_2";
    gun = "OtocHlaven_2";
    animationSourceBody = "obsTurret";
    animationSourceGun = "obsGun";
    animationSourceHatch = "";
    selectionFireAnim = "zasleh_2";
    minElev = -10;
    maxElev = 70;
    minTurn = -360;
    maxTurn = 360;
    proxyIndex = 1;
    gunnerName = commander;
    commanding = 1;
    gunBeg = "usti hlavne_2";
    gunEnd = "konec hlavne_2";
    primary = false;
    memoryPointGun = "kulas_2";
    memoryPointGunnerOptics = "gunnerview_2";
    gunnerAction = "BMP2_Gunner";
    gunnerInAction = "BMP2_Gunner";

    };
    };
    };


    class BackTurret : MainTurret {
    body = "OtocVez_3";
    gun = "OtocHlaven_3";
    animationSourceBody = "Turret_3";
    animationSourceGun = "Gun_3";
    animationSourceHatch = "";
    selectionFireAnim = "zasleh_3";
    minElev = -10;
    maxElev = 10;
    minTurn = -20;
    maxTurn = 20;
    proxyIndex = 2;
    gunnerName = codriver/ front gunner;
    commanding = 0;
    gunnerOpticsModel = "&#92;ca&#92;Tracked&#92;optika_stryker_gunner ";
    gunnerForceOptics = true;
    gunBeg = "usti hlavne_3";
    gunEnd = "konec hlavne_3";
    primary = false;
    memoryPointGun = "kulas_3";
    memoryPointGunnerOptics = "gunnerview_3";
    gunnerAction = "BMP2_Gunner";
    gunnerInAction = "BMP2_Gunner";


    weapons[] = {VIL_m1919_tank};
    magazines[] = {"1200Rnd_762x51_M240"};

    };

    IT IS EXAMPLE OF SHERMAN NEVER RELEASED BY ME, MADE OVER YEAR AGO

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •