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/)

Buliwyf 05.12.2013 21:10

Und Du bist Dir sicher, dass *.SQF die Dateiendung ist und nicht *.SQF.TXT?! Die Dateiendungen im Windoof hast Dir hoffentlich anzeigen lassen. Ich weiß nicht wie oft ich das jobbedingt schon erlebt hab'.... :D

KimmeUKorn 05.12.2013 21:27

Mensch dankeschön für die rasche Info:
Aber ich bin mir sicher, es ist eine SQF-Datei. Ist das Verzeichnis denn das richtige? Ich kann mir das echt nicht erklären....

Drunken Officer 06.12.2013 09:23

Du hast deine Mission bereits gespeichert, so dass A3 ein Verzeichnis angelegt hat.

Mach mal mit Notpad++ eine neue Datei auf.
Kopiere den Code rein und speichere die Datei ab. Gibt in die Zeile
DOF_Sprung.sqf ein. Ignoriere dass er unten noch als txt steht. Die Datei wird als sqf gespeichert.

Ich habe des gerade getestet, es funzt,

Und ändere mal den Code
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;
_einstellung = _this select 3;
_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-1) do
{

_springer = _list select _spr;
        _springer allowDamage false;
        _springer action ["EJECT", _lfz];
        sleep _verzoegerung;
      _springer allowDamage true;
};

Das verhindert, dass deine Leute verrecken.
Der Heli MUSS geradeaus fliegen. A3 hat es be**** gelöst, da die Leute zu knapp aus dem Fahrzeug gesetzt werden.
Wenn ich sie allerdings mit SetPos versetzte, dann wird fliegen sie aus dem Schrim. Versetze ich sie vorher aus dem Heli und gebe dann den EJECT Befehl, spinnt der Heli rum.
Mal schauen wie ich das genau löse.

KimmeUKorn 08.12.2013 17:05

Nabend,
Vorab möchte ich mich erstmal für die rasche Anteilnahme hier bei Euch bedanken - sagenhaft :daumen:

Drunken Officer, ich habs hinbekommen!!! :party::party::party: mein erstes, funzendes Script (und dann noch von dir) :wb::wb::wb:Party undso!


Ich glaube zu wissen, das es daran gelegen hat, das ich in der aktivierungszeile des Wegpunktes dies:

handle = [transportheli, 5, 1] execVM "scripte\DOF_Sprung.sqf";

anstatt dies:

handle = [transportheli,5, 1] execVM "scripte\dof_sprung.sqf";

hinein geschrieben habe. Obwohl das Script im Ordner so "DOF_Sprung.sqf" heisst, muss ich es im Wegpunkt so "dof_sprung.sqf" schreiben.....sonst findet er es nicht....Es ging so nen richtig fettes Grinsen durch mein Gesicht als die Burschen da aus dem Heli gesprungen sind :confused:
Das Script funzt ganz gut soweit, nur an sichersten ist es, wenn der Heli in der Geschwindigkeit auf voll gestellt ist, sonst kann es schon mal sein, das die Burschen im Rotor hängen bleiben und Er dann Abschmiert....zumindest war es nen paar mal so....

DANKE Nochmal !!!*prost*

Drunken Officer 09.12.2013 00:52

Nichts zu danken. Ich habe hier auch meine ersten Schritte im Missionsscripting gelernt. Da wurde mir auch kräftig geholfen.

Du kannst auch anstatt dieser typischen handle = oder nul =, eine andere Variable nehmen
Zum Anfang dachte ich immer, die muss so heißen. Das ist nur eine Variable. Es macht sich besser, diese auch funktionsytypisch zu bezeichnen.
z.b. absprung = [.....] ....

Ob du DOF_sprung oder dof_sprung eingibst, ist eigentlich völlig hupe.

Du kannst den Heli während der Sprungphase unzerstörbar machen.
Entweder:
Während der gesamten Zeit bis alle draussen sind:
Code:

_lfz allowDamage false;
 
for "_spr" from 0 to (_cnt-1) do
{
 
_springer = _list select _spr;
        _springer allowDamage false;
        _springer action ["EJECT", _lfz];
        sleep _verzoegerung;
      _springer allowDamage true;
};
_lfz allowDamage true;

oder immer dann, wenn einer hüpft:
Code:

for "_spr" from 0 to (_cnt-1) do
{
 
_lfz allowDamage false;
_springer = _list select _spr;
        _springer allowDamage false;
        _springer action ["EJECT", _lfz];
sleep 0.3;
_lfz allowDamage true;
        sleep _verzoegerung;
      _springer allowDamage true;
 
};

Zu deinem Verständins.
This allowdamage false bedeutet, das Objekt nimmt keinen Schaden. Es könnte mit setDammage manipuliert werden, aber dass spielt keine Rolle.
Im Beispiel eins wird VOR die Schleife "false" gesetzt und NACH der Schleife wieder auf true. Bedeutet es müssen erst alle draussen sein.

Im Beispiel zwei, wird es IN der Schleife gesetzt. Bevor der Typ springt auf "false" dann wird die kurz gewartet und es wird wieder auf "true" gesetzt. Würdest du "true" nach der Verzögerung setzen, hättest du wieder Beispiel 1, nur etwas anders verpackt. ;)

KimmeUKorn 09.12.2013 15:08

Drunken du bist unschlagbar was deine Infos angeht :daumen:

Ich werde beides antesten und dann berichten wies läuft.

Im Moment ist es so, das das Scribt funzt, aber soweit noch Feindbeschuss dazu kommt dreht der Heli teilweise ganz schön durch. Der zieht dann einfach nach unten rechts und schmiert ab, was aber nicht am Schaden liegt den er bekommt. Aaaaaber mal sehen wie es mit den Änderungen ist. Ich werds einfach testen, testen, und nochmal testen...Ich bin ja schon mal heilfroh, das ich den Bogen nun raus hab was das Scripte einfügen angeht. Echt genial!
So macht das alles gleich doppelt soviel Spass.

Drunken Officer 09.12.2013 18:33

Ich bin im scripten auch nur ein kleines Licht.

Lies dir auf alle Fälle mal murrys guid und den von Psycho durch!
Desweiteren hat Mörderhoschi in der A2 Sparte einen Beitrag, der ist auch Sticky. Tipps & Tricks zur Missionserstellung. Der hat auch für A3 solche Helfer gemacht.
Und dann heißt es Versucht & Irrtum!
Hier findest du die Befehle: http://community.bistudio.com/wiki/C...ommands_Arma_3


Nachjustieren mit
_lfz allowfleeing 0 oder den Hubi auf _lfz setcapture true setzen.

Ja wie bereits geschrieben, die EJECT geschichte ist bei A3 bissel blöd gemacht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 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