GUI

aRKeycH

Mancubus
lo ehm jo Ich bin irgendwie blind ,Ich find den fehler nicht in meinem gui script,Ich weiss nur noch das die funktion onESC{set "cmd" "close"} nicht mehr funktioniert,nach dem Ich windowDef cool eingefügt habe.



Code:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Hauptfenster
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
windowDef Desktop 
{
 rect  0 ,0 ,640 ,480
 backcolor  0, 0, 0, 0.5  
 nocursor 0
 float Menugui "1"
 
 onESC   // funktioniert nicht mehr
 {
  set "cmd" "close";
 }
///////////////////////////////////////////////
 windowDef Option1    //hier irgewndwo sollte der fehler sein ,finde ihn aber nicht.
 {
  visible 0
  noevents 1
  rect  200, 200, 200, 20
  text  "StartGame"
  font  "fonts/"
  textscale 0.2
  textalign 1
  forecolor 0.1, 0.8, 0.2, 1
  
  onMouseEnter
  {
   set "forecolor" "0.4, 0.3, 0.8, 1";
  }
  
  onMouseExit
  {
   set "forecolor" "0.1, 0.8, 0.2, 1";
  }
  
  onMouseAction
  {
   set "cmd" "startgame";
  }
 }
   
/////////////////////////////////////////////////////////////////////////////
 windowDef text1
 {
  visible 0
  rect  60, 50, 200, 20
  text  "Main Menu"
  font  "fonts/"
  textscale 0.2
  textalign 1
  forecolor 0.2, 0.6, 0.7, 1 
 } 
/////////////////////////////////////////////////////////////////////////////
/* windowDef test1
 {
  visible 1
  rect  590, 440, 10, 10
  backcolor 0.7, 0, 0, 0.5
  bordercolor   1, 0, 0, 1
  bordersize 0.3
  
  
  onMouseEnter
  {
   set "invertrect" "1";
   transition "test1::rect" "590 440 10 10" "590 440 400 400" "200";
  }
  
  onMouseExit
  {
   transition "test1::rect" "590 440 400 400" "590 440 10 10" "200";
  }
 }*/
///////////////////////////////////////////////////////////////////////////// 
 windowDef Menu1
 {
  //visible 1
  rect  40, 40, 10, 10
  backcolor 0.7, 0, 0, 0.5
  bordercolor   1, 0, 0, 1
  bordersize 0.3
 
 
  onMouseEnter
  {
   transition "Menu1::rect" "40 40 10 10" "40 40 400 400" "200";
   set "text1::visible" "1";
   set "Option1::visible" "1";
   
  }
  
  onMouseExit
  {
   set "text1::visible" "0";
   set "cool::visible" "0";
   transition "Menu1::rect" "40 40 400 400" "40 40 10 10" "200";
  }
  
 }
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Ende Hauptfenster
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
 

aRKeycH

Mancubus
weiss keiner ne lösung ?


oder seid Ihr alle zu faul *joke* ;)


na dann muss Ich mich halt eher an das alte doom menu orientieren.
 

Onan

Arch-Vile
Nein, es sind nur viele über Weihnachten Zwangs-Offline. Also wo genau geht das GUI nicht? Und an welcher stelle hast du das Fenster "cool" eingefügt? Ich habs getestet, und es geht alles bis auf startgame. Der korrekte Befehl lautet "OnAction" und nicht "OnMouseAction". Îch teste morgen weiter, das kriegen wir schon.
 

aRKeycH

Mancubus
oi Ich bin son Idiot! lol


Ich weiss jetzt nicht wie Ich dazu komme OnMouseAction zu schreiben rofl.

Ich muss glaub sorgfälltiger arbeiten löl.
Ich habe früher schon lange genug gebraucht um nicht immer die blöcke } vergessen zu schliessen,darüber bin Ich gott sei dank hinweg.


Das mit dem fenster cool , habe Ich entfernt,das war glaub eh auskommentiert wenn Ich mich noch recht erinnere.*grübel*

Ich werds nochmal anschauen hehe.


Ich studiere die guis erst seit 2 tagen.

fett das die Level Guis(controlpanels) nur mal gerade knapp 1000 zeilen sind :lol:


stell sich mal einer vor ,wenn jemand ein abbild von ner tastatur coden wolle,da währen glaub ein paar tausend nötig,aber währe eh schwachsinnig :)
 

aRKeycH

Mancubus
Ach da währ noch wass,Ich hab mir mal ne kleine eigenschafts,und commands liste gemacht,für die guis(dammit Ich sie ned vergesse.
Aber Ich bezweifle das das alle sind ,die mit den guis funktionieren.


visible 1 or 0
rect PosX, PosY, X, Y
text "Mein Text"
textscale 0.1-100?
textalign 0=links 1=mitte 2=rechts
textalignx nach rechts von X
textaligny nach unten Y
bordersize 0.1-100?
backcolor R, G, B, A
background R, G, B, A
forecolor R, G, B, A
matcolor R, G, B, A
font filepath/blabla.tga
noevents 0 or 1
invertrect 0 or 1 (invert X,and Y size)
nowrap 0 or 1
windowDef Object X, Y, auflösungX,auflösungY
onTime
onMouseEnter
onMouseExit
onAction

resetTime
noTime
set

transition
float
float Menugui "1"


wenn du noch mehr weisst bitte vervollständigen,schleifen,if abfragen ect. nicht mit gerechnet.
 

aRKeycH

Mancubus
sorry for spamm



Ja es leuft thx habs mir nochmal angeschaut.


und habe gemerkt das das noevent flag falsch gesetzt,und unvollständig war(stimmt flag überhaupt?)
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Code:
 windowDef Option1
 {
  visible 0
  noevents 1                       //1.fehler        flag war vorher auf 0 das ist wenn man logisch denkt falsch. 
  rect  200, 200, 200, 20
  text  "StartGame"
  font  "fonts/"
  textscale 0.2
  textalign 1
  forecolor 0.1, 0.8, 0.2, 1
  
  onMouseEnter
  {
   set "forecolor" "0.4, 0.3, 0.8, 1";
  }
  
  onMouseExit
  {
   set "forecolor" "0.1, 0.8, 0.2, 1";
  }
  
  onAction
  {
   set "cmd" "startgame";
  }
 }
  


Und dann:

Code:
 windowDef Menu1
 {
  //visible 1
  rect  40, 40, 10, 10
  backcolor 0.7, 0, 0, 0.5
  bordercolor   1, 0, 0, 1
  bordersize 0.3
 
 
  onMouseEnter
  {
   transition "Menu1::rect" "40 40 10 10" "40 40 400 400" "200";
   set "text1::visible" "1";
   set "Option1::visible" "1";
   set "Option1::noevents" "0";  //2.er fehler flag auch falsch gesetzt. vorher = 1
  }
  
  onMouseExit
  {
   set "text1::visible" "0";
   set "Option1::visible" "0"; //3ter fehler wenn man das rect verliess blieb das Option1 stehn,hatte zeile vergessen
   transition "Menu1::rect" "40 40 400 400" "40 40 10 10" "200";
  }
  
 }

Ich tus mir anscheinend schwer logisch zu denken,aber es stimmt schon wenn man sich festgefahren hat soll ,mans entweder von jemand aussenstehenden (das noch objektiv sein kann) analysieren lassen.

Oder sich den Kopf frei halten und es später versuchen.


Jetzt ist nur noch das problem das komisch aussieht das Option1 hinter dem rect ist(obwohl es funktioniert(startgame)).

Das muss Ich noch schauen.


Hmm Das mit problem hab ICh mir schon gedacht,die fenster sind layer,in der reihen folge in der sie definiert sind,werden sie auch benutzt.


habe mal ausprobiert Das Option1 zuletzt an den code ranzuhängen,dann wars schöner aber,immer wenn man auf den link wollte dann hat sich das Menu1 rect logischerweise wieder zurück gezogen ,da ja Option das vorderste layer ist,und genau der grösse des rects wird dann Ja Menu1 überdeckt.

Habs auch mit mit ein paar noevent kombinationen ausprobiert,aber ohne erfolg.


also thx for help :)
 

aRKeycH

Mancubus
hehe Jo wenn ja alle schlafen! :D

Ne Ich weiss ned seit, Ich an den Guis rumspiele habe Ich nicht mehr so viel geschlafen,die scheiss Engine fesselt mich irgendwie. :hammer:

Aber wenigstens habe Ich endlich mal für so etwas zeit.



Achja Ich hab bei mir nur mal base_door/base_wall/base_floor gefixt

wenn du ide matfiles ausprobieren willst schreib ne pm,es gibt auch ne fixlist dazu , für die shader die entfernt wurden(vom editor nicht erkannt weil tex fehlt),darin steht auch welche noch zu beheben sind.
Es sind bis ca. 200 oder so gefixt.
 

Onan

Arch-Vile
So, ich hab mal alle Befehle zusammengetragen und erklärt, soweit die Funktion bekannt ist.

Hier ist die GUI-befehlsliste, die ihr auch über Editing->Advanced erreichen könnt.

Wenn jemand weiß, wann der befehl onEvent getriggert wird, also was mit Event gemeint ist, dann bitte mir sagen.
 

k3rn3lpanic

B.J. Blazkowicz
Evtl. hilft euch auch das. Is zwar für Q3TA, aber ich sag ma mit meinen bisher leicht mangelhaften D3-Codingkenntnissen, dass sicht ned viel verändert hat... Einfach ma schaun, hilft viel :)
 
Top