Co-Pilot übernimmt Steuerung?
Heyho und guten Samstag Nachmittag,
weiß jemand von Euch ob es möglich ist, dass der Co-Pilot die Steuerung eines Helis übernehmen kann? Es ist halt schade, wenn eine MH-60S mit 16 Passagieren abstürzt, nur weil ein teamkiller dem piloten nen headshot gegeben hat. Falls keiner eine Lösung hat, womit könnte ich es denn möglicherweise zusammenbasteln? Bin ja schließlich nicht faul, studieren geht über probieren ;-) Grüße Sol.LrMartyn |
Wie kann man denn einem Piloten der in einem Heli unterwegs ist, mal eben in den Kopf schiessen?^^
|
Du erstellst eine Schleife die den Driver (http://community.bistudio.com/wiki/driver) abfragt und ersetzt diesen beim Tod durch einen aus der Crew (http://community.bistudio.com/wiki/crew) mit http://community.bistudio.com/wiki/moveInDriver
|
Danke
Danke Vienna, auf die Idee bin ich vor 2 minuten auch gekommen, xD...
AyzOn, es geht. Glaub es mir, ich hab letzlich mit 2 weiteren Leuten gezockt und es kam ein gegnerischer Helikopter angeflogen, und was hatten wir? DMRs!!!! Zack gefeuert, Pilot tod, Kampf-Hubschrauber abgestürzt. Klingt bescheuert ist aber so. Poste später hier mal das ganze Skript, sobald ich es fertig habe. Grüße @Vienna, was vorgefertigtes gibt es noch nicht, oder? Denn ich wollte ja quasi gerne, das der moveinCargo platz 1 sitzen bleibt und trotzdem lenken kann... Sodass man wie in real life, falls der pilot mal einschläft, abgelenkt ist oder so, der co-pilot von seinem Sitz aus eingreifen kann... |
Hm, ganz einfach problem was ich nun habe. Wie mache ich es bei Arma 2 dass er mir den Namen der Einheit z.B. "Tölel 1", "Treper 2" etc etc ausgibt bzw. den namen derjenigen Einheit ausliest die im Fahrzeug oder Helikopter sitzt und diese dann für den Driver ersetzt?
Denn: Bedingung: isNull driver Fhz1 and player in (crew Fhz1) Aktivierung: player moveInDriver Fhz1; ist ja schön und gut. Aber welchen player nimmt er denn nun? Wirklich einen der in der Crew ist, oder einen x-beliebigen der grade auf dem server ist? |
Im Folgenden die Routine welche einen toten Piloten austauscht. Genommen wird eine Einheit aus der Crew-Liste.
Keine Ahnung wie man den Copiloten aus der Liste raus finden kann. Den Code in die Initialisierungszeile des Helis kopieren. Code:
temp = this spawn |
Nicht schlecht
Das funktioniert soweit, einzige Fehler:
Wenn der Pilot (Spieler) abspringt und KI sitzt im Flugzeug reagiert niemand und alle sterben!? Ansonsten gutes Skript! |
Wenn auch ein abgesprungener Pilot ersetzt werden soll, dann muss das so ausshen:
Code:
temp = this spawn driver Heli dagegen muss mit isNull abgefragt werden um festzustellen ob überhaupt wer auf diesem Platz sitzt. |
Also ist das folgende Skript nur so geschrieben, damit ein Pilot (Spieler) abspringen und ersetzt werden kann?
Denn ein KI-Pilot wird mit deinem 1. Skript schon ersetzt, wenn er abspringt. |
Das erste Skript geht davon aus, dass der tote Pilot im Heli am Platz verbleibt (was normal üblich ist). Der Tote ist noch in der Crew-Liste vorhanden. Ist der Pilotenplatz leer, dann führt das zu einem Programmfehler.
Darum im zweiten Skript zuvor die Abfrage ob der Driver-Platz überhaupt belegt ist. Wie aus den Skripten ersichtlich, muss der neue Pilot zuerst aus dem Heli entfernt werden, bevor er auf den Driverplatz gesetzt werden kann. Um etwaige Probleme zu vermeiden, wird auch ein toter Pilot zuvor aus dem Heli entfernt. Leider ist aus der Crew-Liste nicht ersichtlich, wer an welchem Platz sitzt. Die Reihung in der Liste ist abhängig wann wer einsteigt, nicht auf welchem Platz wer sitzt. Im zweiten Skript ist es egal ob der Pilot tot oder abgesprungen ist. Er wird durch den nächstmöglichen der Crew-Liste ersetzt. |
Sauber
Alles klar, Vienna. Besten Dank! Ich teste es in naher Zukunft aus. :daumen:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:50 Uhr. |
Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias