yuriy5022
24.01.2017, 13:07
Можно ли в енуменаторе добавить массив и использовать, примерно так:
enum e_player
{
p_id,
p_nick[MAX_PLAYER_NAME],
p_password[MAX_PLAYER_PASSWORD],
p_string[2048]
}
new user[MAX_PLAYERS][e_player];
И после использовать его везде, например при формировании запроса к БД в mysql_format и так далее.
Вместо этого:
static const fmt[] = "SELECT * FROM `accounts` WHERE `nickname` = '%e'";
new str[sizeof(fmt) + (-2 + MAX_PLAYER_NAME) + 1];
mysql_format(mysql_connection_id, str, sizeof(str), fmt, user[playerid][p_nick]);
mysql_query(mysql_connection_id, str);
Делать так:
mysql_format(mysql_connection_id, user[playerid][p_string], MAX_PLAYER_STRING, "SELECT * FROM `accounts` WHERE `nickname` = '%e'", user[playerid][p_nick]);
mysql_query(mysql_connection_id, user[playerid][p_string]);
При использовании в strcat/strins и пр. очищать
user[playerid][p_string][0] = '\0';
enum e_player
{
p_id,
p_nick[MAX_PLAYER_NAME],
p_password[MAX_PLAYER_PASSWORD],
p_string[2048]
}
new user[MAX_PLAYERS][e_player];
И после использовать его везде, например при формировании запроса к БД в mysql_format и так далее.
Вместо этого:
static const fmt[] = "SELECT * FROM `accounts` WHERE `nickname` = '%e'";
new str[sizeof(fmt) + (-2 + MAX_PLAYER_NAME) + 1];
mysql_format(mysql_connection_id, str, sizeof(str), fmt, user[playerid][p_nick]);
mysql_query(mysql_connection_id, str);
Делать так:
mysql_format(mysql_connection_id, user[playerid][p_string], MAX_PLAYER_STRING, "SELECT * FROM `accounts` WHERE `nickname` = '%e'", user[playerid][p_nick]);
mysql_query(mysql_connection_id, user[playerid][p_string]);
При использовании в strcat/strins и пр. очищать
user[playerid][p_string][0] = '\0';