Ergebnis 1 bis 18 von 18

Thema: Flexibles "skill pointer" System ... oder so?!

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Danke für die weiteren Erklärungsversuche. ^^

    Zitat Zitat
    Du hast 27 Variablen pro Char, quasi die "Liste der erlernten Skills". Außerdem hast du eine Liste mit allen möglichen erlernbaren Skills
    Das hörte sich für mich so an, als gäbe es 2 Listen. Und ich stolpere über die Formulierung „der erlernten Skills“, weil es so klingt, als hätte der Charakter diese von Anfang an schon alle gelernt, aber so meinst du es nicht, weil du ja später auch schreibst, dass der Status gelernt oder nicht aus dem Level hervorgeht.
    Ich glaube, was ich gerade zum ersten Mal verstanden hab ist: Die 27 Variablen tragen gar nicht den Namen der Skills, sondern sind quasi zunächst „leer“, oh Mann. ^^'

    Okay, ich glaube, ich verstehe jetzt erst deinen vorherigen Post richtig, sorry.

    Zitat Zitat
    Aaah, ich glaube ich weiß, was du meinst. Ich ging davion aus, dass nicht erlernte Skills bei dir auch nicht angezeigt werden sollen,
    Das ist so auch korrekt. Nicht erlernte Skills ergeben eine Lücke, wie man bei dem .gif in der mittleren Spalte sieht. Ich fand zwar die Möglichkeit interessant, dass man sie mit deinem Skript auch aufrutschen lassen könnte, aber sie sollen eigentlich feste Plätze haben. Deswegen muss ich wohl beim Anzeigen der Pictures auch noch prüfen, ob der Skill-Level größer 0 ist.

    Um mal ein wenig konkreter zu werden, hab ich versucht, das ganze nachzubauen. Es sollte sich um einen Klon deines Skripts handeln, das heißt, ich habe nichts großartig eingefügt, was ich jetzt der Meinung bin, was ich noch brauche. Ich will erstmal möglichst nur diese Arbeitsweise verstehen …
    Das einzige, was ich noch eingefügt habe, ist die Picture ID Variable, damit auch die Bilder fortlaufend angezeigt werden.
    Achja, und den Skill-Level hab ich weggelassen, weil mir das jetzt zum testen unerheblich schien.
    Meine Skill-Liste hab ich in der Database angelegt:

    Ich hab ein bisschen mehr Platz gelassen, weil ich mir die Möglichkeit offen halten wollte, doch noch eine maximale Anzahl von 12 auszureizen.

    Dementsprechend hab ich dem Charakter auch 36 mögliche Plätze zugewiesen:


    Ich hab bei einem anderen Test-Event auch Werte angegeben, aber wenn ich das richtig sehe, ist das nicht zwingend erforderlich, damit das Skript zumindest eine Tabelle anzeigt.

    Hier ist der Code:


    Und das ist das Ergebnis ^^


    Ich habe den Verdacht, mit deinen Formeln für X und Y stimmt was nicht. Das würde ich dich bitten, mal zu prüfen. Ich habe mich auch versucht in die Formel reinzudenken, aber konnte mir noch nicht so recht vorstellen, wie sie funktionieren sollte. Offenbar definieren die Modulo-Befehle ja irgendwie die Zeilen und Spalten, was ich auch schon wieder eine höchst erstaunliche, fast magische Angelegenheit finde. ^^
    Ich meine, ich bin sicher, du hast dir was dabei gedacht, aber vielleicht ist ja doch ein Denkfehler drin.

    Ich konnte durch verändern des Multiplikators schon den Zeilenabstand beeinflussen. Allerdings hatten die Pictures immer diesen Versatz, also sie waren nie wirklich untereinander.

    Ich weiß, es ist vielleicht etwas zäh, aber ich bin sicher, wir bekommen das hin. ^^
    Damit würden aus bisherigen 9 Common Events bei mir 1-2 werden.

  2. #2
    Zitat Zitat von IndependentArt Beitrag anzeigen
    Danke für die weiteren Erklärungsversuche. ^^

    Das hörte sich für mich so an, als gäbe es 2 Listen. Und ich stolpere über die Formulierung „der erlernten Skills“, weil es so klingt, als hätte der Charakter diese von Anfang an schon alle gelernt, aber so meinst du es nicht, weil du ja später auch schreibst, dass der Status gelernt oder nicht aus dem Level hervorgeht.
    Ah - ja, ich sprach von zwei Listen, aber nur eine davon im Maker. Die eine Liste, die Teil deines Codes ist, legt fest, welcher Platz der 9x3-Tabelle welchen Skill beinhaltet. Die andere Liste, die du in der Database, in deinem Notizbuch oder auf ner Papierserviette haben kannst, ist einfach für dich, damit du irgendwo eine Übersicht hast, welche Skill-ID welchem Skill zugeordnet ist.

    Zitat Zitat von IndependentArt Beitrag anzeigen
    Das ist so auch korrekt. Nicht erlernte Skills ergeben eine Lücke, wie man bei dem .gif in der mittleren Spalte sieht. Ich fand zwar die Möglichkeit interessant, dass man sie mit deinem Skript auch aufrutschen lassen könnte, aber sie sollen eigentlich feste Plätze haben. Deswegen muss ich wohl beim Anzeigen der Pictures auch noch prüfen, ob der Skill-Level größer 0 ist.
    Der Maker unterstützt ja mittlerweile das anzeigen von Pics mittels Pointern, sprich, du nennst deine Bilder "Skill_0000", "Skill_0001", usw. und legst dann per Variable fest, welche Zahl am Ende abgerufen werden soll. Wenn du nun "Skill_0000" leer lässt (also einfach ein komplett transparentes Bild zeigst) brauchst du so wirklich bloß für nicht-erlernte Skills die Variable auf 0 lassen oder mittels "wenn Skill_Lv = 0" die PicID auf 0 zu setzen. Oder du machst die Abfrage vorher und zeigst einfach gar kein Picture an, wenn der SkillLvl = 0 ist, das ist sogar noch etwas performanter.

    Bei dem Rest muss ich nun raten, da das Anhangs-System des Forums seit einer ganzen Weile schon kaputt ist. Lad Bilder am besten extern hoch, mir wird hier nichts angezeigt ^^" Ich kann dir also nicht genau sagen, was bei dir nicht klappt.

    Bei X und Y hatte ich tatsächlich nen Denkfehler, man braucht mod nur bei einer von beiden Berechnungen und auch entweder die Spalten- oder die Zeilenanzahl:

    00 01 02
    03 04 05
    06 07 08
    09 10 11
    12 13 14
    15 16 17
    18 19 20
    21 22 23
    24 25 26

    Für die Spaltenzahl:
    Zelle mod Spaltenzahl = Spalte
    2 mod 3 = 2
    3 mod 3 = 0
    17 mod 3 = 2

    Für die Zeilenzahl:
    Zelle / Spaltenzahl = Zeile
    2 / 3 = 0
    3 / 3 = 1
    17 / 3 = 5

    (Du kannst auch von oben nach unten zählen anstatt von links nach rechts wie hier, wenn dir das besser passt, du musst dann bloß statt mit der Spaltenzahl anstatt mit der Zeilenzahl rechnen.) Wichtig ist hier, dass das Ergebnis von 0 beginnt zu zählen, die Zeilen- bzw. Spaltenzahl aber von 1 gezählt werden muss (mod 0 bzw. /0 würde Probleme geben). Wenn dir das zu verwirrend ist, kannst du das Ergebnis auch +1 rechnen, aber das läuft aufs selbe hinaus - wichtig ist, dass du dir da ein System überlegst und selbst den Durchblick behältst.
    Wenn wir nun wissen, in welcher Zeile oder Spalte wir sind, ist es ja kein Problem, die Koordinaten zu ermitteln, wenn diese gleichmäßig verteilt sind:

    Offset + (Abstand * Faktor)

    Offset ist, wo das ganze Anfängt, Abstand wäre bspw. der Zeilen- oder Spaltenabstand, Faktor wäre deine aktuelle Zeile oder Spalte.

    EDIT:
    Wenn du sowas häufiger brauchst kann ich dir Excel (oder ein anderes Tabellenkalkulationsprogramm) ans Herz legen - da kannst du dir das einmal schön visuell darstellen und dann einmal dir eine ganze Liste erstellen, wo deine das Programm anhand deiner Formeln für jede Zelle Zeile und Spalte bestimmen soll. So kannst du ausprobieren, ob deine Formeln das ausspucken, was du dir vorstellst, ehe du es im Maker baust.

    Geändert von BDraw (13.01.2018 um 14:27 Uhr)

  3. #3
    Ehrlich gesagt verzweifel ich immer noch ein wenig daran und bekomme es nicht konstruiert.
    Sei so gut und schreibe mir bitte nochmal die Formel für X und Y unserer Mustertabelle auf, damit ich einfach mal Code und das was optisch passiert, in meinem Gehirn vernetzen kann. Und zwar von oben nach unten gezählt. Ich denke ja das macht Sinn, weil die Mod-Typen auch spaltenweise angeordnet sind.
    Btw: Das was du als Offset bezeichnest, müsste ich am Ende dazu addieren oder? Ich verstehe das so, dass ich damit die Tabelle nicht mehr bei (0;0) sondern zB (50;50) anfangen lassen kann, was ungefähr meinen vorherigen Koordinaten entspricht.

  4. #4
    Genau! Offset ist quasi die Startposition bei Zelle 0. Was den Code für Zeile und Spalte angeht, wäre es bei folgender Tabelle wie folgt:

    00 09 18
    01 10 19
    02 11 20
    03 12 21
    04 13 22
    05 14 23
    06 15 24
    07 16 25
    08 17 26

    Und nun die Formeln mit einigen Tests bei Zeilenzahl = 9 und Spaltenzahl = 3:
    Zelle Spalte Zeile
    Formel Zelle mod Zeilenzahl Zelle / Zeilenzahl
    0 0 0
    1 1 0
    2 2 0
    5 5 0
    10 1 1
    17 8 1
    26 8 2

    Und diese Zeile- bzw. Spaltenzahl multiplizierst du nun mit deinem Zeilen- bzw. Spaltenabstand und addierst den Onset (a.k.a. die Verschiebung).

    Wie gesagt, im Zweifel fix in Excel nachbauen, da kann man sowas ganz wunderbar austesten und bemerkt auch, ob man Denkfehler hat.

    Geändert von BDraw (13.01.2018 um 23:08 Uhr)

  5. #5
    Hey,
    dachte, ich melde mich heute mal mit dem ersten wirklichen Durchbruch. ^^



    Optik steht erstmal in den Grundzügen. Morgen mache ich mich dann an die Bedienung usw.

    Die Schrift muss ich halt mit einzelnen Forks anzeigen, weil das Textplugin auch nicht erlaubt, auf eine Datenbank oder sowas zuzugreifen. Höchstens auf die Database, aber der Aufwand hier ist auch überschaubar. Das würde wieder kompliziert werden mit englischen Namen etc.
    Besonders stolz bin ich aber, dass ich es auch hinbekommen habe, die "Tastennummer" mit einem einzigen write_text Befehl anzuzeigen, weil ich herausgefunden habe, dass man die ID da auch "pointen" kann. Eigentlich hätte ich das wissen können, aber ich habs noch nie ausprobiert.

    Deinen Credit-Eintrag hast du dir auf jeden Fall gesichert, BDraw. ^^ Also vielen Dank.

  6. #6
    Kurzer Abschlussbericht. Tabelle läuft soweit und ich bin sehr zufrieden damit. Ich konnte ca. 10 Common Events auf 3 komprimieren.
    Die neu gewonnene Flexibilität hab ich schon ausgiebig genutzt und neue Mods eingebaut bzw. andere verschoben.

    So sieht die Tabelle jetzt in Aktion aus.


    Womit ich mir noch nicht so sicher bin, ist der "Hintergrund". Damit meine ich das graue Picture was halbtransparent zwischen Kampfgeschehen und Tabelle schwebt. Ich wollte auf jeden fall irgendeine Abgrenzung, weil die Tabelle ja schon zwangsläufig den ganzen Screen ausfüllt.

  7. #7
    Yay, es klappt!

    Aber sag mal, magst du die Soundeffekte vllt. noch etwas... dezenter machen? So für ne reine Menüauswahl klingt das doch recht imposant ^^;

  8. #8
    Eigentlich soll es schon Bumms haben, weil es DAS MODMENÜ ist. Aber kann ich nochmal drüber nachdenken. ^^

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •