HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-167/)
-   -   Skript wird nicht ausgeführt (https://hx3.de/editing-scripting-167/skript-ausgefuehrt-21781/)

TheJoker 10.08.2012 16:07

Skript wird nicht ausgeführt
 
Hallo Community,
dies ist mein erster Beitrag und ich bin noch neu bei ARMA. Habe mir ARMA 2 CO gekauft und sitze im Moment an meiner ersten eigenen Mission. Jetzt versuche ich dort einen HALO-Jump hinzukriegen, sodass alle Einheiten ab einem bestimmten Platz (dem 4., also bei der C130J alle die im Flugzeugbauch sitzen) rausspringen. Dazu habe ich eine C130J mit Pilot gespawnt (Name: HP, Spezial: Flying) und noch einen Copilot (Name: HPPilot2) und einen Engineer (Name: HPEngineer) dazu. Zusätzlich noch eine Gruppe mit Soldaten und mir als Leader (Name: Delta). In die Init-Zeile meines Soldaten habe ich dann folgenes geschrieben:
Code:

HPPilot2 moveInCargo HP; HPEngineer moveInCargo HP; {_x moveInCargo HP} foreach units Delta;
So sitze ich beim Star mit meinen Männern hinten im Flugzeug. Dann habe ich einen Wegpunkt gesetzt, zu dem die C130J fliegen soll. In der "On Act."-Zeile Steht folgendes:
Code:

HP landAt 1;
und in der Script-Zeile das:
Code:

[HP] execVM "halojump.sqf";
Das Array dient dem Zweck, dem Skript das Flugzeug zuzuweisen.

Die halojump.sqf sieht folgendermaßen aus (Ist aus einem anderen Thread: HALO-Jump):
Code:

_flugzeug = _this select 0;
_wer = _this select 1;
_id = _this select 2;
_besatzung = crew _flugzeug;
_pilot = driver _flugzeug;
_gunner = gunner _flugzeug;
_j = count crew _flugzeug;
_i = 0;

While {alive _flugzeug} do {
    _springer = (_besatzung select _i);
    ? (_springer == _pilot) exitWith{};
    ? (_springer == _gunner) exitWith{};
    ? (_i < _j) then {
        _springer action ["EJECT", _flugzeug];
        _i = _i + 1;
        } else {
        exitwith{};
        };
    sleep 0.5;
};

So, jetzt passiert bei überfliegen des Wegpunkts nichts. Die C130J landet später, das ist ja auch richtig, aber das Skript wird nicht ausgeführt. Was habe ich falsch gemacht?

Buliwyf 10.08.2012 16:46

Klingt im ersten Moment für mich so, dass Du dem Flugzeug am Wegpunkt das Kommando "HP landAt 1;" gibst... solange das Flugzeug nicht gelandet ist, wird auch die Script-Zeile nicht abgearbeitet... wobei sich mir widerum die Frage stellt: Wer springt freiwillig mit einem Fallschirm aus einem Flugzeug, das am Boden steht?

:)

TheJoker 10.08.2012 16:55

Das entfernen der On Act. Zeile hat nichts gebracht. Es steht übrigens nicht am Boden, sondern wird in der Luft gespawnt, ein paar Kilometer weit weg von der Absprungzone ^^. Außerdem ist die Sichtdistanz komisch, in den optionen von meinem Spiel ist sie auf 10km (10000) eingestellt, aber es sieht so aus, als ob es vllt 1000 wären. Woran kann das liegen? Tritt erst seit heute (glaube ich) auf.

JoeJoe87577 10.08.2012 17:19

Die Sichtweite ist im Multiplayer durch den Server geregelt, bzw durch die Mission die auf dem Server läuft. Und im Singleplayer kann die Einstellung des Nebels dafür verantwortlich sein.

TheJoker 11.08.2012 14:51

Ich hab die Mission im Preview-Modus gestartet. Nebel soll keiner da sein.

Ghost_Aut 11.08.2012 19:17

Zitat:

Zitat von TheJoker
So, jetzt passiert bei überfliegen des Wegpunkts nichts. Die C130J landet später, das ist ja auch richtig, aber das Skript wird nicht ausgeführt. Was habe ich falsch gemacht?

Hello, versuche mal mit diesem Code dein Script zu Starten!
Code:

null= [HP] execVM "halojump.sqf";

Vienna 12.08.2012 15:31

Stell in die erst Zeile deines Posts noch den Befehl setViewDistance 10000; voran. Damit kannst du auch verschiedene Sichtweiten austesten. Vielleicht steht so ein Befehl wo in deinen Skripten und ändert die Sichtweite. In großer Höhe sieht die Sicht nebeliger aus als am Boden.

In das halojump-Skript gib als erste Zeile ein: sleep 0.1; player groupChat "Skript Start"; Damit du testen kannst ob und wann das Skript gestartet wird.

TheJoker 12.08.2012 21:18

Danke für die Tipps, werde sie morgen ausprobieren.

EDIT: Also, das mit dem Nebel hat sich geklärt, ich habe es im Editor falsch eingestellt (Fog) -.-.
Aber ich habe jetzt die Zeile noch in das Skript eingefügt und in die Skriptzeile folgendes geschrieben:
Code:

_null= [HP] execVM "halojump.sqf";HP landAt 1;
aber es tut sich nichts, es wird auch nichts im Radio angezeigt. Das Flugzeug landet jetzt auch nicht mehr sondern kreist nur noch seine Kurven. Also wird das Skript nicht ausgeführt bzw. hängt es irgendwie. Was kann ich dagegen tuen? Wollte eigentlich von Anfang an SQF benutzen und nie SQS, aber SQS-Skripte führt der Wegpunkt zumindest aus. Muss ich jetzt doch auf SQS umsteigen?

An Mods benutze ich @ldl, @GL4 und die CBA's wegen @GL4, liegt es vllt. daran?

Vienna 13.08.2012 09:31

Wenn die Meldung "Skript Start" nicht aufscheint, dann wird das Skript nicht aufgerufen.

Starte das Skript einmal einen Wegpunkt vorher, aber nur so:
player groupChat "Wegpunkt erreicht!"; null= [HP] execVM "halojump.sqf" (vor dem null kein Unterstrich!).

Schreib das im Wegpunkt in "Bei Aktivierung" und nicht bei "Skript" rein.


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