Ergebnis 1 bis 11 von 11

Thema: Wie funzt ein CTB KS?

  1. #1

    Wie funzt ein CTB KS?

    Hi, mich würd mal interessieren wie ein die Geschwindigkeitsberechnung bei einem CTB Ks funktioniert(so wie in FF10). Bis jetzt hab ich es so verstanden dass jede Aktion die man benutzt entsprechend lange braucht bis man wieder dran ist. Also bei nem normalen Angriff is nix, und bei nem Spezialangriff brauch man ne weile bis man wieder dran ist. Aber es ist auch so dass wenn man einen viel höheren Geschwindigkeits wert als der gegner hat viel öfter drankommt.
    Könnte das mir einer eteas erklären?

  2. #2
    Also soweit ich weiß, zählt Hauptsächlich die Geschwindigkeit.
    Die wird auf jedenfall mit einberechnet.
    Der rest, sprich das mit den verschiedenen Aktionen, muss man selbst einprogrammieren, wenn man so was für den Maker macht.
    In Velsabor ist zb so, das Beides mitberechnet wird.
    (Glaube ich...) Aber es gibt auch Kampfsysteme, in denen nur die Geschwindigkeit zählt.
    Aber in CTB Kampfsystemen zählt glaube ich beides.

    EDIT:
    wie das funzt kann ich dir aber nciht genau erklären.
    Da musst du die Geschwindigleit mal 100 und dann wieder durch 10 und dann Mod 5 (???)
    berechnen oder so..... (*verwirrtbin*)
    Und mit der Berechnung der Aktionen dazwischen muss es noch viel komplizierter sein.
    Schau dir mal Serges KS kurs an, ich glaube das ist so ein KS...(oder nit?)

  3. #3
    So wie ich das verstanden hab willst du gar nichts über den Maker wissen, sondern wie das CTB System in FF X funktioniert. Sollte das der Fall sein: Falsches Forum. Außerdem hast du deine Frage ja schon selbst beantwortet, hängt mit der Geschwindigkeit und der Art der Attacken zusammen.

  4. #4
    ist haar genau das gleiche wie ein atb ks...
    (also so eins wo man über den kunden, oder an einer anderen stelle des bildschirmes, eine leiste angezeigt wird... wenn das atb heist...^^...)

    nur der unterschied besteht in der berechnung...
    und zwar wird berechnet, wer als nächstes drann ist... (logisch...XD)
    leider gibt es dazu keine funktion... also jedenfalls kenn ich so eine nicht..^^
    naja... also musst du das ganze wohl oder übel simmulieren...
    du lässt die berechnung einmal durchlaufen... die dürfte so gehen...
    auch wenn sie nicht die kürzeste ist...^^... musst du selbst rausfinden, wie man die beschleunigen kann...^^...
    also... zuerst werden auf den aktuellen geschwindigkeitswerten
    aller kampfbeteiligten die eigenen init werte addiert...
    dann wird geguckt, ob irgendjemand von den leuten einen bestimmten
    wert überschritten hat.. zb 1000... und dann wäre der kunde drann...
    wenn nicht muss das ganze wieder durchlaufen...

    so... schon hättest du den 1. der an der reihe ist...
    doch jetzt ist deine "berechnung" noch nicht fertig...
    jetzt setzt du die geschwindigkeit (die vari, wo du die init werte aufaddierst)
    auf null und zwar nur von dem kämfer der gerade die 1000der marke
    überschritten hast...
    und lässt das wieder solange laufen, bis ein anderer, oder der gleiche,
    die 1000 erreicht haben... dessen geschw. wird null gesetzt und so weiter...
    nat musst du dir irgendwohin speichern, wer die 1000 erreicht hat...
    (wenns geht sogar noch in chronologischer reihenfolge...xDXDXDXD)
    und das ganze lässt du solange laufen, wie du halt im vorraus berechnen willst...
    so... dann gibt es halt die möglichkeit den kämpfer für eine attacke nen schub zu geben, indem du die geschwindigkeiten durch der attacke
    erhöhst oder verminderst... dadurch wird er allerdings nicht schneller
    startet aber bei der berechnung nicht wie die anderen von null sondern
    von den hundert, oder minus hundert, je nachdem ob schneller oder langsamer... (werte beliebig wählbar...)
    und wenn du die init werte der helden/monster erhöhst/verminderst
    dann hat das natürlich nen langanhaltenden effekt, da der
    held jetzt schneller/langsamer zu seinen 1000 punkten kommt..
    da ja bei jeden schritt mehr od weniger auf die geschw. vari
    addiert werden...

    natürlich kommen dann noch solche probleme wie: was passiert, wenn 2e gleichzeitig auf die 1000 kommen... das ist aber dein problem...^^....
    das lös mal schön selber...
    und dann wirst du noch feststellen, dass das ganze, als PP event ausgeführt,
    übelst hackt... also musst du das ganze rationaler berechnen...
    aber das ist auch dein ding...

    also mach mal...^^...
    mfg
    üH

  5. #5
    Zitat Zitat
    Mc Terror:
    Schau dir mal Serges KS kurs an, ich glaube das ist so ein KS...(oder nit?)
    Serges KS hab ich schon durchgearbeitet, außerdem is des ein ATB KS.

    Zitat Zitat
    Cyberwoolf:
    So wie ich das verstanden hab willst du gar nichts über den Maker wissen, sondern wie das CTB System in FF X funktioniert. Sollte das der Fall sein: Falsches Forum.
    Ich will das schon im Zusammenhang mit dem Maker wissen. FF10 war nur ein Beispiel um zu wissen welches KS ich mein.

    Die erklärung von Übelster Held kommt schon in die Richtung wie ichs mein. Jedoch würde das als ATB System nicht lange dauern bis da ein zug gemacht worden ist(aufgrunde dessen das die Leiste erstmal voll werden muss).

  6. #6
    Ich hab das System von übelster Held nur zur Hälfte durchblickt (kann an dem sehr unübersichtlichen Post liegen) aber ich würde auch so ähnlich ansetzen.

    1. Als Grundwert würde ich die Agilität des Charas nehmen.
    2. Auf den Grundwert wird ein zufälliger Wert addiert.
    3. Dieser Wert ist maximal so hoch wie die Agilität des Charas (also kann sich der Grundwert maximal verdoppeln).
    4. Jetzt wird überprüft wer den höchsten Grundwert hat.
    5. Dieser Charakter kann angreifen.
    6. Je nach Art des Angriffes wird ein entsprechender Wert vom Grundwert abgezogen.
    7. Das Skript fängt bei 2. wieder an.

    Ich hoffe das war jetzt irgendwie hilfreich, denn ich habe keine Ahnung wo der Unterschied zwischen einem CTB und ATB KS ist

  7. #7
    Ich will nochmal erklären was ich mir für Gedanken dazu gemacht habe.

    Die reihenfolge der Charas wird seperat angezeigt, durch Bilder oder sonstiges.
    Je nachdem welche Aktion ausgef+hrt wird kann sich diese Reihenfolge ändern.
    So kostet ein starker Angriff mehr Zeit zu Erholung als ein normaler . Deswegen könnte der Gegner öfter angreifen.
    wenn nun der Held oder Gegner einen viel höheren Geschwindigkeitswert als der Gegner hat, kann er öfter angreifen. Und an dieser Stelle hakts bei mir. Ich weis nicht wie ich das ausrechnen soll. Lachsen hats in Velsarbor gut hingekriegt, aber ich möcht mir nicht seine Technik klauen die ich sowieso nicht verstehe.

    Geändert von DusK (21.03.2006 um 16:17 Uhr)

  8. #8
    nur soein gedankengang:

    bei kampfbeginn hat jeder 0 aktionspunkte.
    es werden jetzt pro runde zu den aktionspunkten einmal der geschwindigkeitswert der entsprechenden charaktere zu den aktionspunkten der charaktere dazugerechnet.
    sobald ein charakter 100 aktionspunkte erreicht, wird er an erster stelle in einer liste gespeichert. die überprüfung ob ein charakter 100 aktionspunkte hat wird auserdem bis zum ende durchgeführt, damit, wenn mehrere charaktere in einem rechendurchgang 100 aktionspunkte erreichen, alle auf die liste gesetzt werden. jetzt wird bei jedem der 100 aktionspunkte erreicht hat eine bestimmte menge abgezogen. wenn hansi dabei ist eine extrem langsame attacke auszuführen, setzten wir seine aktionspunkte z.B. wieder auf 0, wenn er eine schnelle attacke macht nehmen wir ihm nur 20 aktionspunkte weg. wenn irgendeiner geschwindigkeitsändernde buffs/debuffs hat, wird dessen geschwindigkeitsvariable für die dauer des kampfes verändert.
    das berechnen der aktionspunkte und speichern in die liste wird wiederholt, bis du die gewünschte anzahl an schritten berechnet hast.

    ob dieses verfahren funktioniert weiss ich nicht, in der regel sind verfahren die man sich in den 2 minuten überlegt ,die man braucht um eine pizza ins backrohr zu zwängen, nicht sonderlich zuferlässig.

  9. #9
    Ich weiß jetzt nicht, in wiefern mein System das nicht wiedergibt.
    nudelsalat sagt im Grudne dasselbe, nur dass bei ihm erst der Wert 100 erreicht werden muss, während bei mir einfach der mit dem höchsten Wert angreift (um Wartezeiten zu verhindern). ôo°

  10. #10
    @ yoschi grün:
    höre ich da etwa kritik an meinem Erklärungsversuch???XDXDXDXDXD

    also... nochmal auf hoffentlich verständlicher weise...^^:
    das ganze ctb basiert auf atb:

    1.: auf den grundwerten werden solange die init werte der helden addiert, bis ein held die magische obergrenze erreicht... zb 1000...

    sähe im maker so aus
    label 1
    vari grundwert H 1 + init held 1
    vari g H 2 + init held 2...
    ...(im atb ist nach der addition der inits nur ein wait, sodass sich die leiste langsam füllt...^^)
    wenn g H 1 größergleich 1000
    dann variable [zeiger reihenfolge] set 1
    vari zeiger reihenfolge + 1
    vari gH1 wird null gesetzt
    else
    wenn g H 2 größergleich 1000
    dann variable [zeiger reihenfolge] set 2
    vari zeiger reihenfolge + 1
    else...
    wenn...
    wenn niemand erreicht hat (kommt im letzten else rein)
    goto 1

    erklärung:
    auf dem anfangswert werden die inits der helden addiert...
    so kommte der held der den größten init wert hat auch als
    erstes zum maximalwert (zb 1000)
    zb 1. held hat init von 100, 2. held init von 50... maximalwert ist 200...
    starten beide bei grundwert von null:
    nach dem ersten schritt hat held1 einen grundwert von 100
    und held 2 von 50... da keiner die 2-hunderter marke erreicht hat
    wird zum label 1 gesprungen...
    jetzt hat hero 1 nen grundwert von 200 und
    der held 2 einen von 100...
    da hero 1 die 200 erreicht hat ist er als erstes drann...
    eine 1 wird in der vari gespeichert, auf der der zeiger "reihenfolge" verweist...

    so...
    nun der schritt, der das atb zum ctb macht....
    jetzt rechnest du mit dem grundwerten, die ausgerechntet wurden weiter!!!

    also nochmal durchlaufen lassen...
    da der zeiger reihenfolge um eins gestiegen ist, wird die nummer für den
    nächsten held in die nächst vari gespeichert...
    und so kommt der goto 1 befehl weg...
    und wird ersetzt durch
    wenn zeiger reihenfolge kleiner (ursprung + anzahl berechnungen) also wert jetzt...^^
    dann goto label 1.

    also das bewirkt jetzt, dass immer egal ob ein held nun die magische
    grenze erreicht hat oder nicht... solange zum label 1 springt
    bis man eine entsprechende zahl an grenzüberschreitungen seitens
    der teilnehmer des kampes erreicht hat...
    denn immer wenn jemand die grenze erreicht wird ja zeiger reihenfolge um
    eins vergrößert...

    so...
    hoffe ich hab alle klarheiten beseitigt..XD
    mfg
    üH

  11. #11
    Übelster Held hats gut geschildert. Ich werd danach mal ein KS versuchen. Vielleicht mach ich auch ein Script daraus und veröffentlichs. Danke nochmal an alle. Thread kann eigentlivh geschlossen werden.

Berechtigungen

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