Вопрос IsAlive crash

Пользователь
Статус
Оффлайн
Регистрация
26 Авг 2017
Сообщения
386
Реакции[?]
32
Поинты[?]
8K
база CSGO Simple от спиртхака, при смерти в любом режиме кроме ботов происходит краш вот здесь. Как фиксить, подскажите пожалуйста
1647291145875.png
 
Участник
Статус
Оффлайн
Регистрация
30 Авг 2020
Сообщения
777
Реакции[?]
245
Поинты[?]
10K
PrimordialAgent
Пользователь
Статус
Оффлайн
Регистрация
4 Ноя 2020
Сообщения
236
Реакции[?]
97
Поинты[?]
1K
база CSGO Simple от спиртхака, при смерти в любом режиме кроме ботов происходит краш вот здесь. Как фиксить, подскажите пожалуйста
Посмотреть вложение 196101
C++:
bool C_BasePlayer::IsAlive()
{
    return g_LocalPlayer->m_iHealth > 0 //посмотри точно название нетвара, я уже не оч помню
}
 
Участник
Статус
Оффлайн
Регистрация
15 Янв 2021
Сообщения
492
Реакции[?]
289
Поинты[?]
79K
база CSGO Simple от спиртхака, при смерти в любом режиме кроме ботов происходит краш вот здесь. Как фиксить, подскажите пожалуйста
Посмотреть вложение 196101
Перед проверкой IsAlive нужно выполнять проверку вообще на существование entity и игрок ли это


C++:
bool bebraFunc(C_BasePlayer* player) {
    if(!player->IsAlive()) // Вернет ошибку
        return;
}

// А вот так всё будет збс
bool bebraFunc(C_BasePlayer* player) {
    if(!player)
        return;
   
    if(!player->IsPlayer())
        return;
       
    if(!player->IsAlive())
        return;
}
 
Эксперт
Статус
Оффлайн
Регистрация
10 Фев 2021
Сообщения
1,740
Реакции[?]
559
Поинты[?]
2K
Перед проверкой IsAlive нужно выполнять проверку вообще на существование entity и игрок ли это


C++:
bool bebraFunc(C_BasePlayer* player) {
    if(!player->IsAlive()) // Вернет ошибку
        return;
}

// А вот так всё будет збс
bool bebraFunc(C_BasePlayer* player) {
    if(!player)
        return;
 
    if(!player->IsPlayer())
        return;
     
    if(!player->IsAlive())
        return;
}
Только тут нам никто не вернёт, жив ли ентити, а ещё || или && по приколу сделали
 
Участник
Статус
Оффлайн
Регистрация
15 Янв 2021
Сообщения
492
Реакции[?]
289
Поинты[?]
79K
Только тут нам никто не вернёт, жив ли ентити, а ещё || или && по приколу сделали
Сделал так ради читабельности кода...

P.s. да и к тому же, почему нам IsAlive() ничего не вернет ?) Вроде в самой кске проверка идет по m_lifeState.
 
Забаненный
Статус
Оффлайн
Регистрация
22 Мар 2021
Сообщения
1,019
Реакции[?]
315
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу