Jump to content

Mickyleitor

Member
  • Content Count

    206
  • Joined

  • Last visited

  • Medals

  • Medals

Posts posted by Mickyleitor


  1. Hi! New call to arms anyone with technical knowledge in ACE.

    We are changing (internally) how FFAA MOD works, like the use of a new GIT system. Nowadays, there is a few developers (rather myself) working into 3rd party addons, unfortunately, some resources is wasted in the way and we want use those efforts to a full time dedicated on FFAA MOD.

     

    That is why we want to take advantage of the GIT system designed for an efficient and distributed management, we have published the ACE compatibility addon, as is currently happening with translations of the FFAAMOD, so that the community can contribute very easily to the proper integration with ACE, which is currently lacking some features due to the lack of deep understanding in the technical field of ACE.

    The repository is available on GitHub and contains the guide to make pull requests.

     

    OFFICIAL REPOSITORY COMPATIBILITY FFAA MOD & ACE ADDON


    Summarizing, if you really understand the programming, the scripts and how ACE work internally, help us so FFAA MOD could have more functionalities though ACE, we look forward to your contribution!

    • Like 2

  2. I was doing an example test to show you the configuration and although you solved it, I've attached here an example of the Test_Plane_01 from the Samples with bay configuration (I supposed fictional bay into the InnerLeft/Right bays...  Just for further modders looking for examples

    https://www.dropbox.com/s/ta8qw1cem4bpumq/BayAnimationExample.rar?dl=0


    Changed files are:
     

    Spoiler

    model.cfg:
    Lines 152 and (1309-1334)
    config.cpp
    Lines 373-388 , 323 and 33
    Test_Plane_01.p3d
    Just naming selection convention to bays in (almost) all LODs

     

    • Like 2

  3. Hi,
    I'm trying to implement all our content to Jet DLC standard too. According to the wiki, you just use the animation source given in the wiki.

    bay.1, bay.2,...bay.X - animation state of bay
    pylonReadyPos.X - animation state of pylon, missile is released when anim. state of bay and pylon is 1
    pylonIsEmpty.X - return 1 when no magazine is attached on pylon
    pylonReload.X - reload state of weapon on given pylon
    pylonRevolving.X - revolving state of weapon on given pylon

    bay.1, bay.X... is the bay corresponding the bays class sorted by the sequence of appearance, for example, if you have:

     

    Spoiler
    
    class CfgVehicles
    {
        class Plane_Base_F;
        class My_custom_content: Plane_Base_F
        {
            class Components: Components
            {
                class TransportPylonsComponent
                {
                    class Bays
                    {
                        class BayCenter // corresponding to pylons/##pylon##/bay=1;
                        {
                            bayOpenTime               = 1;
                            openBayWhenWeaponSelected = 1.0; // float value, can be used to half open bay
     
                            // -1 keep open, 0 close after last missile, > 0 keep open for given time after last shot                       
                            autoCloseWhenEmptyDelay   = 2; // when last shot keep 2s open after last shot
                        };
                        class BayRight   // corresponding to pylons/##pylon##/bay=2;
                        {
                            bayOpenTime               = 0.8;
                            openBayWhenWeaponSelected = 0.0;
                        };
                        class BayLeft: BayRight{}; // corresponding to pylons/##pylon##/bay=3;
                    };
                };
            };
        };
    };

     

     

    bay.1 animation source will be BayCenter, bay.2 BayRight and bay.3 BayLeft.

    The use of those animation sources is like you used to do.. for example:

     

    Spoiler
    
    class CfgSkeletons
    {
    	class your_content_skeleton
    	{
    		isDiscrete=1;
    		skeletonInherit="";
    		skeletonBones[]=
    		{
    			"bay1_selection","",
    			"bay2_selection",""
    			"some_other_selections","",
    			.
    			.
    			.
    		};
    	};
    };
    class CfgModels
    {
    	class your_content_p3d_name
    	{
    		sectionsInherit="";
    		sections[]=
    		{
    			"name_sections_for_hideselection?"
    			"camo?"
    			"glass?"
    		};
    		SkeletonName="your_content_skeleton";
    		class Animations
    		{
    			// When BayCenter (bay.1) is 1 (Opened) then rotate
    			// the selection of the object named "bay1_selection"
    			// 90 degres along "axis_bay1_selection" axis.
    			class bay1_animation
    			{
    				type = "rotation";
    				source = "bay.1";
    				selection = "bay1_selection";
    				axis = "axis_bay1_selection";
    				memory = 1;
    				sourceAddress = "clamp";
    				minValue = 0.000000;
    				maxValue = 1.000000;
    				angle0 = 0;
    				angle1 = "rad 90";
    			};
    			// More animations
    			.
    			.
    			.
    		};
    	};
    };

     


    Hope it helps you.
     


  4. Hi,
    I'm updating my custom SAM (NASAMS) Launcher to the new sensor update from Jet DLC. I've a working SAM Launcher, sensors are doing its job except for a litlle issue. Which is the Right Display Manager Component isn't heading to the real direction of the turret azimut (but it's attached to, via "animDirection"), instead, it's heading to the opposite the turret is heading... Also, the poiting vector (the arrow inside the display) is pointing to the backward of the vehicle. Here is a short video:

     

    https://gyazo.com/dc8d800d44b355af29b7a0d85cd0211f

     

    All stuff is working right, like the spawn point, direction of the missile. I was wondering if it's something related to the config or the model itself. Here is the config:

    Spoiler
    
    class ffaa_lanzador_nasams: StaticMGWeapon
    	{
    		author="$STR_FFAA_AUTOR_FFAAMOD";
    		scope = 2;
    		scopeCurator = 2;
    		side = 1;
    		faction = "ffaa";
    		crew = "B_UAV_AI";
    		typicalCargo[] = {"B_UAV_AI"};
    		vehicleClass = "Autonomous";
    		editorPreview = "\ffaa_data\EditorPreview\ffaa_lanzador_nasams.jpg";
    		picture="\ffaa_estatico\ico\icon_nasams_ca.paa";
    		icon="\ffaa_estatico\icomap\icomap_nasams_ca.paa";
    		uiPicture = "\ffaa_estatico\icomap\icomap_nasams_ca.paa";
    		displayName="$STR_FFAA_LANZADOR_NASAMS";
    		DLC = "FFAA";
    		hasDriver = 0;
    		hasGunner = 1;
    		isUav = 1;
    		uavCameraGunnerPos = "pos_gunner_view";
    		uavCameraGunnerDir = "pos_gunner_view_dir";
    		unitInfoType = "RscUnitInfoTank";
    		model="\ffaa_estatico\ffaa_lanzador_nasams.p3d";
    		hiddenSelections[]={"camo_launcher"};
    		hiddenSelectionsTextures[]={"\ffaa_estatico\data\nasams_co.paa"};
    		threat[] = {0.5, 0.3, 1};
    		cost = 150000;
    		accuracy = 0.12;
    		extCameraPosition[] = {0, 1.5, -10};
    		canFloat = 0;
    		class TextureSources
    		{
    			class Green //sources - ["A3_Static_F_Jets_SAM_System_01"]
    			{
    				displayName = "Green";
    				author = "Bravo Zero One Studios";
    				hiddenSelectionsTextures[]={"\ffaa_estatico\data\nasams_co.paa"};
    				factions[] = {"ffaa"};
    			};
    		};
    		animationList[] = {};
    		textureList[] = {"Green", 1};
    		enableGPS = 1;
    		radarType = 4;
    		gunnerCanSee = "1+2+4+16";
    		commanderCanSee = "1+2+4+16";
    		driverCanSee = "1+2+4+16";
    		radarTarget = 0;
    		radarTargetSize = 0.9;
    		visualTarget = 1;
    		visualTargetSize = 1;
    		reportRemoteTargets = 0;
    		receiveRemoteTargets = 1;
    		lockDetectionSystem = 0;
    		incomingMissileDetectionSystem = 16;
    		class Components: Components
    		{
    			class SensorsManagerComponent
    			{
    				class Components
    				{
    					class ActiveRadarSensorComponent: SensorTemplateActiveRadar
    					{
    						class AirTarget
    						{
    							minRange = 5000;
    							maxRange = 13000;
    							objectDistanceLimitCoef = -1;
    							viewDistanceLimitCoef = -1;
    						};
    						class GroundTarget
    						{
    							minRange = 5000;
    							maxRange = 5000;
    							objectDistanceLimitCoef = -1;
    							viewDistanceLimitCoef = -1;
    						};
    						animDirection = "mainGun";
    					};
    					class DataLinkSensorComponent: SensorTemplateDataLink
    					{
    					};
    				};
    			};
    		};
    		animated = 1;
    		class AnimationSources
    		{
    			class Revolving
    			{
    				source="revolving";
    				weapon="ffaa_estatico_nasams";
    			};
    			class connected
    			{
    				source = "user";
    				initPhase = -1;
    				animPeriod = 0.1;
    			};
    		};
    		armor = 80;
    		armorStructural = 2;
    		damageResistance = 0.004;
    		damageEffect = "AirDestructionEffects";
    		class Hitpoints: HitPoints
    		{
    			class HitHull
    			{
    				armor = 3;
    				name = "hit_hull";
    				visual = "zbytek";
    				radius = 0.25;
    				minimalHit = 0.05;
    				explosionShielding = 1.5;
    				depends = "Total";
    				passThrough = 0.1;
    				material = 51;
    			};
    			class HitAvionics: HitHull
    			{
    				armor = 0.5;
    				passThrough = 0.15;
    				name = "hit_avionics";
    				visual = "avionics";
    				minimalHit = 0.01;
    			};
    			class HitTurret: HitHull
    			{
    				armor = 3;
    				name = "hit_turret";
    				convexComponent = "turret";
    				visual = "turret";
    				passThrough = 0.1;
    				minimalHit = 0.1;
    				explosionShielding = 1.2;
    				material = -1;
    				class DestructionEffects
    				{
    					class light1
    					{
    						simulation = "light";
    						type = "ObjectDestructionLight";
    						position = "turretdestruct_pos";
    						intensity = 0.001;
    						interval = 1;
    						lifeTime = 3;
    					};
    					class smoke1
    					{
    						simulation = "particles";
    						type = "ObjectDestructionSmoke";
    						position = "turretdestruct_pos";
    						intensity = 0.15;
    						interval = 1;
    						lifeTime = 3.5;
    					};
    					class fire1
    					{
    						simulation = "particles";
    						type = "ObjectDestructionFire1";
    						position = "turretdestruct_pos";
    						intensity = 0.15;
    						interval = 1;
    						lifeTime = 3;
    					};
    					class sparks1
    					{
    						simulation = "particles";
    						type = "ObjectDestructionSparks";
    						position = "turretdestruct_pos";
    						intensity = 0;
    						interval = 1;
    						lifeTime = 0;
    					};
    					class sound
    					{
    						simulation = "sound";
    						position = "turretdestruct_pos";
    						intensity = 1;
    						interval = 1;
    						lifeTime = 1;
    						type = "Fire";
    					};
    				};
    			};
    			class HitGun: HitTurret
    			{
    				armor = 2;
    				name = "hit_gun";
    				visual = "gun";
    				convexComponent = "gun";
    				explosionShielding = 1.2;
    				passThrough = 0.1;
    				class DestructionEffects: DestructionEffects
    				{
    					class light1: light1
    					{
    						position = "gundestruct_pos";
    					};
    					class smoke1: smoke1
    					{
    						position = "gundestruct_pos";
    					};
    					class fire1: fire1
    					{
    						position = "gundestruct_pos";
    					};
    					class sparks1: sparks1
    					{
    						position = "gundestruct_pos";
    					};
    					class sound: sound
    					{
    						position = "gundestruct_pos";
    					};
    				};
    			};
    			class HitOptic: HitTurret
    			{
    				armor = 0.8;
    				passThrough = 0.01;
    				explosionShielding = 0.2;
    				name = "optic";
    				visual = "optic";
    				convexComponent = "optic";
    				class DestructionEffects
    				{
    				};
    			};
    		};
    		class Damage
    		{
    			tex[] = {};
    			mat[] = {
    				"ffaa_estatico\data\nasams.rvmat",
    				"ffaa_estatico\data\nasams_damage.rvmat",
    				"ffaa_estatico\data\nasams_destruct.rvmat"
    			};
    		};
    		memoryPointLMissile = "pos_missile_l";
    		memoryPointRMissile = "pos_missile_r";
    		memoryPointLRocket = "pos_missile_l";
    		memoryPointRRocket = "pos_missile_r";
    		memoryPointMissile[] = {"pos_missile", "usti hlavne"};
    		memoryPointMissileDir[] = {"pos_missile_end", "konec hlavne"};
    		class Turrets: Turrets
    		{
    			class MainTurret: MainTurret
    			{
    				minElev = -1;
    				maxElev = 42;
    				minturn = -180;
    				maxturn = 180;
    				initElev = 0;
    				initTurn = 0;
    				maxHorizontalRotSpeed = 2.7;
    				maxVerticalRotSpeed = 2.7;
    				soundServo[] = {"A3\Sounds_F\vehicles\armor\noises\servo_best", 1.41254, 1, 40};
    				hasGunner = 1;
    				displayName="$STR_FFAA_LANZADOR_NASAMS";
    				primary = 1;
    				primaryGunner = 1;
    				startEngine = 0;
    				enableManualFire = 1;
    				turretinfotype = "RscOptics_APC_Tracked_01_gunner";
    				forceHideGunner = 1;
    				gunnerforceoptics = 1;
    				gunnerOutForceOptics = 1;
    				viewgunnerinExternal = 0;
    				outGunnerMayFire = 1;
    				inGunnerMayFire = 1;
    				castGunnerShadow = 0;
    				gunneraction = "Disabled";
    				gunnerinaction = "Disabled";
    				showAllTargets = 2;
    				body = "MainTurret";
    				gun = "MainGun";
    				animationSourceBody = "MainTurret";
    				animationSourceGun = "MainGun";
    				uavCameraGunnerPos = "pos_gunner_view";
    				uavCameraGunnerDir = "pos_gunner_view_dir";
    				memoryPointGunnerOptics = "pos_gunner_view";
    				selectionFireAnim = "zasleh";
    				missileBeg = "pos_missile";
    				missileEnd = "pos_missile_end";
    				gunnerlefthandanimname = "";
    				gunnerrighthandanimname = "";
    				weapons[] = {"ffaa_estatico_nasams"};
    				magazines[] = {"ffaa_6Rnd_AMRAAM"};
    				optics = 1;
    				gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Gunner_AAA_01_w_F";
    				class OpticsIn
    				{
    					class Wide
    					{
    						opticsDisplayName = "W";
    						initAngleX = 0;
    						minAngleX = -30;
    						maxAngleX = 30;
    						initAngleY = 0;
    						minAngleY = -100;
    						maxAngleY = 100;
    						initFov = 0.466;
    						minFov = 0.466;
    						maxFov = 0.466;
    						visionMode[] = {"Normal", "NVG", "Ti"};
    						thermalMode[] = {0, 1};
    						gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Gunner_AAA_01_w_F";
    					};
    					class Medium: Wide
    					{
    						opticsDisplayName = "M";
    						initFov = 0.093;
    						minFov = 0.093;
    						maxFov = 0.093;
    						gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Gunner_AAA_01_m_F";
    					};
    					class Narrow: Wide
    					{
    						opticsDisplayName = "N";
    						gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Gunner_AAA_01_n_F";
    						initFov = 0.029;
    						minFov = 0.029;
    						maxFov = 0.029;
    					};
    				};
    				class Components: Components
    				{
    					class VehicleSystemsDisplayManagerComponentLeft: DefaultVehicleSystemsDisplayManagerLeft
    					{
    						class Components
    						{
    							class EmptyDisplay
    							{
    								componentType = "EmptyDisplayComponent";
    							};
    							class MinimapDisplay
    							{
    								componentType = "MinimapDisplayComponent";
    								resource = "RscCustomInfoMiniMap";
    							};
    							class UAVDisplay
    							{
    								componentType = "UAVFeedDisplayComponent";
    							};
    							class SensorDisplay
    							{
    								componentType = "SensorsDisplayComponent";
    								range[] = {16000, 8000, 4000, 32000};
    								resource = "RscCustomInfoSensors";
    							};
    						};
    					};
    					class VehicleSystemsDisplayManagerComponentRight: DefaultVehicleSystemsDisplayManagerRight
    					{
    						defaultDisplay = "SensorDisplay";
    						class Components
    						{
    							class EmptyDisplay
    							{
    								componentType = "EmptyDisplayComponent";
    							};
    							class MinimapDisplay
    							{
    								componentType = "MinimapDisplayComponent";
    								resource = "RscCustomInfoMiniMap";
    							};
    							class UAVDisplay
    							{
    								componentType = "UAVFeedDisplayComponent";
    							};
    							class SensorDisplay
    							{
    								componentType = "SensorsDisplayComponent";
    								range[] = {16000, 8000, 4000, 32000};
    								resource = "RscCustomInfoSensors";
    							};
    						};
    					};
    				};
    			};
    		};
    		class AttributeValues
    		{
    			RadarUsageAI = 1;
    		};
    		class UserActions
    		{
    			class Rearmar
    			{
    				displayName="$STR_FFAA_NASAMS_REARMAR";
    				displayNameDefault = "<img image='\a3\UI_F\data\IGUI\Cfg\Actions\reammo_ca.paa' size='1.8' shadow=2 />";
    				position="STA_axis";
    				radius=5;
    				condition="alive(this) && ((this ammo ""ffaa_estatico_nasams"")<6)";
    				statement="[this,0] call FFAA_fnc_lanzador_nasams_support";
    				onlyforplayer = 0;
                    priority = 4.800000;
    			};
    			class Reparar
    			{
    				displayName="$STR_FFAA_NASAMS_REPARAR";
    				displayNameDefault = "<img image='\a3\UI_F\data\IGUI\Cfg\Actions\repair_ca.paa' size='1.8' shadow=2 />";
    				position="STA_axis";
    				radius=5;
    				condition="alive(this) && ((damage this)>0.1)";
    				statement="[this,1] call FFAA_fnc_lanzador_nasams_support";
    				onlyforplayer = 0;
                    priority = 4.800000;
    			};
    			class Desconectar
    			{
    				displayName="$STR_FFAA_M250_FORCEDISCONNECT";
    				displayNameDefault = "<img image='\a3\UI_F\data\IGUI\Cfg\Actions\ico_off_ca.paa' size='1.8' shadow=2 />";
    				position="STA_axis";
    				radius=1;
    				condition="alive(this) && (!isNull (this getVariable ""connectedto""))";
    				statement="this call FFAA_fnc_nasams_disconnect";
    				onlyforplayer = 0;
                    priority = 4.800000;
    			};
    		};
    		class VehicleTransport
    		{
    			class Cargo
    			{
    				canBeTransported = 1;
    			};
    		};
    		class Eventhandlers : Eventhandlers
    		{
    			init = "(_this select 0) spawn FFAA_fnc_lanzador_nasams_init;";
    			fired="[_this select 0,_this select 6,'missile_move','MissileBase'] spawn BIS_fnc_missileLaunchPositionFix;";
    		};
    	};

     

     

     

    Any clue?

     

    Greetings.

     


  5. Hi,
    Just a little improvement here (to make this more realistic, technically speaking). Your jammer strengh effect is lineal depending on the distance of the jammer, an electronic jammer emit a wave which sature a range of the bandwidth (not simulated in this script) avoiding comms to be properly demodulated and decrypted, this is an eletronic wave and according to the laws his effect is exponential depending on the distance..


    In short, you could change the line 50 of the TFARjamRadios.sqf to this:

    // Interferencia exponencial decreciente con lambda = 2
    _interference = _strength * exp ( - _distPercent * 2 ) ;
    // Interferencia lineal
    // _interference = _strength - (_distPercent * _strength) + 1;

     

    Greetings! :)


  6. On 29/6/2017 at 8:38 PM, Mickyleitor said:

    To be honest since the new sensor overhaul Idk if this is working aswell, I will check when possible.

     

    Checked @john1, Last sensor update broke the NASAMS Launcher locking/fire system. Reported in our feedback tracker.

    Thus due to this, all already deployed NASAMS are practically useless until a fix is released :/

     

    On 3/7/2017 at 11:21 PM, p_siddy said:

    I've seen a post on your website back from 2016 about work on an EC135. Is that still planned to be included in the mod as I've not seen any of mention of it?

     

    It's not planned, it's already in work in progress ;)

     

    • Like 1

  7. 1 minute ago, john1 said:

    Ai doesn`t  seem to be able to use the NASAMS -system.Is this working as of yet?

     

     Where do I go wrong - Control-T and R  and T ,right?     thanks

     

    How do I lock targets in this?  That`s all.   thnx

    Once you are inside a NASAMS Launcher yes, T/R (default keys to lock) should work.

    To be honest since the new sensor overhaul Idk if this is working aswell, I will check when possible.


  8. 3 hours ago, john1 said:

    Ai doesn`t  seem to be able to use the NASAMS -system.Is this working as of yet?

     

     Where do I go wrong - Control-T and R  and T ,right?     thanks


    NASAMS is provided as a complex/group of systems which operate autonomously according to threats. Additionally, you (player) can manually control one of those turrets (NASAMS Launcher) from the FCS (NASAMS Station).
    So, AI should be able to use the NASAMS System since it's used by AI by default. Could you be more explicit?

     

    On 6/6/2017 at 1:59 PM, jabbabzh said:

    My team leader want to make us spawn in the BAM (so nice ship).

    Is it possible? cause he is on editor but always spawn in water..

     

    It should respawn in top of deck if you put it over the deck.. but there is a script which is usefull for this:
    FFAA_fnc_bam_montar


  9. 2 hours ago, PigeonSparrow said:


    Thanks for such an in depth response. I've managed to load the boats using the first approach but but now I'm having issues with the winch. I created a trigger and ran the code to unload the boat but I get this error message:

    '...tvariable "FFAA_Ship");
    _vehicleCargo = |#|_ship getvariable ["FFAA_WinchCargo",[]]..."
    Error undefined variable in expression: _ship
    Error undefined variable in expression: _vehiclecargo
    File ffaa_ar_bam\functions\fn_shipWinch.sqf [FFA_fnc_shipWinch], line 41

    It also teleports the boat to the top of the BAM in a weird position. This is what I used in the trigger:
    [mhq_3,boat3,"Winch_3"] spawn FFAA_fnc_ShipWinch;  

     

    Ops! It seems you should put the ship subpart object instead of the bam (the main one) ... I'll check the code to automatically search for the winch you are calling so in this way you could call the function with the BAM object (the main one) name.
    As a workaround (in the future it should have backward compatiblity) call it as follows:

    [((mhq_3 getVariable ["FFAA_shipParts",[]]) select 1),boat3,"Winch_3"] spawn FFAA_fnc_ShipWinch;

     

    • Like 1

  10. 5 hours ago, PigeonSparrow said:

     I have a question regarding the lifted boats on the B.A.M. Where can I find the variable names for them? I'd like be able to spawn ai and move them into those boats using the moveincargo command.

     

    In the last update there was a little change on this. Meaning there are two ways to retrieve the variable names and "play" with them.
    - First and the easy way is create a boat aside of the BAM and name it whatever you want, for example "boat1". Load any AI you want in boat1. And add it in the BAM 3DEN Attribute, last parameter.

     

    Now it will be spawned at the desired position and you should able to manage it, the code to unload the boat is:

    [NAME_OF_BAM,boat1,"Winch_X"] spawn FFAA_fnc_ShipWinch;

    Where NAME_OF_BAM is the name attribute of the BAM and X is the Winch number of BAM (1 front right,2 front left,3 outside backward, 4 inside backward).

     

    - The second way is a bit complex but easy is you understand how A3 runs. Using BAM 3DEN Attribute you can create at the init of the mission any boat you want by writting the classname of that boat inside the attribute box.

    All classname/object will be create and loading into the array order of the attribute, meaning if you put "ffaa_ar_zodiac_hurricane,ffaa_ar_zodiac_hurricane,ffaa_ar_supercat", then ffaa_ar_zodiac_hurricane will be created into Winch 1 and 2 and ffaa_ar_supercat will be spawned at the Winch number 3.

    If you want an empty winch you should put a "-" character instead of the classname (ej: if you want an object only in winch 3 then "-,-,ffaa_ar_zodiac_hurricane").

     

    Once you completed the attribute slot, you could retrieve the variable names by looking for the FFAA_WinchCargo variable. You can retrieve the array of all object winched into the BAM by doing:

    NAME_OF_BAM getVariable ["FFAA_WinchCargo",[]];

    Order of array will be at the order you did in the BAM's attribute so getting your boat from winch 2 is so easy as:

    _myboat = (NAME_OF_BAM getVariable ["FFAA_WinchCargo",[]]) select 1);

    Now you should do the same step for unwinch it (previously explained).

    Additionaly, the same variable is available for Flight Deck Cargo "FFAA_FlightDeckCargo", but It's nearly useless as there are only one cargo space (this variable should be hardly used in the future, when LHD L61 be released).

    • Like 1

  11. On 4/4/2017 at 9:10 PM, shrike88 said:

    I love the BAM! however seems like the interior lights are still extremely bright.

     

    18 minutes ago, Derek Thompson said:

    A few things tho, the lights on the B.A.M at night, damn thats bright, can barely see anything.

    The issue with BAM's lights has been fixed in our dev version.
     

    18 minutes ago, Derek Thompson said:

    The NASAMS, is there a way to load that back onto the truck?

    As you aren't allowed to "drive" the NASAMS Launcher, the only way to load it into the truck is via script. However with M250 NASAMS Launcher truck you should be able to load the launcher manually by an action into the back of the truck.
     

    18 minutes ago, Derek Thompson said:

    How do you use them? Or are they not functional?

    Go to the Command bridge and get into the seats. Choose one of the Mk-38 guns (arrow left-right key) and select "Take control". Have fun.

     


  12. 9 minutes ago, darksidesixofficial said:

    Not to burst your bubble, but that landing was rushed to hell.


    That landing was obviously not to explain that contact between large objets with physics doesn't work well in MP :rofl::rofl:. In fact that's SP and I was too lazy to edit and cut the video to the interesting part...
    It works pretty well in SP but again you can't land on a moving ship into MP enviroments. Tried 1 month ago and inmediately the gear contact with surface in the landing, the ship/heli will become unstable and finally explode itself.

    • Like 1

  13. 1 hour ago, darksidesixofficial said:

    Arma 3's engine handles ships perfectly, this includes ships with vehicles on top. I'm already proved this.


    It's partially supported, once you get this to MP, all interaction beetwen vehicle (ship) + vehicle (heli) will lead to a fatal crash (tested by my own 1 month ago).
    However, we know in alpha this wasn't supported and all improvements done until now is welcomed regarding to engine limits.
    I've tested by my self some random checks in SP, just to show you this is actually working but... (there is always a but) once ship start moving then players will freeze in the same position or at least it won't follow ship track and for sure interaction in MP is worst in this case (vehicle+vehicle).
     


    With USS Freedom into the corner there will be improvements, new mechanics and functionality to better support this kind of assets (I hope..) and it would be very ... very welcomed for some of us.

    • Like 3

  14. Hi guys,
    I'm researching for a new way to manually configure a cargo vehicles configuration inside a ship (B.A.M). Now we have 3DEN Entity attributes I want to use this feature to let mission editor put its own cargo configuration.

     

    a8daa1db492b02f459fec6423d6db75f.png

     

    The idea is simple, with a GUI like this, the Mission Editor write into an array the vehicles he wants, then it's passed to a variable with setVariable "CustomCargoArray" to the unit and when vehicle gets spawned, the init of the vehicle take this array and load them with a custom script.

     

    Config attributes

    class Attributes
            {
                class DefaultCargo
                {
                    control = "Checkbox";
                    defaultValue = "false";
                    displayName = "$STR_FFAA_BAM_DEFAULTCARGO_DISPLAYNAME";
                    tooltip = "$STR_FFAA_BAM_DEFAULTCARGO_TOOLTIP";
                    expression = "_this setVariable ['FFAA_ship_defaultCargo',!_value,true];";
                    property = "DefaultCargo";
                };
                class CustomWinchCargo
                {
                    control = "EditArray";
                    defaultValue = "['ffaa_ar_zodiac_hurricane','ffaa_ar_zodiac_hurricane']";
                    displayName = "$STR_FFAA_BAM_CUSTOMWINCHCARGO_DISPLAYNAME";
                    tooltip = "$STR_FFAA_BAM_CUSTOMCARGO_TOOLTIP";
                    expression = "_this setVariable ['CustomWinchCargo',_value,true];";
                    property = "CustomWinchCargo";
                    wikiType = "[[Array]]";
                };
                class CustomFlightDeckCargo
                {
                    control = "EditArray";
                    defaultValue = "['']";
                    displayName = "$STR_FFAA_BAM_CUSTOMFLIGHTDECKCARGO_DISPLAYNAME";
                    tooltip = "$STR_FFAA_BAM_CUSTOMCARGO_TOOLTIP";
                    expression = "_this setVariable ['CustomFlightDeckCargo',_value,true];";
                    property = "CustomFlightDeckCargo";
                    wikiType = "[[Array]]";
                };
            };

    Init of the vehicle

    [_ship,"WinchCargo",_ship getVariable ["CustomWinchCargo",[]]] call FFAA_fnc_createVehicleCargo;
    [_ship,"FlightDeckCargo",_ship getVariable ["CustomFlightDeckCargo",[]]] call FFAA_fnc_createVehicleCargo;

     

    Where is the issue? Well, it's on the initialization order of Arma 3, the init of the vehicle is first called and there is no way to read the "CustomCargoArray" value because in fact it doesn't exist, YET.

    What would be the best approach to get this working? I think there is more than the approach I'm trying but I'm running out of new ideas..


  15. 5 hours ago, BadHabitz said:


    There's no reasons to have deck crew animations without a deck. They don't do that stuff on land unless it's for training.

     

    Not sure if this is relevant but someone spotted the tailhook ? :dozingoff::dozingoff:
    f7835af33434a7d5f5d75dfee3b76b21.png

    • Like 1

  16. On 10/2/2017 at 9:06 PM, Mickyleitor said:

     

    Hi @aluc4rd

    Are there some news on this? I think you guys expanding this feature will bring community a nice in-built feature for community created content. Right now this feature do the job for A3 vanilla vehicles but as soon as you try to mod a non-vanilla vehicle which isn't a simple straight line/cube then it starts decreasing its potential.

    The only differences between this in-built engine feature and some script I can do using attachto/user actions is that yours work well with AI and that's the reason I'm waiting for this feature to be extended, because AI behaviour using ViV (mine Its only for humans).

    I want to put some ViV magic into a ship like the @Chairborne one. But I simply can't because at this moment only one Cargo space is allowed.
    I thinking on something like this:

      Reveal hidden contents

     

    
    
    class VehicleTransport
    {
    	class Carrier_front
    	{
    		cargoBayDimensions[]        = {"Cargo_limit_front_1", "Cargo_limit_front_2"};
    		disableHeightLimit          = 1;
    		maxLoadMass                 = 200000;
    		cargoAlignment[]            = {"front", "left"};
    		cargoSpacing[]              = {0.3, 0.3, 0.3};
    		exits[]                     = {"Cargo_exit_front_1"};
    		unloadingInterval           = 2;
    		loadingDistance             = 10;
    		loadingAngle                = 60;
    		parachuteClassDefault       = B_Parachute_02_F;
    		parachuteHeightLimitDefault = 50;
    	};
    	class Carrier_back
    	{
    		cargoBayDimensions[]        = {"Cargo_limit_back_1", "Cargo_limit_back_2"};
    		disableHeightLimit          = 1;
    		maxLoadMass                 = 200000;
    		cargoAlignment[]            = {"front", "left"};
    		cargoSpacing[]              = {0.3, 0.3, 0.3};
    		exits[]                     = {"Cargo_exit_back_1"};
    		unloadingInterval           = 2;
    		loadingDistance             = 10;
    		loadingAngle                = 60;
    		parachuteClassDefault       = B_Parachute_02_F;
    		parachuteHeightLimitDefault = 50;
    	};
    };

     

     


    Ehm... bump (?) @aluc4rd
    Any developer could hopefully answer this?

    • Like 1

  17. On 20/6/2016 at 11:27 AM, aluc4rd said:

     

    Oh, my bad. I'm afraid only one cargo space per transport vehicle is possible. :( We already have some ideas how to expand this feature post Apex, but no promises for now.

     

     

    Hi @aluc4rd

    Are there some news on this? I think you guys expanding this feature will bring community a nice in-built feature for community created content. Right now this feature do the job for A3 vanilla vehicles but as soon as you try to mod a non-vanilla vehicle which isn't a simple straight line/cube then it starts decreasing its potential.

    The only differences between this in-built engine feature and some script I can do using attachto/user actions is that yours work well with AI and that's the reason I'm waiting for this feature to be extended, because AI behaviour using ViV (mine Its only for humans).

    I want to put some ViV magic into a ship like the @Chairborne one. But I simply can't because at this moment only one Cargo space is allowed.
    I thinking on something like this:

    Spoiler

     

    
    class VehicleTransport
    {
    	class Carrier_front
    	{
    		cargoBayDimensions[]        = {"Cargo_limit_front_1", "Cargo_limit_front_2"};
    		disableHeightLimit          = 1;
    		maxLoadMass                 = 200000;
    		cargoAlignment[]            = {"front", "left"};
    		cargoSpacing[]              = {0.3, 0.3, 0.3};
    		exits[]                     = {"Cargo_exit_front_1"};
    		unloadingInterval           = 2;
    		loadingDistance             = 10;
    		loadingAngle                = 60;
    		parachuteClassDefault       = B_Parachute_02_F;
    		parachuteHeightLimitDefault = 50;
    	};
    	class Carrier_back
    	{
    		cargoBayDimensions[]        = {"Cargo_limit_back_1", "Cargo_limit_back_2"};
    		disableHeightLimit          = 1;
    		maxLoadMass                 = 200000;
    		cargoAlignment[]            = {"front", "left"};
    		cargoSpacing[]              = {0.3, 0.3, 0.3};
    		exits[]                     = {"Cargo_exit_back_1"};
    		unloadingInterval           = 2;
    		loadingDistance             = 10;
    		loadingAngle                = 60;
    		parachuteClassDefault       = B_Parachute_02_F;
    		parachuteHeightLimitDefault = 50;
    	};
    };

     

     

    • Like 1

  18. 21 hours ago, GamerOnkel said:

    Will the m113 / m577 over again the driver can go over hatch and get the ramp on the back?

     

    I don't get you, you mean that if we will do, in the future, the possibility for the driver of M113/M557 to open the hatch and turn out(?) .. And the possibility to open the back ramp when a cargo load/unload from it(?)
    Short answer: No, as there isn't any developer working it.

×