Dann war es kein Server-, sondern ein Clientproblem. Jedenfalls war es ein Problem der "Lokalität". Der Client wollte KIs, über die der Server die Kontrolle hatte, steuern. Durch das Aufnehmen der KIs in die Gruppe des Clients hat der jetzt die Kontrolle über die KIs. Da kannst du ihnen aber auch dirket die Befehle zum Einsteigen geben.
Wenn du gar nicht willst, dass die KIs unter der Kontrolle des Clients sind, dann musst du den moveInCargo Befehl vom Server ausführen lassen. z.B. das Skript über eine publice Variable beim Server starten, oder über einen "addPublicVariableEventHandler".
z.B.
In die Init.sqs oder Init.sqf folgende Zeilen einschreiben.
IM_PM_in_Hum1 = false;
"IM_PM_in_Hum1" addPublicVariableEventHandler {IM moveInCargo Hum1;PM moveInCargo Hum1;IM_PM_in_Hum1 = false};
In dein auszulösendes Skript schreibst du dann die Zeilen:
IM_PM_in_Hum1 = true;
publicVariable "IM_PM_in_Hum1";
sleep 0.1;
IM moveInCargo Hum1;
PM moveInCargo Hum1;
IM_PM_in_Hum1 = false;
Dann werden die beiden Units in den Hum1 gesetzt, egal wer die Kontrolle über sie hat. Die drei letzten Zeilen sind notwendig, falls der Client, der das Skript startet, selbst die Kontrolle hätte.
Dadurch, dass die Variable IM_PM_in_Hum1 gleich wieder zurückgesetzt wird, ist der Befehl zum Reinsetzen bliebig wiederholbar.
|