[Pedido] /procurados
#1

Oi gente, estou com um problema aqui.
Alguem pode me ajudar a fazer o cуdigo

/procurados
Que abre em dialog, e mostra os nomes dos players e o id na frente quando estiver procurado?

Exemplo.

/procurados
Dai abre um dialogo com os nomes e id dos procurados...
Reply
#2

pawn Код:
CMD:procurados(playerid) {


    new
        pStr[85],
        pStrAux[128],
        Nome[MAX_PLAYER_NAME]
    ;

    static i;

    for ( i = GetMaxPlayers() - 1; i > -1; i--) {


        if (IsPlayerConnected(i) && GetPlayerWantedLevel(i) > 0 ) {


            GetPlayerName(i, Nome, MAX_PLAYER_NAME);
            format(pStr, 85, "ID[%i] Nome:[%s] Nivel de procura [%i]\n", i, Nome, GetPlayerWantedLevel(i) );
            strcat(pStr, pStrAux);



        }



    }

    ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, "Procurados", pStrAux, "Fechar", "");


    return true;
}
Ou


pawn Код:
if (strcmp("/procurados", cmdtext, true, 11) == 0) {

    new
        pStr[85],
        pStrAux[128],
        Nome[MAX_PLAYER_NAME]
    ;

    static i;

    for ( i = GetMaxPlayers() - 1; i > -1; i--) {


        if (IsPlayerConnected(i) && GetPlayerWantedLevel(i) > 0 ) {


            GetPlayerName(i, Nome, MAX_PLAYER_NAME);
            format(pStr, 85, "ID[%i] Nome:[%s] Nivel de procura [%i]\n", i, Nome, GetPlayerWantedLevel(i) );
            strcat(pStr, PstrAux);



        }



    }

    ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, "Procurados", pStrAux, "Fechar", "");


    return true;
}
Reply
#3

Quote:
Originally Posted by Programador_Macabro
Посмотреть сообщение
pawn Код:
CMD:procurados(playerid) {


    new
        pStr[85],
        pStrAux[128],
        Nome[MAX_PLAYER_NAME]
    ;

    static i;

    for ( i = GetMaxPlayers() - 1; i > -1; i--) {


        if (IsPlayerConnected(i) && GetPlayerWantedLevel(i) > 0 ) {


            GetPlayerName(i, Nome, MAX_PLAYER_NAME);
            format(pStr, 85, "ID[%i] Nome:[%s] Nivel de procura [%i]\n", i, Nome, GetPlayerWantedLevel(i) );
            strcat(pStr, pStrAux);



        }



    }

    ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, "Procurados", pStrAux, "Fechar", "");


    return true;
}
Ou


pawn Код:
if (strcmp("/procurados", cmdtext, true, 11) == 0) {

    new
        pStr[85],
        pStrAux[128],
        Nome[MAX_PLAYER_NAME]
    ;

    static i;

    for ( i = GetMaxPlayers(); i > -1; i--) {


        if (IsPlayerConnected(i) && GetPlayerWantedLevel(i) > 0 ) {


            GetPlayerName(i, Nome, MAX_PLAYER_NAME);
            format(pStr, 85, "ID[%i] Nome:[%s] Nivel de procura [%i]\n", i, Nome, GetPlayerWantedLevel(i) );
            strcat(pStr, PstrAux);



        }



    }

    ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, "Procurados", pStrAux, "Fechar", "");


    return true;
}
Seu loop nгo faz o menor sentido...
Reply
#4

Quote:
Originally Posted by Los
Посмотреть сообщение
Seu loop nгo faz o menor sentido...
Tinha esquecido de dar um edit no segundo, mas aponte o motivo de nгo fazer sentido.
Reply
#5

Quote:
Originally Posted by Programador_Macabro
Посмотреть сообщение
Tinha esquecido de dar um edit no segundo, mas aponte o motivo de nгo fazer sentido.
Nгo digo de nгo fazer sentido no sentido de nгo funcionar, mas sim na organizaзгo, fora que seu loop vai ser de trбs para frente.

Segundo o seu loop:

Se meu servidor ter 30 slots entгo 30 - 1 = 29 se 29 for maior que -1 entгo 29 diminui 1 valor.

Sendo que daria para simplificar para:

pawn Код:
for ( new slots = GetMaxPlayers ( ), i; i < slots; i++ )
Se 0 (i) for menor que 30 (slots) entгo 0 aumenta um valor.

Mais simples nгo?
Reply
#6

Quote:
Originally Posted by Los
Посмотреть сообщение
Nгo digo de nгo fazer sentido no sentido de nгo funcionar, mas sim na organizaзгo, fora que seu loop vai ser de trбs para frente.

Segundo o seu loop:

Se meu servidor ter 30 slots entгo 30 - 1 = 29 se 29 for maior que -1 entгo 29 diminui 1 valor.

Sendo que daria para simplificar para:

pawn Код:
for ( new slots = GetMaxPlayers ( ), i; i < slots; i++ )
Se 0 (i) for menor que 30 (slots) entгo 0 aumenta um valor.

Mais simples nгo?
Boatos que um loop de tras para frente й mais rapido, como o Bruno ja falou em um tуpico anterior. Se nгo me engano o paulor ja postou algun cуdigo semelhante, porem nгo vou procurar o post

https://sampforum.blast.hk/showthread.php?tid=365996
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)