PDA

Просмотр полной версии : [Вопрос] Получение ника игрока



stimorol
09.09.2015, 16:08
Здравствуйте.

Подскажите хорошую, оптимизированную систему для получения ника игрока.
У меня сейчас в моде стоит вот такая:



stock GPNS(playerid)
{
new giveplayernames[MAX_PLAYER_NAME];
GetPlayerName(playerid, giveplayernames, sizeof(giveplayernames));
return giveplayernames;
}


Я почитал и узнал, что данная система очень плохая.

Desulaid
09.09.2015, 16:14
GetPlayerName

Ps. та фигня называется функцией, а не системой :)

$continue$
09.09.2015, 16:42
Здравствуйте.

Подскажите хорошую, оптимизированную систему для получения ника игрока.
У меня сейчас в моде стоит вот такая:



stock GPNS(playerid)
{
new giveplayernames[MAX_PLAYER_NAME];
GetPlayerName(playerid, giveplayernames, sizeof(giveplayernames));
return giveplayernames;
}


Я почитал и узнал, что данная система очень плохая.

Объявить переменную и получать в OnPlayerConnect ник игрока на весь мод.

Avertus
09.09.2015, 16:48
Зачем вам какая-то система? Просто записываете с помощью GetPlayerName в массив ник, и затем используете этот массив.

Daniel_Cortez
09.09.2015, 18:32
Есть ещё вариант: создать глобальный массив и в нём кэшировать никнеймы в OnPlayerConect.
Вот только замучаетесь заменять все GetPlayerName на обращения к тому массиву. Мало того, придётся ещё и записывать в массив новые никнеймы после каждого вызова SetPlayerName.
У меня в заготовках есть инклуд с похожей системой, там я сделал перехват GetPlayerName и SetPlayerName для бесшовной замены. Если нужно, могу доделать его и выложть на днях.

stimorol
09.09.2015, 19:11
Есть ещё вариант: создать глобальный массив и в нём кэшировать никнеймы в OnPlayerConect.
Вот только замучаетесь заменять все GetPlayerName на обращения к тому массиву. Мало того, придётся ещё и записывать в массив новые никнеймы после каждого вызова SetPlayerName.
У меня в заготовках есть инклуд с похожей системой, там я сделал перехват GetPlayerName и SetPlayerName для бесшовной замены. Если нужно, могу доделать его и выложть на днях.

Понадобилось бы.