18.07.2016, 21:45 | #1 (permalink) |
Registriert seit: 11.02.2010
Beiträge: 69
|
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 |
19.07.2016, 08:48 | #2 (permalink) |
Registriert seit: 15.05.2011
Beiträge: 1.109
|
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). |
22.07.2016, 07:31 | #4 (permalink) |
Registriert seit: 20.06.2016
Beiträge: 37
|
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 |
22.07.2016, 13:52 | #6 (permalink) |
Registriert seit: 20.06.2016
Beiträge: 37
|
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 |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|