Принцип тот же что и в первой версии.
Но в первой версии можно было использовать только 1 символ.
В этой мы можем использовать до 4 символов, используя плагин.
Пример:
Команды для примера взяты с моего проекта Cops and Robbers.
Код:
#include <sscanf2>
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd_sscanf[32], params[128];
sscanf(cmdtext, "s[32]s[128]", cmd_sscanf, params);
//================================//
if(strcmp(cmd_sscanf, "/sethp", true) == 0)
{
if(sscanf(params,"dd",params[0],params[1])) return Message(playerid, COLOR_GREEN, " * Используйте: /sethp [id] [hp]");
//
if(params[0] == INVALID_PLAYER_ID) return Message(playerid, COLOR_RED, "Игрок не авторизован!");
SetPlayerHealth(params[0],params[1]);
return 1;
}
if(strcmp(cmd_sscanf, "/ban", true) == 0)
{
new string[128];
if(sscanf(params,"dd",params[0],params[1])) return Message(playerid, COLOR_GREEN, " * Используйте: /ban [id] [1\2]");
//
if(params[1] == 1)
{
format(string, sizeof(string), " * Игрок %s заблокирован администратором %s.", PlayerName(params[0]), PlayerName(playerid));
MessageAll(COLOR_RED, string);
PI[params[0]][pBan] = 1;
Kick(params[0]);//Кикаем игрока, что-бы переменная pBan сработала и кикала игрока.
}
if(params[1] == 2)
{
format(string, sizeof(string), " * Игрок %s разблокирован администратором %s.", PlayerName(params[0]), PlayerName(playerid));
MessageAll(COLOR_RED, string);
PI[params[0]][pBan] = 0;
Kick(params[0]);//Кикаем игрока, что-бы у переменной pBan произошел сброс.
}
return 1;
}
return 0;
}
Тема с первой версией - здесь
