shop (einpaar Speicher probleme)

  • GM 8

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

  • shop (einpaar Speicher probleme)

    hallo

    ich habe ein problem, undzwar habe ich einen kleinen shop gemachtwo man sich dort essen und neues spieler design kaufen, undzwar habe ich das shop mit einem drag&drop gemacht (test score). wenn ich aber z.b einen spieler design kaufe, möchte ich das dieser spieler dann nicht mehr gekauft werden soll, undzwar soll dann statt "kaufen" einen "auswählen" kommen, da man nicht 2. mal es kaufen soll, undzwar nur einmal.

    bitte drag&drop, oder examples zeigen. währe sehr hilfreich.
    danke :thumbsup:
  • mach doch so, in dem Knopf (wo kaufen oder so drauf steht) gibts du im Creat Event eine Variable mit "gekauft" und setzt sie auf 0.

    Wenn der Spieler jetzt das Objekt kauft, ich schätze du hast es mit mouse left oder so getan und wenn er genügent geld hat (wenn es das in deinem Spiel gibt) dann setzt du die Variable "gekauft" im Step event auf 1.
    Dann testest du mit der lilanen Variable ob "gekauft" auf 1 ist, und wenn ja, kannst du das Sprite ändern. Dann testest du noch ob das Sprite den Index "spr_gekauft" (mal angenommen es heisst so) auf ja ist. Ist es auf ja, kannst du das machen was du damit willst.


    Ich mach dir ein Example, dauert aber noch ein wenig ^^
    Husi012 hat mich nicht mehr in seiner Signatur, ich bin trotzdem noch fame.
  • Du brauchst eine Variable; zB Kostuem und die verändert sich wenn du das Ding kaufst. Wenn dus also bereits gekauft hast und Kostuem 1 ist dann kann mans auswählen statt es nochmal zu kaufen.

    hm, ich war langsam

    out now: KNOSSOS auf itch.io
    ancient-pixel.com <<< ich freue mich über einen Besuch! ^^
  • also ich mache das
    wenn du ein disign kaufen willst:

    Quellcode

    1. if schongekauft=false
    2. show_message_ext("disign","kaufen","abbrechen","") ==1
    3. //kauf code
    4. else
    5. show_message_ext("disign","auswählen","abbrechen","") ==1
    6. //auswahl code

    ist leider in gml da ich drag&drop nicht ganz verstehe
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Oke, so hab ein Example mit Geld auch noch dazu gemacht.
    Das geld wird dir oben links im raum angezeigt.


    Im Step Event findest du das:
    :action_ifvariable: If gekauftessen is equal to 1
    :action_begin:
    Hier kannst du dann alles rein packen was damit geschehen soll
    :action_end:


    In meiner neuen Antwort ist es so wie du es woltest. ^^
    Husi012 hat mich nicht mehr in seiner Signatur, ich bin trotzdem noch fame.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Dufner ()

  • ok hoffentlich weist du wie man eine message machst weil das weis ich nicht oder villeicht ^^ (ich versuchs)

    wenn er kaufen will:
    :action_variable:
    "schongekauft = false"
    :action_ifvariable:
    "schongekauft = false"
    message
    "disign","kaufen","abbrechen","" oder wie auch immer
    :action_else:
    message
    "disign","auswählen","abbrechen","" oder wie auch immer

    ich hoffe ich konnte helfen
    edit: oh da war schon jemand vor mir da
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • aber wenn ich bei dem beispie das brötchen kaufe, und "gekauft" steht, trotzdem wenn ich dort klicke wird der geld abgezogen. das heißt, dass er immer noch kauft, er soll aber nur einmal gekauft werden, dann nicht mehr zum kaufen verfügbar sein undzwar nur "gekauft stehen".
  • füge doch einfach mit :action_code:
    den code ein und sage was passieren soll wenn man auf kaufen/auswählen klickt dann füll ich die auch aus
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • jonasprogrammer schrieb:

    aber wenn ich bei dem beispie das brötchen kaufe, und "gekauft" steht, trotzdem wenn ich dort klicke wird der geld abgezogen. das heißt, dass er immer noch kauft, er soll aber nur einmal gekauft werden, dann nicht mehr zum kaufen verfügbar sein undzwar nur "gekauft stehen".


    Also soll man es nicht mehr kaufen können?
    Dann würde ich es so machen:
    Dateien
    • Example.gmk

      (10,88 kB, 124 mal heruntergeladen, zuletzt: )
    Husi012 hat mich nicht mehr in seiner Signatur, ich bin trotzdem noch fame.
  • Hab mir die .gmk nicht angeguckt und weiß auch nicht, ob das Problem immernoch besteht, aber man kann die Variable nach dem Kauf auf +1 oder so machen und dadurch absichern, das man es nicht nochmal kaufen kann. Ich meine also, dass man nicht true/ false nimmt, sondern als Werte 1,2,3.
    GML lernen geht leicht :)
    1. http://www.gm-d.de/help/ (deutsch)
    2. gm-d.de/wbb/index.php/Thread/2270/ (Einsteiger-Referenz)
    3. docs.yoyogames.com/ (Hilfe auf Englisch von GM:S)
  • lustig,

    ich hab da auch eine Vorstellung, so könnte es gehen.


    ITEMS im Shop: Anzahl:

    Brötchen 1
    ------------------------------------------

    ? Wenn die Anzahl von Brötchen größer ist als = 0 dann:

    # Zeige das Brötchen im Shop an.

    <wähle das Brötchen aus>

    # zeige den kauf button (vorher nicht aktiv)

    <klicke auf diesen button>


    # Die Anzahl an Brötchen im Shop wird minus 1 gemacht = 0.
    # Das Icon/ Bild von dem Brötchen verschwindet, oder wird grau und deaktiviert, der kauf Button ebenfals.
    #Die Anzahl an Brötchen im Inventar wird auf + 1 gestellt.

    fertig!



    nun die variabeln erstellen:

    Die Variabeln erstellen wir global an einem sichern Ort, wo mann sie immer wieder findet.

    <erstelle ein Sprite "System_Variabeln_sprite" und kein bild laden.>
    <erstelle ein Objekt "System_Variabeln_obj" lade dieses Sprite, und>
    <setzte das Objekt (kleiner blauer Punkt) in den ROOM in eine Ecke.>

    <Im Crate Event von "System_Variabeln_obj", ertellen wir nun sämtliche globalen Variabeln für diesen Room/Spiel.>
    <erstell ein Variabel für Brötchenanzahl im Shop: global.shop_brötchen = 1>
    <erstell ein Variabel für Brötchenanzahl im Inventar: global.inventar_brötchen = 0>

    Öffent sich der shop, dan

    # If global.shop_brötchen größer als 0, dann
    # blende das Brötchen Icon/button ein
    # DRAW die Anzahl an Brötchen im shop = 1

    <klicke auf das Brötchen>
    # blende den kauf Button ein, und so weiter......

    Alle Globalen Variabeln beziehen sich nun auf das Objekt "System_Variabeln_obj"
    Einfach in der Variabel nicht auf self sonder auf dieses Objekt stellen.

    ich hoffe das ist ein guter einstieg.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ZELPAD ()