http://laska-samp.biz/articles/pawn-book/osnovy-skripttting/optimiz-fynkcii
°•°•° Проект SAMP - Romashka [0.3e] ™18+™ °•°•° :: Теория :: Pawn :: Основы скриптинга

Оптимизация функции GetPlayerName

Во многих скриптах, очень часто используется переменная для хранения имени игрока.
Она очень много раз создается в различных частях кода.
Но можно избежать создания такого большого количества переменных и обойтись одной.
Так как в этом случае очень часто используется функция GetPlayerName, логично создать отдельную функцию, которая будет вызываться в разных частях кода. Поскольку return может возвращать только целое число или строку, можно написать вот такую простейшую функцию.

stock PlayerName(playerid)
{
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name,sizeof(Name));
return Name;
}


Теперь при необходимости узнать имя игрока в определенной части кода, нужно просто вызвать данную функцию.
Вот так бы выглядел код с выделением переменной под имя игрока.

new string[60], plname[MAX_PLAYER_NAME];
GetPlayerName(playerid,plname,sizeof(plname));
format(string,sizeof(string),”Добро пожаловать к нам на сервер: %s”, plname);
SendClientMessage(playerid,COLOR_YELLOW,string);


А вот так выглядит код с использованием функции

new string[60];
format(string,sizeof(string),”Добро пожаловать к нам на сервер: %s”,PlayerName(playerid));
SendClientMessage(playerid,COLOR_YELLOW,string);





Опубликовано 11 December 2013