Ergebnis 1 bis 14 von 14

Thema: [Ace] Wie speichere ich Einkaufs- und Verkaufsmengen im Shop?

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #6
    Oh, da haben wir aneinander vorbeigeredet - ich meine mit "Items" schon wortwörtlich "Items" - Heiltrank, Manatrank, Eisenschwert, sowas. Da wird es wohl etwas mehr von geben. Die negativen Zahlen sind dabei hier noch kein Problem - eine positive Zahl heißt ja, dass der Spieler jetzt mehr hat als vorher (also hat er das Item x-mal beim letzten Shop-Besuch gekauft), negativ, er hat nun weniger davon (also hat er die Differenz verkauft).

    Wenn es in deiner Database 100 Items gibt und 5 Läden bräuchtest du also 100x5=500 Variablen. Das ist noch eine ganz humane Anzahl. Zusätzlich brauchst du noch einen Satz Variablen für die Abfrage im Script oben, da dieses bloß die Differenz für den aktuellen Ladenbesuch ermittelt, sprich herausfindet: "Wie hat sich der Itembestand des Spielers zwischen dem ersten und dem zweiten Aufruf des Common Events verändert?". Macht bei 100 möglichen (handelbaren) Items und 5 Läden 100x(5+1)=600 Variablen.

    Gehen wir einfach mal von diesen 100 handelbaren Items aus, bei denen dich die Verkaufswerte interessieren. Sagen wir V[4000] - V[4099] sind enthält die Vergleichszahlen, die das Script oben ermittelt, V[4100] - V[4199] dann die An-/Verkaufszahlen für jedes Item in Laden #1 insgesamt. Dann bräuchtest du zusätzlich zu dem Common Event oben (nennen wir es mal "Spieler-Inventur") noch ein zusätzliches Common Event ("Laden-Inventur"):

    Code:
    <>Set V[0002: Variablen-ID] = 4000
    <>Set V[0003] * 100
    <>Set V[0003] + 4099
    <>Set Label: 2
    <>Script: Set $game_variables[$game_variables[3]] + $game_variables[$game_variables[2]]
    <>Set Range V[0002-0003] + 1
    <>If V[0002] < 4100
      <>Jump to Label: 2
    :END CASE
    Mit V[0003] gibst du an, welchen Variablen-IDs angesteuert werden soll: Ist die V[3] = 1 wird das Script daraus 4100 machen (s. Annahme oben), bei 2 wäre das 4200, bei 3 dann 4300, usw., diese Variable musst du also vorher bestimmen. Dein Event fürs Einkaufen sähe dann so aus:

    Code:
    <>Call Event: "Spieler-Inventur"
    <>Show Shop Dialogue
    <>Call Event: "Spieler-Inventur"
    <>Set V[0003: Shop-ID] = 1
    <>Call Event: "Laden-Inventur"
    "Spieler-Inventur" schaut beim ersten Aufurf, wieviel der Spieler wovon im Inventar hat. Beim zweiten Aufruf wird die Differenz zum Zeitpunkt nach dem Ladenbesuch errechnet. Dann sagst du dem Maker, dass es um Laden #1 geht, bevor du "Laden-Inventur" aufrufst, welches diese Differenz mit vergangenen Werten für diesen Laden aufaddiert. Außerdem siehst du hier, warum es am besten ist, das ganze in Common Events zu packen: So kannst du neue Shop-Dialoge erstellen ohne jedes Mal erst wer weiß was an Code dranbasteln zu müssen.

    Insgesamt also alles keine großen Scripte, aber schon fortgeschrittener Kram was die Verwendung von Variablen im Maker angeht.

    Geändert von BDraw (10.01.2019 um 19:25 Uhr)

Berechtigungen

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