2 Verschiedene Scores zusammen zählen lassen?

  • GM 8

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

  • 2 Verschiedene Scores zusammen zählen lassen?

    Moin,
    ich denke für diese frage mache ich mal ein neuen Thread auf, und zwar habe ich 2 Scores:

    global.taler
    global.diamanten

    Diese wergen In Game gedrawt , nun möchte ich gerne das wenn der Player das Level beendet hat, das diese dann Angezeigt werden und zusammen gerechnet werden z.b. 5 Taler + 5 Diamanten = 10

    Diese 10 Punkte sollen dann in eine Highscore eingetragen werden, für jedes Level eine Highscore.

    Das Problem ist nun wie lasse ich die Punkte zusammen zählen? einfach mit global.taler=+global.diamanten ?(Kleine neben frage, kann man das auch so Animieren das es hochzählt?)

    Mit der Highscore hatte ich mir ein Example angeschaut doch dieses war ziemlich un durch sichtig und nicht so Verständlich.

    Vielleicht kann mir da Jemmand Helfen?
    Gerne stelle ich die Momentane datei zur verfügung wenn da Interesse besteht.


    Lieben Gru0
  • Am besten du machst eine neue Variable und nennst die dann global.GesamtScore oder wie auch immer.
    Dann am ende des Levels einfach

    GML-Quellcode

    1. global.GesamtScore=global.taler+global.diamanten


    Mit hochzählen:

    GML-Quellcode

    1. global.add=1;
    2. if(global.GesamtScore<(global.taler+global.diamanten))
    3. {
    4. global.GesamtScore+=global.add
    5. }
    6. else
    7. {
    8. global.GesamtScore=global.taler+global.diamanten
    9. }
    Imagine taking your usual two century long nap minding your own business when suddenly some cunt wakes you up.
    You tell him to f*ck off of course but just when you finally managed to fall asleep again the same asshole comes knocking again. I'd attack that dick too.
  • und draw'n und ggf ich nehme die score mit ins nächste Level draw ich die dann einfach so?

    GML-Quellcode

    1. //gesamtscore draw
    2. draw_text(view_xview + 1000,view_yview + 10,"Gesamtscore: "+string(global.GesamtScore))


    EDIT:!!!!Warum frag ich "Hrmpf" ich probiers einfach!!!!!

    :D Jaaa klappt super! Der Draw ist da aber hat die Punkte nicht rüber gezogen, die müssen doch sicherlich gespeichert werden?

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

  • GML-Quellcode

    1. global.taler=+global.diamanten


    Macht nicht das was du willst: global.taler wird zu global.diamanten gesetzt. Korrekt wäre (wie in der Mathematik) einfach
    global.taler + global.diamanten, z.B:

    GML-Quellcode

    1. show_message("Du hast " + string(global.taler + global.diamanten) + " Punkte bekommen!");
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • Meinst du die Punkte ins nächste Level oder das bei draw_text keine Punkte kommen?
    Die Punkte ins nächste Level nehmen: Ich glaube, du musst in dem Objekt mit dem Score den Haken bei persistent stellen. Dann nimmt er die Informationen mit in den nächsten Raum.
    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)
  • Das habe ich verstanden denke ich , das ist gut verdeutlicht, nur ich würde gerne, schwer zu beschreiben!

    Der Player rennt in das Ziel dann kommt ggf die Show Message wo die Punkte zusammen gezählt werden, diese sollen dann aber in der Gesamt score bleiben und mit genommen werden in den Nächsten raum.


    So das ich ein relativ simples Highscore System dann rein ziehen kann, player 5 lives verloren, Highscore öffnen, das wars.



    Das mit presistent habe ich veruscht, ich schick mal mein Punktedraw Object:

    ( Habe schon versucht auf Gamestart zu setzen aber dann kommt ein Error) Da dann eig, auch nur die Gesamtscore in Gamestart müssten)
    Roomstart

    GML-Quellcode

    1. //Score für TalerDiamanten
    2. global.taler=0;
    3. global.diamanten=0;
    4. global.GesamtScore=global.taler+global.diamanten


    draw

    GML-Quellcode

    1. draw_text(view_xview + 1200,view_yview + 10,"Taler: "+string(global.taler))
    2. draw_text(view_xview + 1080,view_yview + 10,"Diamanten: "+string(global.diamanten))
    3. draw_text(view_xview + 650,view_yview + 10,"Gesamtscore: "+string(global.GesamtScore))



    Ach und mein Room End

    GML-Quellcode

    1. global.add=1;
    2. if(global.GesamtScore<(global.taler+global.diamanten))
    3. {
    4. global.GesamtScore+=global.add
    5. }
    6. else
    7. {
    8. global.GesamtScore=global.taler+global.diamanten
    9. }


    [Ist nicht in Punktedraw Objekt
    Taler einsammeln:( Player Collision)

    GML-Quellcode

    1. global.taler+=1

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

  • xxwusaxx schrieb:


    ( Habe schon versucht auf Gamestart zu setzen aber dann kommt ein Error) Da dann eig, auch nur die Gesamtscore in Gamestart müssten)
    Roomstart

    Ich denke, hier ist das Problem, denn bei jedem neuen Raum, werden die Punkte wieder auf 0 gesetzt. Wenn du am Anfang des Spiels einen "Übersichtsraum" hast, kannst du ja dort die Werte setzen.
    Du kannst auch überprüfen, in welchem Raum du dich befindest, damit du die Werte setzt, wenn du es willst. Das geht mit switch. Dazu hier ein Link:
    GM 8 Prüfen in welchem room man sich befindet
    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, so würde ich es wahrscheinlich machen, auch wenn es nicht unbedingt die eleganteste Variante ist.
    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)
  • ahhhhh gut, habe nun Menu ein Create event gemacht, da die

    GML-Quellcode

    1. //Score für TalerDiamanten
    2. global.taler=0;
    3. global.diamanten=0;
    4. global.GesamtScore=global.taler+global.diamanten


    Jetzt nimmt er schon mal die Taler und Diamnten mit, doch wenn ich nun ins Ziel komme gehen die zwar rüber aber bei Gesamtscore steht dann 1 und bei Taler und Diamanten stehen die Gesammelten werte halt !Es soll bei Gesamtscore, aber ja Taler+Diamanten stehen und die werte Taler/Diamanten auf 0 stehen.

    mhh
  • Hab auf dem PC leider kein GM, hab aber 2 (seeeehr dumme) Ideen.
    Heißt es evtl.

    GML-Quellcode

    1. global.taler=+1
    Die ist wirklich sehr dumm.
    Die andere wäre, dass das Hochzählen irgendwie Probleme bereitet. Also entweder ohne hochzählen(zumindestens erstmal zum gucken, ob es dann funktioniert) oder noch ein bisschen rumbasteln(weiß aber nicht wie).
    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)
  • Meiner Meinung nach kann das

    GML-Quellcode

    1. if(global.GesamtScore<(global.taler+global.diamanten))
    ja nie sein, da

    GML-Quellcode

    1. global.GesamtScore=global.taler+global.diamanten
    Ääääh ok. Sollte eigentlich schon gehen.
    Deswegen hatte ich überlegt, ob da der Fehler ist.
    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)
  • Meiner Meinung nach müsste beides gehen, du kannst es ja ausprobieren, aber ich muss jetzt los. Viel Glück noch :)
    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)
  • Dein Create Event ist falsch.

    GML-Quellcode

    1. //Score für TalerDiamanten
    2. global.taler=0;
    3. global.diamanten=0;
    4. global.GesamtScore=global.taler+global.diamanten //<--falsch also lösch diese Zeile
    5. global.GesamtScore=0 //<--richtig


    Das create Event wird doch nur ein einziges Mal aufgerufen und am Anfang ist ja jeder wert auf 0.

    Falls noch irgentwas nicht funktioniert, dann beschreib nochmal was genau, bin grad nichtmehr mit gekommen :D
    Imagine taking your usual two century long nap minding your own business when suddenly some cunt wakes you up.
    You tell him to f*ck off of course but just when you finally managed to fall asleep again the same asshole comes knocking again. I'd attack that dick too.
  • Bin gerade nur mit Tablet Online, probiere es aber nacher sofort =) Danke für die ganze, schnelle und nette Hilfe echt super =) da bin ich mal gespannt ob es klappt. Weil dann kann ich mich Bald nur aufs Level Design konzentrieren fehlt nur noch das Online Highscore System, ihr habt mich so schnell vor ran gebracht. Da vor immer selber 2Stunden hin und her geschrieben und Probiert und Kopf zerschossen und nun zack klack ab.

    Danke Danke Danke
    Highscore+Leiter und rdy hihi

    So ein ein knausiger fehler! Einfach nur = 0 !!!! :headtouch: :headtouch: :headtouch:

    Hat dann auch geklappt =0 und add=global.taler+global.diamanten;

    Kann ich dann später denn wert von gesamtscore auch zur auswertung der Online Highscore verwenden?

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

  • xxwusaxx schrieb:

    Kann ich dann später denn wert von gesamtscore auch zur auswertung der Online Highscore verwenden?
    würde mich auch interessieren..wie ist der gml-code?
    bsher finde ich immer nur D&D-lösungen...
    ...die highscore per D&D zu verändern ist nicht das prob - aber wie ist der gml-code dafür?
    sorry, wenn offtopic - @xxwusaaxx: mach zum ende einfach per D&D:
    event end game->set score->deine global eintragen...du sammelst ja alles zum schluss in einer globalvar ;)
    ...oder ist das in gml tatsächlich

    GML-Quellcode

    1. score=global.irgendetwas
    ???

    OC
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    (Albert Einstein)