PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AddAction für alle Editor platzierten und nachträglich gespawnte Fahrzeuge (MP)


Cakestory
11.03.2016, 14:53
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):
_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;
};

Drunken Officer
11.03.2016, 15:44
addaction sind lokal. Du mußt es public machen, wenn du Fahrzeuge serverseitig spawnst.

BangaBob hat bei Youtube in Video mit entsprechenden Code. Du kannst das ganze Addaction auch in eines BIS_FNC_MP reinpacken

Cakestory
11.03.2016, 16:08
Ok, danke. Hätte auch auf die Idee mit BIS_FNC_MP kommen können.
Ich hoffe, das ist halbwegs Performance freundlich.

Übrigens einen Youtube Kanal mit dem Namen konnte ich nicht finden.

Drunken Officer
11.03.2016, 17:03
oh er heißt bei YT h8ermaker
hier das Video: https://www.youtube.com/watch?v=MXNW-dnelDs