Упоминание игрока в VIP чате (без скрипта)

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

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

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Активный
Регистрация
12 Фев 2024
Сообщения
163
Привет, сливаю команду /vr.
Надеюсь поймете как работает.​
Код:
CMD:vr(playerid, data[])
{
    if(PI[playerid][pVIP] < 5)
        return SCM(playerid, COLOR_RED, !"[Ошибка]{FFFFFF} Вип чат доступ для игроков статуса Titan VIP и выше!");

    if(PhoneImprovementsData[playerid][pdVIPChat])
        return SCM(playerid, COLOR_RED, !"[Ошибка]{FFFFFF} У вас выключен VIP чат!");

    if(PI[playerid][pMuteTime])
        return SendMuteMessage(playerid);

    if(sscanf(data, "s[145]", mysql_string))
        return SCM(playerid, COLOR_OLDRED, !"Используйте: /vr [text]");

    if(IsAIP(mysql_string))
        return f(global_str, sizeof(global_str), "[Подозрение на рекламу] %s[%d]: [%s]", PN(playerid), playerid, mysql_string), SendAdminsMessage(COLOR_RED, global_str);

    if(Int_GetPlayerData(playerid, !"vr") > Global_Time && !IsOsnovatel(playerid, 1) && !GetPlayerADDVIP(playerid))
        return SCMF(playerid, COLOR_RED, "[Ошибка]{FFFFFF} Для возможности повторной отправки сообщения в этот чат осталось 00:%d", Int_GetPlayerData(playerid, !"vr")-Global_Time);

    else if(!IsOsnovatel(playerid, 1) && !GetPlayerADDVIP(playerid)) if(PI[playerid][pVIP] == 6) SetPVarInt(playerid, !"vr", Global_Time + 2);
    else SetPVarInt(playerid, !"vr", Global_Time + 15);
    
    new mentionedName[MAX_PLAYER_NAME], mentionedID = INVALID_PLAYER_ID;
    if(strfind(mysql_string, "@") != -1)
    {
        new tmp_str[145];
        strmid(tmp_str, mysql_string, 0, sizeof(tmp_str));
        for(new i = 0; tmp_str[i]; i++) if(tmp_str[i] == '@') tmp_str[i] = ' ';
        sscanf(tmp_str, "s[24]", mentionedName);
        foreach(new i : Player)
        {
            if(strfind(PN(i), mentionedName, true) != -1)
            {
                mentionedID = i;
                break;
            }
        }
        if(mentionedID != INVALID_PLAYER_ID)
        {
            SCMF(mentionedID, COLOR_YELLOW, ">> Вас упомянули в VIP-чате: %s[%d] <<", PN(playerid), playerid, mysql_string);
            new highlighted_msg[145];
            format(highlighted_msg, sizeof(highlighted_msg), "{FFFF00}%s{FFFFFF}", mentionedName);
            for(new i = 0; mysql_string[i]; i++)
            {
                if(!strcmp(mysql_string[i], mentionedName, false, strlen(mentionedName)))
                {
                    strdel(mysql_string, i, i + strlen(mentionedName));
                    strins(mysql_string, highlighted_msg, i);
                    break;
                }
            }
        }
    }
    switch PI[playerid][pVIP][0] do
    {
        case 5: global_str = "{6495ED}[VIP]";
        case 6: global_str = "{F345FC}[PREMIUM]";
        case 7: global_str = "{F345FC}[Clifton]";
        case 8: global_str = "{F345FC}[HolyWood]";
        default: f(global_str, 50, "%s", PI[playerid][pVipName]);
    }

    f(global_str, 300, "%s{FFFFFF} %s[%d]{FFFFFF}: %s", !PI[playerid][pAdmin] ? global_str : (str_f("{FCC645}[ADMIN | %s{FCC645}]", GetString(AdminInfo[playerid][admTag], "None") ? Admin_Names[PI[playerid][pAdmin]] : (str_f("{%s}%s", AdminInfo[playerid][admTagColor], AdminInfo[playerid][admTag])))), PN(playerid), playerid, mysql_string);
    SendVIPMessage(-1, global_str);
    return amlf("%s <a href=../data/account.php?id=%d>%s</a> написал в випчат /vr [text: %s]", PI[playerid][pAdmin] ? "Администратор ":"Игрок", PI[playerid][pID], PN(playerid), mysql_string);
}
 

Вложения

  • sa-mp-000.png
    sa-mp-000.png
    1.2 MB · Просмотры: 12
Создатель WayDev
Команда форума
Администратор
Регистрация
13 Мар 2022
Сообщения
982
М-да, сливы в 2025... Ни одного комментария по коду, какая проверка за что отвечает. Не убраны проверки, которых МОЖЕТ не быть в моде у человека. Сливы должны быть адаптированы под массу. Особенно, если это чистая вырезка с мода Аризоны.
 
Активный
Регистрация
12 Фев 2024
Сообщения
163
М-да, сливы в 2025... Ни одного комментария по коду, какая проверка за что отвечает. Не убраны проверки, которых МОЖЕТ не быть в моде у человека. Сливы должны быть адаптированы под массу. Особенно, если это чистая вырезка с мода Аризоны.
Это ты про что говоришь? Про человека без коммент или про меня ? Я не понял смысла
 
Сверху