[WIP] MTA : SA GUI Designer

  • GESCHLOSSENES PROJEKT, SOURCE CODE GIBTS HIER
    GRÜNDE FÜR DAS SCHLIESSEN DES PROJEKTES, WERDEN/DÜRFEN NICHT ÖFFENTLICH BEKANNT GEGEBEN WERDEN.


    Hallo liebe Community,
    Ich möchte euch heute mein noch nicht fertiges Programm einmal ankündigen.
    Es handelt sich dabei um meinen GUI Designer.
    Dieser soll den InGame Editor ablösen und um einige Funktionen erweitern.


    ICH GEBE DAS PROJEKT BALD FREI FÜR ALLE(GITHUB OPEN-SOURCE), DA ICH KAUM MEHR ZEIT HABE UM DAS PROJEKT WEITER ZU ENTWICKELN.


    Den Source lade ich am Wochenende irgendwann mal hoch.
    Download : Designer.rar


    Changelog :
    + DX elemente![23.05.2016]
    + DX Export mit addEventHandler onClientRedner balbla [23.05.2016]
    + Combobox für den Designer[siehe Spoiler]
    + Sprachdateien[siehe Spoiler]
    + Setuproutine mit Deinstallation
    + Metro UI Design [siehe Spoiler]



    Sprachsupport wurde hinzugefügt. Englisch,Deutsch,Russisch


    Momentan steht noch kein Download an. Allerdingens streame ich am Freitag wieder auf livecoding.tv und vlt kommt die erste Alpha raus!

  • Ist der Editor für die bestehenden Standard GUI's gedacht oder für GUI's aus Dx Elementen?


    Für beides also erstmal die Standard GUI's aber später kommen dann noch DX Elemente in Einsatz.

  • Wie kommts denn, dass das Programm so groß ist? Und wenn es schon 60MB groß ist, wieso stehen dann 5 - 50MB zur Auswahl? Letztendlich, selbst wenn das Programm 120MB groß ist, und das ein gewissen Grund hat, dann ist das ja egal. Hauptsache es funktioniert und User die damit arbeiten wollen kommen zum Ziel.

  • Sieht bisher ganz gut aus.
    Ist vor allem besser als der jetzige guieditor.
    Wie ist das mit den properties, sind die alle direkt gelistet oder muss man diese nacheinander sozusagen "reinklicken".
    Für dx wäre das noch besser, da ersparrt man sich zeit :P
    Was die größe betrifft: Ich habe nicht abgestimmt, weil mir die größe egal ist, da es ein programm ist.

  • Wie kommts denn, dass das Programm so groß ist? Und wenn es schon 60MB groß ist, wieso stehen dann 5 - 50MB zur Auswahl? Letztendlich, selbst wenn das Programm 120MB groß ist, und das ein gewissen Grund hat, dann ist das ja egal. Hauptsache es funktioniert und User die damit arbeiten wollen kommen zum Ziel.

    Naja es gibt ja Menschen die regen sich bei 6GB Visual Studio auf. Aber du hast recht! Mit eingebunden ist das Awesomium Framework einige Daten von MTA SA und SlimDX

    Sieht bisher ganz gut aus.
    Ist vor allem besser als der jetzige guieditor.
    Wie ist das mit den properties, sind die alle direkt gelistet oder muss man diese nacheinander sozusagen "reinklicken".
    Für dx wäre das noch besser, da ersparrt man sich zeit :P

    Das mit den Properties ist wie bei Visual Studio, das sind 2 Spalten in der einen steht der Name und wenn man in die zweite klickt kann man den Wert bearbeiten.Man kann zwar bis jetzt nur Titel,Textfarbe und Größe ändern aber da kommt noch mehr.

  • Hätte noch einen Verbesserungsvorschlag: Der HIntergrund ist bisher nur schwarz, wie wäre es denn wenn man einen eigenen Hintergrund einfügen kann oder das man das Bild aus der Sicht des Spielers hat, damit man sehen kann wie das GUI später ungefähr aussehen wird mit Spielbackground. (Z.B. ein Button zum aktivieren/deaktivieren)

  • Hätte noch einen Verbesserungsvorschlag: Der HIntergrund ist bisher nur schwarz, wie wäre es denn wenn man einen eigenen Hintergrund einfügen kann oder das man das Bild aus der Sicht des Spielers hat, damit man sehen kann wie das GUI später ungefähr aussehen wird mit Spielbackground. (Z.B. ein Button zum aktivieren/deaktivieren)


    Werd ich umsetzen!



    Sooo hier jetzt der Code Generator:
    https://yadi.sk/i/PO38vYq0rdkHr


    Am Freitag kommt definitiv die erste Testversion raus

  • Sieht auf jeden Fall richtig nice aus.

    Da hast du recht. Ich denke ich werde den Multilingualen Support erweitern damit auch Amerikaner das Programm nutzen können.

  • Ob das Programm etwas bringt, kann man wohl erst im der Praxis sehen.
    An sich hätte man vielleicht das Interface etwas modernen gestalten könne, sonst
    schaut das ganze doch schon mal gut aus. :)

    Morgen gibts den ersten Release und ich bin halt leider kein Designer!

  • Sry, aber dieses About Fenster ist einfach mega hässlich^^ Und das bekommt man doch selbst als "Nicht-Designer" schöner hin.


    Kleine Anmerkung zum Code Generator.
    Die Benennung der Variablen scheint mir etwas konfus. So wirkt es, als möchtest du es obfuscaten. Wobei du vermutlich einfach nur eine zufällige Zahl generierst. Schöner wäre an der Stelle eine Tabelle, so wie es der GUI Editor schon macht.
    In etwa so:

    Lua
    local gd = {}
    local gd.buttons = {}
    gd.buttons[1] = guiCreateButton([...])


    Des weiteren ist mir aufgefallen, dass vor jeder Variable ein 'local' davor steht. Das wird nicht funktionieren, da die Tabelle schon lokal definiert wurde.


    Wünschenswert wäre außerdem noch, das nach jedem Komma eine Leerzeile kommt.


    Ploppt das Fenster eigentlich immer wieder auf wenn man eine Änderung macht?

  • Ich bin jetzt LIVE! https://www.livecoding.tv/konradinius/


    Jetzt mache ich ein paar Änderung direkt.





    Sry, aber dieses About Fenster ist einfach mega hässlich^^ Und das bekommt man doch selbst als "Nicht-Designer" schöner hin.

    Hab jetzt Metro Design rein.
    Der Code Generator wird jetzt bearbeitet!



  • Weiterhin ist in deinem Code ein Fehler. Das wird so nicht funktionieren. Wenn du eine Tabelle lokal definierst, kannst du darauf folgende Felder nicht auch lokal definieren. Da die Tabelle ja schon lokal ist, würde das zudem auch nur wenig Sinn ergeben. Genau so wenig kann man eine globale Tabelle mit lokalen Felder bestücken. Das würde ebenfalls zu einem Fehler führen.


    Sprich das hier ist falsch:

    Lua
    local gd = {}
    local gd.mainWindow = guiCreateWindow(15,15,284,282,"Test",false)
    local gd.mlabel = {}
    local gd.mlabel[1] = guiCreateLabel(178,73,48,11,"MLabel4",false,gd.mainWindow)

    Richtig wäre es:

    Lua
    local gd = {}
    gd.mlabel = {}
    gd.mainWindow = guiCreateWindow(15, 15, 284, 282, "Test", false)
    gd.mlabel[1] = guiCreateLabel(178, 73, 48, 11, "MLabel4", false, gd.mainWindow)

    Abgesehen davon das bis auf in Zeile eins das local wegfällt, folgt nach jedem Komma eine Leerzeile. Das macht es schöner und übersichtlicher. Und ich habe das etwas anders Strukturiert.
    Meiner Meinung sollte es wie folgt aufgebaut sein:

  • Wäre für viele ganz nützlich eine "An Auflösung anpassen" Funktion mit einzubringen.
    Oder eben relative Koordinaten^^

    ^^ mach ich beim erstellen kann man auswählen welche bildschrimgröße man hat
    also
    wenn man 1000x1000 hat dann wir djede x,y,w,h koordinate /1000 gemacht


    Weiterhin ist in deinem Code ein Fehler. Das wird so nicht funktionieren. Wenn du eine Tabelle lokal definierst, kannst du darauf folgende Felder nicht auch lokal definieren. Da die Tabelle ja schon lokal ist, würde das zudem auch nur wenig Sinn ergeben. Genau so wenig kann man eine globale Tabelle mit lokalen Felder bestücken. Das würde ebenfalls zu einem Fehler führen.


    Sprich das hier ist falsch:

    Lua
    local gd = {}
    local gd.mainWindow = guiCreateWindow(15,15,284,282,"Test",false)
    local gd.mlabel = {}
    local gd.mlabel[1] = guiCreateLabel(178,73,48,11,"MLabel4",false,gd.mainWindow)

    Richtig wäre es:

    Lua
    local gd = {}
    gd.mlabel = {}
    gd.mainWindow = guiCreateWindow(15, 15, 284, 282, "Test", false)
    gd.mlabel[1] = guiCreateLabel(178, 73, 48, 11, "MLabel4", false, gd.mainWindow)

    Abgesehen davon das bis auf in Zeile eins das local wegfällt, folgt nach jedem Komma eine Leerzeile. Das macht es schöner und übersichtlicher. Und ich habe das etwas anders Strukturiert.
    Meiner Meinung sollte es wie folgt aufgebaut sein:

    ^^ werd ich noch amchen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!