Принцип тот же что и в первой версии.
Но в первой версии можно было использовать только 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; }
Тема с первой версией - здесь