Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Узнаем город, страну и регион игрока

Статус
В этой теме нельзя размещать новые ответы.

Maks_Fender

Компетентный
Добрый день! :)
Сегодня покажу мануал, как узнать город, страну и регион игрока (онлайн).​
Ко всем #define
PHP:
#define publics:%0(%1)	forward %0(%1); public %0(%1)
В enum pInfo
PHP:
pCountry[32],
	pRegion[32],
	pCity[32],
Куда-нибудь между пабликами:
PHP:
publics: HTTP_OnLookupResponse(index, response, data[])
{
    if(response == 200)
    {
        new country[32], region[32], city[32],pos;
        if((pos = sscanf(data, "\"country_name\":")) != -1) { pos = pos + 16; strmid(country, data, pos, strfind(data, "\"", true, pos), 32); }
        if((pos = sscanf(data, "\"region_name\":")) != -1) { pos = pos + 15; strmid(region, data, pos, strfind(data, "\"", true, pos), 32); }
        if((pos = sscanf(data, "\"city_name\":")) != -1) { pos = pos + 13; strmid(city, data, pos,strfind(data, "\"", true, pos), 32); }
        if(pos != -1) { format(PlayerInfo[index][pCountry],32,country); format(PlayerInfo[index][pCity],32,region); format(PlayerInfo[index][pRegion],32,city); }
	}
	else printf("City: %s[%i] | %i | %s",GN(index),index, response, data);
    return 1;
}
В public OnPlayerLogin
PHP:
new ip[24]; GetPlayerIp(playerid,ip,sizeof(ip)); new string[60]: //если есть string в начале паблика, то объявлять здесь ее не нужно.
	format(string,60,"www.realip.info/api/p/geoip.php?ip=%s",ip);
	HTTP(playerid, HTTP_POST,stringer, "", "HTTP_OnLookupResponse");
Создадим команду, которая будет проверять всё это.
PHP:
CMD:getinfo(playerid, params[])
{
    if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, 0xFFFFFFFF, "- Введите: /getinfo [id]");
    format(string, sizeof(string), "Страна: %s, Город: %s, Регион: %s",PlayerInfo[giveplayerid][pCountry],PlayerInfo[giveplayerid][pCity],PlayerInfo[giveplayerid][pRegion]);
    SendClientMessage(playerid, 0xFFFF00AA, string);
    return true;
}
Вот и всё :)​
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу