![]() |
#1 (permalink) |
![]() ![]() Registriert seit: 01.12.2006
Beiträge: 157
|
![]()
Hallo,
ich setze mittels Script einen Heli (_evakheli) auf die Karte und füge einen Piloten (pilot3) in den Helikopter ein. Danache erschaffe ich dem Spieler und dem Piloten einen Wegpunkt. Der Spieler erhält den Typ "GETIN", der Helikopter den Typ "LOAD". Beide Wegpunkte synchronisiere ich miteinander. Der Helikopter landet allerdings nie. ![]() HTML-Code:
\\\\\Helis\\\\\\\\\ _evakheli = createVehicle ["UH1Y", position gen,[],111,"Fly"]; _evakheli setPos (player modelToWorld [0, 224,0]); _evakheli setPos [ getPos _evakheli select 0, (getPos _evakheli select 1) - 1, (getPos _evakheli select 2) + 72] \\\\\Crew\\\\\\\\ _Pilot3 = "USMC_Soldier_Pilot" createUnit [position player, group player, "pilot3 = this "] [pilot3] join grpNull pilot3 moveindriver _evakheli pilot3 setBehaviour "CARELESS \\\\\\\\\\\wegpunkte\\\\\\\\\\\\\\\\ _GRPEvakheli = group _evakheli _WP2 = _GRPEvakheli addWaypoint [getpos hhh, 1]; [_GRPEvakheli, 1] setWaypointType "LOAD" _grpplayer = group jag1 _wp = _grpplayer addWaypoint [getpos hhh, 1]; [_grpplayer, 1] setWaypointType "GETIN" [_GRPEvakheli, 1] synchronizeWaypoint [[_grpplayer, 1]] |
![]() |
![]() |
#4 (permalink) |
![]() ![]() |
![]() Code:
_grpevacheli = group _evacheli; das ist nur ein fahrzeug wenn du deinem piloten versuchst vorher grpNull zu setzen. (was auch nicht funktioniert solange er lebt) damit hat der pilot keinen wp. irgendwo gab es mal so ein tutorial dafür... vor erst 2 tagen hier im forum verlinkt.
__________________
Niemand hat die Absicht eine Tüte zu bauen! ![]() ___<<<A3 Wounding System>>>___ |
![]() |
![]() |
#5 (permalink) |
![]() ![]() Registriert seit: 01.12.2006
Beiträge: 157
|
![]()
Hallo Psychobastard
Einen Wegpunkt hat der Pilot mit Sicherheit. Er fliegt diesen nämlich auch an. Allerdings landet er nicht bei dem "LOAD"-Wegpunkt, sondern verharrt in der Luft. Wenn ich den Helicopter von Beginn an auf die Karte setze und nicht erst durch ein Script erschaffe, funktioniert mein gezeigtes Script. Warum funktioniert es nicht, wenn ich den Helikopter über createvehicle bzw den Piloten über createunit erschaffe? |
![]() |
![]() |
#6 (permalink) |
![]() ![]() |
![]()
wenn du meinst...
__________________
Niemand hat die Absicht eine Tüte zu bauen! ![]() ___<<<A3 Wounding System>>>___ |
![]() |
![]() |
#7 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
Mit einem Skript funktioniert das leider nicht. Mit Skript muss man die Landung programmieren.
Ich habe da noch eine "Abholroutine" von Arma1. Etwas reduziert ist sie im Beispiel für Arma2 vorhanden. Mit einer Anforderung über das Aktionsmenü wird ein Heli erstellt und fliegt zum Spieler. Nach dem Einsteigen können auf der Karte zwei Wegpunkte eingetragen werden, die der Heli darauf anfliegt. Am Endpunkt springt der Spieler mit dem Fallschirm ab und der Heli fliegt weg (und wird aus dem Spiel entfernt). Nach einiger Zeit kann ein neuer Heli angefordert werden. |
![]() |
![]() |
#9 (permalink) |
![]() ![]() Registriert seit: 10.01.2010
Alter: 74
Beiträge: 175
|
![]()
Hallo Vienna!
Ich wollte gerade dein script testen aber ich bekomme das Aktionsmenü nicht aufgeschlagen sprich ich kann den Heli nicht anfordern, oder verstehe ich da was nicht? Könntest du mal schauen ob das bei dir geht? Mike |
![]() |
![]() |
#10 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
Funktioniert das Beispiel nicht, oder hast du es in eine eigene Mission eingebaut?
Es gibt ein neues Beispiel. Bei der Hint-Ausgabe wurde der Ton entfernt und beim Aktionsaufruf wurde als Parameter die Anzahl der Wegpunkte hinzugefügt. Im neuen Beispiel die ...li.sqf",[2],-1,... zwei in der Klammer für zwei Wegpunkte. In eine eigene Mission ist der Ordner myHeli in den Missionsordner zu kopieren und in die Initialisierungszeile der Spielfigur: this addAction ["*** Helitransport anfordern ***", "myHeli\myHeli.sqf",[2],-1,false,true,""] Oder einen Auslöser setzen z.B. mit Namen A1 und Code:
Bedingung: player distance A1 < 5 Bei Akt: IDHeli = player addAction ["*** Helitransport anfordern ***", "myHeli\myHeli.sqf",[2],10,true,true,""]; Bei Deak: player removeAction IDHeli So einen Auslöser kann man auf mehrere Orte Kopieren. Dabei muss man aber den Auslösernamen immer ändern (auch in der Bedingung). Man kann dabei auch andere Einheiten in den Heli einsteigen lassen. Der Spieler der den Heli angefordert hat muss als Letzter in den Heli einsteigen und die Flugroute mit den Wegpunkten festlegen. |
![]() |
![]() |
#11 (permalink) |
![]() ![]() Registriert seit: 10.01.2010
Alter: 74
Beiträge: 175
|
![]()
Hallo Vienna
Ich habe nur deine Beispielmission probiert. Das erste script hat nicht funktioniert weil man das Menü Heli anfordern gar nicht hatte das zweite funktioniert einwandfrei. So eine bitte hätte ich noch und zwar: ich will nicht mit dem Fallschirm abspringen sondern der Heli sollte am Bestimmungsort landen; man steigt aus und er fliegt weg, wäre das umständlich wenn du das ändern würdest? Mike |
![]() |
![]() |
#12 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
In dieser Version kann man am Zielort entweder abspringen oder warten bis der Heli gelandet ist. Wenn alle Insassen abspringen, dann fliegt der Heli ohne Landung weiter.
Es sind alle Skripte durch die neuen zu ersetzen. |
![]() |
![]() |
#13 (permalink) |
![]() ![]() Registriert seit: 10.01.2010
Alter: 74
Beiträge: 175
|
![]()
Hallo Vienna!
Ich habe das ganze noch auf einen Dedi Server getestet funktioniert eigentlich einwandfrei. Eine Sache ist mir aufgefallen und zwar passiert es ab und zu das der Heli auch auf einer offenen Fläche nicht landet und zwar spielt sich das so ab: Der Heli kommt setzt nicht bei Wegpunkt 0 auf sondern etwa 70 Meter weiter weg, berührt kurz den Boden hebt sofort wieder ab und bleibt in der Luft stehen. Das ganze ist nicht so tragisch den wenn er in der Luft länger wie 3Minuten steht fliegt er sowieso zur Basis zurück und man kann ihn wieder holen. Aber vielleicht könntest du dir das noch anschauen. Eine bitte hätte ich noch und zwar könnte man noch eine Zeile einfügen das bei Wegpunkt 0 (so ca.30-50Sek. bevor der Heli landet) noch eine Rauchgranate automatisch gezündet wird? Ansonsten perfekt wie immer fehlerfrei in der rpt. ich weiß nicht wie ihr Scripter solche Sachen aus dem Hut zaubert. Zum Schluß bleibt mir nur eines zu sagen Vielen Dank! |
![]() |
![]() |
#14 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
Im Beispiel eine Version, bei der nach der Anforderung am Landeplatz eine grüne Rauchgranate gezündet wird.
Den Befehl zu Landen gebe ich jetzt in geringerer Entfernung zum Landepunkt. Vielleicht beseitigt das den Fehler bei der Landung. |
![]() |
![]() |
#15 (permalink) |
![]() ![]() Registriert seit: 10.01.2010
Alter: 74
Beiträge: 175
|
![]()
Hallo Vienna!
Das auf offener Fläche wie vorher beschrieben dürfte funktionieren ebenso die Rauchgranate. Eine Sache möcht ich dir gerne noch schildern und zwar: Ich habe das Gelände (Sangin MAP Hellmand) und da sind ja so Mohnfelder mit kleinen Steinmauern eingegrenzt obwohl die Fläche zum landen groß ist will er da einfach nicht landen. Ich kenne mich zwar nicht aus woran es liegt, gefällt es ihm nicht das diese Fläche praktisch eingegrenzt ist? Oder könntest du den Heli script technisch irgendwie dazu zwingen das er landen muß, anders kann ich es nicht beschreiben. Und zum Schluß noch Vienna ich hoffe ich bin nicht zu unverschämt könnte man das am Anfang noch so machen das der Heli sozusagen am Startpunkt schon da ist nicht das man ihn erst holen muß. Sprich einen Heli in eine FOB stellen einsteigen und anschaffen wo man hinfliegt, er sollte wieder zurückfliegen und wenn man ihn wieder braucht wieder holen. Eben das er am Anfang gleich da wäre und wieder zurück in die FOB fliegt wenns nicht zu umständlich ist. Mike Geändert von CptMike (14.08.2011 um 13:34 Uhr). |
![]() |
![]() |
#16 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
Die Befehle für das Landesystem sind für die originalen Karten ausgelegt. So kann es sein, dass sie auf "Fremdkarten" nicht ordnungsgemäß funktionieren.
Ich verwende daher grundsätzlich die originalen Karten. Sie bieten ausreichend Plätze für viele Missionen. Die "Abholen"-Routine ist universell und so ausgelegt, dass sie an jeder Position und und zu jeder Zeit abgerufen werden darf. Man kann natürlich den Aufruf nur von einer bestimmten Örtlichkeit erlauben. Im Beispiel im Anhang ist die Erstellung eines Helis auf einem Lande-H möglich. Der Heli schwebt dabei sofort über dem H und ist nach 20 Sekunden einstiegsbereit. Weil der Heli anscheinend auf Arma2OA ein anderes Flugverhalten hat wie auf Arma2, habe ich für die Flughöhe einen weiteren Parameter für die Anflughöhe beim Zielort hinzugefügt, um vor der Landung auch ein sicheres Abspringen zu ermöglichen. Auch ist nun ein Parameter für die Entferung zum Abholort vorhanden. Das erlaubt z.B. das Erstellen des Helis direkt in einer Basis, wenn ein Wert von ca. 20 gewählt wird. // Alle Paramter bei AddAction: ...myHeli.sqf",[2,80,1000],-1,... // die 2 steht für die Anzahl der Wegpunkte auf der Karte // die 80 für die Flughöhe beim Zielpunkt // die 1000 für den Abstand des Helis bei der Erstellung zum Abholort |
![]() |
![]() |
#17 (permalink) |
![]() ![]() Registriert seit: 10.01.2010
Alter: 74
Beiträge: 175
|
![]()
Hallo Vienna!
Das script vorher hat eigentlich schon super funktioniert aber könntest du den Heli nicht gleich hinstellen weil bei dieser Version bleibt sich das jetzt ja gleich ob er gleich über mir runterkommt oder ob er von z.b. 1000Metern Entfernung zu mir herkommt. Das was ich meinte wäre das ich den Heli gleich sichtbar im Editor hinstelle, im Spiel dann in den Heli einsteige den Wegpunkt eingebe wo er hinfliegen soll, ich steige aus oder springe ab und er fliegt wieder zurück und landet wieder dort wo er am Anfang platziert wurde. Das sozusagen der Heli nicht einfach wie von Geisterhand erstellt wird und nicht einfach wieder verschwindet sondern einen fixen Ausganspunkt hat. Ich würde sozusagen in meiner FOB gleich den Heli platzieren und von da zu den Landezonen fliegen. Geändert von CptMike (14.08.2011 um 20:29 Uhr). |
![]() |
![]() |
#19 (permalink) |
![]() ![]() ![]() Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
|
![]()
Das ist hier ja das reinste Wunschkonzert...
![]() ![]() Mich gehts ja nichts an, wenn Vienna für Dich den Haussklaven spielt, aber wie wäre es mal zur Abwechslung mit einem bisschen Eigeninitiative? Soooo schwer ist`s ja nun auch nicht... und wenn Du das Zeug hier postest, was Du bislang geschafft hast, dann hilft man Dir bestimmt auch... ![]() |
![]() |
![]() |
#20 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
Gib einmal in die Initzeile des Spielers anstelle this addAction... player addAction... ein. Vielleicht hilft das nach dem Respawn. Wenn nicht, muss man player addAction... mit einem Mehrfach-Auslöser aufrufen, der als Bedingung alive player hat.
Mit den Abhol-Skripten hast du jetzt die Möglichkeit den Heli aus der Basis über ein Lande-H anzufordern. Das Programm läuft lokal auf dem PC des Spielers der den Heli anfordert. Wird der Heli bereits im Edior erstellt, dann muss das Mehrspielertauglich umprogrammiert werden. z.B. wenn zwei Spieler im Heli sind, wer gibt dann die Wegpunkte ein. Bei Helis im Editor ist es einfacher den Heli mit Auslösern zu steuern. Im Beispiel übernimmt ein Spieler die Kontrolle über den Heli-Piloten indem er sich dem Heli nähert. Dann gibt er dem Piloten auf der Karte den Befehl zu einem Ziellandepunkt zu fliegen. Nach dem Aussteigen befiehlt er den Heli wieder auf den Landepunkt in der Basis zu fliegen, oder vorher noch zu einem anderen Ziellandepunkt. In der Basis angekommen wird dem Spieler die Kontrolle über den Heli entzogen und der Motor abgeschaltet. Wenn sich wieder ein Spieler dem Heli nähert, bekommt er wieder die Kontrolle. Zu beachten ist, dass bei den Lande-Hs auch Marker sind. Die müssen mitverschoben werden. |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|