[INC] mxParam

11 марта 2010 | Рубрика: Pawn libraries

n Не секрет что, колбэк OnPlayerCommandText самый загруженный из всех остальных, именно поэтому пытливые умы придумывают хитрые системы, чтобы улучшить быстродействие и функциональность таких казалось бы простых действий, как извлечение нужной части строки из полной строки команды или чего бы то ни было еще.

Автор представляет нам 3 мощных функции для извлечения подстрок из строк:
sparam — извлекает подстроку под указанным номером, по желанию и вместе с остатком строки.
iparam — извлекает подстроку под указанным номером и возвращает ее численное значение.
fparam — извлекает подстроку под указанным номером и возвращает ее дробное (Float) значение.

Примеры:

if ( strcmp( cmdtext, "/goto_xyz", true, 9 ) == 0 )
{
SetPlayerPos( playerid, fparam(cmdtext, _, 1), fparam(cmdtext, _, 2), fparam(cmdtext, _, 3) );
return 1;
}

if ( strcmp( cmdtext, "/givemoney", true, 10 ) == 0 )
{
GivePlayerMoney( iparam(cmdtext, _, 1), iparam(cmdtext, _, 2) );
return 1;
}