Einzelnen Beitrag anzeigen
Alt 04.07.2014, 15:10   #7 (permalink)
Drunken Officer
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

Ko Keksi, dass klinglt alles schlimmer als es ist.

Du definierst deinen Dialog und die ComboBox. Mit lbCurSel kannst du auslesen, welcher Wert angeklickt wurde. Praktischerweise ist der erste Wert im 0, so dass es beim Array keine Probleme gibt.
Entweder du läßt das Script welches den Wert ausliest syncron laufen zum Dialog oder aber du hast einen Knopf "Guggn" der dann das Script anzieht.

Merke: Erst auslesen, dann Dialog schliessen

Desweiteren definierst du ein Display. Das wird das Ziel für deine Rendertarget-Geschichte.
Und jetzt noch Array. Baue den Baustein von Vienna einfach mit ein.

Hier mal eine statische Varinate, wenn du z.B. einen Knopf im Dialog hast.
Ansonsten die syncrone Variante, mit der While und Waitunitl bedingung.

Angenommen das ComboFeld hat die IDC = 110;
Code:
waituntil {Dialog};
spielerListe = []; // das ist der erwähnt array
{if (isPlayer _x) then {spielerListe=spielerListe+[_x]}} forEach playableUnits;
abbildung = spielerListe  select (lbCurSel 110);
[abbildung] execVM "camscript.sqf"
Der Wert Abbildung entspricht jetzt dem gewählten Spieler und ist im Camscript select 0.
Du mußt den Wert nicht übergeben, da er Global ist, kannst du aber.

CamScript ist nicht einfach! Ist nicht nur ein AttachBefehl. Du mußt die Kopfbewegung auslesen. Deswegen greife auf das vorhandene zurück.
Dann mußt du natürlich die blau markierte Zeile ändern. Lies dir die Parameter durch, die er braucht.

Angenommen du gehst weiter deinen eigenen Weg.
Du mußt die Camera an die Figur (select 0) [was der Spieler ist] anheften.
So wie das Klang, willst du die Ego Perspektive des Spielers haben. Dann darfst du nicht den Spieler als CamTarget nehmen.
Wenn es eine Abbildung der Figur werden soll, dann mußt die Camera nicht anheften sonder einfach den Spieler als Ziel nehmen.
Dann richtetst du dein CamScript ein. Ist diese Einrichtung/Ausrichtung erfolgt läßt du das o.g. Display öffnen. Kannst du gleich mit einem Schwung durchdefinieren. Ist ja sowieo eine eigene Klasse.

Und auf dieses Display übeträgst du das CameraBild. Denn bei einem offenen Dialog, kannst du die Puppe nicht bewegen.

Das ganze kann so aussehen, da habe ich beide Elemente verbaut.
Schau mal bei 6 min rein. Bei 6:3x min siehst du das da ein Camscript läuft und die Einheiten filmt.
https://www.youtube.com/watch?v=uDTPg6kSBsI

Geändert von Drunken Officer (04.07.2014 um 15:17 Uhr).
Drunken Officer ist offline