[Ajuda] MaxPing bugado,cmd
#1

Olб eu fiz meu cmd de setar o maximo de ping que o servidor permite ficar conecta...mas ele estб bugado... eu digito o CMD:MaxPing e ele seta o ping definido na define no topo do Gm... Ex: eu digito /maxping 1000 e ele apareзe que setou o ping para 1300 que estб definido no topo do gm como padrгo, e eu testei com /maxping 0 pra eu ser kickado e ele tbm nгo esta setando o ping desejado sгo esses dois bugs que encontrei...nгo sei oque falta mais sei que ta faltando algo no CMD!! se alguem puder ajudar agradeзo desde ja!! VLW

CMD abaixo!!

#define MaxPing 1300

pawn Код:
CMD:maxping(playerid, params[])
{
    if(ContaPlayer[playerid][Admin] < 6)
    return Msg(playerid, COR_ADM, "Voce nao й adm level 6");
    if(sscanf(params,"d", MaxPing)) return SendClientMessage(playerid, Branco, "{00FF00}[TBD] {FFFFFF}/maxping [Quantidade]");
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
    format(String, sizeof(String), "[Administraзгo] O Admin {FF0000}%s setou o Ping Mбximo para {FF0000}%d", pname, MaxPing);
    SendClientMessageToAll(Amarelo, String);
    return 1;
}
Reply
#2

Na linha:
pawn Код:
#define MaxPing 1300
Mude para:
pawn Код:
new MaxPing = 1300;
Que eu saiba nгo й possнvel colocar um valor armazenado de uma variбvel em uma diretiva.

Diretiva define.
Reply
#3

Funcionou na frase agora a frase muda pra quantidade que eu boto no cmd... mas ele n ta setando... pq takei /maxping 0 pra eu ser kickado e nгo fui kickado,oque sera?
Reply
#4

Ai se cria um timer para detectar a cada Minuto o ping dele por exemplo:
pawn Код:
forward VerificarPing(playerid);
public VerificarPing(playerid)
{
    if(GetPlayerPing(playerid) > MaxPing) Kick(playerid);
    return 1;
}

public OnGameModeInit()
{
    SetTimer("VerificarPing", 1000, true);
    return 1;
}
Reply
#5

Isso eu ja tenho no GM!!

pawn Код:
forward PingCheck(playerid);
public PingCheck(playerid)
{
    new string[256];
    new ping = GetPlayerPing(playerid);
    new playrname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playrname, sizeof(playrname));
    if(ping > MaxPing)
    {
        format(string, sizeof(string), "{FF0000}%s {FFFFFF}Foi kikado do servidor. Motivo: (Ping Alto) (Ping: {FF0000}%d  {FFFFFF}| Max Permito: %d)", playrname, ping, MaxPing);
        SendClientMessageToAll(Branco, string);
        Kick(playerid);
    }
}
Reply
#6

Mas estб como timer? se tiver no Comando vocк simplesmente faz isso:

pawn Код:
CMD:maxping(playerid, params[])
{
    new MPing;
    if(ContaPlayer[playerid][Admin] < 6) return Msg(playerid, COR_ADM, "Voce nao й adm level 6");
    if(sscanf(params,"i", MPing)) return SendClientMessage(playerid, Branco, "{00FF00}[TBD] {FFFFFF}/maxping [Quantidade]");
    MaxPing = MPing;
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
    format(String, sizeof(String), "[Administraзгo] O Admin {FF0000}%s setou o Ping Mбximo para {FF0000}%d", pname, MaxPing);
    SendClientMessageToAll(Amarelo, String);
    return 1;
}
Reply
#7

Pronto,Consegui resolver botei o timer...pegou certinho!! Vlw ae cara ajudo muito.
Reply
#8

Nada =) .
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)