Panorama timeLeft 1.0.0

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

  1. panikajo

    panikajo

    Сообщения:
    364
    Симпатии:
    51
    поменяй координаты проблема?
    SetHudTextParams(-1.0, 0.99,
     
    Yura7181 нравится это.
  2. igroman1266

    igroman1266 Бух

    Сообщения:
    129
    Симпатии:
    67
    Решил эту проблему путём включения mp_match_end_changelevel
     
    Yura7181 и hirowatch нравится это.
  3. wayLANder

    wayLANder Где AlmazON?

    Сообщения:
    1.639
    Симпатии:
    497
    Видимо, ты не понял главную суть вопроса. У кого-то эта панель сверху с игроками, у кого-то - снизу.
    Тоесть 100% у кого-то будет таймер накладываться на панель
     
    Yura7181 нравится это.
  4. panikajo

    panikajo

    Сообщения:
    364
    Симпатии:
    51
    Я понял суть вопрос. Пусть сделает ее сбоку просто, я не зря выделил координаты.
     
    Yura7181 нравится это.
  5. Emptyc

    Emptyc

    Сообщения:
    206
    Симпатии:
    8
    Не пашет. В чем может быть проблема?
     
    Yura7181 нравится это.
  6. panikajo

    panikajo

    Сообщения:
    364
    Симпатии:
    51
    Еще один вариант кода.

    Код:
    public void OnPluginStart()
    {
        CreateTimer(1.0, Timeleft, _, TIMER_REPEAT);
    }
    
    public Action Timeleft(Handle timer)
    {
        char time[60];
        int iTimeleft;
    
        GetMapTimeLeft(iTimeleft);
        FormatTime(time, sizeof(time), "%M:%S", iTimeleft);
    
        for(int i = 1; i <= MaxClients; i++)
        {
            if(IsClientInGame(i) && !IsFakeClient(i))
            {
                char message[60];
                Format(message, sizeof(message), "Timeleft: %s", time);
                SetHudTextParams(-1.0, 1.00, 1.0, 4, 180, 255, 255, 0, 0.00, 0.00, 0.00);
                ShowHudText(i, -1, message);
            }
        }
        return Plugin_Continue;
    }
     
    Yura7181 нравится это.
  7. igroman1266

    igroman1266 Бух

    Сообщения:
    129
    Симпатии:
    67
    Ты если берешь код с alliedmods, то хотя бы автора указывай
     
    Yura7181 и panikajo нравится это.
  8. panikajo

    panikajo

    Сообщения:
    364
    Симпатии:
    51
    github
     
    Yura7181 нравится это.
  9. Pavel123

    Pavel123

    Сообщения:
    36
    Симпатии:
    4
    дайте smx , а то чет у меня не компилит, руки не и с того места наверное у меня(
     
    Yura7181 нравится это.
  10. naked

    naked

    Сообщения:
    88
    Симпатии:
    13
    пробуй
     

    Вложения:

    Yura7181 нравится это.
  11. Pavel123

    Pavel123

    Сообщения:
    36
    Симпатии:
    4
    спасибо
     
    Yura7181 нравится это.
  12. Yura7181

    Yura7181

    Сообщения:
    559
    Симпатии:
    508
    Всем привет. Можно сделать так чтобы время до конца карты было видно когда только нажимаешь TAB и кол-во наблюдателей заодно? Спасибо.

    [​IMG]
     
    Последнее редактирование: 7 авг 2018
    teran нравится это.
  13. Rostu

    Rostu

    Сообщения:
    869
    Симпатии:
    343
    @Yura7181,
    PHP:
    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)
    {
        
    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] && ( GetClientButtons(iClient) & IN_SCORE) )
            {           
                
    Format(sBuf,sizeof sBuf"%s\n%d Spectators",sBuf,SpecTimer(iClient));
                
    ShowHudText(iClient4sBuf);
            }
        }
        return 
    Plugin_Continue;
    }
    stock int SpecTimer(int client)
    {
        
    int target 0;

        if ( !
    IsPlayerAliveclient ) )
        {
            
    int newtarget GetClientObserverTargetclient );
            
            if ( 
    newtarget && newtarget <= MaxClients
            
    &&    IsClientInGamenewtarget )
            &&  
    IsPlayerAlivenewtarget )
            &&  
    GetClientObserverModeclient ) != 6)
            {
                
    target newtarget;
            }
        }
        else
        {
            
    target client;
        }


        if ( !
    target ) return 0;

        
    int num;

        for ( 
    int i 1<= MaxClientsi++ )
        {
            if ( 
    == target ) continue;
            
            if ( !
    IsClientInGame) ) continue;
            
            if ( 
    IsFakeClient) ) continue;
            
            if ( 
    IsPlayerAlive) ) continue;
            
            
            if ( 
    GetClientObserverTarget) == target && GetClientObserverModeclient ) != )
                ++
    num;
        }
        return 
    num;
    }
    stock int GetClientObserverModeint client )
    {
        return 
    GetEntPropclientProp_Send"m_iObserverMode" );
    }

    stock int GetClientObserverTargetint client )
    {
        return 
    GetEntPropEntclientProp_Send"m_hObserverTarget" );
     
    kilroy, Yura7181 и wayLANder нравится это.
  14. Yura7181

    Yura7181

    Сообщения:
    559
    Симпатии:
    508
    Спасибо. У меня одного не работает?
     
  15. Emptyc

    Emptyc

    Сообщения:
    206
    Симпатии:
    8
    залей .smx вместе с .sp
    .smx выше в обсуждениях
    --- Добавлено позже ---
    либо скомпилль
     
    Yura7181 нравится это.
  16. Rostu

    Rostu

    Сообщения:
    869
    Симпатии:
    343
    @Yura7181, Не знаю как у вас, у меня прекрасно работает.
     
    Yura7181 нравится это.
  17. Drumanid

    Drumanid @komashchenko пили античит

    Сообщения:
    1.643
    Симпатии:
    1.214
    Может он просто хотел получить сколько наблюдателей на сервере, а не кол-во тех кто следит за игроком...
     
    Yura7181 нравится это.
  18. Yura7181

    Yura7181

    Сообщения:
    559
    Симпатии:
    508
    Проверил. На тестовом и основном сервере. не работает. Я не говорю о оригинальном плагине в шапке темы. В любом случае спасибо за ответ.
    --- Добавлено позже ---
    Да как на скриншоте выше.
    --- Добавлено позже ---
    Перекомпилировал на др. версии соурсмода и заработало. Спасибо.
     
    Последнее редактирование: 9 авг 2018
  19. Hustle29

    Hustle29

    Сообщения:
    108
    Симпатии:
    4
    Из-за недавних обновлений панорамы появились ошибки в логах.

    L 09/02/2018 - 10:15:03: [SM] Call stack trace:
    L 09/02/2018 - 10:15:03: [SM] [0] ShowHudText
    L 09/02/2018 - 10:15:03: [SM] [1] Line 45, C:\Users\user\Desktop\\addons\sourcemod\scripting\timeleft_panorama.sp::Timer_UPDATE
    L 09/02/2018 - 10:15:04: [SM] Exception reported: Client 5 is not in-game
    L 09/02/2018 - 10:15:04: [SM] Blaming: timeleft_panorama.smx
     
  20. DJser

    DJser

    Сообщения:
    66
    Симпатии:
    3
    Показывает последний раунд, хотя у меня стоит в насройказ
    mp_maxround 999
    а время карты через !timelift 30 минут (через другой плагин настроено)