19.09.2010, 17:16 | #1 (permalink) |
Einheiten springen gleichzeitig aus Helikopter bei Bodenberührung
N'abend allerseits
Wie schon im Titel erwähnt möchte ich die Einheiten in einem Littlebird bei Bodenberührung gleichzeitig abspringen lassen. In meiner Mission fliegen 3 Littlebirds zwischen den Häusern in Zargabad die Hauptstrasse hintereinander an. Mit Auslösern und diversen Code:
this flyinheight Code:
this flyinheight 5 Code:
this flyinheight 0 Um die Einheiten abspringen zu lassen, habe ich beim letzen Wegpunkt mit der 0 Flughöhe, das Abspringen-Skript aus Mr. Murrays Guide genommen. Leider springen die Einheiten aber dann zu früh ab und alle sterben oder verletzen sich schwer. Ich möchte, dass sie erst wenn der Heli auf dem Boden ist, abspringen.Der Heli soll dann warten bis alle draussen sind und dann erst wieder weiterfliegen. Mit dem Mr. Murray Abspringen Script geht er gar nicht erst auf den Boden, sondern wirft sie raus (sie sterben z.T.) und der Heli rast in eine Strassenlampe usw. Hoffe hier kann mir jemand helfen Geändert von ca$hflow (19.09.2010 um 17:19 Uhr). |
|
19.09.2010, 19:43 | #2 (permalink) |
Registriert seit: 16.07.2010
Beiträge: 305
|
Das muss in einen Auslöser eingefügt werden, welcher dort plaziert werden muss, wo die Little Birds dann landen werden.
Code:
null= [heli1,heli2,heli3] execVM "sprung.sqf"; Code:
_heli1 = _this select 0; _heli2 = _this select 1; _heli3 = _this select 2; _high1 = getPos _heli1 select 2; _high2 = getPos _heli2 select 2; _high3 = getPos _heli3 select 2; if ((_heli1 distance _high1) = 0) then { soldier 1 action ["eject", _heli1] soldier 2 action ["eject", _heli1] soldier 3 action ["eject", _heli1] soldier 4 action ["eject", _heli1] }; if ((_heli2 distance _high2) = 0) then { soldier 5 action ["eject", _heli2] soldier 6 action ["eject", _heli2] soldier 7 action ["eject", _heli2] soldier 8 action ["eject", _heli2] }; if ((_heli3 distance _high3) = 0) then { soldier 9 action ["eject", _heli3] soldier 10 action ["eject", _heli3] soldier 11 action ["eject", _heli3] soldier 12 action ["eject", _heli3] }; Geändert von Rockhount (19.09.2010 um 19:51 Uhr). |
19.09.2010, 20:23 | #3 (permalink) |
Vielen Dank, dass du dir Zeit genommen hast für mein Problem.
Ich habe jetzt eine Auslöserzone für die Landungen der 3 Helis. Die Wegpunkte, wo sie dann auf Code:
flyinheight 0 Code:
null= [lb1,lb2,lb3] execVM "Sprung.sqf"; Code:
lb1 = _this select 0; lb2 = _this select 1; lb3 = _this select 2; _high1 = getPos lb1 select 2; _high2 = getPos lb2 select 2; _high3 = getPos lb3 select 2; if ((lb1 distance _high1) = 0) then { d1 action ["eject", _heli1] d2 action ["eject", _heli1] d3 action ["eject", _heli1] d4 action ["eject", _heli1] }; if ((lb2 distance _high2) = 0) then { d5 action ["eject", _heli2] d6 action ["eject", _heli2] d7 action ["eject", _heli2] d8 action ["eject", _heli2] }; if ((lb3 distance _high3) = 0) then { d9 action ["eject", _heli3] d10 action ["eject", _heli3] d11 action ["eject", _heli3] d12 action ["eject", _heli3] }; Geändert von ca$hflow (19.09.2010 um 20:27 Uhr). |
|
19.09.2010, 20:41 | #5 (permalink) |
Auch dir Danke für die Unterstützung. Leider hat es immer noch nicht geklappt. Hab deine Zeile im Script bei den 3 Helis ausgetauscht. Aber es geht immer noch nicht Code:
lb1 = _this select 0; lb2 = _this select 1; lb3 = _this select 2; _high1 = getPos lb1 select 2; _high2 = getPos lb2 select 2; _high3 = getPos lb3 select 2; if ((getPos lb1 select 2) < 0.5) then { d1 action ["eject", _heli1] d2 action ["eject", _heli1] d3 action ["eject", _heli1] d4 action ["eject", _heli1] }; if ((getPos lb2 select 2) < 0.5) then { d5 action ["eject", _heli2] d6 action ["eject", _heli2] d7 action ["eject", _heli2] d8 action ["eject", _heli2] }; if ((getPos lb3 select 2) < 0.5) then { d9 action ["eject", _heli3] d10 action ["eject", _heli3] d11 action ["eject", _heli3] d12 action ["eject", _heli3] }; |
|
20.09.2010, 18:18 | #8 (permalink) |
Registriert seit: 16.07.2010
Beiträge: 305
|
so muss das bei dir aussehen:
Code:
null= [lb1,lb2,lb3] execVM "Sprung.sqf"; sprung.sqf Code:
_heli1 = _this select 0; _heli2 = _this select 1; _heli3 = _this select 2; _high1 = getPos _heli1 select 2; _high2 = getPos _heli2 select 2; _high3 = getPos _heli3 select 2; if ((_heli1 distance _high1) < 0.3) then { d1 action ["eject", _heli1] d2 action ["eject", _heli1] d3 action ["eject", _heli1] d4 action ["eject", _heli1] }; if ((_heli2 distance _high2) < 0.3) then { d5 action ["eject", _heli2] d6 action ["eject", _heli2] d7 action ["eject", _heli2] d8 action ["eject", _heli2] }; if ((_heli3 distance _high3) < 0.3) then { d9 action ["eject", _heli3] d10 action ["eject", _heli3] d11 action ["eject", _heli3] d12 action ["eject", _heli3] }; Code:
_heli1 = _this select 0; _heli2 = _this select 1; _heli3 = _this select 2; if ((getPos _heli1 select 2) < 0.3) then { d1 action ["eject", _heli1] d2 action ["eject", _heli1] d3 action ["eject", _heli1] d4 action ["eject", _heli1] }; if ((getPos _heli2 select 2) < 0.3) then { d5 action ["eject", _heli2] d6 action ["eject", _heli2] d7 action ["eject", _heli2] d8 action ["eject", _heli2] }; if ((getPos _heli3 select 2) < 0.3) then { d9 action ["eject", _heli3] d10 action ["eject", _heli3] d11 action ["eject", _heli3] d12 action ["eject", _heli3] }; Init: Code:
null=[lb1,lb2,lb3] execFSM "sprung.fsm"; @ca$hflow: In deine geänderte Version hattest du die Helis doppelt definiert, aber die Action Befehle nicht dementsprechend geändert. Desswegen wusste die Engine nicht, von welchen Heli die Einheiten rausgeschleudert werden sollten. Geändert von Rockhount (20.09.2010 um 19:28 Uhr). |
20.09.2010, 19:38 | #9 (permalink) |
vielen dank dass du dir die zeit genommen hast. also die erste variante von dir ist nicht gegangen die einheiten springen nicht raus. die zweite probiere ich jetzt gleich.
EDIT: auch die zweite variante funzt nicht..sheissse soll ich dir mal die mission aus dem editor als anhang uppen? Geändert von ca$hflow (20.09.2010 um 19:48 Uhr). |
|
23.09.2010, 17:56 | #13 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Es gibt einen eigenen Befehl mit dem der Heli über dem Boden schwebt, damit die Einheiten abspringen können. Den Befehl gibt man in den Wegpunkt am Zielort ein.
Heli1 land "GET OUT" Am Zielort ein "Lande-H" setzen! Fürs Aussteigen kann man den Befehl für alle Insassen (bis auf die Besatzung) so geben: {_x action ["eject", Heli1]} forEach assignedCargo Heli1 Wie man das Aussteigen mit einem Auslöser steuert, seht euch im Beispiel an. |
24.09.2010, 08:36 | #14 (permalink) |
das mit dem heli h ist auch nicht gegangen. aber habe den unteren befehl mit "eject" mal beim wegpunkt bei aktivierung eingegeben.
jetzt funzt es, dass das delta team abspringt, aber leider auch der copilot vom heli. und wenn das team abgesprungen ist, gibt der leader den befehl wieder in den littlebird einzusteigen und dieser landet dann irgendwo und wartet auf uns. aber ich möchte das er dann weiterfliegt..da wäre die mission. habe massis rangers und adukes helopack auch gleich reingepackt. HTML-Code:
http://rapidshare.com/files/420920928/bhd.rar |
|
24.09.2010, 18:31 | #15 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Der Copilot wird unter "Cargo" geführt. Den brauchst du aber nicht. Nimm einfach keine "vorbesetzten" Helis.
Du brauchst keinen Höhenbefehl für den Ausstiegsvorgang angeben. Sonstige Flughöhen nicht in Auslösern, sondern in den Wegpunkten anführen. Unbedingt so anlegen: Im Wegpunkt für den Ausstieg: Heli1 land "GET OUT", dann ein Lande-H beim Wegpunkt und den mit dem Heli verbundenen Auslöser plazieren! Der Auslöser hat als Bedingung: this and getpos Heli1 select 2 < 1 und bei Akt: {_x action ["eject", Heli1]} forEach assignedCargo Heli1 Für den Heli noch einen weiteren Wegpunkt nach dem Aussteigen, sonst landet er beim Ausstiegspunkt. So ist das auch im Beispiel, und das funktioniert!!! |
24.09.2010, 20:07 | #16 (permalink) |
ok vielen dank dass du dir die mühe gemacht hast. es funktioniert..also auf deine art. aber ich finde es einfach unschön wenn der littlebird noch sone 180° drehung macht und sehr langsam landet. er kommt geflogen auf etwa 50 metern höhe..bremst dann voll ab..und lässt sich langsam sinken bis er die einheiten draussen hat. und wenn die einheiten dann draussen sind. sagt der leader "alle in mh-6 einsteigen" und dann sind sie wider drinnen.
also es gibt wohl keine lösung einen schönen landeanflung zu kreiieren ala black hawk down ohne dass die einheiten wieder in den heli gehen. und ich hab jetztz wirklich alles so gemacht wie dus gesagt hast. |
|
24.09.2010, 21:20 | #17 (permalink) |
Registriert seit: 16.07.2010
Beiträge: 305
|
Ich bin schon dran, das ist aber kein Kinderspiel, wo man das ganze schnell mal in 10min macht. Wenns gut werden soll brauchts eben Zeit. Außerdem muss ich erstmal die ganzen bugs beseitigen, damit das Abspringen/Landen überhaupt möglich wird.
Geändert von Rockhount (24.09.2010 um 21:28 Uhr). |
25.09.2010, 10:05 | #20 (permalink) |
Registriert seit: 16.07.2010
Beiträge: 305
|
Die Litle Birds fliegen schon weiter, aber die Black Hawks nicht. Ich versuche gerade das ganze in einen script umzuwandeln, aber anscheinend funktioniert die "distance" Abfrage bei ArmA 2 OA nicht mehr(habe schon alle möglichen Varianten versucht).
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Heal/Repair Script / Einheiten in einem Radius zufällig generieren lassen | Noobfire | Editing & Scripting | 8 | 06.08.2010 15:22 |