Система админ чата, префиксов, цвет префикса

Пользователь
Статус
Сообщения
84
Лайки
12

1

месяц на сайте

Требуется: sscanf2, MYSQL R39-2, DC_CMD

Добавляем в pInfo 2 ячейки:
Pawn:
        pPrefix[32],
        pPrefixColor[16],

Команда /a:
Pawn:
CMD:a(playerid, params[])
{
        if(PlayerInfo[playerid][pAdmin] < 1) return SCM(playerid, 0xFF0000AA, "Вы не администратор");
        if(sscanf(params,"s[100]",params[0])) return SCM(playerid, -1, "{ffaa11}[Информация]:{ffffff} /a [текст]");
        new arank[64], string[128*4];
        string[0] = EOS;
        switch (PlayerInfo[playerid][pAdmin])
        {
                case 1: arank = "{FF0000}Администратор 1lvl{FFFFFF}";
                case 2: arank = "{FF0000}Администратор 2lvl{FFFFFF}";
                case 3: arank = "{FF0000}Администратор 3lvl{FFFFFF}";
                case 4: arank = "{FF0000}Администратор 4lvl{FFFFFF}";
                case 5: arank = "{FF0000}Администратор 5lvl{FFFFFF}";
                case 6: arank = "{FF0000}Администратор 6lvl{FFFFFF}";
                case 7: arank = "{FF0000}Администратор 7lvl{FFFFFF}";
                case 8: arank = "{FF0000}Администратор 8lvl{FFFFFF}";
                case 9: arank = "{FF0000}Администратор 9lvl{FFFFFF}";
                case 10: arank = "{FF0000}Администратор 10lvl{FFFFFF}";
        }
        
        if(strlen(PlayerInfo[playerid][pPrefix]) > 1) format(string,sizeof(string), "{FFFFFF}[A] [{%s}%s{ffffff}] {99CC00}%s[%d]{ffffff}: %s",PlayerInfo[playerid][pPrefixColor], PlayerInfo[playerid][pPrefix], PlayerInfo[playerid][pName], playerid, params[0]);
        else format(string,sizeof(string), "{FFFFFF}[A] [{%s}%s{ffffff}] {99CC00}%s[%d]{ffffff}: %s",PlayerInfo[playerid][pPrefixColor], arank, PlayerInfo[playerid][pName], playerid, params[0]);
        SendAdminMessage(-1, string, 1);
        return 1;
}

Команда /prefix:
Pawn:
CMD:prefix(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} /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(-1, 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;
}

Команда /prefixcolor:
Pawn:
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(-1, 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;
}

В MySQL создаём 2 столбца в accounts:
SQL:
1) prefix varchar[32]
2) prefixcolor varchar[16]

Не забываем заменить имя переменной coverbd на свое, которое используете в mysql_connect
 

1 человек читают эту тему (Всего: 1, Пользователей: 0, Гостей: 1)

Сверху