Всем привет не видел на данном форуме такую команду как /makeadmin и решил её выложить.
Итак начнем!
Наверх Макрос добавим
#define SCM SendClientMessage
В конец мода:
CMD:makeadmin(playerid, params[])
{
new string[128];
if(Player[playerid][pAdmin] < 8) return SCM(playerid, 0xFF0000AA, "Вы не упомолчены использовать данную команду");
if(sscanf(params, "ii", params[0], params[1])) return SCM(playerid, 0xFF0000AA, "Введите: /makeadmin [0-7]");
if(!IsPlayerConnected(params[0])) return SCM(playerid, 0xFF0000AA, "Данный игрок не в сети!");
if(params[1] < 0 || params[1] > 7) return SCM(playerid, 0xFF0000AA, "Уровень админа [0-7]");
Player[params[0]][pAdmin] = params[1];
format(string, sizeof(string), "Админ %s изменил ваш уровень админа на: %d", Player[playerid][pName], params[1]);
SCM(params[0], COLOR_FFFFFFAA, string);
return true;
}
А теперь давайте разберем код.
new string[128]; // Отвечает за размер строки (Не менять больше! т.к нагружать сервер будет)
if(Player[playerid][pAdmin] < 8) // Отвечает за проверку уровня админа (Player - Это переменная где хранятся данные об игроке например у меня: Player) pAdmin - Это массив отвечающий за админа меняйте на свой, (( < 8 - Если уровень админа меньше 8, то возникает ошибка ))
if(sscanf(params, "ii", params[0], params[1])) // params, "ii" - Отвечает за текст и айди игрока, params[0] - ид игрока, params[1] - уровень админа
if(!IsPlayerConnected(params[0])) // Проверка на в сети ли игрок, params[0] - ид игрока который был введен
if(params[1] < 0 || params[1] > 7) // params[1] < 0 если введеный уровень меньше 0, params[1] > 7 если введеный уровень больше 7, то возникнет ошибка, (params[1] - отвечает за текст)
Player[params[0]][pAdmin] = params[1]; // Присвоение игроку уровень админа, Player[params[0] - ИД игрока, = params[1] - Уровень который хотят дать
format(string, sizeof(string), "Админ %s изменил ваш уровень админа на: %d", Player[playerid][pName], params[1]); // Player[playerid][pName] - Ваш массив с именем (Ставите свой), params[1] - Сколько игроку поставили уровень админа
SendClientMessage(params[0], 0xFFFFFFAA, string);
return true; // Действие повторяется
Итак начнем!
Наверх Макрос добавим
#define SCM SendClientMessage
В конец мода:
CMD:makeadmin(playerid, params[])
{
new string[128];
if(Player[playerid][pAdmin] < 8) return SCM(playerid, 0xFF0000AA, "Вы не упомолчены использовать данную команду");
if(sscanf(params, "ii", params[0], params[1])) return SCM(playerid, 0xFF0000AA, "Введите: /makeadmin [0-7]");
if(!IsPlayerConnected(params[0])) return SCM(playerid, 0xFF0000AA, "Данный игрок не в сети!");
if(params[1] < 0 || params[1] > 7) return SCM(playerid, 0xFF0000AA, "Уровень админа [0-7]");
Player[params[0]][pAdmin] = params[1];
format(string, sizeof(string), "Админ %s изменил ваш уровень админа на: %d", Player[playerid][pName], params[1]);
SCM(params[0], COLOR_FFFFFFAA, string);
return true;
}
А теперь давайте разберем код.
new string[128]; // Отвечает за размер строки (Не менять больше! т.к нагружать сервер будет)
if(Player[playerid][pAdmin] < 8) // Отвечает за проверку уровня админа (Player - Это переменная где хранятся данные об игроке например у меня: Player) pAdmin - Это массив отвечающий за админа меняйте на свой, (( < 8 - Если уровень админа меньше 8, то возникает ошибка ))
if(sscanf(params, "ii", params[0], params[1])) // params, "ii" - Отвечает за текст и айди игрока, params[0] - ид игрока, params[1] - уровень админа
if(!IsPlayerConnected(params[0])) // Проверка на в сети ли игрок, params[0] - ид игрока который был введен
if(params[1] < 0 || params[1] > 7) // params[1] < 0 если введеный уровень меньше 0, params[1] > 7 если введеный уровень больше 7, то возникнет ошибка, (params[1] - отвечает за текст)
Player[params[0]][pAdmin] = params[1]; // Присвоение игроку уровень админа, Player[params[0] - ИД игрока, = params[1] - Уровень который хотят дать
format(string, sizeof(string), "Админ %s изменил ваш уровень админа на: %d", Player[playerid][pName], params[1]); // Player[playerid][pName] - Ваш массив с именем (Ставите свой), params[1] - Сколько игроку поставили уровень админа
SendClientMessage(params[0], 0xFFFFFFAA, string);
return true; // Действие повторяется