Приветствую. Есть ли какая-нибудь функция для получения ника игрока, находящегося на сервере? (При этом подключённого к серверу и авторизованного)
Вид для печати
Приветствую. Есть ли какая-нибудь функция для получения ника игрока, находящегося на сервере? (При этом подключённого к серверу и авторизованного)
GetPlayerName + проверка, что авторизован + проверить, что GetPlayerName не вернуло 0.
Хм, а как это будет выглядеть? Просто мне необходима эта функция для проверки игрока на онлайн (например, для выдачи каких-то определённых прав). Если игрок в игре, то оповестить его о том, что ему выданы определённые привилегии, ну а если оффлайн, то просто внести изменения в базу данных.
Вернёт ID игрока, если он найден и INVALID_PLAYER_ID, если не найденPHP код:
stock GetPlayerID(const input_name[])
{
new player_name[MAX_PLAYER_NAME];
for(new i; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))// Замени на проверку авторизации
continue;
GetPlayerName(i, player_name, MAX_PLAYER_NAME);
if(!strcmp(player_name, input_name))
return i;
}
return INVALID_PLAYER_ID;
}
А когда то, ты мне заливал, что sscanf лучше для таких целей...
На что я ответил, что он не у всех подключен. И да не лучше ли будет заменить проверку с коннектом на:
ТС: в следующий раз задавайте вопрос корректно: "Нужно найти игрока с определенным ником на сервере". Так бы я сразу понял суть вопроса.PHP код:
if(0 == GetPlayerName(i, player_name, MAX_PLAYER_NAME)) continue;
Использовать в командах - да, лучше (я про спецификаторы "u" и "r").
Но если тебе нужно найти конкретного игрока - нет, ибо он ищет по части ника и для него "DeimoSs" и "DeimoS" будут считаться одинаковыми, если ты вобьёшь в поиск "DeimoS". Если тебе просто по части ника нужно найти игрока - определённо sscanf, ибо глупо писать дополнительную функцию, когда уже есть функция с тем же функционалом
У автора ведь есть система авторизации, посему лучше именно по ней и фильтровать. А IsPlayerConnected там для вида стоит (дабы авто понял где должна стоять его проверка)
Я как то писал пост с такой же функцией. Только не помню, где это было. Может и на PI. Но, суть в том, что ты начал там использовать sscanf. Зная, то что "u" - ищет часть ника, а не полный ник.
Ты не до конца дочитал: "подключённого к серверу и авторизованного"
Хотя не представляю себе, как игрок может быть не подключен к серверу и авторизован.