Zufälliges Erstellen einer Instanz

  • GM 7

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

  • Zufälliges Erstellen einer Instanz

    Hi, ich möchte, dass wenn ich Instanzen abschiesse, dass zu ca. 50% bei einer zufälligen Instanz in einem Raum eine andere Instanz entsteht.
    Bsp:
    In nem Raum sind 20 Gegner, alle das gleiche Objekt, jetzt soll bei einem zufälligen Gegner, der abgeschossen wurde, eine andere Instanz erstellt werden, aber höhstens eine pro Raum und das zu einer 50% Wahrscheinlichkeit oder ein bisschen höher.
    Hat jemand ne Ahnung wie man das umsetzen kann?
    Gruß Gamer
  • ich denke das müsste klappen:

    GML-Quellcode

    1. instance_create(x,y,choose(obj_gegner,obj_gegner2))


    falls das nicht klappt dann:
    erstellste ein variable zb. gegner=""
    und der code lautet wenn ein andres zufälliges objekt erstellt werden soll so:

    GML-Quellcode

    1. gegner=choose(0,1)
    2. if gegner=0 {instance_create(x,y,obj_gegner)}
    3. else if gegner=1{instance_create(x,y,obj_gegner2)}
    Meine Spiele:
    - Mission A
    - Mission B
    - The Virus 1, 2, 3
    - The Virus 4: The Excision
    - Blur melts Snow
    - Blur melts Snow: 2nd Version
    - Cave Jumper

    Hauptrojekt: Party Mania(Arbeitstitel) - große Multiplayer-Minispielsammlung
    In Planung: Planet Jumper(Nachfolger von Cave Jumper)
  • Nein, so mein ich das nicht. Ich mein dass so:
    Es gibt halt die 20 Gegner, die alle unterschiedliche Instanzen sind aber das gleiche Objekt
    Und wenn jetzt einer davon gekillt wird, soll ein Powerup erstellt werden.
    Aber es soll höchstens ein Powerup pro Room erstellt werden, aber nicht zu 100% und es soll bei einer zufälligen Gegnerinstanz erstellt werden, also wenn ein zufälliger Gegner gekillt wird, soll es erstellt werden.
    ich hoffe, dass das so verständlicher ist.
    Gruß Gamer
  • ah danke, stimmt, das müsste theoretisch und praktisch funktionieren, aber wie mache ich, dass es bei einem zufälligen Gegner ist.
    Wenns versch. Objekte wären, könnte ich dafür ja auch choose nehmen, aber es ist ja das gleiche objekt, nur unterschiedliche instanzen, also die gegner.
    und das Problem ist ja, dass das Powerup wieder verschwindet, wenn ich es aufnehme.
    Aber das könnte ich mit ner Variable machen, oder?
    edit: es funktioniert jetzt, blos es ist keine 50% Chance, sondern es ist pro Instanz eine 50% Chance, d.h. bei 20 oder mehr Instanzen ist die Wahrscheinlichkeit, bei über 95% und dabei wird es noch in den ersten 5 Fällen erstellt.
    Gruß Gamer

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

  • evt. hilft dir das weiter:

    Du musst die Anzahl der vorhandenen instanzen zählen und durch 50 teilen.

    GML-Quellcode

    1. prozent = 50 / instance_number(deinObjekt);
    2. if(random(100) <= prozent) {
    3. inst...
    4. }


    bei 5 objekten hat somit jedes eine 10%tige chance ein powerup zu spawnen, sind es nur noch 2 hat jedes eine 25%ige chance. Ist es das was du möchtest?
  • Nicht so ganz, also:

    Es gibt 20 Instanzen vom Obj_gegner im Raum und da soll es insgesamt eine 50%-Chance geben, dass überhaupt ein Power-Up erstellt wird, dabei soll es aber höchstens einmal erstellt werden und das bei einem zufälligen Gegner.
    Gruß Gamer
  • ja fast, da gibt es noch 2 Probleme:


    1. sobald ich das Powerup aufgenommen habe, kommt ein neues wieder, daskönnt ich aber per variable lösen

    2. weiß ich nicht wie ichs lösen kann:
    Wenn die Variable zufall true ist, dann kommt es gleich beim ersten gegner, es soll aber bei nem zufälligen kommen
    Gruß Gamer
  • Benutzer online 4

    4 Besucher