[Любая игра] Players count in hostname

Тема в разделе "Утверждённые плагины", создана пользователем rJIa3, 30 дек 2010.

  1. rJIa3

    rJIa3

    Сообщения:
    169
    Симпатии:
    171
    Players count in hostname
    Текущая версия: 1.2

    Описание:
    Плагин изменяет имя сервера показывая текущее количество игроков и версию игры.

    Требования:
    SourceMod

    Поддерживаются игры:
    • CS: Source
    • CS: GO
    • Team Fortress 2
    • Day of Defeat: Source
    • L4D1/2

    Установка:
    1. Скопировать файл playerscount_version_in_hostname.smx в директорию cstrike/addons/sourcemod/plugins/
    2. Скопировать файл playerscount_version_in_hostname.sp в директорию addons/sourcemod/scripting

    Переменные:
    %d - текущее кол-во игроков на сервере
    %d - кол-во игроков sv_visiblemaxplayers
    %s - версия сервера
    sm_formatted_hostname ""
    Пример:
    sm_formatted_hostname "My Server %d/%d (%s)"
    "My Server %d/%d" => "My Server 5/8"
    прописать можно в server.cfg


    Оригинал
     

    Вложения:

    Последнее редактирование модератором: 8 июн 2015
    LAPRICON, Andrey и random.81 нравится это.
  2. sintez

    sintez ¦ΞQUATTRO-TM.RUΞ¦

    Сообщения:
    280
    Симпатии:
    52
    не кто не знает? как исправить чтобы показывало вот так
     

    Вложения:

    • Снимок.PNG
      Снимок.PNG
      Размер файла:
      241 байт
      Просмотров:
      467
  3. AlmazON

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

    Сообщения:
    4.506
    Симпатии:
    1.961
    PHP:
    public Plugin:myinfo 
    {
        
    name "Players count in hostname",
        
    author "D1maxa",
        
    description "Showing number of players and version in name of server",
        
    version "1.22",
        
    url "http://forums.alliedmods.net/showthread.php?t=126060"
    };

    new 
    g_NumClients=0;
    new 
    Handle:hostname INVALID_HANDLE;
    new 
    Handle:formatted_hostname INVALID_HANDLE;
    new 
    String:version[16] = "";

    public 
    OnPluginStart()
    {
        
    hostname FindConVar("hostname");
        
    formatted_hostname=CreateConVar("sm_formatted_hostname""My Server %d/%d (%s)""Formatted string for dynamic hostname",FCVAR_PLUGIN);
        
    GetVersion();
    }

    public 
    OnMapStart()
    {
        
    g_NumClients=0;
    }
     
     public 
    OnConfigsExecuted()
    {
        
    SetNumberOfPlayersInHostname();
    }
     
    public 
    OnClientConnected(client)
    {
        if(!
    IsFakeClient(client))
        {
            
    g_NumClients++;
            
    SetNumberOfPlayersInHostname();
        }
    }

    public 
    OnClientDisconnect(client)
    {
        if(!
    IsFakeClient(client))
        {        
            
    g_NumClients--;
            
    SetNumberOfPlayersInHostname();
        }
    }

    SetNumberOfPlayersInHostname()
    {
        
    decl String:my_buf[64];
        
    decl String:f_hostname[64];
        
    GetConVarString(formatted_hostname,f_hostname,sizeof(f_hostname));
        
    Format(my_buf,sizeof(my_buf),f_hostname,g_NumClients,MaxClients,version);
        
    SetConVarString(hostname,my_buf);
        
    ServerCommand("heartbeat");
    }

    GetVersion()
    {
        new 
    Handle:steaminf OpenFile("steam.inf","r");  
        if(
    steaminf == INVALID_HANDLE)
        {
            
    LogError("Cannot open steam.inf");            
            return;              
        }    
        new 
    String:buffer[128];
        while(
    ReadFileLine(steaminfbuffersizeof(buffer)) && (StrContains(buffer,"PatchVersion=",false) == -1))
        {}
        
    CloseHandle(steaminf);
        if(
    StrContains(buffer,"PatchVersion=",false) != -1)
        {
            new 
    FindCharInString(buffer,'=') + 1;
            new 
    0;
            do
            {
                
    version[j++] = buffer[i++];
            }
            while(
    buffer[i] != '\0' && j<sizeof(version));
            
    version[7] = '\0';
        }        
    }
     
    sintez нравится это.
  4. master117

    master117

    Сообщения:
    255
    Симпатии:
    7
    Подправьте код и выложите пожалуйста, мне нужно убрать проверку на ботов.
     
  5. White Wolf

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

    Сообщения:
    1.186
    Симпатии:
    411

    PHP:
    public OnClientConnected(client)
    {
            
    g_NumClients++;
            
    SetNumberOfPlayersInHostname();
    }

    public 
    OnClientDisconnect(client)
    {      
            
    g_NumClients--;
            
    SetNumberOfPlayersInHostname();
    }
     
  6. master117

    master117

    Сообщения:
    255
    Симпатии:
    7
    Спасибо!

    Добавлено через 19 минут
    Игра CS:GO боты есть на сервере, а в скобках не показывает их кол-во там где название сервера, как подправить? =)
     
    Последнее редактирование: 7 окт 2015