39dll string übertragung funktioniert nicht immer

  • GM 8

    39dll string übertragung funktioniert nicht immer

    Hallo gm-d Mitglieder!
    Ich habe ein Problem bei der übertragung (zwischen Server und Client) von einem String mit der 39dll.
    Ich habe einen Room mit verschiedenen Objekten gebaut, die Objete aus diesem Raum sollen zum Client übertragen werden, sodass der Client mit diesen Daten einen eigenen Room aufbauen kann der genau gleich ist wie der vom Server.
    Das auslesen der Koordinaten der Objekte im Server funktioniert perfekt (Die Koordinaten der Objekte werden mit Kommas hintereinander in einen String pro Objektsorte gepackt), ich habe Messageboxen vor die übertragung eingebaut, die testen was übertragen wird. Diese Messageboxen zeigen auch immer das richtige an, aber wenn die Daten dann vom Client empfangen werden kommen manchmal irgendwelche komischen Zeichen raus(Also keine Buchstaben oder Zahlen).

    Hier der Code zum Senden vom Server:
    Spoiler anzeigen

    GML-Quellcode

    1. //Send Room
    2. //+Unwichtig
    3. var player, value, str;
    4. value = readbyte()
    5. player = global.players[value]
    6. //-Unwichtig
    7. scr_read_room()//Hier werden die Objekte ausgelesen und pro Objektsorte in einen String gepackt
    8. //Bis hier hin funktioniert alles perfekt!
    9. clearbuffer()
    10. writebyte(14)
    11. writeshort(room_width)
    12. writeshort(room_height)
    13. writestring(Server.r_wall,1)//Das sind die Variablen wo die strings gespeichert werden
    14. writestring(Server.r_spawn,1)//Es sind 8 Objekte die übertragen werden sollen
    15. writestring(Server.r_spiegel,1)
    16. writestring(Server.r_glas,1)
    17. writestring(Server.r_plattform,1)
    18. writestring(Server.r_item,1)
    19. writestring(Server.r_waffe,1)
    20. writestring(Server.r_eis,1)
    21. with(Client)
    22. {
    23. if id=other.id
    24. sendmessage(tcp)
    25. }



    Dann der Code beim Client zum epfangen:
    Spoiler anzeigen

    GML-Quellcode

    1. //Create Room
    2. var R_wall,R_spawn, R_spiegel, R_glas, R_plattform, R_item, R_waffe, R_eis;
    3. obj_Kamera.Room_width = readshort()
    4. obj_Kamera.Room_height = readshort()
    5. R_wall = readstring()
    6. R_spawn = readstring()
    7. R_spiegel = readstring()
    8. R_glas = readstring()
    9. R_plattform = readstring()
    10. R_item = readstring()
    11. R_waffe = readstring()
    12. R_eis = readstring()
    13. //Hier wird der room gebaut und darin sind die Messageboxen die die empfangenen Daten ausgeben
    14. scr_write_room(R_wall,R_spawn,R_spiegel,R_glas,R_plattform,R_item,R_waffe,R_eis)




    So und vor dem Abschicken sind die strings noch Zahlen, und manchmal beim empfangen sind die Strings gefüllt mit komischen zeichen.
    Und das ist das Problem und dem entsprechend fehlt dnn manchmal eine Objekt sorte im Room.

    Wieso ist das so? Liegt es vielleicht daran dass ich zuviele strings versende der dass die strings zu lang sind, an was liegt es brauche dringend hilfe!
    Twitter: @BytingGames

    So und vor dem Abschicken sind die strings noch Zahlen, und manchmal
    beim empfangen sind die Strings gefüllt mit komischen zeichen.
    Was für eine 39dll Version hast du? Den Fehler hat ich auch mal, bei der v25 tritt der nicht mehr auf.
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
    OK Danke ich habs mir runtergeladen, der Bug kommt halt nur vor wenn man mit anderen spielt, also schreib ich zurück wenn ich n paar tests gemacht hab.
    Danke nochmal :)

    EDIT:
    Okey irgendwie kommt bei der neuen dll jetzt der Error:
    Error defining an external function.
    Twitter: @BytingGames
    achso die scripts hab ich nicht ersetzt ich machs mal kurz hoffentlich muss ich da nicht viel umprogrammieren...(10 Stunden Später -.-) Ok jetzt funktionierts wieder, aber ob mein eigentlicher Fehler wieder geht schreibe ich euch dann wenn ich genug getestet hab.
    Danke für die Hilfe :)
    Twitter: @BytingGames