Einfach ein Array anlegen?

  • Hi zusammen.


    Also, dass ich damit kein Array in einem BP anlegen möchte, ist ja wohl klar, hoffe ich.


    Aber, ich kann ja eine Structur anlegen, ein Enum, aber Array oder einfach nur eine Liste geht irgendwie nicht, zumindest habe ich da nichts gefunden.


    Es geht um folgendes. In meinem Spiel habe ich jede Menge Skills mit unterschiedlichen Voraussetzungen. Dafür habe ich eine Structure angelegt, mit Name, Primär und Secundär als Einfluss.


    Nun möchte ich aber gerne außerhalb eines BPs eine Liste mit Skills anlegen, wo bereits alle Einstellungen vorhanden sind. Also zum Beispiel soll Schwertkampf die Einflüsse Geschick und Kraft haben.


    So weit, so gut.


    Bisher habe ich jetzt in meinem BP ein Array mit dieser Structure angelegt. Aber ich finde es etwas unübersichtlich immer in das BP reinzugehen, um das Ganze zu erweitern, zu ändern usw. Schon alleine, weil man im BP zwar immer einen Arrayeintrag hinzufügen kann und dann halt die Einstellungen ausfüllen kann, aber, erstens sehe ich nicht welche Namen und Skills ich schon habe, ohne sie alle aufzuklappen, und ich muss dann entsprechend mich durchklicken, wo welcher Skill ist um eventuelle Anpassungen zu machen.


    Da wäre es schon schön, wenn man da eben halt wie bei Structure oder Enum eine BP-Datei hätte, die dann sehr übersichtlich auch von jedem Element eine Liste mit Namen und Einstellungen zur Verfügung stellt.

    • Offizieller Beitrag

    Wenn du bisher bei fast 1000 Beiträgen nur den Namen kanntest und nicht die Funktion, spricht das nicht wirklich für viel Fachwissen ^^

    Man muss ja auch nicht immer jeden Winkel in der Unreal Engine kennen.


    Es gibt genug andere Foren wo man sich Kommentare anhören darf wenn man eine "zu einfache Frage stellt".

    Hier im Forum dürfen auch einfache Fragen gestellt werden ohne das einem peinlich sein muss eine einfache Frage gestellt zu haben.


    Wenn wir alle alles wissen würden, dann bräuchten wir keine Foren. Das Forum lebt davon dass Fragen gestellt werden.

  • Die Frage ist doch auch, was ist eine einfache Frage?


    Ich meine, ich habe ja, mit großer Sicherheit, noch lange nicht alle Aspekte der Engine jemals genutzt. Selbst bei Material, mit dem ich mich bei weitem am meisten bisher in der Unreal Engine auseinandergesetzt habe, habe ich noch laaaaaaaaaaange nicht jede Node mindestens einmal ausprobiert. Und selbst wenn dem so wäre, so bedeutet es noch immer nicht, dass ich immer in die richtige Richtung denke, um etwas zu nutzen. Ab und zu steht man halt auch mal auf dem Schlauch.


    Hey, ich bin 50, werde bald 51. Ich habe schon mit Assembler und noch schöner mit Cobol programmiert. Wenn hier einer das Recht hat ab und zu auf dem Schlauch zu stehen, dann bin wohl ich das. :P


    Aber ich spreche natürlich auch keinem anderen ab, ab und zu auf dem Schlauch stehen zu dürfen. Denn nirgendwo kommt die Situation sich die flache Hand an die Stirn zu klatschen, gepaart mit einem "Ach ja, stimmt", öfter vor als beim Programmieren.


    Vom auffinden von optimierten, schnelleren und allgemein besseren Wegen usw. fange ich mal gar nicht an zu reden. Irgendjemand weiß immer einen besseren Weg zum Ziel.

  • Selbst bei Material, mit dem ich mich bei weitem am meisten bisher in der Unreal Engine auseinandergesetzt habe, habe ich noch laaaaaaaaaaange nicht jede Node mindestens einmal ausprobiert.

    Ich auch nicht, aber die gehören auch zu 99% nicht zu den Basics...
    DataTables hingegen schon ^^


    Ich dachte du suchst irgendwas neben den DataTables, sonst hätt ich auch geantwortet, aber gut, das denken fällt mir in letzter Zeit eh bisschen schwer, dank den ganzen Schmerzen...



    Was man zu den DataTables auch noch erwähnen sollte:
    Man kann sie auch in ne Tabellendokumentation wie "OpenOffice" exportieren sowie auch daraus wieder importieren (.CSV Format).

    https://docs.unrealengine.com/…aDriven/#importingprocess

    Geht bestimmt auch mit dem Excel unter Windoof, hab ich aber nie benutzt...

    Import:


    Das macht das Ganze auf jedenfall noch übersichtlicher ^^
    Wenn man jedoch innerhalb einer Structure noch ein Array hat, z.B. für die Resourcen die man zum craften braucht, wird es bisschen verkompliziert, da alles innerhalb einer Zelle liegt:

  • Du, wenn du da noch eine Alternative Möglichkeit hast, immer raus damit.


    Ich habe jetzt zwar erstmal eine Datatable erstellt, mit einer Struktur der Skills, {LockStatus, Name, PrimärerEinfluss, SekundärerEinfluss, Wert}...


    Allerdings habe ich auch erst 5 Skills zum testen angelegt. Wenn es da eine bessere Methode für Zugriff und Verwaltung geben sollte, ich bin da ganz Ohr. Weil so ganz optimal ist es auch nicht, weil ein Key noch mit eingegeben werden muss. Da wollte ich eigentlich den Skillnamen nehmen, der ist logischerweise immer einmalig.


    Es fehlen also noch mindestens 27 weitere Skills, also es ist jetzt nicht so, dass ich da jetzt einen Haufen Arbeit verwerfen muss.


    Momentan kämpfe ich eh noch mit dem Widget, welches die Skills richtig anzeigen soll. Schon bei den 5 Testskills entwikelt das Widget irgendwie ein Eigenleben, was die Anzeige und Formatierung angeht, was seinesgleichen sucht.


    Mit anderen Worten, Widgets finde ich doof, und es gibt noch eine Menge Zeit, dass ich noch andere Möglichkeiten ausprobieren kann.

  • Du, wenn du da noch eine Alternative Möglichkeit hast, immer raus damit.

    Was einfacheres kenn ich nicht, Array anlegen ists ja das Gegenteil von einfach ^^

    Weil so ganz optimal ist es auch nicht, weil ein Key noch mit eingegeben werden muss.

    Ich denke, dass ich das falsch verstanden hab...


    Du kannst doch in deiner Struct noch nen Key angeben:




    Momentan kämpfe ich eh noch mit dem Widget, welches die Skills richtig anzeigen soll.

    Versuchs mal damit:

    Wobei ich noch nicht getestet hab, ob das auch mit nem geänderten Key funzt...



    Mit anderen Worten, Widgets finde ich doof

    Widgets mag ich auch nicht, die brauchen immer so viel Zeit, bis man endlich alles so hat wie man es will ^^

  • Versuchs mal damit:

    Na, das Problem ist mehr die Darstellung, nicht das Auslesen.


    Nicht nur die Skills sind da anstrengend, auch die Stats und so weiter. Irgendwie sieht das alles Sch....ade aus, weil ich immer die Wahl habe zwischen schön formatiert mit festen Werten, was natürlich keinen Sinn ergibt, oder halt mit Werteanzeige und dann aber schlecht formatiert. Ich finde, das sollte Epic bei Gelegenheit mal gründlich überarbeiten, weil das macht so den Eindruck wie das Handling einer ganz frühen Version von WPF.


    Du kannst doch in deiner Struct noch nen Key angeben:

    Hmmm, ja klar. Nur, dann habe ich es in der Struct schon doppelt gemoppelt. Wenn ich die DatatTable jetzt so anlege, verlangt er noch eine Spalte mit Row Name zusätzlich. Dieser muss eindeutig der Unique Key der Tabelle sein, über den er dann auch auf die Tabelle zugreift. Wenn ich jetzt zusätzlich noch eine Spalte Key einfüge, oder statt SkillName einfach Key als Bezeichnung nehme, ändert sich das ja nicht. Ich habe trotzdem eine Spalte, die ich nicht benötige, aber trotzdem ausfüllen muss. Oder ich lass einfach den Skillnamen weg und trage den dann da ein. Das wäre vielleicht auch noch eine gute Möglichkeit.


    Denn letztendlich greife ich im Spiel über den Skillnamen auf den entsprechenden Skill zu.


    Wobei ich mir gar nicht sicher bin, ob ich da nicht wieder viel zu kompliziert denke.


    Denn letztendlich soll es am Ende so aussehen. Angenommen der Spieler kämpft aus irgend einem Grund unbewaffnet, dann soll der Skill Wrestling ausgewürfelt werden.


    Der Skill Wrestling wird beeinflusst, primär = Stärke, sekundär = Ausdauer


    Der Spieler hat folgende Werte der Stats, Stärke = 25, Ausdauer = 30, Skill Wrestling = 28.


    Der Wert 28 würfelt dann die Wahrscheinlichkeit eines Treffers aus, wobei bei einem Level von 0 natürlich nicht bedeutet, dass er nie trifft, bei 100 auch nicht, dass er ständig trifft.

    Stärke, also die 25, würfelt dann eine gewisse Treffereffizenz aus

    Ausdauer, also 30, dann eine gewisse Schlagfrequenz und auch Effizienz.


    Gleichzeitig gibt es eine Wahrscheinlichkeit, dass durch die Benutzung des Skills, also durch das Trainieren, der Skill, Stärke und auch Ausdauer nach einem gewissen Wahrscheinlichkeitenschlüssel steigen können. Je höher die Werte bereits sind, desto schwieriger wird die nächste Steigerung.


    Wenn ich das auf geplante rund 20-32 Skills anwende, bin ich selber mal gespannt wie die BPs am Ende aussehen.


    Auf jeden Fall birgt das Spiel extrem viel Potenzial für Bugs und falsche Berechnungen allgemein. :D*dead*