PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dialog Prob


Big Fan
16.01.2010, 06:45
Moin moin Leutz


Hab mich mal dran gesetzt und mal ein wenig rum probiert in Sachen Dialoge.
Ich gestehe ich hatte bisher noch nicht viel bzw nix damit zu tun und als Lernvorlage nuzte ich das Tut von Vektorbosson.

Nun gut, angefangen und recht gut voran gekommen doch irgendwie blick ich's im mom nicht so recht.

Ich wollte eine Listbox erstellen, was auch ganz gut ging aber ArmA² sagt mir nun immer das hier DlgTutorial/MY_BUTTON.colorBackgroundDisabled'
wenn ich den Dialog aufrufe.

Habe den Dialog mittels HPP Datei in die Description eingebunden.

So sieht das nun aus
#define CT_COMBO 4
#define CT_LISTBOX 5

#define ST_LEFT 0
#define ST_RIGHT 1
#define ST_CENTER 2

#define CT_STATIC 0
#define ST_LEFT 0
#define ST_RIGHT 1
#define ST_CENTER 2

#define CT_STATIC 0
#define CT_ACTIVETEXT 11
#define CT_BUTTON 1
#define ST_FRAME 64
#define CT_EDIT 2

#define FontHTML "CourierNewB64"

class RscText
{
type = CT_STATIC;
idc = -1;
style = ST_LEFT;
colorBackground[] = {0, 0, 0, 0};
colorText[] = {1, 1, 1, 1};
font = zepelin32;
sizeEx = 0.04;
};

class RscButton
{
type = CT_BUTTON;
idc = -1;
style = ST_CENTER;
colorText[] = {0, 0, 0, 1};
font = Zepelin32;
sizeEx = 0.025;
soundPush[] = {, 0.2, 1};
soundClick[] = {"ui\ui_ok", 0.2, 1};
soundEscape[] = {"ui\ui_cc", 0.2, 1};
default = false;
};

class RscActiveText
{
type = CT_ACTIVETEXT;
idc = -1;
style = ST_LEFT;
color[] = {1, 1, 1, 1};
colorActive[] = {1, 0, 0, 1};
font = Zepelin32;
sizeEx = 0.04;
soundEnter[] = {"ui\ui_over", 0.2, 1};
soundPush[] = {, 0.2, 1};
soundClick[] = {"ui\ui_ok", 0.2, 1};
soundEscape[] = {"ui\ui_cc", 0.2, 1};
default = false;
};

class RscEdit
{
type = CT_EDIT;
idc = -1;
style = ST_LEFT;
font = FontHTML;
sizeEx = 0.02;
colorText[] = {0, 0, 0, 1};
colorSelection[] = {0.5, 0.5, 0.5, 1};
autocomplete = false;
text = ;
};

class RscLB_C
{
style = ST_LEFT;
idc = -1;
colorSelect[] = {0.4, 0.4, 0.4, 1};
colorSelectBackground[] = {0.2, 0.2, 0.2, 1};
colorText[] = {0.2, 0.2, 0.2, 1};
colorBackground[] = {0.4, 0.4, 0.4, 1};
font = FontHTML;
sizeEx = 0.025;
rowHeight = 0.04;
};

class RscListBox : RscLB_C
{
type = CT_LISTBOX;
};

class RscCombo : RscLB_C
{
type = CT_COMBO;
wholeHeight = 0.3;
};

class DlgTutorial
{
idd = -1;
movingEnable = true;
controlsBackground[] = { MY_BACKGROUND, MY_FRAME };
class MY_BACKGROUND : RscText
{
colorBackground[] = {0.4, 0.4, 0.4, 0.75};
text = ;
x = 0.2;
y = 0.1;
w = 0.6;
h = 0.7;
};
class MY_FRAME : RscText
{
idc = 103;
style = ST_FRAME;
colorText[] = {1, 1, 1, 1};
text = "Mein Dialog";
sizeEx = 0.025;
x = 0.22;
y = 0.12;
w = 0.58;
h = 0.68;
};
objects[] = { };
controls[] = { HELLO_WORLD, CLICK_ME, MY_BUTTON, MY_LIST };
class HELLO_WORLD : RscText
{
idc = 100;
style = ST_CENTER;
x = 0.4;
y = 0.45;
w = 0.2;
h = 0.1;
text = "Hello World!";
};
class CLICK_ME : RscActiveText
{
idc = 101;
style = ST_CENTER;
x = 0.4;
y = 0.65;
w = 0.2;
h = 0.05;
text = "Klick Mich!";
action = "ctrlSetText [100, lbData[104, lbCurSel 104]]";
default = true;
};
class MY_BUTTON : RscButton
{
idc = 102;
x = 0.4;
y = 0.25;
w = 0.2;
h = 0.04;
text = "Dialog schließen.";
action = "closeDialog 0";
};
class MY_LIST : RscListBox
{
idc = 104;
x = 0.4;
y = 0.3;
w = 0.2;
h = 0.15;
};
};

Danke schon mal

i0n0s
16.01.2010, 11:56
Es fehlen Definitionen bei RscButton, darunter auch das colorBackgroundDisabled. Genau dies will dir die Fehlermeldung sagen.
Schau dir die config.cpp in CA/UI an, da stehen die benötigten Definitionen.

Big Fan
16.01.2010, 21:15
Danke erstmal

Ähm wie, Es fehlen Definitionen bei RscButton?

Und wo finde ich die CA/UI?

Danke

i0n0s
17.01.2010, 02:05
In der ui.pbo?

Big Fan
17.01.2010, 03:42
Hm klingt logich :zahn: ;)

Ok soweit so gut, war nen guter tip mit der Cfg. Hat sich ja ganz schön was getan seit Ofp in dem Bereich. Die Basislektüre von Bosson war ganz gut, doch musste der Dialog noch recht ergänzt werden.

Danke nochmals

BTW: Vll nochmal ne echte anfängerf frage, aber Texte für die Bottons spricht man über die idc an richtig?!

i0n0s
17.01.2010, 12:29
Ja

Big Fan
17.01.2010, 17:13
Danke

Bräuchte da aber doch noch mal hilfe :verlegen:

So sieht das jetzt aus
#define CT_COMBO 4
#define CT_LISTBOX 5

#define ST_LEFT 0
#define ST_RIGHT 1
#define ST_CENTER 2

#define CT_STATIC 0
#define ST_LEFT 0
#define ST_RIGHT 1
#define ST_CENTER 2

#define CT_STATIC 0
#define CT_ACTIVETEXT 11
#define CT_BUTTON 1
#define ST_FRAME 64
#define CT_EDIT 2

#define FontHTML "CourierNewB64"

class RscText
{
type = CT_STATIC;
idc = -1;
style = ST_LEFT;
colorBackground[] = {0, 0, 0, 0};
colorText[] = {5, 5, 5, 5};
font = zepelin32;
sizeEx = 0.04;
};

class RscButton
{
type = CT_BUTTON;
idc = -1;
style = ST_CENTER;
colorText[] = {2, 3, 4, 1};
font = FontHTML;
sizeEx = 0.025;
soundPush[] = {, 0.2, 1};
soundClick[] = {"ui\ui_ok", 0.2, 1};
soundEscape[] = {"ui\ui_cc", 0.2, 1};
default = false;
};

class RscActiveText
{
type = CT_ACTIVETEXT;
idc = -1;
style = ST_LEFT;
color[] = {5, 5, 5, 5};
colorActive[] = {0, 0, 0, 0};
font = FontHTML;
sizeEx = 0.04;
soundEnter[] = {"ui\ui_over", 0.2, 1};
soundPush[] = {, 0.2, 1};
soundClick[] = {"ui\ui_ok", 0.2, 1};
soundEscape[] = {"ui\ui_cc", 0.2, 1};
default = false;
};

class RscEdit
{
type = CT_EDIT;
idc = -1;
style = ST_LEFT;
font = FontHTML;
sizeEx = 0.02;
colorText[] = {1, 1, 1, 1};
colorSelection[] = {0.5, 0.5, 0.5, 1};
autocomplete = false;
text = ;
};

class RscLB_C
{
style = ST_LEFT;
idc = -1;
colorSelect[] = {0.4, 0.4, 0.4, 1};
colorSelectBackground[] = {0.2, 0.2, 0.2, 1};
colorText[] = {0.2, 0.2, 0.2, 1};
colorBackground[] = {0.4, 0.4, 0.4, 1};
font = FontHTML;
sizeEx = 0.025;
rowHeight = 0.04;
};

class DlgTutorial
{
idd = -1;
movingEnable = true;
controlsBackground[] = { MY_BACKGROUND, MY_FRAME };
class MY_BACKGROUND : RscText
{
colorBackground[] = {0.6, 0.6, 0.6, 0.65};
text = ;
x = 0.2;
y = 0.1;
w = 0.6;
h = 0.7;
};
class MY_FRAME : RscText
{
idc = 103;
style = ST_FRAME;
colorText[] = {2, 4, 5, 7};
text = "Mein Dialog";
sizeEx = 0.025;
x = 0.22;
y = 0.12;
w = 0.58;
h = 0.68;
};
objects[] = { };
controls[] = { HELLO_WORLD, CLICK_ME, MY_BUTTON, };
class HELLO_WORLD : RscText
{
idc = 100;
style = ST_CENTER;
x = 0.4;
y = 0.45;
w = 0.2;
h = 0.1;
text = "Hello World!";
};
class CLICK_ME : RscActiveText
{
idc = 101;
style = ST_CENTER;
x = 0.4;
y = 0.65;
w = 0.2;
h = 0.05;
text = "Klick Mich!";
action = "ctrlSetText [100, lbData[104, lbCurSel 104]]";
default = true;
};
class MY_BUTTON : RscButton
{
idc = 102;
x = 0.4;
y = 0.25;
w = 0.2;
h = 0.04;
colorDisabled[] = {0.400000, 0.400000, 0.400000, 1};
colorBackground[] = {1, 0.537000, 0, 0.500000};
colorBackgroundActive[] = {1, 0.537000, 0, 1};
colorBackgroundDisabled[] = {0.950000, 0.950000, 0.950000, 1};
colorFocused[] = {1, 0.537000, 0, 1};
colorShadow[] = {0.023529, 0, 0.031372, 1};
colorBorder[] = {0.023529, 0, 0.031372, 1};
offsetX = 0.003000;
offsetY = 0.003000;
offsetPressedX = 0.002000;
offsetPressedY = 0.002000;
borderSize = 0.000000;
soundEnter[] = {"\ca\ui\data\sound\mouse2", 0.090000, 1};
soundPush[] = {"\ca\ui\data\sound\new1", 0.090000, 1};
soundClick[] = {"\ca\ui\data\sound\mouse3", 0.070000, 1};
soundEscape[] = {"\ca\ui\data\sound\mouse1", 0.090000, 1};
text = "Click";
action = "closeDialog 0";
};
};
und das funktionert das auch, zumindest für das was ich vor habe, aber ich bekomm die beschriftung nicht hin für den Botton und den Hintergrund. *schäm*. Habe die Ganze Nacht alles ausprobiert aber bin kein stück weiter gekommen.

:danke: schon und noch mal.


Gruß
BF

BTW: Könnte doch bitte einer der Mods ins ArmA2 editing Forum verschieben. Habs aus lauter gewohnheit ins ArmA1 editing forum gepostet, sorry.

i0n0s
17.01.2010, 17:49
Was meinst du mit Beschriftung und was hast du angewandt?

Big Fan
17.01.2010, 18:06
Was meinst du mit Beschriftung und was hast du angewandt?
Siehe Bild.
Ich möchte das der Botton beschriftet ist, sowie das in dem Rahmen auch etwas steht. Bekomme es aber irgendwie nicht gebacken ;)

i0n0s
17.01.2010, 23:38
colorText[] = {2, 3, 4, 1};
ist keine gültige Farbe. Da scheint es ganz pragmatisch zu sein und zeigt nichts mehr an.

Big Fan
18.01.2010, 03:32
danke.

Hm... gibts irgendwo tabellen für die Nurmmern der Farben?
Da kann man ja rumexperimentieren bis man schwarz wird bei 4 stellen :p

i0n0s
18.01.2010, 21:04
RGBA von 0 bis 1.
Da ist nicht viel mit Ausprobieren, das kann man so rechnen ;)

Big Fan
20.01.2010, 08:43
OK, hat soweit alles jetzt geklappt, wieder mal nen ganz simpler fehler *schäm*
das kann man so rechnen ;)
Ähm, doofe frage jetzt, wie farbe errechnen. Gibts dafür ne formel? Kenne sie nicht *ooops*