Hallo Leute,
heute möchte ich euch den ersten Teil der Dialog Basics ein bisschen näher bringen. Das Dialog Tutorial wird sich über mehrere Reihen ziehen.
Also fangen wir mal an.
Also was ist den nun ein Dialog, was braucht man und was gibt es alle?
Für einen Dialog benötigt man zuerst mal eine config datei indem die Klassen der Dialoge angeführt werden (Wie ist der Stil dieser Box, Hintergrund, was macht was). Kann man sich so vorstellen wie eine VehicleCfg.
Hierfür wird in Altis Life die sogenannte config.cpp (eher für Mods) oder die description.ext (eher für Missionen) genutzt. Der Grund liegt hierbei weil die description.ext eine überbrückte Version der config.cpp ist d.h. man kann weniger definieren. (wie z.B keine CfgVehicle klassen).
Deswegen werden wir uns eher auf die description.ext fokussieren.
Es gibt 2 Wege wie man eine GUI anzeigen lassen kann.
Nummero 1 :
cutRsC/titleRsc --> Hierbei wird das Bild sozusagen als Display angezeigt - Bedeutet keine Kontrolle über den Maus Cursor kennt ihr sicher vom "Black OUT", "BLACK FADED", "WHITE OUT","PLAIN", etc.
Nummero 2:
createDialog --> Hierbei wird das Bild als Dialog angezeigt - Bedeutet Kontrolle über Maus Cursor (Normaler Dialog wie z.B das Z Inventar etc.)
In der description.ext wird ein Dialog wie hier zum Beispiel eine Bild in der Mitte des Bildschirmes wie folgt erstellt:
Zuerst benötigt muss man den Titel anführen wie z.B.
Hierbei ist wichtig das der Namen nicht mit einem anderen "Titel" übereinstimmen darf!
Zunächst kommt die idd (Display ID) Jeder Dialog muss eine idd besitzen um bei Bedarf auf diesen zu referieren. Dies kann eine beliebte Zahl sein oder einfach -1 wenn man nicht mehr auf diesen referieren will.
Jetzt die duration (Dauer) = Selbsterklärend - wie lange soll dieser Dialog am Bildschirm angezeigt werden. Beachtet die totale duration zeit inkludiert fade in und fade out.
Jetzt fehlt uns nur noch der Control:
Dies ist eine Spezielle Klasse und beinhaltet alle Anzeige Elemente wie z.B Hintergrund, Schriftart, Ausrichtung, etc.
Hier eine kleine Erklärung des Control:
class ExampleControl
{
idc = -1;
type = 0;
style = 0;
x = 0.125;
y = 0.125;
h = 0.75;
w = 0.75;
font = "EtelkaNarrowMediumPro";
sizeEx = 0.05;
colorBackground[] = {1,1,1,0};
colorText[] = {1,1,1,1};
text = "textures\example.paa";
lineSpacing = 1;
};
Alles anzeigen
idc = Control ID - jede Klasse braucht Ihre eigene ID das bei Bedarf auf sie Bezug genommen werden kann. Man kann -1 verwenden wenn man keinen direkten Bezug auf die Klasse benötigt.
type = Typ von der Klasse wie z.B. Text Box, Button, listbox etc. Jeder type hat seine eigene Nummer welche Ihn identifiziert. Es kann Dezimal oder Hexadezimal sein. In diesem Falle ist 0 eine einlinige Text Box.
style= Anzeige Stil wie z.B Rahmen, Ausrichtung etc. ebenfalls mit dezimal sowie hexadezimal. Die Nummer 0 ist Standart also linksbündiger Text. (Mehr dazu in einen darauf folgenden Tutorial)
x = Kontrolliert X Achse
y= same
h= die Höhe der Klasse
w= die weite der Klasse
font= Schriftart (alle möglichen Schriftarten Direkt hier)
sizeEX= Schriftgröße
ColorBackround = Hintergrundfarbe {r,g,b,a}
colorText = Schriftfarbe {r,g,b,a}
text = Text oder pfad für Textur
Das ganze zusammen sieht dann wie folgt aus:
class RscTitles
{
class Logo
{
idd = -1;
duration = 6;
class controls
{
class ExampleControl
{
idc = -1;
type = 0;
style = 2192;
x = 0.125;
y = 0.125;
h = 0.75;
w = 0.75;
font = "EtelkaNarrowMediumPro";
sizeEx = 0.05;
colorBackground[] = {1,1,1,0};
colorText[] = {1,1,1,1};
text = "textures\logo.paa";
lineSpacing = 1;
};
};
};
};
Alles anzeigen
Hoffe man versteht es so halbwegs.
Werde wenn Zeit natürlich weitere Tutorials bezüglich Dialoge machen. Außer jemand ist so gut und nimmer mir die Arbeit ab
LG