HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-167/)
-   -   waitUntil (Status known); ? (https://hx3.de/editing-scripting-167/waituntil-status-known-21664/)

killshot 13.07.2012 06:50

waitUntil (Status known); ?
 
Hey,

ich bin der Anführer einer Gruppe, der zwei weitere Soldaten angehören.

Sobald einer von ihnen ums Leben kommt wird ein Script gestartet.


losses.sqf
Code:

waituntil {not alive two};

if (!alive two) then
{
sleep 4;
player globalchat "Verdammt sie haben Finn erwischt!";
sleep 4;
player sidechat "Falkennest, kommen! Tulur 2 wurde ausgeschaltet! Wiederhole: Tulur 2 wurde ausgeschaltet";
sleep 8;
[West,"HQ"] sideChat "Verstanden Tulur 1. Setzen Sie ihre Mission fort! Wir kümmern uns darum!";
};

waituntil {not alive three};

if (!alive two) then
{
sleep 4;
player globalchat "Verdammt sie haben Mike erwischt!";
sleep 4;
player sidechat "Falkennest, kommen! Tulur 3 wurde ausgeschaltet! Wiederhole: Tulur 3 wurde ausgeschaltet";
sleep 8;
[West,"HQ"] sideChat "Verstanden Tulur 1. Setzen Sie ihre Mission fort! Wir kümmern uns darum!";
};

Das funktionert auch wunderbar, allerdings unter Umständen mit einem kleinen Logikfehler.

Wenn sich eine Einheit meiner Gruppe hunderte Meter entfernt befindet und ich dessen Status nicht kenne (weil ich ihn einfach nicht abgefragt habe (Funkmenü 5,5) und diese dann aber ums Leben kommt, dann startet das Script ("Verdammt Sie haben Finn erwischt!"), obwohl der Status ja noch unbekannt ist.

Und nachdem mein gescriptetes Funkgespräch, in dem ja der Tod bereits Thema war, beendet ist, wird dem Spieler irgendwann der Status von Spieler2 vermittelt und es kommt das altbekannte "Oh no, two is down"!

Jetzt also nochmal die nackte Frage (sorry ^^^)

Kann man das waituntil auch auf die spielinterne Statusmeldung beziehen?
Damit es halt immer in logischer Reihenfolge abläuft?

waituntil "Oh no, 2 is down" then "eigener Funk" ?


Grüße :)

Vienna 13.07.2012 08:04

count units Gruppe Die Anzahl ändert sich erst nach der Totmeldung aus der Gruppe.

killshot 13.07.2012 09:13

Gibt es nicht die Möglichkeit ein "2, Report status!" im Script zu erzwingen?

Damit die getötete Einheit (hinterm Berg, etc.) vor meinem "Custom-Funk"
als allgemein tot gilt?


Oder geht das etwa mit dem count units group Befehl?

Vienna 13.07.2012 12:34

units gibt in einem Array die lebenden Soldaten der Gruppe aus. Eine tote Einheit wird nicht sofort aus der Liste entfernt, sondern erst wenn ein Kamerad seinen Tod feststellt.

Stirbt ein Soldat außer Sichtweite eines Kameraden, dann wird er nicht aus der Liste entfernt. In so einem Fall kannst du ihn ja nach einer Wartezeit händisch mit [Unit] join grpNull aus der Liste entfernen.

Du kannst die Gruppenmeldung ausschalten, indem du den Toten sofort aus der Gruppe entfernst.


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