Receive Funktion von 39dll funktioniert nicht.

  • GM 8

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

  • Receive Funktion von 39dll funktioniert nicht.

    Guten Tag liebe Community,

    Ich versuche gerade den Umgang mit der 39dll. jedoch funktioniert dies nicht ganz so wie es soll...
    Ich habe das nach dem Tutorial von flogy gemacht...
    TUTorial

    So zu meinem Problem:
    Mein Receive object Funktioniert nicht:

    GML-Quellcode

    1. var size;
    2. while(true)
    3. {
    4. size = receivemessage(global.otherplayer);
    5. if(size < 0) break;
    6. if(size == 0)
    7. {
    8. show_message("Dein Mitspieler hat das Spiel verlassen!");
    9. game_end();
    10. exit;
    11. }
    12. messageid = readbyte();
    13. switch(messageid)
    14. {
    15. case 0:
    16. newx = readshort()
    17. obj_gegner.x = newx
    18. break;
    19. case 1:
    20. global.gegnername = readstring()
    21. break;
    22. }
    23. };
    Alles anzeigen


    als Compile Fehler Meldung kommt:

    Quellcode

    1. [color=#ff0000]In Object obj_control, in Event StepNormalEvent action number 1 at line 4 : function "receivemessage" expects 3 arguments, 1 provided
    2. In Object obj_control, in Event StepNormalEvent action number 1 at line 12 : function "readbyte" expects 1 arguments, 0 provided
    3. In Object obj_control, in Event StepNormalEvent action number 1 at line 16 : function "readshort" expects 1 arguments, 0 provided
    4. In Object obj_control, in Event StepNormalEvent action number 1 at line 21 : function "readstring" expects 1 arguments, 0 provided[/color]

    :rage:

    Hat jemand ne Ahnung woran dies liegen könnte und mir einen verbesserten Code geben? ODer sogar gleich ein aktuelles Tutorial?

    Ich danke hier schon einmal im vorraus ;)

    Mit freundlichen grüßen Phil
  • Ersetze einfach die fehlenden Argumente durch Null. Diese waren als optionale Argumente gedacht. Da Game Maker: Studio bei nicht eingegebenen Argumenten einen Fehler ausgibt, funktioniert das nicht mehr. So sollte es gehen:

    GML-Quellcode

    1. var size;
    2. while(true)
    3. {
    4. size = receivemessage(global.otherplayer, 0, 0);
    5. if(size < 0) break;
    6. if(size == 0)
    7. {
    8. show_message("Dein Mitspieler hat das Spiel verlassen!");
    9. game_end();
    10. exit;
    11. }
    12. messageid = readbyte(0);
    13. switch(messageid)
    14. {
    15. case 0:
    16. newx = readshort(0)
    17. obj_gegner.x = newx
    18. break;
    19. case 1:
    20. global.gegnername = readstring(0)
    21. break;
    22. }
    23. };
    Alles anzeigen