Jump to content
Sign in to follow this  
fn_Quiksilver

[MP] Invade & Annex [COOP]

Recommended Posts

No download available.

Currently this version is only playable on:

Server name:

DEVGRU | US #1

Mission name:

Co-64 Invade & Annex | DEVGRU

Server IP:

70.42.74.22

Server Port:

2302

_________________________

A large persistent join-in-progress co-op mission with a 'war' feel. The mission features a challenging attrition-focused primary objective that takes the players all over Altis, and a series of smaller objective-focused secondary missions gives players a taste of the variety ArmA 3 offers, tailored for small-team tactics. Layered onto that is admin-controlled Zeus, which provides the server staff the ability to greatly enhance the enjoyment of players by adding a 'human touch' to the mission and doing what no amount of mission scripting can do.

The mission in its current state represents over 1+ million playtime hours by tens of thousands of players on servers the world over.

I&A for ArmA 3 was created by Ahoy Worlds Rarek in early 2013 with the help of Jester [AW] and Razgriz33 [AW]. It was further developed since Nov 2013 by myself with help from allFPS, a large Australian ArmA 3 community.

Post bug reports, feature requests, suggestions and feedback here.

primary credits:

Rarek [AW]

Quiksilver (MDCCLXXVI)

* ArmA 3 v1.36 compatible

Edited by MDCCLXXVI
  • Like 1

Share this post


Link to post
Share on other sites

News:

16/09/2014

- Last news update for I&A thread.

- Development on new mission has been ongoing for a few months now, still cannot say when the thread for it will be up. Hopefully in a few weeks? :)

2/09/2014

- I have officially terminated development of this branch of I&A.

- As of last week, the project pivoted toward development of a new, nameless co-op mission. This project will have elements of I&A/Domination and other big co-op missions.

- I'll keep updating this News section for the time being, but when this mission is released, I'll start a new thread for it.

- If you have any feature requests or things you'd like to see in the co-op mission, PM me.

26/08/2014

- Development in the past few days has opened up some great possibilities, however the developments are outside the scope of what would be considered I&A.

- Some of the more complex work from a few days ago is complete, and currently working on the application across the breadth of the mission.

- If I pursue this line of development, it may become a new project.

23/08/2014

- Working on next release still. Current focus areas are Civilians, AI logic, and Mission sub-objectives.

- Developing the civilians aspect of the mission led to a re-design of certain structures, for both performance and mission-flexibility reasons.

- AI logic development has been delayed as a result, while Mission sub-objectives have been coming along in order to facilitate testing of new mission structures.

- Some of this is quite complex (for me), and progress this week has been slow.

Edited by MDCCLXXVI

Share this post


Link to post
Share on other sites

hi nice missions just played it a little bit and fund some small problems the jump script makes the ruder to the right side act up took the script out to test for my self and with out it it is working fine

Share this post


Link to post
Share on other sites
hi nice missions just played it a little bit and fund some small problems the jump script makes the ruder to the right side act up took the script out to test for my self and with out it it is working fine

hey, glad you are enjoying it. Ahoy World built the initial design, I am just continuing where they left off.

I am not sure what you mean re jump script. 'ruder to the right side' ?

I have been half tempted to pull it out as its not quite optimized for large-scale all-day co-op. However, in our community there are some players who love it, so it is a pros/cons thing, and it is run locally on client so not adding burden to the server. You can re-assign it to a different key if it is conflicting.

Share this post


Link to post
Share on other sites

hope you dont mind i took it out for now and every thing works fine and added some mods to it to make it more fun for me and some friends

Share this post


Link to post
Share on other sites

running that mission on a sever so far so when defending town no enemy is showing up

Share this post


Link to post
Share on other sites
running that mission on a sever so far so when defending town no enemy is showing up

Assuming tweaking done on your end is not the cause:

In 2.75.27, the EOS script handles the defense sequence.

In EOS, if there are no friendlies (on the ground) within the defend zone, no enemies will spawn.

If the last friendly in the defend zone dies, the enemies will de-spawn.

-

I'm currently re-building the 'defend' objectives, but next version won't be released for at least a week. In that, when the last friendly dies, the mission is a fail and the mission ends immediately.

At the moment it is a simple timer with no success/fail states. (just start and end state). Result is that friendlies can all die and the timer will keep ticking down. At that point, the enemy do not respawn should friendlies re-enter the defend zone. For now, consider the few minutes as a punishment for failure. ;) Maximum defend time is around 10 minutes. (480 + random 120).

Edited by MDCCLXXVI

Share this post


Link to post
Share on other sites

ok that makes sens i was not on the ground was in the air with the AC130 cant wait for the up date

Share this post


Link to post
Share on other sites

Will there ever be an option for parajump from base and/or mhq's in Invade & annex ?

Thats the only thing that stops me from switching to this mission. I do sure agree that

dedicated transport-pilots are more fun/realisitc, but it can kind of make mission come to

a halt, if no pilots-slots taken. Mission wont go untill there are a pilot ingame.

It could just be a lobby option for admins to turn on/off. Also there could be a lobby option

"only pilots can fly".

Share this post


Link to post
Share on other sites
Dorph;2693656']Will there ever be an option for parajump from base and/or mhq's in Invade & annex ?

Thats the only thing that stops me from switching to this mission. I do sure agree that

dedicated transport-pilots are more fun/realisitc' date=' but it can kind of make mission come to

a halt, if no pilots-slots taken. Mission wont go untill there are a pilot ingame.

It could just be a lobby option for admins to turn on/off. Also there could be a lobby option

"only pilots can fly".[/quote']

Soon ;) 7-14 days.

In a day or two I'll release an interim version (2.75.29) with a couple minor bug fixes, and a parameter for the pilot check (or give the ability for admins in-game to toggle pilot check on and off at will). I prefer parameters that can be adjusted on-the-fly rather than only prior to mission start.

I'll never implement a parajump-from-base ability, however when I can find time, will integrate HALO jumping to add more of that dynamic to the mission.

Edited by MDCCLXXVI

Share this post


Link to post
Share on other sites

Suggestion.

Change the CH49 so it looks like this.

2014_05_22_00002.jpg

Set the init of the CH49 to :-

this setObjectTextureGlobal[0,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];this setObjectTextureGlobal [1,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];this setObjectTextureGlobal [2,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];_m = [this,60,300] execVM "scripts\vehicle\monitor.sqf";

By the way, Tophe has withdrawn his Simple Vehicle Respawn script (monitor.sqf). See this link for info. Simple Vehicle Respawn by Tophe of Östgöta Ops

I suggest you replace your monitor.sqf with this one from Iceman. It is a better spawn script and eliminates the server stuttering. I've also edited it so it keeps the CH49 re-texture on respawn.

/* ---------------------------------------------------------------------------------------------------- 
File: vehRespawn.sqf 
Author: Iceman77 

Description: 
Respawn destroyed and abandoned vehicles 

Parameter(s): 
_this select 0: vehicle  
_this select 1: abandoned delay in minute(s) - Required 
_this select 2: destroyed delay in minute(s) - Required 

How to use - Vehicle Init Line:  
_nul = [this, 120, 60] execVM "vehrespawn.sqf"; << 2 minute abandoned delay, 1 minute destroyed delay. 
---------------------------------------------------------------------------------------------------- */ 

private "_veh";

_veh = _this select 0; 
_abandonDelay = _this select 1; 
_deadDelay = _this select 2; 
_dir = getDir _veh;  
_pos = getPos _veh;  
_vehtype = typeOf _veh;  

if (isServer) then { 
   While {True} Do { 
       sleep 1; 
       if ((alive _veh) && {canMove _veh} && {{alive _x} count crew _veh == 0}) then { 
           _abandoned = true; 

               for "_i" from 0 to _abandonDelay do {   
                   if (({alive _x} count (crew _veh) > 0) || (!alive _veh) || (!canMove _veh)) exitWith {_abandoned = false;}; 
                   sleep 1;   
               }; 

           if ((_abandoned) && {_veh distance _pos > 10}) then { 
               deleteVehicle _veh; 
               sleep 1; 
               _veh = createVehicle [_vehtype, _pos, [], 0, "CAN_COLLIDE"]; 
               _veh setDir _dir; 
               _veh setPos [_pos select 0, _pos select 1,0];
// Added by Beerkan
		if (_veh iskindof "I_Heli_Transport_02_F") then {
			_veh setObjectTextureGlobal[0,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];
			_veh setObjectTextureGlobal [1,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];
			_veh setObjectTextureGlobal [2,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];
			};
		if (_veh iskindof "I_MRAP_03_HMG_F") then {
			_veh setObjectTextureGlobal [0,'\A3\soft_f_beta\mrap_03\data\mrap_03_ext_co.paa'];
			_veh setObjectTextureGlobal [1,'\A3\data_f\vehicles\turret_co.paa']; 
			};
		if (_veh iskindof "I_MRAP_03_GMG_F") then {
			_veh setObjectTextureGlobal [0,'\A3\soft_f_beta\mrap_03\data\mrap_03_ext_co.paa'];
			_veh setObjectTextureGlobal [1,'\A3\data_f\vehicles\turret_co.paa'];
			};				
		}; 
       }; 

       if ((!alive _veh) || (!canMove _veh)) then { 
           _dead = true; 

               for "_i" from 0 to _deadDelay do {   
                   if (({alive _x} count (crew _veh) > 0) || (canMove _veh)) exitWith {_dead = false;}; 
                   sleep 1;   
               }; 

           if (_dead) then { 
               deleteVehicle _veh; 
               sleep 1; 
               _veh = createVehicle [_vehtype, _pos, [], 0, "CAN_COLLIDE"]; 
               _veh setDir _dir; 
               _veh setPos [_pos select 0, _pos select 1,0];

// Added by Beerkan				
		if (_veh iskindof "I_Heli_Transport_02_F") then {
			_veh setObjectTextureGlobal[0,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];
			_veh setObjectTextureGlobal [1,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];
			_veh setObjectTextureGlobal [2,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];
			};
		if (_veh iskindof "I_MRAP_03_HMG_F") then {
			_veh setObjectTextureGlobal [0,'\A3\soft_f_beta\mrap_03\data\mrap_03_ext_co.paa'];
			_veh setObjectTextureGlobal [1,'\A3\data_f\vehicles\turret_co.paa']; 
			};
		if (_veh iskindof "I_MRAP_03_GMG_F") then {
			_veh setObjectTextureGlobal [0,'\A3\soft_f_beta\mrap_03\data\mrap_03_ext_co.paa'];
			_veh setObjectTextureGlobal [1,'\A3\data_f\vehicles\turret_co.paa'];
			};					
		}; 
       }; 
   }; 
};

Share this post


Link to post
Share on other sites
Suggestion.

Change the CH49 so it looks like this.

http://s1.postimg.org/gr5yzgrbf/2014_05_22_00002.jpg

Set the init of the CH49 to :-

this setObjectTextureGlobal[0,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];this setObjectTextureGlobal [1,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];this setObjectTextureGlobal [2,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];_m = [this,60,300] execVM "scripts\vehicle\monitor.sqf";

By the way, Tophe has withdrawn his Simple Vehicle Respawn script (monitor.sqf). See this link for info. Simple Vehicle Respawn by Tophe of Östgöta Ops

I suggest you replace your monitor.sqf with this one from Iceman. It is a better spawn script and eliminates the server stuttering. I've also edited it so it keeps the CH49 re-texture on respawn.

/* ---------------------------------------------------------------------------------------------------- 
File: vehRespawn.sqf 
Author: Iceman77 

Description: 
Respawn destroyed and abandoned vehicles 

Parameter(s): 
_this select 0: vehicle  
_this select 1: abandoned delay in minute(s) - Required 
_this select 2: destroyed delay in minute(s) - Required 

How to use - Vehicle Init Line:  
_nul = [this, 120, 60] execVM "vehrespawn.sqf"; << 2 minute abandoned delay, 1 minute destroyed delay. 
---------------------------------------------------------------------------------------------------- */ 

private "_veh";

_veh = _this select 0; 
_abandonDelay = _this select 1; 
_deadDelay = _this select 2; 
_dir = getDir _veh;  
_pos = getPos _veh;  
_vehtype = typeOf _veh;  

if (isServer) then { 
   While {True} Do { 
       sleep 1; 
       if ((alive _veh) && {canMove _veh} && {{alive _x} count crew _veh == 0}) then { 
           _abandoned = true; 

               for "_i" from 0 to _abandonDelay do {   
                   if (({alive _x} count (crew _veh) > 0) || (!alive _veh) || (!canMove _veh)) exitWith {_abandoned = false;}; 
                   sleep 1;   
               }; 

           if ((_abandoned) && {_veh distance _pos > 10}) then { 
               deleteVehicle _veh; 
               sleep 1; 
               _veh = createVehicle [_vehtype, _pos, [], 0, "CAN_COLLIDE"]; 
               _veh setDir _dir; 
               _veh setPos [_pos select 0, _pos select 1,0];
// Added by Beerkan
		if (_veh iskindof "I_Heli_Transport_02_F") then {
			_veh setObjectTextureGlobal[0,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];
			_veh setObjectTextureGlobal [1,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];
			_veh setObjectTextureGlobal [2,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];
			};
		if (_veh iskindof "I_MRAP_03_HMG_F") then {
			_veh setObjectTextureGlobal [0,'\A3\soft_f_beta\mrap_03\data\mrap_03_ext_co.paa'];
			_veh setObjectTextureGlobal [1,'\A3\data_f\vehicles\turret_co.paa']; 
			};
		if (_veh iskindof "I_MRAP_03_GMG_F") then {
			_veh setObjectTextureGlobal [0,'\A3\soft_f_beta\mrap_03\data\mrap_03_ext_co.paa'];
			_veh setObjectTextureGlobal [1,'\A3\data_f\vehicles\turret_co.paa'];
			};				
		}; 
       }; 

       if ((!alive _veh) || (!canMove _veh)) then { 
           _dead = true; 

               for "_i" from 0 to _deadDelay do {   
                   if (({alive _x} count (crew _veh) > 0) || (canMove _veh)) exitWith {_dead = false;}; 
                   sleep 1;   
               }; 

           if (_dead) then { 
               deleteVehicle _veh; 
               sleep 1; 
               _veh = createVehicle [_vehtype, _pos, [], 0, "CAN_COLLIDE"]; 
               _veh setDir _dir; 
               _veh setPos [_pos select 0, _pos select 1,0];

// Added by Beerkan				
		if (_veh iskindof "I_Heli_Transport_02_F") then {
			_veh setObjectTextureGlobal[0,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];
			_veh setObjectTextureGlobal [1,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];
			_veh setObjectTextureGlobal [2,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"];
			};
		if (_veh iskindof "I_MRAP_03_HMG_F") then {
			_veh setObjectTextureGlobal [0,'\A3\soft_f_beta\mrap_03\data\mrap_03_ext_co.paa'];
			_veh setObjectTextureGlobal [1,'\A3\data_f\vehicles\turret_co.paa']; 
			};
		if (_veh iskindof "I_MRAP_03_GMG_F") then {
			_veh setObjectTextureGlobal [0,'\A3\soft_f_beta\mrap_03\data\mrap_03_ext_co.paa'];
			_veh setObjectTextureGlobal [1,'\A3\data_f\vehicles\turret_co.paa'];
			};					
		}; 
       }; 
   }; 
};

Thanks!

Since Tophe has already put it out there for public use long ago, I don't acknowledge his 'withdraw' as having any authority ... That said, I'll respect his wishes as the code author, and seek out an alternative.

Many vehicle-related issues have arisen in ArmA 1.18, but that is a BIS issue re vehicle locality. Aside from that, I find his script is adequate although some modification has been done on our end.

The weakness in his monitoring script is that it runs for each and every vehicle you add it to. For instance in the above PBO there are roughly 37 respawning vehicles. That is 37 'while true' monitoring loops running on the server. Ouch!

It appears that the above script by Iceman77 also has this weakness. Not to mention it's running on a very tight loop too.

One of our coders has developed an in-house vehicle monitor, and I spent a good chunk of yesterdays 'coding time' working on adapting it. It runs only one server loop for all vehicles. Will take some time to thrash on it and make sure it's release-ready, but that is the direction I'm going re vehicle respawn for 2.76.

Will be releasing a hot-fix in a few hours to the PBO in the OP (updating to 2.75.29) and it will still have Tophe's vehicle monitor. Could be up to 10-14 days before I publish next version, which with any luck will not have Tophe's vehicle monitor running. It was a good script and there is a severe shortage of high performance MP vehicle respawn scripts, but when designing a mission within a tight (co-op) performance budget, the weight of it is felt especially in precious server FPS.

Nice CH-49 skin, having a look at it now. :)

edit: just working on a fix for UAV respawning prior to release of 2.75.29.

Edited by MDCCLXXVI

Share this post


Link to post
Share on other sites
... Nice CH-49 skin, having a look at it now. :)
Thanks, but it's not a skin as such, as I know you understand. Anyone can use it. You just copy the init and use it in any time.

No need to download a skin or install a mod. And, if you know the init RGB colours to apply, you can have it in any colour as you want, as long as that colour is...

Any colour you want. Dark, light black etc.

2014_05_20_00011.jpg

Let me know if you want the same dark colour as the UH80 Ghost Hawk or in lighter Altis colours as shown above.

Share this post


Link to post
Share on other sites

Updated to 2.75.29.

This is a minor update to workaround the UAV issue and a CAS bug.

Key changes in post #2 of this thread.

Next big mission update still quite a few days away.

Edited by MDCCLXXVI

Share this post


Link to post
Share on other sites

hi i added the Civilian Occupation System (COS) to the mission and it works really nice

i just did that so the map dont look so empty if you drive a round only thing that is missing is a nice random enemy script so when you drive from point A to point B of fly you maybe run into some small Attacks give the map more live

Share this post


Link to post
Share on other sites

DEV BLOG:

Enemy spawning system has been broken down, optimized and re-built. It can still use a restructure and a re-think on groups creation/retention, but it's good enough improvement for next release, given limited time budget.

Tonight should mark the end of a 'first pass' at the new AO defend mission. That component will be in a release-ready state, but after release it will be subject to tuning/balancing. A dynamic to expect for following versions (not this coming one) is 'scaling'; scaling difficulty and challenge to quantity/skill of players. It's important that a mission be fun not just for 40-50 players, but also for 4-5.

Expect next version to perform about the same but have more content/mission packed in. There are a heap of optimizations and refinements (you'd notice an extra 2-4FPS and more responsive AI), but the goal is to utilize those gains for gameplay advancements (which do have a perf cost).

Unfortunately ... It's still quite a few days away from being ready. I can mark it down as being 7 days out, but a coding challenge could arise in 4 days that would itself take 3 days to overcome, considering an hour or two a day for ArmA coding. ;)

I'll keep you updated on progress in this thread.

The task for early next week is to re-code the urban-based secondary objective type, and adapt that to more of the missions to add a more interesting CQB element to primary objectives. CQB in primary objectives has not been added as of yet for two primary reasons: 1. destruction of urban areas and its performance effect. 2. time taken to find and kill them, can cause awkward slowdowns in gameplay.

Alongside that, another battery of tests on the revised medical system, to bash away at it prior to release.

edit:

hi i added the Civilian Occupation System (COS) to the mission and it works really nice

i just did that so the map dont look so empty if you drive a round only thing that is missing is a nice random enemy script so when you drive from point A to point B of fly you maybe run into some small Attacks give the map more live

nice!

Unfortunately Altis is huge and this mission is designed for 30-60 players. Number of AI running around the island is the primary factor in server and player FPS. A concession was made that the towns will feel somewhat empty, in exchange for getting over 5FPS. :)

Edited by MDCCLXXVI

Share this post


Link to post
Share on other sites

that is a bummer with the FPS but most of the time we play only with a small number of player so with the ai running a round make it more fun

Share this post


Link to post
Share on other sites

ArmA 1.20 sitrep:

- The ArmA 1.20 update has broken a couple scripts in the pbo in original post.

Specifically, pilotcheck.sqf, no longer force-ejects players from co-pilot seat or non-pilots from pilot seat.

Also, cleanup scripts have to be re-done, as some things that were being cleaned up fine in ArmA 1.18 and prior, are no longer being cleaned up since the 1.20 update.

--

Work on next version continues. Been busy with life and paid work recently, but still chipping away. I'll address the above issues for that version, no longer supporting current version with updates/bug fixes.

Share this post


Link to post
Share on other sites

Cool, because we're trying to keep the number of people flying down on our server and the re-tuning of the pilotcheck script would be awesome.

Share this post


Link to post
Share on other sites

thanks nice to now

SO YOU HAVE TO START ALL OVER AGAIN ?

Edited by ICE_AGE0815

Share this post


Link to post
Share on other sites
thanks nice to now

SO YOU HAVE TO START ALL OVER AGAIN ?

Start all over again? No, haha ...

I'll be adding a couple things into the schedule as a result.

Specifically, doing some diagnostics on the current cleanup scripts and then addressing what can be addressed.

One goal on my end, when I started working on I&A in Oct 2013, has been to make it as Perpetual as I can. Meaning, I want the mission to be able to run at good performance for days/weeks on end of hard use.

Going to have a peek at the pilot-check script today and see what approach to take. I want it to be an on-the-fly parameter to adjust, so admins can set rules and control scripts in-mission rather than only pre-mission. One potential weakness in this approach is it may rely on a server loop to monitor the variable controlling script-ON vs script-OFF. That is just another straw on the back of the server CPU camel, so to speak. We'll see ...

-----

Other parts of development have been going well. New defend missions are much higher performance and will feel more realistic.

Still have to do some work with the 'buildingPos' command to re-simulate a fun urban CQB experience.

Mission design in this context comes down to three core tasks: spawn---> use ---> de-spawn.

I've handled the spawn/use parts of all the new content, now just have to handle correct and realistic de-spawning.

Edited by MDCCLXXVI

Share this post


Link to post
Share on other sites

is there a way you could build some civilians in the CQB missions to make it a little bit harder so people cant use artillery just an idea

for that pilot-check script is there not something like that in the patrol ops mission like that ? i am not saying to use there stuff just to see how there did that

Share this post


Link to post
Share on other sites
is there a way you could build some civilians in the CQB missions to make it a little bit harder so people cant use artillery just an idea

There are already civilians at the CQB missions in 2.75.29 (currently in original post). That approach has been discarded, however, for next release. Tailoring a new method for the requirements.

for that pilot-check script is there not something like that in the patrol ops mission like that ? i am not saying to use there stuff just to see how there did that

I'll have a look. I've been told about the Patrol Ops method re requesting permission. That is a possible approach. For a public co-op mission, there has to be allowances made for 'the bad times' when there are no responsible people on the server and people are just dropping in to play for a little while.

In bold.

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
Sign in to follow this  

×