Ergebnis 1 bis 12 von 12

Thema: Statusveränderung im Sideviewkampfsystem

  1. #1

    Statusveränderung im Sideviewkampfsystem

    Guten Abend erstmal.

    Ich möchte mein Sideviewkampfsystem (die Basis ist das KS von Serge) um Statusveränderungen (Gift, Lähmung usw.) erweitern. Jedoch möchte ich dafür nicht für jeden Kampfteilnehmer (insgesamt wären das 7) und jeden Status einen Switch machen.
    Ich hatte mir also gedacht das Problem mit Variablen zu lösen und mir einige Gedanken dazu gemacht. Jedoch kam ich nur auf eine Möglichkeit mit der ich 127 Forks machen müsste (wer wissen will wie ich genau auf diese Zahl komme kann mir ne P.M. schicken).
    Deshalb frage ich:

    Gibt es eine Möglichkeit mein Problem möglich elegant und ohne viele Switches (Variablen, Forks oder anderes) zu lösen ?

    mfg Stummboy

    P.S.Ich will ausserdem das ein Kampfteilnehmer mehrere Zustände aufeinmal haben kann.

  2. #2
    Hm, du könntest es mit Variablen wie folgt machen:
    sagen wir eine Statusvariable für jeden Kampfteilnehmer. Da gibts dann für jeden Status je einen Wert, zusätzlich Werte für alle Zustände jeweils zusammen. Du merkst sicher, dass da viele Möglichkeiten infrage kommen.
    Aber sparsam mit den Ressourcen die du hast umgehen wird generell schwierig. Du könntest natürlich nur eine Statusvariable nehmen, da rein dann seeeehr viele Werte packen, für alle möglichen auftretenden Fälle von Spieler 1 ist vergiftet bis Spieler eins-Monster3 sind alle vergiftet und schlafen alle.
    So oder so wird es ein ziemlicher Aufwand.
    Aber mit Variablen wäre das schonmal sparsamer als mit Switches, da bräuchtest du nur 7

  3. #3
    http://rpg-atelier.de/ressourcen.php?cat=2&page=4

    "Kampfsystemscript" loaden da ist schon Limits und Statusveränderungen erhalten, musst dich aber ein wenig besser mit den Maker auskennen
    Ist übrigens auch auf Serges KS basierend

  4. #4
    @cennedy
    Meine Gedanken gingen in eine ähnlich Richtung, nur habe ich nicht für den Helden (oder Gegner) die Variable genommen, sondern habe mir gedacht das ich für jede Statusveränderung eine Variable nehme. Es läuft aber aufs gleiche hinaus.

    @Arnold
    Soweit ich dieses Script verstanden hab (und das war recht schwer da die meisten Switches nicht benannt waren) funktioniert das ganze mit Switches.
    Und in meinem ersten Post steht das ich das möglichst vermeide möchte.

  5. #5
    Wenn du mehrere zustände gleichzeitig haben möchtest kommt natürlich zusätzliche Arbeit auf dich zu. Du würdest nach meinem Wissen dann mindestens 2 Variabeln brauchen (mit einer gehts zwar immer noch. Aber schlussendlich enstünden durch die vielen Kombienationen so viele Werte, dass du einfach irgendwann den überblick verlierst...).

    wie du auf 127 Fork kommst kann ich mir zwar irgendwie vostellen, aber wie genau ist mir dennoch ein Rätsel.
    Ich meine, wenn anschliessend an einen Skill eine Statusveränderung stattfinden soll, dann gibts du die in einer Variabel erst die Wahrscheinlichkeit des Erfolgs (z.B 30%) an, führst anschliessend eine Berechnung durch (random zwischen 1 und 100 reicht schon), vergleichst mit der Prozentangabe (liegt die Randomzahl zwischen 1 und 30?) und führst die Statusänderung durch wenn positiv!

    Oder meinst du, weil du z.B. in jeder Runde nachfragen musst ob wer was hat und was für folgen die haben?

  6. #6
    Zitat Zitat von Stummboy Beitrag anzeigen
    @Arnold
    Soweit ich dieses Script verstanden hab (und das war recht schwer da die meisten Switches nicht benannt waren) funktioniert das ganze mit Switches.
    Und in meinem ersten Post steht das ich das möglichst vermeide möchte.
    Also, ich denke da kommst du nicht herum, versuch am besten immer ein Kommentar einzufügen damit du weißt was das gerade war du gemacht hast bewirkt, ansonsten kann ich dir nicht helfen.

    Trotzdem noch viel Glück!

  7. #7
    Vermeiden könnte er es schon, bloß braucht man doch für jede Statusveränderung einen definitiven Wert, sonst weiß man ja garnicht mehr, an was der Charakter eigentlich leidet. (klar könnte man sich vielleicht irgendein System ausarbeiten, bei demn man für jeden Char nur 1 oder 2 Variablen braucht, aber das wär doch wesentlich umständlicher, jedenfalls fällt mir grad keine simple Methode ein)
    Und das wären eben entweder switches wie "Char XY-Gift, Char XY-Paralyse" etc.. oder eben pro Charakter einzelnen Variablen für die ganzen Zustände (die man dann aber auch nur ein oder auschalten müsste, sprich mehr Werte als 0 oder 1 bräuchte man auch nicht), also wirklich sparen tut man hier absolut nichts.
    Hauptsache die sind nicht überall in der Database verstreut. Ansonsten sollte es aber nun wirklich keine Probleme geben. Es sind doch mehr als genug Switches/Variablen einstellbar.

    Und selbst die Abfrage pro Runde welcher Char an was leidet damit eine Wirkung eintritt bzw. wieder nachlässt etc... mag zwar viele Bedingungen beinhalten, aber das meiste sind doch eh nur Wiederholungen.

  8. #8
    @supermike
    Die Chancenberechnung das der Skill überhaupt trifft ist nicht wirklich ein Problem.
    Mein Problem ist wie sich die Statusveränderungen für die verschiedenen Kämpfer speichern lassen.
    Ich habe hier mal meine Gedankengänge in einen Spoiler geschrieben :


    @Arnold
    Vieleicht muss ich wirklich Switches benutzen...das würd aber heißen das ich bei 7 Zuständen, 49 Switches verbrauchen müsste, was ich lieber vermeiden würde

    @Jack
    Ich glaube anders gehts wirklich nicht...zumindest fällt mir keine andere Möglichkeit ein.

    Geändert von Stummboy (21.10.2009 um 21:59 Uhr)

  9. #9
    Zitat Zitat von Stummboy Beitrag anzeigen
    @Arnold
    Vieleicht muss ich wirklich Switches benutzen...das würd aber heißen das ich bei 7 Zuständen, 49 Switches verbrauchen müsste, was mir etwas zuviel ist.
    Du kannst 5000 Switches verwenden und sogar noch mehr, wenn du den ressource hacker verwendest. Da sind 49 switches nun wirklich nichts. Hauptsache es funktioniert und du blickst durch.
    Weil was mir bei Variablen einfallen würde wäre, dass du in einer Variable alle Änderungen speicherst und jede ne neue Stelle bekommt (also die Einerstelle ist z.B. für Gift, die Zehnerstelle für Blind etc...) und du dann z.B. für die Giftabfrage den Wert in eine temporäre Variable speicherst, alle Stellen abziehst die unwichtig sind und dann guckst, ob überhaupt noch was in der relevanten Stelle übrig ist, aber ob das so überhaupt funktionieren würde, keine Ahnung....vermutlich nicht xD
    Deswegen wären Switches wirklich einfacher.

  10. #10
    So langsam glaub ich auch das ich besser mit Switches arbeiten sollte...
    Ist auch einfacher
    Danke an alle die hier im Thread geantwortet haben.

    mfg Stummboy

  11. #11
    Okay, das soll dich jetzt nicht davon abhalten Switches zu benutzen, aber mir ist mittlerweile eingefallen wie es mit nur einer Variable pro Char funktionieren würde. Es ist in etwa so wie meine vorher beschriebene Methode, also das z.B. Gift die Einerstelle bekommt, Blind Zehner etc...
    Also wenn kein Zustand vorliegt wäre es 0000000 und bei Blind und Gift eben 0000011. Somit könntest du aber nur 7 Zustände pro Char machen, außer du benutzt doch noch eine weitere Variable für zusätzliche Zustände.
    Jedenfalls um dann herauszufinden ob ein Charakter an einem Zustand leidet packst du den Zustandswert in eine temporäre Variable und ziehst vom größten bis zum kleinsten Wert alles ab. Also du beginnst mit -1000000 und guckst dann, ob die Variable jetzt negativ ist. Wenn nicht, dann litt der Char unter dem 7.Zustand, ansonsten machst du wieder +1000000 um die entsprechende Stelle wieder auf 0 zu bringen. Und dann machst du halt weiter mit -100000, -10000 etc...und immer das selbe Spiel. So dürfte es auf jeden Fall funktionieren, aber ist natürlich wegen den Berechnungen länger als wenn du einfach einen Switch abfragst.

  12. #12
    One word:

    KISS

    Ausformuliert: "keep it simple, stupid!"
    Deutsch: "Mach es einfach, Blödmann"

    Was will der bärtige Mann aus dem hohen Norden damit sagen?

    Das hier:
    Rechensysteme, Variablen sparen etc. schön und gut, aber das wichtigste bei technischen Systemen ist es, sie einfach zu halten. Einfach und übersichtlich.

    Das heisst:
    Mach für alles Variablen.
    Ordne diese Variablen sinnvoll an zB für ein Monster alle Variablen in einen 20er Block anstatt wild durcheinander.
    Benenne diese Variablen aussagekräftig.

    Zahlensystem mögen cool sein. Wenn später irgend ein Teil des KS nicht mehr klappt und du den Fehler suchst ist sowas nicht mehr cool.

Berechtigungen

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