Waffen Ändern GELÖST

  • GM 8

    Waffen Ändern GELÖST

    Hi ich hab bei game make ein spiel programiert bei dem man schiesen kann.Ich hab nur eine "waffe" zum schiesen und das ist blöd mein schusssystem ist so:


    :event_mouse:
    global left button
    if auflade == 0
    {
    idmerk = instance_create(x,y,schuss)
    idmerk.direction = point_direction(x,y,mouse_x,mouse_y)
    idmerk.image_angle = point_direction(x,y,mouse_x,mouse_y)
    idmerk.speed = 10

    auflade = 10
    }
    sound_play(shoot)




    ich möchte nun das ich so waffen aufsammeln kann und dann kommen andere schüssse raus bzw(der schaden verändert sich auch).
    Das verändern vom sprint ist egal haüptsache schuss ist anders.
    Könnt ihr mir erklären wie das geht und bitte in einem code weil ich erst game maker 8.1 erst seit na Woche hab und mich nicht so gut auskenne danke im voraus.
    *Tzzzzzzsschhhhhhhhhhhhhhhhhhhhhhh*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „mertcan“ ()

    Du könntest es so machen, das du im Create - Event deiner Waffe eine Variable anlegst. Diese gibt an welche Waffe gerade benutzt wird. Dann musst du nur noch überprüfen, welche Zahl gerade darin gespeichert wird und dann den dazugehörignen Code ausführen. Beim Waffen wechseln musst du einfach nur diese Variable ändern.

    Create - Event:

    GML-Quellcode

    1. weapon = 1;


    Global Left Button - Event:

    GML-Quellcode

    1. switch(weapon) {
    2. case 1:
    3. //Hier code für Waffe Eins eingeben
    4. break;
    5. case 2:
    6. //Hier code für Waffe Zwei eingeben
    7. break;
    8. //usw.
    9. }


    Edit: Falls du das Switch - Statement noch nicht kennst: Switch - Statement ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „kebaplover“ ()

    kann man auch so machen das man die waffe aufsammeln kann also ich mach ein neues sprite,objekt dass die waffe ist leg sie in ein Level und beim drüber gehenhab ich sie dann.Wie geht das ??
    oh und ich hab auch so gemacht dass der Gegner getroffen wird also mein schuss heißt "schuss" :D und mich auch dann irgendwie die colision und so ändern? :event_collision: mit schuss leben -= 1
    *Tzzzzzzsschhhhhhhhhhhhhhhhhhhhhhh*
    Als erstes müsstest du für jede Waffe wieder eine Variable anlegen. Ungefähr so:

    GML-Quellcode

    1. waffe1 = 1; //Gibt an ob man Waffe1 benutzen kann oder nicht( Waffe1 kann man benutzen, da sie die Standart Waffe ist)
    2. waffe2 = 0;
    3. waffe3 = 0;


    Dann musst im Kollisions - Event mit zB Waffe2 so etwas in der art eingeben:

    GML-Quellcode

    1. waffe2 = 1; //Schaltet Waffe2 frei
    2. //Nun muss das Objekt mit dem du kolidierst zerstört werden (du kannst es auch da lassen, nur glaube ich das du nicht willst, wenn man die Waffe aufsammelt, dass sie noch dort bleibt)
    3. with (other) {
    4. instance_destroy();
    5. }


    Wenn du dann die Waffe auf Waffe2 wechseln möchtest musst du überprüfen, ob Waffe2 verfügbar ist. (Du überprüfst ob die Variable waffe2 1 ist)
    In dem wo die Waffe ist.

    Edit: Die Variablen zum überprüfen gehören ins Create - Event. Das mit dem Aufsammeln der Waffe gehört in das Kollisions - Event der jeweiligen Waffe. Und das mit dem Wechseln der Waffe kannst du beliebig einsetzen(Hab vergessen noch zu erwähnen, dass beim Waffen wechseln auch die Variable die ich im ersten Post angesprochen habe verändert werden muss).

    Edit 2:Hab dir ein Example gemacht. Ist im Dateianhang. ;)
    Zur Erklärung vom Switch - Statement:

    GML-Quellcode

    1. switch (variable1) {
    2. case variable2:
    3. //Code 1
    4. break;
    5. case Variable 3:
    6. //Code 2
    7. break;
    8. }


    Das ganze läuft so ab, dass immer die Variable, die nach case steht, mit variable1, also der Variable in den Klammern nach Switch, verglichen wird. Sind beide gleich wird der Code ausgeführt, der nach dem Doppelpunkt geschrieben ist.
    Dateien
    • weaponexample.gmk

      (11,81 kB, 88 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „kebaplover“ ()