Jak wiecie, w GM 8.1 jest problem z polskimi literami. Problem polega jednak na tym, że runner i edytor źle odczytuje polskie znaki, a nie że ich nie obsługuje. Zatem za pomocą małej sztuczki wszystko działa.
Jako, że ja potrzebowałem tego do 39dll, to zrobiłem sktypty w tej wersji, ale można się pokusić o wersję czysto gamemakerową ;)
GML (readchars)
/*
Reads a sequence of characters from the buffer.
Argument0: number of charactered to read
[Argument0]: The buffer id to read from. Leave out this argument or set
it to 0 to use the default buffer.
*/
//return external_call(global._BufS, argument0, argument1);
var __r;
__r = '';
repeat(argument0) {
__r += chr(readbyte(argument1));
}
return __r;
GML (readstring)
/*
Returns a null terminated string from the buffer.
[Argument0]: The buffer id to read from. Leave out this argument or set
it to 0 to use the default buffer.
*/
//return external_call(global._BufH, argument0);
var __r,__b;
__r = '';
do {
__b = readbyte(argument1);
__r += chr(__b);
} until ( __b == 0);
return __r;
Podniemiamy dotychczasowe skrypty 39dll na te powyżej. Jak już wyjdzie poprawka wspierająca polskie znaki jak należy, można oczywiście przywrócić stary kod (ten zakomentowany //).
Btw. w czasie gry przez getstring() polskie literki też działają ;)