Hi leute!
ich bastel immernoch an combat fury und habe jetzt einen LAN-modus für bis zu 4 spieler gebaut.
einer erstellt das spiel, andere connecten.
beispiel:
Wenn sich der spieler auf PC2 bewegt, sendet er die daten an PC1 (server). dieser sendet sie weiter an PC3 und PC4 weiter damit die das auch sehen können.
jetzt das problem:
ich schieße mit dem spieler auf PC2 eine kugel ab, die information geht wieder an den PC1 (server), und beim empfangen erstellt auch er eine kugel. jetzt soll das ganze auch auf PC3 und PC4 passieren, also sende ich die daten an PC3 und PC4 weiter und dort sollen auch die beim empfangen eine kugel erstellen.
HAAAH!!!
es passiert aber nicht! manchmal passiert es erst nach mehreren sekunden verzögerung und manchmal gar nich es ist total merkwwürdig. hat das vielleicht was mit dem buffer zu tun oder so?
hier mal mein code beim empfangen:
Alles anzeigen
Nur leider kommt selten und wenn nur STARK zeitverzögert bei PC3 und PC4 was an!
Bitte helft mir is ultrawichtig!!
ich hoffe es ist einigermaßen verständlich
ich bastel immernoch an combat fury und habe jetzt einen LAN-modus für bis zu 4 spieler gebaut.
einer erstellt das spiel, andere connecten.
beispiel:
Wenn sich der spieler auf PC2 bewegt, sendet er die daten an PC1 (server). dieser sendet sie weiter an PC3 und PC4 weiter damit die das auch sehen können.
jetzt das problem:
ich schieße mit dem spieler auf PC2 eine kugel ab, die information geht wieder an den PC1 (server), und beim empfangen erstellt auch er eine kugel. jetzt soll das ganze auch auf PC3 und PC4 passieren, also sende ich die daten an PC3 und PC4 weiter und dort sollen auch die beim empfangen eine kugel erstellen.
HAAAH!!!
es passiert aber nicht! manchmal passiert es erst nach mehreren sekunden verzögerung und manchmal gar nich es ist total merkwwürdig. hat das vielleicht was mit dem buffer zu tun oder so?
hier mal mein code beim empfangen:
GML-Quellcode
- //Im STEP Event vom Spieler2-Objekt "obj_otherplayer2"
- if global.host receivemessage(2); //Wenn ich der Host bin, empfange vom 2. Spieler
- else receivemessage(global.server); //Wenn ich ein Client bin, empfange vom Server
- mid=readbyte();
- switch (mid) {
- case msgShoot2: //Beim Empfangen der Schussinformation...
- actShoot(obj_bullet,6); //Kugel erzeugen
- clearbuffer(); //Den Buffer leeren
- writebyte(msgShoot2); //Die Information "schießen"...
- sendmessage(3); //...an PC3 und PC4 weiterleiten
- sendmessage(4);
- break; //Das wars
- }
Nur leider kommt selten und wenn nur STARK zeitverzögert bei PC3 und PC4 was an!
Bitte helft mir is ultrawichtig!!
ich hoffe es ist einigermaßen verständlich

"Make love, not Warcraft"