Получение steamid и вывод

Тема в разделе "Программирование / Скриптинг", создана пользователем truekreo, 4 мар 2016.

  1. truekreo

    truekreo

    Сообщения:
    18
    Симпатии:
    8
    Как сразу при подключении игрока к серверу взять его steamid и записать его в переменную для дальнейшего использования, а также вывести его в чат например?
     
    kyaN нравится это.
  2. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.512
    Симпатии:
    1.963
    PHP:
    new String:sSteam[MAXPLAYERS 1][30];

    public 
    OnClientAuthorized(client, const String:auth[])
    {
        
    strcopy(sSteam[client], sizeof(sSteam[]), auth);
        
    //PrintToChatAll("СТИМ новичка: %s", sSteam[client]);
    }
    PHP:
    new String:sSteam[MAXPLAYERS 1][30];

    public 
    OnClientPostAdminCheck(client)
    {
        
    GetClientAuthId(clientAuthId_Steam3sSteam[client], sizeof(sSteam[]));
        
    //PrintToChatAll("СТИМ новичка: %s", sSteam[client]);
    }
     
    truekreo нравится это.
  3. truekreo

    truekreo

    Сообщения:
    18
    Симпатии:
    8
    @AlmazON, а если доставать steamid из базы данных, то их сравнивать с sSteam[client] ?
     
    kyaN нравится это.
  4. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.512
    Симпатии:
    1.963
    По описанной задаче - да. Но, если там всего разовая сверка, то ничего сохранять в массив просто нет смысла: просто получил, проверил и вывел в чат.
     
    truekreo нравится это.
  5. truekreo

    truekreo

    Сообщения:
    18
    Симпатии:
    8
    @AlmazON,
    PHP:
    new String:sSteam[MAXPLAYERS 1][30];

    public 
    OnClientAuthorized(client, const String:auth[])
    {
        
    strcopy(sSteam[client], sizeof(sSteam[]), auth);
        if (
    sSteam[client] !== 1234) {
            
    KickClient(client);
        }
    }
    Можно так реализовать кик игрока, если его steamid не совпадает с определенным?
     
  6. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.512
    Симпатии:
    1.963
    Нет, проверки неверные. Всё ещё проще:
    PHP:
    public OnClientAuthorized(client, const String:auth[])
    {
        if (
    strcmp(auth"STEAM_1:1:4153990")) {
            
    KickClient(client"Ваш SteamID не совпал с допускаемым!");
        }
    }
     
  7. robocop

    robocop

    Сообщения:
    144
    Симпатии:
    8
    Ребят в 2-ух словах , зачем это? Интересно.
     
  8. truekreo

    truekreo

    Сообщения:
    18
    Симпатии:
    8
    Пускать на сервер, только определенных игроков, очевидно же.
    @AlmazON, спасибо. В место steamid может быть переменная?
     
    kyaN нравится это.
  9. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.512
    Симпатии:
    1.963
    Вместо проверки SteamID - да. А нечто, вроде:
    Работать не будет, как и вообще компилироваться.
     
  10. Reg1oxeN

    Reg1oxeN

    Сообщения:
    83
    Симпатии:
    26
    в таком очевидном случае можно взять любой уже готовый велосипед и изменять его под свои капризы
    Server Whitelist - AlliedModders
    [Any] Server Whitelist Advanced (1.5.0) - AlliedModders
     
    666FoX666 нравится это.