Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Временное вступление во фракцию (templeader)

Специалист
Авг
18
71
Активный
Достаточно простая команда
Можно доработать на свое усмотрение или попросить в этой теме добавить что-либо


C++:
CMD:templeader(playerid,params[]){
        if(l[playerid][админка] < 1) return SendClientMessage(playerid, -1, "Маленький еще");;
        {
            if(sscanf(params, "d", params[0]))
                    return SendClientMessage(playerid, -1, "Используй /templeader [id организации]");
                    
            if(params[0] > 3 || params[0] < 0)
                    return SendClientMessage(playerid, -1, "Неверный id организации.");
                    
            if(l[playerid][Админка] >= 1)
            {

                if(params[0] == 0)
                {
                    l[playerid][pMember] = 0, l[playerid][pRang] = 0,  SetPlayerColor(playerid, цвет для вашей фракции);
                    SendClientMessage(playerid , 0x0BEBC5AA, "Временная лидерка снята, вы снова лох");
                }
                if(params[0] == 1)
                {
                    l[playerid][pMember] = 1, l[playerid][pRang] = 10, SetPlayerColor(playerid, Цвет для фракции);
                    SendClientMessage(playerid,-1,"{0BEB38}Вы назначили себя лидером крутой фракции");
                }
                if(params[0] == 2 || params[1] == 0)
                {
                    l[playerid][pMember] = 2, l[playerid][pRang] = 10, SetPlayerColor(playerid, Цвет для вашей фракции);
                    SendClientMessage(playerid,-1,"{0BEB38}Вы назначили себя лидером такой-то фракции");
                }
                if(params[0] == 3)
                {
                    l[playerid][pMember] = 3, l[playerid][pRang] = 10, SetPlayerColor(playerid, COLOR_WHITE);
                    SendClientMessage(playerid,-1,"{0BEB38}Вы назначили себя пидером такой-то фракции");
                }
            }
        }
        return true;
    }
 
Специалист
Авг
18
71
Активный
Немного оптимизации
C++:
CMD:templeader(playerid,params[]){
        if(l[playerid][pAdmInfo] < 1) return SendClientMessage(playerid, -1, "Маленький еще");
        {
            if(sscanf(params, "d", params[0]))
                    return SendClientMessage(playerid, -1, "Используй /templeader [id организации]");

            if(params[0] > 3 || params[0] < 0)
                    return SendClientMessage(playerid, -1, "Неверный id организации.");

            switch(params[0]){

                    case 0:
                    {
                        l[playerid][pMember] = 0, l[playerid][pRang] = 0,  SetPlayerColor(playerid, 0xE92727FF);
                        SendClientMessage(playerid , 0x0BEBC5AA, "Временная лидерка снята, вы снова лох");
                    }
                    case 1:
                    {
                        l[playerid][pMember] = 1, l[playerid][pRang] = 10, SetPlayerColor(playerid, 0xE92727FF);
                        SendClientMessage(playerid,-1,"{0BEB38}Вы назначили себя лидером крутой фракции");
                    }
                    case 2:
                    {
                        l[playerid][pMember] = 2, l[playerid][pRang] = 10, SetPlayerColor(playerid, 0xE92727FF);
                        SendClientMessage(playerid,-1,"{0BEB38}Вы назначили себя лидером такой-то фракции");
                    }
                    case 3:
                    {
                        l[playerid][pMember] = 3, l[playerid][pRang] = 10, SetPlayerColor(playerid, COLOR_WHITE);
                        SendClientMessage(playerid,-1,"{0BEB38}Вы назначили себя лидером такой-то фракции");
                    }
                }
        }
        return true;
}
 
Июл
13
171
Пользователь
Немного оптимизации
C++:
CMD:templeader(playerid,params[]){
        if(l[playerid][pAdmInfo] < 1) return SendClientMessage(playerid, -1, "Маленький еще");
        {
            if(sscanf(params, "d", params[0]))
                    return SendClientMessage(playerid, -1, "Используй /templeader [id организации]");

            if(params[0] > 3 || params[0] < 0)
                    return SendClientMessage(playerid, -1, "Неверный id организации.");

            switch(params[0]){

                    case 0:
                    {
                        l[playerid][pMember] = 0, l[playerid][pRang] = 0,  SetPlayerColor(playerid, 0xE92727FF);
                        SendClientMessage(playerid , 0x0BEBC5AA, "Временная лидерка снята, вы снова лох");
                    }
                    case 1:
                    {
                        l[playerid][pMember] = 1, l[playerid][pRang] = 10, SetPlayerColor(playerid, 0xE92727FF);
                        SendClientMessage(playerid,-1,"{0BEB38}Вы назначили себя лидером крутой фракции");
                    }
                    case 2:
                    {
                        l[playerid][pMember] = 2, l[playerid][pRang] = 10, SetPlayerColor(playerid, 0xE92727FF);
                        SendClientMessage(playerid,-1,"{0BEB38}Вы назначили себя лидером такой-то фракции");
                    }
                    case 3:
                    {
                        l[playerid][pMember] = 3, l[playerid][pRang] = 10, SetPlayerColor(playerid, COLOR_WHITE);
                        SendClientMessage(playerid,-1,"{0BEB38}Вы назначили себя лидером такой-то фракции");
                    }
                }
        }
        return true;
}
Думаю так будет лучше
Код:
CMD:templeader(playerid, params[]){
    if(PlayerInfo[playerid][pAdmin] < 8) return SendClientMessage(playerid, -1,"[Error]Не достаточно прав."); // уровень админки
    if(sscanf(params,"uii",params[0],params[1],params[2])) return SendClientMessage(playerid, -1,"[Example]/templeader [id] [team] [rank]");//params 0(giveplayerid) 1(frac) 2(rank)
    PlayerInfo[params[0]][pMember] = params[1];
    PlayerInfo[params[0]][pRank] = params[2];
    return true;
}
 
Последнее редактирование:
𝚖𝚎𝚖𝚎𝚗𝚝𝚘 𝚖𝚘𝚛𝚒.
Мар
1,133
11,510
Команда форума
Администратор
@PawnPuls, для кого-то может быть не удобно выдавать временную лидерку подобным образом. Предложу свой вариант.

C++:
CMD:templeader(playerid,params[]){
    if(l[playerid][pAdmInfo] < 1)
        return SendClientMessage(playerid, -1, "Маленький еще"); //проверка на админ. права
    if(sscanf(params, "d", params[0]))
        return SendClientMessage(playerid, -1, "Используй /templeader [id организации]");
    if(params[0] > 3 || params[0] < 0)
        return SendClientMessage(playerid, -1, "Неверный id организации."); //проверка на валидность ID фракции
    
    if(!params[0]) {
        l[playerid][pMember] = 0, l[playerid][pRang] = 0, SetPlayerColor(playerid, 0xE92727FF);
        SendClientMessage(playerid , 0x0BEBC5AA, "Временная лидерка снята, вы снова лох");
    }
    else {
        l[playerid][pMember] = params[0], l[playerid][pRang] = 10, SetPlayerColor(playerid, 0xE92727FF);
        SendClientMessage(playerid,-1,"{0BEB38}Вы назначили себя лидером крутой фракции");
    }
    return true;
}
 
Специалист
Авг
18
71
Активный
Может тоже тему создать?)
Думаю так будет лучше
Код:
CMD:templeader(playerid, params[]){
    if(PlayerInfo[playerid][pAdmin] < 8) return SendClientMessage(playerid, -1,"[Error]Не достаточно прав."); // уровень админки
    if(sscanf(params,"uii",params[0],params[1],params[2])) return SendClientMessage(playerid, -1,"[Example]/templeader [id] [team] [rank]");// 
    PlayerInfo[params[0]][pMember] = params[1];
    PlayerInfo[params[0]][pRank] = params[2];
    return true;
}
Зачем добавлять ид игрока, если команда предназначена для вступления администратора во фракцию? По факту совершенно другое назначение и отдельная команда. Если на то пошло то тогда сделаем так. Допустим у нас несколько фракций с разным количеством рангов, а так как название команды говорит само за себя( что должнa выдаваться лидерка)
C++:
CMD:templeaderplayer(playerid, params[]){

    if(l[playerid][pAdmInfo] < 1) return SendClientMessage(playerid, -1,"[Error]Не достаточно прав."); // уровень админки
    new LeaderRank;
    if(sscanf(params,"uii",params[0],params[1])) return SendClientMessage(playerid, -1,"[Example]/templeaderplayer [id] [team]");//params 0(giveplayerid) 1(frac) 2(rank)
    switch(params[1]){
        case 1: LeaderRank = 10;
        case 2: LeaderRank = 8;
        case 3: LeaderRank = 15;
        case 4: LeaderRank = 4;
        case 5..10: LeaderRank = 7;
    }
    l[params[0]][pMember] = params[1], l[params[0]][pRang] = LeaderRank;
    SendClientMessage(params[0],-1,"Вас назначили на пост временного лидера");
    return true;
}
 
Окт
2
0
Пользователь
C++:
CMD:templeaderplayer(playerid, params[]){

if(l[playerid][pAdmInfo] < 1) return SendClientMessage(playerid, -1,"[Error]Не достаточно прав."); // уровень админки
new LeaderRank;
if(sscanf(params,"uii",params[0],params[1])) return SendClientMessage(playerid, -1,"[Example]/templeaderplayer [id] [team]");//params 0(giveplayerid) 1(frac) 2(rank)
switch(params[1]){
case 1: LeaderRank = 10;
case 2: LeaderRank = 8;
case 3: LeaderRank = 15;
case 4: LeaderRank = 4;
case 5..10: LeaderRank = 7;
}
l[params[0]][pMember] = params[1], l[params[0]][pRang] = LeaderRank;
SendClientMessage(params[0],-1,"Вас назначили на пост временного лидера");
return true;
}
1728807080861.png
 
Сверху