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

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

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Активный
Пользователь
Регистрация
29 Июл 2024
Сообщения
277
Pawn:
Chat GPT :

CMD:setleader(playerid, params[])
{
    if (PlayerLogged[playerid] == 0) return true;

    // Проверка прав администратора
    if (PlayerInfo[playerid][pAdmin] < 6 || !AdminLogged[playerid]) return true;

    // Проверка параметров
    if (sscanf(params, "u", params[0]))
        return SendClientMessage(playerid, COLOR_FADE4, "Используйте: /setleader [id игрока]");
   
    // Проверка наличия игрока
    if (!IsPlayerConnected(params[0]))
        return SendClientMessage(playerid, COLOR_GREY, "Игрок не онлайн!");

    // Проверка на AFK
    if (GetPVarInt(params[0], "AFK_Time") > 2)
        return SendClientMessage(playerid, COLOR_GREY, "Игрок находится в AFK!");

    // Проверка нахождения в транспорте
    if (IsPlayerInAnyVehicle(params[0]))
        return SendClientMessage(playerid, COLOR_GREY, "Игрок не должен находиться в транспорте!");

    // Проверка на организацию
    if (PlayerInfo[params[0]][pLeader] == 0)
        return SendClientMessage(playerid, COLOR_GREY, "Игрок не находится в организации!");

    // Снятие лидера
    LeaveFractionPlayer(params[0]);
    SendMes(playerid, COLOR_ORANGE, "Вы сняли %s с должности лидера организации", sendername(params[0]));
    SendMes(params[0], COLOR_BLUE, "Администратор %s снял вас с должности лидера организации", sendername(playerid));

    // Предложение установить нового лидера
    new str[90], str2[2048];
    for (new i = 1; i <= TOTALFRAC; i++)
    {
        format(str, sizeof(str), "Организация №%i - %s\n", i, FracInfo[i][fName]);
        strcat(str2, str);
    }

    SetPVarInt(playerid, "PlayerLeader", params[0]);
    ShowPlayerDialog(playerid, D_FRACMENU, 2, "Организации", str2, "Принять", "Отмена");

    return true;
}

Pawn:
Arizona RP Mode :
CMD:makeleader(playerid, params[])
{
    if(sscanf(params, "u", params[0])) return SCM(playerid, COLOR_OLDRED, !"Используйте: /makeleader [id]");
    global_str = "";
    for(new i = 1; i < MAX_ORGS; i++) f(global_str, 500, "%s%s\n", global_str, OrgInfo[i][oName]);
    SPD(playerid, 26, DIALOG_STYLE_LIST, PN(params[0]), global_str, !"Выбор", !"Отмена");
    return MLPlayer[playerid] = params[0];
}

Врядли будет работать но если мод аризоны то будет работать
 
Активный
Пользователь
Регистрация
5 Июл 2024
Сообщения
340
Pawn:
Chat GPT :

CMD:setleader(playerid, params[])
{
    if (PlayerLogged[playerid] == 0) return true;

    // Проверка прав администратора
    if (PlayerInfo[playerid][pAdmin] < 6 || !AdminLogged[playerid]) return true;

    // Проверка параметров
    if (sscanf(params, "u", params[0]))
        return SendClientMessage(playerid, COLOR_FADE4, "Используйте: /setleader [id игрока]");
   
    // Проверка наличия игрока
    if (!IsPlayerConnected(params[0]))
        return SendClientMessage(playerid, COLOR_GREY, "Игрок не онлайн!");

    // Проверка на AFK
    if (GetPVarInt(params[0], "AFK_Time") > 2)
        return SendClientMessage(playerid, COLOR_GREY, "Игрок находится в AFK!");

    // Проверка нахождения в транспорте
    if (IsPlayerInAnyVehicle(params[0]))
        return SendClientMessage(playerid, COLOR_GREY, "Игрок не должен находиться в транспорте!");

    // Проверка на организацию
    if (PlayerInfo[params[0]][pLeader] == 0)
        return SendClientMessage(playerid, COLOR_GREY, "Игрок не находится в организации!");

    // Снятие лидера
    LeaveFractionPlayer(params[0]);
    SendMes(playerid, COLOR_ORANGE, "Вы сняли %s с должности лидера организации", sendername(params[0]));
    SendMes(params[0], COLOR_BLUE, "Администратор %s снял вас с должности лидера организации", sendername(playerid));

    // Предложение установить нового лидера
    new str[90], str2[2048];
    for (new i = 1; i <= TOTALFRAC; i++)
    {
        format(str, sizeof(str), "Организация №%i - %s\n", i, FracInfo[i][fName]);
        strcat(str2, str);
    }

    SetPVarInt(playerid, "PlayerLeader", params[0]);
    ShowPlayerDialog(playerid, D_FRACMENU, 2, "Организации", str2, "Принять", "Отмена");

    return true;
}

Pawn:
Arizona RP Mode :
CMD:makeleader(playerid, params[])
{
    if(sscanf(params, "u", params[0])) return SCM(playerid, COLOR_OLDRED, !"Èñïîëüçóéòå: /makeleader [id]");
    global_str = "";
    for(new i = 1; i < MAX_ORGS; i++) f(global_str, 500, "%s%s\n", global_str, OrgInfo[i][oName]);
    SPD(playerid, 26, DIALOG_STYLE_LIST, PN(params[0]), global_str, !"Âûáîð", !"Îòìåíà");
    return MLPlayer[playerid] = params[0];
}

Врядли будет работать но если мод аризоны то будет работать
на русскую раскладку поменяй с мода арз
 
Активный
Пользователь
Регистрация
29 Июл 2024
Сообщения
277
Pawn:
Chat GPT :

CMD:setleader(playerid, params[])
{
    if (PlayerLogged[playerid] == 0) return true;

    // Проверка прав администратора
    if (PlayerInfo[playerid][pAdmin] < 6 || !AdminLogged[playerid]) return true;

    // Проверка параметров
    if (sscanf(params, "u", params[0]))
        return SendClientMessage(playerid, COLOR_FADE4, "Используйте: /setleader [id игрока]");
   
    // Проверка наличия игрока
    if (!IsPlayerConnected(params[0]))
        return SendClientMessage(playerid, COLOR_GREY, "Игрок не онлайн!");

    // Проверка на AFK
    if (GetPVarInt(params[0], "AFK_Time") > 2)
        return SendClientMessage(playerid, COLOR_GREY, "Игрок находится в AFK!");

    // Проверка нахождения в транспорте
    if (IsPlayerInAnyVehicle(params[0]))
        return SendClientMessage(playerid, COLOR_GREY, "Игрок не должен находиться в транспорте!");

    // Проверка на организацию
    if (PlayerInfo[params[0]][pLeader] == 0)
        return SendClientMessage(playerid, COLOR_GREY, "Игрок не находится в организации!");

    // Снятие лидера
    LeaveFractionPlayer(params[0]);
    SendMes(playerid, COLOR_ORANGE, "Вы сняли %s с должности лидера организации", sendername(params[0]));
    SendMes(params[0], COLOR_BLUE, "Администратор %s снял вас с должности лидера организации", sendername(playerid));

    // Предложение установить нового лидера
    new str[90], str2[2048];
    for (new i = 1; i <= TOTALFRAC; i++)
    {
        format(str, sizeof(str), "Организация №%i - %s\n", i, FracInfo[i][fName]);
        strcat(str2, str);
    }

    SetPVarInt(playerid, "PlayerLeader", params[0]);
    ShowPlayerDialog(playerid, D_FRACMENU, 2, "Организации", str2, "Принять", "Отмена");

    return true;
}

Pawn:
Arizona RP Mode :
CMD:makeleader(playerid, params[])
{
    if(sscanf(params, "u", params[0])) return SCM(playerid, COLOR_OLDRED, !"Èñïîëüçóéòå: /makeleader [id]");
    global_str = "";
    for(new i = 1; i < MAX_ORGS; i++) f(global_str, 500, "%s%s\n", global_str, OrgInfo[i][oName]);
    SPD(playerid, 26, DIALOG_STYLE_LIST, PN(params[0]), global_str, !"Âûáîð", !"Îòìåíà");
    return MLPlayer[playerid] = params[0];
}

Врядли будет работать но если мод аризоны то будет работать
OFFTOP

Советую использовать версию Chat-GPT

 
Активный
Пользователь
Регистрация
29 Июл 2024
Сообщения
277
Pawn:
stock LeaveFractionPlayer(playerid)
{
    // Проверка, является ли игрок помощником
    if(!strcmp(FracInfo[PlayerInfo[playerid][pMember]][fAssistant], sendername(playerid), true))
    {
        // Сброс имени помощника
        strmid(FracInfo[PlayerInfo[playerid][pMember]][fAssistant], "None", 0, strlen("None"), MAX_PLAYER_NAME);
        SetFractionStr(PlayerInfo[playerid][pMember], "assistant", "None");

        // Сброс хелперов
        for(new i = 0; i < 4; i++) FracInfo[PlayerInfo[playerid][pMember]][fHelper][i] = 0;

        // Форматирование строки хелперов
        format(FracInfo[PlayerInfo[playerid][pMember]][fHelpers], sizeof(FracInfo[PlayerInfo[playerid][pMember]][fHelpers]),
               "%d, %d, %d, %d",
               FracInfo[PlayerInfo[playerid][pMember]][fHelper][0],
               FracInfo[PlayerInfo[playerid][pMember]][fHelper][1],
               FracInfo[PlayerInfo[playerid][pMember]][fHelper][2],
               FracInfo[PlayerInfo[playerid][pMember]][fHelper][3]);

        SetFractionStr(PlayerInfo[playerid][pMember], "helper", FracInfo[PlayerInfo[playerid][pMember]][fHelpers]);
    }

    // Сброс статуса работы и данных игрока
    JobFactory[playerid] = false;
    PlayerInfo[playerid][pChar] = 0;
    PlayerInfo[playerid][pLeader] = 0;
    PlayerInfo[playerid][pMember] = 0;
    PlayerInfo[playerid][pRank] = 0;
    PlayerInfo[playerid][pSpawnType] = 0;

    // Установка модели и цвета команды игрока
    SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
    SetPlayerTeamColor(playerid);

    return true;
}
Pawn:
CMD:invite(playerid, params[])
{
    if (PlayerLogged[playerid] == 0) return true;

    // Проверка прав игрока на использование команды
    if (!CanUseInvite(playerid)) 
    {
        return SendClientMessage(playerid, COLOR_GREY, YouCanNot);
    }

    if (sscanf(params, "u", params[0])) 
    {
        return SendClientMessage(playerid, COLOR_FADE4, "Используйте: /invite [id игрока]");
    }

    // Проверка условий для приглашения игрока
    if (!IsInviteEligible(playerid, params[0])) 
    {
        return true; // Условия не выполнены, прекращаем выполнение
    }

    // Отправка приглашения
    SendMes(playerid, COLOR_BLUE, "Вы предложили %s вступить в организацию \"%s\"", sendername(params[0]), FracInfo[PlayerInfo[playerid][pMember]][fName]);
    SendMes(params[0], -1, "{3399FF}%s предлагает Вам вступить в организацию \"%s\"", sendername(playerid), FracInfo[PlayerInfo[playerid][pMember]][fName]);
    SendMes(params[0], COLOR_WHITE, "Нажмите {00FF00}Y {FFFFFF} чтобы вступить или {F81414}N {FFFFFF} для отказа");

    SetPVarInt(params[0], "PlayerInvite", playerid);
    Select[params[0]][SelectCharInvite] = 255;
    
    return true;
}

// Проверка, может ли игрок использовать команду приглашения
bool:CanUseInvite(playerid)
{
    return (PlayerInfo[playerid][pLeader] > 0 || 
           (PlayerInfo[playerid][pMember] > 0 && 
           (strcmp(sendername(playerid), FracInfo[PlayerInfo[playerid][pMember]][fAssistant], true) == 0 || 
            PlayerInfo[playerid][pRank] >= 10)));
}

// Проверка, может ли игрок быть приглашён
bool:IsInviteEligible(playerid, targetid)
{
    if (PlayerInfo[targetid][pLeader] > 0) 
        return SendClientMessage(playerid, COLOR_GREY, "Игрок лидер другой организации!");

    if (PlayerInfo[targetid][pMember] > 0) 
        return SendClientMessage(playerid, COLOR_GREY, "Игрок находится в другой организации!");

    if (PlayerInfo[targetid][pWarn] > 0) 
        return SendClientMessage(playerid, COLOR_GREY, "У этого игрока Warn!");

    if (PlayerInfo[targetid][pLevel] == 1 && PlayerInfo[targetid][pExp] < 2) 
        return SendClientMessage(playerid, COLOR_GREY, "Игрок должен поиграть 2 часа с зарплатой!");

    new Float: distanceToParam = GetDistanceBetweenPlayers(playerid, targetid);
    if (distanceToParam > 6.0) 
        return SendClientMessage(playerid, COLOR_GREY, "Игрок слишком далеко!");

    if (IsPlayerInAnyVehicle(targetid)) 
        return SendClientMessage(playerid, COLOR_GREY, "Игрок не должен находиться в транспорте!");

    return true;
}
Pawn:
CMD:uninviteall(playerid, params[])
{
    if (PlayerLogged[playerid] == 0) return true;

    // Проверка прав на выполнение команды
    if (IsLeaderProhibited(playerid))
        return SendMes(playerid, COLOR_GREY, "Данная функция для вас запрещена");

    new want = 0;
    new member = PlayerInfo[playerid][pMember];
    new query[256], namep[32], mod;

    if (PlayerInfo[playerid][pLeader] > 0)
    {
        format(query, sizeof(query), "SELECT * FROM "TABLE_ACCOUNT" WHERE member = '%d'", member);
        mysql_query(query);
        mysql_store_result();

        while (mysql_fetch_row_format(query))
        {
            mysql_get_field("member", var);
            new bbb = strval(var);
            mysql_get_field("name", namep);
            mysql_get_field("model", var);
            new mod = strval(var);

            if (bbb == member)
            {
                // Обновление данных игрока
                UpdatePlayerAccount(namep, mod);
                want++;
            }
        }

        SendAdminMessage(COLOR_REDD,
            format("[Внимание Расформировка] %s[%d] уволил %i человек из организации", sendername(playerid), playerid, want));
        SendMes(playerid, COLOR_YELLOW, "%i было уволено из вашей организации", want);
        mysql_free_result();
    }
    return true;
}

// Проверка, запрещены ли функции для лидера
bool:IsLeaderProhibited(playerid)
{
    return (PlayerInfo[playerid][pLeader] == F_MIN1 ||
            PlayerInfo[playerid][pLeader] == F_MIN2 ||
            PlayerInfo[playerid][pLeader] == F_MIN3 ||
            PlayerInfo[playerid][pLeader] == F_MIN4);
}

// Обновление данных игрока в базе
stock UpdatePlayerAccount(name[], model[])
{
    new query[256];

    // Удаление из организации
    format(query, sizeof(query), "UPDATE "TABLE_ACCOUNT" SET member = '0' WHERE name = '%s'", name);
    mysql_query(query);

    // Обновление скина
    format(query, sizeof(query), "UPDATE "TABLE_ACCOUNT" SET skin = '%i' WHERE name = '%s'", model, name);
    mysql_query(query);

    // Сброс персонажа
    format(query, sizeof(query), "UPDATE "TABLE_ACCOUNT" SET char = '0' WHERE name = '%s'", name);
    mysql_query(query);
}
Стоки и доп. команды
 
Сверху