Закрыто Помощь с созданием команды такой как /setprefix - /delprefix (ZCMD)

Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Статус
В этой теме нельзя размещать новые ответы.
Пользователь
Регистрация
10 Июн 2022
Сообщения
51
Суть данной команды заключаеться в том, что бы администраторам можно было выдавать префикс.
Пример: /setprefix id игрока [текст].
Пример когда выдал в /a: ГС по гетто [Elvis_Garevali]: Всем привет.
А /delprefix - просто удаляет его.
Заранее спасибо кто поможет с данной командой.
 
Пользователь
Регистрация
14 Июл 2022
Сообщения
33
Здравствуйте, у меня есть один вариант можете попробовать.
В начале добавляем это в данные аккаунта
C:
        pPrefix[32],
        pPrefixColor[16],
А затем добавляем эти структуры в базу, а именно в базу аккаунтов
C:
           prefix varchar[32]
        prefixcolor varchar[16]

C:
   CMD:prefix(playerid, params[])
{
        if(PlayerInfo[playerid][pAdmin] < 9) return SCM(playerid, 0xFF0000AA, "Вы не ст администратор"); // Тут проверка на Админа у меня это "(PlayerInfo[playerid][pAdmin] < 9)"
        if(sscanf(params, "ds[24]", params[0], params[1])) return SendClientMessage(playerid, COLOR_WHITE, "{ffaa11}[Информация]:{ffffff} /prefix [ID] [Префикс]");
        if(GetPVarInt(playerid, "logged") == 0) return SCM(playerid, 0xFF0000AA, "Данный игрок не авторизован"); // Тут проверка на того что игрок авторизован
        if(PlayerInfo[params[0]][pAdmin] < 1) return SendClientMessage(playerid, COLOR_WHITE, "Игрок не администратор или он не залогинен!"); //Тут повторная проверка на Админа
        new string[144], query[144];
        sscanf(params[1], "s[24]", PlayerInfo[params[0]][pPrefix]);
        format(string, sizeof(string), "[A] %s установил префикс '%s' администратору: %s", PlayerInfo[playerid][pName], PlayerInfo[params[0]][pPrefix], PlayerInfo[params[0]][pName]); //Здесь тоже нужно поменять переменные на свои
        SendAdminMessage(COLOR_ACHAT, string);
        format(query, sizeof(query), "UPDATE `accounts` SET `prefix` = '%s' WHERE `id` = '%d'", PlayerInfo[params[0]][pPrefix], PlayerInfo[params[0]][pID]); //А тут все что вы писали идет в базу
        mysql_query(coverbd, query);
        return 1;
}
Если нужно поменять префиксу цвет, то используйте этот код
Так же нужно поменять все параметры на свои.
C:
   CMD:prefixcolor(playerid, params[])
{
        if(PlayerInfo[playerid][pAdmin] < 9) return SCM(playerid, 0xFF0000AA, "Вы не ст администратор");
        if(sscanf(params, "ds[10]", params[0], params[1])) return SendClientMessage(playerid, COLOR_WHITE, "{ffaa11}[Информация]:{ffffff} /prefix [ID] [HLX-CODE]");
        if(GetPVarInt(playerid, "logged") == 0) return SCM(playerid, 0xFF0000AA, "Данный игрок не авторизован");
        if(PlayerInfo[params[0]][pAdmin] < 1) return SendClientMessage(playerid, COLOR_WHITE, "Игрок не администратор или он не залогинен!");
        new string[144], query[144];
        sscanf(params[1], "s[10]", PlayerInfo[params[0]][pPrefixColor]);
        format(string, sizeof(string), "[A] %s установил префикс '%s' администратору: %s", PlayerInfo[playerid][pName], PlayerInfo[params[0]][pPrefix], PlayerInfo[params[0]][pName]);
        SendAdminMessage(COLOR_ACHAT, string);
        format(query, sizeof(query), "UPDATE `accounts` SET `prefixcolor` = '%s' WHERE `id` = '%d'", PlayerInfo[params[0]][pPrefixColor], PlayerInfo[params[0]][pID]);
        mysql_query(coverbd, query);
        return 1;
}
Что бы удалять префикс нужно вот этот код
C:
   CMD:delprefix (playerid, params[])
{
        if(PlayerInfo[playerid][pAdmin] < 9) return SCM(playerid, 0xFF0000AA, "Вы не ст администратор");
        if(sscanf(params, "ds[24]", params[0], params[1])) return SendClientMessage(playerid, COLOR_WHITE, "{ffaa11}[Информация]:{ffffff} /delprefix  [ID] [Префикс]");
        if(GetPVarInt(playerid, "logged") == 0) return SCM(playerid, 0xFF0000AA, "Данный игрок не авторизован");
        if(PlayerInfo[params[0]][pAdmin] < 1) return SendClientMessage(playerid, COLOR_WHITE, "Игрок не администратор или он не залогинен!");
        new string[144], query[144];
        sscanf(params[1], "s[24]", PlayerInfo[params[0]][pPrefix]);
        format(string, sizeof(string), "[A] %s Удалил  префикс '%s' у администратора: %s", PlayerInfo[playerid][pName], PlayerInfo[params[0]][pPrefix], PlayerInfo[params[0]][pName]);
        SendAdminMessage(COLOR_ACHAT, string);
        format(query, sizeof(query), "DELETE FROM `accounts` WHERE  `prefix` = '%s' WHERE `id` = '%d'", PlayerInfo[params[0]][pPrefix], PlayerInfo[params[0]][pID]);
        mysql_query(coverbd, query);
        return 1;
}
ВАЖНО: ВЕЗДЕ ПОМЕНЯЙТЕ НА СВОИ МАССИВЫ И ПЕРЕМЕННЫЕ А ТО НЕ БУДЕТ РАБОТАТЬ.
 
Последнее редактирование:
Пользователь
Регистрация
10 Июн 2022
Сообщения
51
format(string, sizeof(string), "[A] %s óñòàíîâèë ïðåôèêñ '%s' àäìèíèñòðàòîðó: %s", PI[playerid][fName], PI[params[0]][pPrefix], PI[params[0]][fName]); //????? ???? ????? ???????? ?????????? ?? ????
SendAdminMessage(COLOR_WHITE, string);
format(query, sizeof(query), "UPDATE `accounts` SET `prefix` = '%s' WHERE `id` = '%d'", PI[params[0]][pPrefix], PI[params[0]][pID]); //? ??? ??? ??? ?? ?????? ???? ? ????
mysql_query(coverbd, query);
Где-то в этих строчках
 
Пользователь
Регистрация
14 Июл 2022
Сообщения
33
format(string, sizeof(string), "[A] %s óñòàíîâèë ïðåôèêñ '%s' àäìèíèñòðàòîðó: %s", PI[playerid][fName], PI[params[0]][pPrefix], PI[params[0]][fName]); //????? ???? ????? ???????? ?????????? ?? ????
SendAdminMessage(COLOR_WHITE, string);
format(query, sizeof(query), "UPDATE `accounts` SET `prefix` = '%s' WHERE `id` = '%d'", PI[params[0]][pPrefix], PI[params[0]][pID]); //? ??? ??? ??? ?? ?????? ???? ? ????
mysql_query(coverbd, query);
Где-то в этих строчках
Поменяй раскладку на русский потом копируй.
 
Пользователь
Регистрация
10 Июн 2022
Сообщения
51
format(string, sizeof(string), "[A] %s установил префикс '%s' администратору: %s", PI[playerid][fName], PI[params[0]][pPrefix], PI[params[0]][fName]); //Здесь тоже нужно поменять переменные на свои
SendAdminMessage(CC, string);
format(query, sizeof(query), "UPDATE `accounts` SET `prefix` = '%s' WHERE `id` = '%d'", PI[params[0]][pPrefix], PI[params[0]][pID]); //А тут все что вы писали идет в базу
mysql_query(coverbd, query);
 
Последнее редактирование:
Пользователь
Регистрация
14 Июл 2022
Сообщения
33
Статус
В этой теме нельзя размещать новые ответы.
Сверху