Spawn Sommozzatori con setPosASLW ArmA 3

Il luogo in cui postare missioni create o editate da voi, script o domande inerenti l'editing di Arma 3
Rispondi
Muttley
Private First Class
Private First Class
Messaggi: 468
Iscritto il: sab dic 29, 2012 9:16 pm
Località: London

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?
"Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza"
Oscar Wilde
Giallustio
Colonel
Colonel
Messaggi: 2253
Iscritto il: dom feb 27, 2011 1:43 pm
Località: Genova

Per forza non funziona...assegni la posizione al group invece che all'unità!
[align=center]Volere è potere[/align]
Muttley
Private First Class
Private First Class
Messaggi: 468
Iscritto il: sab dic 29, 2012 9:16 pm
Località: London

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);

};
"Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza"
Oscar Wilde
Giallustio
Colonel
Colonel
Messaggi: 2253
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.
[align=center]Volere è potere[/align]
Rispondi