Jump to content

Recommended Posts

Could someone please test this for me using Vcom. I have a ammo trunk in a town with a sentry waypoint right next to the trunk followed by two move waypoints leaving the town. It always worked perfectly but with Vcom the trunk never completes the sentry waypoint and just like moves within the town. I put the code in the init of the driver of the ammo trunk (group _unit) setVariable ["VCM_Disable",true]; but it appears Vcom still takes over the truck if I delete the sentry waypoint through Zeus it will then follow its waypoints. Does Vcom somehow alter sentry waypoint.  Thank you Avibird

Share this post


Link to post
Share on other sites

I read that the hold waypoint while using Vcom acts like a garrison waypoint. Does Vcom change the way the sentry waypoint works? AVIBIRD

Share this post


Link to post
Share on other sites

Need clarification 

PC >local disk (C) >program files (x86) > steam  > steam apps > common > arma3  inside a folder !workshop I have 12 different versions of Vcom AI 

V2.6 to V3.4.0 my question is do I need to delete the old versions and could this be the cause of my issues with the disable code not working. AVIBIRD

Share this post


Link to post
Share on other sites

@gerhart I will give that a go. I just can't understand way the disable code will not work or the ammo trunks will not complete the sentry waypoint and move out of the town. Very frustrating since Vcom makes the AI fighting so much better but one of the main objectives of this mission is to destroy three ammo trucks before it leaves the town and if they do you lose the mission. it's pretty hard to lose a mission if the truck's never leave the town 😂

 

 

Share this post


Link to post
Share on other sites

@gerhart I believe that fixed my problem 👍. I don't understand why some mods will have multiple versions in the steam folder following updates and other mods will not. I had a bunch of different mods with multiple versions inside my workshop folder. This is something I will check on a regular basis now following updates. Could somebody explain why this happens to some mods and not others. AVIBIRD

Share this post


Link to post
Share on other sites

That's great to hear.  I believe the issue with some mods having multiple versions still in their folder is Steam not properly deleting files/folders if they have been removed from the mod.  Also if the author changes the name, for instance Vcom being named after specific versions, I don't think Steam will delete that and will just add the newer version as it's own entity but I may be wrong on that.  Again nice to see you have it fixed

 

  • Thanks 1

Share this post


Link to post
Share on other sites

I notice the AI doesn't want to take helicopters any longer since the latest Arma game update 2.00 - is it broken or just my config?  

Share this post


Link to post
Share on other sites

Having some problems. I'm using version 3.4.0 (Mod).

 

 

1. I have no CBA Settings available in the editor.

 

2. In my missions on our server I use the file patching version instead

and VCOM use the skills from this file (AISettingsV3.hpp) although these are deactivated (VCM_SKILLCHANGE = false;).

 

 

 

.rpt

19:46:56 [CBA] (xeh) INFO: [0,13.429,0] PreStart started.
19:46:56 [CBA] (settings) INFO: Userconfig: File [userconfig\cba_settings.sqf] loaded successfully.
  
  
...
  
  
19:50:19 "VCOM: Loaded Userconfig"
19:50:48 "VCOM: Loaded CBA settings"

 

 

I have no CBA Settings defined because I can not see them in the editor.

But the rpt shows me that these have been loaded.

 

 

Some ideas what can I do?

 

 

AISettingsV3.hpp

Vcm_Settings = {
	
	/*
	
		ADDITIONAL COMMANDS
		(group this) setVariable ["VCM_NOFLANK", true]; 			// This command will stop the AI squad from executing advanced movement maneuvers.
		(group this) setVariable ["VCM_NORESCUE", true]; 		    // This command will stop the AI squad from responding to calls for backup.
		(group this) setVariable ["VCM_TOUGHSQUAD", true];		    // This command will stop the AI squad from calling for backup.
		(group this) setVariable ["Vcm_Disable", true]; 			// This command will disable Vcom AI on a group entirely.
		(group this) setVariable ["VCM_DisableForm", true]; 		// This command will disable AI group from changing formations.	
		(group this) setVariable ["VCM_Skilldisable", true]; 	    // This command will disable an AI group from being impacted by Vcom AI skill changes.	
		
	*/	

	Vcm_ActivateAI = true; 						// Set this to false to disable VcomAI. It can be set to true at any time to re-enable Vcom AI
	VcmAI_ActiveList = []; 						// Leave this alone.
	Vcm_ArtilleryArray = []; 					// Leave this alone
	
	// VCOM ARTILLERY. Only one kind of advanced artillery can be used at a time.
	VCM_ARTYENABLE = true; 						// Enable improved artillery handling from Vcom.
	VCM_ARTYLST = []; 							// List of all AI inside of artillery pieces, leave this alone.
	VCM_ARTYDELAY = 45; 						// Delay between squads requesting artillery
	VCM_ARTYWT = -(VCM_ARTYDELAY);
	VCM_ARTYET = -(VCM_ARTYDELAY);
	VCM_ARTYRT = -(VCM_ARTYDELAY);
	VCM_ARTYSIDES = [west,east,resistance];     // Sides that will use VCOM/FFE artillery
	VCM_AIMagLimit = 5; 						// Number of mags remaining before AI looks for ammo.
	VCM_Debug = false; 							// Enable debug mode.
	VCM_MINEENABLED = true;                     // Enable AI placing mines
	VCM_MINECHANCE = 75; 						// Chance to lay a mine
	VCM_SIDEENABLED = [west,east,resistance];   // Sides that will activate Vcom AI
	VCM_RAGDOLL = true;             			// Should AI ragdoll when hit
	VCM_RAGDOLLCHC = 50;            			// CHANCE AI RAGDOLL
	VCM_FullSpeed = true;          				// Enforce full speedmode during combat (Does not reset after combat end)
	VCM_HEARINGDISTANCE = 400;      			// Distance AI hear unsuppressed gunshots.
	VCM_SUPDIST = 25;                           // Distance AI will hear suppressed gunshots.
	VCM_WARNDIST = 200;             			// How far AI can request help from other groups.
	VCM_WARNDELAY = 25;             			// How long the AI have to survive before they can call in for support. This activates once the AI enter combat.
	VCM_STATICARMT = 300;           			// How long AI stay on static weapons when initially arming them. This is just for AI WITHOUT static bags. They will stay for this duration when NO ENEMIES ARE SEEN, or their group gets FAR away.	
	VCM_StealVeh = true;            			// Will the AI steal vehicles.
	VCM_ClassSteal = true;          			// If true, crewmen are required to steal tracked vehicles. Pilots are required to steal aircraft. false = anyone can steal any vehicle.
	VCM_AIDISTANCEVEHPATH = 80;    				// Distance AI check from the squad leader to steal vehicles
	VCM_ADVANCEDMOVEMENT = true;    			// True means AI will actively generate waypoints if no other waypoints are generated for the AI group (2 or more). False disables this advanced movements.
	VCM_FRMCHANGE = true;           			// AI GROUPS WILL CHANGE FORMATIONS TO THEIR BEST GUESS.
	VCM_SKILLCHANGE = false;        			// AI Groups will have their skills changed by Vcom.
	VCM_USECBASETTINGS = false;     			// If CBA is enabled on the host, use the CBA default settings. If false, use the filepatching settings instead.
	VCM_CARGOCHNG = true;           			// If true, Vcom will handle disembarking/re-embarking orders instead of vanilla. This is with the intention to prevent the endless embark/disembark loops AI are given.
	VCM_TURRETUNLOAD = true;        			// If true, AI will automatically disembark turret positions in vehicles, if the vehicle is badly damaged. This is to prevent AI leaving a tank, when the tracks are damaged.
	VCM_DISEMBARKRANGE = 200;       			// How far AI will disembark from their enemies. If the vehicle is damaged, they will disembark.
	VCM_AISNIPERS = true;           			// Special sniper AI
	VCM_AISUPPRESS = true;          			// AI will attack from further away with primary weapons to suppress enemies
	Vcm_DrivingActivated = false;   			// AI will use experimental driving improvements.
	Vcm_PlayerAISkills = false;     			// AI in a group, that a players leads, can have their skills changed separately.
	Vcm_GrenadeChance = 10;                     // Chance the AI will throw a grenade.
	Vcm_SmokeChance = 5;                        // Chance the AI will throw a smoke grenade.
	Vcm_AI_EM_CHN = 10;                         // Chance a group will attempt to jump over an obstacle -  - every 0.5 secs
	VCM_AI_EM_CLDWN = 10;                       // Time in seconds before a group will consider jumping over obstacles;
	Vcm_AI_EM = true;                           // Will the AI use enhanced movement to navigate around.	
	
	
	
	// AI SKILL SETTINGS
	// LOW DIFFICULTY
	// VCM_AIDIFA = [['aimingAccuracy',0.15],['aimingShake',0.1],['aimingSpeed',0.25],['commanding',1],['courage',1],['endurance',1],['general',0.5],['reloadSpeed',1],['spotDistance',0.8],['spotTime',0.8]];
	
	// MEDIUM DIFFICULTY
	VCM_AIDIFA = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',0.85],['courage',0.5],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]];
	
	// HIGH DIFFICULTY
	// VCM_AIDIFA = [['aimingAccuracy',0.35],['aimingShake',0.4],['aimingSpeed',0.45],['commanding',1],['courage',1],['endurance',1],['general',0.5],['reloadSpeed',1],['spotDistance',0.8],['spotTime',0.8]];
	
	// SIDE SPECIFIC
	VCM_AIDIFWEST = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',0.85],['courage',0.5],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]];
	VCM_AIDIFEAST = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',0.85],['courage',0.5],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]];
	VCM_AIDIFRESISTANCE = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',0.85],['courage',0.5],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]];
	
	// PLAYER SQUAD SPECIFIC
	VCM_PSQUADW= [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',0.85],['courage',0.5],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]];	
	VCM_PSQUADE= [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',0.85],['courage',0.5],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]];	
	VCM_PSQUADR= [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',0.85],['courage',0.5],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]];	
	
	VCM_AISIDESPEC = {
		
		private _Side = (side (group _this));
		
		switch (_Side) do {
			
			case west:       {{_this setSkill _x} forEach VCM_AIDIFWEST};
			case east:       {{_this setSkill _x} forEach VCM_AIDIFEAST}; 
			case resistance: {{_this setSkill _x} forEach VCM_AIDIFRESISTANCE};
			
		};
		
	};
	
	
	VCM_CLASSNAMESPECIFIC = false; 		// Do you want the AI to have classname specific skill settings?
	VCM_SIDESPECIFICSKILL = false; 		// Do you want the AI to have side specific skill settings? This overrides classname specific skills.
	VCM_SKILL_CLASSNAMES = []; 			// Here you can assign certain unit classnames to specific skill levels. This will override the AI skill level above.
	
	
	/*
	EXAMPLE FOR VCM_SKILL_CLASSNAMES
	
	VCM_SKILL_CLASSNAMES = [
	
		["Classname1",[aimingaccuracy,aimingshake,spotdistance,spottime,courage,commanding,aimingspeed,general,endurance,reloadspeed]],
		["Classname2",[aimingaccuracy,aimingshake,spotdistance,spottime,courage,commanding,aimingspeed,general,endurance,reloadspeed]]
		
	];
	
	VCM_SKILL_CLASSNAMES = 	[
	
		["B_GEN_Soldier_F",[0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1]],
		["B_G_Soldier_AR_F",[0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1]]
		
	]; 
	
	*/

	
	VCM_AIDIFSET = {
		
		{
			private _unit = _x;
			_unit setSkill 0.9;
			_unit allowFleeing 0;			
			{_unit setSkill _x} forEach VCM_AIDIFA;
			
			
			if (VCM_CLASSNAMESPECIFIC && {count VCM_SKILL_CLASSNAMES > 0}) then {
				
				{
					
					if (typeOf _unit isEqualTo (_x select 0)) exitWith {
						
						_ClassnameSet = true;
						_unit setSkill ["aimingAccuracy",((_x select 1) select 0)];
						_unit setSkill ["aimingShake",((_x select 1) select 1)];
						_unit setSkill ["spotDistance",((_x select 1) select 2)];
						_unit setSkill ["spotTime",((_x select 1) select 3)];
						_unit setSkill ["courage",((_x select 1) select 4)];
						_unit setSkill ["commanding",((_x select 1) select 5)];
						_unit setSkill ["aimingSpeed",((_x select 1) select 6)];
						_unit setSkill ["general",((_x select 1) select 7)];
						_unit setSkill ["endurance",((_x select 1) select 8)];
						_unit setSkill ["reloadSpeed",((_x select 1) select 9)];
						
					};
					
				} foreach VCM_SKILL_CLASSNAMES;
				
			};			
			
			if (VCM_SIDESPECIFICSKILL) then {_unit call VCM_AISIDESPEC};
			
		} forEach (units _this);
		
	};
	
	diag_log "VCOM: Loaded Userconfig";

	if (VCM_USECBASETTINGS) then {[] call VCM_fnc_CBASettings};

};

 

Share this post


Link to post
Share on other sites

ARTY SUPPORT

An option for active/deactivate arty support for faction (VCM_ARTYFACTIONS) not only for side (VCM_ARTYSIDES) would be great.

In our missions we fight against CSAT, AAF and Syndicate. But Syndicate (GUER) should not request for arty support from AAF (GUER).

  • Like 1

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×