Jump to content

Recommended Posts

Hello,

 

I have made a mission using a script made by an Armaholic profile called ESO. 

It simply spawns units when Player/Player's(MP) are in its desired distance. 

 

BUT. I wunder if it is somehow possible to make the Players that are in Plane or Helicopter not be able to activate ESO script. Other words that they can fly inside a marker with ESO without any units spawning.

 

Could any1 help me out on this? Would be really helpfull! 🙂

 

Regards Sorry for bad English.

Share this post


Link to post
Share on other sites

It would be more helpful if you could provide more information regarding the script you use, or anything relevant to it.

 

Generally speaking, if you have access to the marker you could either change it's size in the editor, or via script like

_markerPos = markerPos["markerName", true]; // Get the position of the marker
_markerPos set[2, 0]; // Set its z-value equal to 0
"markerName" setMarkerPos _markerPos; // Set new position to the marker

Or, alternatively you could check the position of the players inside the marker and if their z value is higher than let's say 2 metres you could disable the spawning.

 

Again, if you don't provide more info we won't be able to help you solve your problem easily.

  • Thanks 1

Share this post


Link to post
Share on other sites

Might this help?

 

// INITIATE ZONE
_trig=format ["EOSTrigger%1",_mkr];

if (!_cache) then {
	if ismultiplayer then {
			if (_heightLimit) then 
			{_actCond="{vehicle _x in thisList && isplayer _x && ((getPosATL _x) select 2) < 5} count playableunits > 0";
							}else 
							{_actCond="{vehicle _x in thisList && isplayer _x} count playableunits > 0";
		};}else{
			if (_heightLimit) then 
						{_actCond="{vehicle _x in thisList && isplayer _x && ((getPosATL _x) select 2) < 5} count allUnits > 0";
								}else
									{_actCond="{vehicle _x in thisList && isplayer _x} count allUnits > 0";};};
	
		_eosActivated = createTrigger ["EmptyDetector",_mPos]; 
		_eosActivated setTriggerArea [(_distance+_mkrX),(_distance+_mkrY),_mkrAgl,FALSE]; 
		_eosActivated setTriggerActivation ["ANY","PRESENT",true];
		_eosActivated setTriggerTimeout [1, 1, 1, true];
		_eosActivated setTriggerStatements [_actCond,"",""];
		
			server setvariable [_trig,_eosActivated];	
					}else{
				_eosActivated=server getvariable _trig;	
					};
		
					_mkr setmarkerAlpha _mAN;
						if (!(getmarkercolor _mkr == VictoryColor)) then 	//IF MARKER IS GREEN DO NOT CHANGE COLOUR
							{
						_mkr setmarkercolor hostileColor;
							};
					
waituntil {triggeractivated _eosActivated};	//WAIT UNTIL PLAYERS IN ZONE
if (!(getmarkercolor _mkr == "colorblack"))then {
	if (!(getmarkercolor _mkr == VictoryColor)) then {_mkr setmarkerAlpha _mAH;};

 

Share this post


Link to post
Share on other sites

Well, from the looks of it, seems like you could actually set the variable _heightLimit to true and then it is supposed to work for units whose z-coordinate is less than 5 metres. This in respect to the ground of course. Have you tried that?

  • Like 1

Share this post


Link to post
Share on other sites
9 minutes ago, ZaellixA said:

Well, from the looks of it, seems like you could actually set the variable _heightLimit to true and then it is supposed to work for units whose z-coordinate is less than 5 metres. This in respect to the ground of course. Have you tried that?

 

Ehm were to add this Hight limit? 

no I will try it right away!. 

I will come back with the results 🙂

  • Like 1

Share this post


Link to post
Share on other sites

There is a _heighLimit variable in the script. So you can go somewhere close to the top and write (duplicating the first line, no need to write that down)

_trig = format["EOSTrigger%1", _mkr];
_heigthLimit = true; // You place it somewhere here

 

  • Like 1

Share this post


Link to post
Share on other sites
1 minute ago, ZaellixA said:

There is a _heighLimit variable in the script. So you can go somewhere close to the top and write (duplicating the first line, no need to write that down)


_trig = format[EOSTrigger%1, _mkr];
_heigthLimit = true; // You place it somewhere here

 

 

So like this:

Spoiler

// INITIATE ZONE
_trig=format ["EOSTrigger%1",_mkr];
_heigthLimit = true;

if (!_cache) then {
	if ismultiplayer then {
			if (_heightLimit) then 
			{_actCond="{vehicle _x in thisList && isplayer _x && ((getPosATL _x) select 2) < 5} count playableunits > 0";
							}else 
							{_actCond="{vehicle _x in thisList && isplayer _x} count playableunits > 0";
		};}else{
			if (_heightLimit) then 
						{_actCond="{vehicle _x in thisList && isplayer _x && ((getPosATL _x) select 2) < 5} count allUnits > 0";
								}else
									{_actCond="{vehicle _x in thisList && isplayer _x} count allUnits > 0";};};
	
		_eosActivated = createTrigger ["EmptyDetector",_mPos]; 
		_eosActivated setTriggerArea [(_distance+_mkrX),(_distance+_mkrY),_mkrAgl,FALSE]; 
		_eosActivated setTriggerActivation ["ANY","PRESENT",true];
		_eosActivated setTriggerTimeout [1, 1, 1, true];
		_eosActivated setTriggerStatements [_actCond,"",""];
		
			server setvariable [_trig,_eosActivated];	
					}else{
				_eosActivated=server getvariable _trig;	
					};
		
					_mkr setmarkerAlpha _mAN;
						if (!(getmarkercolor _mkr == VictoryColor)) then 	//IF MARKER IS GREEN DO NOT CHANGE COLOUR
							{
						_mkr setmarkercolor hostileColor;
							};
					
waituntil {triggeractivated _eosActivated};	//WAIT UNTIL PLAYERS IN ZONE
if (!(getmarkercolor _mkr == "colorblack"))then {
	if (!(getmarkercolor _mkr == VictoryColor)) then {_mkr setmarkerAlpha _mAH;};

 

 

Share this post


Link to post
Share on other sites
3 hours ago, TheoneandonlyNOR said:

by an Armaholic profile called ESO

EOS ( Enemy Occupation System )

 

3 hours ago, TheoneandonlyNOR said:

BUT. I wunder if it is somehow possible to make the Players that are in Plane or Helicopter not be able to activate ESO script. Other words that they can fly inside a marker with ESO without any units spawning.

If you actually read the instructions document that came with the download it actually tells you how to set this up.

Quote

Height limit

A height limit will prevent flying units from activating EOS zones. To use this feature (Boolean).

null = [["EOSinf_1","EOSinf_2"],[2,1],[0,0],[0,0],[0],[0],[0,0],[0,0,250,EAST,TRUE,FALSE]] call EOS_Spawn;

 

The Armaholic page even has a link to the forum page for the script where you could of got better help from, from people who use the script.

  • Like 1

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×