[Pedido] Sistema de /liderar
#1

Oi gente :3


Eu queria pedir pra alguem que possa fazer pra mim um sisteminha de /liderar


Eu quero assim: O player digita /liderar [ID da org] e vira lider, mas para isso, o player precisa ser do level 10

Sу isso.


Caso queiram info adicional sobre a minha gamemode й sу comentar

Se alguem tiver uma gamemode gratis com esse sistema me mande por favor
Reply
#2

Envie o cуdigo /darlider de seu provбvel gamemode editбvel.
Reply
#3

pawn Код:
if(strcmp(cmd, "/lider", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /lider [id] [Numero(1-24)]");
                return 1;
            }
            new para1;
            new level;
            para1 = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            level = strval(tmp);
            if(level == 0) { SendClientMessage(playerid, COLOR_GREY, "Para tirar o lider de uma organizaзгo vocк deve usar /limparlider"); return 1; }
            if(level > 24 || level < 1) { SendClientMessage(playerid, COLOR_GREY, "Empregos de 1 a 24"); return 1; }
            if (PlayerInfo[playerid][pAdmin] >= 1337)
            {
                if(admtrampando[playerid] < 1 && PlayerInfo[playerid][pAdmin] != 1342 && PlayerInfo[playerid][pAdmin] != 1341)
                {
                    SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб trabalhando! (/trabalhar)");
                    return 1;
                }
                if(PlayerInfo[para1][pLider] != 0 || PlayerInfo[para1][pMembro] != 0)
                {
                    SendClientMessage(playerid, COLOR_GRAD1, "   Este player jб participa de uma organizaзгo!");
                    return 1;
                }
                if(IsPlayerConnected(para1))
                {
                    if(para1 != INVALID_PLAYER_ID)
                    {
                        if(strcmp(InfoOrg[level][Lider],"Ninguem",true)==0)
                        {
                            ConviteInfoOrg(PlayerName(para1), level, 6);
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GRAD2, "Jб tem lнder nessa ORG, use /limparlider antes de colocar outro lider");
                            return 1;
                        }
                        if(level == 1) { PlayerInfo[para1][pSkin] = 283; }//Policia Militar
                        else if(level == 2) { PlayerInfo[para1][pSkin] = 290; }//B.O.P.E
                        else if(level == 3) { PlayerInfo[para1][pSkin] = 287; }//Exйrcito
                        else if(level == 4) { PlayerInfo[para1][pSkin] = 70; }//Fire/Ambulance
                        else if(level == 5) { PlayerInfo[para1][pSkin] = 115; }//Varrios Los Aztecas
                        else if(level == 6) { PlayerInfo[para1][pSkin] = 249; }//Taliban
                        else if(level == 7) { PlayerInfo[para1][pSkin] = 147; }//Prefeito
                        else if(level == 8) { PlayerInfo[para1][pSkin] = 294; }//Hitmans
                        else if(level == 9) { PlayerInfo[para1][pSkin] = 227; }//Repуrters
                        else if(level == 10) { PlayerInfo[para1][pSkin] = 61; }//Taxistas
                        else if(level == 11) { PlayerInfo[para1][pSkin] = 295; }//Policia Federal
                        else if(level == 12) { PlayerInfo[para1][pSkin] = 113; }//Mбfia Cosa Nostra
                        else if(level == 13) { PlayerInfo[para1][pSkin] = 120; }//Mбfia Yakuza
                        else if(level == 14) { PlayerInfo[para1][pSkin] = 270; }//Groove
                        else if(level == 15) { PlayerInfo[para1][pSkin] = 123; }//ALQaeda
                        else if(level == 16) { PlayerInfo[para1][pSkin] = 186; }//Policia Civil
                        else if(level == 17) { PlayerInfo[para1][pSkin] = 104; }//Ballas
                        else if(level == 18) { PlayerInfo[para1][pSkin] = 108; }//Vagos
                        else if(level == 19) { PlayerInfo[para1][pSkin] = 19; }//CV
                        else if(level == 20) { PlayerInfo[para1][pSkin] = 143; }//PCC
                        else if(level == 21) { PlayerInfo[para1][pSkin] = 100; }//Sons of Anarchy
                        else if(level == 22) { PlayerInfo[para1][pSkin] = 128; }//Mayans
                        else if(level == 23) { PlayerInfo[para1][pSkin] = 288; }//Interpol
                        else if(level == 24) { PlayerInfo[para1][pSkin] = 15; }//Mecanicos
                        GetPlayerName(para1, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        PlayerInfo[para1][pLider] = level;
                        if(admtrampando[playerid] == 1 && admhide[playerid] == 1)
                        {
                            SendClientMessage(para1, COLOR_LIGHTBLUE, "   Vocк foi promovido a lider por algum administrador.");
                        }
                        else
                        {
                            format(string, sizeof(string), "   Vocк foi promovido a lider pelo admin %s", sendername);
                            SendClientMessage(para1, COLOR_LIGHTBLUE, string);
                        }
                        SendClientMessage(para1, COLOR_LIGHTBLUE,"   Promovido Com sucesso !!");
                        format(string, sizeof(string), "   Vocк promoveu %s a Lider.", giveplayer);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        LideresLog(string);
                        MedicBill[para1] = 0;
                        gTeam[para1] = 11;
                        PlayerInfo[para1][pTeam] = 11;
                        PlayerInfo[para1][pCargo] = 6;
                        PlayerInfo[para1][pEmprego] = 0;
                        SetPlayerSkin(para1, PlayerInfo[para1][pSkin]);
                        SetPlayerSpawn(para1);
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   Vocк nгo esta autorizado a usar este comando!");
            }
        }
        return 1;
    }
Reply
#4

Creio estar tudo certo, faz uma cara que nгo mecho com strtok...
pawn Код:
if(strcmp(cmd, "/liderar", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /liderar [Organizaзгo (1-24)]");
                return 1;
            }

            new level;
            level = strval(tmp);
            if(level > 24 || level < 1) return SendClientMessage(playerid, COLOR_GREY, "Empregos de 1 a 24");

            if(PlayerInfo[playerid][pLevel] < 10) return SendClientMessage(playerid, COLOR_GRAD1, "   Vocк nгo possui level 10 para user esse comando!");

            if(PlayerInfo[playerid][pLider] != 0 || PlayerInfo[playerid][pMembro] != 0) return SendClientMessage(playerid, COLOR_GRAD1, "   Vocк jб participa de uma organizaзгo!");

            if(strcmp(InfoOrg[level][Lider],"Ninguem",true)==0) ConviteInfoOrg(PlayerName(para1), level, 6);
            else return SendClientMessage(playerid, COLOR_GRAD2, "Jб tem lнder nessa ORG, escolha outra");

            if(level == 1) { PlayerInfo[playerid][pSkin] = 283; }//Policia Militar
            else if(level == 2) { PlayerInfo[playerid][pSkin] = 290; }//B.O.P.E
            else if(level == 3) { PlayerInfo[playerid][pSkin] = 287; }//Exйrcito
            else if(level == 4) { PlayerInfo[playerid][pSkin] = 70; }//Fire/Ambulance
            else if(level == 5) { PlayerInfo[playerid][pSkin] = 115; }//Varrios Los Aztecas
            else if(level == 6) { PlayerInfo[playerid][pSkin] = 249; }//Taliban
            else if(level == 7) { PlayerInfo[playerid][pSkin] = 147; }//Prefeito
            else if(level == 8) { PlayerInfo[playerid][pSkin] = 294; }//Hitmans
            else if(level == 9) { PlayerInfo[playerid][pSkin] = 227; }//Repуrters
            else if(level == 10) { PlayerInfo[playerid][pSkin] = 61; }//Taxistas
            else if(level == 11) { PlayerInfo[playerid][pSkin] = 295; }//Policia Federal
            else if(level == 12) { PlayerInfo[playerid][pSkin] = 113; }//Mбfia Cosa Nostra
            else if(level == 13) { PlayerInfo[playerid][pSkin] = 120; }//Mбfia Yakuza
            else if(level == 14) { PlayerInfo[playerid][pSkin] = 270; }//Groove
            else if(level == 15) { PlayerInfo[playerid][pSkin] = 123; }//ALQaeda
            else if(level == 16) { PlayerInfo[playerid][pSkin] = 186; }//Policia Civil
            else if(level == 17) { PlayerInfo[playerid][pSkin] = 104; }//Ballas
            else if(level == 18) { PlayerInfo[playerid][pSkin] = 108; }//Vagos
            else if(level == 19) { PlayerInfo[playerid][pSkin] = 19; }//CV
            else if(level == 20) { PlayerInfo[playerid][pSkin] = 143; }//PCC
            else if(level == 21) { PlayerInfo[playerid][pSkin] = 100; }//Sons of Anarchy
            else if(level == 22) { PlayerInfo[playerid][pSkin] = 128; }//Mayans
            else if(level == 23) { PlayerInfo[playerid][pSkin] = 288; }//Interpol
            else if(level == 24) { PlayerInfo[playerid][pSkin] = 15; }//Mecanicos

            PlayerInfo[playerid][pLider] = level;

            SendClientMessage(playerid, COLOR_LIGHTBLUE,"   Promovido Com sucesso !!");

            MedicBill[playerid] = 0;
            gTeam[playerid] = 11;
            PlayerInfo[playerid][pTeam] = 11;
            PlayerInfo[playerid][pCargo] = 6;
            PlayerInfo[playerid][pEmprego] = 0;
            SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
            SetPlayerSpawn(playerid);
        }
        return 1;
    }
Reply
#5

Cara eu nгo entendo nada de RPG, tenho que estudar quais variбveis que gerenciam os Lideres das orgs...


Fiz aqui pelo fуrum mesmo;
pawn Код:
if (strcmp(cmd, "/liderar",true) == 0){
    new tmp[256];

    // Verificar se o player tem level maior que 10
    if (PlayerInfo[playerid][pLevel] > 10)
    {
        tmp = strtok(cmdtext, idx);

        if(!strlen(tmp))
        {
            SendClientMessage(playerid, COLOR_GRAD2, "USE: /liderar [Numero(1-24)]");
            return 1;
        }

        // Pega o ID da org
        tmp = strtok(cmdtext, idx);
        new org;
        org = strval(tmp);

        // Demitir Jogador da org antiga
        for(new i = 1; i < sizeof InfoOrg; i++)
        {
            if (i == org)
                DemitirInfoOrg(InfoOrg[i][Lider]);
        }

        // Definir player como Lider da org
        PlayerInfo[playerid][pLider] = org;
        strcat(InfoOrg[org][Lider], PlayerName(playerid));

        SendClientMessage(playerid, -1, "Agora vocк й lider da org!");
    }
    return 1;
}
Reply
#6

Muito obrigado, vou testar os dois, creio que algum vai servir



@Edit

Bruno, o meu pawn compiler deu erro nessa linha aqui:

pawn Код:
if(strcmp(InfoOrg[level][Lider],"Ninguem",true)==0) ConviteInfoOrg(PlayerName(para1), level, 6);
Reply
#7

Informe o erro.
Reply
#8

Quote:
Originally Posted by ViniBorn
Посмотреть сообщение
Informe o erro.
A variбvel para1 nгo definida...
Reply
#9

muda a variavel para1 para playerid e testa
Reply
#10

vou tentar
Reply


Forum Jump:


Users browsing this thread: 6 Guest(s)