Узнать точное значение ослепления игрока

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
396
Реакции
218
Помог
13 раз(а)
Всем привет!
Стоит задача в момент убийства узнать степень ослепления игрока. Т.е. к примеру я кину себе под ноги флешку, и после её взрыва убью игрока, к примеру "Player_2". Мне нужно узнать какое значение ослепления будет у меня в этот момент.
Потому что я использовал get_member(iIndex,m_blindAlpha);. Обнаружил, что значение всегда "255", если учитывать, что я кинул её себе прям под нос.
От сюда и вопрос, как правильно рассчитать какое ослепление будет у меня в момент убийства
 
Сообщения
42
Реакции
32
Попробуй так

Код:
public plugin_init() {
  RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed_Post", true);
}

public CBasePlayer_Killed_Post(victim, killer, gibs) {
  if(victim == killer || !is_user_alive(killer)) {
    return HC_CONTINUE;
  }

  new pBlindAlpha = get_member(killer, m_blindAlpha);

  return HC_CONTINUE;
}
 
Сообщения
396
Реакции
218
Помог
13 раз(а)
szawesome, Спасибо, но я выше уже написал, что значение не уменьшается...
Когда я тестировал, я бросал себе флешку под ноги и убивал бота. Значение было всегда "255". Хоть я буду полностью "в молоке", хоть уже начну чётко видеть модель игрока.
Обнулялось в момент смерти или когда заново себя слепил. К примеру кинул под ноги, выдало "255", ослепление прошло,кинул ещё раз, но уже отвернулся от неё(чтобы не ослепнуть полностью). Выдало "125"
 
Сообщения
271
Реакции
348
Помог
15 раз(а)
?
Код:
enum flash_state
{
    FLASH_NONE = 0,
    FLASH_TIME,
    FLASH_HOLD
};

flash_state:getFlashState(id)
{
    new Float:flStartTime = Float:get_member(id, m_blindStartTime);
    new Float:flGameTime = get_gametime();
    
    //client_print(0, print_chat, "%f %f %f", flStartTime + Float:get_member(id, m_blindHoldTime), flStartTime + Float:get_member(id, m_blindFadeTime), flGameTime);
    
    if (flStartTime + Float:get_member(id, m_blindHoldTime) >= flGameTime)
    {
        return FLASH_HOLD;
    }

    if (flStartTime + Float:get_member(id, m_blindFadeTime) >= flGameTime)
    {
        return FLASH_TIME;
    }

    return FLASH_NONE;
}
 
Сообщения
396
Реакции
218
Помог
13 раз(а)
Denzer, Благодарю. Подходит идеально.
20 Авг 2021
Благодарю за помощь!
Тему можно закрывать (Вроде как у вас так пишут, когда получают ответ на интересующий вопрос)
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу