Lan Lobby Erstellung

  • GM 8

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

  • Lan Lobby Erstellung

    Hi Leute, bin neu im Forum und im Game Maker.
    Ich habe vor ein kleines Lan Spiel zu erstellen. Dafür möchte ich, dass die Spieler(nur 2) nach dem connecten und vor dem Spiel in einem extra Raum sind, wo man ein Team wählt, wo man chatten kann und da wo ich gerade hänge: Wo man auf einen "Bereit" Knopf drücken muss und man jeweils sieht, ob man selbst und der andere Spieler bereit sind.

    Das ganze hab ich mir recht leicht vorgestellt: Man drückt auf eine Instanz, welche dann bei sich eine andere sichtbar macht(Spieler1 Bereit) und eine Nachricht sendet, welche bei Empang des anderen Spielers die selbe Instanz Sichtbar macht(Spieler1 Bereit).

    Dazu hab ich vollgendes verwendet:
    obj_bereit1 , obj_bereit2 - sind nur zum darstellen der sprites da
    obj_bereit - fürt die unten aufgeführten codes aus
    global.bereitsendung - Sendet die Nachricht und Startet den Befehl


    Nur leider war es einfacher Gedacht als getan.
    Ich hoffe ihr könnt mi helfen.

    1.Code:
    Spoiler anzeigen

    GML-Quellcode

    1. //-- Globale Variable zum prüfen ...
    2. global.bereitsendung = '';
    3. //... ob der andere Spieler bereit ist --
    4. //-- Prüft ob man Spieler 1 ist...
    5. if (global.playa1 = true)
    6. { global.bereitsendung = 'Spieler1';
    7. if(mouse_check_button_pressed(mb_left))
    8. {
    9. visible = 1;
    10. mplay_message_send(0,1,global.bereitsendung);
    11. }
    12. }
    13. //...und macht nach dem drücken, obj_bereit1 sichtbar --
    Alles anzeigen



    2.Code:
    Spoiler anzeigen

    GML-Quellcode

    1. //-- Prüft ob man Spieler 2 ist...
    2. if (global.playa2 = true)
    3. { global.bereitsendung = 'Spieler2';
    4. if(mouse_check_button_pressed(mb_left))
    5. {
    6. visible = 1;
    7. mplay_message_send(0,2,global.bereitsendung);
    8. }
    9. }
    10. //...und macht nach dem drücken, obj_bereit2 sichtbar --
    Alles anzeigen


    3.code nach einer alarmclock:
    Spoiler anzeigen

    GML-Quellcode

    1. if(mplay_message_receive(0))
    2. {
    3. if(global.playa1 = true)
    4. {
    5. if(global.bereitsendung = 'Spieler2')
    6. {
    7. obj_bereit2.visible =1 ;
    8. }
    9. }
    10. if(global.playa2 = true)
    11. {
    12. if(global.bereitsendung = 'Spieler1')
    13. {
    14. obj_bereit1.visible = 1;
    15. }
    16. }
    17. }
    Alles anzeigen
  • Du prüfst auf eine Maustaste, aber nicht wo die Maus ist.
    Benutz lieber ein Mausevent für den Button.

    Du lässt den Button selbst anzeigen, wie es aussieht.
    Lass ein anderes Objekt mit "Spieler 2 Bereit" erscheinen.
    Benutze eine alarm-Schleife um den Empfang der Nachicht abzufragen.

    Mach es außerdem etwas anders:

    Geb Spieler 2 den Button: Bereit.
    Aktivieren darauf bei Spieler 1 den Button: Start
    Bei Klick darauf soll das Spiel bei beiden sofort starten bzw. der Countdown laufen.

    mfg TWS
  • ich glaube du hastmein prinzip da falsch verstanden.
    obj_bereit wird die ganze zeit angezeigt. Das ist der Knopf, der gedrückt wird um den anderen Spieler mitzuteilen, dass man bereit ist. Sobald das geschehen ist, wird obj_bereit1 oder obj_bereit2(je nach spieler) mit dem "Spieler1/2 ist Bereit" angezeigt, falls man die Message bekommen hat. Letzteres wird durch die alarmclock mehrfach abgefragt.


    Falls ich vllt. dich nicht verstanden hab und ich nen großen Fehler hab, kannst du mir bitte nen besseren Code für das ganze geben^^? Wäre nett