Jump to content
TheoneandonlyNOR

Create Unit etg Group with initxxxx.sqf

Recommended Posts

Hello,

 

Before I start, I just want to say that. I have tried google this and search on BIS forum, but one word wrong and you find something that is not relevant. And for that I just post a new topic. Sorry if this topic allrdy out there somewere. (please post a link to it if there is.)

 

I am trying to figure out how to make my own custom unit's and group them. 

in this case I been using initServer.sqf file.

 

In the spoiler is what I done so far. Yes I kinda know its wrong because I tested it. (sorry for not using Vanilla units in this matter)

Spoiler

private _West3 = createGroup West;

West3 createUnit ["UK3CB_CW_US_B_LATE_SL", getMarkerPos "WS", West3, [], [], "CORPORAL"];
West3 createUnit ["UK3CB_CW_US_B_LATE_AT", getMarkerPos "WS", West3;
West3 createUnit ["UK3CB_CW_US_B_LATE_AT_ASST", getMarkerPos "WS", West3;
West3 createUnit ["UK3CB_CW_US_B_LATE_MD", getMarkerPos "WS", West3;
West3 createUnit ["UK3CB_CW_US_B_LATE_MK", getMarkerPos "WS", West3;
West3 createUnit ["UK3CB_CW_US_B_LATE_RIF_1", getMarkerPos "WS", West3;

West3 = [getMarkerPos "WS", West, (West3)] call BIS_fnc_SpawnGroup;

 

 

So what I want to make is.

 

xx amount of groups on West and East side. 

name of groups West1-xx and East1-xx 

Some group's with Vehicle/'s and some without. 

I allso wish to edit their gear as-well.

 

After they are made, they should spawn at a marker when mission start. And when they are "!!alive", they hsould respawn. (garbage collecting will ofcourse be on so courpses etc gets deleted)

 

Now what should I do to make it? 

 

PS! Been reading on createUnit, createGroup, BIS_fnc_SpawnGroup but cant quite understand. 

 

Sorry for bad English and newbie scripter. =D

Regards.

  • Like 1

Share this post


Link to post
Share on other sites

There are a couple issues:

  1. You have a variable "_West3" but when you use it in the command you dropped the underscore "_", it is important and part of the variable
  2. You are mixing the regular syntax and alternate syntax together, they are distinct
  3. Some syntax problems
West3 createUnit ["UK3CB_CW_US_B_LATE_SL", getMarkerPos "WS", West3, [], [], "CORPORAL"];   <---- Both(?) syntax smashed together.
^                                                              ^     ^   ^     ^                  I will pretend it is regular syntax
1                                                              2     3   4     5
  
1. Should be _West3
2. This should be an array of markers or []
3. Should be a number
4. Should be one of "NONE", "CAN_COLLIDE", "CARGO"
5. This parameter is extra and should be removed
  
West3 createUnit ["UK3CB_CW_US_B_LATE_AT", getMarkerPos "WS", West3;    <--- Cant tell which syntax this is
^                                                                  ^^
1                                                                  23

1. Should also be _West3
2. Forgot ]
3. Not enough parameters for either syntax

Here is what I think you are trying to do, using the parameters you've supplied:

_West3 createUnit ["UK3CB_CW_US_B_LATE_SL", getMarkerPos "WS", [], 0, "NONE"];  <-- Normal syntax
"UK3CB_CW_US_B_LATE_AT" createUnit [getMarkerPos "WS", _West3, "", 0.5, "CORPORAL"]; <-- Alternate syntax

Let's start by getting the units to spawn, then you can move on to trying to get them to re-spawn

  • Like 1

Share this post


Link to post
Share on other sites
21 minutes ago, dreadedentity said:

There are a couple issues:

  1. You have a variable "_West3" but when you use it in the command you dropped the underscore "_", it is important and part of the variable
  2. You are mixing the regular syntax and alternate syntax together, they are distinct
  3. Some syntax problems

West3 createUnit ["UK3CB_CW_US_B_LATE_SL", getMarkerPos "WS", West3, [], [], "CORPORAL"];   <---- Both(?) syntax smashed together.
^                                                              ^     ^   ^     ^                  I will pretend it is regular syntax
1                                                              2     3   4     5
  
1. Should be _West3
2. This should be an array of markers or []
3. Should be a number
4. Should be one of "NONE", "CAN_COLLIDE", "CARGO"
5. This parameter is extra and should be removed
  
West3 createUnit ["UK3CB_CW_US_B_LATE_AT", getMarkerPos "WS", West3;    <--- Cant tell which syntax this is
^                                                                  ^^
1                                                                  23

1. Should also be _West3
2. Forgot ]
3. Not enough parameters for either syntax

Here is what I think you are trying to do, using the parameters you've supplied:


_West3 createUnit ["UK3CB_CW_US_B_LATE_SL", getMarkerPos "WS", [], 0, "NONE"];  <-- Normal syntax
"UK3CB_CW_US_B_LATE_AT" createUnit [getMarkerPos "WS", _West3, "", 0.5, "CORPORAL"]; <-- Alternate syntax

Let's start by getting the units to spawn, then you can move on to trying to get them to re-spawn

 

So sorry not to spesify. 

 

I tried first make with "West3" in all.. And not "_West3" and than forgot to change it. 🙂

 

The markers "[ ]" I did like this because I only wanted the skill of the unit. And it says on creatUnit that the other is optimal and for that I used "[ ]" because it could be default.

 

The syntax .... , getMarkerPos "WS", West3; Was me trying to create a unit that spawned at marker "WS" and was in the group "West3". 

 

The two you think I was refearing to are correct. 

But thats just for one single unit. And it has no custom loadout. Were do I put that in?. 

And should I just do the syntaxt again to get more unit's in the group? or is there a workarround?.

 

Thanks allot so far

Share this post


Link to post
Share on other sites

Type_LZ_WP_GP.sqf (prototype/test)
?imw=5000&imh=5000&ima=fit&impolicy=Lett

Spoiler

params ["_markersLZ","_markersWP","_selectionLZ","_selectionWP","_arrayGoods"] ; 
sleep 45 ; 
/*______________________________________________________________________________________________________________________________________________________
INITIAL VARIABLES
________________________________________________________________________________________________________________________________________________________
*/

_arrayOfGoods = [] ; 
_arrayOfGoods = _arrayGoods ; 
_marksup = count _selectionLZ ;


_headsup = (_arrayGoods select 0 )  ;
_droppingAltZ = ( _arrayGoods select 1 ); 
_groupsMany = ( _arrayGoods select 2 ) ;
_groupType = ( _arrayGoods select 3 ) ;
_groupFashion = ( _arrayGoods select 4 ) ;


/*______________________________________________________________________________________________________________________________________________________
SPILTING NUMBER OF UNITS INTO GROUPS
ADDING UNITS TO GROUP ARRAY

INTO: _groupLogicZ [] , 
________________________________________________________________________________________________________________________________________________________
*/

_baseGCount = floor((_headsup ) / ( _groupsMany)) ;
_baseGRemainder = (_headsup) % (_groupsMany) ;
_baseMult = (_baseGRemainder) * (_groupsMany) ;

_groupLogicZ = [] ;
_soGroups = _groupsMany - 1 ; 

_baseLogicCounting = _baseGCount ; 
_baseLogicRemainder = _baseGRemainder ;



for "_i" from 0 to _soGroups step 1 do
{

	_valueOver = 1 ; 
	if( _baseLogicRemainder <= 0 ) then
	{
		_valueOver = 0 ;
	} ;
	_baseLogicRemainder = (_baseLogicRemainder) - (1) ; 

_baseLogicCounting = (_baseGCount) + (_valueOver) ;
_groupLogicZ pushBack _baseLogicCounting ;

};

//hint (str _groupLogicZ) ;


/*______________________________________________________________________________________________________________________________________________________
NAMING THE LZS AND ADDING TO ARRAY
USING: _selectionLZ [] , 
INTO: usedMarks [] ,   
________________________________________________________________________________________________________________________________________________________
*/

_namu = "" ;
_arraySelect = [] ;
_arraySelect = _selectionLZ ;

private _usedMarks = [] ;

_selects = count _selectionLZ ;
_selects = _selects - 1 ;
 
for "_i" from 0 to _selects step 1 do
{
	_numberBeast =  ( _selectionLZ select _i )  ;
	
	_namu = "marker_LZ_" +  (str _numberBeast) ;
	_usedMarks pushBack _namu ; 
	
	
	_namu = "" ;
};


/*______________________________________________________________________________________________________________________________________________________

NAMING THE WPS AND ADDING TO ARRAY
INTO: _arrayGoTo[] ,  

________________________________________________________________________________________________________________________________________________________
*/


_arrayGoTo = [] ;
_selectsZ = count _selectionWP ;
_selectsZ = _selectsZ - 1 ;

for "_i" from 0 to _selectsZ step 1 do
{
	_numberBeastZ =  ( _selectionWP select _i )  ;
	
	_namuZ = "marker_WP_" +  (str _numberBeastZ) ;
	_arrayGoTo pushBack _namuZ ; 
	
	
	_namuZ = "" ;
};



/*______________________________________________________________________________________________________________________________________________________
PASSING THE LOGISTICS THE NEW VARIABLES

SPLITING THE GROUPS INTO PACTS BASED ON WPS

USING: groupLogicZ [] , _groupType , _groupFashion , selectionWP, _groupsMany
INTO: _productRe , _arrayPact [] , 
________________________________________________________________________________________________________________________________________________________
*/

_typer = _groupType ;
_fashion = _groupFashion ;
_countWPs = count _selectionWP ; 
_arrayPact = [] ; 
_arrayPact = _groupLogicZ  ;

_countPacts =floor( (_groupsMany) / (_countWPs) );
_totStart = _countPacts * _countWPs ;
_totEnd = (_groupsMany) - (_totStart) ;

_countPactsRe =(_groupsMany) % (_countWPs) ;
_countPactsRe = _countPactsRe / (10) ;
_productRe = 0; 

if( _countPactsRe != 0 ) then
{
	_productRe = _totEnd ;
};


//hint (str _groupLogicZ) ;
//sleep 4 ;
/*______________________________________________________________________________________________________________________________________________________
PUSHING THE PACTS AND WPS INTO A ORGAINZED 2D ARRAY 
* _arrayPact [] HAS THE ALL THE GROUP COUNTS FOR EACH PACT AS NUMBERS ... IS SIZE OF PACTS

USING: _productRe , _groupsMany , _countPacts, _countWPs , _arrayPact [] , 
INTO: _arrayDone []  , 
________________________________________________________________________________________________________________________________________________________
*/


_rere = 0;
_rere = _productRe  ;

_groupsUsed = 0 ;
_arrayDone = [] ;

_fug = "" ;
_fug = _fug + (str _countPacts) +" mod " +(str _countPactsRe) + " re: " +(str _rere) + " END\n" ; 


_countPacts = _countPacts - 1 ;
_countWPs = _countWPs - 1  ;
_thud = 0 ;




for "_i" from 0 to _countWPs step 1 do
{
	_thud = _countPacts  ;
	_arrayPop = []  ;

	if( _rere > 0) then 
	{
		_thud = _thud + 1 ;
		_rere = _rere - (1) ;
	} ;

	for "_j" from 0 to _thud  step 1 do
	{
		
		_arrayPop pushBack (_arrayPact select _groupsUsed) ;
		_groupsUsed = _groupsUsed + 1 ;
			
		
	};
	
	_arrayDone pushBack _arrayPop ;


} ;

_fug = _fug + (str _arrayDone) + " \n";

//hint (str _fug) ;
//sleep 3 ; 


/*______________________________________________________________________________________________________________________________________________________

DROPPING THE UNITS OFF
USING: _usedMarks [] , _headsup , _marksup , _droppingAltZ , 
INTO:  _countZ , _unitsDropped [], 

________________________________________________________________________________________________________________________________________________________
*/



private _countZ = 0 ;
private _unitsDropped = [] ;
for [{ _i = 0 }, { _i < _headsup }, { _i = _i + 1 }] do
{
	
	_groupZ = createGroup east ;
	
	_namelessZ  = "zol_"+ (str _countZ) ; 
	
	private _blah = "" ; 
	private _nameZ = "zoz_" ;
	_blah = _nameZ +  (str _countZ);

	bob = floor (random _marksup );
	_yoor = (_usedMarks select bob) ;
	_pound = (str _yoor) ; 
	_countYoo = count _pound ;
	_countYoo = _countYoo ;
	_passYoor = ( _pound select [ 11 , _countYoo ] ) ;	
	_namelessZ  = _namelessZ + "_LX." +  _passYoor  ;

	_groupZ setGroupId [( _namelessZ)]; 
	

	private _blotch = "";
	_blotch = missionNamespace getVariable [ _blotch , objNull];

	_blotch = _yoor ;

	//hint str ( _blotch ) ;
	private _posW  = markerPos _blotch  ;


	dixP = (markerDir _blotch);
	dixP = ( (360 - (dixP) ) - 90) ;
	_sizeZone = markerSize _blotch ;
	_sizeZoneX = (_sizeZone select 0)  ;
	_sizeZoneY = (_sizeZone select 1) ;
	

	ranSel = floor (random 4 );
	randX = 0 ;	
	randY = 0 ;	
	bun1 = 0 ;
	bun2 = 0 ;
	negHyp = 0 ; 
	if(ranSel == 0) then
	{
		randX = (random _sizeZoneX ) ;
		randY = (random (_sizeZoneY)  ) ;	
				
	};
	if(ranSel == 1) then
	{
		
		randX = -(random (_sizeZoneX) ) ;		
		randY = (random (_sizeZoneY)  ) ;
		bun1 = 1 ;	
		negHyp = 1 ;
	
	};
	if(ranSel == 2) then
	{
		randX = (random _sizeZoneX ) ;	
		randY = -(random (_sizeZoneY)  ) ;	
		bun2 = 1 ;	
	};
	if(ranSel == 3) then
	{
		randX = -(random (_sizeZoneX) ) ;	
		randY = -(random (_sizeZoneY)  ) ;
		bun1 = 1 ;
		bun2 = 1 ;
		negHyp = 1 ;		
	};

	legToMarkx = ( randX )  ;
	legToMarky = ( randY )  ;
	
	
	
	
	dixPP = ( (atan( legToMarky / legToMarkx) )) ;
	squd = (legToMarkx ^ 2) + (legToMarky ^ 2) ;
	squd = sqrt squd ;
	if(negHyp == 1) then
	{ 
		squd = -(squd) ;
	};
	negHyp = 0 ; 
	legZx =  0  ;
 	legZy =  0  ;

	dixx =  (dixP + dixPP - 90)   ;
	legZxT =  (squd * (cos dixx ) )   ;
 	legZyT =  (squd * (sin dixx ) )  ;
	
		legZx = legZxT    ;
 		legZy = legZyT    ;
	
 	
	rah1 =  0 ; 
	rah2 =  0 ;
	whatx =   0 ;     
	whaty =   0 ;       
	whatz =   0 ;

	 
	rah1 = ( legZx  ); 
	rah2 = ( legZy  ) ;
	if(bun1 == 1) then
	{
		rah1 = (rah1) ;
	};

	
	if(bun2 == 1) then
	{
		rah2 = (rah2) ;
	};

	whatx = ( _posW select 0) + (rah1)  ;     
	whaty = ( _posW select 1) + (rah2)   ;       
	whatz =  _droppingAltZ  ;


	
	private _posNew = [(whatx),(whaty),(whatz)] ;

	//use a script either before or after _posNew to create units
	//think about copying a unit by retrieving,deleting, and moving


	_blah = missionNamespace getVariable [ _blah , objNull]; //turns name into a ... nullObj variable
 	
	 _blah = (_groupZ) createUnit [ "O_sniper_F" , _posNew,[],0,"CAN_COLLIDE" ];   
//	
	//consider using temporary tags like zol_lz_1_1 for units that have just landed and don't go anywhere
//
	_blah setFormDir ( _blah getRelDir player) ;
	//_blah spawn bis_fnc_tracebullets ;
	[_blah] execVM "Types\NINI\dresser.sqf" ;
  	//sleep (.4); 
	_countZ = _countZ + 1 ;
	
	randX = 0 ;	
	randY = 0 ;	
	bun1 = 0 ;
	bun2 = 0 ;

	_unitsDropped pushBack _blah ;
	
};




/*______________________________________________________________________________________________________________________________________________________

ACTUALLY NAMING THE GROUPS INTO THE CORRECT TAG'D NAMES
SEND THE GROUPS INTO ACTUAL GROUPS AND THEN SEND OFF TO WAYPOINTS

USING : _arrayDone [] , _unitsDropped [], _arrayGoTo [] , 
INTO: _arrayGroups [] , _waypointsTotal
________________________________________________________________________________________________________________________________________________________
*/


_waypointsTotal = [] ;
_countDone = count _arrayDone ;
_countDone  = _countDone  - 1; 
//_countSent = 0 ;
_arrayGroups = [] ;

//_arrayPacts = [] ;
//same as _countDone... which is just a count of objects...
//you want to create an array of people objects and not just numbers

_whatGroup = "_groupZ_" ; 
_whatPact = "pactZ_" ;

_groupNumber = 0 ;
_pactNumber = 0 ;
_namez = "" ;
_unitsAddedToGroup = 0 ;
_unitsAddedToGroupZ = 0 ;
_pointNumber = 0 ; 
_desert = [] ; 

for "_i" from 0 to _countDone step 1 do
{
	
	_arrayPacto = [] ;
	_arrayPacto = ( _arrayDone select _i ) ;
	_countPactDone  = count ( _arrayPacto ) ;
	_countPactDone = _countPactDone - 1 ; 
	_totalFool = 0 ; 
	
	_pile = [] ; 
	for "_j" from 0 to _countPactDone  step 1 do
	{

		

//_______________________________________________________________________________________________NAMES PART


		_appendGroupName = _whatGroup + (str _groupNumber)  ;
		_appendPactNum =  _whatPact + (str _pactNumber) ;
		
		_appendedName = _appendPactNum + _appendGroupName ; 
		_namez = _namez + (str _appendedName) + "_" ;

		_namelessX  = _appendedName ;
//_______________________________________________________________________________________________GROUP COUNT AND DECON PART

		_totUnits = ( _arrayPacto select _j ) ; 
		_totMod = _totUnits - 1 ;


		_desertGName = [] ;
		_newDesName = "" ; 

		for "_k" from 0 to _totMod step 1 do
		{
			_unitToAdd = _unitsDropped select _unitsAddedToGroupZ ;
			_nameGuy = groupId (group _unitToAdd) ; 
			_countY = count _nameGuy ;
			_countY = _countY - 1 ;
			_countYZ = 1 ;
			_newN =( _nameGuy select [ 0, _countY ]) ; 
			_newDesName = _namelessX + "_" + _newN  ;

			_unitsAddedToGroupZ  = _unitsAddedToGroupZ  + 1 ;

			_desertGName pushBack _newDesName  ;
			
		};

		_pile pushBack _desertGName ;

		_totalFool = _totalFool + _totUnits ;

		_groupNumber = _groupNumber + 1 ;


		/*
		_groupX = createGroup east ;
		_groupX setGroupId [(str _namelessX)]; 
		
		for "_k" from 0 to _totMod step 1 do
		{
			
			_unitToAdd = _unitsDropped select _unitsAddedToGroup ;
			_unitToAdd joinAs [_groupX,_k] ;
			_unitsAddedToGroup  = _unitsAddedToGroup  + 1 ;
		};
		
		_arrayGroups pushBack _groupX ;

		*/
		




//_______________________________________________________________________________________________WAYPOINTS PART * REQUIRES CREATED GROUPS
		

		
		
		
	};
	_desert pushBack _pile ; 
	_pactNumber = _pactNumber + 1 ;

	


};

hint ("passing") ;
sleep 5 ;
_pointNumberT = 0 ; 
for "_i" from 0 to _countDone step 1 do
{

	_arrayPactoT = [] ;
	_arrayPactoT = ( _arrayDone select _i ) ;
	_countPactDoneT  = count ( _arrayPactoT ) ;
	_countPactDoneT = _countPactDoneT - 1 ; 
	_totalFoolT = 0 ; 
	
	for "_j" from 0 to _countPactDoneT  step 1 do
	{

		_totUnits = ( _arrayPactoT select _j ) ; 
		_totMod = _totUnits - 1 ;
		

		for "_k" from 0 to _totMod step 1 do
		{


			_goSpot  = [] ;
			_goSpot = ( _arrayGoTo select _i ) ;
		
			private _posG  = markerPos _goSpot ;
			rag1 = random (51); 
			rag2 = random (51); 


			if(rag1 > 25) then
			{rag1 = -(rag1) ;};
			if(rag2 > 25) then
			{rag2 = -(rag2) ;};

			whatxG = ( _posG select 0) + (rag1)  ;     
			whatyG = ( _posG select 1) + (rag2)   ;       
			whatzG = 0  ;
			private _goNew = [(whatxG),(whatyG),(whatzG)] ;
			_manZ =_unitsDropped select _pointNumberT ;


			_desertPa = _desert select _i ;
			_desertGro = _desertPa select _j ;
			_desertUni = _desertGro select _k ;
			_desertNamo = _desertUni ;
			
			_manZGroup = (group _manZ) ;

			_manZGroup setGroupId [( _desertNamo )];

			_wp = _manZGroup addWaypoint [ _goNew , 0];
			_wapPass = _wp ;
			_manZGroup lockWP true ;
			_waypointsTotal pushBack _wapPass ;
			_pointNumberT  = _pointNumberT  + 1 ;
		
			sleep (.3) ;
		};

	}; 



};
_yug = _desert select 0 ; 
//hint (str _yug ) ;
//sleep 10 ;

_yug = _desert select 1 ; 
//hint (str _yug ) ;
//sleep 10 ;

_yug = _desert select 2 ; 
//hint (str _yug ) ;
//sleep 10 ;



_beefyArray = [] ; 

 _beefyArray pushBack _arrayOfGoods ; 
 _beefyArray pushBack _groupLogicZ ; 
 _beefyArray pushBack _usedMarks ; 
 _beefyArray pushBack _arrayGoTo ; 
 _beefyArray pushBack _arrayDone ; 
 _beefyArray pushBack _unitsDropped ;  
 _beefyArray pushBack _arrayGroups ; 
 _beefyArray pushBack _desert  ; 

[_beefyArray ] execVM "Types\WAVE\Type_LZ_WP\triggerRap.sqf" ; 



/*______________________________________________________________________________________________________________________________________________________

NOTICE THAT _arrayGroups IS DONE! YOU NEEDN'T OF ADDED ANYBODY TO AN ACTUAL GROUP YET! 

________________________________________________________________________________________________________________________________________________________
*/


/*
hint (str "SENT \n") ;
sleep 360 ;

_numberFoo = count ( _unitsDropped ) ;
_numberFoo = _numberFoo - 1 ; 
for "_i" from 0 to _numberFoo  step 1 do
{
_mang = (_unitsDropped select _i) ;
_wayZ = (_waypointsTotal select _i) ;
_mangG = (group _mang);
private _newWP = getWPPos _wayZ ;

_wp = _mangG addWaypoint [ _newWP  , 0] ;

};

_numberFoo = count ( _unitsDropped ) ;
for "_h" from 0 to _numberFoo  step 1 do
{

	_arrayPactoX = [] ;
	_arrayPactoX = ( _arrayDone select _h ) ;
	_countPactDoneX  = count ( _arrayPactoX ) ;
	_countPactDoneX = _countPactDoneX - 1 ; 
	_totalFoolX = 0 ; 
	for "_u" from 0 to _countPactDoneX step 1 do
	{
		_unG = ( _arrayGroups select _h) ;	
		
		

		_wpz = ( _waypointsTotal select _h) ;
		_posWay = getWPPos _wpz ;
		_wp = _unG addWaypoint [ _posWay , 0];
		_unG setFormation "FILE";
	};

	 
	

	

};

*/




/*______________________________________________________________________________________________________________________________________________________

________________________________________________________________________________________________________________________________________________________
*/


/*

_bounce = 0 ; 

switch ( _typer ) do
{
	case "split" :
	{
		//this part you arrange array

		
	switch ( _fashion  ) do
	{
		case "LEF" :
		{

		};
		case "SEF":
		{
		
		};
		case "even":
		{
		
		};
		default
		{
			hint str ("no fashion") ;
		};
	};




	};
	case "group":
	{
		//leave as is...use same condition loop for each _LZ
	};
	default
	{
		hint str ("no type") ;
	};
};
create array of all units in every marker zone (LZ) ...it should be pretty random
but nonetheless make it randomized

_marksup = count _selectionLZ ;
_headsup = (_arrayGoods select 0 )  ;
_droppingAltZ = ( _arrayGoods select 1 ); 
_groupsMany = ( _arrayGoods select 2 ) ;
_groupType = ( _arrayGoods select 3 ) ;
_groupFashion = ( _arrayGoods select 4 ) ;


of all LZs
arrange by syntax "split" "LEF"
check: 8 8 7 7 : 2 WP 
8-8 7-7 : 2 pacts : push _pacts= [[8,8],[7,7]]
8-8 : WP_1 : from _markersWP[]
7-7 : WP_2 


established number per zones
create array of units...random rearrange
create array of units in groups... 

add each number for WP
8-8 : 16 : WP_1 ... etc(macros for etc)

call both arrays to pop off units, copy them, and depricate as well
basically done


*/




 

 

 

 

at some point you should notice this line:
[_blah] execVM "Types\NINI\dresser.sqf" ;

 


dresser.sqf
 

Spoiler

params ["_blah"];

comment "Exported from Arsenal by bLAcKmAgE87";

comment "[!] UNIT MUST BE LOCAL [!]";
if (!local _blah) exitWith {};

comment "Remove existing items";
removeAllWeapons _blah;
removeAllItems _blah;
removeAllAssignedItems _blah;
removeUniform _blah;
removeVest _blah;
removeBackpack _blah;
removeHeadgear _blah;
removeGoggles _blah;

comment "Add weapons";
_blah addWeapon "srifle_GM6_camo_F";
_blah addPrimaryWeaponItem "optic_LRPS";
_blah addPrimaryWeaponItem "5Rnd_127x108_Mag";
_blah addWeapon "hgun_Rook40_F";
_blah addHandgunItem "muzzle_snds_L";
_blah addHandgunItem "16Rnd_9x21_Mag";

comment "Add containers";
_blah forceAddUniform "U_O_FullGhillie_ard";
_blah addVest "V_Chestrig_khk";
_blah addBackpack "B_Parachute";

comment "Add binoculars";
_blah addWeapon "Rangefinder";

comment "Add items to containers";
_blah addItemToUniform "FirstAidKit";
for "_i" from 1 to 2 do {_blah addItemToUniform "5Rnd_127x108_Mag";};
_blah addItemToUniform "SmokeShell";
_blah addItemToVest "5Rnd_127x108_Mag";
for "_i" from 1 to 2 do {_blah addItemToVest "5Rnd_127x108_APDS_Mag";};
for "_i" from 1 to 2 do {_blah addItemToVest "16Rnd_9x21_Mag";};
_blah addItemToVest "ClaymoreDirectionalMine_Remote_Mag";
_blah addItemToVest "APERSTripMine_Wire_Mag";
_blah addItemToVest "SmokeShellRed";
_blah addItemToVest "SmokeShellOrange";
_blah addItemToVest "SmokeShellYellow";
for "_i" from 1 to 2 do {_blah addItemToVest "Chemlight_red";};

comment "Add items";
_blah linkItem "ItemMap";
_blah linkItem "ItemCompass";
_blah linkItem "ItemWatch";
_blah linkItem "ItemRadio";
_blah linkItem "ItemGPS";
_blah linkItem "NVGoggles_OPFOR";

comment "Set identity";
[_blah,"",""] call BIS_fnc_setIdentity;



and hope fully this also helps you realize how plain objects can be brought up



but when it comes to markers this one is much more useful....
 

Still tho...
the problems you will run into is the direction of the marker when you want to draw something
that is in the same area...its turned and without saying your in the marker have to use trigonometry

to define that space... consider abstract spaces or zones with no markers than can still

be tricked out to detect you 

Edited by bLAcKmAgE87
  • Like 1

Share this post


Link to post
Share on other sites
47 minutes ago, dreadedentity said:

it's a good idea to put extremely long code inside a 

  Reveal hidden contents

spoiler

 

LOL i was trying to figure that out thanks! 
?imw=5000&imh=5000&ima=fit&impolicy=Lett

Edited by bLAcKmAgE87

Share this post


Link to post
Share on other sites

Thank you @bLAcKmAgE87 I wont quoe youre post due to much content,

 

But I will try read and read again to understand it all. And than come back. (prob. take me a week or so xD) 

 

I be back when tired this. 🙂

 

regards!

  • 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

×