39dll: Verbindung und Kommunikation

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

    • Also wichtig ist das du einen anderen case nimmst, da 0 und 1 schon vergeben sind, nimmst du 2, im Keyboard DownEvent:

      GML-Quellcode

      1. y+=2
      2. clearbuffer()
      3. writebyte(2)
      4. writeshort(y)
      5. sendmessage(global.otherplayer)


      Das machst du dann zu deinem empfang Script dazu:

      GML-Quellcode

      1. case 2:
      2. newy = readshort()
      3. obj_gegner.y = newy
      4. break;
    • Du könntest auch immer x und y gleichzeitig schicken und nur einen case verwenden, so z.b.:

      Beim versenden:

      GML-Quellcode

      1. clearbuffer()
      2. writebyte(0)
      3. writeshort(x)
      4. writeshort(y)
      5. sendmessage(global.otherplayer)


      Und beim empfangen:

      GML-Quellcode

      1. case 0:
      2. obj_gegner.x = readshort()
      3. obj_gegner.y = readshort()
      4. break;
    • Ich hab jetzt alles ziemlich gut hinbekommen, aber hätte da noch eine Frage:
      Wie müsste man das Ganze umschreiben, damit man mehrere Mitspieler haben kann?
      Bei diesem Tutorial gibt es ja nur einen "otherplayer". Was aber wenn man bis zu 10 Spieler hat?

      edit:
      Und mal angenommen man hat 40 gleiche Objekte im Raum, die sich alle bewegen.

      GML-Quellcode

      1. newx = readshort()
      2. newy = readshort()
      3. obj_shot.x = newx
      4. obj_shot.y = newy


      ...das wird ja wohl kaum so funktionieren, dass der andere Spieler die Schüsse gleich sieht.

      lg
      Dieser Beitrag wurde bereits 8.675.628 mal editiert, zuletzt von »levarris07« (Heute, 11:33)

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

    • Bei mir kommen 2 Fehler, einer wenn ich auf ein Spiel Hosten gehe:
      ___________________________________________
      ############################################################################################
      FATAL ERROR in
      action number 1
      of Create Event
      for object obj_warten:

      Push :: Execution Error - Variable Get -5._SokB(100026, -1)
      at gml_Script_tcplisten (line 0) - /*
      ############################################################################################
      --------------------------------------------------------------------------------------------
      stack frame is
      gml_Script_tcplisten (line 0)
      called from - gml_Object_obj_warten_Create_0 (line 1) - Creates a listening socket to monitor a certain port for incoming





      und einer wenn ich auf Join gehe:


      ___________________________________________
      ############################################################################################
      FATAL ERROR in
      action number 1
      of Mouse Event for Left Pressed
      for object obj_Join:

      Push :: Execution Error - Variable Get -5._SokA(100025, -1)
      at gml_Script_tcpconnect (line 0) -
      ############################################################################################
      --------------------------------------------------------------------------------------------
      stack frame is
      gml_Script_tcpconnect (line 0)
      called from - gml_Object_obj_Join_Mouse_4 (line 4) - //Argument0 = Ip to connect to.
    • EDITED!


      ja! Im Game Start Event von einem objekt! (Das Objekt ist auch im Raum vorhanden) "dllinit(0, true, false);"

      Hab die Datei dazu gefügt, 39dll hat net mehr dazu gepasst!
      Dateien

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

    • Benutzer online 1

      1 Besucher