Как отловить конец разминки

Черная вдова

Участник
Сообщения
2,795
Реакции
670
Как отловить конец разминки
Стандартной CS:GO
 
Последнее редактирование:

Kruzya

Участник
Сообщения
12,970
Реакции
10,924
  • Команда форума
  • #2
@Черная вдова,
PHP:
#include <usermessages>
#include <protobuf>

#pragma newdecls required
#pragma semicolon 1

public void OnPluginStart() {
    HookUserMessage(
        GetUserMessageId("WarmupHasEnded"),
        OnWarmUpEnded, false
    );
}

public Action OnWarmUpEnded(UserMsg iMsgID, Protobuf hMsg, const int[] iPlayers, int iPlayersNum, bool bReliable, bool bInit) {
    // Разминка закончилась.
}
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
@Kruzya, а через событие round_end разве нельзя по параметру message получить то же самое значение?
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670
@Kruzya, а через событие round_end разве нельзя по параметру message получить то же самое значение?
нет, после разминки нет конца раунда
Я сначала пробовал таймер ставить с начала разминки до конца
Но разминка не заканчивается если игроков нет
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
у класса cs_gamerules параметры
PHP:
Member: m_bWarmupPeriod (offset 565) (type integer)
Member: m_fWarmupPeriodEnd (offset 568) (type float) (bits 0) (NoScale)
Member: m_fWarmupPeriodStart (offset 572) (type float) (bits 0) (NoScale)
тоже бесполезны?
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,924
  • Команда форума
  • #6
@Grey83, надо поймать конец разминки, а не узнать, когда он произойдет, по факту.
И запускать таймер ради того, чтобы проверять, проходит ли ещё разминка - глупо.
 
Сверху Снизу