Ergebnis 1 bis 9 von 9

Thema: ATB (SKS) mit CTB Leiste

  1. #1

    ATB (SKS) mit CTB Leiste

    Abend Community,

    ich wollte beim SKS die ATB LEiste mit einer CTB LEiste verbinden (ähnlich wie in Velsarbor zur Vorstellung)


    Die CTB LEiste Berechnung sieht wie folgt aus:
    (Diese Reihenfolge ist mit der ATB Berechnung verbunden :/)

    Wäre das von der Idee her so umsetzbar?

    Ich wäre dennoch bei der CTB Grafik noch unsicher, da ich durch den Code mit der Variable [CTB-Reihe] ca. 7 habe.
    10-11Plätze (Events) für die CTB aber benötige.
    Könnte mir da jemand irgend ein Code Anstoss geben =) , wie das umzusetzen wäre, mit den CTB Grafiken, das 10 oder 11 Events ihre "Bildchen" bekommen und nach links wandern. Könnte man das durchaus mit ATB Variable umsetzen?

    Mfg

  2. #2
    Mit Einsicht in so ein bischen Skript wird man wohl beurteilen können ob es klappt oder nicht, aber mit dem was du da hast kannst du zumindest die CTB-Anzeigen schonmal anzeigen lassen. Wenn du nur das wissen wolltest, ja. Aber das dürfte eigentlich das noch am leichtesten umzusetzende bei so einem KS sein.

  3. #3
    Ein CTB gehört ja imho zu den leichten Kampfsystemen, das einzig schwierige ist die Zugberechnung, wie dir anscheinend bewusst ist.

    Ums dir leichte zu machen, stell dir mal seinen Zeitlinie vor. Ganz wie bei dem ATB, du musst nur überprüfen wer der Schnellste ist. Dann musst du immer noch eine Vorschau auf die nächsten Züge geben.

  4. #4
    Danke schonmal für die Antworten .
    Also wenn ichs richtig Verstanden habe (was ich natürlich hoffe), sieht der Code bis jetzt so aus:
    Code:
    <> FORK Optn: Varbl[0009:1.Platz]-1
    <>Variable Ch:[0008:CTB Reihe]Set, Var. [0020(Chara Grafik H1)]val.
    <>FORK Optn:Varbl[0008:CTB Reihe]-7abov
    <>Move event: 1.platz [...]
    <>
    :Else Case
    <> <<< noch nichts :/ evtl label?
    <>
    :END Case
    Müsste ich die Kämpfer 1ATB Variable mit einfügen? oder reicht die CTB Variable? Wenn ich jedoch z.B. die Grafiken verändern möchte, sprich Held 1 z.b. wird jemand anders sein, benötigt dieser ein anderes "bildchen", ruf ich diese Abfrage dannn per LAbel auf?

  5. #5
    Ich würde die Anzeige der CTB-Leiste und die Berechnung in 2 verschiedene Events aufteilen, das hilft der Übersicht enorm. Du machst in einem Event die ATB und CTB Berechnung (wobei man das auch nochmal aufteilen könnte, ich weiß ja nicht, wie dein Code insgesamt aufgebaut ist) und ein zweites Event übernimmt die Anzeige. Dieses musst du dann nur am Ende der Berechnung aufrufen und verzettelst dich nicht so sehr mit so vielen Labels.
    Die Anzeige ist recht simpel, nimmt aber doch ein bisschen Platz im Code ein. Du überprüfst jeden Platz (bei dir scheinbar mit 1.-Platz etc. benannt) nach seinem Wert, also als Beispiel hat der erste Held den Wert 1, der zweite 2 usw. Danach musst du nur je nachdem, wer der erste Held ist das entsprechende Bild anzeigen. also in etwa so (vereinfachtes Skript):

    Code:
    Fork: Var[1. Platz] = 1
    <>Fork: [Hero 1 ID] = 1
    <>// Anzeige für den ersten Helden auf Platz 1
    <>End Case
    <>Fork: [Hero 1 ID] = 2
    <>// Anzeige für den zweiten Helden auf Platz 1
    <>End Case
    <>etc.
    End Case
    Du hast also eine Variable, die bestimmt, wer der erste Held ist [Hero 1 ID], ebenso für die anderen (Hero 2 ID, Hero 3 ID, je nachdem, wie viele du hast).
    Die Platz Variable gibt dann nur an, welcher Kämpfer gemeint ist. Nochmal kurz zur Verdeutlichung:
    Hero 1 ID = 1 -> Held 1 ist Alex
    Hero 1 ID = 2 -> Held 1 ist Brian
    usw.

    1. Platz = 1 -> Der Charakter, der auf dem ersten Platz steht
    1. Platz = 2 -> Der Charakter, der auf dem zweiten Platz steht
    usw.

    Also die Anzeige ist grob nur so aufgebaut:
    Welcher Kämpfer ist auf dem ersten Platz? (Beispiel: Kämpfer 1)
    Welcher Held ist Kämpfer 1? (Beispiel: Brian)

    Das ergibt: [1. Platz] = 1; [Hero 1 ID] = 2

    Code:
    Fork: Var[1. Platz] = 1
    <>Fork: [Hero 1 ID] = 1
    <>// Anzeige für Alex -------- Wird übergangen
    <>End Case
    <>Fork: [Hero 1 ID] = 2
    <>// Anzeige für Brian -------- Das Bild nimmt Brians Grafik an
    <>End Case
    End Case
    Das selbe dann natürlich auch für die anderen Plätze. Du verwendest das gleiche Skript dann auch, sollte die Platz Variable einen anderen Wert haben, z.B. 2, 3 usw. Hast du für die Gegner nicht extra Bildchen, also nur welche, die durchnummeriert sind, musst du hier natürlich nicht ihre ID überprüfen. Da reicht vollkommen die Platz Variable.

  6. #6
    Letzterer Punkt kann mit dem PicPointerPatch natürlich noch mal stark vereinfacht werden, weil da die Picture ID und die Nummer im Dateinamen mit Variablen angegeben werden können.

  7. #7
    Ich bin wegen dem Move Event in Bakura-sans Code davon ausgegangen, dass er die Anzeige mit Events macht. Aber stimmt schon, eine Kombination aus einer picbasierenden Anzeige und deinem Patch macht einiges einfacher.

  8. #8
    Zum Thema merere Events, die sind schon in mehreren verteilt. Es gibt eine ATB Event, eine CTB berechnung (das ist vom ersten Post der Code, ist die Berechnung) und dann die CTB Grafik, der letzte Code, war die "denkweise" von mir. Dort sollte dann ja die Brechnung der Grafiken und Reihe der "Grafiken" berechnet werden, oder liege ich da falsch?

    Ist der Code denn "denklicherweise" falsch gewesen?

  9. #9
    Ich dachte, du hättest das in einem Event wegen der Frage, ob du den ATB Wert noch mit einbringen solltst. Aber wenn du das schon so geregelt hast, ist das vollkommen in Ordnung.
    Die ATB Variable brauchst du bei der Anzeige nicht miteinbeziehen, wenn du CTB und ATB Berechnung schon aufeinander abgestimmt hast. Es müsste ja dann letztendlich das selbe bei rauskommen, da CTB ja im Grunde das gleiche wie ATB ist, nur ohne Wartezeit.
    Ohne genaue Einsicht in deinen Code kann ich leider nicht genau sagen, ob deine Denkweise richtig ist. Wie definierst du denn [Chara Grafik H1]? Bzw. welchem Wert setzt du welches Bild gleich? Wenn du die Anzeige in etwa so machst, wie ich es dir beschrieben hab (ich hoffe, es war verständlich), dann solltest du keine Probleme haben. Da brauchst du auch keine Labels im Code.
    Also wenn du im Grunde einfach überprüfst, welcher Kämpfer auf welchem Platz ist und dann für die Helden noch eine Unterscheidung machst, je nachdem wer in der Party ist, sollte das passen.
    Ich muss aber auch dazusagen, dass ich die CTB Berechnung wahrscheinlich anders aufgebaut hätte, eben wie das ATB. Sprich ATB-Wert + Geschwindigkeit des Kämpfers mit Wartezeit dazwischen = CTB-Wert + Geschwindigkeit ohne Wartezeit (OK, ich hab meine Berechnung früher nochmal anders gemacht, aber das ist so ziemlich die Grundberechnung). Aber wenn das so wie du es machst auch funktioniert, ist das natürlich ebenso in Ordnung. Es gibt ja selten nur eine richtige Lösung, man muss eben nur das Richtige finden, das zum restlichen Code passt.

    Aber um nochmal auf deine Frage zurückzukommen: Im Anzeige-Event wird eigentlich nicht mehr viel berechnet. Du weißt den Platzvariablen die Werte ja in der CTB Berechnung zu, die Anzeige ist dann nur noch die Auswertung davon. Also nur einige Forks mit vielen Move Events. Wenn [Chara Grafik H1] in etwa das gleiche ist wie die von mir Beschriebene [Hero 1 ID], stimmt deine Denkweise wahrscheinlich in etwa. Probiers doch einfach aus und wenn es nicht klappt, versuch dich an meinem Codevorschlag zu orientieren. Bei Problemen kannst du natürlich nochmal nachfragen.

Berechtigungen

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