Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 22

Thema: Bei Game Over Punkte anzeigen

  1. #1

    Bei Game Over Punkte anzeigen

    So, ich habe vor, in einem Game ein Punktesystem zu integrieren.

    Die Punkte sind ganz einfach ein unverkäufliches Item im Inventar. Bei bestimmten Aktionen erhöht sich die Anzahl dieses Items.

    Ich möchte nun, dass bei einem Game Over der erreichte Punktestand in einer Textbox angezeigt wird.
    Wie lasse ich in einer Textbox einen Wert anzeigen, den ich in einer Variablen gespeichert habe?

  2. #2
    Mit \v[0000]. Für die 0000 muss die passende ID eingesetzt werden.

  3. #3

  4. #4
    Habe noch eine Frage zu meinem Vorhaben.

    Wie sage ich dem Programm, dass es bei HP = 0 eine Textbox anzeigen soll?
    Bei Conditional Branches kann man nur HP >=1 auswählen.

  5. #5
    Pack die Helden HP doch in eine Variable und frag die über die Fork ab ... !?

  6. #6
    Ich speichere die HP in einer Variablen.

    Aber was ist dieses "Fork" & wie mache ich das? (:

  7. #7
    Forks und Conditional Branches sind das gleiche, nur andere Bezeichnungen. Du musst dann den Wert der Variable abfragen, nicht die HP des Helden. Dann funktioniert = 0 auf jeden Fall.

  8. #8
    Hm, funktioniert trotzdem nicht.

    Schau mal:
    Code:
    @> Wait: 0.0 seconds
    @> Conditional Branch: Variable [0202:Player Hp] == 0
      @> Text: Du hast \v[0201] Punkte erreicht.
      @>
     : Else
      @>
     : Branch End

  9. #9
    Da fehlt Kontext. So allein funktioniert diese Abfrage auf jeden Fall. Zeig mal, wann und wo und wie die Variable gesetzt wird.

  10. #10
    @Cepanks:
    Das Common Event ist ein Parallel Process ohne Switch.
    Code:
    @> Control Variables: [0202:Player Hp] = [XXX]'s HP
    EDIT: Aber ich glaube, das Problem liegt ganz woanders:
    Ich glaube, der Game Over-Screen wird angezeigt, noch bevor irgendeine Textbox erscheinen kann; oder liege ich da falsch?

    Geändert von Norpoleon (17.12.2015 um 00:03 Uhr)

  11. #11
    Du könntest es so machen: Bevor deine letzte Figur stirbt (z.B. sobald nur noch eine da ist oder direkt von Anfang an alle), sie auf immortal setzen. Wenn dann die HP == 0 werden, (eventuell eine Sterbeanimation oder was du gerne hättest anzeigen,) den Text mit den Punkten anzeigen lassen und dann die Figur wieder auf mortal setzen (damit sie stirbt und der Game Over Schirm erscheint).

    Falls du alle direkt auf immortal setzt, musst du dran denken, sie immer auf mortal zu stellen, wenn sie besiegt werden und wieder zurück auf immortal, wenn du sie wiederbelebst.
    Alternativ könntest du sie auch immortal lassen und sie einfach jede Runde per Events überspringen lassen, wenn die HP bei Null ist. Könnte aber komplizierter werden. Und hier dann nicht vergessen, wenn alle HP auf Null sind und alles angezeigt wurde, dass du sie wieder sterblich machst (oder auf andere Art und weise das Spiel beendest, das geht ja auch über Events. So könntest du den normalen Game Over Screen komplett ignorieren und ihn selber aufrufen. Bist dann auch flexibler, musst es aber auch überall selber einstellen)

    Hoffe, das hat dir geholfen

  12. #12
    @eddy:
    Ich glaube, beim RM 2003 kann man die Actors nicht auf immortal stellen. Zumindest wüsste ich nicht, wie das ginge.
    Oder gibt's da doch eine Möglichkeit?

    Geändert von Norpoleon (17.12.2015 um 13:47 Uhr)

  13. #13
    Geht es um ein Event aus dem Kampf? Man kann nämlich im Database Menü unter "Battle Screen" unter Death Handler statt GameOver ein CommonEvent auswählen, das statt des eigentlichen GameOvers ausgeführt wird. Bei einem Tod aus einem anderen Event könnte man vorher den zugefügten Schaden und die noch vorhandene HP des Helden vergleichen, evtl. abfragen ob noch andere Helden am Leben sind und so alles vor dem letztlichen Schaden-zufügen abfangen. Ist bei evtl. vielen Events nicht die schönste Lösung, sollte aber möglich sein und bestimmt auch vernünftig CommonEvents steuerbar sein. Ansonsten sehe ich das Problem genau an der Stelle wie du sagtest: Der GameOver Screen wird direkt nach dem Tod angezeigt ohne zu schauen ob noch andere Events ausgeführt werden sollten.

  14. #14
    @Tolomb: Ich verwende ein eigenes Kampfsystem, nicht das Standard-KS.
    Bei mir gibt's nur immer einen spielbaren Charakter & wenn der stirbt, ist das Spiel "Game Over".
    Gibt es eine Möglichkeit, den Tod des Actors zu customizen, ohne dass der HP-Wert (z.B.) verfälscht wird?
    Oder bringt es was, wenn ich jedes Schadennehmen auf nicht "allow death" stelle & in einem Common Event die Textbox anzeige & dann von Hand ein Game Over simuliere?

  15. #15
    Benutzt du das Standard-Menü oder sind die tatsächlichen HP sonst irgendwie nötig (z. B. weil es Items gibt, die selbige erhöhen)? Wenn nicht, würde ich die "Maker-HP" des Charakters einfach ignorieren und den Wert ausschließlich über eine Variable steuern und bei 0 den Game Over-Screen manuell aufrufen. Also ungefähr so:
    Code:
    // Bei Spielstart.
    var1234_PlayerHP = 109
    
    
    // Später dann. Charakter wird getroffen.
    var1234_PlayerHP -= <schaden>
    if var1234_PlayerHP <= 0 {
      showMessage "Du hast \v[5678] Punkte erreicht."
      gameOver
    }
    Edit: Theoretisch kann man um obigen Code auch den HP-Stat des Makers drumherumbauen:
    Code:
    var1234_PlayerHP = XXX's HP
    var1234_PlayerHP -= <schaden>
    if var1234_PlayerHP <= 0 {
      showMessage "Du hast \v[5678] Punkte erreicht."
      gameOver
    }
    XXX's HP = var1234_PlayerHP

    Geändert von Cepanks (17.12.2015 um 15:56 Uhr)

  16. #16
    Ich glaube, ich habe eine simple Lösung gefunden:
    wenn ich bei HP = 1 den Game Over vorziehe, kriege ich das, was ich vorhabe, zum Laufen.
    Das ist zwar etwas unschön, aber es funktioniert.
    Wie sehr würde es euch bei einem Spiel stören, wenn der Tod bei HP = 1 eintritt?

  17. #17
    Zitat Zitat von Norpoleon Beitrag anzeigen
    Wie sehr würde es euch bei einem Spiel stören, wenn der Tod bei HP = 1 eintritt?
    Das würde mich extrem frustrieren. Gerade noch dem Tod von der Schippe gesprungen (eigentlich) und dann doch Tod?
    Kannst du den Helden nicht einfach einen HP mehr geben und den nicht anzeigen lassen?
    Müsste auch gehen, aber ich denke die Lösung von Cepanks wäre die beste und einfachste.

  18. #18
    @eddy: Na gut, ich werde mal versuchen, die Idee von Cepanks umzusetzen.
    Wenn es alles nichts hilft, werde ich auf meine Idee mit HP = 1 = tot zurückgreifen. (:

  19. #19
    Zitat Zitat von Norpoleon Beitrag anzeigen
    @eddy: Na gut, ich werde mal versuchen, die Idee von Cepanks umzusetzen.
    Wenn es alles nichts hilft, werde ich auf meine Idee mit HP = 1 = tot zurückgreifen. (:
    Beschwer dich dann aber nicht, wenn sich alles bei dir beschweren ;P
    Wobei die meisten das wahrscheinlich eh nicht merken werden, dass sie noch 469 HP hatten und der Angriff nur 468 HP abgezogen hat.
    Vor allem bei multiplen Angriffen mit separaten HP-Zahlen.
    Aber wenn es einem auffällt, dann ärgert man sich, besonders wenn man dadurch den Kampf verliert ^^

  20. #20
    @eddy: Ich habe vor, in den Spielregeln ausdrücklich darauf hinzuweisen, dass der Tod bei HP = 1 eintritt.

Stichworte

Berechtigungen

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