Jump to content
Tankbuster

Authority 20 player coop.

Recommended Posts

b9ee897852.jpg

 

Authority. The mission

A coop mission on Altis and Tanoa. The CSAT forces hold the island and a small BLUFOR force are going to take them back

BLUFOR will be landed on a beach with an ammo box and 4 ATVs. You'll have a Forward Point vehicle that you can spawn at. It will have a small selection of magazines in its inventory.

Artillery support is provided by a distant battery.

The Forward vehicle will be replaced if it's destroyed. It's a Prowler, the 50cal one.

Your first task is to secure a nearby airfield to use as an airhead. Clear all the enemy assets and forces out. There will be a radar system to destroy, that will stop the enemy bringing in airborne reinforcements and there will also be a HQ vehicle. Destroying that will mean the enemy has no more air support.

One the airfield is taken, you will be given a small base area with vehicle and aircraft servicing and a respawn point. The arsenal box from the beach will be moved here too. Players can spawn a quad here too.

Also, another vehicle - A Hunter MRAP - will be delivered to the base. This is the FOB vehicle. This can be deployed and unpacked into a small FOB. You can respawn at the fob, plus it also has an arsenal box. If the engine is off, the player in the back seat can deploy and undeploy the FOB. This seat also has access to the artillery.

After the airfield, you'll be given orders to assault another nearby target. If it's a town, it will have some roadblocks at the city limits. Destroy them to stop enemy road reinforcements. Small towns will be mostly infantry, bigger targets will be better defended. Each successful target taken wins you another vehicle. Aircraft that are won are delivered to the helipad at your airhead in the form of a crate. An engineer must 'unbox' them. Non aircraft prizes (and respawning FOB/ Forward vehicles) are delivered to the closest friendly position.

If the primary target is a civilian town, once you've cleared out the enemy, you will have to complete other, secondary tasks, often rebuild or reparation type assignments. How many you have to do will depend on how the assault phase went. Killing civilians, damaging their buildings and such like will all mean more secondaries to complete.

The mission runs BI revive. Anyone can revive although the medic is much quicker. Press (default) Left windows key for the mission progress dialog.

 

Under the bonnet

When the mission starts, it chooses one of the airfields (though not the salt flats or the main airbase on Altis). The mission then chooses a nearby beach for the beachhead position.

Subsequent towns are chosen so that they are close by - it will never choose a distant town when there are closer alternatives. It will also always choose a target on the same island until there's no choice but to island-hop. When this happens, players are airdropped a Blackfish vehicle transport to allow them to move, at least, the forward vehicle and the FOB vehicle.

 

No addons required, though we use urban rappelling client side.

 

http://steamcommunity.com/sharedfiles/filedetails/?id=758581029

 

https://steamcommunity.com/sharedfiles/filedetails/?id=1577912956

 

Dropbox links;

 

https://www.dropbox.com/s/6bemvlze7jbfudr/COOP40_Authority.Altis.pbo?dl=0

 

https://www.dropbox.com/s/91ga2wpwmgan7wn/COOP40_Authority.Tanoa.pbo?dl=0

  • Like 8

Share this post


Link to post
Share on other sites

Credits, acknowledgements and thanks;

 

cool=azroul13 for some nice code to find the beachhead position near the first airfield

Kronzky for his UPS

Almaniak Island datafile parsing, AI in windows (& many other things)

Champy_UK for airfield compositions and code/ filename revamp

Bangabob for Civilian Occupation system (COS)

Spunfinfor AI spawn pack

Larrow for Respawn/loadout magic (and a bunch of other things)

Fluitketel for Dynamic Enemy Population (DEP)

Killzonekid for (amongst many things) a public setvehiclevarname snippet

Grumpy Old Man and Rdygier for making my AI artillery work. Players LOVE it :)

Kylania and Sniperwolf572 for making my triggers work better in test modes.

Haleks, jwllorens and Tajin for making my distance checking and sorting.

Mrs Tank for help with some debugging code. :)

hallyG for filling a small, but significant gap in my coding knowledge

 

Many, many others!

 

Friends, clan members and brothers for testing and stuff. :)

  • Like 3

Share this post


Link to post
Share on other sites

Here's the google drive link to a screen snip of the error:

 

https://drive.google.com/open?id=0BzeykD-t8cxsZUVvRzJ2UDJBVTQ

 

This happened on Tanoa Authority. We didn't try your Altis version.

Hmm, I can't replicate that. Can you delete it and try again, or try this, slightly later version

 

https://www.dropbox.com/home/mission?select=COOP40_Authority.Tanoa.pbo

Share this post


Link to post
Share on other sites

I deleted, resubscribed on the workshop, same error followed by the Arma crash. I tried to use your dropbox link but it says "the folder 'mission' does not exist."

Share this post


Link to post
Share on other sites

Your first link worked for me this time. Very odd. Maybe it's on the steam side, or something strange happened as it was published. When I can herd all the cats we'll give it another go. Thanks.

Share this post


Link to post
Share on other sites

First and second posts updated to reflect the many updates since I started this thread. Primarily, the removal of CUP and ACE3 - the mission is now vanilla

  • Like 1

Share this post


Link to post
Share on other sites

Further features added. Some bugs squashed and other optimizations.

Share this post


Link to post
Share on other sites

Updated the first post to reflect progress in mission development.

Current build is #2048 and is considered stable.

  • Like 1

Share this post


Link to post
Share on other sites

Silly question.

 

Once I have subscribed on the workshop, how do I find the PBO to unpack and add my teams home scripts?

 

Thanks for any help.

 

Reed

Share this post


Link to post
Share on other sites

C:\Users\Username\Documents\Arma 3 - Other Profiles\ProfileName\Saved\steamMPMission

  • Like 1

Share this post


Link to post
Share on other sites

Thanks HJ :)

 

@Jnr4817, if you don't find it there, and I'm not sure exactly where the game stores subscribed missions, get in touch with me and we'll sort something out. Give me an idea of these scripts you plan to use - if they are any good and you are willing, I might want to merge then into the main codebase.

Share this post


Link to post
Share on other sites

I could not find it. I even unsubscribed and re-subscribed.

Whats the name of the pbo and I can search my c:drive for it?

 

Duda is on our team, so I was going to add all of his mods. AIC command, Towing, rappelling, urban rappelling, etc.

We use VAS, INS revive, Devas Autopilot, GOM aircraft load out, CHVD, IgiLoad, ear plugs script, and a squad join script.

 

I was going to add several AI squad for the team leader or squad leader to control with AIC, as we hardly ever have 20 people on our server at a time.

 

Thanks for considering and hope to play soon, once I can DL it.

 

Humbly,

Reed

 

 

 

 

Share this post


Link to post
Share on other sites

https://www.dropbox.com/s/6bemvlze7jbfudr/COOP40_Authority.Altis.pbo?dl=0

 

https://www.dropbox.com/s/91ga2wpwmgan7wn/COOP40_Authority.Tanoa.pbo?dl=0

 

I'm a bit rough with dropbox, try those.

I already use advanced urban rappelling as an addon, by the way, it's lovely. I don't use towing as IMO, the mission doesn't need it, but it's a wonderful piece of work. Please tell Duda I'm a big fan of his stuff. :)

CHVD is already in there, the script version. Earplugs and Devas autopilot, I think I will put them into my build of it in the coming builds.

 

PS, add me on steam. http://steamcommunity.com/profiles/76561198023888634/

 

  • Like 1

Share this post


Link to post
Share on other sites

Excellent.

 

I added you on steam.

 

Thanks for adding to drop box. I can't wait to check it out.

Reed

ps

I will also add no stamina and reduce recoil

  • Like 1

Share this post


Link to post
Share on other sites

This runs great.

I love the missions and the dynamic nature.

This is really good and I cant wait to see future updates and play through to the end.

My team also had a great experience. 

 

I added reduced stamina and reduced recoil and earplugs without any incident as player stuff parameter.

 

Trying to figure out how to add an individual AI squad (Medic, AT, AA, Repair, Engineer, etc.) that spawns with the players to be controlled Duda's AIC.

 

Thanks for the hard work.

Reed

 

Share this post


Link to post
Share on other sites

I'm really pleased this is getting played and appreciated. Thanks for giving it a go and giving some feedback. It motivates me a lot! I'll start putting more detailed changelogs here and you can follow the bug and feature tracker at http://www.hostedredmine.com/projects/operation-authority

 

If you send me what you added in for reduced stamina, reduced recoil and earplugs, I'll merge them into the mission and have them as a lobby parameter so they can be turned on or off at mission start.

 

I'm not sure how we can have AI squad members. TBH, I think it might be of limited use - for example, have you had the 'repair building' secondary mission come up yet? That requires the engineer to hold the key down, just like BI revive, and the AI might not be able to do that. Again, if we can make it an optional parameter that would get it played more, I'll definitely try to get it in there.

 

How many guys do you play with? We've managed to get it all done with 5 people, but it's tough.

 

*edit* PS, if Duda can give us 'AI' trains, or at least ones that can be controlled in script without a driver, I've got a few secondary missions that will use that. :)

*edit#2* simpleearplug script will be in next release.

  • Like 1

Share this post


Link to post
Share on other sites

We usually have 3-7 people. Each of us will have 1-4 AI join our squad as a medic or AT or AA guy and control with Duda's AIC and squad join and INS Revive and SA AI mod.

 

We have had the repair building second mission and it was great to utilize the engineer.

 

We use Ghost missions template usually, but your mission is an awesome and nice change of pace.

 

Since we use Ghost most of the time. I didn't reinvent the wheel and just use Ghost's fatigue and recoil parameters.

 

Thanks for your hard work on this and adding some of my suggestions.

 

I added this to initplayerlocal.sqf

Spoiler

player addEventHandler ["Respawn", {call ghst_fnc_playeraddactions}];  
call ghst_fnc_playeraddactions;
//player addEventHandler ["HandleDamage", {call ghst_fnc_savegear}];
if ("PARAM_Fatigue" call BIS_fnc_getParamValue == 0) then {
	call ghst_fnc_stamina;
	player addEventHandler ["Respawn", {call ghst_fnc_stamina}];
};
if !("PARAM_AimSway" call BIS_fnc_getParamValue == 100) then {
	call ghst_fnc_aimsway;
	player addEventHandler ["Respawn", {call ghst_fnc_aimsway}];
};

 

Description.ext

Spoiler

			class PARAM_Fatigue {
			title = "Player Stamina:";
			values[] = {1,0};
			texts[] = {"ON","OFF"};
			default = 0;
		};
			class PARAM_AimSway {
			title = "Player Aiming Sway:";
			values[] = {100,0,1,2,3,4,5,6,7,8,9,10};
			texts[] = {"default","0","0.1","0.2","0.3","0.4","0.5","0.6","0.7","0.8","0.9","1.0"};
			default = 2;
		};

 

Functions with there own .sqf file

Spoiler

fn_aimsway.sqf
private ["_unit","_coef"];
_unit = _this select 0;
_coef = ("PARAM_AimSway" call BIS_fnc_getParamValue) / 10;

_unit setCustomAimCoef _coef;
_unit setUnitRecoilCoefficient 0.2 + _coef;

fn_stamina.sqf
private ["_unit"];
_unit = _this select 0;

_unit enableStamina false;

 

 

Earplugs.sqf

Called in the init.sqf

 

// SA: Ear Plugs

execVM "SA\scripts\sa_ear_plugs.sqf";

Spoiler

// Adapted from http://www.armaholic.com/page.php?id=26624

SA_Ear_Plug_Action = ["Put On Ear Plugs",{
	private ["_user","_actionId"];
	_user = _this select 1;
	_actionId = _this select 2;
	if (soundVolume > 0.25) then {
		1 fadeSound 0.25;
		_user setUserActionText [_actionId,"Take Off Ear Plugs"]
	} else {
		1 fadeSound 1;
		_user setUserActionText [_actionId,"Put On Ear Plugs"]
	}
},[],-90,false,true];
player addAction SA_Ear_Plug_Action;
player addEventHandler ["Respawn",{
	1 fadeSound 1;
	(_this select 0) addAction SA_Ear_Plug_Action;
}];

 

 

SA squad join.sqf

Spoiler

if (!isDedicated) then {

	[] spawn {

		while {true} do {
		
		_allAIUnits = allUnits select {_x distanceSqr getpos player < 900};
		
			if (count _allAiUnits > 0) then {{
				if( side player == side _x && alive _x && group _x != group player && leader player == player && _x isKindOf "Man" && vehicle _x == _x && (leader _x != _x || count (units group _x) == 1) ) then {
					if(isNil {_x getVariable "sa_join_squad_action_id"}) then {
						_actionId = _x addAction ["Join My Squad", { 
							if(isNil {(_this select 0) getVariable "sa_original_group"}) then {
								(_this select 0) setVariable ["sa_original_group",group (_this select 0)];
							};
							[_this select 0] join player; 
							(_this select 0) removeAction (_this select 2);
							(_this select 0) setVariable ["sa_join_squad_action_id",nil];
						}, nil, 0, false];
						_x setVariable ["sa_join_squad_action_id",_actionId];
					};
				} else {
					if(!isNil {_x getVariable "sa_join_squad_action_id"}) then {
						_x removeAction (_x getVariable "sa_join_squad_action_id");
						_x setVariable ["sa_join_squad_action_id",nil];
					};
				};
				
				if( side player == side _x && alive _x && group _x == group player && leader player == player && _x isKindOf "Man" && vehicle _x == _x && _x != player ) then {
					if(isNil {_x getVariable "sa_leave_squad_action_id"}) then {
						_actionId = _x addAction ["Leave My Squad", { 
							if(!isNil {(_this select 0) getVariable "sa_original_group"}) then {
								[_this select 0] join ((_this select 0) getVariable "sa_original_group"); 
								(_this select 0) setVariable ["sa_original_group",nil];
							} else {
								[_this select 0] join grpNull; 
							};
							(_this select 0) removeAction (_this select 2);
							(_this select 0) setVariable ["sa_leave_squad_action_id",nil];
						}, nil, 0, false];
						_x setVariable ["sa_leave_squad_action_id",_actionId];
					};
				} else {
					if(!isNil {_x getVariable "sa_leave_squad_action_id"}) then {
						_x removeAction (_x getVariable "sa_leave_squad_action_id");
						_x setVariable ["sa_leave_squad_action_id",nil];
					};
				};
				
			} forEach _allAiUnits;
			sleep 10;
			};

		};

	};

};

 

Called via the init.sqf

// SA: Squad Join
execVM "SA\scripts\sa_squad_join.sqf";

 

INS AI revive and SA Revive mode

ins_at_revive_init.sqf

Spoiler

SA_fnc_moveGroupLocal = {
	private ["_target", "_group"];
	_group = [_this,0] call BIS_fnc_param;
	_target = [_this,1] call BIS_fnc_param;
	if(vehicle (leader _group) != (leader _group)) then {
		_group leaveVehicle vehicle (leader _group);
	};
	_group move (getPos _target);
	_group allowFleeing 0;
};

SA_fnc_doReviveLocal = {
	private ["_medic", "_unit"];
	_medic = [_this,0] call BIS_fnc_param;
	_unit = [_this,1] call BIS_fnc_param;
	[_unit,_medic] execVM 'INS_revive\revive\act_revive.sqf'; 
};

SA_fnc_isRevivable = {
	private ["_unit"];
	_unit = [_this,0] call BIS_fnc_param;
	if(	_unit getVariable ["INS_REV_PVAR_is_unconscious",false] && 
		isNil {_unit getVariable "INS_REV_PVAR_who_taking_care_of_injured"} && 
		alive _unit &&
		vehicle _unit == _unit ) then {
		true;
	} else {
		false;
	};
};

SA_fnc_restoreGroupLeaderLocal = {
	private ["_group"];
	_group = [_this,0] call BIS_fnc_param;
	_currentLeader = leader _group;
	_newLeader = _currentLeader;
	_newLeaderId = [_currentLeader] call SA_fnc_getUnitGroupId;
	{
		_id = [_x] call SA_fnc_getUnitGroupId;
		if( (_id < _newLeaderId || !isPlayer _newLeader) && isPlayer _x ) then {
			_newLeader = _x;
			_newLeaderId = _id;
		};
	} forEach (units _group);
	_group selectLeader _newLeader;
	waitUntil { leader _group == _newLeader };
	((units _group)-[_newLeader]) joinSilent _group;
};

SA_fnc_getUnitGroupId = {
	private ["_i", "_unit", "_ret","_group"];
	_ret = false;
	_unit = [_this,0] call BIS_fnc_param;
	_group = group _unit;
	_i = 0;
	while {!_ret AND _i <= 32} do
	{
		_i = _i + 1;
		if (format ["%1",_unit] == format["%1:%2", _group, _i]) then {_ret = true;};
		if (_unit == player) then {if(format ["%1",_unit] == format["%1:%2 (%3)", _group, _i, name _unit]) then {_ret = true;};};
	}; 
	_i
};

if(!isDedicated) then {
	player addEventHandler ["Respawn", {[[group player],"SA_fnc_restoreGroupLeaderLocal",group player] spawn BIS_fnc_MP}];
};

if(isServer) then {

	SA_fnc_availableAiMedics = {

		private ["_unit", "_group", "_medic_requested","_nearUnits","_availableAiMedicsWithMedkits","_possibleMedic"];
		_unit = [_this,0] call BIS_fnc_param;
		_group = group _unit;
		_availableAiMedics = [];

		{
			{
				_possibleMedic = _x;
				//diag_log format ["Possible Medic: %1, %2, %3, %4", !isPlayer _possibleMedic, alive _possibleMedic, !(_possibleMedic getVariable "INS_REV_PVAR_is_unconscious"), _possibleMedic isKindOf "Man"];
				if( !isPlayer _possibleMedic && 
					alive _possibleMedic &&
					(_possibleMedic getVariable ["SA_auto_revive",false] || !isPlayer (leader _possibleMedic) || leader _possibleMedic == _unit ) &&
					((_possibleMedic getVariable ["SA_auto_revive_count",0]) > 0 || !isPlayer (leader _possibleMedic) || leader _possibleMedic == _unit ) &&
					!(_possibleMedic getVariable ["INS_REV_PVAR_is_unconscious",false]) &&
					_possibleMedic isKindOf "Man" ) then {
					
					if( not (_possibleMedic in _availableAiMedics) ) then {				
						if( leader _possibleMedic == _possibleMedic || driver (vehicle _possibleMedic) == _possibleMedic || commander (vehicle _possibleMedic) == _possibleMedic ) then {
							_availableAiMedics = [_availableAiMedics, [_possibleMedic]] call BIS_fnc_arrayPushStack;
						} else {
							_availableAiMedics = [[_possibleMedic], _availableAiMedics] call BIS_fnc_arrayPushStack;
						};
					};
				};
			} forEach (crew _x);
		} forEach ([getPos _unit, 60, {West == side _x}] call SA_fnc_getNearEntities);
		
		if (INS_REV_CFG_require_medkit) then {
			_availableAiMedicsWithMedkits = [];
			{
				private ["_uniformItems","_vestItems","_backpackItems","_itemList"];
				_uniformItems = uniformItems _x;
				_vestItems = vestItems _x;
				_backpackItems = backpackItems _x;
				_itemList = _uniformItems + _vestItems + _backpackItems;
				if ("FirstAidKit" in _itemList) then {
					_availableAiMedicsWithMedkits pushBack _x;
				};
			} forEach _availableAiMedics;
			_availableAiMedicsWithMedkits;
		} else {
			_availableAiMedics;
		};
		
	};

	[] spawn {

		private ["_revivableUnits","_unit","_medic","_unitGroup","_reviveTarget","_all_medics_requested","_medics_to_remove","_newGroup","_medic_requested"];

		_all_medics_requested = [];
		
		while {true} do {

			_revivableUnits = [];
			{
				if([_x] call SA_fnc_isRevivable) then {
					_revivableUnits pushBack _x;
				};
			} forEach allUnits;
			
			//hint format ["%1", _revivableUnits];
		
			{
				_unit = _x;
				
				//diag_log format ["Avail Medics: %1", [_unit] call SA_fnc_availableAiMedics];
				
				{
					_medic = _x;
					if( _medic distance _unit < 50 && 
							[_unit] call SA_fnc_isRevivable && 
							isNull (_medic getVariable ["revive_target",objNull]) &&
							( 
								isNull (_unit getVariable ["medic_requested",objNull]) || 
								!alive (_unit getVariable ["medic_requested",_unit])
							) ) then {
						//diag_log format ["Medic Requested: %1", _medic];
						_unit setVariable ["medic_requested", _medic];
						_medic setVariable ["original_group", group _medic];
						_medic setVariable ["original_team", assignedTeam _medic];
						_medic setVariable ["revive_target", _unit];
						_medic setVariable ["start_time_sec", diag_tickTime];
						_medic setVariable ["SA_auto_revive_count", (_medic getVariable ["SA_auto_revive_count",1]) - 1, true];
						if(count (units group _medic) > 1) then {
							_newGroup = createGroup (side _medic);
							[_medic] join _newGroup;
						} else {
							_newGroup = group _medic;
						};
						[[_newGroup,_unit],"SA_fnc_moveGroupLocal",_medic] spawn BIS_fnc_MP; 
						_all_medics_requested pushBack _medic;
					};
				} forEach ([_unit] call SA_fnc_availableAiMedics);
				
				_medic_requested = _unit getVariable ["medic_requested",objNull];
				
				if( !isNull _medic_requested && _medic_requested distance _unit < 8 && 
						[_unit] call SA_fnc_isRevivable && alive _medic_requested) then {
					[[_medic_requested,_unit],"SA_fnc_doReviveLocal",_medic_requested] spawn BIS_fnc_MP; 
				};
				
			} forEach _revivableUnits;
			
			_medics_to_remove = [];
			{
				_medic = _x;
				_reviveTarget = _medic getVariable ["revive_target",objNull];
				//diag_log format ["%1, %2, %3, %4", !isNull _reviveTarget,  not ([_reviveTarget] call SA_fnc_isRevivable),  !alive _medic, _medic];
				if( (!isNull _reviveTarget && not ([_reviveTarget] call SA_fnc_isRevivable)) || ( !alive _medic) ) then {
					[_medic] joinSilent (_medic getVariable "original_group");
					[_medic,(_medic getVariable "original_team")] remoteExec ["assignTeam"];
					_medic setVariable ["original_group", nil];
					_medic setVariable ["original_team", nil];
					_medic setVariable ["revive_target",objNull];
					_reviveTarget setVariable ["medic_requested", objNull];
					_medics_to_remove pushBack _medic;
				} else {
					_start_time = _medic getVariable ["start_time_sec", diag_tickTime];
					if( diag_tickTime - _start_time > 60 ) then {
						[_medic] joinSilent (_medic getVariable "original_group");
						[_medic,(_medic getVariable "original_team")] remoteExec ["assignTeam"];
						_medic setVariable ["original_group", nil];
						_medic setVariable ["original_team", nil];
						_medic setVariable ["revive_target",objNull];
						_reviveTarget setVariable ["medic_requested", objNull];
						_medics_to_remove pushBack _medic;
					};
				};
			} forEach _all_medics_requested;
			
			if(count _medics_to_remove > 0) then {
				//diag_log format ["Medics Removed: %1", _medics_to_remove];
				_all_medics_requested = _all_medics_requested - _medics_to_remove;
				//diag_log format ["Medics Remaining: %1", _all_medics_requested];
			};
			
			sleep 5;
			
		};

	};

};

if(isServer) then {
	
	[] spawn {
	
		private ["_tempGroup","_tempGroupLeader","_newUnit"];
		private ["_lastLoadOut", "_lastGroup","_unitType","_position","_lastTeam"];
		_tempGroup = createGroup West;
		_tempGroupLeader = _tempGroup createUnit ["LOGIC",[0, 0, 0] , [], 0, ""];
	
		private ["_allFriendlyAiUnits"];
		_allFriendlyAiUnits = [];
		while {true} do {
			
			{
			   if ((side _x) == West && !(isPlayer _x)) then
			   {
					_x setVariable ["SA_Last_Known_Loadout", [_x] call SA_fnc_getLoadout];
					_x setVariable ["SA_Last_Known_Group", _x getVariable ["original_group",group _x]];
					_x setVariable ["SA_Last_Known_Team", _x getVariable ["original_team",assignedTeam _x]];
					_x setVariable ["SA_AI_Revive_Seen", true];
			   };
			   if (isPlayer _x && !(_x getVariable ["SA_AI_Revive_Is_Player",false])) then
			   {
					_x setVariable ["SA_AI_Revive_Is_Player", true];
			   };
			} forEach allUnits;

			{
				if ( !(_x getVariable ["SA_Handling_Revive",false]) && (_x getVariable ["SA_AI_Revive_Seen",false]) && !(_x getVariable ["SA_AI_Revive_Is_Player",false]) ) then {
				
					_x setVariable ["SA_Handling_Revive",true];
					_lastLoadOut = _x getVariable ["SA_Last_Known_Loadout", nil];
					_lastGroup = _x getVariable ["SA_Last_Known_Group", grpNull];
					_lastTeam = _x getVariable ["SA_Last_Known_Team", "MAIN"];
					
					_unitType = (format["%1", typeof _x]);
					_position = [(position _x) select 0, (position _x) select 1];

					deleteVehicle _x;
					
					_newUnit = _tempGroup createUnit [_unitType, _position, [], 0, "CAN_COLLIDE"];
					_newUnit setDir (random floor(random 361));
					
					_newUnitMarker = [position _newUnit, "ColorRed", "AI is down"] call SA_fnc_createDotMarker;
					
					[_newUnit,"AinjPpneMstpSnonWrflDnon"] remoteExec ["switchMove"]; 
					_newUnit disableAI "ANIM"; 
					[_newUnit, false] call INS_REV_FNCT_allowDamage;
					
					if(!isNil "_lastLoadOut") then {
						[_newUnit,_lastLoadOut] call SA_fnc_setLoadout;	
					};
					
					_newUnit setVariable ["SA_Last_Known_Loadout", _lastLoadOut];
					_newUnit setVariable ["SA_Last_Known_Group", _lastGroup];
					_newUnit setVariable ["SA_Last_Known_Team", _lastTeam];
					_newUnit setVariable ["SA_AI_Revive_Seen", true];
					
					_newUnit setVariable ["INS_REV_PVAR_is_unconscious", true, true];
					//_newUnit setVariable ["INS_REV_PVAR_playerSide", _side, true];
					//_newUnit setVariable ["INS_REV_PVAR_playerGroup", _group, true];
					_newUnit setVariable ["INS_REV_PVAR_who_taking_care_of_injured", nil, true];
					_newUnit setVariable ["INS_REV_revived", false, true];
					INS_REV_GVAR_start_unconscious = _newUnit;
					publicVariable "INS_REV_GVAR_start_unconscious";
					["INS_REV_GVAR_start_unconscious", _newUnit] call INS_REV_FNCT_add_actions;
								
					[_newUnit,_lastGroup,_newUnitMarker,_lastTeam] spawn {
						private ["_player", "_condition","_lastGroup","_newUnitMarker","_lastTeam","_isDead","_unconsciousStartTime"];
						_player = _this select 0;
						_lastGroup = _this select 1;
						_newUnitMarker = _this select 2;
						_lastTeam = _this select 3;
						_condition = _player getVariable ["INS_REV_PVAR_is_unconscious",false];
						_unconsciousStartTime = diag_tickTime;
						_isDead = false;
						while {_condition} do
						{
							_who_taking_care_of_injured = _player getVariable "INS_REV_PVAR_who_taking_care_of_injured";
								
							// If somebody is taking care of you
							if !(isNil "_who_taking_care_of_injured") then {
								// If the one who taking care of you is not alive.
								if (isNull _who_taking_care_of_injured || !alive _who_taking_care_of_injured) then	{
									// Reset player's state
									detach _player;
									if !(isNull _who_taking_care_of_injured) then {detach _who_taking_care_of_injured;};
									[_player,"AinjPpneMstpSnonWrflDnon"] remoteExec ["switchMove"]; 
									_player setVariable ["INS_REV_PVAR_who_taking_care_of_injured", nil, true];
								};
							};
							
							// Check MEDEVAC vehicle
							if (INS_REV_CFG_medevac) then {
								if (_player != vehicle _player) then {
									if (alive vehicle _player) then {
										INS_REV_GVAR_is_loaded = true;
										INS_REV_GVAR_loaded_vehicle = vehicle _player;
									} else {
										[] call INS_REV_FNCT_unload;
									};
								};
								
								if (_player == vehicle _player && !isNil "INS_REV_GVAR_is_loaded" && {INS_REV_GVAR_is_loaded}) then {
									[] call INS_REV_FNCT_unload;
								};
							};
							
							sleep 3;
							
							_condition = _player getVariable "INS_REV_PVAR_is_unconscious";
							[_player] call INS_REV_FNCT_prevent_drown;
							
							if(diag_tickTime - _unconsciousStartTime > (60 * ("PARAM_AIReviveLimit" call BIS_fnc_getParamValue))) then {
								_condition = false;
								_isDead = true;
							};
							
						};
						
						sleep 0.2;
						
						if(_isDead) then {
						
							deleteMarker _newUnitMarker;
							_player setVariable ["SA_Handling_Revive", true];
							
							// Remove revive action
							INS_REV_GVAR_end_unconscious = _player;
							publicVariable "INS_REV_GVAR_end_unconscious";		
							["INS_REV_GVAR_end_unconscious", INS_REV_GVAR_end_unconscious] spawn INS_REV_FNCT_remove_actions;
							
							_player enableAI "ANIM";
							
							[_player, true] call INS_REV_FNCT_allowDamage;
							
							_player setDamage 1;
						
						} else {
						
							// Select primary weapon
							_player selectWeapon (primaryWeapon _player);
							
							// Remove revive action
							INS_REV_GVAR_end_unconscious = _player;
							publicVariable "INS_REV_GVAR_end_unconscious";		
							["INS_REV_GVAR_end_unconscious", INS_REV_GVAR_end_unconscious] spawn INS_REV_FNCT_remove_actions;
							
							// Remove unload action
							if (!isNil "INS_REV_GVAR_is_loaded" && {INS_REV_GVAR_is_loaded} && INS_REV_CFG_medevac) then {
								INS_REV_GVAR_del_unload = [INS_REV_GVAR_loaded_vehicle, _player];
								publicVariable "INS_REV_GVAR_del_unload";
								["INS_REV_GVAR_del_unload", INS_REV_GVAR_del_unload] spawn INS_REV_FNCT_remove_unload_action;
								
								INS_REV_GVAR_is_loaded = false;
								INS_REV_GVAR_loaded_vehicle = nil;
							};
							
							[_player, true] call INS_REV_FNCT_allowDamage;

							_player setVariable ["INS_REV_PVAR_isTeleport", false, true];
							_player setVariable ["INS_REV_PVAR_is_dead", false, true];
							
							_player enableAI "ANIM";
							
							[_player,"AmovPercMstpSrasWrflDnon"] remoteExec ["playMove"]; 
							
							deleteMarker _newUnitMarker;
							
							[_player] joinSilent _lastGroup;
							[_player,_lastTeam] remoteExec ["assignTeam"];
							
						};
						
					};
					
				};
			} forEach allDeadMen;

			sleep 5;
			
		};
	};
};

SA_fnc_enableAutoRevive = {
	private ["_units","_enabled","_count"];
	_units = param [0,[]];
	_enabled = param [1,false];
	_count = param [2,1];
	{
		if( !isPlayer _x) then {
			_x setVariable ["SA_auto_revive", _enabled, true];
			_x setVariable ["SA_auto_revive_count", _count, true];
		};
	} forEach _units;
};


//SA_CUSTOM_ACTION_MENU_SUBMENU =
//[
//	["Action",true],
//	["Option-1", [2], "", -5, [["expression", "player sidechat ""-1"" "]], "0", "0", "\ca\ui\data\cursor_support_ca"],
//	["Option 0", [3], "", -5, [["expression", "player sidechat "" 0"" "]], "1", "0", "\ca\ui\data\cursor_support_ca"],
//	["Option 1", [4], "", -5, [["expression", "player sidechat "" 1"" "]], "1", "CursorOnGround", "\ca\ui\data\cursor_support_ca"]
//];

SA_CUSTOM_ACTION_MENU = 
[
	// First array: "User menu" This will be displayed under the menu, bool value: has Input Focus or not.
	// Note that as to version Arma2 1.05, if the bool value set to false, Custom Icons will not be displayed.
	["Action",false],
	// Syntax and semantics for following array elements:
	// ["Title_in_menu", [assigned_key], "Submenu_name", CMD, [["expression",script-string]], "isVisible", "isActive" <, optional icon path> ]
	// Title_in_menu: string that will be displayed for the player
	// Assigned_key: 0 - no key, 1 - escape key, 2 - key-1, 3 - key-2, ... , 10 - key-9, 11 - key-0, 12 and up... the whole keyboard
	// Submenu_name: User menu name string (eg "#USER:MY_SUBMENU_NAME" ), "" for script to execute.
	// CMD: (for main menu:) CMD_SEPARATOR -1; CMD_NOTHING -2; CMD_HIDE_MENU -3; CMD_BACK -4; (for custom menu:) CMD_EXECUTE -5
	// script-string: command to be executed on activation. (no arguments passed)
	// isVisible - Boolean 1 or 0 for yes or no, - or optional argument string, eg: "CursorOnGround"
	// isActive - Boolean 1 or 0 for yes or no - if item is not active, it appears gray.
	// optional icon path: The path to the texture of the cursor, that should be used on this menuitem.
	//["Enable Auto Revive", [0], "", -5, [["expression", "[groupSelectedUnits player, true] spawn SA_fnc_enableAutoRevive;"]], "1", "1"],
	["Enable Auto Revive (1 Revive)", [0], "", -5, [["expression", "[groupSelectedUnits player, true, 1] spawn SA_fnc_enableAutoRevive;"]], "1", "1"],
	["Disable Auto Revive", [0], "", -5, [["expression", "[groupSelectedUnits player, false, 0] spawn SA_fnc_enableAutoRevive;"]], "1", "1"],
	["Halo Jump (Without Leader)", [0], "", -5, [["expression", "[halo, groupSelectedUnits player] spawn SA_fnc_haloJumpMap"]], "1", "1"],
	["Form Squad", [0], "", -5, [["expression", "[groupSelectedUnits player] spawn SA_fnc_formNewGroup"]], "1", "1"],
	["Other Actions", [7], "#ACTION", -5, [["expression", "player sidechat ""Submenu"" "]], "1", "1"]
];

[] spawn {
	while {true} do {
		waitUntil { commandingMenu == "RscGroupRootMenu" };
		waitUntil { commandingMenu == "#ACTION" };
		showCommandingMenu "#USER:SA_CUSTOM_ACTION_MENU";
	};
};

[] spawn {
	private ["_selectedGroupUnits","_keyDownHandler"];
	while {true} do {
		waitUntil { commandingMenu == "#USER:SA_CUSTOM_ACTION_MENU" };
		SA_command_actions_backspace_pressed = false;
		SA_command_actions_selected_units = [];
		_keyDownHandler = (finddisplay 46) displayaddeventhandler ["keydown",
			"if( _this select 1 == 14 && commandingMenu == ""#USER:SA_CUSTOM_ACTION_MENU"") then { SA_command_actions_selected_units = groupSelectedUnits player; SA_command_actions_backspace_pressed = true};"];
		waitUntil { commandingMenu == "" };
		(finddisplay 46) displayremoveeventhandler ["keydown",_keyDownHandler];
		if(SA_command_actions_backspace_pressed) then {
			showCommandingMenu "RscGroupRootMenu";
			{
				player groupSelectUnit [_x, true];
			} forEach (SA_command_actions_selected_units);
		};
	};
};
	
	

 

 

Called via init.sqf

// INS Revive & SA: AI revive mod
if (!isServer && isNull player) then {isJIP=true;} else {isJIP=false;};
[] execVM "INS_revive\revive_init.sqf";
[] execVM "SA\scripts\ins_ai_revive_init.sqf";
waitUntil {!isNil "INS_REV_FNCT_init_completed"};

 

  • Like 1

Share this post


Link to post
Share on other sites

We have been playing this non stop.

Really good work.

 

It would be nice to change the Revive settings on the fly.

I have read the wiki

https://community.bistudio.com/wiki/Arma_3_Revive

 

Just not sure where to put this in the description.ext, so it doesn't interfere with your stuff. This is nice so each server reset or game change we can adjust the revive settings.

class Params
{
    #include "\a3\Functions_F\Params\paramRevive.hpp"
};

Never mind, figured it out.

 

		class line5 {
		title = "---------------------- Revive Settings ----------------------";
		values[] = {-99999};
		default = -99999;
		texts[] = {""};
	};
			class revive {
			title = "Revive Settings";
			values[]={0,0};
			texts[]={ "",""};
			default = 0;
		};
		#include "\a3\Functions_F\Params\paramRevive.hpp"

};

 

Share this post


Link to post
Share on other sites

I've integrated all of the code you gave apart from the revive, I'll get on that tomorrow. :)

  • Like 1

Share this post


Link to post
Share on other sites

That's awesome.

Again, thanks for the hard work

 

The INS_Revive and SA_AI_Revive_Mod is for AI, its not needed if no AI are present.

 

The BIS revive has been working pretty well so far.

 

We also utilize igiLoad to transport quads, ammo boxes, huron container, etc.

 

 

 

 

Share this post


Link to post
Share on other sites

This mission looks great, and and so far it's a ton of fun, nice work Tankbuster!

 

Anybody having trouble running the mission on a dedicated Linux server? 

 

I've been playing with it on my desktop with no problem, but when I run it from my server it hangs at the loading screen after I choose a role. I don't see any glaring errors in the rpt. Any thoughts?

 

Spoiler

16:43:04 SteamAPI initialization failed. Steam features won't be accessible!
16:43:04 Cannot register unknown string STR_3DEN_CAMERA_NAME
16:43:04 Initializing stats manager.
16:43:04 Stats config disabled.
16:43:04 sessionID: 2b5ffbdeff003fe3676f0d95c0b0732e9eca7774
16:43:31 Updating base class RscShortcutButton->RscButton, by a3\editor_f\config.bin/RscDisplayEditObject/Controls/B_OK/ (original bin\config.bin)
16:43:31 Updating base class RscSliderH->RscXSliderH, by a3\editor_f\config.bin/RscDisplayEditObject/Slider/ (original bin\config.bin)
16:43:31 Updating base class RscText->RscPicture, by a3\editor_f\config.bin/RscDisplayEditObject/Preview/ (original bin\config.bin)
16:43:31 Updating base class RscShortcutButton->RscButton, by a3\editor_f\config.bin/RscDisplayMissionLoad/Controls/B_OK/ (original bin\config.bin)
16:43:31 Updating base class RscShortcutButton->RscButton, by a3\editor_f\config.bin/RscDisplayMissionSave/Controls/B_OK/ (original bin\config.bin)
16:43:31 Updating base class ->RscControlsGroup, by a3\ui_f\config.bin/RscControlsGroupNoScrollbars/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscControlsGroup, by a3\ui_f\config.bin/RscControlsGroupNoHScrollbars/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscControlsGroup, by a3\ui_f\config.bin/RscControlsGroupNoVScrollbars/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscText, by a3\ui_f\config.bin/RscLine/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscActiveText, by a3\ui_f\config.bin/RscActivePicture/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscButton, by a3\ui_f\config.bin/RscButtonTextOnly/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscShortcutButton, by a3\ui_f\config.bin/RscShortcutButtonMain/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscShortcutButton, by a3\ui_f\config.bin/RscButtonEditor/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscShortcutButton, by a3\ui_f\config.bin/RscIGUIShortcutButton/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscShortcutButton, by a3\ui_f\config.bin/RscGearShortcutButton/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscShortcutButton, by a3\ui_f\config.bin/RscButtonMenu/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscButtonMenu, by a3\ui_f\config.bin/RscButtonMenuOK/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscButtonMenu, by a3\ui_f\config.bin/RscButtonMenuCancel/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscButtonMenu, by a3\ui_f\config.bin/RscButtonMenuSteam/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscText, by a3\ui_f\config.bin/RscLoadingText/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscListBox, by a3\ui_f\config.bin/RscIGUIListBox/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscListNBox, by a3\ui_f\config.bin/RscIGUIListNBox/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscText, by a3\ui_f\config.bin/RscBackground/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscText, by a3\ui_f\config.bin/RscBackgroundGUI/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscPicture, by a3\ui_f\config.bin/RscBackgroundGUILeft/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscPicture, by a3\ui_f\config.bin/RscBackgroundGUIRight/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscPicture, by a3\ui_f\config.bin/RscBackgroundGUIBottom/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscText, by a3\ui_f\config.bin/RscBackgroundGUITop/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscText, by a3\ui_f\config.bin/RscBackgroundGUIDark/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscPictureKeepAspect, by a3\ui_f\config.bin/RscBackgroundLogo/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscMapControl, by a3\ui_f\config.bin/RscMapControlEmpty/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscPicture, by a3\ui_f\config.bin/CA_Mainback/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->CA_Mainback, by a3\ui_f\config.bin/CA_Back/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->CA_Mainback, by a3\ui_f\config.bin/CA_Title_Back/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->CA_Mainback, by a3\ui_f\config.bin/CA_Black_Back/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscTitle, by a3\ui_f\config.bin/CA_Title/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscPictureKeepAspect, by a3\ui_f\config.bin/CA_Logo/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->CA_Logo, by a3\ui_f\config.bin/CA_Logo_Small/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscButton, by a3\ui_f\config.bin/CA_RscButton/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->CA_RscButton, by a3\ui_f\config.bin/CA_RscButton_dialog/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscActiveText, by a3\ui_f\config.bin/CA_Ok/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscText, by a3\ui_f\config.bin/CA_Ok_image/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscText, by a3\ui_f\config.bin/CA_Ok_image2/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscText, by a3\ui_f\config.bin/CA_Ok_text/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscPicture, by a3\ui_f\config.bin/RscVignette/ (original a3\ui_f\config.bin)
16:43:31 Updating base class ->RscControlsGroupNoScrollbars, by a3\ui_f\config.bin/RscMapControlTooltip/ (original a3\ui_f\config.bin)
16:43:31 Updating base class RscUnitInfo->RscUnitInfoAirNoWeapon, by a3\ui_f\config.bin/RscInGameUI/RscUnitInfoAir/ (original a3\ui_f\config.bin)
16:43:31 Updating base class RscControlsGroup->RscControlsGroupNoScrollbars, by a3\ui_f\config.bin/RscInGameUI/RscTaskOverview/controls/TaskOverviewAssigned/ (original bin\config.bin)
16:43:31 Updating base class RscShortcutButton->RscButtonMenu, by a3\ui_f\config.bin/RscDisplayDebug/Controls/B_OK/ (original bin\config.bin)
16:43:31 Updating base class RscShortcutButton->RscButtonMenu, by a3\ui_f\config.bin/RscDisplayDebug/Controls/B_Cancel/ (original bin\config.bin)
16:43:31 Updating base class RscShortcutButton->RscButtonMenu, by a3\ui_f\config.bin/RscDisplayDebug/Controls/B_Clear/ (original bin\config.bin)
16:43:31 Updating base class ->RscText, by a3\ui_f\config.bin/RscDisplayCapture/controls/TimeLines/ (original bin\config.bin)
16:43:31 Updating base class RscShortcutButton->RscButtonMenu, by a3\ui_f\config.bin/RscDisplayCapture/controls/ButtonAverages/ (original bin\config.bin)
16:43:31 Updating base class RscShortcutButton->RscButtonMenu, by a3\ui_f\config.bin/RscDisplayCapture/controls/ButtonSavePreviousData/ (original bin\config.bin)
16:43:31 Updating base class RscShortcutButton->RscButtonMenu, by a3\ui_f\config.bin/RscDisplayCapture/controls/ButtonPreviousData/ (original bin\config.bin)
16:43:31 Updating base class RscPicture->RscPictureKeepAspect, by a3\ui_f\config.bin/RscDisplayMain/IconPicture/ (original bin\config.bin)
16:43:31 Updating base class IconPicture->RscPictureKeepAspect, by a3\ui_f\config.bin/RscDisplayMain/DlcOwnedIconPicture/ (original a3\ui_f\config.bin)
16:43:31 Updating base class IconPicture->RscPictureKeepAspect, by a3\ui_f\config.bin/RscDisplayMain/DlcIconPicture/ (original a3\ui_f\config.bin)
16:43:31 Updating base class RscControlsGroup->RscControlsGroupNoScrollbars, by a3\ui_f\config.bin/RscDisplayCampaignLoad/controls/OverviewGroup/ (original bin\config.bin)
16:43:31 Updating base class RscButton->RscButtonSearch, by a3\ui_f\config.bin/RscDisplayCampaignLoad/controls/SearchButton/ (original bin\config.bin)
16:43:31 Updating base class RscShortcutButton->RscButtonMenuCancel, by a3\ui_f\config.bin/RscDisplayCampaignLoad/controls/ButtonCancel/ (original bin\config.bin)
16:43:31 Updating base class RscShortcutButton->RscButtonMenu, by a3\ui_f\config.bin/RscDisplayCampaignLoad/controls/ButtonGameOptions/ (original bin\config.bin)
16:43:31 Updating base class RscShortcutButton->RscButtonMenuSteam, by a3\ui_f\config.bin/RscDisplayCampaignLoad/controls/ButtonBuyDLC/ (original bin\config.bin)
16:43:31 Updating base class RscShortcutButton->RscButtonMenu, by a3\ui_f\config.bin/RscDisplayCampaignLoad/controls/ButtonRevert/ (original bin\config.bin)
16:43:31 Updating base class RscShortcutButton->RscButtonMenuOK, by a3\ui_f\config.bin/RscDisplayCampaignLoad/controls/ButtonOK/ (original bin\config.bin)
16:43:31 Updating base class RscListBox->RscCombo, by a3\ui_f\config.bin/RscDisplayCustomizeController/Steepness/ (original bin\config.bin)
16:43:31 Updating base class ->RscStandardDisplay, by a3\ui_f\config.bin/RscDisplayControlSchemes/ (original bin\config.bin)
16:43:31 Updating base class ButtonOK->RscButtonMenuCancel, by a3\ui_f\config.bin/RscDisplayControlSchemes/controls/ButtonCancel/ (original bin\config.bin)
16:43:31 Updating base class RscButton->RscButtonMenuOK, by a3\ui_f\config.bin/RscDisplayControlSchemes/controls/ButtonOK/ (original bin\config.bin)
16:43:31 Updating base class RscPicture->RscPictureKeepAspect, by a3\ui_f\config.bin/RscDisplayFileSelectImage/controls/OverviewPicture/ (original bin\config.bin)
16:43:31 Updating base class RscShortcutButton->RscButtonMenuCancel, by a3\ui_f\config.bin/RscDisplayFieldManual/Controls/ButtonCancel/ (original bin\config.bin)
16:43:31 Cannot delete class B_KickOff, it is referenced somewhere (used as a base class probably).
16:43:31 Updating base class RscButton->RscButtonMenuCancel, by a3\ui_f\config.bin/RscDisplayPublishMission/controls/ButtonCancel/ (original bin\config.bin)
16:43:31 Updating base class RscShortcutButton->RscButtonMenuOK, by a3\ui_f\config.bin/RscDisplayPublishMissionSelectTags/controls/ButtonOK/ (original bin\config.bin)
16:43:31 Updating base class ButtonOK->RscButtonMenuCancel, by a3\ui_f\config.bin/RscDisplayPublishMissionSelectTags/controls/ButtonCancel/ (original bin\config.bin)
16:43:31 Updating base class ->RscSubmenu, by a3\ui_f\config.bin/RscMainMenu/ (original bin\config.bin)
16:43:31 Updating base class None->ActiveSensorsOn, by a3\ui_f\config.bin/CfgActions/ActiveSensorsOff/ (original bin\config.bin)
16:43:31 Updating base class None->ListRightVehicleDisplay, by a3\ui_f\config.bin/CfgActions/ListLeftVehicleDisplay/ (original bin\config.bin)
16:43:31 Updating base class None->ListPrevRightVehicleDisplay, by a3\ui_f\config.bin/CfgActions/ListPrevLeftVehicleDisplay/ (original bin\config.bin)
16:43:31 Updating base class None->CloseRightVehicleDisplay, by a3\ui_f\config.bin/CfgActions/CloseLeftVehicleDisplay/ (original bin\config.bin)
16:43:31 Updating base class None->NextModeRightVehicleDisplay, by a3\ui_f\config.bin/CfgActions/NextModeLeftVehicleDisplay/ (original bin\config.bin)
16:43:31 Updating base class ->DistanceClose, by a3\ui_f\config.bin/CfgSimpleTasks/Icon3D/DistanceMid/ (original bin\config.bin)
16:43:31 Updating base class ->DistanceClose, by a3\ui_f\config.bin/CfgSimpleTasks/Icon3D/DistanceLong/ (original bin\config.bin)
16:43:32 Updating base class ->ctrlDefaultText, by a3\3den\config.bin/ctrlStatic/ (original a3\3den\config.bin)
16:43:32 Updating base class ->ctrlDefaultText, by a3\3den\config.bin/ctrlStructuredText/ (original a3\3den\config.bin)
16:43:32 Updating base class ->ctrlControlsGroup, by a3\3den\config.bin/ctrlControlsGroupNoScrollbars/ (original a3\3den\config.bin)
16:43:32 Updating base class ->ctrlDefault, by a3\3den\config.bin/ctrlCheckbox/ (original a3\3den\config.bin)
16:43:32 Updating base class ->ctrlCheckbox, by a3\3den\config.bin/ctrlCheckboxBaseline/ (original a3\3den\config.bin)
16:43:32 Updating base class RscText->ctrlStaticBackgroundDisable, by a3\3den\config.bin/RscDisplayOptionsAudio/ControlsBackground/BackgroundDisable/ (original a3\3den\config.bin)
16:43:32 Updating base class RscText->ctrlStaticBackgroundDisableTiles, by a3\3den\config.bin/RscDisplayOptionsAudio/ControlsBackground/BackgroundDisableTiles/ (original a3\3den\config.bin)
16:43:32 Updating base class RscText->ctrlStaticBackgroundDisable, by a3\3den\config.bin/RscDisplayConfigure/ControlsBackground/BackgroundDisable/ (original a3\3den\config.bin)
16:43:32 Updating base class RscText->ctrlStaticBackgroundDisableTiles, by a3\3den\config.bin/RscDisplayConfigure/ControlsBackground/BackgroundDisableTiles/ (original a3\3den\config.bin)
16:43:32 Updating base class RscText->ctrlStaticBackgroundDisable, by a3\3den\config.bin/RscDisplayConfigureAction/ControlsBackground/BackgroundDisable/ (original a3\3den\config.bin)
16:43:32 Updating base class RscText->ctrlStaticBackgroundDisableTiles, by a3\3den\config.bin/RscDisplayConfigureAction/ControlsBackground/BackgroundDisableTiles/ (original a3\3den\config.bin)
16:43:32 Updating base class RscText->ctrlStaticBackgroundDisable, by a3\3den\config.bin/RscDisplayConfigureControllers/ControlsBackground/BackgroundDisable/ (original a3\3den\config.bin)
16:43:32 Updating base class RscText->ctrlStaticBackgroundDisableTiles, by a3\3den\config.bin/RscDisplayConfigureControllers/ControlsBackground/BackgroundDisableTiles/ (original a3\3den\config.bin)
16:43:32 Updating base class RscText->ctrlStaticBackgroundDisable, by a3\3den\config.bin/RscDisplayGameOptions/ControlsBackground/BackgroundDisable/ (original a3\3den\config.bin)
16:43:32 Updating base class RscText->ctrlStaticBackgroundDisableTiles, by a3\3den\config.bin/RscDisplayGameOptions/ControlsBackground/BackgroundDisableTiles/ (original a3\3den\config.bin)
16:43:32 Updating base class controls->, by a3\3den\config.bin/RscDisplayArcadeMap_Layout_2/Controls/ (original a3\ui_f\config.bin)
16:43:32 Updating base class controls->, by a3\3den\config.bin/RscDisplayArcadeMap_Layout_6/Controls/ (original a3\ui_f\config.bin)
16:43:32 Updating base class ->ctrlControlsGroupNoScrollbars, by a3\3den\config.bin/Cfg3DEN/Attributes/Default/ (original a3\3den\config.bin)
16:43:32 Updating base class ->ctrlStatic, by a3\3den\config.bin/Cfg3DEN/Attributes/Title/Controls/Title/ (original a3\3den\config.bin)
16:43:32 Updating base class ->Controls, by a3\3den\config.bin/Cfg3DEN/Attributes/Toolbox/Controls/ (original a3\modules_f\config.bin)
16:43:32 Updating base class ->Title, by a3\3den\config.bin/Cfg3DEN/Attributes/Toolbox/Controls/Title/ (original a3\3den\config.bin)
16:43:32 Updating base class ->ctrlToolbox, by a3\3den\config.bin/Cfg3DEN/Attributes/Toolbox/Controls/Value/ (original a3\3den\config.bin)
16:43:32 Updating base class I_1stRegiment->BaseGuer, by a3\missions_f_orange\config.bin/CfgORBAT/BIS/I_3rdRegiment/ (original a3\missions_f_epa\config.bin)
16:43:32 Updating base class CounterMeasureFlare->, by a3\weapons_f_orange\config.bin/FlareShell/ (original a3\weapons_f_orange\config.bin)
16:43:33 Initializing Steam Manager
16:43:33 Steam Manager initialized.
16:43:33 ============================================================================================= List of mods ===============================================================================================
16:43:33 modsReadOnly = true
16:43:33 safeModsActivated = false
16:43:33 customMods = true
16:43:33 hash = 'DB427DEABFBA9E6C329C0BC30219DE6F6FC15C4E'
16:43:33 hashShort = '580cb3fc'
16:43:33                                               name |               modDir |    default |               origin |                                     hash | hashShort | fullPath
16:43:33 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
16:43:33                       Community Base Addons v3.4.1 |              @cba_a3 |      false |             GAME DIR | a596364728f8cc46c6c3fa627d13c4c1bd48956f |  36f5dce3 | /home/dingos8/arma3/test/mods/@cba_a3
16:43:33                                    Arma 3 Marksmen |                 mark |       true |             GAME DIR | c6bbf13b9ba4d385115d5cb8bab1a92c80523a1f |  96126a8f | /home/dingos8/arma3/test/mark
16:43:33                                 Arma 3 Helicopters |                 heli |       true |             GAME DIR | 3e706a923708899f0547c90d43009c28f59452f5 |  c5e3eb00 | /home/dingos8/arma3/test/heli
16:43:33                                       Arma 3 Karts |                 kart |       true |             GAME DIR | 8b5529f1830845e337cb069936735791ca34a430 |  fdd21ca7 | /home/dingos8/arma3/test/kart
16:43:33                                        Arma 3 Zeus |              curator |       true |             GAME DIR | f8b62e48f9b245a5863dc6252030ff459305c9e9 |  d9b2a39f | /home/dingos8/arma3/test/curator
16:43:33                                Arma 3 DLC Bundle 2 |           dlcbundle2 |       true |            NOT FOUND |                                          |           | 
16:43:33                                Arma 3 DLC Bundle 1 |            dlcbundle |       true |            NOT FOUND |                                          |           | 
16:43:33                                 Arma 3 Laws of War |               orange |       true |             GAME DIR | b1ba493cbead1cab6d2a279cb48421ce6a4c266a |  393ac068 | /home/dingos8/arma3/test/orange
16:43:33                                      Arma 3 Malden |                 argo |       true |             GAME DIR | 8e35331f4703f1354ccb19571d2ef8a43c7f806a |  e3eed2e4 | /home/dingos8/arma3/test/argo
16:43:33                                        Arma 3 Jets |                 jets |       true |             GAME DIR | 382c6484e1a9f37f070571a85667ad2949143a4d |  e0259f07 | /home/dingos8/arma3/test/jets
16:43:33                                        Arma 3 Apex |            expansion |       true |             GAME DIR | 95173274273cd33ac0ea47b100615a6ce05fe105 |  ed125f64 | /home/dingos8/arma3/test/expansion
16:43:33                                             Arma 3 |                   A3 |       true |            NOT FOUND |                                          |           | 
16:43:33 ==========================================================================================================================================================================================================
16:43:33 InitSound ...
16:43:33 InitSound - complete
16:43:33 Dedicated host created.
16:43:33 PhysX3 SDK Init started ...
16:43:33 PhysX3 SDK Init ended.
16:43:37 [0,32.551,0,"XEH: PreStart started."]
16:43:37 [CBA] (settings) INFO: Loading userconfig file ...
16:43:37 Warning Message: Script userconfig\cba_settings.sqf not found
16:43:37 [0,32.903,0,"XEH: PreStart finished."]
16:43:38 Warning Message: You cannot play/edit this mission; it is dependent on downloadable content that has been deleted.
a3_characters_f
16:43:38 Loading movesType CfgGesturesMale
16:43:38 MovesType CfgGesturesMale load time 231 ms
16:43:38 Loading movesType CfgMovesMaleSdr
16:43:47 MovesType CfgMovesMaleSdr load time 9097 ms
16:43:47 Host identity created.
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 107410
16:43:48 Game Port: 2322, Steam Query Port: 2323
16:43:48 Initializing Steam server - Game Port: 2322, Steam Query Port: 2323
Arma 3 Console version 1.76.143187 x86 : port 2322
16:43:48 Mission co40_Authority.Tanoa read from bank.
16:43:48 Mission co40_Authority.Tanoa: Number of roles (20) is different from 'description.ext::Header::maxPlayer' (40)
16:43:48 Roles assigned.
16:43:48 Reading mission ...
16:43:48 Starting mission:
16:43:48  Mission file: co40_Authority (__cur_mp)
16:43:48  Mission world: Tanoa
16:43:48  Mission directory: mpmissions\__cur_mp.Tanoa\
16:43:53 No more slot to add connection at 015030 (1523.6,3012.8)
16:44:03 Strange convex component70 in a3\structures_f_exp\commercial\multistorybuilding_01\multistorybuilding_01_f.p3d:geometryFire
16:44:03 Strange convex component75 in a3\structures_f_exp\commercial\multistorybuilding_01\multistorybuilding_01_f.p3d:geometryFire
16:44:03 Strange convex component76 in a3\structures_f_exp\commercial\multistorybuilding_01\multistorybuilding_01_f.p3d:geometryFire
16:44:03 Strange convex component77 in a3\structures_f_exp\commercial\multistorybuilding_01\multistorybuilding_01_f.p3d:geometryFire
16:44:03 Strange convex component78 in a3\structures_f_exp\commercial\multistorybuilding_01\multistorybuilding_01_f.p3d:geometryFire
16:44:08 "test/BIS_fnc_log: [BIS_fnc_preload] ----- Initializing scripts in co40_Authority -----"
16:44:08 No speaker given for 
16:44:08 "test/BIS_fnc_log: [recompile] recompile BIS_fnc_missionTasksLocal"
16:44:08 "test/BIS_fnc_log: [recompile] recompile BIS_fnc_missionConversationsLocal"
16:44:08 "test/BIS_fnc_log: [recompile] recompile BIS_fnc_missionFlow"
16:44:08 "test/BIS_fnc_log: [preInit] BIS_fnc_feedbackMain (8.00323 ms)"
16:44:08 "test/BIS_fnc_log: [preInit] BIS_fnc_missionHandlers (0 ms)"
16:44:08 "test/BIS_fnc_log: [preInit] BIS_fnc_storeParamsValues (0 ms)"
16:44:08 "test/BIS_fnc_log: [preInit] BIS_fnc_getServerVariable (0 ms)"
16:44:08 [8655,63.499,0,"XEH: PreInit started. v3.4.1.170912"]
16:44:08 [8655,63.717,0,"XEH: PreInit finished."]
16:44:08 "test/BIS_fnc_log: [preInit] CBA_fnc_preInit (217.999 ms)"
Duplicate HitPoint name 'HitTurret' in 'B_MBT_01_arty_F'
Duplicate HitPoint name 'HitGun' in 'B_MBT_01_arty_F'
Duplicate HitPoint name 'HitTurret' in 'B_T_LSV_01_armed_F'
Duplicate HitPoint name 'HitGun' in 'B_T_LSV_01_armed_F'
Duplicate HitPoint name 'HitTurret' in 'B_T_LSV_01_armed_F'
Duplicate HitPoint name 'HitGun' in 'B_T_LSV_01_armed_F'
Duplicate HitPoint name 'HitTurret' in 'B_T_LSV_01_armed_F'
Duplicate HitPoint name 'HitGun' in 'B_T_LSV_01_armed_F'
16:44:10 Mission read.
16:44:10 Connected to Steam servers
16:44:10 "***gvs\gvs_init starts 66.136, 0, 1.35135 ,0.0913492"
16:44:10 "***gvs\gvs_init ends 66.14, 0, 1.35135 ,0.0913492"
16:44:10 Weather was forced to change
16:44:10 ../lib/Network/networkServer.cpp OnClientStateChanged:NOT IMPLEMENTED - briefing!
16:44:10  Mission id: 674b7ea0c8dcb88b16ed3d278830034c09f38d05
16:44:10 Game started.
16:44:10 "test/BIS_fnc_log: [module] BIS_fnc_moduleSimulationManager (147.995 ms)"
Attempt to override final function - bis_fnc_storeparamsvalues_data
16:44:10 "test/BIS_fnc_log: [module] BIS_fnc_moduleSupportsInitProvider (165.001 ms)"
16:44:10 "test/BIS_fnc_log: [module] BIS_fnc_moduleSupportsInitRequester (164.001 ms)"
16:44:11 "test/BIS_fnc_log: [SUPPORTS] Provider module initialized for ArtyC"
16:44:11 "test/log: ERROR: [BIS_fnc_activateAddons] The function can be activated only during the mission init."
16:44:11 "test/BIS_fnc_log: [module] BIS_fnc_moduleCurator (375.999 ms)"
16:44:11 "test/BIS_fnc_log: [script] initServer.sqf"
16:44:11 "test/BIS_fnc_log: [postInit] BIS_fnc_missionFlow (0 ms)"
16:44:11 "test/BIS_fnc_log: [postInit] BIS_fnc_initParams (0.999451 ms)"
16:44:11 "test/BIS_fnc_log: [postInit] BIS_fnc_initRespawn (0 ms)"
16:44:11 "test/BIS_fnc_log: [postInit] BIS_fnc_reviveInit (0 ms)"
16:44:11 [8663,67.457,0.52,"XEH: PostInit started. MISSIONINIT: missionName=co40_Authority, missionVersion=53, worldName=Tanoa, isMultiplayer=true, isServer=true, isDedicated=true, CBA_isHeadlessClient=false, hasInterface=false, didJIP=false"]
16:44:12 [8663,67.48,0.52,"CBA_VERSIONING: cba=3.4.1.170912, "]
16:44:12 [8663,67.484,0.52,"XEH: PostInit finished."]
16:44:12 "test/BIS_fnc_log: [postInit] CBA_fnc_postInit (27.0004 ms)"
16:44:12 "test/BIS_fnc_log: [postInit] CHVD_fnc_init (0 ms)"
16:44:12 "Initializing DEP . . ."
16:44:33 Strange convex component16 in a3\boat_f_gamma\boat_civil_04\boat_civil_04_f.p3d:geometryView
16:44:33 Strange convex component25 in a3\boat_f_gamma\boat_civil_04\boat_civil_04_f.p3d:geometryView
16:44:33 Strange convex component26 in a3\boat_f_gamma\boat_civil_04\boat_civil_04_f.p3d:geometryView
16:44:33 Strange convex component27 in a3\boat_f_gamma\boat_civil_04\boat_civil_04_f.p3d:geometryView
16:44:34 "test/BIS_fnc_log: [BIS_fnc_preload] ----- Scripts initialized at 26213 ms -----"
16:44:45 "*** mission uses existing targetdata file"
16:44:45 No speaker given for 
16:44:51 No speaker given for 
16:44:51 No speaker given for 
16:44:51 No speaker given for 
16:44:51 No speaker given for 
16:44:51 No speaker given for 
16:44:51 No speaker given for 
16:44:51 No speaker given for 
16:44:51 No speaker given for 
16:44:51 No speaker given for 
16:44:51 No speaker given for 
16:44:51 No speaker given for 
16:44:51 No speaker given for 
16:44:51 No speaker given for 
16:44:52 No speaker given for 
16:44:52 No speaker given for 
16:44:52 No speaker given for 
16:44:52 No speaker given for 
16:44:52 No speaker given for 
16:44:52 No speaker given for 
16:44:52 No speaker given for 
16:44:52 No speaker given for 
16:44:52 No speaker given for 
16:44:52 No speaker given for 
16:44:52 No speaker given for 
16:44:52 No speaker given for 
16:44:52 No speaker given for 
16:44:52 No speaker given for 
16:44:52 No speaker given for 
16:44:52 No speaker given for 
16:44:53 No speaker given for 
16:44:53 No speaker given for 
16:44:53 No speaker given for 
16:44:53 No speaker given for 
16:44:53 No speaker given for 
16:44:53 No speaker given for 
16:44:53 No speaker given for 
16:44:53 No speaker given for 
16:44:53 No speaker given for 
16:44:53 No speaker given for 
16:44:53 No speaker given for 
16:44:53 No speaker given for 
16:44:53 No speaker given for 
16:44:53 No speaker given for 
16:44:53 No speaker given for 
16:44:53 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:54 No speaker given for 
16:44:55 No speaker given for 
16:44:55 No speaker given for 
16:44:55 No speaker given for 
16:44:55 No speaker given for 
16:44:55 No speaker given for 
16:44:55 No speaker given for 
16:44:55 No speaker given for 
16:44:55 No speaker given for 
16:44:55 No speaker given for 
16:44:55 No speaker given for 
16:44:55 No speaker given for 
16:44:55 No speaker given for 
16:44:55 No speaker given for 
16:44:55 No speaker given for 
16:44:55 No speaker given for 
16:44:55 No speaker given for 
16:44:55 No speaker given for 
16:44:55 No speaker given for 
16:44:56 No speaker given for 
16:44:56 No speaker given for 
16:44:56 No speaker given for 
16:44:56 No speaker given for 
16:44:56 No speaker given for 
16:44:56 "***server\missionsetup starts 112.35, 7.411, 46.1095 ,17.8571"
16:45:09 "***server\missionsetup ends 124.878, 11.517, 1.77246 ,0.228676"
16:45:09 "***server\replacequads starts 124.919, 11.559, 1.77168 ,0.228676"
16:45:09 "***server\reloadarty starts 124.919, 11.559, 1.77168 ,0.228676"
16:45:28 dingos8 uses modified data file
16:45:28 Player dingos8 connecting.
16:45:32 Player dingos8 connected (id=76561198063608056).
16:45:37 "DEP ready with 136 locations"
16:45:37 "Air patrol interval is 900 seconds."
Unaccessible
16:48:11 JS_S_Caesar_BTT: Invalid parent bone 'zbytek' for 'lights_hide'
16:48:11 Array tex in bin\config.bin/CfgVehicles/Plane_Civil_01_base_F/Damage/ not even
16:48:11 I_C_Plane_Civil_01_F: mfd_center_needle_oil_psi - unknown animation source hitengine
16:48:11 I_C_Plane_Civil_01_F: hull_lights_coll_on_white_1_blinking - unknown animation source collisionlightwhite1t_source
16:48:11 I_C_Plane_Civil_01_F: hull_lights_coll_on_white_2_blinking - unknown animation source collisionlightwhite2r_source
16:48:11 In Vehicle: a3\air_f_exp\plane_civil_01\plane_civil_01_basic_f.p3d missing cargo 0 get in direction point
16:48:11 In Vehicle: a3\air_f_exp\plane_civil_01\plane_civil_01_basic_f.p3d missing cargo 0 get in direction point
16:48:11 "Begin air patrol from 5 to 12"
soldier[I_Soldier_GL_F]:Some of magazines weren't stored in soldier Vest or Uniform?
16:48:22 "Vehicle created and moving to [3520.24,2938.14,0]."
 

 

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

×