Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 18.07.2016, 21:45   #1 (permalink)
50 Beiträge
 
Registriert seit: 11.02.2010
Beiträge: 69
Standard Erschöpfungsskript

Hab ein Skript geschrieben, welches dem Erschöpfungszustand noch eins draufsetzen soll, um Packesel ein wenig einzubremsen. Nach festgelegter Zeit fängt die Spielerfigur an zu stöhnen und wenn man dann nicht langsamer macht, wird man ohnmächtig und muss warten, bis man wieder Puste hat.

Das Skript funktioniert so weit, aber man kann das Ding sicherlich noch optimieren. Wäre für Tipps sehr dankbar.

[]execVM "fatigue.sqf";

Code:
_time = 5;
_unit = player;
_snd = ["A3\sounds_f\characters\human-sfx\Person0\P0_moan_10.wss","A3\sounds_f\characters\human-sfx\other\vzkriseni_02.wss"];
_txt = "Nimm Streichhölzer, wenn dir das Sturmfeuerzeug zu schwer ist!";
 
while {alive _unit} do

 
        {
            waitUntil {sleep 1; getFatigue _unit == 1}; 
            sleep _time;
            playsound3d [_snd select 0,_unit];
            sleep _time;
            
            if (getFatigue _unit == 1) then
        
                    {
                        sleep _time /2; 
                        _unit setUnconscious true;
                        _unit allowDamage false;
                        titleCut ["","BLACK OUT",1];
                        sleep 2*_time;
                        [_txt] call bis_fnc_dynamictext;
                        titleCut ["", "BLACK IN",10];
                        sleep _time /2;
                        _unit setFatigue 0.5;
                        _unit setUnconscious false;
                        playsound3d [_snd select 1,_unit];
                        _unit allowDamage true;
                    };    
        
        };

Geändert von romans (19.07.2016 um 12:58 Uhr). Grund: Code ergänzt
romans ist offline  
Alt 19.07.2016, 08:48   #2 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

Bremse den Waituntil aus.
Waituntil checkt pro Frame. Brauchst du die Abfrage 50x pro Sekunde?

waitUntil {sleep 1; getFatigue _unit == 1};

Jetzt fragt er einmal pro Sekunde den Erschöpfungszustand ab.
Dein Script wird beendet, wenn die Person tot ist. Respawn beachtet?
__________________
Bewegende Momente bei ArmA 3

Geändert von Drunken Officer (19.07.2016 um 08:52 Uhr).
Drunken Officer ist offline  
Alt 19.07.2016, 13:15   #3 (permalink)
50 Beiträge
 
Registriert seit: 11.02.2010
Beiträge: 69
Standard

@ Drunken Officer

Vielen Dank! Deinen Tipp mit dem sleep nach waitUntil hab ich schon mal in einem deiner Beiträge gelesen, aber wieder vergessen. Jetzt sitzt das Ding aber.

Respawn hab ich über OnPlayerRespawn.sqf bedacht.
romans ist offline  
Alt 22.07.2016, 07:31   #4 (permalink)
Newbie
 
Benutzerbild von Sarogahtyp
 
Registriert seit: 20.06.2016
Beiträge: 37
Standard

du kannst dir das ganze durch 2 geteile sparen wenn du dir ne _halftime variable machst. dann wird aus

sleep _time /2;

das:

sleep _halftime;

spart nen paar rechenoperat8onen, ist 9n deinem script aber nur ne kleine optimierung und kein echter performance-gewinn.
__________________
Sarogahtyps Spawn Script Creator - SSSC
the easy way to cache ur units, vehicles and their waypoints
Sarogahtyp ist offline  
Alt 22.07.2016, 13:46   #5 (permalink)
50 Beiträge
 
Registriert seit: 11.02.2010
Beiträge: 69
Standard

@ Sarogahtyp

Vielen Dank für den Tipp.
romans ist offline  
Alt 22.07.2016, 13:52   #6 (permalink)
Newbie
 
Benutzerbild von Sarogahtyp
 
Registriert seit: 20.06.2016
Beiträge: 37
Standard

für
sleep _time * 2;
kannst du dasselbe machen, habe ich vorhin nur übersehen. spart auch wieder ne rechenoperation in der schleife.
__________________
Sarogahtyps Spawn Script Creator - SSSC
the easy way to cache ur units, vehicles and their waypoints
Sarogahtyp ist offline  
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Kontakt - HX3.de - Archiv - Nach oben

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