SA-MP Forums Archive
[Pedido] Comando para verificar fakes - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Pedido] Comando para verificar fakes (/showthread.php?tid=490840)



Comando para verificar fakes - iHarzard - 28.01.2014

Estou precisando de um comando que verifique fakes.

Fiz algo como isto, mas nгo resultou o esperado:
pawn Код:
CMD:fakes(playerid)
{
    new NumeroDeFakes;
    for(new i = 0; i <= MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(PlayerInfo[i][Logado] == true)
            {
                if(!strcmp(GetIp(i), GetIp(i)))
                {
                    new string[80];
                    format(string, sizeof string, "Fake %s [IP: %s]", Nome(i), GetIp(i));
                    SendClientMessage(playerid, -1, string);
                    NumeroDeFakes++;
                }
            }
        }
    }
    if(NumeroDeFakes == 0) SendClientMessage(playerid, -1,"Nгo hб fakes no jogo.");
    return 1;
}



Re: Comando para verificar fakes - Don_Speed - 28.01.2014

Joga uma printf no GetIp para ver se ta igual .


Re: Comando para verificar fakes - Lucas_Pawno - 28.01.2014

Eu fiz uma funзao parecida com essa hб um tempo atrбs.

pawn Код:
stock PlayerIP(playerid)
{
    new player[16]; GetPlayerIp(playerid,player,sizeof(player)); return player;
}
stock Boot(playerid)
{
    new IP,VaiLevarDisconnect[Maximo_Players];

    for(new i; i<Maximo_Players; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(strcmp(PlayerIp(playerid),PlayerIp(i),true) == 0)
            {
                IP++;
                VaiLevarDisconnect[i] = 1;
            }
        }
    }
    if(IP >= 5)
    {
        for(new i; i<Maximo_Players; i++)
        {
            if(IsPlayerConnected(i))
            {
                if(VaiLevarDisconnect[i] == 1)
                {
                    Kick(i);
                }
            }
        }
    }
    return 1;
}

// Exemplo de uso

public OnPlayerConnect(playerid)
{
    Boot(playerid);
}
Obs: Da maneira que vocк fez, tem como bugar, pois e se as pessoas estiverem em uma Lan House ou em uma rede compartilhada ?

Serб possнvel que nao haja fakes e os sistema os acuse! :/