Смена карты по времени

Тема в разделе "Запросы", создана пользователем Кирюха, 18 май 2013.

  1. Кирюха

    Кирюха

    Сообщения:
    153
    Симпатии:
    7
    Всем привет...Задался вопросом - возможно ли сделать так,чтобы карты менялись по времени сервера???Пример: на сервере 3 карты - дд2,2000,авп_лего2 ..Надо сделать так,чтобы карты менялись по времени...Карта $2000$ - с 23.00-9.00,карта авп_лего - 9.00-15.00,карта дд2 - 15.00-23.00 ...Вроде пояснил понятно...Как бы такое чудо осуществить???Помогите пожалуйста...:beer:
     
    Последнее редактирование: 18 май 2013
  2. The Slavik

    The Slavik

    Сообщения:
    437
    Симпатии:
    49
    например такой вариант.
    выставляешь длительность времени карты ( среднее для них) например по 9 часов(540), и ставишь плагин который будет менять не след. - когда на сервере будет написано 00:00 до конца карты.
     
  3. Кирюха

    Кирюха

    Сообщения:
    153
    Симпатии:
    7
    Если бы мне нужно было бы так,то я бы даже и не открывал данную тему=)))Но как видите я указал временные рамки для каждой карты и мне интересно,чтобы карты менялись самостоятельно в таком временном промежутке: Карта $2000$ - с 23.00-9.00,карта авп_лего - 9.00-15.00,карта дд2 - 15.00-23.00 ...
     
  4. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    PHP:
    #include <sourcemod>

    // При запуске карты
    public OnMapStart()
    {
        
    // Запускаешь таймер
        
    CreateTimer(60.0Timer_TIMER_FLAG_NO_MAPCHANGE|TIMER_REPEAT);
    }

    // Обрабатываешь таймер
    public Action:Timer(Handle:timer)
    {
        
    // Получаешь текущее время
        // %H - Часы
        // %M - Минуты
        
    decl String:time[25];
        
    FormatTime(timesizeof(time), "%H%M"GetTime());

        
    // Преобразуешь число из строки
        
    new int StringToInt(time);

        
    // Выставляешь "временные рамки"
        // 0000 - Двенадцать часов ночи
        // 1345 - Без пятнадцати два
        // И так далее
        
    if (0000 <= int <= 0200)
        {
            
    // Условие выполнится, если текущее время в пределах от двенадцати часов до двух часов ночи
        
    }
        else if (
    1200 <= int <= 1300)
        {
            
    // Условие выполнится, если текущее время в пределах от двенадцати часов до часу дня
        
    }
    }

    Небольшой примерчик
    PHP:
    #include <sourcemod>

    new String:CurrentMap[50];

    public 
    OnMapStart()
    {
        
    decl String:map[50];
        
    GetCurrentMap(mapsizeof(map));

        
    strcopy(CurrentMapsizeof(CurrentMap), map);

        
    CreateTimer(60.0Timer_TIMER_FLAG_NO_MAPCHANGE|TIMER_REPEAT);
    }

    public 
    Action:Timer(Handle:timer)
    {
        
    decl String:time[25];
        
    FormatTime(timesizeof(time), "%H%M"GetTime());

        new 
    int StringToInt(time);

        if (
    0900 <= int <= 1500 && strcmp(CurrentMap"awp_lego"false) != 0)
        {
            
    // AWP_LEGO будет в пределах от 9 до 15 часов
            
    ServerCommand("changelevel awp_lego");
        }
        else if (
    1500 <= int <= 2300 && strcmp(CurrentMap"de_dust2"false) != 0)
        {
            
    // DE_DUST2 будет в пределах от 15 до 23 часов
            
    ServerCommand("changelevel de_dust2");
        }
    }
     
    September и Кирюха нравится это.
  5. Кирюха

    Кирюха

    Сообщения:
    153
    Симпатии:
    7
    Благодарю!Скомпилирую - опробую...=)))А как быть , если у меня стоит автоперезагрузка сервера в 5 утра и начальная карта дд2 ???Плагин сменит карту на ту ,которая указана в данном временном промежутке сам или как быть,так как автоматический перезапуск сервера не хочу убирать???
     
  6. ☆★☆БАТЯ☆★☆™

    ☆★☆БАТЯ☆★☆™

    Сообщения:
    2.585
    Симпатии:
    1.341
  7. Кирюха

    Кирюха

    Сообщения:
    153
    Симпатии:
    7
    Думаю тоже возможно,но тот код,который скинул Уважаемый The End Is Near... более понятен мне=)))
     
  8. Кирюха

    Кирюха

    Сообщения:
    153
    Симпатии:
    7
    не получается скомпилировать((Чего за ерунда???Сорсмод 1.5.0. - жму на компил ,в папке компилед не появляется файл((В чём косяк,ребята???
     
  9. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.978
  10. Кирюха

    Кирюха

    Сообщения:
    153
    Симпатии:
    7