Приветствую. Появился вопрос насчёт переменных. Возможно, он покажется Вам немного смешным...
В общем, размер форматируемой строки я подсчитываю этим способом, но вчера мне пришла в голову мысль "А что делать, если будет две строки?".
Например вот так:
PHP код:
static const delacc_request[] = "DELETE FROM `accounts` WHERE `name` = '%s'";
new query[sizeof(delacc_request) + (-2+MAX_PLAYER_NAME)];
format(query, sizeof(query), delacc_request, nickname);
// Тут сам запрос удаления.
static const show_info[] = "Аккаунт %s был удалён администратором %s за нарушение правил сервера.";
new string[sizeof(show_info) + (-2+MAX_PLAYER_NAME) + (-2+MAX_PLAYER_NAME)];
format(string, sizeof(string), show_info, nickname, p_info[playerid][name]);
// Тут оповещение игроков/администрации (не так важно)
Или лучше сделать так:
PHP код:
static const delacc_request[] = "DELETE FROM `accounts` WHERE `name` = '%s'";
static const show_info[] = "Аккаунт %s был удалён администратором %s за нарушение правил сервера.";
new string[sizeof(show_info) + (-2+MAX_PLAYER_NAME) + (-2+MAX_PLAYER_NAME)];
format(string, sizeof(string), show_info, nickname, p_info[playerid][name]);
// Тут оповещение
format(string, sizeof(string), delacc_request, nickname);
// Тут удаление.