Wie macht man einen Shop?

  • GM 7

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

  • Wie macht man einen Shop?

    Hi!

    Ich kann leider garnicht programmieren (bislang) aber dafür bin ich schon recht weit mit meinem Spiel :)
    Nun wollte ich aber auch noch einen Shop einfügen wo man zwischen verschiedenen ausrüstungs gegenständen wählen kann die man für punkte bzw. geld kaufen kann und die der player dann auch gleich anhat ... wie man sprites ändert und klickbare schaltflächen macht weiß ich aber wie bekomm ich gamemaker dazu bei tastendruck einen shop zu öffnen (was ja ein anderer raum wäre) und dann ohne den spieler auf eine neue position zu verschieben wieder zurück zu bringen mit dem neuen sprite?

    P.S.: Ich hab übrigens ein .gif für die laufanimation vom charakter aber die bleibt immer stehn wenn ich anfang zu laufen und läuft nur ab, wenn man den player nicht bewegt?! Jemand ne idee?


    Schonmal vielen lieben Dank für alle antworten und anregungen :)
    Lucas
  • Ich frag mich wie du weit mit deinem Spiel sein kannst, wenn du gar nicht programmieren kannst.


    Naja, also du braucht nicht unbedingt einen neuen Raum.
    Du kannst einfach ein Fenster öffnen lassen bei dem du dann mit den Pfeiltasten die Dinge zum kaufen auswählst.


    du erstellst ne Variable, bspw. clothes = 1;
    mit pfeiltaste rechts wird es um eins erhöht: clothes += 1;
    mit pfeiltaste links dagegen um eins runtergesetzt.
    Dann musst du noch programmieren, dass es die versch, Kleidungsstücke oder was auch immer anzeigt.
    bei clothes 1 zeigts das, bei clothes = 2 das usw:

    GML-Quellcode

    1. switch (clothes)
    2. {
    3. case 1: draw_sprite(...) break;
    4. case 2: ....
    5. ...
    6. }


    Und dann machst du noch mit zum Beispiel enter, dass es das dann kauft.
    das kannst du auch mit switch-case machen, du weißt ja wie man die Sprites wechselt und zusätzlich lässt du noch das Geld abziehen.

    GML-Quellcode

    1. if geld >= 49
    2. {geld -= 49;} //wobei du beide Zahlen für den Preis ersetzen musst



    Soweit alles kapiert, war nur die Kurzfassung.
    Wenn dus nicht verstehst, dann mach ich dir mal ein Example, schreib mir dazu ne PN.
    Gruß Gamer
  • Ich bin halt so weit man mit ausschließlich der drag and drop funktion kommen kann :)

    Das mit dem Fenster versteh ich nicht ganz weil das sieht doch auf jeden fall nicht so gut aus wie wenn ich jetzt eine schöne bildschirm füllende Zeichnung mach und die in einen eigenen Raum setz oder? Halt grafisch und technisch gesehn denk ich ists einfacher ...

    Könnte auch eine bestimmte stelle mit einem trigger versehen das der raum aufgeht nur die hauptfrage bleibt wie ich den player dann wieder auf die selbe stelle zurück bekomm auf der er war und ohne das die punkte oder irgendwas zurücksetzt ...
  • Wenn du dich für einen "Room" für den Shop entscheidest
    musst du die Variablen deines Players mit "globalen"-Variablen
    abspeichern. Sonst hast du nachher was im shop gekauft und dein geld wurde garnicht abgezogen!
    also nicht geld=*** sondern global.geld=***

    thx DSS
    Ihc hab so voll den ij
  • Das mit dem binärcode versteh ich nicht ganz ... setzt man sowas einfach rein oder was macht man damit? :)
    binärcode? (Das einzige was ich sehe ist die Signatur von Dick-Software Studios)

    Du nimmst diese Icon:

    Und stezt im Create Event von obj_player das rein, und gibs bei code das ein:

    GML-Quellcode

    1. if !(variable_global_exists("playerx")) //Wenn der Spieler noch nicht den Shop geöffnete hat
    2. {
    3. global.playerx=x
    4. global.playery=y
    5. global.geld=0 //geld
    6. }
    7. else
    8. {
    9. x=global.playerx
    10. y=global.playery
    11. }
    Alles anzeigen

    Dann nimmst du wieder das Icon und steztz dieses da wo der Shop geöffnet wird.
    Code:

    GML-Quellcode

    1. global.playerx=x
    2. global.playery=y
    3. room_goto(shop_raum)//zu raum gehen

    Normal das Icon diesmal in das objekt, einfach ein objekt für jeden gegenstand ( Ich weis es gibt bessere möglichkeiten). Create Event
    Code:

    GML-Quellcode

    1. preis=10 //wie viel es kostet

    Das hier ins Mouse Left Pressed Event

    GML-Quellcode

    1. if (global.geld>=preis)
    2. {
    3. global.geld-=preis
    4. //hier was passieren soll wenn es gekauft würde z.b.
    5. lives+=1 //leben werden um eins erhöt
    6. }

    Das wars in gml.
    Ich hab noch nen Example drangehängt wo in D&D ist.

    MfG Henrik1235
    Dateien
    • example.zip

      (14,02 kB, 92 mal heruntergeladen, zuletzt: )
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • Das geht nicht mehr -.-

    der download bez nich mehr in 8.1
    Mein Game und meine seite: riataliaxeas.npage.de/

    Spoiler anzeigen
    Zeit zurückspulen, Tag-/Nacht-System, Begleiter mit Boni, Shop, Dungeon und Licht-/Schatteneffekte, 3D-Fake-Natur und mehr...Termin: Mitte 2016
    :!:
  • weist du überhaupt was du willst? dein game läuft noch nicht mal essentiell ( festhalten an Klippe und so) und du machst dir schon Gedanken über nen Shop? so wird das nie was ganz ehrlich
  • es stört mich nicht wie alt es ist ! ich wollte das gerne lernen wie man sich an sowas festhält aber egal wie ich es schiebe und mache und schreibe : wenn sich einer mal teamv runterläd und zuschaut würde er es sehen das ich es nich verstehe und bei 100 scripts und ca 400mb grossen spiel das hinzufummeln das es geht wäre ich glücklich wen mir wer da helfen könnte,.


    Fox dan gebe mir doch ein link zum : shop erstellen oder ein youtube tutorial oder so was auch noch geht !!!!!!!!!!!!!

    wo soll ich den nach was suchen und lernen wie was geht wen alles so alt ist das der sch.... gm es nicht mehr macht weil er angeblich verbessert worden ist aber dann nichts mehr funktioniert das man immer neue lernvideos brauch oder forum einträge da ist es kein wunder das bei jeder version immer ein neues: wie baue ich ein shop, wie mache ich das , wie mache ich das.... kommt !

    und alles doppelt und 100 mal im forum ist!

    dann sollen die das forum umschreiben auf eine autosuche- das erst die neuen beiträge angezeigt werden: von v.8.1 und dann alles was älter ist und nicht mehr mit 8.1 kompatibel das auch mal eingrenzen hier !
    Mein Game und meine seite: riataliaxeas.npage.de/

    Spoiler anzeigen
    Zeit zurückspulen, Tag-/Nacht-System, Begleiter mit Boni, Shop, Dungeon und Licht-/Schatteneffekte, 3D-Fake-Natur und mehr...Termin: Mitte 2016
    :!:
  • Dann probier doch mal außerhalb deines Games in einem Versuchsprojekt dass mit dem Shop und wenn es im großen und ganzen so funktioniert, wie du willst, dann implementiere es in dein eigentliches Spiel?!
    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)
  • ja das mache ich bereits offt und auch habe ich in mein game ne test map wo ich alles an mache und platziere um nach fehler zu schauen .
    danke denoch für den ratschlag !!!!!
    Mein Game und meine seite: riataliaxeas.npage.de/

    Spoiler anzeigen
    Zeit zurückspulen, Tag-/Nacht-System, Begleiter mit Boni, Shop, Dungeon und Licht-/Schatteneffekte, 3D-Fake-Natur und mehr...Termin: Mitte 2016
    :!:
  • Klar hat sich viel verändert aber du bist ja frisch dazu gekommen also sollten die Änderungen ja kein Problem sein.
    GML funktioniert im Kern noch wie früher und du machst den Fehler den so gut wie jeder Anfänger macht (nicht falsch verstehen).
    Du möchtest irgendwas bestimmtes Programmieren aber dir fehlt das Know-How.

    Hast du schon dieses Tutorial gelesen: Link zum Tutorial
    Es ist wirklich sehr gut und hat mir anfangs die GML sehr gut beigebracht.
    Möchtest du lieber Videos sehen dann guck dir auf englisch den Youtuber "Hearthbeast" oder meinen (allerdings kostenpflichtigen) Video-Kurs an.

    Darüber hinaus wäre es sehr sinnvoll zu wissen wie du dir deinen Shop vorstellst.
    Im Grunde ist das nämlich nicht schwer wenn man weiß wie GML funktioniert.

    Du arbeitest beim Programmieren immer mit irgendwelchen Daten.
    Du hast zum Beispiel Variablen in welchen dein Geld gespeichert ist.
    Dann hast du vielleicht einen Array mit Items die du besitzt.

    Jetzt könnte man das Shop-System ja so aufbauen, dass man bei dem Klick auf eine bestimmte Fläche einfach was vom Geldbetrag abzieht:

    GML-Quellcode

    1. geld -= kaufpreis;


    Und ein neues Item dann bekommt.
    Das mit dem Item-System könntest du mit Arrays lösen oder aber ach die GM-integrierten Datenstrukturen verwenden.
  • ja ich habe genug items und auch den player bereits den wert gegeben

    money= +100

    und mein item

    price= 200

    das im creat event des shops:

    items[0] = "Bananen";
    items[1] = "Gurken";
    items[2] = "Dieses Tutorial";

    price[0] = 200;
    price[1] = 500;
    price[2] = 1500;

    pieces[0] = 1;
    pieces[1] = 1;
    pieces[2] = 1;

    selected_item = 0;
    __________________________________
    ez klapt auch alles wunder bar nur ich hänge an 2 dingen da leider.

    1.; wie kann ich geld machen das es mir auch angezeigt wirt...
    2.: ich habe ein powerup oder medikit erstellt das mir beim einsammeln leben giebt...

    jetst frage ich mich wen ich das kaufe ; also da reinschreibe
    items[0] = "PowerUP"; OBJECT
    price[0] = 200; // PREIS
    pieces[0] = 1; // ANZAHL

    das der mir das auspuckt wen ich geld habe ... und wie wirt es abgezogen wen ich ein schalter drücke . oder sprit bild wie im start menü
    zb mit der maus auf das bild : Kauf klicke das mein charackter dann entweder das item bekommt
    oder den efect zumindest...
    Mein Game und meine seite: riataliaxeas.npage.de/

    Spoiler anzeigen
    Zeit zurückspulen, Tag-/Nacht-System, Begleiter mit Boni, Shop, Dungeon und Licht-/Schatteneffekte, 3D-Fake-Natur und mehr...Termin: Mitte 2016
    :!:
  • Ehrlich gesagt, sind mir deine Fragen etwas unstrukturiert ausgedrückt, so dass mir dein zweiter Teil nicht klar ist.
    Zur ersten Frage würde ich sagen: draw_text(x,y, string)
    String kannst du dann zusammensetzen aus "Geld: " + string(money)

    Dann bekommst du an deine gewählte Stelle x, y angezeigt wie viel Geld du hast.

    Für deine zweite Frage noch ein Ansatz: Erstelle dir ein Struktogramm, nachdem Motto:
    1. Ich habe Geld --> Ja/ Nein
    2.Falls ja --> Schalter gedrückt
    3.Falls ebenfalls ja --> Geld abziehen + Sprite ändern oder weiß der Kuckuck

    Wenn du so ein Struktogramm hast, siehst du vielleicht leichter den roten Faden und kannst dann nach und nach über Variablen und if (else) Bedingungen deinen Shop aufbauen
    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)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Sk.Info.k.P. ()

  • also wen ich das : draw_text(x,y, string) ins draw event von meiner spielfigur so einfüge kommt ein fehler.

    und zu teil 2.

    wen ich den shop öffne
    ich dann auf ein kauf button klicke das ich dan das item bekomme das ich angewält habe .
    = wirft der automat es aus .
    = oder das ich den efect wie leben direckt auf die figur bekomme.

    ich weis nicht wie ich das mache mit dem: Knopf-kaufknopf das er mir dann bei anklicken das item giebt
    und ich weis nicht: wie ich ein item bekomme nach dem ich es gedrückt habe .


    mein stand is nur geld angeben und das mir gezeigt wirt wie viel ich zahlen muss wen ich angenommen 99 items kaufe. an geld.

    mir feht der code auch das es abgezogen wirt.
    Mein Game und meine seite: riataliaxeas.npage.de/

    Spoiler anzeigen
    Zeit zurückspulen, Tag-/Nacht-System, Begleiter mit Boni, Shop, Dungeon und Licht-/Schatteneffekte, 3D-Fake-Natur und mehr...Termin: Mitte 2016
    :!:
  • GML-Quellcode

    1. draw_text(5,5, "Geld: " + string(money))
    sollte schon funktionieren, ansonsten schau dir mal die Hilfe-Datei von 8.1 an, was der dir für draw_ an Funktionen ausgibt.

    zu 2.
    Der Kaufknopf ist ein Object das du mit einer mouse-pressed Abfrage(probier halt, ob pressed oder press, weiß ich grad nicht...) belegen kannst. Dann kannst du beim klick die davor deklarierte Variable klick auf true stellen und dann das Objekt erzeugen, was du gekauft hast oder deine Leben wieder auffüllen:
    draw event

    GML-Quellcode

    1. if (klick ==true)
    2. {lives += 10
    3. instance_create(obj_Schwert)//dafür musst du natürlich dieses Objekt haben
    4. draw_sprite (schwert)//weiß nicht, wie der Befehl genau heißt
    5. }


    An der Stelle möchte ich Sorm nochmal Recht geben. Du kennst den GM noch nicht gut, beschäftige dich ein bisschen damit, was er dir sowieso bietet (Kollisionsabfragen etc) und versuch dann wirklich über ein Struktogramm festzustellen, welche Funktionen du brauchst und wie man sie anwendet, sonst bräuchte man ja keine mitgelieferte Hilfedatei ^^
    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)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Sk.Info.k.P. ()