Shop; NPC-zigmaliger Text

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Shop; NPC-zigmaliger Text

    Guten Abend, Morgen oder was auch immer. :( :deal:
    Mein Problem ist... oder besser gesagt, meine Probleme sind:

    SHOP:

    Ich habe alles mit den Coins usw. eingerichtet, jedoch ist es so, dass wenn man etwas gekauft hat und es ''instance_destroy''ed wird, dann wird es nur destroyed, bis ich wieder den Raum neu betrete. Wie geht es, dass es für immer destroyed bleibt?
    Momentan:

    GML-Quellcode

    1. ​instance_destroy

    Manchmal kann man auch ein Item kaufen, dass eig. 500 Coins kostet, obwohl man keine 500 hat, ABER es geht auch nicht in den Minusbereich. Ich weiß, dass es mit

    GML-Quellcode

    1. ​if global.points >= [Nummer]
    geht, habe ich auch gemacht, aber das ist sehr sehr seltsam.

    NPC-Texte:

    Ich habe dieses Problem schon sehr lange, wenn man gegen einen NPC rennt, erscheint Tausend Mal der Text und man erkennt keinen Buchstaben mehr - wenn man sich aber auf die NPCs draufstellt, ist es noch schlimmer, denn man hängt fest und der Text erscheint wieder extrem oft.

    Ich kann das Spiel leider grade nicht anhängen, da es bei mir grade übelst rumlaggt am Desktop usw. :headtouch: :heul: :evil:

    Ich bitte sehr um Hilfe.
    Bilder
    • Fehler....PNG

      9,56 kB, 438×176, 313 mal angesehen
    • Bruderpleme.PNG

      41,81 kB, 1.171×369, 366 mal angesehen
    • ShopBruderpleme.PNG

      16,06 kB, 395×235, 404 mal angesehen
  • Hi, also all Deine Probleme kannst Du mit "if ... Else" Schleifen lösen.
    Beim Shop würde ich abfragen, ob das Item schon gekauft wurde, und falls nicht,
    dann würde ich es anzeigen:

    If (!buyItem) "zeige Item" // bedeutet, wenn buyItem == false, dann zeige es her
    (Das Rufzeichen steht für NOT, also nicht und buyItem ist ein Boolscher Ausdruck,
    also 1(true) oder 0()false). Such mal nach Bool und Vergleichs-Operatoren(<>=||&&!).

    Selbiges für NPC Texte, den zeigst Du nur, wenn er eben NOCH NICHT angezeigt wird.

    Und auch Dein Geldproblem läßt sich damit lösen, indem der Spieler eben nur kaufen kann,
    wenn er mehr als 500 Coins hat.

    if (coins > 500) "Item kann gekauft werden"

    Wenn du Deinen Code schreibst, dann drück mal F4, dann bekommst Du eine Auswahl, von
    den unterschiedlichen Abfragen, die GM anbietet.
    Das ist sehr hilfreich für den Anfang, weil Dir gleich vorgegeben wird, wie die Abfrage
    korrekt aufgebaut wird.

    Miradur
  • Danke, habe alles gefixt bis auf zwei Sachen:

    Das mit dem NPC (npc_shop1) (obj) (z.B), kannst du mir da bitte einen Code bzw. eine Codeart schicken? Wäre sehr nett :)
    Das mit den Münzen und so hat jetzt funktioniert, danke.
    Textbox, die der NPC sagt: ''TBox15''.
  • Das war schon der Code ;)
    So lange es nur um wenige Items geht, kannst Du das mit Globalen Variablen lösen:

    buyShoes = global.buyShoes ; // ohne Zuweisung ist das Null, also False

    Wenn Du nun die Schuhe kaufst, dann setzt Du die Variable auf 1, also True, am
    besten in der Schleife, wo Du das Geld abziehst:

    buyShoes = 1;
    global.buyShoes = buyShoes;

    Diese scheinbare Doppelzuweisung der globalen Variable, ist notwendig, wenn man nicht
    ständig das "global." davor setzen möchte.

    Dann ergänzt Du noch Deine if Schleife, in der Du abfragst, ob genug Geld vorhanden ist,
    um folgendes:

    if (coins > 500) && (!buyShoes) "Item kann gekauft werden"

    Über eine weitere Abfrage, kannst Du dann die Schuhe gar nicht erst anzeigen, oder Du läßt
    alles wie es ist und machst an Stelle davon etwas ähnliches wie:

    if (buyShoes) "Du hast diese Schuhe bereits gekauft!" // wenn buyShoes 1 ist, dann wird der
    Text angezeigt.


    Miradur