mp_ignore_round_win_conditions 1 Не меняется карта.

Extreme_Project

Участник
Сообщения
39
Реакции
0
Возникла вот такая вот проблема
Мне нужен квар mp_ignore_round_win_conditions 1
Ну когда он включён то по истечении времени карта не меняется, а таймер просто показывает нули.

и если я на этих нулях пишу mp_ignore_round_win_conditions 0, То сразу начинается смена карты =)
Можно ли это как нить фиксануть?
 

Truyn

King of clowns
Сообщения
1,591
Реакции
749
Мб плагин поможет,он не перезапускает раунд,но когда карта истечет то она меняется поставь его и mp_ignore_round_win_conditions 0
 

Вложения

  • no_restart_round.sp
    103 байт · Просмотры: 59

Extreme_Project

Участник
Сообщения
39
Реакции
0
У тебя не bhop случаем?
да не у меня модификация одна там с дм, так вот и хочу чтоб игра шла и 1-1 =) а не постоянно новый раунд
--- Добавлено позже ---
Мб плагин поможет,он не перезапускает раунд,но когда карта истечет то она меняется поставь его и mp_ignore_round_win_conditions 0
Спасибо попробую
--- Добавлено позже ---
Мб плагин поможет,он не перезапускает раунд,но когда карта истечет то она меняется поставь его и mp_ignore_round_win_conditions 0
чёт с этим плагом вообще всё не так как нужно =) время останавливает типо =)
 
Последнее редактирование:

Rostu

Добрая душа
Сообщения
986
Реакции
622
@Extreme_Project, Если у тебя время карты как понял по mp_timelimit, то как обычно - Influx спасет

PHP:
#include <sourcemod>
#include <cstrike>


//#define DEBUG
//#define DEBUG_TIME


ConVar g_ConVar_IgnoreCond;


public void OnPluginStart()
{
    g_ConVar_IgnoreCond = FindConVar( "mp_ignore_round_win_conditions" );
    
    if ( g_ConVar_IgnoreCond == null )
    {
        SetFailState( INF_CON_PRE..."Couldn't find handle for mp_ignore_round_win_conditions!" );
    }
}

public void OnConfigsExecuted()
{
    CreateTimer( 1.0, T_CheckTime, _, TIMER_FLAG_NO_MAPCHANGE | TIMER_REPEAT );
}

public Action T_CheckTime( Handle hTimer )
{
    int timelimit = 0;
    // We cannot change the map through round termination if timelimit is <= 0
    if ( !GetMapTimeLimit( timelimit ) || timelimit == 0 ) return Plugin_Continue;
    
    
    int timeleft = 1;
    
    bool bSupported = GetMapTimeLeft( timeleft );
    
#if defined DEBUG_TIME
    PrintToServer( INF_DEBUG_PRE..."Time left: %i (%s) (Timelimit: %i)", timeleft, bSupported ? "Supported" : "Not Supported", timelimit );
#endif
    
    // HACK: If time left is negative, timelimit is infinite. However, timelimit can be > 0 while time left is -1.
    // If we're unlucky and miss time left == 0, we'll never get a map change.
    // Therefore just skip -1...
    // Fuck this m8
    if ( bSupported && ((timeleft <= 3 && timeleft >= 0) || timeleft < -1) )
    {
#if defined DEBUG
        PrintToServer( INF_DEBUG_PRE..."Timelimit reached! Ending round..." );
#endif

        g_ConVar_IgnoreCond.BoolValue = false;
        
        // Round termination requires some delay or otherwise the server will not go into intermission and change the map.
        // Keep repeating this timer until the map is changed.
        CreateTimer( 5.0, T_EndRound, _, TIMER_FLAG_NO_MAPCHANGE | TIMER_REPEAT );
        
        return Plugin_Stop;
    }
    
    
    return Plugin_Continue;
}

public Action T_EndRound( Handle hTimer )
{
CS_TerminateRound( 1.337, CSRoundEnd_CTWin, true );
}
 

Extreme_Project

Участник
Сообщения
39
Реакции
0
@Rostu, Скомпилировать сможешь? =)
 

Вложения

  • 2018-11-18_04-28-26.png
    2018-11-18_04-28-26.png
    2.7 КБ · Просмотры: 58

Rostu

Добрая душа
Сообщения
986
Реакции
622
@Extreme_Project, Не до конца вырезал совместимость, исправил)
 

Вложения

  • b_test.smx
    4.2 КБ · Просмотры: 56
  • b_test.sp
    1.9 КБ · Просмотры: 55
Сверху Снизу