Jump to content

scotg

Member
  • Content Count

    416
  • Joined

  • Last visited

  • Medals

Posts posted by scotg


  1. I should also add that @lilwillie's server is one of only two Fight for Freedom officially approved Arma 3 mod servers - the first one in fact. What makes them official? Mostly it's the fact that they are promoted in the Discord, and that I actually play on them. These guys put a lot of effort and thought into building comprehensive scenarios for using the FfF vehicles and characters. If you're in the FfF Discord server/channels just make a request to become a participant... well, just get over there and we'll help get you set up.

    There are complications with the "Comms Snake" helmet lights - some Arma 3 limitations, but hopefully there can be some kind of work-around. I've tried making first-person perspective helmets before, but they seem to animate differently than the player's view. You see, Arma 3 character animations are very fidgety, by default. You'll notice other characters move a round a lot, but you won't notice it as much from 1st POV because of the different virtual cameras used. To nullify the effect, BI have omitted the head and all the headgear from the 1st POV model. As I discovered the hard way, putting a helmet model in the 1st POV means that when the character looks at his shoe or whatever, you tend to see the ear padding of the inside helmet. Now imagine this when you have helmet lights on... they'd be shining everywhere because there's no military discipline in these characters whatsoever. HOWEVER, I did design the helmet with LEDs just in case there is a solution, so I hope to find one - even if it only sort of works. Time will tell.

    Side Note: The best solution would be for BI to take out all the fidgety animations and attach the camera to the actual head.

    If working helmets are super cool to you, then check out the Elite Trooper (the not-Viper). I've given their visors the ability to flip up like a motorcycle helmet so they can wear their goggles as NVGs. Also, the 61st JTF Tank Commander (a la Steeler) has NVG and Thermal modes, and I hope to add a rangefinder function to it. Lots of cool stuff, but it also alludes to even more cool stuff to come.

    • Like 1

  2. Shot in the dark, but I wonder if your fix for preventing water damage could be applied to sea-planes and sea-choppers? I have some aircraft in-game that I really want to get them taking off or taxiing on water, but they tend to explode with the tiniest droplet if the speed is too fast. Is there is a config line that I'm missing in my mods, I wonder?


  3. @jandrews I still haven't implemented the specific characters, so it's still a build-a-soldier thing. A lot of the people who play it like to customize their characters (some jokingly call it Arma Barbie). There is definitely a need for specific characters, but I have yet to sit down and sort out exactly how to make those classes. Thanks for still playing!

    @zukov Thank you, very much! I hope you enjoy flying that thing. It is an odd little vehicle that has gained the favor of many players with sheer astonishment, even some that may consider themselves hardcore.


  4. It's been a while since anyone has posted here, but the mod is far from dead. In fact, it's better than ever and still improving. Major developmental issues have been addressed and fixed, even stuff that nobody was aware of on the surface. Still many of the same issues remain, but they are being eliminated in due time.

    How could it be going so well if it has been silent since February? The simple answer is that most of the people staying in touch with the mod have joined up on the Discord Server: https://discord.gg/SZtm46k. We are actively play-testing as a group most weeks, regularly on Monday nights (Autumn - US schedule) and randomly throughout the week in smaller groups. Come in, say hi, announce you're new, and someone will help you get all set up to join. Alternatively, you can just pop in to watch the comments and get occasional progress reports on the development. It's a great place to be, so get in there.

    • Like 4
    • Thanks 1

  5. 1 minute ago, UK_Apollo said:

    ... gunBeg and gunEnd ... I'm not entirely clear if they're relevant to your case. 

    They're not relevant, as I found out. AFAICT, they affect the direction any projectile would travel, but there's no commander weapon assigned to the commander "gun" which results in nothing. They are used for single barrel vehicle guns, whereas "memoryPointGun[]" is used for multiple barrels (hence the array brackets), or for a secondary gun. "gunBeg" and "gunEnd" might also have something to do with where the muzzle flash is and where the casing ejects. I had them in // before the video and just never put it back.


  6. It's been almost a year, and I'm still having problems with my tank commander position. I had taken a step away from the tanks for most of that time, but now I'm revisiting them and hoping to get this resolved once and for all. To assist in the explanation, I've once again created a video explaining the problem, so please watch:

     

     

    config.cpp:

    Spoiler
    
    #define _ARMA_
    #include "basicdefines_A3.hpp"
    /* The Black Bear Light Tank exists because much of the 61st JTF's purpose hinges on the ability to move quickly into a hot zone. 
    A re-evaluation of the Rapid Deployment Force/Light Tank project (RDF/LT) caught the attention of the unit's brass. The US 
    DoD had long decided not to renew the tank's development contract in an official capacity, but it was far enough along 
    in development to be picked up for "other uses". After another five years of development, the RDF/LT would start to 
    roll off top secret assembly lines, and became the Black Bear LT. The original RDF/LT had accounted for future planning 
    since its inception, and the Black Bear features technological upgrades that were previously expensive and unreliable during the 
    project's early phases. These upgrades include digital displays for all crew, automatic fire extinguisher systems, and 3D holographic 
    projection display, to name a few. */
    enum 
    {
    	destructengine = 2,
    	destructdefault = 6,
    	destructwreck = 7,
    	destructtree = 3,
    	destructtent = 4,
    	stabilizedinaxisx = 1,
    	stabilizedinaxesxyz = 4,
    	stabilizedinaxisy = 2,
    	stabilizedinaxesboth = 3,
    	destructno = 0,
    	stabilizedinaxesnone = 0,
    	destructman = 5,
    	destructbuilding = 1
    };
    class CfgPatches
    {
    	class Mauler
    	{
    		addonRootClass = "A3_Armor_F_EPB";
    		units[] = {"mauler_F"};
    		weapons[] = {};
    		requiredVersion = 0.1;
    		requiredAddons[] = {"A3_Armor_F_EPB"};
    	};
    };
     class CfgMovesBasic
    {
    	class Default;
    	class DefaultDie;
    	class ManActions
    	{
    		mauler_Driver = "mauler_driver";
    		mauler_Commander = "mauler_commander";
    		mauler_Gunner = "mauler_gunner";
    	};
    }; 
    class CfgMovesMaleSdr: CfgMovesBasic
    {
    	class States
    	{
    		class Crew;
    		class mauler_driver: Crew
    		{
    			file = "vhx_armor\gijoe_mauler\anims\mauler_driver";
    			actions = "CargoActions";
    			aiming = "aimingNo";
    			aimingBody = "aimingNo";
    			//legs = "legsNo";
    			//head = "headNo";
    			disableWeapons = 1;
    			interpolationRestart = 1;
    			soundEdge[] = {0.45};
    			boundingSphere = 2.5;
    			canPullTrigger = 0;
    			leaning = "crewShake";
    			rightHandIKCurve[] = {1};
    			leftHandIKCurve[] = {1};
    			rightLegIKCurve[] = {1};
    			leftLegIKCurve[] = {1};
    			ConnectTo[] = {};
    			InterpolateTo[] = {"Unconscious",0.1};
    		};
    		class mauler_commander: mauler_driver
    		{
    			file = "vhx_armor\gijoe_mauler\data\Anims\commander\mauler_commander";
    			interpolateTo[] = {"mauler_KIA_Commander",1};
    		};
    		class mauler_commanderOut: Crew
    		{
    			file = "vhx_armor\gijoe_mauler\data\Anims\commanderOut\mauler_commanderOut";
    			interpolateTo[] = {"mauler_KIA_CommanderOut",1};
    		};
    		class mauler_KIA_commanderOut: DefaultDie
    		{
    			file = "vhx_armor\gijoe_mauler\data\Anims\commander\mauler_commander";
    			speed = 0.5;
    			looped = 0;
    			terminal = 1;
    			soundEnabled = 0;
    			connectTo[] = {"Unconscious",0.1};
    		};
    		class mauler_KIA_commander: mauler_KIA_CommanderOut
    		{
    			file = "vhx_armor\gijoe_mauler\data\Anims\commander\mauler_commander";
    		};
    		class mauler_KIA_gunner: mauler_KIA_CommanderOut
    		{
    			file = "vhx_armor\gijoe_mauler\data\Anims\mauler_gunner";
    		};
    		//---------------------------------------------------------
    		class mauler_Gunner: mauler_driver
    		{
    			file = "vhx_armor\gijoe_mauler\data\Anims\mauler_gunner";
    			interpolateTo[] = {"mauler_KIA_gunner",1};
    		};
    		class mauler_GunnerOut: Crew
    		{
    			file = "vhx_armor\gijoe_mauler\data\Anims\mauler_gunner";
    			interpolateTo[] = {"mauler_KIA_gunnerOut",1};
    		};
    		class mauler_KIA_GunnerOut: mauler_KIA_CommanderOut
    		{
    			file = "vhx_armor\gijoe_mauler\data\Anims\mauler_KIA_gunner";
    		};
    	};
    };
    
    class DefaultEventhandlers;
    class WeaponFireGun;
    class WeaponCloudsGun;
    class WeaponFireMGun;
    class WeaponCloudsMGun;
    class RCWSOptics;
    class Optics_Armored;
    class Optics_Commander_01: Optics_Armored
    {
    	class Wide;
    	class Medium;
    	class Narrow;
    };
    class Optics_Gunner_MBT_02: Optics_Armored
    {
    	class Wide;
    	class Medium;
    	class Narrow;
    };
    class CfgVehicles
    {
    	class LandVehicle;
    	class Tank: LandVehicle
    	{
    		class NewTurret;
    		class Sounds;
    		class HitPoints;
    	};
    	class Tank_F: Tank
    	{
    		class Turrets
    		{
    			class MainTurret: NewTurret
    			{
    				class ViewGunner;
    				class Turrets
    				{
    					class CommanderOptics;
    				};
    			};
    		};
    		class AnimationSources;
    		class ViewPilot;
    		class ViewOptics;
    		class ViewCargo;
    		class HeadLimits;
    		class HitPoints: HitPoints
    		{
    			class HitHull;
    			class HitFuel;
    			class HitEngine;
    			class HitLTrack;
    			class HitRTrack;
    		};
    		class Sounds: Sounds
    		{
    			class Engine;
    			class Movement;
    		};
    	};
    	class mauler_Base: Tank_F
    	{
    		author = "Scot Gilmore";
    		model = "vhx_armor\gijoe_mauler\mauler1.p3d";
    		picture = "vhx_armor\gijoe_mauler\data\UI\pic_blackbear_ca.paa";
    		Icon = "vhx_armor\gijoe_mauler\data\UI\map_blackbear_ca.paa";
    		scope = 0;
    		MapSize = 7;
    		//features = "Randomization: No<br />Camo selections: 2 - turret, hull<br />Script door sources: None	<br />Script animations: HideTurret	<br />Executed scripts: None	<br />Firing from vehicles: No	<br />Slingload: No	<br />Cargo proxy indexes: 1 to 7";
    		textSingular = "Black Bear";
    		textPlural = "Black Bears";
    		nameSound = "tank";
    		vehicleClass = "61JTF_Armor";
    		displayname = "Black Bear LT";
    		accuracy = 0.3;
    		fuelCapacity = 640;
    		#include "sounds.hpp"
    		insideSoundCoef = 0.9;
    
    /// Offense/Defense		
    		smokeLauncherGrenadeCount = 6; //Number of smoke shells launched at once
    		smokeLauncherVelocity = 14; //Velocity which smoke shells are launched at
    		smokeLauncherOnTurret = 1; //0 if smoke launchers are on hull, 1 if on turret
    		smokeLauncherAngle = 120; //Angle within which smoke grenades are launched (actual spacing may end up smaller so use slighty higher number)
    		threat[] = {0.9,0.9,0.4};
    		
    /// Strength and Durability		
    		cost=1500000;
    		damageResistance = 0.02;
    		armor = 260;
    		armorStructural = 280;
    		category = "Armored";
    		camouflage = 5;
    		destrType = "DestructDefault";
    		
    /// Sensor Stuff
    		radarType = 1;
    		LockDetectionSystem = 4;
    		IncommingMisslieDetectionSystem = 16;
    		irscanrangemax = 3000;
    		irscanrangemin = 500;
    		irtarget = 1;
    		irScanGround = 0;
    		laserscanner = 0;
    		
    /// Fording
    		maxFordingDepth = 1.5;
    		waterResistance = 0;
    		waterDamageEngine = 0.2;
    		waterLeakiness = 10;
    		
    ///Crew Stuff
    		driverAction = "mauler_driver";
    		driverInAction = "mauler_driver";
    		//crew = "mauler_driver";
    		viewCargoShadow = 1;
    		viewCargoShadowDiff = 0.05;
    		viewCargoShadowAmb = 0.5;
    		transportSoldier = 0;
    		getInAction = "GetInLow";
    		getOutAction = "GetOutLow";
    		cargoGetInAction[] = {"GetInHigh"};
    		cargoGetOutAction[] = {"GetOutHigh"};
    		forceHideDriver = 0;
    		viewDriverInExternal = 1;
    		DriverForceOptics = 0;
    		driverDoor = "hatchDriver";
    		crewVulnerable = false;
    		crewExplosionProtection = 0.9999;
    		
    ///Powertrain
    		simulation = "tankX";
    		normalSpeedForwardCoef = 0.7;
    		slowSpeedForwardCoef = 0.45;
    		/*
    		torqueCurve[] = 
    		{
    			{"(0/8000)","(2300/2300)"},
    			{"(1143/8000)","(2300/2300)"},
    			{"(2286/8000)","(2300/2300)"},
    			{"(3429/8000)","(2300/2300)"},
    			{"(4572/8000)","(2300/2300)"},
    			{"(5715/8000)","(2300/2300)"},
    			{"(6858/8000)","(2300/2300)"},
    			{"(8000/8000)","(2300/2300)"}
    		};
    		*/
    		torqueCurve[] = 
    		{
    			{0.363636,0.68},
    			{0.454545,0.8},
    			{0.545455,0.95},
    			{0.606061,0.98},
    			{0.666667,1},
    			{0.727273,0.94},
    			{0.848485,0.8},
    			{1,0.64}
    		};
    		
    		maxOmega = 272.27;
    		engineMOI = 9.0;
    		enginePower = 1230;
    		peakTorque = 1660;
    		idleRPM = 850;
    		redRPM = 2600;
    		thrustDelay = 0.2;
    		engineLosses = 25;
    		switchTime = 0.1;
    		clutchStrength = 105.0;
    		changeGearMinEffectivity[] = {0.95,0.0,0.85};
    		transmissionLosses = 15;
    		latency = 1.0;
    		//tankTurnForce = 1.28e+006;
    		tankTurnForce = 210000;
    		tankTurnForceAngMinSpd = 0.6;
    		tankTurnForceAngSpd = 0.91;
    		accelAidForceCoef = 1.0;
    		accelAidForceYOffset = -2.0;
    		accelAidForceSpd = 1.6;
    		
    		tracksSpeed = 1.375;
    		maxSpeed = 95;
    		brakeIdleSpeed = 1.78;
    		
    		class complexGearbox
    		{
    			///GearboxRatios[] = {"R1",-2.0,"N",0,"D1",1.0};
    			///GearboxRatios[] = {"R1",-2.235,"N",0,"CD0","2*(0.75^(-10))","CD1","2*(0.75^(-9))","CD2","2*(0.75^(-8))","CD3","2*(0.75^(-7))","CD4","2*(0.75^(-6))","CD5","2*(0.75^(-5))","CD6","2*(0.75^(-4))","CD7","2*(0.75^(-3))","CD8","2*(0.75^(-2))","CD9","2*(0.75^(-1))","D1","2*(0.75^0)","D2","2*(0.75^1)","D3","2*(0.75^2)","D4","2*(0.75^3)","D5","2*(0.75^4)"};
    			GearboxRatios[] = {"R1",-3.5,"N",0,"D1",4.7,"D2",2.9,"D3",1.9,"D4",1.05};
    			TransmissionRatios[] = {"High",12};
    			gearBoxMode = "auto";
    			moveOffGear = 1;
    			driveString = "D";
    			neutralString = "N";
    			reverseString = "R";
    		};
    		numberPhysicalWheels = 12;
    		
    		class Wheels
    		{
    			class L2
    			{
    				//wheelBrakeFrictionCoef = 0.01;
    				boneName = "wheel_podkoloL1";
    				center = "wheel_1_2_axis";
    				boundary = "wheel_1_2_bound";
    				//damping = 65.0;
    				steering = 0;
    				width = 0.5;
    				side = "left";
    				mass = 130;
    				MOI = 30;
    				latStiffX = 15;
    				latStiffY = 180;
    				longitudinalStiffnessPerUnitGravity = 200000; //100000;
    				maxBrakeTorque = 4520;
    				sprungMass = 1520; // mass/12
    				springStrength = 198000; // 50668.75; // sprungMass*5^2 (try 5^2 up to 10^2, then tweak)
    				springDamperRate = 14811; // 2026.75; // sDR = dampingRate X 2 X sqrt(springStrength X sprungMass)
    				dampingRate = 1080; // ~0.1 to ~0.8;
    				dampingRateInAir = 4780;
    				dampingRateDamaged = 10;
    				dampingRateDestroyed = 10000;
    				maxDroop = 0.15;
    				maxCompression = 0.15;
    				///frictionVsSlipGraph[] = {{0.0,1.5},{0.5,1.5},{1,1.5}};
    			};
    			class L3: L2
    			{
    				boneName = "wheel_podkolol2";
    				center = "wheel_1_3_axis";
    				boundary = "wheel_1_3_bound";
    			};
    			class L4: L2
    			{
    				boneName = "wheel_podkolol3";
    				center = "wheel_1_4_axis";
    				boundary = "wheel_1_4_bound";
    			};
    			class L5: L2
    			{
    				boneName = "wheel_podkolol4";
    				center = "wheel_1_5_axis";
    				boundary = "wheel_1_5_bound";
    			};
    			class L6: L2
    			{
    				boneName = "wheel_podkolol5";
    				center = "wheel_1_6_axis";
    				boundary = "wheel_1_6_bound";
    			};
    			class L7: L2
    			{
    				boneName = "wheel_podkolol6";
    				center = "wheel_1_7_axis";
    				boundary = "wheel_1_7_bound";
    			};
    			class L1: L2
    			{
    				boneName = "";
    				center = "wheel_1_1_axis";
    				boundary = "wheel_1_1_bound";
    				sprungMass = 1500.0;
    				springStrength = 37500;
    				springDamperRate = 7500;
    				maxDroop = 0;
    				maxCompression = 0;
    			};
    			class L9: L2
    			{
    				boneName = "wheel_podkoloL9";
    				center = "wheel_1_9_axis";
    				boundary = "wheel_1_9_bound";
    				sprungMass = 1500.0;
    				springStrength = 37500;
    				springDamperRate = 7500;
    				maxDroop = 0;
    				maxCompression = 0;
    			};
    			//-------------------------------------------------
    			class R2: L2
    			{
    				boneName = "wheel_podkolop1";
    				center = "wheel_2_2_axis";
    				boundary = "wheel_2_2_bound";
    				side = "right";
    			};
    			class R3: R2
    			{
    				boneName = "wheel_podkolop2";
    				center = "wheel_2_3_axis";
    				boundary = "wheel_2_3_bound";
    			};
    			class R4: R2
    			{
    				boneName = "wheel_podkolop3";
    				center = "wheel_2_4_axis";
    				boundary = "wheel_2_4_bound";
    			};
    			class R5: R2
    			{
    				boneName = "wheel_podkolop4";
    				center = "wheel_2_5_axis";
    				boundary = "wheel_2_5_bound";
    			};
    			class R6: R2
    			{
    				boneName = "wheel_podkolop5";
    				center = "wheel_2_6_axis";
    				boundary = "wheel_2_6_bound";
    			};
    			class R7: R2
    			{
    				boneName = "wheel_podkolop6";
    				center = "wheel_2_7_axis";
    				boundary = "wheel_2_7_bound";
    			};
    			class R1: R2
    			{
    				boneName = "";
    				center = "wheel_2_1_axis";
    				boundary = "wheel_2_1_bound";
    				sprungMass = 1500.0;
    				springStrength = 37500;
    				springDamperRate = 7500;
    				maxDroop = 0;
    				maxCompression = 0;
    			};
    			class R9: R2
    			{
    				boneName = "wheel_podkoloP9";
    				center = "wheel_2_9_axis";
    				boundary = "wheel_2_9_bound";
    				sprungMass = 1500.0;
    				springStrength = 37500;
    				springDamperRate = 7500;
    				maxDroop = 0;
    				maxCompression = 0;
    			};
    		};
    		class HitPoints: HitPoints
    		{
    			class HitHull: HitHull
    			{
    				armor = 1.8;
    				material = -1;
    				armorComponent = "hit_hull";
    				name = "hit_hull_point";
    				visual = "zbytek";
    				passThrough = 1;
    				minimalHit = 0.2;
    				explosionShielding = 0.2;
    				radius = 0.3;
    			};
    			class HitEngine: HitEngine
    			{
    				armor = 0.4;
    				material = -1;
    				armorComponent = "hit_engine";
    				name = "hit_engine_point";
    				visual = "-";
    				passThrough = 0.2;
    				minimalHit = 0.2;
    				explosionShielding = 0.2;
    				radius = 0.3;
    			};
    			class HitFuel: HitFuel
    			{
    				armor = 0.3;
    				material = -1;
    				armorComponent = "hit_fuel";
    				name = "hit_fuel_point";
    				visual = "-";
    				passThrough = 0.1;
    				minimalHit = 0.1;
    				explosionShielding = 0.6;
    				radius = 0.3;
    			};
    			class HitLTrack: HitLTrack
    			{
    				material = -1;
    				armorComponent = "hit_trackL";
    				name = "hit_trackL_point";
    				visual = "-";
    				radius = 0.2;
    				armor = -650;
    				minimalHit = 0.0738462;
    				explosionShielding = 0.8;
    				passThrough = 0;
    			};
    			class HitRTrack: HitRTrack
    			{
    				material = -1;
    				armorComponent = "hit_trackR";
    				name = "hit_trackR_point";
    				visual = "-";
    				radius = 0.2;
    				armor = -650;
    				minimalHit = 0.0738462;
    				explosionShielding = 0.8;
    				passThrough = 0;
    			};
    		};
    		class ViewOptics: ViewOptics
    		{
    			visionMode[] = {"Normal","NVG"};
    			initFov = 0.25;
    			minFov = 0.15;
    			maxFov = 0.25;
    		};
    		
    		class Turrets: Turrets
    		{
    			class MainTurret: MainTurret
    			{
    				
    				class Turrets: Turrets
    				{
    					class CommanderOptics: CommanderOptics
    					{
    						memoryPointGunnerOutOptics = "commanderview";
    						memoryPointGunnerOptics = "commanderview";
    						minElev = -15;
    						maxElev = 45;
    						initElev = 0;
    						minTurn = -360;
    						maxTurn = 360;
    						initTurn = 0;
    						weapons[] = {"SmokeLauncher"};
    						magazines[] = {"SmokeLauncherMag","SmokeLauncherMag"};
    						outGunnerMayFire = 0;
    						inGunnerMayFire = 1;
    						memoryPointsGetInCommander = "pos commander";
    						memoryPointsGetInCommander = "pos commander dir";
    						gunnerAction = "mauler_commanderOut";
    						gunnerInAction = "mauler_commander";
    						gunnerGetInAction = "GetInHigh";
    						gunnerGetOutAction = "GetOutHigh";
    						gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Commander_02_F";
    						gunnerOutOpticsModel = "";
    						gunnerOpticsEffect[] = {};
    						turretFollowFreeLook = 2;
    						gunnerForceOptics = 0;
    						usePip = 2;
    						//animationSourceStickX = "com_turret_control_x";
    						//animationSourceStickY = "com_turret_control_y";
    						//gunnerRightHandAnimName = "com_turret_control";
    						LODTurnedIn = 1000;
    						LODTurnedOut = 1100;
    						LODOpticsIn = 0;
    						viewGunnerShadowAmb = 0.5;
    						viewGunnerShadowDiff = 0.05;
    						isPersonTurret = 1;
    						//personTurretAction = "mauler_commanderOut";
    						minOutElev = -10;
    						maxOutElev = 25;
    						initOutElev = 0;
    						minOutTurn = -95;
    						maxOutTurn = 95;
    						initOutTurn = 0;
    						class ViewGunner: ViewGunner
    						{
    							initAngleX = -5;
    							initAngleY = 0;
    							initFov = 0.9;
    							minFov = 0.25;
    							maxFov = 1.25;
    							minAngleX = -65;
    							maxAngleX = 85;
    							minAngleY = -150;
    							maxAngleY = 150;
    							minMoveX = -0.075;
    							maxMoveX = 0.075;
    							minMoveY = -0.075;
    							maxMoveY = 0.075;
    							minMoveZ = -0.075;
    							maxMoveZ = 0.1;
    						};
    						class ViewOptics: ViewOptics
    						{
    							initAngleX = 0;
    							minAngleX = -30;
    							maxAngleX = 30;
    							initAngleY = 0;
    							minAngleY = -100;
    							maxAngleY = 100;
    							initFov = 0.31;
    							minFov = 0.034;
    							maxFov = 0.31;
    							visionMode[] = {"Normal","TI"};
    							thermalMode[] = {2,3};
    						};
    						class OpticsIn: Optics_Commander_01
    						{
    							class Wide: Wide{};
    							class Medium: Medium{};
    							class Narrow: Narrow{};
    						};
    						turretInfoType = "RscOptics_MBT_01_commander";
    						showCrewAim = 1;
    						startEngine = 0;
    						gunnerHasFlares = 1;
    						stabilizedInAxes = 3;
    						maxHorizontalRotSpeed = 1.8;
    						maxVerticalRotSpeed = 1.8;
    						viewGunnerInExternal = 1;
    						/* 
    						gun = "obsGun";
    						body = "commander_turret";
    						animationSourceBody = "obsTurret";
    						animationSourceGun = "obsGun";
    						gunnerDoor = "hatch_cmdr";
    						*/
    						//gunnerCompartments = "Compartment3";
    						class HitPoints
    						{
    							class HitComTurret
    							{
    								armor = -250;
    								material = -1;
    								armorComponent = "hit_com_turret";
    								name = "hit_com_turret_point";
    								visual = "commander_turret";
    								passThrough = 0;
    								minimalHit = 0.03;
    								explosionShielding = 0.4;
    								radius = 0.25;
    								isTurret = 1;
    							};
    							class HitComGun
    							{
    								armor = -250;
    								material = -1;
    								armorComponent = "hit_com_gun";
    								name = "hit_com_gun_point";
    								visual = "commander_gun";
    								passThrough = 0;
    								minimalHit = 0.03;
    								explosionShielding = 0.2;
    								radius = 0.2;
    								isGun = 1;
    							};
    						};
    					};
    				};
    				class ViewGunner: ViewGunner
    				{
    					initAngleX = -17;
    					initAngleY = 0;
    					initFov = 0.9;
    					minFov = 0.25;
    					maxFov = 1.25;
    					minAngleX = -65;
    					maxAngleX = 85;
    					minAngleY = -150;
    					maxAngleY = 150;
    					minMoveX = 0.0;
    					maxMoveX = 0.0;
    					minMoveY = 0.0;
    					maxMoveY = 0.0;
    					minMoveZ = 0.0;
    					maxMoveZ = 0.0;
    				};
    				memoryPointGun[] = {"usti hlavne3"};
    				gunBeg = "Usti hlavne";
    				gunEnd = "Konec hlavne";
    				weapons[] = {"cannon_125mm","LMG_coax"};
    				magazines[] = {"24Rnd_125mm_APFSDS_T_Green","24Rnd_125mm_APFSDS_T_Green","2000Rnd_762x51_Belt_Green","2000Rnd_762x51_Belt_Green"};
    				soundServo[] = {"A3\sounds_f\dummysound",0.031622775,1.0,30};
    				minElev = -8;
    				maxElev = 62;
    				initElev = 0;
    				gunnerForceOptics = 0;
    				gunnerAction = "mauler_gunner";
    				gunnerInAction = "mauler_gunner";
    				gunnerGetInAction = "GetInHigh";
    				gunnerGetOutAction = "GetOutHigh";
    				gunnerDoor = "hatch_gunner";
    				memoryPointsGetInGunner = "pos gunner";
    				memoryPointsGetInGunnerDir = "pos gunner dir";
    				memoryPointGunnerOutOptics = ""; //"commanderview";
    				memoryPointGunnerOptics = "pip3_pos"; //"commanderview";
    				lodTurnedIn = 1100;
    				LODTurnedOut = 1100;
    				LODOpticsIn = 0;
    				hideWeaponsGunner = 1;
    				outGunnerMayFire = 1;
    				inGunnerMayFire = 1;
    				viewGunnerInExternal = 1;
    				castGunnerShadow = 1;
    				forceHideGunner = 0;
    				stabilizedinaxes = 3;
    				gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Gunner_02_F";
    				gunnerOutOpticsModel = "";
    				turretInfoType = "RscOptics_MBT_01_gunner";
    				discreteDistance[] = {100,200,300,400,500,600,700,800,900,1000,1200,1400,1600,1800,2000,2400,2800};
    				discreteDistanceInitIndex = 5;
    				selectionFireAnim = "zasleh";
    				lockWhenDriverOut = 0;
    				usePip = 1;
    				gunnerHasFlares = 0;
    				maxhorizontalrotspeed = 1.3;
    				maxverticalrotspeed = 1.3;
    				startengine = 0;
    				showCrewAim = 2;
    				class OpticsIn
    				{
    					class Wide
    					{
    						initAngleX = 0;
    						minAngleX = -30;
    						maxAngleX = 30;
    						initAngleY = 0;
    						minAngleY = -100;
    						maxAngleY = 100;
    						initfov = "0.33333/ 4";
    						minFov = 0.117;
    						maxFov = 0.117;
    						visionMode[] = {"Normal","Ti"};
    						thermalMode[] = {4};
    						gunnerOpticsModel = ""; //"\rhsusf\addons\rhsusf_a2port_armor\M2A2_Bradley\gunnerOptics_M2A2";
    						gunnerOpticsEffect[] = {};
    					};
    					class Narrow: Wide
    					{
    						gunnerOpticsModel = ""; //"\rhsusf\addons\rhsusf_a2port_armor\M2A2_Bradley\gunnerOptics_M2A2_2";
    						initfov = "0.33333/ 12";
    						minFov = 0.039;
    						maxFov = 0.039;
    					};
    				};
    				class HitPoints
    				{
    					class HitTurret
    					{
    						armor = 0.5;
    						material = -1;
    						name = "vez";
    						visual = "vez";
    						passThrough = 0;
    						minimalHit = 0.14;
    						explosionShielding = 0.001;
    						radius = 0.08;
    					};
    					class HitGun
    					{
    						armor = 1.2;
    						material = -1;
    						name = "zbran";
    						visual = "";
    						passThrough = 0;
    						minimalHit = 0.13;
    						explosionShielding = 0.001;
    						radius = 0.1;
    					};
    				};
    			};
    		};
    		
    		
    		class AnimationSources : AnimationSources
    		{
    			class muzzle_rot_cannon {source = "ammorandom"; weapon = "cannon_120mm";};
    			class muzzle_rot_coax {source = "ammorandom"; weapon = "LMG_M200";};
    			class muzzle_rot_HMG {source = "ammorandom"; weapon = "HMG_NSVT";};
    			class recoil_source {source = "reload"; weapon = "cannon_120mm";};
    		};
    		class Damage {
    			tex[] = {};
    			mat[] = {/*
    				"A3\Armor_F_Gamma\MBT_02\Data\MBT_02.rvmat",
    				"A3\Armor_F_Gamma\MBT_02\Data\MBT_02_damage.rvmat",
    				"A3\Armor_F_Gamma\MBT_02\Data\MBT_02_destruct.rvmat",
    
    				"A3\Armor_F_Gamma\MBT_02\Data\MBT_02_body.rvmat",
    				"A3\Armor_F_Gamma\MBT_02\Data\MBT_02_body_damage.rvmat",
    				"A3\Armor_F_Gamma\MBT_02\Data\MBT_02_body_destruct.rvmat",
    
    				"A3\Armor_F_Gamma\MBT_02\Data\MBT_02_tracks.rvmat",
    				"A3\Armor_F_Gamma\MBT_02\Data\MBT_02_tracks_damage.rvmat",
    				"A3\Armor_F_Gamma\MBT_02\Data\MBT_02_tracks_destruct.rvmat",
    
    				"A3\Armor_F_Gamma\MBT_02\Data\MBT_02_turret.rvmat",
    				"A3\Armor_F_Gamma\MBT_02\Data\MBT_02_turret_damage.rvmat",
    				"A3\Armor_F_Gamma\MBT_02\Data\MBT_02_turret_destruct.rvmat",
    
    				"A3\Armor_F_Gamma\MBT_01\Data\MBT_01_scorcher.rvmat",
    				"A3\Armor_F_Gamma\MBT_01\Data\MBT_01_scorcher_damage.rvmat",
    				"A3\Armor_F_Gamma\MBT_01\Data\MBT_01_scorcher_destruct.rvmat"*/
    			};
    		};
    		class RenderTargets
    		{
    			class BackUpCam
    			{
    				renderTarget = "rendertarget0";
    				class DriverBackUp
    				{
    					pointPosition = "pip0_pos";
    					pointDirection = "pip0_dir";
    					renderQuality = 2;
    					renderVisionMode = 0;
    					fov = 1.0;
    				};
    			};
    			class DriverCam
    			{
    				renderTarget = "rendertarget1";
    				class DriverView
    				{
    					pointPosition = "pip1_pos";
    					pointDirection = "pip1_dir";
    					renderQuality = 2;
    					renderVisionMode = 0;
    					fov = 0.8;
    				};
    			}; 
    			class MGCam
    			{
    				renderTarget = "rendertarget2";
    				class GunnerCoax
    				{
    					pointPosition = "pip2_pos";
    					pointDirection = "pip2_dir";
    					renderQuality = 2;
    					renderVisionMode = 0;
    					fov = 0.2;
    				};
    			};
    			class CannonCam
    			{
    				renderTarget = "rendertarget3";
    				class GunnerCannon
    				{
    					pointPosition = "pip3_pos";
    					pointDirection = "pip3_dir";
    					renderQuality = 2;
    					renderVisionMode = 0;
    					fov = 0.2;
    				};
    			};
    			class CommanderCam
    			{
    				renderTarget = "rendertarget4";
    				class CommanderView
    				{
    					pointPosition = "commanderview";
    					pointDirection = "commanderview_dir";
    					renderQuality = 2;
    					renderVisionMode = 0;
    					fov = 0.5;
    				};
    			};
    			class CommanderCamGunner
    			{
    				renderTarget = "rendertarget5";
    				class CommanderViewCannon
    				{
    					pointPosition = "pip3_pos";
    					pointDirection = "pip3_dir";
    					renderQuality = 2;
    					renderVisionMode = 0;
    					fov = 0.5;
    				};
    			};
    		};
    		class Exhausts
    		{
    			class Exhaust1
    			{
    				position = "exhaust1";
    				direction = "exhaust1_end";
    				effect = "ExhaustEffectTankSide";
    			};
    			class Exhaust2
    			{
    				position = "exhaust2";
    				direction = "exhaust2_end";
    				effect = "ExhaustEffectTankSide";
    			};
    		};
    		class Reflectors {
    			class Left {
    				color[] 	= {1900, 1300, 950};
    				ambient[]	= {5,5,5};
    				position 	= "Light_L";
    				direction 	= "Light_L_end";
    				hitpoint 	= "Light_L";
    				selection	= "Light_L";
    				size 		= 1;
    				innerAngle 	= 100;
    				outerAngle 	= 179;
    				coneFadeCoef = 10;
    				intensity 	= 1; //17.5
    				useFlare 	= 0;
    				dayLight 	= 0;
    				flareSize 	= 1.0;
    				class Attenuation 
    				{
    					start 		= 1.0;
    					constant 	= 0;
    					linear 		= 0;
    					quadratic 	= 0.25;
    					hardLimitStart = 30;
    					hardLimitEnd = 60;
    				};
    			};
    			class Right: Left {
    				position 	= "Light_R";
    				direction 	= "Light_R_end";
    				hitpoint 	= "Light_R";
    				selection 	= "Light_R";
    			};
    			class Right2: Right {
    				position 	= "light_R_flare";
    				useFlare 	= 1;
    			};
    			class Left2: Left {
    				position 	= "light_L_flare";
    				useFlare 	= 1;
    			};
    		};
    		aggregateReflectors[] = {{"Left","Right","Left2","Right2"}};
    		armorLights = 0.1;
    		/*
    		class ViewPilot: ViewPilot
    		{
    			initAngleX = 7;
    			minAngleX = -15;
    			maxAngleX = 25;
    			initAngleY = 0;
    			minAngleY = -90;
    			maxAngleY = 90;
    		};
    		*/
    		class ViewPilot: ViewPilot
    		{
    			initAngleX = -3;
    			initAngleY = 0;
    			initFov = 0.9;
    			minFov = 0.25;
    			maxFov = 1.25;
    			minAngleX = -65;
    			maxAngleX = 85;
    			minAngleY = -150;
    			maxAngleY = 150;
    			minMoveX = 0.0;
    			maxMoveX = 0.0;
    			minMoveY = -0.075;
    			maxMoveY = 0.075;
    			minMoveZ = -0.075;
    			maxMoveZ = 0.1;
    		};
    		
    		class TransportBackpacks
    		{};
    		class TransportMagazines
    		{};
    		class TransportItems
    		{};		
    		class TransportWeapons
    		{};		
    		class EventHandlers
    		{
    			/* 
    			hitpart = "_this call SLX_XEH_EH_HitPart;_this call rhs_fnc_hitHandler";
    			getIn = "_this call SLX_XEH_EH_GetIn;_this call rhs_fnc_m2_doors";
    			getOut = "_this call SLX_XEH_EH_GetOut;_this call rhs_fnc_m2_doors";
    			 */
    		};
    		
    	};
    	class mauler_F: mauler_Base
    	{
    		author = "Scot Gilmore";
    		class SimpleObject
    		{
    			eden = 1;
    			animate[] = {{"damagehide",0},{"wheel_koll1",0},{"wheel_kolol1",0},{"wheel_podkolol1",0},{"wheel_kolp1",0},{"wheel_kolop1",0},{"wheel_podkolop1",0},{"wheel_koll2",0},{"wheel_kolp2",0},{"wheel_kolol2",0},{"wheel_kolol3",0},{"wheel_kolol4",0},{"wheel_kolol5",0},{"wheel_kolol6",0},{"wheel_kolop2",0},{"wheel_kolop3",0},{"wheel_kolop4",0},{"wheel_kolop5",0},{"wheel_kolop6",0},{"wheel_podkolol2",0},{"wheel_podkolol3",0},{"wheel_podkolol4",0},{"wheel_podkolol5",0},{"wheel_podkolol6",0},{"wheel_podkolop2",0},{"wheel_podkolop3",0},{"wheel_podkolop4",0},{"wheel_podkolop5",0},{"wheel_podkolop6",0},{"podkolol1_hide_damage",0},{"podkolol2_hide_damage",0},{"podkolol3_hide_damage",0},{"podkolol4_hide_damage",0},{"podkolol5_hide_damage",0},{"podkolol6_hide_damage",0},{"podkolol7_hide_damage",0},{"podkolol8_hide_damage",0},{"podkolop1_hide_damage",0},{"podkolop2_hide_damage",0},{"podkolop3_hide_damage",0},{"podkolop4_hide_damage",0},{"podkolop5_hide_damage",0},{"podkolop6_hide_damage",0},{"podkolop7_hide_damage",0},{"podkolop8_hide_damage",0},{"damagevez",0},{"mainturret",0},{"maingun",0.17},{"hatchcommander",0},{"recoil",0},{"obsturret",0},{"obsgun",0},{"maingunoptics",0.17},{"maingunint",0.17},{"damagevezvelitele",0},{"poklop_commander_damage",0},{"poklop_driver_damage",0},{"hatchdriver",0},{"plates_1_y",0},{"plates_2_y",0},{"plates_1_x",0},{"plates_2_x",0},{"plates_1_bank",0},{"plates_2_bank",0},{"drivingwheel",0},{"indicatorspeed_mfd_driver",0},{"indicatorrpm",0},{"indicatorrpm_mfd_driver",0},{"lights_driver",0},{"lights_driver_off",0},{"lights_turret",0},{"dmg_com_halo_unhide",0},{"engine_damage_indicator",0},{"main_gun_damage_indicator",0},{"track_damage_indicator",0},{"pedal_thrust",0},{"pedal_brake",0},{"indicatortempwater_mfd_driver",0},{"indicatorfuel_mfd_driver",1},{"indicator_hull_direction_mfd_driver",0},{"indicator_main_turret_mfd_driver",0},{"indicator_hull_direction_mfd_com",0},{"indicator_main_turret_mfd_com",0},{"indicator_main_turret_onscreen_com",0},{"indicator_com_turret_mfd_com",0},{"indicator_com_turret_onscreen_com",0},{"indicator_com_turret_counter_mfd_com",0},{"indicator_hull_direction_mfd_gunner",0},{"indicator_main_turret_mfd_gunner",0},{"indicator_com_smoke_1",1},{"indicator_com_smoke_2",1},{"indicator_damage_engine",0},{"indicator_damage_fuel",0},{"indicator_damage_tracks",0},{"indicator_turret_damage_hull",0},{"lights_turret2",0},{"indicator_turret_damage_engine",0},{"indicator_turret_damage_fuel",0},{"indicator_turret_damage_main_gun",0},{"indicator_turret_damage_track",0},{"indicator_turret_damage_turret",0},{"indicator_turret_damage_comturret",0},{"hide_mfd_and_pip_screen_driver",1},{"hide_mfd_and_pip_screen_gunner",1},{"hide_mfd_elements",1},{"cannon_muzzle_flash",0},{"zaslehrot_cannon",325},{"cannon_ready_light",0},{"turret_control_x",0},{"turret_control_y",0},{"com_turret_control_x",0},{"com_turret_control_y",0},{"indicator_com_turret_mfd_gunner",0},{"indicator_com_turret_counter_mfd_gunner",0},{"indicator_com_turret_mfd_driver",0},{"indicator_com_turret_counter_mfd_driver",0}};
    			hide[] = {"clan","zasleh","zasleh_1","light_l","light_r","zadni svetlo","brzdove svetlo","podsvit pristroju","poskozeni"};
    			verticalOffset = 2.475;
    			verticalOffsetWorld = -0.211;
    			init = "[this, '', []] call bis_fnc_initVehicle";
    		};
    		scope = 2;
    		faction = "SixOneJTF";
    		vehicleClass = "SixOneJTF_Armor";
    		//crew = "mauler_driver";
    		displayName = "[61] Black Bear LT";
    		side = 1;
    		class Library
    		{
    			libTextDesc = "The Black Bear Light Tank";
    		};
    		model = "vhx_armor\gijoe_mauler\mauler1.p3d";
    		armor = 700;
    		class Damage
    		{
    			tex[] = {};
    			mat[] = {};///{"rhsusf\addons\rhsusf_a2port_armor\M2A2_Bradley\data\brad_UV1.rvmat","rhsusf\addons\rhsusf_a2port_armor\M2A2_Bradley\data\brad_UV1_damage.rvmat","rhsusf\addons\rhsusf_a2port_armor\M2A2_Bradley\data\brad_UV1_destruct.rvmat","rhsusf\addons\rhsusf_a2port_armor\M2A2_Bradley\data\brad_UV2.rvmat","rhsusf\addons\rhsusf_a2port_armor\M2A2_Bradley\data\brad_UV2_damage.rvmat","rhsusf\addons\rhsusf_a2port_armor\M2A2_Bradley\data\brad_UV2_destruct.rvmat","rhsusf\addons\rhsusf_a2port_armor\M2A2_Bradley\data\brad_UV2_ERAon.rvmat","rhsusf\addons\rhsusf_a2port_armor\M2A2_Bradley\data\brad_UV2_ERAon_damage.rvmat","rhsusf\addons\rhsusf_a2port_armor\M2A2_Bradley\data\brad_UV2_ERAon_destruct.rvmat","rhsusf\addons\rhsusf_a2port_armor\M2A2_Bradley\data\M2_tracks.rvmat","rhsusf\addons\rhsusf_a2port_armor\M2A2_Bradley\data\M2_tracks_damage.rvmat","rhsusf\addons\rhsusf_a2port_armor\M2A2_Bradley\data\M2_tracks_destruct.rvmat","a3\data_f\default.rvmat","a3\data_f\default.rvmat","a3\data_f\default_destruct.rvmat"};
    		};
    		class AnimationSources
    		{
    			/* 
    			class recoil_source
    			{
    				source = "reload";
    				weapon = "RHS_weap_M242BC";
    			};
    			class muzzle_hide_hmg: recoil_source{};
    			class muzzle_rot_hmg: recoil_source
    			{
    				source = "ammorandom";
    			};
    			class muzzle_rot_hmg2: muzzle_rot_hmg
    			{
    				weapon = "rhs_weap_m240veh";
    			};
    			*/
    			class HatchC
    			{
    				source = "door";
    				animPeriod = 0.8;
    			};
    			class HatchG: HatchC{};
    			class HatchDriver: HatchC{};
    			
    		};
    	};
    };

     

     

    model.cfg:

    Spoiler
    
    
    class cfgSkeletons
    {
    	class blackbear_Skeleton
    	{
    		skeletonInherit = "";
    		isDiscrete = 0;
    		SkeletonBones[]=
    		{
    			"kolL1"	,"",
    			"kolL2","",
    			"kolL3","",
    			"kolP1","",
    			"kolP2","",
    			"kolP3","",
    			"podkoloL1","",
    			"podkoloL2","",
    			"podkoloL3","",
    			"podkoloL4","",
    			"podkoloL5","",
    			"podkoloL6","",
    			"podkoloL7","",
    			"podkoloL8","",
    			"podkoloL9","",
    			"podkoloP1","",
    			"podkoloP2","",
    			"podkoloP3","",
    			"podkoloP4","",
    			"podkoloP5","",
    			"podkoloP6","",
    			"podkoloP7","",
    			"podkoloP8","",
    			"podkoloP9","",
    			"koloL1","podkoloL1",
    			"koloL2","podkoloL2",
    			"koloL3","podkoloL3",
    			"koloL4","podkoloL4",
    			"koloL5","podkoloL5",
    			"koloL6","podkoloL6",
    			"koloP1","podkoloP1",
    			"koloP2","podkoloP2",
    			"koloP3","podkoloP3",
    			"koloP4","podkoloP4",
    			"koloP5","podkoloP5",
    			"koloP6","podkoloP6",
    			"podkoloL1_hide","podkoloL1",
    			"podkoloL2_hide","podkoloL2",
    			"podkoloL3_hide","podkoloL3",
    			"podkoloL4_hide","podkoloL4",
    			"podkoloL5_hide","podkoloL5",
    			"podkoloL6_hide","podkoloL6",
    			"podkoloP1_hide","podkoloP1",
    			"podkoloP2_hide","podkoloP2",
    			"podkoloP3_hide","podkoloP3",
    			"podkoloP4_hide","podkoloP4",
    			"podkoloP5_hide","podkoloP5",
    			"podkoloP6_hide","podkoloP6",
    			"i_speed"	,"",
    			"i_speed2"	,"",
    			"i_rpm"	,"",
    			"i_radar"	,"",
    			"i_compass"	,"",
    			"damagehide"	,"",
    			"otocvez"	,"",
    			"otochlaven"	,"otocvez",
    			"stick_cmdr" ,"otocvez",
    			"kb_cmdr"	,"otocvez",
    			"hatch_lock"	,"otocvez",
    			"commander_turret"	,"otocvez",
    			"commander_gun"	,"commander_turret",
    			"gunner_view"	,"otocvez",
    			"gunner_view_doorL"	,"otocvez",
    			"gunner_view_doorR"	,"otocvez",
    			"gunFan"	,"otochlaven",
    			"gunrecoil"	,"otochlaven",
    			"muzzleflash"	,"gunrecoil",
    			"muzzlehmg"	,"gunrecoil",
    			"hatch_cmdr"	,"otocvez",
    			"hatch_driver"	,"",
    			"hatch_gunner"	,"",
    			"scopeDriver"	,"",
    			"podkoloL1_solid"	,"",
    			"podkoloP1_solid"	,"",
    			"turbine1"	,"",
    			"turbine2"	,"",
    			"i_mph"	,"",
    			"i_fuel"	,"",
    			"i_rpm1"	,"",
    			"i_rpm2"	,"",
    			"i_rpm3"	,""
    		};
    	};
    };
    class CfgModels
    {
    	class Default
    	{
    		sections[] = {};
    		sectionsInherit="";
    		skeletonName = "";
    	};
    	class mauler1:Default
    	{
    		skeletonName="blackbear_Skeleton";
    		sections[]=
    		{
    			"zbytek",
    			"vez",
    			"pas_p",
    			"pas_l",
    			"motor",
    			"l svetlo",
    			"p svetlo",
    			"zbran",
    			"podsvit pristroju",
    			"camo2",
    			"camo1",
    			"pasoffsetl",
    			"pasoffsetp",
    			"brzdove svetlo",
    			"zadni svetlo",
    			"commander_turret",
    			"zasleh2"
    		};
    
    		class Animations
    		{
    			class damageHide
    			{
    				type="hide";
    				source="damage";
    				selection="damagehide";
    //				sourceAddress = clamp;// (default)
    				minValue = 0.0;//rad 0.0
    				maxValue = 1.0;//rad 57.29578
    				hideValue = 1.0;
    //				unHideValue = -1.0;//(default)
    				animPeriod = 0.0;
    				initPhase = 0.0;
    			};
    			class Wheel_kolL1 {
    				type="rotationX";
    				source="wheelL";
    				selection="kolL1";
    				axis="";
    				memory="false";
    				animPeriod=0;
    				minvalue=0.5;
    				maxvalue = 1.0;
    				angle0=0;
    				angle1="rad -360";
    				sourceAddress="loop";
    			};
    			class Wheel_kolL2: Wheel_kolL1 {
    				selection="kolL2";
    			};
    			class Wheel_kolL3: Wheel_kolL1 {
    				selection="kolL3";
    			};
    			
    			class Wheel_koloL1: Wheel_kolL1 {
    				selection="koloL1";
    			};
    			class Wheel_koloL2: Wheel_koloL1 {
    				selection="koloL2";
    			};
    			class Wheel_koloL3: Wheel_koloL1 {
    				selection="koloL3";
    			};
    			class Wheel_koloL4: Wheel_koloL1 {
    				selection="koloL4";
    			};
    			class Wheel_koloL5: Wheel_koloL1 {
    				selection="koloL5";
    			};
    			class Wheel_koloL6: Wheel_koloL1 {
    				selection="koloL6";
    			};
    			class Wheel_koloL7: Wheel_koloL1 {
    				selection="koloL7";
    			};
    			class Wheel_koloL8: Wheel_koloL1 {
    				selection="koloL8";
    			};
    			
    			class Wheel_kolP1: Wheel_kolL1 {
    				source="wheelR";
    				selection="kolP1";
    			};
    			class Wheel_kolP2: Wheel_kolP1 {
    				selection="kolP2";
    			};
    			class Wheel_kolP3: Wheel_kolP1 {
    				selection="kolP3";
    			};
    			
    			class Wheel_koloP1: Wheel_koloL1 {
    				source="wheelR";
    				selection="koloP1";
    			};
    			class Wheel_koloP2: Wheel_koloP1 {
    				selection="koloP2";
    			};
    			class Wheel_koloP3: Wheel_koloP1 {
    				selection="koloP3";
    			};
    			class Wheel_koloP4: Wheel_koloP1 {
    				selection="koloP4";
    			};
    			class Wheel_koloP5: Wheel_koloP1 {
    				selection="koloP5";
    			};
    			class Wheel_koloP6: Wheel_koloP1 {
    				selection="koloP6";
    			};
    			class Wheel_koloP7: Wheel_koloP1 {
    				selection="koloP7";
    			};
    			class Wheel_koloP8: Wheel_koloP1 {
    				selection="koloP8";
    			};
    			
    			class Wheel_podkoloL1 {
    				type="translation";
    				source="damper";
    				selection="podkoloL1";
    				axis="Basic_Damper_Destruct_Axis";
    				memory="true";
    				animPeriod=0;
    				minValue="0";
    				maxValue="0.83";
    				offset0= "0.18";
    				offset1= "-0.15";
    			};
    			class Wheel_podkoloL2: Wheel_podkoloL1 {
    				selection="podkoloL2";
    				axis="Basic_Damper_Destruct_Axis";
    			};
    			class Wheel_podkoloL3: Wheel_podkoloL1 {
    				selection="podkoloL3";
    				axis="Basic_Damper_Destruct_Axis";
    			};
    			class Wheel_podkoloL4: Wheel_podkoloL1 {
    				selection="podkoloL4";
    				axis="Basic_Damper_Destruct_Axis";
    			};
    			class Wheel_podkoloL5: Wheel_podkoloL1 {
    				selection="podkoloL5";
    				axis="Basic_Damper_Destruct_Axis";
    			};
    			class Wheel_podkoloL6: Wheel_podkoloL1 {
    				selection="podkoloL6";
    				axis="Basic_Damper_Destruct_Axis";
    			};
    			
    			
    			class Wheel_podkoloP1 {
    				type="translation";
    				source="damper";
    				selection="podkoloP1";
    				axis="Basic_Damper_Destruct_Axis";
    				memory="true";
    				animPeriod=0;
    				minValue="0";
    				maxValue="0.83";
    				offset0= "0.18";
    				offset1= "-0.15";
    			};
    			class Wheel_podkoloP2: Wheel_podkoloP1 {
    				selection="podkoloP2";
    				axis="Basic_Damper_Destruct_Axis";
    			};
    			class Wheel_podkoloP3: Wheel_podkoloP1 {
    				selection="podkoloP3";
    				axis="Basic_Damper_Destruct_Axis";
    			};
    			class Wheel_podkoloP4: Wheel_podkoloP1 {
    				selection="podkoloP4";
    				axis="Basic_Damper_Destruct_Axis";
    			};
    			class Wheel_podkoloP5: Wheel_podkoloP1 {
    				selection="podkoloP5";
    				axis="Basic_Damper_Destruct_Axis";
    			};
    			class Wheel_podkoloP6: Wheel_podkoloP1 {
    				selection="podkoloP6";
    				axis="Basic_Damper_Destruct_Axis";
    			};
    			
    			class podkoloL1_hide_damage: damageHide {
    				selection="podkoloL1_hide";
    			};
    			class podkoloL2_hide_damage: damageHide {
    				selection="podkoloL2_hide";
    			};
    			class podkoloL3_hide_damage: damageHide {
    				selection="podkoloL3_hide";
    			};
    			class podkoloL4_hide_damage: damageHide {
    				selection="podkoloL4_hide";
    			};
    			class podkoloL5_hide_damage: damageHide {
    				selection="podkoloL5_hide";
    			};
    			class podkoloL6_hide_damage: damageHide {
    				selection="podkoloL6_hide";
    			};
    			class podkoloP1_hide_damage: damageHide {
    				selection="podkoloP1_hide";
    			};
    			class podkoloP2_hide_damage: damageHide {
    				selection="podkoloP2_hide";
    			};
    			class podkoloP3_hide_damage: damageHide {
    				selection="podkoloP3_hide";
    			};
    			class podkoloP4_hide_damage: damageHide {
    				selection="podkoloP4_hide";
    			};
    			class podkoloP5_hide_damage: damageHide {
    				selection="podkoloP5_hide";
    			};
    			class podkoloP6_hide_damage: damageHide {
    				selection="podkoloP6_hide";
    			};
    			
    			class damageVez
    			{
    				type="hide";
    				source="damage";
    				selection="damagevez";
    //				sourceAddress = clamp;// (default)
    				minValue = 0.0;//rad 0.0
    				maxValue = 1.0;//rad 57.29578
    				hideValue = 1.0;
    //				unHideValue = -1.0;//(default)
    				animPeriod = 0.0;
    				initPhase = 0.0;
    			};
    			class IndicatorSpeed
    			{
    				type="rotation";
    				source="speed";
    				selection="mph";
    				axis="mph_axis";//*probably*
    //				sourceAddress = clamp;// (default)
    				minValue = 0.0;//rad 0.0
    				maxValue = 16.67;//rad 955.12067
    				angle0 = 0.0;//rad 0.0;
    				angle1 = 5.061455;//rad 290.0;
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class RPM1
    			{
    				type="rotation";
    				source="rpm";
    				selection="rpm1";
    				axis="rpm1_axis";//*probably*
    //				sourceAddress = clamp;// (default)
    				minValue = 0.0;//rad 0.0
    				maxValue = 3.0;//rad 171.88734
    				angle0 = 0.0;//rad 0.0;
    				angle1 = 1.5707964;//rad 90.0;
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class RPM2
    			{
    				type="rotation";
    				source="rpm";
    				selection="rpm2";
    				axis="rpm2_axis";//*probably*
    //				sourceAddress = clamp;// (default)
    				minValue = 0.0;//rad 0.0
    				maxValue = 2.0;//rad 114.59156
    				angle0 = 0.0;//rad 0.0;
    				angle1 = 1.5707964;//rad 90.0;
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class RPM3
    			{
    				type="rotation";
    				source="rpm";
    				selection="rpm3";
    				axis="rpm3_axis";//*probably*
    //				sourceAddress = clamp;// (default)
    				minValue = 0.0;//rad 0.0
    				maxValue = 3.0;//rad 171.88734
    				angle0 = 0.0;//rad 0.0;
    				angle1 = 1.5707964;//rad 90.0;
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class IndicatorFuel
    			{
    				type="rotation";
    				source="fuel";
    				selection="fuel";
    				axis="fuel_axis";//*probably*
    //				sourceAddress = clamp;// (default)
    				minValue = 0.0;//rad 0.0
    				maxValue = 1.0;//rad 57.29578
    				angle0 = 0.0;//rad 0.0;
    				angle1 = 1.5707964;//rad 90.0;
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class hatch_driver_1
    			{
    				type="translation";
    				source="hatchDriver";
    				selection="hatch_driver";
    				axis="hatch_driver_axis";//*probably*
    //				sourceAddress = clamp;// (default)
    				minValue = 0.0;//rad 0.0
    				maxValue = 0.05;//rad 57.29578
    				offset0 = 0.0;//
    				offset1 = 0.215;//
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class hatch_driver_2
    			{
    				type="rotation";
    				source="hatchDriver";
    				selection="hatch_driver";
    				axis="hatch_driver_axis";//*probably*
    //				sourceAddress = clamp;// (default)
    				minValue = 0.20001;//rad 0.0
    				maxValue = 1.0;//rad 57.29578
    				angle0 = 0.0;//
    				angle1 = -1.623;// rad -93
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class Hatch_Gunner_1
    			{
    				type="translation";
    				source="hatchGunner";
    				selection="hatch_gunner";
    				axis="hatch_gunner_axis";//*probably*
    //				sourceAddress = clamp;// (default)
    				minValue = 0.0;//rad 0.0
    				maxValue = 0.05;//rad 57.29578
    				offset0 = 0.0;//
    				offset1 = 0.215;//
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class Hatch_Gunner_2
    			{
    				type="rotation";
    				source="hatchGunner";
    				selection="hatch_gunner";
    				axis="hatch_gunner_axis";//*probably*
    //				sourceAddress = clamp;// (default)
    				minValue = 0.20001;//rad 0.0
    				maxValue = 1.0;//rad 57.29578
    				angle0 = 0.0;//
    				angle1 = 1.623;// rad 93
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class HatchCommander
    			{
    				type="rotation";
    				source="hatchCommander";
    				selection="hatch_cmdr";
    				axis="hatch_cmdr_axis";//*probably*
    //				sourceAddress = clamp;// (default)
    				minValue = 0.0;//rad 0.0
    				maxValue = 1.0;//rad 57.29578
    				angle0 = 0.0;//rad 75.0;
    				angle1 = -3.264;//rad -187.0;
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class MainTurret
    			{
    				type="rotationY";
    				source="mainTurret";
    				selection="otocvez";
    				axis="otocvez_axis";//*probably*
    				sourceAddress = loop;
    				minValue = -6.2831855;//rad -360.0
    				maxValue = 6.2831855;//rad 360.0
    				angle0 = -6.2831855;//rad -360.0;
    				angle1 = 6.2831855;//rad 360.0;
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class MainGun
    			{
    				type="rotationX";
    				source="mainGun";
    				selection="otochlaven";
    				axis="otochlaven_axis";//*probably*
    //				sourceAddress = clamp;// (default)
    				minValue = -6.2831855;//rad -360.0
    				maxValue = 6.2831855;//rad 360.0
    				angle0 = -6.2831855;//rad -360.0;
    				angle1 = 6.2831855;//rad 360.0;
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class maingunoptics
    			{
    				type="rotation";
    				source="mainGun";
    				selection="gunner_view";
    				axis="gunner_view_axis";//*probably*
    //				sourceAddress = clamp;// (default)
    				minValue = -6.2831855;//rad -360.0
    				maxValue = 6.2831855;//rad 360.0
    				angle0 = -6.2831855;//rad -360.0;
    				angle1 = 6.2831855;//rad 360.0;
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class obsturret
    			{
    				type="rotation";
    				source="obsturret";
    				selection="commander_turret";
    				axis="commander_turret_axis";//*probably*
    //				sourceAddress = clamp;// (default)
    				minValue = -6.2831855;//rad -360.0
    				maxValue = 6.2831855;//rad 360.0
    				angle0 = 6.2831855;//rad -360.0;
    				angle1 = -6.2831855;//rad 360.0;
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class obsgun
    			{
    				type="rotation";
    				source="obsGun";
    				selection="commander_gun";
    				axis="commander_gun_axis";//*probably*
    //				sourceAddress = clamp;// (default)
    				minValue = -6.2831855;//rad -360.0
    				maxValue = 6.2831855;//rad 360.0
    				angle0 = 6.2831855;//rad -360.0
    				angle1 = -6.2831855;//rad 360.0
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class recoil_BEGIN
    			{
    				type="translation";
    				source="recoil_source";
    				selection="gunrecoil";
    				axis="gunrecoil_axis";//*probably*
    //				sourceAddress = clamp;// (default)
    				minValue = 0.5;//rad 28.64789
    				maxValue = 0.8;//rad 45.836624
    				offset0 = 0.0;
    				offset1 = 0.2;
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class recoil_END
    			{
    				type="translation";
    				source="recoil_source";
    				selection="gunrecoil";
    				axis="gunrecoil_axis";//*probably*
    //				sourceAddress = clamp;// (default)
    				minValue = 0.85;//rad 48.701412
    				maxValue = 1.0;//rad 57.29578
    				offset0 = 0.0;
    				offset1 = -0.2;
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class ObsTurret
    			{
    				type="rotationY";
    				source="obsTurret";
    				selection="commander_turret";
    				axis="commander_turret_axis";//*probably*
    //				sourceAddress = clamp;// (default)
    				minValue = -6.2831855;//rad -360.0
    				maxValue = 6.2831855;//rad 360.0
    				angle0 = -6.2831855;//rad -360.0;
    				angle1 = 6.2831855;//rad 360.0;
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			
    			class podkoloL1_solid_hide_damage
    			{
    				type="hide";
    				source="damage";
    				selection="podkoloL1_solid";
    //				sourceAddress = clamp;// (default)
    				minValue = 0.0;//rad 0.0
    				maxValue = 1.0;//rad 57.29578
    				hideValue = 1.0;
    //				unHideValue = -1.0;//(default)
    				animPeriod = 0.0;
    				initPhase = 0.0;
    			};
    			class podkoloP1_solid_hide_damage
    			{
    				type="hide";
    				source="damage";
    				selection="podkoloP1_solid";
    //				sourceAddress = clamp;// (default)
    				minValue = 0.0;//rad 0.0
    				maxValue = 1.0;//rad 57.29578
    				hideValue = 1.0;
    //				unHideValue = -1.0;//(default)
    				animPeriod = 0.0;
    				initPhase = 0.0;
    			};
    			class hmg_muzzle_flash
    			{
    				type="hide";
    				source="muzzle_hide_hmg";
    				selection="muzzleflash";
    //				sourceAddress = clamp;// (default)
    				minValue = 0.0;//rad 0.0
    				maxValue = 1.0;//rad 57.29578
    				hideValue = 0.0;
    				unHideValue = 0.93;
    				animPeriod = 0.0;
    				initPhase = 0.0;
    			};
    			class hmg_muzzleFlashROT
    			{
    				type="rotationZ";
    				source="muzzle_rot_hmg";
    				selection="muzzleflash";
    				axis="muzzleflash_axis";//*probably*
    				sourceAddress = loop;
    				minValue = 0.0;//rad 0.0
    				maxValue = 4.0;//rad 229.18312
    				angle0 = 0.0;//rad 0.0;
    				angle1 = 6.2831855;//rad 360.0;
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    			class zaslehROT_HMG2
    			{
    				type="rotationZ";
    				source="muzzle_rot_HMG2";
    				selection="muzzlehmg";
    				axis="muzzlehmg_axis";//*probably*
    				sourceAddress = loop;
    				minValue = 0.0;//rad 0.0
    				maxValue = 4.0;//rad 229.18312
    				angle0 = 0.0;//rad 0.0;
    				angle1 = 6.2831855;//rad 360.0;
    				animPeriod = 0.0;
    				initPhase = 0.0;
    //				memory = true;//(default assumed)
    			};
    		};//Animations
    	};//modelclass
    };//CfgModels

     

     


  7. On 10/4/2018 at 1:09 PM, DSabre said:

    I would suggest to model 3 wheels max with physX and animate any surplus wheels only in res lod. That should save a lot of work

    So I have no idea how many would be in theory possible..

    ... maybe, just maybe I will try on the An-22, just to see what happens : )

     

    I was re-reading this thread to see if there were any further developments, and because I reached out to you in a PM. That aside for this thread, I haven't been around much since using the Discord server more. I'm curious if you ever did the An-22, or any other plane with multi-wheel gear. Some larger aircraft have 8 wheels per main gear. The ones on the back end would teeter totter the entire wheel assembly before the gear suspension compresses on landing. Simply put, the way a (tricycle) plane lands on its main gear first and then sets down on its front gear, the row of wheels on one gear would behave the same way. On bigger planes, not showing this behavior would be ugly.


  8. Hey everyone, forgive my wordiness, but I try to be thorough. Read on...
     

    18 hours ago, Valken said:

    @scotg I would love to help you but I don't understand ARMA code or config syntax. I am not an artist either but if there were some grunt work, you can post a job description and see if the community can pitch in whatever ways they can.

     

    Also, you should do more updates to get the Patreon support. It is a give and take, do an update, get more support, do more updates and such but you have to make the first move which you already done with the preview. I know this since I work in product development myself.

    You're right about updates. There are more updates, but they're not available to the general public. The idea is that it would behoove the fans to show their support by subscribing and staying current with its development. I can't go into details about how to subscribe, but here's a little hint: fans would hardly notice it in their monthly budgets. I have a Discord channel set up for the mod, too. I just need a moderator/personality/host to liaison between me and the players during periods where I am concentrating on the artwork and stuff (but I will still interact with them as often as I can!). It's a matter of finding someone with the time and dedication, getting an NDA for him/her to sign (and he/she signing it), and then giving that person a fair degree of authority over all the media outlets - Patreon, Discord, Facebook, here, etc. If you have more questions on this matter, and you are 18 or older, please PM me.
     

    5 hours ago, lilwillie said:

    Some questions I hope you can help with. Not sure if they are a ArmA issue or vehicle issue from the Mod.

    1. For the HISS tank, is there a script command I need to input for it to use it's main gun in self defense or offense. Tried a few editor made missions and it never returns fire even after making sure it is OPFOR.

    2. Placing vehicles, many times placing Cobra vehicles the pilot disappears after placement. So I'll need to manually place a troop next to it and script it is in driver seat.

    3. Awe Striker main weapon isn't finished yet, I am correct?

    4. The Mauler seems.....small.

    These are in no way ground breaking issues for me. Just odds and ends I haven't figured out. The mod has sucked me back into ArmA again, and I'm back to mission making and some light scripting that I did when OFP was first released and then into ArmA and ArmA 2. Once I can get some of my groove back I'd hope to have a dedicated server running with this Mod at times for a group of us that are playing together.

    Thanks! Hope all is well.

    Hi @lilwillie! Welcome back to Arma, and I hope BI Studio ( @RaptorM60 ) is taking note that this fledgling mod has that kind of influence in their favor!
    It is still in development, and should be considered a preview, but yeah there are quite a few issues. I wouldn't regard the mod as a full-fledged, fully integrated fighting force until further development, stating "Full Release," or some such, is made clear. Right now, it's best for server admins and such to stay in planning and ponder the possibilities this mod can offer in the future, like what @Donnie_Plays is doing. I should note here that if anyone wants to team up for a dedicated, monetized server, then you should read that link and then PM me. The catch would be that it cannot be named GI Joe, but I've gone to painstaking lengths in naming the mod and its assets to stay in the legal clear.

    Getting to lilwillie's questions...
    1. I'm not sure how AI handles the vehicles and their weapons. I've only tested these in 1st person, and the [Komodo]'s main guns are actually working. How they work will change in the future, but they are working. The missiles, as I recall, do not work (although they once did until I decided I didn't like how they were launching and gave that system a clean slate for future development). Also, I don't know if it affects how AI regards enemy targets, but [Vibora] forces have been designated Independent Forces on purpose so they can be opposed to BlueFor and OpFor, and perhaps other Indies as well. I think you might be able to set their allegiances in the mission, maybe? As an artist, I have to admit that certain things are beyond my abilities, atm.

    2. I'm not sure why this happens. I've been getting reports lately that only certain vehicles do not work well in certain modes, like Zeus for example. I haven't updated the mod since its release in November, but I've only been getting such reports since mid-January.

    3. Correct. Most of the mod is still very much in development, so this is just one of the more obvious examples.

    4. The [Black Bear] is small, and that's intentional. It's based off of its real-life influence, the RDF/LT, which is a 3-man light tank. Also, many assume the Mauler MBT is a full-size Main Battle Tank, but it's labelled as a "manned" battle tank - which is subject to interpretation. I enjoy GI Joe a lot, but that box is just a small example of the silliness of the franchise. If you read the acronym with the full name of the toy, then you get "Mauler Manned Battle Tank Tank" - an example of RAS Syndrome (redundant acronym syndrome syndrome). Back on track (tank pun), it was often deemed a replacement for the MOBAT, but in reality it should have been supplemental. The Black Bear LT (Mauler) reestablishes this distinction so that the Kodiak (MOBAT) can exist on the battlefield at the same time. 😉

    Of all the GI Joe and Cobra vehicles (the ones based on real life vehicles), most of them are under-sized for the action figures, which are almost 1:18 in scale. The MOBAT is more likely 1:24, and all the airplanes are probably 1:32 or smaller. The USS Flagg, at 1:18 scale, would be roughly the size of a full length tractor trailer. Compared to the other toy vehicles' scales, the Mauler MBT is an exception, being close to 1:18 just like the figures.

    Another part of the Black Bear LT being small is that the Komodo is larger than one might expect, so if you're comparing them side-by-side it accentuates the size differences. Enlarging the Komodo was necessary for its development, and it makes it seem like a more formidable threat. Putting this kind of intimidating equipment on the battlefield also helps make Vibora seem more like a force to be reckoned with.


  9. I think that's wise.

    LOL

    I did warn everyone that it's still early in development. As such, FfF! is really more of a playable preview to what it could be. The mod concept is an ambitious project - but easily tamed with just a little help. A major part of why it's available during development is an attempt to find such help. I'm just struggling to find available, interested, and capable helpers, and meeting these criteria is a rare combination. To compound the issue, and the reason why this project should be done, is that many of the vehicles and gear require special functions that separate them from the vanilla game and most other mods. It's not the only mod to sport unique assets with outside-the-box functions, but it does have a lot of them (and even more to come!) in one package. However, players seem to love it (or at least the idea of it), despite it needing much work. The mod more or less came out of nowhere as far as most Steam users are concerned, and gained respectable popularity in a very short time despite its unexpected release. The great thing is they don't have to be GI Joe fans to enjoy it, simply because of the diversity it proposes to offer.


  10. Hi @Donnie_Plays!

    I have no idea about any of the server compatibility stuff. LOL. I haven't tested it even in MP, tbh.

    I'm obviously still working on the project, but it's at a slower pace. I've started another position working on vehicle models for a AAA game, so my time is divided. It's a situation that I couldn't avoid since this mod is gaining popularity, but barely any new patrons.


  11. On 11/27/2018 at 12:15 AM, Valken said:

    PS: I love the Trouble Bubble. Definately so much fun to fly it.

     

    On 11/27/2018 at 1:18 AM, scotg said:

    The Patrol Pod (aka Doom Blister), is flying much better than I expected. Two days before I was set to release the alpha, I decided to try and get it flying better. The effort paid off, and I'm glad you are having fun with it.

    Someone else had said it gets pushed back from firing the weapon, so I had to go back and re-test. Turns out that was an understatement. The push back is a more powerful force than the thrusters are. Holding down the fire button, it "pushed" me 10k meters high in a matter of 10 seconds. Also, the higher it goes the harder it is to fall; for some reason it just kind of floats even with engines off and no forward speed. Last thing I forgot to mention: it doesn't steer, and I don't know why. As I said I was making a last minute adjustment just to get it off the ground (it was worse than the Swamp Raider is now). It just needs better rudder control, and I don't understand what's causing it to fail.

    It seems I'm better at making the pretty vehicles than getting them to work.


  12. 4 hours ago, Valken said:

    Thanks for the link to the files. I do have Crysis installed but will see if I have any free space to poke around your map. I just want to see a full blow Cobra Island layout in 3D. 

    It's just pictures... maybe I can find the playable map. I'm not even sure what the file would be anymore. Have to dig.


  13. Good feedback. Documents and project information links are provided on the FFF! Workshop page, in the description. There is a "Known Issues" document, which covers most of what you've said. Common issues and whatnot are listed in its General Issues sections, and then some specifics are listed for each asset/vehicle/model. In addition to that, other players have also already posted most of the issues without checking known issues. 

     

    9 hours ago, Valken said:

    Water Moccasin is a work in progress.

    This is true of all assets, in various degrees, so this basically sums up all the vehicles. The "Swamp Raider" airboat has the least amount of configs, rigging, and artwork on it.
     

    Feel free to report issues, but just keep in mind that most of the things people report were known before the release. I hope this saves people time and trouble. I can really appreciate the enthusiasm, so maybe it would be great for a list that has suggestions and requests only. Basically, I know all about how broken this Alpha Release is, but it's great to hear that you'd like civilian and 4-door versions.

     

    The Shock Hopper is RWD on purpose, but the other cars should be 4WD. They have better speed and force you to really use caution when driving, so if you're drifting, then maybe check your speed? That being said, I do need to work on the Puma's handling, as it seems to jump too high off burms and mounds. 

     

    Support and contributions are excellent and much appreciated! I hate to sound like a broken record, but please see the Workshop page for skills needed and other ways to contribute.

    Lastly, here's a folder with old mods: Old Mods. The Cobra Island folder should be in there somewhere, but it might not be as exciting as you are hoping. I don't have the the Terror Drome in there - just a construction spot for it. It looks kind of like the quarry on Tanoa, but remember this was made ten years ago. What is does have is a cave in the marshes, with waterway access. The marsh area was deep enough for small boats, but shallow enough for vehicles like the VAMP (I was using real names for that mod). You could race a VAMP against a Water Moccasin in that portion of the island. I'm not sure if I have that mod anymore, and I definitely don't have that game or its mod kit anymore, either. I do, of course, still have my models used for the CryEngine mod, but my current models are far better looking. Feel free to browse the other folders; they have more vehicles for older game mods I've made (non-Arma).

     

    As for the females... I'm at a loss for that, for now. Besides the obvious visual differences, women move differently than men. A proper female representation would require all new animations, using female-proportioned skeletons, and it would have to be done for every weapon, every vehicle, and every item, in all possible stances. It's very likely that all gear would require new female versions for fit, as well. Mod devs with custom vehicles, like mine, should also do the same for vehicle positions. Once that's all been done, you now only have two human bodies, to be frank. Forget about height differences and gender-specific body type differences; those would all require new poses and animations for everything.


  14. @Valken,

    Thanks for the "wow"! I'm super glad people like this mod, even though there's much work to be done.

     

    I have to use my official changed names, so just stay with me while I respond.

    The Patrol Pod (aka Doom Blister), is flying much better than I expected. Two days before I was set to release the alpha, I decided to try and get it flying better. The effort paid off, and I'm glad you are having fun with it.

    The black hellwing is the only hellwing for now. I was testing a few colors, and stopped with black/red. Don't worry; a more familiar red scheme will return in a future patch or version. Also, there will be gray ones, dark red ones, maybe chrome ones, and color options for the leading edges on all main colors. There will be flat, glossy, chrome, and sheen materials on this jet, as well! It's a lot to do for now, but they will come.

    I do not have a Diamondback pilot model, yet. You might have to wait a little longer for "Furious Ferret," the infamous Vibora pilot. He will most likely come out with the Beta.
     

    These changes and more will come in the future. This will be an ongoing project, so the wisdom of Yoda comes to mind: "Patience!" :smile_o:


    The Komodo is the black tank, named after a lizard that hisses. HINT HINT

    I use the F710 gamepad for all driving and flying. It works great with helis, IMO. I usually stay on kb/m for turrets, but sometimes I will use the gamepad (on the Varmint, for example). I also use TrackIR while playing, which is great in combination with the F710.

    I never released it, but I had a Cobra Island map for Crysis 2. It was developed from the Comics version of Cobra Island, the one with the marooned cargo ship that was trapped when they raised the island from the ocean. It was very cool, but then again creating Crysis levels was a lot of fun. For my needs now, a future version of the island would have to be inspired by the one on the posters and toy packaging. I just think the layout is better, bigger, more diverse, and makes more sense for such an organization.
     


  15. Good news for players wanting ready-made Fight For Freedom soldiers to place into their missions. @ravendk, who developed a GI Joe mod for Arma 2 and a Danish Forces mod for Arma 3 (you've probably seen them), has supplied me with code that should allow this. I don't have a time frame, yet but be on the lookout for select-able Vibora and 61JTF human units in the first Alpha patch.

    • Like 4

  16. 58 minutes ago, zukov said:


     Use the gendarmerie uniforms!  are ready with the blue PASGTs

    Or you could use the blue Vibora (formerly Cobra) uniforms I put in there. There are also green 61JTF (formerly GIJOE) uniforms.

     

    This would be a good habit to get into, since I plan on making interchangeable insignia placements. Officially, I must release this without using trademarked images, but who am I to stop the end user putting on his/her own artwork? ;-)

    • Like 1

  17. Just now, jandrews said:

    I could very well be blind but I do not see any men other then vibora pilot. 

    Ah yes. You have to assemble them in the Arsenal, save the loadout, and then export. Open a new mission and place a soldier, then open his properties. Paste into the init box and save. When you start the mission it will have his loadout.

    Just now, Polyus said:

    Oh yes!! why did you change the names though?

    This was for avoiding legal problems - a suggestion by one of the BI forum admins. 

    • Like 1

  18. For the time being, I currently have "Vibora" uniforms - blue with red sigil for enlistees and silver sigil for officers. Helmets are in there, too, and I promise they look even better. You can also find "61JTF" helmets and fatigues, for that O-13 style soldier.

     

    The gentleman who did that mod in your link was on my mod team for a short time. 


  19. In case anyone is wondering why I care so much about towing in Arma 3, well, I have assets that will benefit greatly from it. I also feel like the players will benefit immensely from a better towing system.

    Here is a treated render of one of my trailers:
    box_whirlwind02_by_rooster3d-d86aghy.jpg

    This was an early work of art, before the decision was made to change the mod name. Rather than GI Joe, it is now a 61st Joint Task Force (61JTF) asset. I haven't devised an alternative name for it, yet.


    As twin guns on a trailer, it's a stationary defense platform that can be relocated to fortify other team assets where it is more needed. In the game, the ability to move assets like this would provide tactical dynamics that greatly enrich user experience.

    In addition to this, the 61JTF will have a towed heavy LASER* platform and a HAWK missile trailer. Vibora, the faction replacing Cobra, will have some towed assets as well: a trailer similar to the ASP and a towed version of the Skorpion missiles. Both factions will possibly have some wrecked asset recovery trailers and some relocatable comms trailers.

    *Light Amplification by Stimulated Emission of Radiation - this would be a heavy piece of military hardware, not a common rifle that soldiers could carry. The limited use of this weapon would be a true homage to the uniqueness of GI Joe without stepping too deep into Sci-Fant or Sci-Fi like Star Wars and Star Trek.

    • Like 2
    • Thanks 1

  20. LOL. Bless you, @jandrews!

    I do have morale boosters, such as yourself and others in this thread, patreons, and YT followers. It's a very modest sized group, but I'm grateful for these people. They enjoy discussing the mod with me and seeing the progress of what I'm doing.

    I'm still forging forward. I don't expect Fight For Freedom's Alpha Release to be pretty and tidy. There'll be many things that are incomplete, but the main objective for Alpha is to get it to the mainstream audience. I will probably get a lot of garbage responses about how it sucks because things are broken, and how I should have completed it before releasing, but hopefully a few more people will be interested in joining a mod they can check out themselves.


  21. 43 minutes ago, uscg pilot 12 said:

    to be honest most if not all of the features you have described i have seen in on other mods here and there so they do exsist im sure of it

    Thanks for your input!
    To be honest (but why wouldn't we be?), I think you may not have read that list thoroughly, but I could be wrong. Some of these features are part of other mods via advanced script. The problem isn't that they can't be done; the problem is that it takes some very special skills apart from inputting regular config parameters, which I have little knowledge of. Mods with these features have special people who can focus on writing code to make the game engine do things it's capable of doing, but not necessarily prepped for. I don't have such a luxury:

    10 hours ago, scotg said:

    As an individual with no team support, I don't have a clue about making extra scripts to fully shine the project...

    ...therefore...

    10 hours ago, scotg said:

    I'm just asking for new config parameters

    All I'm asking is for BI devs to consider making it easier on mods that lack the advanced personnel who can script these things, like this mod, with configurable parameters. This means all that's needed from the mod developer to make these things happen are values, strings, and arrays. Maybe there's an information gap about the difference between scripts and configs, and what's worse is that people often say "configs" when they are really talking about full, additional scripts.

    Getting back to your responses:

    44 minutes ago, uscg pilot 12 said:

    most helos have a manual fire feature where the pilot takes over the main cannon on the front

    There is a stand alone Apache mod, by Nodunnit and Franze, that does this, and the Apache in the RHS mods does this, too. In both mods the scripting is very complex, and there are parts that most likely pertain specifically to that helicopter. I wouldn't begin to know where to start separating it to understand how to use the parts I need for all my small aircraft. Other than that, it's easy to give the pilot access to the fire button.
     

    48 minutes ago, uscg pilot 12 said:

    i have seen some tanks mods where the commander has full control of the doors and extra features.

    In this case, though, the more important issues are the lights and engine for one-man tanks. It's rather simple to make a one-man tank, such as my M4920 Varmint (inspired by the GI Joe Armadillo) with the parameter hasDriver = -1; (meaning that the commander assumes control of the vehicle's movement). The commander can drive the chassis, control the turret, and fire the weapons. I'm sure it might not take much config work to operate any doors extra than the hatch, but the commander does not have control of the engine and lights. These tasks should be automatically passed on to the commander when hasDriver is negative one.
     

    1 hour ago, uscg pilot 12 said:

    most if not all of the features

    Forgive me if my next response seems nit-picky; it's not my intention to rub anyone the wrong way. I know for a fact that none of the VTOL parameters exist, and those cover more than half my list. I have been on discord talking to other mod makers who have more experience in certain areas, and they have confirmed that redirecting thrust using a trigger button would take extensive scripting. There is a mod that reduces character fidgeting, but there isn't one that makes the player camera attached to the head, AFAIK. The towing mods only work with tow cables, from what I can tell. The creators of Advanced Towing also have Advanced Trains... If only they could hitch up a trailer like a train car. These are great mods, but the towed wheels don't roll. I don't even think the train engine wheels roll. In advanced towing, sometimes the towed vehicles move jerky - a lag like the RV engine is trying to keep up with its location. This is why I'm asking for an official towing system. As I see it, if the talented people at BIS can do such a fine job with slingloading, then towing should be comparable, but I'll admit that I don't fully understand the complexities of implementing it.
     

    1 hour ago, uscg pilot 12 said:

    unfortunately im not any good at config work otherwise id be more then happy to lend a hand

    I'm afraid it would take much more than simple config work, my friend, but I do appreciate your gung-ho spirit (no pun intended)!

    All this might seem like a lot to ask, but I'm just asking - that's all. It's not a demand or rebuke or anything negative. BI devs probably won't see this anyway, and even if they do see it and think it's all a great idea, they are probably already inundated with other tasks. I only present these requests in case BI finds them too good to bypass, but I am doing so in my own mod discussion thread so as not to be annoying.

×