Spieler Betrunken machen

  • Hey :D

    Bin relativ neu hier und entschuldige mich für Rechtschreibfehler schon mal im Vorfeld!


    Ich verzweifle gerade an einer Stelle. In meinen Spiel gibt es eine Bar, an der man sich betrinken kann. Ich stelle mir das so vor.

    1 Bier = Bildschirmerschütterung stärke 1 für 20 Sekunden

    2 Bier = Bildschirmerschütterung stärke 2 für 20 Sekunden und nach Ablauf sollte man nicht nüchtern sein, sondern den Zustand von Bier 1 haben

    3 Bier = Bildschirmerschütterung stärke 3 für 20 Sekunden und nach Ablauf sollte man nicht nüchtern sein, sondern den Zustand von Bier 2 haben und nach dem Ablauf Zustand von Bier 1


    Also kurz gesagt, dass die Bildschirmerschütterung nachlässt.


    Ich habe es so gemacht, dass ich eine Variable namens Bier erstellt habe und in einen Allgemeinen Event, dass die ganze Zeit parallel läuft habe ich die Variableabfrage.

    Wenn Bier gleich 1 ist, dann passiert der erste Zustand. Das klappt auch. Nur hört dann die Bildschirmerschütterung nicht mehr auf.


    Kann mir da einer vlt kurz helfen?


    Marco

  • Ich würde einen End-Schalter einbauen, der abgefragt werden kann, da das Common Event ja parallel abläuft und daher die Erschütterung immer wieder aufs neue abruft, solange die Variable den Wert 1 hat


    Freundliche Grüße

    Commander_Bert
    Meine Maker
    i_RMMV verwendet, (i_RMVXAce,i_RMXPvorhanden)
  • Folgendes wird benötigt:

    • 2 Events
    • 1 Variable

    Event 1:

    Das ist unser Barkeeper bei dem wir Biere kaufen können.

    Einfach eine Choice Auswahl, die je nach Auswahlmöglichkeit unsere Variable auf 1, 2 oder 3 setzt.


    Event 2:

    Das ist das Screenshake Control Event. Dieses Event hat 3 Seiten und jeweils den Trigger auf parallel. Als Condition hat die 1. Seite unsere Variable größergleich 1, die 2. Seite unsere Variable größer gleich 2 und die 3. Seite unsere Variable größergleich 3.

    Code
    1. ◆Shake Screen:3, 5, 180 frames (Wait)
    2. ◆Control Variables:#0001 Variable 1 -= 1

    Jede Seite hat diese Event Commands. Nur halt mit verschiedener Stärke beim Shake. Wichtig ist das auf das beenden des Shakes gewartet werden muss.


    Wie funktioniert das ganze jetzt?

    Am Anfang ist die Variable auf 0, also läuft unser Control Event nicht. Wenn der Spieler nun 2 Bier kauft, wird die Variable auf 2 gesetzt. Dadurch aktiviert sich die 2. Seite in unserem Control Event. Der Shake startet, wenn dieser fertig ist, wird die Variable um 1 verringert, hat also nun den Wert 1. Dadurch aktiviert sich die 1. Seite und macht nun den schwächsten Shake, wenn dieser fertig ist, wird die Variable nochmals um 1 verringert, ist nun auf 0. Dadurch deaktiviert sich das Control Event.

    Analog wurde das gleiche für den 3. Fall gehen. Nach dem Shake ist Variable 2, dann 2. Seite, danach dann 1. Seite.

    Und wenn nur 1 Bier ausgewählt wird, läuft halt nur die 1. Seite.

  • waynee95 Ich sehe da nur ein Problem, wenn der Spieler dann nochmal ein Bier kaufen möchte.


    Nehmen wir an, der Spieler kauft sich 3 Bier und dann nach kurzer Zeit nochmal eins. Nach deinem Prinzip wäre er dann weniger betrunken als zuvor.

    Außerdem ist der Nachteil der vielen Eventseiten, dass sie überlappen könnten.


    Nehmen wir an, der Spieler hat 1 Bier intus, der Bildschirm wackelt schön, sagen wir 4 Sekunden und nach 5 weiteren soll die Biervariable -1 genommen werden. Nun kauft der Spieler allerdings 3 Bier.

    Die Eventseite wechselt und somit würde der Bildschirm dann insgesamt 4 Sekunden zu lange gewackelt haben.


    Deswegen würde ich es einfach wie folgt angehen:



    Ich denke, meine Begründung ist verständlich :/


    (Die Werte müssen natürlich nach Wunsch verändert werden)

  • waynee95 , Grandro : Ich glaube, ihr seht beide das ganze Problem zu sehr von der Programiererseite.


    Frage: wer bestellt z. B. 3 Bier für sich alleine, ich denke niemand, somit ist die Wahlabfrage eigentlich in diesem Fall nicht sinnvoll.


    so wie ich die Frage verstanden habe, soll der Spieler ein Bier bestellen und dann wackelt der Bildschirm schwach. Bestellt er danach wieder eins, soll der Bildschirm wieder wackeln, diesmal stärker und dann noch einmal wieder schwach. d. h. es müssten 2 Variablen verwendet werden, eine, die die Gesamtanzahl der Biere zählt, und eine, die das Wackeln steuert, abhängig von der ersten Variablen.

    Wenn der Spieler ein Bier bestellt muss die Variable "Bier" um eins erhöht werden, an die zweite Variable, die 0 ist, übergeben werden und dann Schritt für Schritt auf 0 gefahren werden, jedesmal mit Wackeln.


    Freundliche Grüße

    Commander_Bert
    Meine Maker
    i_RMMV verwendet, (i_RMVXAce,i_RMXPvorhanden)
  • Genauso hab ich mir das vorgestellt :)

  • Mein System funktioniert ja vom Prinzip her so, du musst es halt nur ein bisschen verändern. Lösch dann halt die Abfrage wieviel Bier er trinken will und erhöhe die Variable immer um 1 und leg dann für jeden Wert von Bier eine andere Stärke des "Screen Shakes" fest. Ich denke mal nicht, dass du dafür eine Formel brauchst, da sich der Spieler wohl kaum mehr als 6 - 7 Bier gönnen können sollte.

  • Ich denke mal nicht, dass du dafür eine Formel brauchst, da sich der Spieler wohl kaum mehr als 6 - 7 Bier gönnen können sollte.

    Also mit der Äußerung wäre ich vorsichtig, da kann ich Dir aus eigener Erfahrung sagen, da gibt es Leute, die schaffen wesentlich mehr.

    Aber in einem jugendfreien Spiel sollte man die Menge eventuell doch auf 3 oder 4 begrenzen, man will ja schließlich nicht beschuldigt werden, Kids zum Alkoholkonsum zu animieren.


    Freundliche Grüße

    Commander_Bert
    Meine Maker
    i_RMMV verwendet, (i_RMVXAce,i_RMXPvorhanden)