12/05/2022 11:47 
(Esta mensagem foi modificada pela última vez a: 06/07/2024 00:32 por White_Blue.)
	
	
	
		Script para detecção de players com IP estrangeiro( ANTI-VPN )
Lembrando que só funcionará caso a gamemode estiver conectada em uma host.
Código:
	
	
	
Lembrando que só funcionará caso a gamemode estiver conectada em uma host.
Código:
Código PHP:
// Topo do script
#define MAX_COUNTRY_NAME 64
public OnPlayerConnect(playerid) {
    new string[128], IP[16+1];
    GetPlayerIp(playerid, IP, sizeof(IP));  
    if(strcmp("127.0.0.1", GetPlayerIPEx(playerid), true) != 0) {
    format(string, 128, "ip-api.com/json/%s", IP);
    HTTP(playerid, HTTP_GET, string, "", "HTTP_Connect");
    }
    return 1;
}
forward HTTP_Connect(playerid, response_codec, data[]);
public HTTP_Connect(playerid, response_codec, data[]) {
    if(response_codec != 200) {
        SetPVarString(playerid, "Pais", "Desconhecido"), SetPVarString(playerid, "Estado", "Desconhecido"), SetPVarString(playerid, "Cidade", "Desconhecida");
        return 1;
    }
       new string[128], pos;
       if(strfind(data, "Reserved", true) == -1 && strlen(data) >= 15) {
        if((pos = strfind(data, "\"country\":")) != -1) {
                pos += 11;
            strmid(string, data, pos, strfind(data, "\"", true, pos));
            SetPVarString(playerid, "Pais", string);
        }
        if((pos = strfind(data, "\"regionName\":")) != -1) {
                        pos += 14;
            strmid(string, data, pos, strfind(data, "\"", true, pos));
            SetPVarString(playerid, "Estado", string);
        }
        if((pos = strfind(data, "\"city\":")) != -1) {
                pos += 8;
            strmid(string, data, pos, strfind(data, "\"", true, pos));
            SetPVarString(playerid, "Cidade", string);
        }
    }
    GetPVarString(playerid, "Pais", string, MAX_COUNTRY_NAME);
    if(strfind(string, "Brazil", true) == -1 && strfind(string, "Portugal", true) == -1 && strfind(string, "Desconhecido", true) == -1) {
            SendClientMessage(playerid, 0xFF0000AA, "A entrada de seu IP não é permitida.");
            Kick(playerid);
    }
    return 0;
}
stock GetPlayerCountry(playerid) {
    new string[MAX_COUNTRY_NAME];
    GetPVarString(playerid, "Pais", string, MAX_COUNTRY_NAME);
    return string;
}
stock GetPlayerRegion(playerid) {
    new string[MAX_COUNTRY_NAME];
    GetPVarString(playerid, "Estado", string, MAX_COUNTRY_NAME);
    return string;
}
stock GetPlayerCity(playerid) {
    new string[MAX_COUNTRY_NAME];
        GetPVarString(playerid, "Cidade", string, MAX_COUNTRY_NAME);
    return string;
} 
Não estou disponível para realizar serviços relacionados ao SA-MP e não costumo responder a mensagens privadas, a menos que estejam relacionadas à moderação do fórum.

	   
	
	![[Imagem: unknown.png]](https://cdn.discordapp.com/attachments/1004126589614833765/1035689655301050410/unknown.png)
 Seu trouxa favorito 2![[Imagem: 3ApU03B.png]](https://i.imgur.com/3ApU03B.png)