Multiplayer Problem

  • GM 7

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

  • Multiplayer Problem

    Ich mache grade ein Spiel, dass man an einer Tastatur spielt. Ich habe 2 Soldaten, die sich auch mühelos steuern lassen(links,rechts,oben,unten). Jedoch schiesst bei dem gleichen Code in Create, Step(unterschiedliche Figuren+Munition eingefügt), beim Drücken beider Feuertasten, nur eine! Der Schuss bleibt wie ein Fleck liegen! Allerdings wenn ich den Winkel beim create event (Code)
    HorDirection=0

    VerDirection=0

    beide auf eins ändere, schiesst sie(aber nur in eine Richtung :D ). Wie bring ich die eine auch zum schiessen? :wacko:
    Fantasy forever!
  • Sorry! Ich wollte fragen,wie ihr einen solchen Code machen würdet. Ich habe mir den Code von einem gestrigen Bsp. kopiert(Mit sonem Strichmännchen) und hab beim Step Event nur zwei weitere Schussrichtungen hinzugefügt. Ich habe dummerweise PC Verbot für heute gekriegt und kann nur soviel über meine konsole schreiben.
    Fantasy forever!
  • also die kugel bleibt einfach stehen? wenn du im schuss event(key press) den code einfügst:

    GML-Quellcode

    1. var bullet;
    2. bullet=instance_create...;//das kugelobject erstellen
    3. with(var)//das heist das das nächste mit der instanz var die ein zeiger auf das erstellte bullet ist gemacht wird
    4. {
    5. direction=obj_player.direction;//setze die richtung auf die spielerrichtung
    6. speed=10;//setze geschwindigkeit auf 10
    7. munition-=1;
    8. }


    also wenn beide spieler schießen sollen stellste den code in beide key press events der schussknöpfe.
    wenn du andere munition einfügen willst: einfach bei dem kugelobjekt ins collisionsevent mit dem spieler überprüfen lassen welche munition gewählt wurde z.b.

    GML-Quellcode

    1. if(collision)
    2. {
    3. switch(obj_player.muni)
    4. {
    5. case(0)
    6. {
    7. //explosion oder so
    8. break;
    9. }
    10. case(1)
    11. {
    12. //gift usw
    13. break;
    14. }
    15. }
    Alles anzeigen


    #btw: ich kann den code nicht einrücken :S also sorry wegen wenig er übersichtlichkeit
  • Also ich hab im Create:

    GML-Quellcode

    1. {
    2. HorDirection=0
    3. VerDirection=0
    4. }

    Im Step

    GML-Quellcode

    1. {
    2. BinCheck = 0;
    3. if(keyboard_check(vk_left))
    4. BinCheck += 1;
    5. if(keyboard_check(vk_right))
    6. BinCheck += 2;
    7. if(keyboard_check(vk_up))
    8. BinCheck += 3;
    9. if(keyboard_check(vk_down))
    10. BinCheck += 4;
    11. switch(BinCheck)
    12. {
    13. case 1: //links
    14. HorDirection = -1;
    15. VerDirection = 0;
    16. break;
    17. case 2: //rechts
    18. HorDirection = 1;
    19. VerDirection = 0;
    20. break;
    21. case 3: //oben
    22. HorDirection = 0;
    23. VerDirection = -1;
    24. break;
    25. case 4: //unten
    26. HorDirection = 0;
    27. VerDirection = 1;
    28. break;
    29. default:
    30. break;
    31. }
    32. }
    Alles anzeigen

    Und beim Space drücken(Feuer)

    GML-Quellcode

    1. {
    2. instance=instance_create(object4.x+7,object4.y+13,kugewl);
    3. instance.vspeed = VerDirection * 8;
    4. instance.hspeed = HorDirection * 8;
    5. }


    Jo und das klappt damit irgnedwie net ?(
    Fantasy forever!

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

  • steuerst du beide soldaten mit dem selben code gleichzeitig?

    oder wo ist der code vom andern soldaten zum schießen?
    falls nr 1 zutrifft: du musst dann nochmal den bullet create für den anderen soldaten schreiben zb so:

    GML-Quellcode

    1. if (keyboard_check_pressed(vk_space))
    2. {
    3. instance_create(soldat1.x,soldat1.y,kugel)
    4. instance_create(soldat2.x,soldat2.y,kugel)
    5. }
    das kannste so im step event ausführen
  • Bei deinem Code gibt es ein Problem:

    Du hast bei den keyboard_check-Funktionen BinCheck+= ... gemacht. Drückt man jetzt nur einmal zum Beispiel unten und links, ist BinCheck=5 und im switch-Statement gibt es keine Ausführbare Aktion.
    Da müsste BinCheck= ...


    €dit: Hab das BinCheck=0 am Anfang des step übersehen :D
    Wobei ich das wegmachen würde. Ich würde das einmal ins Create setzten und dann so machen, wie ich das geschrieben habe...

    Außerdem: Ich hab deinen Code mal komplett kopiert... das funktioniert doch...

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

  • Jo endlich hab ich´s fertig^^ Naja nur die Beta Version ;) Wird noch einiges dran verbessert werden müssen :cursing: Also ihr könnt das laden wenn ihr wollt auf woodelfen.de :rolleyes: Ich hoffe das funzt jetzt alles^^
    Fantasy forever!

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