Таймеры..

Тема в разделе "Программирование / Скриптинг", создана пользователем Hejter, 11 дек 2015.

  1. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    1. Не критично ли, если будет два или даже три глобальных таймера (общих).
    2. Если создаю глобальный таймер, нужен ли цикл по игрокам?
    3. Как остановить глобальный запущенный таймер, а потом его запустить?
    4. Нужно ли убивать глобальный таймер? Как убивать? KillTimer или plugin_stop? Если игрок вышел тоже нужно убивать таймер?
    5. Как создать глобальный таймер с двумя эффектами
    • Таймер А = 5.0 сек
    • Таймер B = 10.0 сек
     
    Последнее редактирование: 11 дек 2015
  2. Черная вдова

    Черная вдова

    Сообщения:
    1.621
    Симпатии:
    234
    Достаточно одного таймера если время таймеров кратно друг другу, те 5 и 10, а 33 и 5 придется разные, что бы определить какое действие совершать достаточно переменной, в случае 5, 10 даже bool хватит
     
  3. AlmazON

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

    Сообщения:
    4.579
    Симпатии:
    1.989
    Зависит от их "глобальности": содержимого, времени действия и флагов.
    Если нужно выполнить действие всем, то да.
    Как и любой другой.
    Желательно. Почти всегда KillTimer. Нет, только если вышли ВСЕ.
     
  4. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Как мне в этом случае убивать таймер? Циклом?
     
  5. AlmazON

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

    Сообщения:
    4.579
    Симпатии:
    1.989
    Если неохота заморачиваться, то можно и так:
    PHP:
    public OnClientDisconnect_Post(client)
    {
        for (new 
    1<= MaxClients; ++i)
        {
            if (
    IsClientInGame(i)) return;
        }
        if (
    HandleGlobalTimer != INVALID_HANDLE)
        {
            
    KillTimer(HandleGlobalTimer);
            
    HandleGlobalTimer INVALID_HANDLE;
        }
    }