Salve,
sto cercando di creare una funzione che crei dei sommozzatori e che li metta ad una certa profondita', ma le soluzioni provate fin ora non funzionano.
_side = east;
_spawn_zones = _this select 0;
_group = createGroup _side;
_unit_type = BTC_type_east_diver select (round (random ((count BTC_type_east_diver) - 1)));
_group createUnit [_unit_type, getMarkerPos _spawn_zones, [], 50, "NONE"];
//_group setPosASLW [(position _group) select 0, (position _group) select 1, -15];
//_group setPosASLW [(_group select 0),(_group select 1),-15];
N.B.: questa invece funziona ma è applicata ad una unità già presente in editor
diver_officer setPosASLW [(getPos diver_officer select 0),(getPos diver_officer select 1),-15];
Idee?
Spawn Sommozzatori con setPosASLW ArmA 3
- Giallustio
- Colonel

- Messaggi: 2263
- Iscritto il: dom feb 27, 2011 1:43 pm
- Località: Genova
Per forza non funziona...assegni la posizione al group invece che all'unità!
Volere è potere
Ecco la funzione corretta, ho scoperto pure come assegnare i nomi alle unita' spawnate :P :P :P
Richiamata con: _spawn = ["area","pippo",33] spawn BTC_spawn_diver;
Questa funzione crea un sommozzatore di nome "pippo" scelto a caso da un Array sul marker chiamato "area", in un raggio di 33m e con una profondità casuale tra -20 e -5 metri sotto il livello del mare.
BTC_spawn_diver =
{
//_spawn = ["area0","name_diver",radius_spawn] spawn BTC_spawn_diver;
BTC_type_east_diver = ["O_diver_exp_F","O_diver_TL_F","O_diver_exp_F","O_diver_TL_F","O_diver_TL_F"];private["_side","_spawn_zones","_veh_name","_rnd_rad","_dis","_dir","_group","_unit_type","_diver","_rnd_numb"];
_side = east;
_spawn_zones = _this select 0;
_veh_name = _this select 1;
_rnd_rad = _this select 2;
_group = createGroup _side;
_unit_type = BTC_type_east_diver select (round (random ((count BTC_type_east_diver) - 1)));
_diver = _group createUnit [_unit_type, getMarkerPos _spawn_zones, [], 0, "NONE"];
_diver SetVehicleVarName _veh_name;
_diver Call Compile Format ["%1=_This ; PublicVariable ""%1""",_veh_name];
_dir = random 359;
_dis = random _rnd_rad;
_rnd_numb = ((random 15)- 20);
_diver setPosASLW [((position _diver) select 0)-(_dis)*sin(_dir), ((position _diver) select 1)-(_dis)*cos(_dir), _rnd_numb];
_diver setDir (random 359);
};
Richiamata con: _spawn = ["area","pippo",33] spawn BTC_spawn_diver;
Questa funzione crea un sommozzatore di nome "pippo" scelto a caso da un Array sul marker chiamato "area", in un raggio di 33m e con una profondità casuale tra -20 e -5 metri sotto il livello del mare.
BTC_spawn_diver =
{
//_spawn = ["area0","name_diver",radius_spawn] spawn BTC_spawn_diver;
BTC_type_east_diver = ["O_diver_exp_F","O_diver_TL_F","O_diver_exp_F","O_diver_TL_F","O_diver_TL_F"];private["_side","_spawn_zones","_veh_name","_rnd_rad","_dis","_dir","_group","_unit_type","_diver","_rnd_numb"];
_side = east;
_spawn_zones = _this select 0;
_veh_name = _this select 1;
_rnd_rad = _this select 2;
_group = createGroup _side;
_unit_type = BTC_type_east_diver select (round (random ((count BTC_type_east_diver) - 1)));
_diver = _group createUnit [_unit_type, getMarkerPos _spawn_zones, [], 0, "NONE"];
_diver SetVehicleVarName _veh_name;
_diver Call Compile Format ["%1=_This ; PublicVariable ""%1""",_veh_name];
_dir = random 359;
_dis = random _rnd_rad;
_rnd_numb = ((random 15)- 20);
_diver setPosASLW [((position _diver) select 0)-(_dis)*sin(_dir), ((position _diver) select 1)-(_dis)*cos(_dir), _rnd_numb];
_diver setDir (random 359);
};
"Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza"
Oscar Wilde
Oscar Wilde
- Giallustio
- Colonel

- Messaggi: 2263
- Iscritto il: dom feb 27, 2011 1:43 pm
- Località: Genova
è un po inutile dargli un nome se poi non ti serve effettivamente e la pv è totalmente inutile imho.
Volere è potere

