Jump to content
bangabob

Enemy occupation system (eos)

Recommended Posts

Just wanderinf around the forum, I'm here.

Bangabob, according to this, point 4, you may {_x setMarkerAlpha 0} forEach allMapMarkers from a unit init field, isn't it?

Would that not require a sleep ?

And sleeps brake the briefing screen, and keeps the game from loading.

I have tried that line of code, but it still shows as well.

Share this post


Link to post
Share on other sites
You can have multiple EOS calls. Just make sure you only run one instance of the OpenMe.sqf.

Not sure that we are on same page.... Can one EOS zone be called by more than one line of the openme.sqf.

For example....

ready made AI battle when entering a zone (East and west factions called to same zone)

Adding a different helo call. one line have helos with cargo and one line have no cargo (resulting in attack choppers rather than troop drops)

Share this post


Link to post
Share on other sites

Not sure if it's been mentioned before, but is it possible to customise (or restrict) the gear that units get spawned with?

Share this post


Link to post
Share on other sites

Daantjeeuh : You can add a custom init to spawned unit , check eos/functions/setskill.sqf .

It will set it for every unit .

Share this post


Link to post
Share on other sites

I use EOS script to making insurgency style mission,But when I Complete about twenty red zone change to green zone.The EOS script is does not spawn enemy ,Remaining red zone u into it direct change to green.

Only the restart mission.

Share this post


Link to post
Share on other sites

Hello quick question, the killed units and destroyed vehicles are automatically deleted on EOS?

Share this post


Link to post
Share on other sites
Hello quick question, the killed units and destroyed vehicles are automatically deleted on EOS?

Vehicles are deleted. Units are also deleted.

Share this post


Link to post
Share on other sites

Bangabob, how can I prohibit the activation of zones by player if player is on the same side as the AI units spawned in zones?

---------- Post added at 03:09 PM ---------- Previous post was at 02:59 PM ----------

Never mind, I've figured it out. Its determined by the condition of setTriggerActivation in eos_core.sqf

Share this post


Link to post
Share on other sites
Vehicles are deleted. Units are also deleted.

Thanks Bob, there is after how many time the vehicle/units are deleted?

Where I can change this parameter?

Share this post


Link to post
Share on other sites

i went through alot of pages and could not find what i was looking for and its late so ill ask..

is there a way to make friendly AI trigger the eos call sofar i can only get it to trigger by players.

once agian sorry if question has been asked 50 times already its late and i cant read anymore pages.

Share this post


Link to post
Share on other sites
i went through alot of pages and could not find what i was looking for and its late so ill ask..

is there a way to make friendly AI trigger the eos call sofar i can only get it to trigger by players.

once agian sorry if question has been asked 50 times already its late and i cant read anymore pages.

Requires a modification of the trigger statements created in EOS. But can be done. The variable _actCond in eos_core contains the conditions under the units spawn or not, and you may see everything depends on isplayer and playableunits. For example: _actCond = "{(vehicle _x in thislist) and (side _x == WEST)} count allUnits > 0";

But having more units to check (in this case, all) may cause performance issues.

In my spawn/despawn systems what I do is to create an array of units which will be the ones who will fire the spawn. Not all of them, just the "attack" ones, so if you make the array in your init.sqf:

friendlies = units group player;

And on any spawned unit you want to make an "attack" unit: friendlies = friendlies + [_unit];

And in the case of EOS you put this:

_actCond = "{vehicle _x in thislist} count friendlies > 0";

There you go, the check is only made for the units you want, not all the units.

Don't forget to make a script which deletes the units from the array if they die, or get deleted, just friendlies = firendlies - [_deadunit]; so even if they die, and you leave them on an eos place, eos will despawn if you leave the area too.

Share this post


Link to post
Share on other sites

Hello there. I edited insurgency map by EOS script. At first, everything looks good, we have good experience of it. somehow, after taking out the enemies and occupied the red zone(about 20 red zone I think). The EOS script stop working and stop spawning enemies, the rest of the red zone will be green once player step in. The only option is restarting the insurgency mission. I have tried everything to fix this BUG, such as cancelling the helicopter or fixed wing in the map. It still won’t work. My apology to write this letter about this BUG, but we all love playing Insurgency Mission. We hope that you could make a solution and reply us. Thank you so much.

Share this post


Link to post
Share on other sites

Make sure that in the OpenMe.sqf each marker has its own parameters to spawn stuff. For example:

null = [["mkr1"],[3,1,80],[1,1,45],[0,0,0],[0,0],[0,0],[0,0,0],[0,0,500,EAST,FALSE,FALSE]] call EOS_Spawn; // 086 030
null = [["mkr2"],[5,1,80],[2,1,45],[0,0,0],[0,0],[0,0],[0,0,0],[0,0,500,EAST,FALSE,FALSE]] call EOS_Spawn; // 079 032
null = [["mkr3"],[3,1,80],[1,1,45],[0,0,0],[0,0],[0,0],[0,0,0],[0,0,500,EAST,FALSE,FALSE]] call EOS_Spawn; // 090 026
null = [["mkr4"],[3,1,65],[3,1,65],[0,0,0],[0,0],[0,0],[0,0,0],[0,0,500,EAST,FALSE,FALSE]] call EOS_Spawn; // 099 043
null = [["mkr5"],[4,1,65],[1,1,65],[0,0,0],[0,0],[1,20],[0,0,0],[0,0,500,EAST,FALSE,FALSE]] call EOS_Spawn; // 069 049

NOT like this:

null = [["mkr1","mkr2","mrk3","mrk4","mrk5"],[2,1,75],[0,0,0],[0,0,0],[0,0],[0,0],[0,0,0],[6,0,375,CIVILIAN,TRUE,FALSE]] call EOS_Spawn;

If you have a bunch of markers in line to call the EOS spawn, every time players go within the defined range of a marker, it will search through all those markers and can be laggier than it should be and can cause bugs like zones not working right. Also make sure there are no typos in the OpenMe.sqf.

Share this post


Link to post
Share on other sites

I have found a solution to the problem of the markers being seen in the briefing screen.

In your mission init.sqf

(note: that it does have to be at the top of the init, so it loads first, or it will take some time for the server/computer to run it.)

"Marker_name" setMarkerAlpha 0;

Share this post


Link to post
Share on other sites
I have found a solution to the problem of the markers being seen in the briefing screen.

In your mission init.sqf

(note: that it does have to be at the top of the init, so it loads first, or it will take some time for the server/computer to run it.)

"Marker_name" setMarkerAlpha 0;

If you have multiple markers to hide:-
{_x SetMarkerAlpha 0} forEach ["Marker_name1","Marker_name2","Marker_name3","Marker_name4","Marker_name5","Marker_name6"];

Share this post


Link to post
Share on other sites
If you have multiple markers to hide:-
{_x SetMarkerAlpha 0} forEach ["Marker_name1","Marker_name2","Marker_name3","Marker_name4","Marker_name5","Marker_name6"];

Hey thanx man, that helps me in a big way!

cheers!

Share this post


Link to post
Share on other sites

I am having issues with spawning armed offroads from the motorpool. They seem to spawn with 1 passenger, no driver and no gunner. Anyone seen this before?

Share this post


Link to post
Share on other sites
I am having issues with spawning armed offroads from the motorpool. They seem to spawn with 1 passenger, no driver and no gunner. Anyone seen this before?

You need to add a cargo to them , for example :

null = [["VEC1"],[0,0],[0,0],[[color="#FF0000"]1,2[/color]],[0],[0],[0,0],[2,1,1000,INDEPENDENT,FALSE,FALSE]] call EOS_Spawn;

Red part : 1 is for 1 vehicle spawned and 2 is for 4 to 8 crew members .

( 0 : 1 crew , 1 : 1-4 crew , 2 : 4-8 crew .... as explained in the documentation with the script )

Also , don't forget to have at least 2 unit in the unitpool of the used faction .

Share this post


Link to post
Share on other sites

I have had a search through the thread and cannot find an answer to this - is it possible to change the weapon loadouts for units you spawn with EOS to use modded weapons like the HLC AK Pack?

Share this post


Link to post
Share on other sites
I have had a search through the thread and cannot find an answer to this - is it possible to change the weapon loadouts for units you spawn with EOS to use modded weapons like the HLC AK Pack?

You can either create a custom faction using this weapons with UnitPool.sqf or with setskill.sqf inside functions folder you can add a custom init line to every spawned unit .

Share this post


Link to post
Share on other sites

Thanks again vince. So would I add the init here (see last line of example):

_grp=(_this select 0);
_skillArray=(_this select 1);					

				_skillset = server getvariable _skillArray;
					{
			_unit = _x;
			{
		_skillvalue = (_skillset select _forEachIndex) + (random 0.2) - (random 0.2);
		_unit setSkill [_x,_skillvalue];
			} forEach ['aimingAccuracy','aimingShake','aimingSpeed','spotDistance','spotTime','courage','reloadSpeed','commanding','general'];

				if (EOS_DAMAGE_MULTIPLIER != 1) then {_unit removeAllEventHandlers "HandleDamage";_unit addEventHandler ["HandleDamage",{_damage = (_this select 2)*EOS_DAMAGE_MULTIPLIER;_damage}];};
				if (EOS_KILLCOUNTER) then {_unit addEventHandler ["killed", "null=[] execVM ""eos\functions\EOS_KillCounter.sqf"""]};
				// ADD CUSTOM SCRIPTS TO UNIT HERE
					} forEach (units _grp); init="this addBackpack "B_Carryall_ocamo"; 
                                                                                     this addMagazine "Titan_AT";

Edited by CallMeSarge
typos

Share this post


Link to post
Share on other sites
Thanks again vince. So would I add the init here (see last line of example):

_grp=(_this select 0);
_skillArray=(_this select 1);					

				_skillset = server getvariable _skillArray;
					{
			_unit = _x;
			{
		_skillvalue = (_skillset select _forEachIndex) + (random 0.2) - (random 0.2);
		_unit setSkill [_x,_skillvalue];
			} forEach ['aimingAccuracy','aimingShake','aimingSpeed','spotDistance','spotTime','courage','reloadSpeed','commanding','general'];

				if (EOS_DAMAGE_MULTIPLIER != 1) then {_unit removeAllEventHandlers "HandleDamage";_unit addEventHandler ["HandleDamage",{_damage = (_this select 2)*EOS_DAMAGE_MULTIPLIER;_damage}];};
				if (EOS_KILLCOUNTER) then {_unit addEventHandler ["killed", "null=[] execVM ""eos\functions\EOS_KillCounter.sqf"""]};
				// ADD CUSTOM SCRIPTS TO UNIT HERE
					} forEach (units _grp); init="this addBackpack "B_Carryall_ocamo"; 
                                                                                     this addMagazine "Titan_AT";

Try it .

I never used custom init with eos but i guess a simple "this addweapons MX.." for example should work .

Or maybe you have to replace "this" by "_grp" , don't really know what is called .

Share this post


Link to post
Share on other sites

Hi,

I think that custom scripts or sentences must be before "} forEach (units _grp);". The setSkill.sqf take the group and change unit per unit the information.

______________________

_grp=(_this select 0);

_skillArray=(_this select 1);

_skillset = server getvariable _skillArray;

{

_unit = _x;

{

_skillvalue = (_skillset select _forEachIndex) + (random 0.2) - (random 0.2);

_unit setSkill [_x,_skillvalue];

} forEach ['aimingAccuracy','aimingShake','aimingSpeed','spotDistance','spotTime','courage','reloadSpeed','commanding','general'];

if (EOS_DAMAGE_MULTIPLIER != 1) then {_unit removeAllEventHandlers "HandleDamage";_unit addEventHandler ["HandleDamage",{_damage = (_this select 2)*EOS_DAMAGE_MULTIPLIER;_damage}];};

if (EOS_KILLCOUNTER) then {_unit addEventHandler ["killed", "null=[] execVM ""eos\functions\EOS_KillCounter.sqf"""]};

// ADD CUSTOM SCRIPTS TO UNIT HERE

_unit addBackpack "B_Carryall_ocamo"; _unit addMagazine "Titan_AT";

} forEach (units _grp);

Share this post


Link to post
Share on other sites

Thanks Prien, that works. I know I am asking alot, but one final question! If I use this code:

					// ADD CUSTOM SCRIPTS TO UNIT HERE

				_unit addWeapon "hlc_rifle_ak47"; _unit addMagazine "hlc_30Rnd_762x39_t_ak"; _unit addMagazine "hlc_30Rnd_762x39_t_ak"; _unit addMagazine "hlc_30Rnd_762x39_t_ak"; _unit addMagazine "hlc_30Rnd_762x39_t_ak";
} forEach (units _grp);

Every unit has the same weapon. Is it possible to randomize or spread this between a few different variants, to allow for machine gunners and marksmen?

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

×