Вопрос Как сделать сохранение углов в ресольвере?(lw)

Начинающий
Статус
Оффлайн
Регистрация
9 Ноя 2020
Сообщения
153
Реакции[?]
7
Поинты[?]
0
Мисснул - убили, потом ресольвер сохраняет угл, и потом применяет его
 
шатап книга
Забаненный
Статус
Оффлайн
Регистрация
7 Мар 2020
Сообщения
485
Реакции[?]
119
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
создаешь переменные и сейвишь их, затем когда чела хснул записываешь новые данные в засейвенные переменные:roflanzdarova:
еще можешь чекнуть сурс самовара либо скит.идб на легендваре
 
Начинающий
Статус
Оффлайн
Регистрация
9 Ноя 2020
Сообщения
153
Реакции[?]
7
Поинты[?]
0
создаешь переменные и сейвишь их, затем когда чела хснул записываешь новые данные в засейвенные переменные:roflanzdarova:
еще можешь чекнуть сурс самовара либо скит.идб на легендваре
можно пример кода?
 
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,123
Реакции[?]
391
Поинты[?]
46K
C++:
void CResolver::SaveAnglesResolver()
{
    static std::array<float, 65> m_flLastHitAngle;
    
    switch (g_PlayerList.at(i).m_iMissedShots % 2)
    {
    case 0:
        m_pAnimState->m_flGoalFeetYaw = m_flLastHitAngle.at(i);
        break;
    case 1:
        m_pAnimState->m_flGoalFeetYaw = LeftSide;
        if (m_bHit) m_flLastHitAngle.at(i) = LeftSide;
        break;
    case 2:
        m_pAnimState->m_flGoalFeetYaw = RightSide;
        if (m_bHit) m_flLastHitAngle.at(i) = RightSide;
        break;
    }
}
 
шатап книга
Забаненный
Статус
Оффлайн
Регистрация
7 Мар 2020
Сообщения
485
Реакции[?]
119
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
22 Мар 2021
Сообщения
1,019
Реакции[?]
315
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Массив делаешь да и заполняешь по индексам игроков. Правда есть проблема, что если чел ливнет и зайдет другой, то он будет иметь этот же индекс. Это тож пофиксить можешь :CoolCat:
 
priora compressor
Участник
Статус
Оффлайн
Регистрация
18 Май 2019
Сообщения
675
Реакции[?]
243
Поинты[?]
16K
Мисснул - убили, потом ресольвер сохраняет угл, и потом применяет его
C++:
float_t flPlayerLastResolverAngle[MAX_PLAYERS_COUNT/*64*/];
switch(g_Globals.m_FireData.iMissedShotsByResolver[pPlayer->GetEntityIndex()])
{
case 0: // миссы равны нулю
if (!flPlayerLastResolverAngle[pPlayer->GetEntityIndex()]){ // делаем проверку на то что последний угол равен нулю, ставим вычисленную дельту в ресольв и сетаем ласт угол
    m_ResolverData[pPlayer->GetEntityIndex()].flAngleForResolver = angle,
    flPlayerLastResolverAngle[pPlayer->GetEntityIndex()] = angle;
else // последний угол не равен нулю, значит там есть инфа о ласт угле, ставим его в ресольв
    m_ResolverData[pPlayer->GetEntityIndex()].flAngleForResolver = flPlayerLastResolverAngle[pPlayer->GetEntityIndex()]; break;
case 1: // мисс не равен нулю, нам не нужен ласт угол, просто брутим и сохраняем ласт угол
    m_ResolverData[pPlayer->GetEntityIndex()].flAngleForResolver = -angle,
    flPlayerLastResolverAngle[pPlayer->GetEntityIndex()] = -angle;
break;
// дальше по такому же принципу
}
// можешь сделать какую нибудь крутую логику, но если лень то просто забей, при смене карты или выходе игрока не забудь обнулить ласт угол при помощи memcpy, иначе начнутся приколы
cred: Insultik
 
Сверху Снизу