HX3 Foren

HX3 Foren (http://hx3.de/)
-   Editing & Scripting (http://hx3.de/editing-scripting-167/)
-   -   Dunkelphasen auslesen (http://hx3.de/editing-scripting-167/dunkelphasen-auslesen-21365/)

Franzl 07.03.2012 22:39

Dunkelphasen auslesen
 
Hallo,

ich habe folgendes Problem, ich möchte gern die Phasen auslesen, wann die Nacht endet und wann sie beginnt! Da sich dies von der Winterzeit zur Sommerzeit stetig ändert habe ich versucht das über die Strassenlampen auszulesen! Da mir aber mit dem Befehl "lightIsOn" im Umkreis standig nur "AUTO" angezeigt wird, kann ich daraus, egal zu welcher Tageszeit nicht den Zustand (An oder Aus) feststellen.

Da ich ebenfalls keine Lust habe 730 Einträge für ein Jahr anzufertigen, wollte ich mal fragen, ob es eine Einfache Lösung gibt, auf die ich noch nicht gestoßen bin???

Code:

If("AUTO" == "ON")???

Buliwyf 08.03.2012 05:38

Hm, wie wäre es irgendwo eine KI ins Abseits zu stellen, die nur mit einem NVG ausgestattet ist und abzufragen, wann diese das NVG nutzt?! Befehl dazu: currentVisionMode

:whi:

Franzl 08.03.2012 09:25

Danke Buliwyf,

das war sehr hilfreich, obwohl ich nicht weiss ob dies dann bei Arma2 funktioniert wenn nur Arma2 installiert ist! Aber das werde ich später mal testen!

Hab das vorerst so gelöst und es in eine Funktion eingebaut:

Code:

check_night = {
                    private ["_night_check_point", "_use_nv", "_lamp_check", "_check_grp", "_check_unit"];
                   
                    _night_check_point = _this select 0;
                    _lamp_check = 0;
                    _use_nv = 0;
                    _check_grp = createGroup resistance;
                    _check_unit = _check_grp createUnit ["UN_CDF_Soldier_Officer_EP1", _night_check_point, [], 1, "PRIVATE"];
                    _check_unit setPos [_night_check_point select 0, _night_check_point select 1, 6000];
                    sleep 0.5;
                    if(alive _check_unit)then{sleep 0.05;_use_nv = currentVisionMode _check_unit;};
                    switch(_use_nv) do
                    {
                    case 0:{_lamp_check = false;};
                    case 1:{_lamp_check = true;};
                    };
                    sleep 0.05;
                    deleteVehicle _check_unit;
                    _lamp_check
            };

Also vielen Dank nochmal

Vienna 09.03.2012 12:10

Du stellst ja den Tag im Editor ein. Da kannst du doch austesten, wann es dunkel oder hell an diesem Tag wird.

Die Uhrzeit ist mit diesem Befehl festzustellen: http://community.bistudio.com/wiki/daytime

Erstelle einen Mehrfach-Funk-Auslöser und gib "Bei Akt.:" ein:

hint format ["Tageszeit: %1",daytime]

Die Zeit wird dezimal angezeigt.

Franzl 09.03.2012 13:52

Jo Vienna,

das ist auch richtig, aber ich wollte mir die arbeit nicht mehrmals machen und es auslesen bzw. festlegen wann es hell und dunkel wird! So starte ich einfach die Abfrage und das Programm weiss wann es dunkel ist oder nicht!

Code:

_ist_dunkel = false;

_ist_dunkel = [markerPos "Test"] call check_night;

if(_ist_dunkel)then{_search_lamp = "SearchLight_TK_EP1" createVehicle _pos;};

Das ist nur ein kleines Beispiel, aber vom Prinzip her, spar ich mir dadurch Zeit und X-Mal testen, wann es eben dunkel oder wieder hell wird!

Danke aber nochmal

Vienna 09.03.2012 16:13

Wenn du den folgenden Code z.B. in die Initialisierungszeile eines Zivilisten reinkopierst, dann ist bei Dunkelheit die Variable Nacht auf true gesetzt, sonst auf false.

Code:

this addWeapon "NVGoggles";
temp = this spawn
 {
  while {alive _this} do
    {
      Nacht=false;
      if (currentVisionMode _this == 1) then {Nacht=true};
      sleep 5
    }
 }



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