View difference between Paste ID: A4Rw0nc2 and rzJzZ9bg
SHOW: | | - or go back to the newest paste.
1
// Topo do script
2
#define MAX_COUNTRY_NAME 64
3
4
public OnPlayerConnect(playerid) {
5
    if(strcmp("127.0.0.1", GetPlayerIPEx(playerid), true) != 0) {
6
	format(STRX, 128, "ip-api.com/json/%s", GetPlayerIPEx(playerid));
7
	HTTP(playerid, HTTP_GET, STRX, "", "HTTP_Connect");
8
    return 1;
9
}
10
11
forward HTTP_Connect(playerid, response_codec, data[]);
12
public HTTP_Connect(playerid, response_codec, data[]) {
13
	if(response_codec != 200) {
14
		SetPVarString(playerid, "Pais", "Desconhecido"), SetPVarString(playerid, "Estado", "Desconhecido"), SetPVarString(playerid, "Cidade", "Desconhecida");
15
		return 1;
16
	}
17
18
   	new string[128], pos;
19
   	if(strfind(data, "Reserved", true) == -1 && strlen(data) >= 15) {
20
		if((pos = strfind(data, "\"country\":")) != -1)
21
		{
22
		    pos += 11;
23
			strmid(string, data, pos, strfind(data, "\"", true, pos));
24
			SetPVarString(playerid, "Pais", string);
25
		}
26
		if((pos = strfind(data, "\"regionName\":")) != -1)
27
		{
28
            pos += 14;
29
			strmid(string, data, pos, strfind(data, "\"", true, pos));
30
			SetPVarString(playerid, "Estado", string);
31
		}
32
		if((pos = strfind(data, "\"city\":")) != -1)
33
		{
34
		    pos += 8;
35
			strmid(string, data, pos, strfind(data, "\"", true, pos));
36
			SetPVarString(playerid, "Cidade", string);
37
		}
38
	}
39
40
	GetPVarString(playerid, "Pais", string, MAX_COUNTRY_NAME);
41
	if(strfind(string, "Brazil", true) == -1 && strfind(string, "Portugal", true) == -1 && strfind(string, "France", true) == -1 &&  strfind(string, "Desconhecido", true) == -1)
42
	{
43
	    	SendClientMessage(playerid, 0xFF0000AA, "A entrada de seu IP não é permitida.");
44
	 		Kick(playerid);
45
	}
46
	return 0;
47
}
48
49
stock GetPlayerCountry(playerid)
50
{
51
	new string[MAX_COUNTRY_NAME];
52
	GetPVarString(playerid, "Pais", string, MAX_COUNTRY_NAME);
53
	return string;
54
}
55
56
stock GetPlayerRegion(playerid)
57
{
58
	new string[MAX_COUNTRY_NAME];
59
	GetPVarString(playerid, "Estado", string, MAX_COUNTRY_NAME);
60
	return string;
61
}
62
stock GetPlayerCountry(playerid)
63
{
64
	new string[MAX_COUNTRY_NAME];
65
	GetPVarString(playerid, "Pais", string, MAX_COUNTRY_NAME);
66
	return string;
67
}