Half-Life
Half-Life 2
Half-Life дополнения
Популярные новости
Статистика
Как сделать многократное повышение в прицеле у арбалета
Разместил: mr_Demon
Размещено: 16-09-2009, 13:54
|
В данной статье описано, как сделать многократное повышение у арбалета (Crossbow). При нажатии и удерживании клавиши Shift происходит плавное повышение(как в камере) у орудия арбалет. В режиме роста арбалет стреляет разрывными (как и без роста), в отличие от необычного. В обыкновенном арбалете, как вы понимаете, есть лишь двойное повышение, это нужно поправить. Открываем файл Crossbow.cpp(в этом файле находится код арбалета), находим функцию void CCrossbow::SecondaryAttack() - строчка 502, на сто процентов удаляем её и вставляем код: int m_zoomcours = 90; bool m_zoom; // Возвращает значение TRUE либо FALSE void CCrossbow::SecondaryAttack() // Второстепенная атака у арбалета { if ( m_zoom ) // При нажатии клавиши, отвечающей за Secondary Attack, начинают выполняться нижеперечисленные условия (и фактически приближение) { m_pPlayer->m_iFOV = 0; // m_iFOV - обычное повышение. Значение m_iFOV можно поглядеть в CBasePlayer m_fInZoom = 0; m_zoomcours=90; // Фактически повышение (в данном случае = 90) m_zoom=0; } if (m_zoomcours > 4) { m_zoomcours = m_zoomcours-2; ; m_pPlayer->m_iFOV=m_zoomcours; } else // Когда опять нажата клавиша, отвечающая за Secondary Attack, повышение сбрасывается и опять происходит ожидание нажатия клавиши { m_zoomcours = 4; m_pPlayer->m_iFOV=m_zoomcours; } } Последующую функцию void CCrossbow::Reload( void ) (перезарядка арбалета) не изменяем. Сходу опосля неё будет функция: void CCrossbow::WeaponIdle( void ) (строчка 559) { Сейчас вставляем: if (m_zoomcoursGetAutoaimVector( AUTOAIM_2DEGREES ); Её не изменяем. Вот и всё! |
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Другие новости по теме:
Комментарии посетителей:







Комментариев: 0
Категория: Технологии
