Einzelnen Beitrag anzeigen
Alt 17.10.2012, 16:59   #2 (permalink)
Vienna
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Folgend ein Skript mit dem du ringförmig Objekte um eine Position aufstellen kannst.

Zum Testen in einem Mehrfach-Funkauslöser rufe das Skript in "Bei Akt." folgend auf:

temp = [player, position Fahne1,10,5] execVM "RingPlazierung.sqf"

Für die Referenzposition erstelle eine Fahne mit Namen Fahne1


Zur genauen Funktionsweise lies die Kommentare im Skript.


Skript: RingPlazierung.sqf
Code:
//Stellt ein Objekt in zufälliger Himmelsrichtung um eine Referenzposition auf
//
// [Aufstellobjekt, Referenzposition, Distanz zur Position, Abweichung] execVM "RingPlazierung.sqf"

_objekt  = _this select 0; //aufzustellendes Objekt
_refPos  = _this select 1; //Referenzposition für die Distanz
_distanz = _this select 2; //Distanz zur Referenzposition
_abweich = _this select 3; //Abweichung

//Abweichung zur Distanz berechnen
_distanz = _distanz - _abweich/2 + (Random _abweich);

//Position der Aufstellung um den Referenzpunkt von 0-360 Grad
_dir = (Random 360)+1;
_objekt setPos [(_refPos select 0)+_distanz*sin(_dir),(_refPos select 1)+_distanz*cos(_dir)];

//Objekt in Richtung Referenzposition ausrichten
_objekt SetDir (_dir+180);
Vienna ist offline   Mit Zitat antworten