sampgdk неверная кодировка
char name[MAX_PLAYER_NAME + 1];
sampgdk::GetPlayerName(id, name, MAX_PLAYER_NAME + 1);
Если зайти под ником "Привет", то в name будет "яяяПяяяряяяияяявяяяеяяят"
Но если поставить английскую букву в начале, например "zПривет", то все нормально
YSF 2.2 (последняя на данный момент) - для поддержки кириллицы в нике
sampgdk 4.6.2 (последняя на данный момент)
Читал здесь. Попробовал фикс с помощью побитового &=, не помогло
Капнул чуть глубже и выяснил, что sampgdk вызывает amx_GetString после вызова стандартной нативы GetPlayerName.
Не знаю как это может помочь в "исследовании", но думаю это важно.
В amx не особо разбираюсь, да и в кодировках тоже. Прошу помощи)
UPD: для интереса попробовал вызвать GetPlayerName через InvokeNative:
char name[MAX_PLAYER_NAME + 1];
AMX_NATIVE native = sampgdk::FindNative("GetPlayerName");
sampgdk::InvokeNative(native, "iS[25]i", id, name, 25);
Результат тот же