Törni 0 Posted October 15, 2008 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? Share this post Link to post Share on other sites
modemmaik 53 Posted October 16, 2008 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  Share this post Link to post Share on other sites
Törni 0 Posted October 17, 2008 Got a link to this sample? I want take a closer look at it. Share this post Link to post Share on other sites
modemmaik 53 Posted October 17, 2008 While zShare is offline... all samples of the "Wollmilchsau Proto" are down But basically everything is included in RavenDK's sample Share this post Link to post Share on other sites
rip31st 98 Posted October 18, 2008 -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: NewTurret { proxyType="CPGunner"; proxyIndex=2; gunnerName="hull gunner"; primaryGunner=0; primaryObserver=0; body="obsTurret_1"; gun="obsGun_1"; animationSourceBody="obsTurret_1"; animationSourceGun="obsGun_1"; soundServo[]= { "", 0.003162, 1.000000 }; gunBeg=""; gunEnd=""; minElev=-4; maxElev=20; initElev=0; minTurn=-360; maxTurn=360; initTurn=0; commanding=2; outGunnerMayFire=1; inGunnerMayFire=1; viewGunnerInExternal=0; gunnerOpticsModel="\ca\Tracked\optika_tank_driver"; gunnerOutOpticsModel="\ca\Weapons\optika_empty"; gunnerOutOpticsColor[]={0,0,0,1}; gunnerOutForceOptics=0; gunnerOutOpticsShowCursor=0; memoryPointGunnerOutOptics="hull_gunner_view"; memoryPointGunnerOptics="hull_gunner_view1"; memoryPointsGetInGunner="pos driver"; memoryPointsGetInGunnerDir="pos driver dir"; memoryPointGun="machinegun"; 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; }; }; 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: CommanderOptics_1 { weapons[]= { "rip31st_m4a4_30_cal" }; magazines[]= { "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt", "100Rnd_m4a4_30_belt" }; gunBeg="bowmg_start"; gunEnd="bowmg_end"; body="ObsTurret_1"; gun="Obsgun_1"; gunnerAction="T72_CommanderOut"; gunnerInAction="T72_Commander"; forceHideGunner=1; startEngine=0; minElev=-5; maxElev=5; initElev=0; minTurn=-12; maxTurn=12; initTurn=0; gunnerOpticsModel="\rip31st_m4a4\optika_m4a4_commander"; soundServo[]= { "\ca\Weapons\Data\Sound\gun_elevate2", 0.000316, 1.000000 }; outGunnerMayFire=0; inGunnerMayFire=1; }; }; }; }; Don'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'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: Tank { skeletonInherit="Tank"; skeletonBones[]= { "otocvez1", "", "bowmg", "otocvez1", "otochLhaven1", "otocvez1" }; }; 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="rotationY"; source="obsTurret_1"; selection="bowmg"; axis="mg_vertical_axis"; animPeriod=0; memory=1; minValue="rad -25"; maxValue="rad +25"; angle0="rad -25"; angle1="rad +25"; }; class ObsGun_1: ObsTurret_1 { type="rotationX"; source="obsGun_1"; selection="bowmg"; axis="mg_horizontal_axis"; memory=1; }; This should get it all working. Hope it helps. If you need further assistance P/M me. *NOTE: I'm a noob at configs, but this is how I got it to work in Arma. I'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! Share this post Link to post Share on other sites
Törni 0 Posted October 18, 2008 Thanks for the examples. I'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. Share this post Link to post Share on other sites
modemmaik 53 Posted October 18, 2008 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'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: MainTurret { class Turrets { }; ... 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 Share this post Link to post Share on other sites
Törni 0 Posted October 26, 2008 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'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. Share this post Link to post Share on other sites
modemmaik 53 Posted October 30, 2008 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.  Share this post Link to post Share on other sites
vilas 477 Posted November 2, 2008 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", !!!!!!! 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[] = {"\ca\Weapons\Data\Sound\gun_elevate", 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 = "\ca\Tracked\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 = "\ca\Tracked\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 Share this post Link to post Share on other sites
Törni 0 Posted November 14, 2008 Thanks for the examples Vilas The bone structure should be OK. It is the strange commanding values of the previous example that are propably causing the strange behavior. I'll test it tonight. Share this post Link to post Share on other sites
Mateck 0 Posted November 17, 2008 Quote[/b] ]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  I didn't read entire topic carefully so maybe this solution was already posted, but here is what fixed this problem for my M1A1 HA... My M1A1 HA have 3 turrets: main gunner turret, loader turret, commander turret. Under each class I've added primaryGunner and primaryObserver entries to define which turret is main gunner turret and commander turret. Main gunner turret: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">primaryGunner = 1; primaryObserver = 0; Commander turret: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">primaryGunner = 0; primaryObserver = 1; Loader turret that is not primary gunner turret and commander turret: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">primaryGunner = 0; primaryObserver = 0; Here is riped turret class for my M1A1 HA: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">class Turrets: Turrets {  class MainTurret: MainTurret  {    primaryGunner = 1;    primaryObserver = 0;    commanding = 1;    class Turrets: Turrets    {     class CommanderOptics: CommanderOptics     {       primaryGunner = 0;       primaryObserver = 1;       commanding = 2;     };     class LoaderTurret: NewTurret     {       primaryGunner = 0;       primaryObserver = 0;       commanding = 0;     };    };  }; }; It seams that this fixed all problems with AI boarding new turret for M1A1 HA but I'm not 100% sure. Share this post Link to post Share on other sites