Einzelnen Beitrag anzeigen
Alt 11.03.2016, 15:53   #1 (permalink)
Cakestory
Newbie
 
Registriert seit: 19.10.2015
Beiträge: 19
Icon5 AddAction für alle Editor platzierten und nachträglich gespawnte Fahrzeuge (MP)

Hallo,
ich möchte für mein Reperatur Script ein addAction für sämtliche Fahrzeuge der Mission machen. Einige dieser Fahrzeuge sind schon im Editor vorplatziert, andere werden mit Scripts im Laufe der Mission gespawnt.
Ich würde das Reperatur Script gerne allgemein nutzbar halten, also bräuchte ich einen Weg, mit dem ich für sämtliche Fahrzeuge ein addAction machen kann.

Ich habe kein passendes Event gefunden, dass den Spawn von Fahrzeugen und Editor platzierten Fahrzeugen angeht.
Deswegen hatte ich es jetzt mal mit einer Endlosschleife versucht, die alle 5 Minuten nach neuen Fahrzeugen sucht und diesen eine Action hinzufügt.
Leider funktioniert das auf Dedicated Servern nicht, da addAction dort offenbar nicht aufgerufen wird. Ich will aber auch nicht wirklich diese Endlosschleife auf jedem Client laufen lassen.


Kann mir jemand eine Dedicated Server kompatible Lösung geben, mit der ich für jedes Fahrzeug eine Action hinzufüge?


Mein bisheriger Versuch (nicht Dedicated Server kompatibel):
Code:
_actionVehs = [];
    
    while { true } do 
    {
        {    
            if (_x isKindOf "Car" && (!(_x in _actionVehs))) then 
            {
                // Add field repair action to all new vehicles
                // "KKB_Repair_Car" is the repair function to call 
                _x addAction ["<t color=""#FCD04A"">" + "Repair" + "</t>", KKB_Repair_Car, [_this, _target], 1, true, true, "", "((_this distance2D _target) <= 5) && ((vehicle _target) == _target)"];
                _actionVehs = _actionVehs + [_x];
            };
        } forEach vehicles;
    
        sleep 300;
    };

Geändert von Cakestory (11.03.2016 um 15:57 Uhr).
Cakestory ist offline