Действие Map End (выполнение команды)

Тема в разделе "Запросы", создана пользователем console1988, 23 янв 2016.

  1. console1988

    console1988

    Сообщения:
    84
    Симпатии:
    5
    Ребят кто знает есть ли такой плагин который при окончании карты, т.е. когда появляется таблица с игроками буквально за несколько секунд перед сменой карты мог выполнить какую либо команду?
    например
    exec server2.cfg

    Очень важно чтобы выполнить конфиг до того как начнёт сервер менять уровень...

    (c) CSS
     
  2. AlmazON

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

    Сообщения:
    4.590
    Симпатии:
    1.995
    Нет смысла. С новой картой всё равно будет выполнен обычный server.cfg. Оффтоп
    PHP:
    public OnPluginStart() HookEvent("cs_win_panel_match"Event_MatchEndEventHookMode_PostNoCopy);

    public 
    Event_MatchEnd(Handle:eventString:name[], bool:dontBroadcastServerCommand("exec server2.cfg");
    Файл должен быть в папке cfg.
     
    MrBoogidy нравится это.
  3. console1988

    console1988

    Сообщения:
    84
    Симпатии:
    5
    спасибо сейчас проверю

    просто у меня випмод свой по неизвестным причинам во время server.cfg апдейта данных при смене карты почему то крашит сервер
    а если ребучу данные вручную на сервере то всё окей
    нужно чтобы таймер контролился отключения вип пользователей

    Добавлено через 2 минуты
    тогда еще 2 вопроса:
    1)а как будут выглядеть плагины для выполнения конфига действий
    round_start
    round_end
    bomb_planted
    bomb_defused

    2)и как создать например чтобы выполнилось действие round_start но через 3 секунды после его action

    например
    say Стоимость VIP 100 рублей
    но спустя 3 секунды?

    и все прочие остальные ?
     
    Последнее редактирование: 23 янв 2016
  4. AlmazON

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

    Сообщения:
    4.590
    Симпатии:
    1.995
    И будет сервер дальше ложиться, стоит лишь принудительно сменить карту заранее, через тот же rtv.
    Также. Менять cs_win_panel_match на round_end и т.д.
    Может пора подумать о плагине рекламы?
     
  5. console1988

    console1988

    Сообщения:
    84
    Симпатии:
    5
    не, я хочу это сделать для своих допотопных целей, у меня большая часть сервера на eventscripts python
    но ихние действия немного подтупливают
    поэтому я немножко бегу за помощью к Sourcemod

    извиниясь за мои допотопные методы (с)
    PYTHON SCR 8 / 10
    SOURCEMOD 0 / 10

    так таймер возможен?)
    для команды?)
     
  6. AlmazON

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

    Сообщения:
    4.590
    Симпатии:
    1.995
    Какой? Одинаковой/разной? 3 секунды всем или каким-то отдельно больше/меньше?
    Зачем это нужно знать? Если такие 2-3 события почти что пересекутся (при разных таймерах - наверняка) и у них будет одинаковая команда, как например, выполнение целого списка команд, то получим их "эховое" выполнение и, как следствие, возможный лаг.
     
  7. console1988

    console1988

    Сообщения:
    84
    Симпатии:
    5
    пример:
    начало раунда: отобразить список вип пользователей команда: es_vips
    3 секунда: отобразить спиок админов: es_admins
    6 секунда: отобразить стоимость vip ... конфиг
    9 секунда: акции: и.т.д.
    именно каждый раунд

    чтобы не всё сразу)

    Добавлено через 18 часов 44 минуты
    буду более проще

    Eventscript​

    event round_start
    {

    es_xdelayed 3 sm_cexec #ALL sm_admins
    }

    event round_end
    {

    es_xdelayed 2 es exec plugins/advert.cfg
    }


    round_start - через 3 секунды выполнится команда sm_cexec #ALL sm_admins
    round_end - через 2 секунды выполнится команда es exec plugins/advert.cfg

    Python:​
    def round_end(ev):
    gamethread.delayed (2, es.server.cmd, 'es exec plugins/advert.cfg')


    round_end - через 2 секунды выполнится команда es exec plugins/advert.cfg


    как мне сделать тоже самое на SOURCEMOD?

    какой аналог исходной команды delay таймера на SM

    eventscripts: es_xdelayed
    python: gamethread.delayed
    sm - ?
     
    Последнее редактирование: 24 янв 2016
  8. AlmazON

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

    Сообщения:
    4.590
    Симпатии:
    1.995
    Помню лишь упоминание wait... А так, только таймером:
    PHP:
    CreateTimer(2.0TimerExec_TIMER_FLAG_NO_MAPCHANGE);

    public 
    Action:TimerExec(Handle:timer)
    {
    ServerCommand("exec plugins/advert.cfg");
    return 
    Plugin_Stop;
    }