sscanf + OnPlayerCommandText
В последнее время появилось множество командных процессоров, и в этой суете, все почти забыли про стандартный. В современных модах (к ним не относятся, ни RLS ни Gf), команд как таковых минимум, и получается если использовать сторонний командный процессор в таком моде, то он не дает никаких плюсов (порой даже минусы)
Конкретнее?
Лишний код
Трудно разобраться с поддержкой кирилицы
Проблемы с вызовом команды из вне
Поэтому для удобства, хочу предложить вам может и не новый способ, но все же функциональный. Это использование sscanf плагина вместо strtok. Этот способ предложил мне XemyL, за что ему огромное спасибо
Достаточно подключить плагин и в OnPlayerCommandText вставить:
PHP код:
new cmd[32], params[128];
sscanf(cmdtext, "s[32]s[128]", cmd, params);
Вот пример команды:
PHP код:
if(strcmp(cmd,"/mycommand",true) == 0)
{
new param1,param2,param3[13];
if(sscanf(params,"dds[12]",param1,param2,param3)) return SendClientMessage(playerid, COLOR_WHITE,"> Ââåäèòå /test [num1] [num2] [text1]");
new string[50];
format(string,sizeof(string),"Переменная 1: %d",param1);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string,sizeof(string),"Переменная 2: %d",param2);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string,sizeof(string),"Переменная 3: %s",param3);
SendClientMessage(playerid, COLOR_YELLOW, string);
return 1;
}
Вот и весь урок, если похожие темы созданы, прошу прощения!