Einzelnen Beitrag anzeigen
Alt 20.05.2009, 17:34   #4 (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

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.
Vienna ist offline   Mit Zitat antworten