HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-187/)
-   -   [Hilfe] Fallschirmsprung - Keine Scripte // Nur Editor nutzen (https://hx3.de/editing-scripting-187/hilfe-fallschirmsprung-keine-scripte-nur-editor-nutzen-22737/)

FiesesAlien 17.07.2013 02:47

[Hilfe] Fallschirmsprung - Keine Scripte // Nur Editor nutzen
 
Moin.

Hubschrauber A soll mit den Einheiten 1 bis 8 zu Wegpunkt "Eins" fliegen, in der Höhe 150 - 200 (das habe ich ja schon, ist ja alles kein Problem) und dort die Fallschirmspringer absetzen.


Tja und hier setzt meine Kenntnis aus... Google ist wie eine schlecht bezahlte Dirne und ich bin nur mit Scripten beworfen worden. Ich mag keine Scripte. Ich will es einfach im Editor machen, fertig.


Also, wer ist so nett und sagt mir (bitte ohne "Unload Cargo" -> Heli sucht sich, trotz invis-helipad, immer ein gerades fleckchen mit helipad zum landen aus...) wie ich die Jungs & Mädels aus dem Heli schmeißen kann wenn er den Checkpoint erreicht?




bleibt knusprig
FiesesAlien

FiesesAlien 17.07.2013 03:21

Moin.


Es ist immer wieder so... kaum gebe ich die Suche auf und schildere mein Problem im Forum... Finde ich die Antwort kurz darauf:

einheitname action ["eject", fahrzeugname]


Funktioniert prima und ganz ohne "dämliche" scripte (ja, ich mag die dinger echt nicht ^^ Obwohl sie schon echt nützlich sein können. Will eben nur im Editor arbeiten.)



Das was ich nicht verstehe (ich finde viel auf Englisch, bräuchte aber jemanden der's "für Dumme" erklärt) wie münze ich das Ganze jetzt auf eine gesamte Gruppe?

Mit
Code:

{_x moveInCargo chopper1} foreach units group this;
Kann ich ja das Chefchen einer Gruppe zum "träger" machen so das alle verbundenen Gruppenmitglieder automatisch im cargo des fahrzeugs landen.

Aber ich würde gerne dann der Ganzen Gruppe sagen "eject". Zwar kann ich den Luftlandeeinheiten 16 Stück, gerne die Name s01 bis s16 geben aber ich hätt's dann doch gern ein Stückchen eleganter :)




Edit: (Ich sags ja... kaum stelle ich ne Frage finde ich die Lösung. Aber wehe ich suche davor schon knapp 4 Stunden... da finde ich natürlich nix... ICH HASSE ES....)


Code:

{_x action ["EJECT",fahrzeugname],unassignVehicle _x} foreach units gruppenname;
Vorher mit
Code:

gruppenname = group this
der Einheit eine Gruppe zuweisen :) Auf den Leader einer Gruppe angewandt wird natürlich die ganze gruppe zu dieser benannten gruppe. Warum finde ich den scheiß immer erst dann wenn ich verzweifelt bin und in Foren nachfrage? Kann mir das mal einer erklären? ^^





Bleibt knusprig
FiesesAlien

Soilus 16.09.2013 17:29

Ich habe das alles so gemacht, nur leider sterben meine Fallschirmjäger, wenn sie aus dem Heli geworfen werden.

Woran liegt das? :/

Xeno 16.09.2013 17:33

Weil Du vergessen hast ihnen einen Fallschirm zu geben? *ins Blaue geraten*

Xeno

Soilus 16.09.2013 18:40

Nein, es sind ja "Fallschirmjäger", die haben einen Fallschirm.

Außerdem sterben sie in Luft im Moment des Absprungs und nicht, weil sie unten aufschlagen.

Ab und an überlebt es auch einer. Der Fallschirm öffnet sich.

Kann das sein, weil alle gleichzeitig abgeworfen werden ohne Intervall?

Papabär 16.09.2013 19:21

Das könnte gut sein wegen der Kollision. Bewegt sich der Heli während des Drops oder schwebt er nur an einer Position? Würd sonst nen kleines delay einbasteln, dann wirds denke ich mal klappen ;)

AHTNTEPPOP 16.09.2013 20:00

Zitat:

Zitat von Soilus (Beitrag 458924)
Nein, es sind ja "Fallschirmjäger", die haben einen Fallschirm.

Außerdem sterben sie in Luft im Moment des Absprungs und nicht, weil sie unten aufschlagen.

Ab und an überlebt es auch einer. Der Fallschirm öffnet sich.

Kann das sein, weil alle gleichzeitig abgeworfen werden ohne Intervall?

Jup so war es auch schon unter A2, wenn an selber Stelle alle zur gleichen Zeit abgeworfen werden.

Drunken Officer 06.10.2013 20:02

Ich habe diesbezüglich auch ein Problem. Meine KI öffnet den Schirm nach dem Sprung nicht. Ich lasse die aus 150m abspringen.
Meine Puppe hat manchmal ein Menü zum Öffnen manchmal nicht.
Code:

{_x Action ["eject", transheli];} forEach units group player;
Manchmal verletzt sich meine Puppe sofort beim Sprung. Geschwindigkeit ist auf begrenzt gesetzt.

Wie heißt eigentlich der klassenname für einen Fallschirm?

TeTeT 06.10.2013 21:35

Probier mal ein sleep 0.1 in der Schleife zum Absprung zu nutzen. Ansonsten steigen die Passagiere quasi übereinander aus und verletzen sich gegenseitig.

FiesesAlien 07.10.2013 07:44

Zitat:

Zitat von TeTeT (Beitrag 460705)
Probier mal ein sleep 0.1 in der Schleife zum Absprung zu nutzen. Ansonsten steigen die Passagiere quasi übereinander aus und verletzen sich gegenseitig.


Wie baue ich den Sleep bitte richtig ein? Net das ich jetzt ewig rum wurtschel und am Ende lacht mich ArmA aus während es auf mir herumtrampelt ^^


Bleibt knusprig
FiesesAlien

Drunken Officer 07.10.2013 11:20

in den WegPunkt, wo die Leute abspringen lassen willst, bei Aktivierung das eingeben:
handle = [namedesluftfahrzeuges, 5, 1] execVM "\scripte\DOF_Sprung.sqf";

Erstelle dir einen unterpfad in deiner Mission "scripte"
Erstelle in diesem Pfad eine Datei DOF_Sprung.sqf (mit Notpad++ arbeite ich)
Kopiere u.g. Code in diese Datei.

DOF_Sprung.sqf
Code:

/*
**********************************************************************************************
*** Script by Drunken Officer
*** Version 1.0
*** Script läßt die Leute mit einer Verzögerung aussteigen.
*** Ist der Spieler in diesem Luftfahrzeug, bekommt er eine Nachricht zum Absprung
*** Aufruf über handle = [nameheli,zahl für vorlauf,zahl für verzögerung,] execVM "scripte\dof_sprung.sqf";
***********************************************************************************************
*/
private ["_lfz", "_list", "_cnt", "_playerGrp", "_spr", "_springer", "_vorlauf", "_verzoegerung"];
_lfz = _this select 0;
_vorlauf = _this select 1;
_verzoegerung = _this select 2;
_list = assignedCargo _lfz;
_cnt = count _list;
_lfz vehicleChat "Fertigmachen zum Sprung";
while {_vorlauf != 0} do
{
_lfz vehicleChat format [" in %1 Sekunden", _vorlauf];
sleep 1;
_vorlauf = _vorlauf - 1;
};
_lfz vehicleChat "SPRUNG";

for "_spr" from 0 to _cnt do
{
_springer = _list select _spr;
_springer action ["EJECT", _lfz];
sleep _verzoegerung;
};

Das Script erstellt KEINE Einheiten am Flugobjekt. Es müssen sich tatsächlich welche in diesem befinden. Vorher darauf achten, dass alle eine Fallschirm haben.

Sei so nett und lass zumindest die Credits oben drin stehen.

Lester 07.10.2013 12:24

Ist kein unassign der Springer mehr nötig ? :oh:

Die haben damals™ sonst immer dem Flieger hinterhergeweint. :rolleyes:

Drunken Officer 07.10.2013 12:59

ich muss es mal mit unassign probieren. Das könnte der Grund sein, warum die ab und an sterben.
Nehme ich die Vorlaufgeschichte raus, was ja eingetlich 0 Einfluss auf den Sprung hat, überleben sie.

Bei A2 kann man die Puppen so austeigen lassen. Da hatte aber jede Figur einen Fallschrim

FiesesAlien 08.10.2013 21:46

Zitat:

Zitat von Drunken Officer (Beitrag 460738)
ich muss es mal mit unassign probieren. Das könnte der Grund sein, warum die ab und an sterben.
Nehme ich die Vorlaufgeschichte raus, was ja eingetlich 0 Einfluss auf den Sprung hat, überleben sie.

Bei A2 kann man die Puppen so austeigen lassen. Da hatte aber jede Figur einen Fallschrim


Hoi!

Danke dir. Eigentlich wollte ich ohne Scripte arbeiten aber ich werde mich damit jetzt näher befassen (müssen). Die Credits bleiben natürlich drin und in der Mission wird jeder erwähnt der mir/der Mission geholfen hat :)

Danke nochmal

Bleibt knusprig
FiesesAlien

Jekko 09.10.2013 00:15

Ich hab die Jungs ja gleich am Fallschirm starten lassen und das in die Init-Zeile geschrieben:
Code:

chute = "Steerable_Parachute_F" createVehicle [0,0,0];  chute setPos [getPos this select 0, getPos this select 1, 200];  this moveIndriver chute;
Hatte ich irgendwo gefunden mit zusätzlichen Actionmenüeintrag zum manuellen öffnen, das aber entfernt - zur Sicherheit :zahn:
Wenn du sie aus dem Heli rauswerfen willst, musst du eine Verzögerung einbauen, sonst hauen die sich gegenseitig die Köpfe ein...

JanIs 17.10.2013 23:32

Das Problem mit dem "normalen" Absprung per Fallschirm wird sein, dass sich immer irgend ein Heini im Rotor verhakt und dann der Heli abschmiert.
Ich habe es mal so gelöst dass die Einheiten einige Meter unter den Heli gebeamt werden und dann gleich der Fallschirm aufgeht.
Sie springen sozusagen nicht raus sondern werden darunter gebeamt.
Das funktioniert recht gut, sieht auch ziemlich "echt" aus und verhindert so den Absturz des Helis, der beim "normalen" Absprung trotz Verzögerung von 1 bis 2 Sekunden zwischen den Springern selten zu vermeiden war.

Vielleicht hilft das als kleiner Denkanstoß wie man es auch machen könnte ...

Greetz
Jan

Drunken Officer 18.10.2013 08:49

Habe ich genauso gelöst. Ich zähle die Leute im Cargo aus. Mit einer for-do schleife werden die Personen 5 Meter unter den Heli gesetzt. Dann kommt der Action Befehl, get out. Sleep 1. Dann wird ein Schirm 2 Meter über der Person erstellt. Dann die Figur mit moveindriver in den Schirm

JanIs 18.10.2013 10:46

Klingt recht scriptintensiv und aufwendig ...
Ich habe sie einfach - bereits mit Fallschirm ausgerüstet - im Abstand von einer bis 1,5 Sekunden 6 bis 9 Meter unter diesen rausgebeamt. Den Schirm öffnen sie im Anschuss selbstständig.
Sieht dann also wirklich so aus als ob sie rausgesprungen sind soferne die Cam nicht zu nah bei ihnen ist ...

Natürlich könnte man sie vorher ohne Schirm aus dem Heli schmeissen und nach einem Delay mit Fallschirm ausrüsten.
Allerdings dürfte dann erneut das Problem mit dem "im Weg stehenden" Rotor bestehen.
Egal, viele Wege führen nach Rom ;-)

Greetz
Jan

Drunken Officer 18.10.2013 14:52

Nö, gibt keine Probleme mit dem Rotor.

Sicherlich kann man den Schrim auch weglassen. Es kommt halt darauf an, welche Leute man in den Heli setzt und wieviel Realität man haben möchte.
Als Delay zwischen den Springern finde ich 1 Sekunde - max 1.5 Sekunden als optisch recht ansprechend.

Und das mit dem Auszählen habe ich gemacht, damit es nicht nur für group player oder group xyz zu benutzen ist, sondern allgemeine Gültigkeit hat.

KimmeUKorn 05.12.2013 22:02

Nabend,
ich mag ja ehrlich gesagt gar nicht fragen, aber da komme ich leider nicht drum herum. Ich bekomme, obwohl ich es genau so gemacht habe wie im folgendem Zitat (echt super) beschrieben, nicht gebacken dieses Script auszuführen. In dem Moment wo es im Wegpunkt ausgeführt werden soll haut Er die Meldung raus:

" Script scripte\ DOF_Sprung.sqf not found "

Ich muss gestehen, das ich mit Scribten in Arma3 keine Erfahrung habe, aber das kann doch nicht so schwer sein?! Mir ist klar, das Es offensichtlich nicht gefunden wird, aber ich rall es einfach nicht warum. :(

Das Script ist mit notepad++ als sqf.datei erstellt in diesem Verzeichnis kopiert wurden:
C:\Users\KimmeUKorn\Documents\Arma 3\missions\MeineMap.Stratis\scripte

also in dem Missions-Verzeichnis in dem auch die description.ext ,die init.sqf , und mission.sqm , oder auch wie meinem Fall die Ammobox vorhanden sind, habe ich nen Ordner erstellt und in diesen das Skript eingefügt.

Bitte entschuldigt, das ich an dieser Stelle um Rat bitte, aber ich möchte auch speziell dieses Script nutzen und einfach nicht weiter komme.
Ich komme eigentlich mit dem Editor von Arma3 (habe andere editor-erfahrung z.B Sudden Strike, Supreme Commander ) gut zurecht, aber sobald ich Skripte nutzen möchte die ich irgendwo extern einfügen muss kommen die Probleme, das diese nicht ausgeführt werden.....da hänge ich schon seit Wochen dran fest....deshalb bin ich meeeeega dankbar für die Lösung dieses Dilemmas. MFG Kimme










Zitat:

Zitat von Drunken Officer (Beitrag 460729)
in den WegPunkt, wo die Leute abspringen lassen willst, bei Aktivierung das eingeben:
handle = [namedesluftfahrzeuges, 5, 1] execVM "\scripte\DOF_Sprung.sqf";

Erstelle dir einen unterpfad in deiner Mission "scripte"
Erstelle in diesem Pfad eine Datei DOF_Sprung.sqf (mit Notpad++ arbeite ich)
Kopiere u.g. Code in diese Datei.

DOF_Sprung.sqf
Code:

/*
**********************************************************************************************
*** Script by Drunken Officer
*** Version 1.0
*** Script läßt die Leute mit einer Verzögerung aussteigen.
*** Ist der Spieler in diesem Luftfahrzeug, bekommt er eine Nachricht zum Absprung
*** Aufruf über handle = [nameheli,zahl für vorlauf,zahl für verzögerung,] execVM "scripte\dof_sprung.sqf";
***********************************************************************************************
*/
private ["_lfz", "_list", "_cnt", "_playerGrp", "_spr", "_springer", "_vorlauf", "_verzoegerung"];
_lfz = _this select 0;
_vorlauf = _this select 1;
_verzoegerung = _this select 2;
_list = assignedCargo _lfz;
_cnt = count _list;
_lfz vehicleChat "Fertigmachen zum Sprung";
while {_vorlauf != 0} do
{
_lfz vehicleChat format [" in %1 Sekunden", _vorlauf];
sleep 1;
_vorlauf = _vorlauf - 1;
};
_lfz vehicleChat "SPRUNG";

for "_spr" from 0 to _cnt do
{
_springer = _list select _spr;
_springer action ["EJECT", _lfz];
sleep _verzoegerung;
};

Das Script erstellt KEINE Einheiten am Flugobjekt. Es müssen sich tatsächlich welche in diesem befinden. Vorher darauf achten, dass alle eine Fallschirm haben.

Sei so nett und lass zumindest die Credits oben drin stehen.



Alle Zeitangaben in WEZ +1. Es ist jetzt 05:30 Uhr.

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias


SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120