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

Использование return

Return всегда возвращает чего-либо.
При построении сложных команд, будет очень важно знать .
Допустим, у нас есть одно условие внутри команды из функции OnPlayerCommandText:

if(pLogged[playerid] == false)
{
SendClientMessage(playerid, COLOR_RED, "Вы не авторизованы на сервере");
}
else
{
//Выполнить код команды
}


С помощью return мы можем упростить это условие, отбросив оператор else.
Для это убираем оператор else и фигурные скобки, выравниваем код команды и получаем следующее:

if(pLogged[playerid] == false)
{
SendClientMessage(playerid, COLOR_RED, "Вы не авторизованы на сервере");
return 1;
}
//Выполнить код команды


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

stock GetName(playerid)
{
new nick[MAX_PLAYER_NAME];
GetPlayerName(playerid, nick, sizeof(nick));
return nick;
}


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




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