PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sqf Warteschlange mit Display programmieren


ApexApe
17.06.2016, 14:43
Hallöchen an euch alle!

Ich habe ein kleines Fenster erstellt, welches mir bestimmte Spieler Nachrichten anzeigt. Es ist ein Display (kein Dialog) und besitzt ein Textfeld / Label.
Nun möchte ich für jeden Eintrag im Array spielerinfos = []; das Textfeld mit dem Inhalt des Arrays füllen.
Jedoch soll immernur 1 Fenster angezeigt werden welches für 3 sec zu sehen ist, danach soll das nächste folgen usw (ich möchte es ohne den sleep befehl realisieren).
Ich dachte es funktioniert mit waituntil{!(ctrlVisible 2001)}; aber das scheint nicht zu gehen.
Außerdem kann das Array immer wieder mit Inhalten gefüllt werden dh es soll in einer Schleife laufen, wie eine Warteschlange. Diese wartet solange bis im Array wieder was drin steht und dann geht alles von Vorne los...
Hat jemand ne idee?

Nokman
18.06.2016, 08:56
Die Große Frage ist Wie machst du es bis jetzt wo ist dein Ansatz?
Wo kann man dir helfen?
Wie Rufst du es auf?

ApexApe
19.06.2016, 15:49
Dies ist mein Ansatz (sry ich dachte mein Text wäre eindeutiger):
nachrichten.hpp
class Anzeige : RscText
{
idc = 2100;
[...]
};

nachrichten.sqf
neueNachrichten = [];

while {true} do {

{
1 cutRsc["nachrichten", "PLAIN"];
ctrlSetText[2100, _x];
waitUntil {!(ctrlVisible 2100)}; //Das geht nicht
} foreach neueNachrichten;


};

Ich such halt ne methode mit der ich rausfinden kann wann ein display nicht mehr zu sehen ist...

Sarogahtyp
20.06.2016, 15:47
deine bedingung fürs waitUntil:
isNull (findDisplay 2100)