Другое [VIP] Вывод VIP игроков на сайт 0.2

Список действующих ViP игроков ваших серверов

  1. _Dimk_O_

    _Dimk_O_

    Сообщения:
    13
    Симпатии:
    4
    Пользователь _Dimk_O_ разместил новый ресурс:

    [VIP] Вывод VIP игроков на сайт - Список действующих ViP игроков ваших серверов

    Узнать больше об этом ресурсе...
     
    GeniusIRU и White Wolf нравится это.
  2. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.977
    При входе игрока на сервер его ник в базе обновляется
     
  3. _Dimk_O_

    _Dimk_O_

    Сообщения:
    13
    Симпатии:
    4
    Честно говоря почему-то не замечал...

    Ну если меняется, то жду предложений, чего можно добавить сюда =)
     
  4. September

    September

    Сообщения:
    1.181
    Симпатии:
    160
    в конфиге есть переменная, обновлять ник или нет.
     
  5. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.977
    @September, @_Dimk_O_, по дефолту стоить обновлять.
    @_Dimk_O_, Как вариант чтобы ник был ссылкой на профиль стим (можно было вкл/выкл внутри скрипта), вывод вип-группы, стима
     
  6. September

    September

    Сообщения:
    1.181
    Симпатии:
    160
    Я для себя свой скрипт накидал, и хотел предложить добавить в бд таблицу когда последний раз заходил на сервер вип игрок.
     
  7. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.977
    @September, я про это думал когда делал структуру, но посчитал это не нужной инфой. Можно написать плагин, чтобы вип уже не трогать
     
    AS TRO нравится это.
  8. September

    September

    Сообщения:
    1.181
    Симпатии:
    160
    Да нет, вполне годная вещь)
     
  9. _Dimk_O_

    _Dimk_O_

    Сообщения:
    13
    Симпатии:
    4
    @R1KO можно выводить не только ссылку на профиль стим
    Там получаемой инфы более чем только ссылка
    Но нужно будет делать кешироаание хотяб на 30 сек
    Инфа о профилях долго грузится

    Приеду домой, покажу что можно вывести
     
  10. White Wolf

    White Wolf [] (int _n) -> double { return (_n % 2) == 0;}); Супер-модератор

    Сообщения:
    1.186
    Симпатии:
    411
    @_Dimk_O_, если игроки стим, то если имеешь steamid, с помощью steam web api, можно что угодно выводить.
     
  11. _Dimk_O_

    _Dimk_O_

    Сообщения:
    13
    Симпатии:
    4
    Код:
    "steamid": "76561198038368035",
    "communityvisibilitystate": 3,
    "profilestate": 1,
    "personaname": "_Dimk_O_",
    "lastlogoff": 1468457313,
    "commentpermission": 1,
    "profileurl": "http://steamcommunity.com/id/_Dimk_O_/",
    "avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/4d/4d5db7855422c009be76a88255ef8dde99a767e8.jpg",
    "avatarmedium": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/4d/4d5db7855422c009be76a88255ef8dde99a767e8_medium.jpg",
    "avatarfull": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/4d/4d5db7855422c009be76a88255ef8dde99a767e8_full.jpg",
    "personastate": 1,
    "realname": "Димка",
    "primaryclanid": "103582791434049975",
    "timecreated": 1298132073,
    "personastateflags": 0
    Это как минимум
    Но повторюсь что инфа грузится долго
    Без кеширования полученной инфы лучше не делать
     
  12. White Wolf

    White Wolf [] (int _n) -> double { return (_n % 2) == 0;}); Супер-модератор

    Сообщения:
    1.186
    Симпатии:
    411
    @_Dimk_O_, в каком плане кеширование?
     
  13. _Dimk_O_

    _Dimk_O_

    Сообщения:
    13
    Симпатии:
    4
    @White Wolf записывать полученную от серверов стима инфу в файлик и последующие N минут или секунд читать эту инфу из файла, дабы скрипт работал быстрее
     
  14. Lord FEAR

    Lord FEAR

    Сообщения:
    183
    Симпатии:
    44
    Если не запрашивать аватарку, грузит довольно быстро.
    Данный скрипт не смотрел, но сам пользуюсь такими функциями
    getFriendId($steamId) - передаем STEAM_X:Y:ZZZZZZZZ и получаем нужный для работы steamId
    getSteamAvatar($id) - передаем steamId и получаем аватарку
    getSteamName($id) - передаем steamId и получаем текущий ник игрока
    key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx в место x-ов вставить свой api key
    Код:
    function getFriendId($steamId)
    {
        //Test input steamId for invalid format
    
        //Example SteamID: "STEAM_X:Y:ZZZZZZZZ"
        $gameType = 0; //This is X.  It's either 0 or 1 depending on which game you are playing (CSS, L4D, TF2, etc)
        $authServer = 0; //This is Y.  Some people have a 0, some people have a 1
        $clientId = ''; //This is ZZZZZZZZ.
    
        //Remove the "STEAM_"
        $steamId = str_replace('STEAM_', '' ,$steamId);
    
        //Split steamId into parts
        $parts = explode(':', $steamId);
        $gameType = $parts[0];
        $authServer = $parts[1];
        $clientId = $parts[2];
    
        //Calculate friendId
        $result = bcadd((bcadd('76561197960265728', $authServer)), (bcmul($clientId, '2')));
        return $result;
    }
    
    function getSteamAvatar($id){
        $shit = file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&steamids=$id");
        $json = json_decode($shit);
        return "<img src=\"{$json->response->players[0]->avatarmedium}\">";
    }
    
    function getSteamName($id){
        $shit = file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&steamids=$id");
        $json = json_decode($shit);
        $data = (array) $json->response->players[0];
        $result = $data['personaname'];
        return $result;
    }
    Ссылки дабы показать быстродействие
    с авой
    без
     
    Последнее редактирование: 16 июл 2016
  15. Se7en_RUS

    Se7en_RUS

    Сообщения:
    53
    Симпатии:
    11
    Lord FEAR и September нравится это.
  16. _Dimk_O_

    _Dimk_O_

    Сообщения:
    13
    Симпатии:
    4
    @Lord FEAR А у тебя админы добавляются через плагин випов как отдельные группы?
    Я просто ковыряю сей скрипт не для себя и мне объяснили что там есть не все возможности...к примеру имунитет между админами и т.п. (точно уже не помню)

    Кстати, дабы не плодить функции, можно всю инфу получать одной функцией, а потом выводить её
    PHP:
    function get_user_info ($token$steam_id){
        
    $urljson file_get_contents('http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key='.$token.'&steamids='.$steam_id.'&format=json');
        
    $data = (array) json_decode($urljson)->response->players[0];
        return 
    $data;
    }

    ////вывод
    $info        =    get_user_info($token$steam_id);
    echo (
    "<img src=".$info['avatar'].">"); //вывод аватарки
    echo ($info['personaname']); //вывод логина
    вообще думаю что правильнее было бы этой функции передавать сразу все айди игроков дабы был только 1 запрос, а не куча запросов
    там можно в запрос писать несколько айди через запятую
    в ответ будем получать вот такое

    Код:
    {
        "response": {
            "players": [
                {
                    "steamid": "76561198038368035",
                    "communityvisibilitystate": 3,
                    "profilestate": 1,
                    "personaname": "_Dimk_O_",
                    "lastlogoff": 1468562194,
                    "commentpermission": 1,
                    "profileurl": "http://steamcommunity.com/id/_Dimk_O_/",
                    "avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/4d/4d5db7855422c009be76a88255ef8dde99a767e8.jpg",
                    "avatarmedium": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/4d/4d5db7855422c009be76a88255ef8dde99a767e8_medium.jpg",
                    "avatarfull": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/4d/4d5db7855422c009be76a88255ef8dde99a767e8_full.jpg",
                    "personastate": 1,
                    "realname": "Димка",
                    "primaryclanid": "103582791434049975",
                    "timecreated": 1298132073,
                    "personastateflags": 0
                },
                {
                    "steamid": "76561198059525183",
                    "communityvisibilitystate": 1,
                    "profilestate": 1,
                    "personaname": "Deluks",
                    "lastlogoff": 1468683574,
                    "profileurl": "http://steamcommunity.com/id/1deluks/",
                    "avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0f/0f40022807285ce4e8d92d87a55ce4e1ec84a755.jpg",
                    "avatarmedium": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0f/0f40022807285ce4e8d92d87a55ce4e1ec84a755_medium.jpg",
                    "avatarfull": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0f/0f40022807285ce4e8d92d87a55ce4e1ec84a755_full.jpg",
                    "personastate": 0
                },
                {
                    "steamid": "76561198128914191",
                    "communityvisibilitystate": 3,
                    "profilestate": 1,
                    "personaname": "bagiz",
                    "lastlogoff": 1468686020,
                    "profileurl": "http://steamcommunity.com/profiles/76561198128914191/",
                    "avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/61/61631acccf13012e22eefbdb2bab244a102424fc.jpg",
                    "avatarmedium": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/61/61631acccf13012e22eefbdb2bab244a102424fc_medium.jpg",
                    "avatarfull": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/61/61631acccf13012e22eefbdb2bab244a102424fc_full.jpg",
                    "personastate": 3,
                    "primaryclanid": "103582791429521408",
                    "timecreated": 1394197242,
                    "personastateflags": 0,
                    "loccountrycode": "US",
                    "locstatecode": "NY",
                    "loccityid": 2786
                }
            ]
          
        }
    }
     
    Последнее редактирование: 16 июл 2016
  17. Lord FEAR

    Lord FEAR

    Сообщения:
    183
    Симпатии:
    44
    @_Dimk_O_, у меня 2 вида админки. Одни давно проверенные люди, вписанные в sourcebans, а другие покупные. Покупным через VIP присваивает через группу, которую создал в sourcebans. Там их можно и по иммунитету разделить.
    Сейчас проверил скрипты которые тут выложил xD Ну и кривые они, я их готовые брал хз где. Задержка там не из-за аватарок, косяк в самом скрипте. Сейчас сел сам переписывать всё это дело.

    Это я о своих скриптах речь вёл.
     
    Последнее редактирование: 16 июл 2016
  18. _Dimk_O_

    _Dimk_O_

    Сообщения:
    13
    Симпатии:
    4
    @Lord FEAR ты про свои или про моё?)
     
  19. Se7en_RUS

    Se7en_RUS

    Сообщения:
    53
    Симпатии:
    11
    Проблема в том, что api отдает в рандомном порядке информацию
     
  20. _Dimk_O_

    _Dimk_O_

    Сообщения:
    13
    Симпатии:
    4
    @Se7en_RUS это я уже заметил.....
    Попробую придумать как это распарсить...