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

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 7 из 7

Тема: GeoInfo

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

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

    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,282
    Репутация:
    417 ±
    Обновил.

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

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

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

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

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

    Steve Pavlina

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

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

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

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

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

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

 

 

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

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

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

Ваши права

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