Урок string і як же його правильно рахувати - вивчаємо мову pawn

Ну по-перше дуже дивно думати, що в статистиці (з твого коду) просто так виділено 255 осередків. Чому? По-перше при розробці статистики я особисто спочатку виділяю велику кількість осередків для того, щоб після досягнення ліміту просто його збільшувати. Чим це зручно? Не треба підраховувати довжину кожен раз. Можна після остаточного релізу відразу порахувати один раз потрібну кількість осередків і все.

Будь ласка Логін або реєстрація до побачити посилання.

Підрахунок рядки у тебе зроблений невірно, зараз скажу чому.
Твій підрахунок зроблений таким чином:

Будь ласка Логін або реєстрація до побачити посилання.

Будь ласка Логін або реєстрація до побачити посилання.

Відмінність лише в тому, що я додав 1 осередок для завершального нуль символу "\ 0", про існування якого, мабуть ти не підозрював.
Що це таке? Кожен рядок це масив символів, а кожен масив завершується NULL'ом. Його ASCII код - "\ 0". Для чого це потрібно? Це потрібно для того, щоб компілятор розрізняв кожен рядок і розумів де її кінець.

Крім усього іншого я замінив твоє + MAX_PLAYER_NAME - 2 на (-2 + MAX_PLAYER_NAME). Навіщо? Уяви що тобі потрібно вказати кілька форматованих даних, а у тебе буде каша з + MAX_PLAYER_NAME - 2 + 19 - 2. яка при подальшому редагуванні розмірності будь-яких даних, на які ти посилаєшся при форматуванні буде перетворюватися в довгі пошуки (особливо при великій кількості даних).
Чим мій варіант краще? Уяви що потрібно відредагувати велику кількість даних, дужки будуть більш явно показувати на який з конкретних специфікаторів ведеться розрахунок.
До речі з приводу їх назви, на оф. вики SA-MP ці самі символи називаються Specifier, я ж називаю їх просто "специфікатор".

До речі, в темі ти міг-би вказати ще й альтернативний спосіб підрахунку рядків від Daniel_Cortez.