HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-167/)
-   -   While-Schleife (https://hx3.de/editing-scripting-167/while-schleife-16583/)

Cyborg11 03.06.2009 21:33

While-Schleife
 
Ok While-Schleife war ein Tippfehler von mir ^^ Sry.

Schleife sieht jetzt richtig so aus: Hatte ein ; vergessen ^^
Code:

While {true} do {
    test = test + 1;
    hint format ["%1",test];
    sleep 0.01;
    };

Außerdem funktioniert in ArmA2 komischerweise auch kein isNull mehr. Wollte bei meinem Hook Skript nämlich einbauen, wenn _gun einen <null> Wert liefert, dass dann eine Meldung kommen soll. Aber die Abfrage mit
Code:

If (isNull _gun) then {hint "Gibt es nicht."};
funktioniert nicht.

Kann mir einer helfen? :/

Lester 03.06.2009 21:59

Warum benutzt du noch das ?
Code:

hint format ["%1",test];
Dabei ist
Code:

hint str(test);
doch viel handlicher und es kann auch Objekte verarbeiten die keinen namen tragen !;)


Ist _gun ein objekt und liefert es wirklich 100% <null> ?
Bitte mal prüfen:
Code:

hint str(["|",_gun]);
So geht das prima, das erste Zeichen setze ich nur rein weil pure Fehlermeldungen sich nciht ausgeben lassen, in Kombi wiederum schon.

Cyborg11 03.06.2009 22:09

Ui danke :) Das mit dem hint str ist ja viel einfacher. Danke nochmal! :)

Also ich hab mir jetzt nochmal _gun ausgeben lassen und ja es wird mir ein <null> Wert ausgegeben.
Ganzes Skript schaut übrigens so aus:
Code:

// ********************************************
// Script File for ArmA2
// Made by: Cyborg11
// Version: 1.0
// ********************************************

// Aktion hinzufügen (In die Init vom Zugtraktor):
// this addaction ["Geschuetz anhaengen","hook-gun.sqf",0];

_tractor = _this select 0;
_action = _this select 2;
_weiter = _this select 3;
_guns = nearestObjects [_tractor, ["StaticWeapon"], 20];
_gun = _guns select 0;
_guntype = typeOf _gun;
_hooked = false;
_tractor removeaction _action;
_speed = speed _tractor;
_dir = getDir _tractor;
hint str(["|",_gun]);

// Debug Meldung
// hint format ["Geschuetze:\n%1\n\nGeschuetz:\n%2\n\nType: %3\n\nAction: %4\n\nDirection: %5", _guns,_gun,_guntype,_action,_dir];

If (isNull _gun) then {
    hint "Fahren Sie bitte naeher an ein Geschuetz ran!";
    _tractor addaction ["Geschuetz anhaengen","hook-gun.sqf",0];
    };

If (_weiter == 0 AND !_hooked AND (_guntype=="D30_CDF" OR _guntype=="D30_RU" OR _guntype=="D30_INS")) then {
    hint format ["%1 erfolgreich angehaengt.",_guntype];
    _gun attachTo [_tractor,[0,-6.8,-1.2],"hatch1"];   
    _tractor addaction ["Abhaengen","hook-gun.sqf",1];
    _hooked = true;
    };
   
If (_weiter == 0 AND !_hooked AND (_guntype=="ZU23_CDF" OR _guntype=="ZU23_GUE" OR _guntype=="ZU23_INS")) then {
    hint format ["%1 erfolgreich angehaengt.",_guntype];
    _gun attachTo [_tractor,[0,-5.5,-0.2],"hatch1"];   
    _tractor addaction ["Abhaengen","hook-gun.sqf",1];
    _gun setdir 180;
    _hooked = true;
    };

If (_weiter == 0 AND !_hooked AND _guntype=="M119") then {
    hint format ["%1 erfolgreich angehaengt.",_guntype];
    _gun attachTo [_tractor,[0,-6.3,-1.2],"hatch1"];   
    _tractor addaction ["Abhaengen","hook-gun.sqf",1];
    _gun setdir 180;
    _hooked = true;
    };
   
If (_weiter == 1) then {
    hint format ["%1 erfolgreich abgehaengt.",_guntype];
    detach _gun;
    _tractor addaction ["Geschuetz anhaengen","hook-gun.sqf",0];
    };

While {_hooked} do {
hint "test";
    If (_speed >= 45) then {hint "Fahren Sie langsamer!");
    If (_speed >= 60) then {
        hint "Geschuetz verloren! Neu anhaengen!";
        detach _gun;
        _gun setdamage 1;
        _tractor removeaction _action;
        _tractor addaction ["Geschuetz anhaengen","hook-gun.sqf",0];
        };
    sleep 1;
    };

Aber komischerweise funktioniert meine While Schleife ganz am Ende des Skripte nicht. Und das mit dem isNull funktioniert nicht. Sonst funktioniert das Skript ganz gut =)


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