Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 7 из 7

Тема: GeoInfo

  1. #1
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±

    GeoInfo

    Начнём.
     В начало мода
    PHP код:
    #include a_http 

     В конец мода.
    PHP код:
    forward Geo_OnPlayerConnect(playerid);
    public 
    Geo_OnPlayerConnect(playerid)
    {
        new 
    string[128],ip[16];
        
    GetPlayerIp(playerid,ip,sizeof(ip));
        
    format(string,128,"speed-tester.info/ip_location.php?ip=%s",ip);
        
    HTTP(playerid,HTTP_GET,string,"","GeoResponse");
    }
    forward GeoResponse(indexresponse_codedata[]);    
    public 
    GeoResponse(indexresponse_codedata[])
    {
        if(
    response_code == 200)
        {
            new 
    ep 0sp epstringNum 0;
            do
            {
                
    ep strfind(data"\n"falsesp);
                if(-
    ep strlen(data))
                {
                    
    stringNum++;
                    if(
    stringNum == 27)
                    {
                        new 
    temp[128],PlayerCountry[64];
                        
    strmid(temp,data,sp,ep);
                        
    strmid(PlayerCountry,temp,20,strfind(temp,"<br>",true)-4);
                        
    SetPVarString(index,"Country",PlayerCountry);
                    }
                    if(
    stringNum == 28)
                    {
                        new 
    temp[128],PlayerCity[64];
                        
    strmid(temp,data,sp,ep);
                        
    strmid(PlayerCity,temp,62,strfind(temp,"\";",true)-2);
                        
    SetPVarString(index,"City",PlayerCity);
                    }
                }
                
    sp ep+1;
            }
            while(-
    ep strlen(data));
        }
        return;
    }
    stock GetPlayerCountry(playerid,country[])
    {
        
    GetPVarString(playerid,"Country",country,64);
        return 
    country;
    }
    stock GetPlayerCity(playerid,city[])
    {
        
    GetPVarString(playerid,"City",city,64);
        return 
    city;



     Как использовать?

     В OnPlayerConnect
    PHP код:
    Geo_OnPlayerConnect(playerid); 

     Команда
    PHP код:
        CMD:GEO(playeridparams[])//DC_CMD
        
    {
            new 
    gorod[64],strana[64],provider[64];
            
    GetPlayerCity(playerid,gorod);
            
    GetPlayerCountry(playerid,strana);
            
    GetPlayerProvider(playerid,provider)
            static const 
    fmt_str[] = "Ваше местоположение: Страна [%s] Город [%s] Провайдер[%s]";
            const 
    fmt_size sizeof(fmt_str)-2+30-2+30-2+30;
            new 
    str[fmt_size];
            
    format(str,sizeof(str),fmt_str,strana,gorod,provider);
            
    SendClientMessage(playerid,-1,str);
            return 
    1;
        } 


    Запас: http://www.ipinf.ru/uznat-gorod-po-ip.php?ip=
    Автор: Неизвестно
    Последний раз редактировалось Salvacore; 30.04.2014 в 17:20.

  2. #2
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±
    Обновил.

  3. #3
    Аватар для Caypen
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.03.2014
    Сообщений
    90
    Репутация:
    16 ±
    Город узнает с шансом 70 процентов, у меня например не один гео не может узнать правильный город, а провайдер вообще у меня берется самый первичный а вовсе не поставщик.
    Захожу на pro-pawn.ru - чувствую себя обычным пользователем
    Захожу на gawno-info.ru - чувствую себя самым великим гением
    (С) Caypen

  4. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Да что за срач вы тут устроили то? Проблема не в данном коде, а в серверах, через которые вы пытаетесь узнать местоположение игрока. Если в базе данных того сервиса, что вы используете, нет деревни "Урюпино" - он её и не покажет, а покажет близлежащий населённый пункт, где найдутся сервера провайдера игрока.
    Это объяснение сухое и неточное, но смысл ясен. Кому интересно, тот сам может погуглить и почитать о проблемах подобных сервисов.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  5. #5
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    377
    Репутация:
    146 ±
    почистил

  6. #6
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    377
    Репутация:
    146 ±
    cleared

  7. #7
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±
    /b/ + не работает.
    Closed.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •