[Ajuda] BUG importante ao dar sub-lнder o sub-lнder vira lнder ?
#1

Olб pessoal da fуrum samp ...

Venho aqui pedir ajuda de vocкs por que antes de pedir ajuda a todos vocкs da fуrum samp fiquei bastante tempo muito tempo mesmo tentando resolver este bug , mais nгo obtive resposta pois nгo consegui fazer entгo venha atravйs deste tуpico de ajuda pedir ajuda a vocкs !

Entгo й o seguinte o BUG й assim quando vocк (Lнder) promove um membro a Sub-Lнder o mesmo se torna " Lнder " na tabela da lista do /orgs o tal Sub-Lнder vira o Lнder e no ./sublideres ele ta de Sub-Lнder e no InfoOrg ele (Sub-Lнder) estб de lнder ... em fim jб tentei solocionar o BUG e tambйm ele flooda quando da /promover [ID] [100/200] " Vocк foi promvovido pelo lнder " e tambйm na InfoOrg nгo fica o Sub-Lнder ... nгo consegui resovler o bug por favor me AJUDEM !

Cуdigo da " /promover "

pawn Код:
if(strcmp(cmd, "/promover", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "Use:  /Promover [id] [Cargos 1 a 5] OBS:[Cargos 100 e 200 sгo Sub-Lideres]");
                return true;
            }
            new para1;
            new level;
            para1 = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            level = strval(tmp);
            if(level != 1 && level != 2 && level != 3 && level != 4 && level != 5 && level != 100 && level != 200)
            {
                SendClientMessage(playerid, COLOR_GREY, "   [Cargos 1 a 5] OBS:Cargos 100 e 200 sгo Sub-Lideres");
                return true;
            }
            if (PlayerInfo[playerid][pLider] > 0)
            {
                if(IsPlayerConnected(para1))
                {
                    for(new i = 0; i < MAX_PLAYERS; i++)
                    {
                        if(PlayerInfo[para1][pMembro] == PlayerInfo[playerid][pLider])
                        {
                            if(para1 != INVALID_PLAYER_ID)
                            {
                                GetPlayerName(para1, giveplayer, sizeof(giveplayer));
                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                PlayerInfo[para1][pCargo] = level;
                                format(string, sizeof(string), "   Vocк foi promovido pelo lнder %s", PlayerName(playerid));
                                SendClientMessage(para1, COLOR_LIGHTBLUE, string);
                                format(string, sizeof(string), "   Vocк promoveu %s a cargo %d.", giveplayer,level);
                                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                new org = PlayerInfo[playerid][pLider];
                                if(level == 100)
                                {
                                    if(strcmp(InfoOrg[org][SubLider],"Ninguem",true)==0)
                                    {
                                        DemitirInfoOrg(giveplayer);
                                        ConviteInfoOrg(giveplayer, org, 100);

                                    }
                                    else
                                    {
                                        strmid(string, InfoOrg[org][SubLider], 0, strlen(InfoOrg[org][SubLider]), 255);
                                        DemitirInfoOrg(giveplayer);
                                        DemitirInfoOrg(InfoOrg[org][SubLider]);
                                        ConviteInfoOrg(string, org, 4);
                                        ConviteInfoOrg(giveplayer, org, 100);
                                    }
                                    return true;
                                }
                                else if(level == 200)
                                {
                                    if(strcmp(InfoOrg[org][SubLider2],"Ninguem",true)==0)
                                    {
                                        DemitirInfoOrg(giveplayer);
                                        DemitirInfoOrg(giveplayer);
                                        ConviteInfoOrg(giveplayer, org, 200);

                                    }
                                    else
                                    {
                                        strmid(string, InfoOrg[org][SubLider2], 0, strlen(InfoOrg[org][SubLider2]), 255);
                                        DemitirInfoOrg(giveplayer);
                                        DemitirInfoOrg(InfoOrg[org][SubLider2]);
                                        ConviteInfoOrg(string, org, 4);
                                        ConviteInfoOrg(giveplayer, org, 200);
                                    }
                                    return true;
                                }
                                if(strcmp(InfoOrg[org][SubLider],giveplayer,true)==0)
                                {
                                    if(level < 100)
                                    {
                                        DemitirInfoOrg(giveplayer);
                                        ConviteInfoOrg(giveplayer, org, level);
                                    }
                                    return true;
                                }
                            }
                            if(PlayerInfo[para1][pMembro] != PlayerInfo[playerid][pLider])
                            {
                                SendClientMessage(playerid, COLOR_GREY, "Nгo pode promover quem nгo й da sua org.");
                                return true;
                            }
                        }
                    }
                }//not connected
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo й um lнder !");
            }
        }
        return true;
Espero que me ajudem pois estou desesperado com isso tou tentando resolver este BUG e nгo to conseguindo HELP-ME !

Aguardando alguйm para me ajudar ...

OBSERVAЗГO : Sim estou tentando resolver mais nгo consigo .
Reply
#2

Cara, usa sscanf e ZCMD com os comandos.
Reply
#3

Alguйm para ajudar
Reply
#4

Quote:
Originally Posted by JkS
Посмотреть сообщение
Cara, usa sscanf e ZCMD com os comandos.
Porque em todo tуpico vocк comenta isso? Sabe qual й a funзгo do sscanf pelo menos?

@Topic.

Acho que vocк deve tar usando um GameMode com base BML, e em algumas checagens ele checa se o level for maior de 5 ele й lider (o level de lider do BML й 6), e vocк tб usando level 100 ou 200 pra sub lider, que obviamente sгo maiores que 5, e se for maior que 5 ele se dб como lider ..
Reply
#5

@DannielCooper , entгo como resolver ?

@Tуpic

Aguardando respostas de uma alma gentil para me ajudar
Reply
#6

Analisei o comando de forma superficial, mas creio que o problema se encontre no salvamento.

Dicas:
1 - Se um player digitou um comando, й lуgico que ele estб conectado. Entгo por que vocк usa
pawn Код:
if(IsPlayerConnected(playerid))
??

2 - Use um processador de comandos junto com sscanf. Isto vai facilitar e muito a sua vida, alйm de ser MUITO mais otimizado do que usar um comparador de strings.
De uma olhada no icmd
Reply
#7

Artista vocк poderia me ajudar resolver =/ ?
Reply
#8

Nгo tem necessidade de criar dois tуpicos... Ninguйm aqui tem a obrigaзгo de te ajudar, entгo vocк deveria se esforзar mais para entender esses cуdigos grandes do seu GM, porque existem pessoas aqui na board que realmente querem ajudar, de fato, mas muitos acabam desistindo de escrever em tуpicos como esse, ou entгo atй escrevem idiotices como a do amigo ali de cima, pelo fato do seu cуdigo ser extremamente grande e por dar a entender que vocк й sу mais um que dб ctrl+c / ctrl+v.

Sem ofensas, nгo me entenda como alguйm ignorante, estou apenas relatando uma das regras e algumas dicas que eu notei ao longo da minha estadia aqui na board.

Eu mesmo por exemplo, adoraria te ajudar, mas nгo vou me desgastar lendo esse cуdigo grande para entender um problema que vocк talvez nгo tenha nem debugado para tentar encontrar soluзхes.

Espero que vocк encontre a soluзгo, ou que alguйm aqui te ajude. Mas caso isso nгo aconteзa, estarei disponнvel para ajudar, se vocк se interessar em debugar o cуdigo e tentar ao menos entender aonde o erro acontece.

Abraзos.
Reply
#9

Willian , jб esperava respostas como a sua de muitos ... infelizmente poucos tem a bondade de ajudar o fato da vida й assim uma pessoa quando й novata(o) precisa de ajuda as vezes no passado ninguйm ajudou agora no futuro que ela entende "100%" ela quer dar uma de " fodinha " e nгo ajudar ninguйm pelo fato de ela hoje saber e no passado ninguйm ter ajudado ... Infelizmente й assim mais sempre estou olhando o tуpico talvez alguйm possa me ajudar ou atй mesmo vocк mudar de ideia e me ajudar ou dar dicas de como resolver em fim ... muito obrigado pela resposta !
Reply
#10

Quote:
Originally Posted by ScripterInicianteBR
Посмотреть сообщение
@DannielCooper , entгo como resolver ?
Vocк tem problema? Se ler e pensar sobre o que eu falei tenho certeza que vai resolver. Pensar 1 minuto faz bem. Nгo comento mais nesse tуpico.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)