PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Einheiten in einen Fallschirm setzen


Cartman
06.08.2015, 17:25
Hallo,

ich hab ein kleines Problem. Ich möchte Einheiten in einem Fallschirm starten lassen.

Theoretisch könnte ich das über die Init-Zeile machen:

chute = "DEGA_T10_Parachute" createVehicle [0,0,0];
chute setPos [getPos this select 0, getPos this select 1, 100];
this moveindriver chute;

Problem ist, dass vorher für eine Minute ein Intro laufen soll. D. h. Fallhöhe müsste höher sein. Dann driftet allerdings der Fallschirm ab.

Daher wollte ich die Fallschirme nach einer Minute spawnen und die Spieler reinsetzen.

if (isServer) then {

chute1 = "DEGA_T10_Parachute" createVehicle [0,0,0];
chute1 setPos [getPos a1 select 0, getPos a1 select 1, 100];

};

a1 moveindriver chute1;

Das funktioniert allerdings nur im Editor, oder, auf dem Server, mit der KI.

Ich vermute mal, dass der Name des Fallschirms vom Server nicht an die Clients synchronisiert wird!?

Hat einer von Euch ne Idee, wie ich das lösen kann?

Nokman
06.08.2015, 20:30
so ist es der Server erstellt den Falschirm und die Person soll da reinspringen aber der spieler weis ja nicht was der Server gemacht hat. Du kanst es mit
publicVariable veröffentlichen.

if (isServer) then {

chute1 = "DEGA_T10_Parachute" createVehicle [0,0,0];
chute1 setPos [getPos a1 select 0, getPos a1 select 1, 100];
publicVariable "chute1";
};

a1 moveindriver chute1;

dann weis jeder client was es ist. Allerdings würde ich es doch einfacher in einen Auslösser packen oder in einen Script der nur local ist alternativ kanst du auch den Server denn Spieler reinsetzen lassen.

if (isServer) then {

chute1 = "DEGA_T10_Parachute" createVehicle [0,0,0];
chute1 setPos [getPos a1 select 0, getPos a1 select 1, 100];
a1 moveindriver chute1;
};

Cartman
06.08.2015, 22:28
Okay, vielen Dank. Jetzt wo ich es lese, fällt es mir wie Schuppen aus den Haaren :zahn:.

Mit publicVariable sollte es gehen. Local hatte ich auch versucht, aber dann sehen die Spieler nur den eigenen Schirm und nicht die der anderen.

Drunken Officer
07.08.2015, 11:02
Local hatte ich auch versucht, aber dann sehen die Spieler nur den eigenen Schirm und nicht die der anderen.
Das wundert mich jetzt aber ein bissel.
Gegenstände können serverseitig oder clientseitg erstellt werden aber jeder sieht sie. Warum also auf den Server verschieben und die Variable public machen?

if (local player) then
{
create...
a1 moveindriver chute1;
}

Cartman
07.08.2015, 13:34
Werden mit dem "If (local player)" die Fahrzeuge auch nur einmalig gespawnt und sind dann für alle sichtbar?

Ich hatte das mit createVehicleLocal versucht. Das wird dann natürlich nicht an die anderen Clients übergeben.

Wenn es um Scripting geht, besitze ich leider nur ein gesundes Halbwissen und probiere rum, bis was funktioniert (So ähnlich macht BI das wahrscheinlich auch :naughty:).

Wo wir gerade beim Thema sind, hast Du Dein Artillerie Script eigentlich mal MP fähig gemacht? Würde das gerne mal einbauen ;).

Drunken Officer
07.08.2015, 15:31
Also CreateVehiclelocal erzeugt ein Objekt nur bei dem Clienten.

CreateVehicle hat einen globalen Effekt. Das bedeutet, es wird über das Netzwerk verbreitet. Du mußt bei CreateVehicle dafür sorgen, dass es entweder nur der Server oder nur EIN Client ausführt.
Ansonsten werden x Objekte erstellt. (x = anzahl der Clienten + 1 [Server])

In deinem Fall würde es sich lohnen, das Objekt Clientseitig zu erstellen. Damit sparst du dir das public. Dies verursacht traffic.

Wie wird dein Intro gestartet? Ich nehme an, es ist eine Kamerafahrt. Kameraeffekt ist ja ebenfalls lokal. Da kannst du doch aus dem Introscript den Fallschirm erstellen.

Zum Thema Ari-Script:
Das hatte ich verschoben, will ich aber noch machen. Ich habe mich auf eine andere Sache konzentriert. Und zwar ein Modul, welches deutsche Dienstgrade bei BW-Einheiten anzeigt. Desweiteren enthält es die Option, Spieler nach dem Respawn mit der Aurüstung des Todeszeitpunkt zu erstellen.
Wil ich heute veröffentlichen. Falls interesse besteht, gebe ich dir den link.

Cartman
07.08.2015, 15:47
Werde ich mir auf jeden Fall mal ansehen. ;)

Intro mache ich über Videos. Von den gescripteten Intros wurde ich unter A2 so oft gef****, dass das meine Lieblingsfunktion unter A3 ist :zahn:.