Panorama timeLeft 1.0.0

Отображение времени до конца карты

  1. komashchenko

    komashchenko Идиот

    Сообщения:
    694
    Симпатии:
    1.160
    Sasha7, Yura7181, TiBarification и 9 другим нравится это.
  2. Z-RAY-Z

    Z-RAY-Z

    Сообщения:
    208
    Симпатии:
    32
    Годнота. В каком месте можно поменять номер канала вывода текста, чтобы избежать конфликта с другими плагинами, которые выводят инфу на экран?
     
    Yura7181 нравится это.
  3. BossKotoriiNeSmok

    BossKotoriiNeSmok Голос из армии

    Сообщения:
    506
    Симпатии:
    89
    Идеально,спасибо))
    --- Добавлено позже ---
    Я так понял,что это время показывается только панорамщикам?:)
     
    Yura7181 нравится это.
  4. Саша Шеин

    Саша Шеин Кому костылей?

    Сообщения:
    1.470
    Симпатии:
    382
    Все верно.
     
    Yura7181 и BossKotoriiNeSmok нравится это.
  5. komashchenko

    komashchenko Идиот

    Сообщения:
    694
    Симпатии:
    1.160
    @Z-RAY-Z, ShowHudText(iClient, 4, sBuf); - 4 номер канала
     
    Yura7181, kilroy, Утка и ещё 1-му нравится это.
  6. hirowatch

    hirowatch

    Сообщения:
    1.122
    Симпатии:
    363
    @komashchenko, а файл .sp затем что бы ко всем sm версиям подходило ? - ну в плане что бы ошибок не было
     
    Yura7181 нравится это.
  7. BossKotoriiNeSmok

    BossKotoriiNeSmok Голос из армии

    Сообщения:
    506
    Симпатии:
    89
    Как убрать,что бы на разминке не работало?
    --- Добавлено позже ---
    И можно сделать,что бы показывало только когда мертв?
     
    Yura7181 нравится это.
  8. Rabb1t

    Rabb1t Оратор Ньюсмейкер

    Сообщения:
    2.486
    Симпатии:
    748
    PHP:
    if(!IsPlayerAlive(iClient){
    //игрок мертв
    }
    Обычная проверка же.
    Тебе надо ловить через
    PHP:
    m_bWarmupPeriod
     
    Последнее редактирование: 21 июл 2018
    Yura7181, kilroy, BossKotoriiNeSmok и ещё 1-му нравится это.
  9. BossKotoriiNeSmok

    BossKotoriiNeSmok Голос из армии

    Сообщения:
    506
    Симпатии:
    89
    Дядь,сложна,я тупой
     
    Yura7181 нравится это.
  10. Rabb1t

    Rabb1t Оратор Ньюсмейкер

    Сообщения:
    2.486
    Симпатии:
    748
    @BossKotoriiNeSmok, попробуй так.
    PHP:
    #include <sdktools_gamerules>

    public Plugin myinfo =
    {
       
    name "Panorama timeLeft",
       
    description "Отображение времени до конца карты",
       
    author "Phoenix (˙·٠●Феникс●٠·˙)",
       
    version "1.0.0",
       
    url "zizt.ru hlmod.ru"
    };

    bool g_bPanorama[MAXPLAYERS 1];
    bool m_bWarmupPeriod;

    public 
    void OnPluginStart()
    {
        
    //m_bWarmupPeriod = FindSendPropInfo("CCSGameRulesProxy", "m_bWarmupPeriod");
        
    CreateTimer(3.0Timer_Handler_TIMER_REPEAT);
    }

    public 
    void ClientConVar(QueryCookie hCookieint iClientConVarQueryResult hResult, const char[] sCvarName, const char[] sCvarValue)
    {
       if(
    hResult == ConVarQuery_Okayg_bPanorama[iClient] = true// Использует
    }

    public 
    void OnClientDisconnect(int iClient)
    {
       
    g_bPanorama[iClient] = false;
    }

    public 
    void OnClientPutInServer(int iClient)
    {
       
    QueryClientConVar(iClient"@panorama_debug_overlay_opacity"ClientConVar);
    }

    public 
    void OnMapStart()
    {
       
    CreateTimer(1.0Timer_UPDATE_TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
    }

    public 
    Action Timer_UPDATE(Handle timer)
    {
       
    int timeleft;
       
    char sBuf[255];
       
    GetMapTimeLeft(timeleft);
       if(
    timeleft 0FormatEx(sBufsizeof sBuf"До конца карты - %d:%02d"timeleft 60timeleft 60);
       else 
    sBuf "Последний раунд";
       
    SetHudTextParams(-1.00.991.502552550);
       for(
    int iClient 1iClient <= MaxClientsiClient++)
       {
           if(
    g_bPanorama[iClient] && m_bWarmupPeriod && !IsPlayerAlive(iClient))
           {      
               
    ShowHudText(iClient4sBuf);
           }
       }
       return 
    Plugin_Continue;
    }

    public 
    Action Timer_Handler(Handle Timer)
    {
        if(
    GameRules_GetProp("m_bWarmupPeriod") == 1)
            
    m_bWarmupPeriod true;
        else
            
    m_bWarmupPeriod false;
        return 
    Plugin_Continue;
    }
     

    Вложения:

    Последнее редактирование: 21 июл 2018
    Yura7181, kilroy, Саша Шеин и ещё 1-му нравится это.
  11. Саша Шеин

    Саша Шеин Кому костылей?

    Сообщения:
    1.470
    Симпатии:
    382
    @Rabb1t, можешь объяснить, зачем отдельный таймер для m_bWarmupPeriod? И почему бы не сделать так?
    PHP:
    m_bWarmupPeriod GameRules_GetProp("m_bWarmupPeriod") == 1;
     
    Yura7181 и Rabb1t нравится это.
  12. Rabb1t

    Rabb1t Оратор Ньюсмейкер

    Сообщения:
    2.486
    Симпатии:
    748
    @Саша Шеин, насчет таймера ты совершенно прав, можно и в одном сделать. А вот насчет переменной, разве она тогда сама будет получать значение false, чтобы не отобраться в худе плагина?
     
    Последнее редактирование: 21 июл 2018
    Yura7181 и CAH4E3 нравится это.
  13. komashchenko

    komashchenko Идиот

    Сообщения:
    694
    Симпатии:
    1.160
    @BossKotoriiNeSmok, от отображает только мертвым и не работает во время разминки
    PHP:
    #include <sdktools_gamerules>

    public Plugin myinfo =
    {
        
    name "Panorama timeLeft",
        
    description "Отображение времени до конца карты",
        
    author "Phoenix (˙·٠●Феникс●٠·˙)",
        
    version "1.0.0",
        
    url "zizt.ru hlmod.ru"
    };

    bool g_bPanorama[MAXPLAYERS 1];

    public 
    void ClientConVar(QueryCookie hCookieint iClientConVarQueryResult hResult, const char[] sCvarName, const char[] sCvarValue)
    {
       if(
    hResult == ConVarQuery_Okayg_bPanorama[iClient] = true// Использует
    }

    public 
    void OnClientDisconnect(int iClient)
    {
        
    g_bPanorama[iClient] = false;
    }

    public 
    void OnClientPutInServer(int iClient)
    {
       
    QueryClientConVar(iClient"@panorama_debug_overlay_opacity"ClientConVar);
    }

    public 
    void OnMapStart()
    {
        
    CreateTimer(1.0Timer_UPDATE_TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
    }

    public 
    Action Timer_UPDATE(Handle timer)
    {
        if(
    GameRules_GetProp("m_bWarmupPeriod"1)) return Plugin_Continue;
       
        
    int timeleft;
        
    char sBuf[255];
        
    GetMapTimeLeft(timeleft);
        if(
    timeleft 0FormatEx(sBufsizeof sBuf"До конца карты - %d:%02d"timeleft 60timeleft 60);
        else 
    sBuf "Последний раунд";
        
    SetHudTextParams(-1.00.991.502552550);
        for(
    int iClient 1iClient <= MaxClientsiClient++)
        {
            if(
    g_bPanorama[iClient] && !IsPlayerAlive(iClient))
            {          
                
    ShowHudText(iClient4sBuf);
            }
        }
        return 
    Plugin_Continue;
    }

    Оффтоп
     
    Yura7181, kilroy, BossKotoriiNeSmok и 3 другим нравится это.
  14. Rabb1t

    Rabb1t Оратор Ньюсмейкер

    Сообщения:
    2.486
    Симпатии:
    748
    @komashchenko, да я чет не подумал про это пока писал ночью. Можно было спокойно в этом же таймере.
     
    Yura7181 нравится это.
  15. BossKotoriiNeSmok

    BossKotoriiNeSmok Голос из армии

    Сообщения:
    506
    Симпатии:
    89
    Добавь уж в тему,кто хочет ,пусть будет))0
     
    Yura7181 нравится это.
  16. igroman1266

    igroman1266 Бух

    Сообщения:
    128
    Симпатии:
    65
    Запустили карту второй раз и таймер завис. Просто пишет, что последний раунд.
     
    Yura7181 нравится это.
  17. BossKotoriiNeSmok

    BossKotoriiNeSmok Голос из армии

    Сообщения:
    506
    Симпатии:
    89
    Как координаты на экране взять?
     
    Yura7181 нравится это.
  18. wayLANder

    wayLANder Где AlmazON?

    Сообщения:
    1.606
    Симпатии:
    488
    Если у меня кол-во игроков итд внизу, то что делать?)
     
    Yura7181 нравится это.
  19. komashchenko

    komashchenko Идиот

    Сообщения:
    694
    Симпатии:
    1.160
    Yura7181, BossKotoriiNeSmok и Rabb1t нравится это.
  20. igroman1266

    igroman1266 Бух

    Сообщения:
    128
    Симпатии:
    65
    Таймер не обновляется, если карта остаётся та же что и была
     
    Yura7181 нравится это.