Ich bin bei der Konvertierung eines Spiels von GM5 auf GM6 auf ein großes Problem gestoßen. Für die Netzwerkübertragungen habe ich es so eingerichtet, dass vier maximal dreistellige Zahlen in eine "gepackt" werden. Der ursprüngliche Code:
...und das ganze rückgängig:
Das hat im GM5 IMMER einwandfrei funktioniert. Probiert das jetzt aber mal im GM6 aus:
Beispiel:
1. Zahl: 111
2. Zahl: 222
3. Zahl: 333
4.Zahl: 444
Nach dem 'Packen' und 'Entpacken' kommt dann folgendes raus:
1. Zahl: 0 (Falsch!)
2. Zahl: 218 (Wieder falsch!)
3. Zahl: 333 (Richtig)
4. Zahl: 444 (Richtig)
Die falschen Zahlen entstehen übrigens schon beim Packen, nicht erst beim Entpacken.
Hat der GM6 etwa das Rechnen verlernt?
Mittlerweile habe ich das Problem mit Hilfe von Strings gelöst, ist allerdings nicht so elegant und braucht viel mehr Code. Deshalb die Frage - Seid ihr auch schon mal auf so was gestoßen? Oder liegt der Fehler doch nur irgendwo im Code?
...und das ganze rückgängig:
GML-Quellcode
- if (argument1 == 1) { temp = round(frac(argument0 / 1000) * 1000); }
- else if (argument1 == 2) { temp = floor(frac(argument0 / 1000000) * 1000); }
- else if (argument1 == 3) { temp = floor(frac(argument0 / 1000000000) * 1000); }
- else if (argument1 == 4) { temp = floor(frac(argument0 / 1000000000000) * 1000); }
Das hat im GM5 IMMER einwandfrei funktioniert. Probiert das jetzt aber mal im GM6 aus:
Beispiel:
1. Zahl: 111
2. Zahl: 222
3. Zahl: 333
4.Zahl: 444
Nach dem 'Packen' und 'Entpacken' kommt dann folgendes raus:
1. Zahl: 0 (Falsch!)
2. Zahl: 218 (Wieder falsch!)
3. Zahl: 333 (Richtig)
4. Zahl: 444 (Richtig)
Die falschen Zahlen entstehen übrigens schon beim Packen, nicht erst beim Entpacken.
Hat der GM6 etwa das Rechnen verlernt?
Mittlerweile habe ich das Problem mit Hilfe von Strings gelöst, ist allerdings nicht so elegant und braucht viel mehr Code. Deshalb die Frage - Seid ihr auch schon mal auf so was gestoßen? Oder liegt der Fehler doch nur irgendwo im Code?
Es gibt drei Dinge, die ich wirklich hasse:
Aufzählungen, die gar keine sind.
Aufzählungen, die gar keine sind.