Skills für den Chrakter

  • Hi!


    Ihr müsst mir mal weiter helfen, ich hab nen Knoten im Kopf und finde meinen Fehler nicht. :verlegenerork:


    Wichtiges zuerst, der Charakter den ich habe wird nicht Leveln können. Mein Ziel ist es, dass der Spieler sich Skills erspielt, mit denen er stärker wird.


    Beispiel:


    Der Spieler hat einen Angriffswert von 10 in seiner Klasse. Somit hat er im Kampf eine Angriffskraft von 10 - klar!

    Würde er nun mit Schwert A ausgerüstet werden, was eine Angriffskraft von 10 hat, hätte er ja dann eine Angriffskraft von 20!

    Würde er nun mit Schwert B ausgerüstet werden, was eine Angriffskraft von 20 hat, hätte er ja dann eine Angriffskraft von 30!


    Hab mich lange nicht mehr mit Skills und Co beschäftigt aber nach meiner Logik war das so.


    Ich möchte nun folgendes machen:


    Der Spieler erlernt Skilltyp "Starker Schwerthieb", welches dem Spieler einen Angriffsbonus von 2 gibt.


    Somit wäre dieses mal unsere Rechnung:


    Der Spieler hat einen Angriffswert von 12 in seiner Klasse. Somit hat er im Kampf eine Angriffskraft von 12!


    Würde er nun mit Schwert A ausgerüstet werden, was eine Angriffskraft von 10 hat, hätte er ja dann eine Angriffskraft von 22!

    Würde er nun mit Schwert B ausgerüstet werden, was eine Angriffskraft von 20 hat, hätte er ja dann eine Angriffskraft von 32!


    Und hier ist nun das Problem. Wie kann ich im Skill einstellen, dass er dauerhaft auf den Grundwert der Klasse 2 Punkte drauf macht?

    Warum per Skill? Weil ich mir einen Skilltree bauen möchte, bei dem der Spieler stärker werden kann. Also muss alles über Skills laufen.


    Hat da jemand ne Idee?

  • Du meinst also einen passiven Skill, den man nicht erst einsetzen muss?

    Ich würde den erlernten Skill einfach als Dummy benutzen, der eigentlich nichts macht, sondern nur "Starker Schwerthieb" heißt und eine Beschreibung hat, die dem Spieler mitteilt -> wegen diesem Skill hast du jetzt +2 Angriff. Den Angriff würde ich manuell gleichzeitig mit dem Skill hinzufügen.

    Der Spieler bekommt den Skill ja wahrscheinlich durch ein Ereignis, wenn es nicht durch Level Up geschieht? Im gleichen Ereignis direkt wenn er den Skill bekommt: Parameter ändern -> Angriff -> Erhöhen -> Konstante -> +2.

  • Hmmm kompliziert gerade. Ich nutze ein spezielleres Kampfsystem was alles etwas umbaut und fitze mich da selbst gerade rein und muss einige Irrtümer ausräumen. :hmm:


    Um es mal zusammen zu fasssen


    Wir haben folgendes:

    • Schwert 1
    • Schwert 2
    • Schwert 3
    • Schwert 4
    • Schwert 5

    Alle 5 Schwerter haben in den Parametern eine 0. Die Werte werden von meinem Plugin nicht berücksichtigt. Alle 5 Schwerter sind mit Skills verbunden. In den Skills steht in der Formel dann die Angriffskraft die der Spieler im Endeffekt zur Basis dazu addiert bekommt, wenn er mit einem der Schwerter ausgerüstet ist.


    Also ist schon mal somit sichergestellt, dass ein anderes Schwert dann einen anderen Skill hat und somit die Schwerter alle unterschiedlich stark sind.



    Ziel:


    Nun stimmt, passiver Skill trifft es am besten was ich haben will. Ich möchte diesen Skill dauerhaft aktiv im Hintergrund haben und dieser soll auch nicht angezeigt werden. Müsste ich mit VisuStellas Cores hinbekommen.


    Dieser Skill soll im Hintergrund wie gesagt dauerhaft aktiv sein und an kein Objekt gebunden sein, sondern an den Charakter selbst. Wie ein Zustand halt, wenn er vergiftet ist.


    Hab nun folgendes Probiert:


    Skill Nr. 5 lernen => Effekt auf der dritten Reiterseite => Anstieg 'Angriff' 10


    Effekt: Nix passiert, mein Charakter hat weiterhin 8 Angriffspunkte und nicht 18.


    Hoffe ich habe mich gut genug ausdrückt wo ich hin will! :verlegenerork:


    EDIT:


    Problem gefunden. Ich bekomme zwar den Skill, erlerne ihn also. Dieser wird aber nicht automatisch aktiviert. Ich muss erst ins Menü unter Skills gehen und meinen Skill anklicken. Dann erhöht sich auch die Angriffskraft meines Charakters auf Dauer. Also müsste ich jetzt nur noch einen Weg finden, dass der Skill genau einmal aktiviert wird und dann wieder verschwindet oder versteckt ist, dass der Spieler ihn nicht nutzen kann. :hmm: Gerade getestet, der Skill kann nachher gleich wieder verlernt werden. Die Werteerhöhung bleibt bestehen auch wenn der Skill weg ist.

  • Aber den Skill hat er bekommen? Ich weiß jetzt natürlich nicht ob dein Plugin da irgendwie dazwischen funkt.

    Magst du mal einen Screenshot von dem Event schicken mit dem du die Skills hinzufügst?


    Ich möchte diesen Skill dauerhaft aktiv im Hintergrund haben und dieser soll auch nicht angezeigt werden. Müsste ich mit VisuStellas Cores hinbekommen.

    Ich bin mir jetzt nicht sicher wofür du das Plugin überhaupt brauchst? Wenn der Skill gar nicht angezeigt wird ist es doch eigentlich egal, wie du die +10 jetzt hinzufügst? Sie müssen eben nur zu dem Zeitpunkt hinzukommen, an dem der Spieler was auch immer tut um den Skill zu lernen?


    EDIT: Okay warte ... ich blicke jetzt nicht mehr genau durch was du meinst. Der "Skill den das Schwert hat"? Wie verbindest du denn Skill und Schwert genau?

  • Also, um es mal ganz ganz einfach zu halten: Der Spieler hat jetzt die Entscheidung "Starker Schwerthieb" zu lernen. Der Skill soll nicht anwendbar sein und auch nicht angezeigt werden. Er bekommt also gar nicht mit ob er jetzt einen neuen Skill hat oder nicht. Alles was sich für ihn ändert sind seine Werte. Die lassen sich doch einfach im Ereignis-Editor anpassen?



    Wenn er diese +10 nicht bekommt muss etwas mit dem Ereignis nicht stimmen oder ein Plugin steht dem irgendwie im Weg. Wenn er die +10 bekommt, sie aber bei seinen Angriffen nicht zu Tage treten muss etwas mit der Schadensformel nicht stimmen, die der Angriff hat. Es sei denn dein Kampfsystem bzw. dein Skilltree-Plugin funktioniert ganz anders als die Built-In Sachen vom MZ, aber dann wird es schwieirg dir weiterzuhelfen ohne zu wissen, wie genau du das machst^^

  • Ist ne spezielle Art Kampfsystem, wird aber fetzig. :D Aber bin selbst gerade ziemlich durcheinander gekommen. Ich habe vom Plugin eine Funktionsweis erwartet, die es nicht hat.


    Also noch mal:


    Der Spieler hat ein Schwert und dieses Schwert hat den Skill 'Attack'. Den Skill 'Attack' lege ich beim Schwert über die Eigenschaft in der Datenbank fest.

    Der Skill 'Attack' legt dabei als einziges den Angriffswert des Spielers fest. Es werden weder die Parameter aus dem Schwert zum Angriffswert dazu gerechnet, noch die Angriffswerte des Spielers in den Klasseneinstellungen.


    Normal ist es es ja so:


    Basiswert des Spielers (8) + Parameter des Schwertes (10) + Optionaler Skill mit Berechnungsformel (3) = 21 Angriffspunkte


    Mein Plugin:


    Basiswert des Spielers (Wird ignoriert) + Parameter des Schwertes (Wird ignoriert) + Skill ohne Berechnungsformel (3) = 3 Angriffspunkte



    Das war gerade der Knackpunkt der etwas Verwirrung stiftete, dass war mir nicht bewusst. Wenn ich nun den Skill 'Starker Schwerthieb' auf die Basiswerte rechne, kommt natürlich weiterhin nix dabei raus, da das Plugin die Basiswerte ignoriert.

  • Ah okay!

    Willst du das Plugin dann aber überhaupt so behalten wie es ist? Dass der Basiswert des Spielers ignoriert wird läuft deiner Idee dann ja eigentlich entgegen oder?

    Ansonsten müsste man einen Weg finden den Skill selbst zu verändern. Dazu aber dann nochmal die Frage, wie legst du denn die Angriffspunkte des Skills fest, ohne die Formel zu benutzen? Hat er dann einfach den "Effekt HP wiederherstellen -3"?

  • Ja das würde meiner Idee vollkommen entgegen laufen und mir extrem viel blockieren was ich mir eigentlich schon im Kopf zusammengereimt habe.


    Aber kurz und knapp: Die Demo zu dem Plugin ist: :tonnen:


    Zurück zum Anfang:


    Der Teil des Plugins macht mir echt gerade Kopfschmerzen! Ich hab gerade über Discord nachgefragt ob es noch irgend einen Weg gibt, die Grundwerte dazu zu addieren.

    Mir wurde nun gesagt, es stimmt das die Werte aus der Waffe irgnoriert werden und nur die Werte aus der Formel des Skills genommen werden. Zur Info, in der Demo die ich zum Plugin nutze, ist bei allen Waffen ein Skill hinterlegt. In diesen Skills sind in den Formeln keine Formeln eingetragen, sondern nur Zahlen!


    Ich hatte bis gerade noch net ganz verstanden wie das Plugin bei den Angriffen arbeitet und eigentlich funktioniert. Ich ging nun davon aus, dass dies so vom Plugin vorgesehen ist und man da nur Zahlen eintragen kann bzw. muss.


    Statt im Skill die Formel '10' einzutragen, mit dem man dann 10 Angriffspunkte hat, kann man (natürlich) auch die Formal 'a.atk + 10' nehmen. :bekloppt:


    Dann wird auch der Basiswert des Charakters auch mit eingerechnet. Ich bekomm mir gerade echt nen wenig behämmert vor. :schlag2:


    Dem zufolge kann ich auch 'Starker Schwerthieb' für den Spieler erlernbar machen und dieser würde dann rein für den Basiswert gelten.


    Ürsprüngliches Problem wieder:


    Wenn der Spieler den Skill 'Starker Schwerthieb' lernt, wie kann ich dafür sorgen, dass dieser auch sofort aktiviert wird?


    Ich entschuldige mich für die Verwirrung aber für die große Hilfe! :)

  • Okidokie!


    Also, dein Skill Starker Schwerthieb macht doch nichts außer den Angriff des Spielers zu erhöhen, das habe ich richtig verstanden?

    So wie es jetzt ist wählst du also den Skill aus und er sagt: Erhöhe den Angriff um 2.

    Genau diesen "Erhöhe den Angriff um 2" packst du nicht in den Skill, sondern separat dazu, in dem Moment in dem er den Skill erlernt.

    Das Ergebnis ist das gleiche als hättest du die +2 durch den Skill hinzugefügt, nur eben dass er nicht eingesetzt oder angezeigt werden muss.


    Wie genau fügt Starker Schwerthieb die +2 denn hinzu? Mit einem Gewöhnlichen Ereignis?

  • Also, dein Skill Starker Schwerthieb macht doch nichts außer den Angriff des Spielers zu erhöhen, das habe ich richtig verstanden?

    Bingo!

    Genau diesen "Erhöhe den Angriff um 2" packst du nicht in den Skill, sondern separat dazu, in dem Moment in dem er den Skill erlernt.

    Du meinst damit über ein Event oder wie meinst du das mit Seperat?


    Aso, den neuen Skill lernt er über einen Skilltree. Er schaltet den Skill also damit frei. Er müsste also bei der Freischaltung automatisch mit aktiviert werden.

  • Wie gesagt über ein Skill Tree Plugin. :)


    Hier mal ein Ausschnitt. So würde der Skill 'Saint' aussehen. Der gesamte Tree ist in einer JSON-Datei die Trees beinhaltet.


    Wie du siehst wird Skill 141 und 144 damit freigeschalten. Man kann bei der Aktivierung im Skilltreff auch Switches und Common Events aktivieren.


    Ne Möglichkeit wäre für jeden Skill dann einen Schalter zu machen und an ein Common Event zu binden. :hmm:


    Damit könnte man wie du schon sagtest nen Fake-Skill machen und die Werteänderung rein beim ausführen der Freischaltung implementieren.

  • Gerade getestet, funktioniert wunderbar. Brauche einfach nur die ID des Common Events festlegen und sobald ich das Skill-Menü verlasse wird das Common Event ausgeführt.


    Nun ja ich denke schon das ich nen Schalter brauche, ausser du hast ne gute Idee. :)


    Ich bräuchte dann ja pro Skill ein Commonevent was ich aufrufe. Andernfalls kann ich aber für jeden Skill nen Schalter festlegen, diesen auf ON stellen und dann nur ein einziges Common Event nutzen, wo ich abfrage welcher Schalter ON ist.

  • Jubb, das kommt dann eben nur darauf an, was einem lieber ist^^ Mehrere Common Events fände ich persönlich übersichtlicher, als jeden einzelnen Skill in einer Wenn-Schalter-ist-ein-Verzweigung in einem einzigen Common Event zu haben, aber das ist wie gesagt Geschmacksache.
    Ich bin jetzt auche rstmal nur von dem einen Skill ausgegangen. Aber freut mich, dass es funktioniert :grinsenderork:


    Jetzt bin ich aber auch gespannt was das für ein fetziges Kampfsystem wird^^

  • Jop stimmt schon, wäre übersichtlicher. Kommt denn auch auf die Anzahl an, ich bin mir da noch unsicher wie viele Skills wir auf diese Art und Weise handhaben müssen. Wenns nur 5-10 Stück sind würde ich auch Common Events nutzen. Bei 50 eher mit Schaltern arbeiten.


    Vielen Dank auf jeden Fall noch einmal, freu mich gerade rießig! :D

  • Jetzt musste ich doch noch einmal das Plugin wechseln, da dieses durch das JP Plugin des MV im MZ nicht genutzt werden kann. :traurigerork:


    Problem ist nun halt wieder, dass das neue Skilltree Plugin komplett anders funktioniert. Common Events oder Schalter wie bei Felski gibt es leider nicht. Der Skill wird dem Benutzer nun einfach "nur freigegeben" zur Nutzung.


    Coucassi hast du noch ne Idee wie man einen Skill automatisch aktivieren kann, wenn man ihn lernt?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!