Четверг, 25.04.2024, 15:25
Приветствую Вас Guest | RSS
Главная страница | Статьи | Регистрация | Вход
Меню сайта

Случайный рисунок

Категории каталога
Туториалы по маппингу (HL2) [68]
Туториалы по маппингу для Half-Life
Туториалы по текстурированию (HL2) [10]
Туторы по текстурированию для Half-Life
Туториалы по моделированию (HL2) [9]
Туторы по моделированию для Half-Life
Туториалы по программированию (HL2) [53]
Туторы по прагроммированию для Half-life
Другие туториалы (HL1 и HL2) [4]
Туторы которые не вошли в другие категории
Half-Life 2 Beta [1]
Статьи о npc и weapon в бете Half-Life 2, а так же мануалы и FAQ.
Туториалы по маппингу (HL1) [14]
Туторы по маппингу для Half-Life 1
Туториалы по текстурированию (HL1) [1]
Туторы по текстурированию для Half-Life 1
Туториалы по моделированию (HL1) [1]
Туторы по моделированию для Half-Life 1
Туториалы по программированию (HL1) [30]
Туторы по программированию для Half-Life 1

Наш опрос
Приводить ли сайт в чувство?
Всего ответов: 736

Начало » Статьи » Туториалы по программированию (HL2)

Zoom
Сложность: новичек.

Создание приближения для оружия. Рассмотрим несколько примеров создания зум-режима.
Для начала сделаем самый простой зум. Как у арбалета. Для нам потребуется код такого содержания:

В классе оружия нам потребуется сама функция, к примеру назовем её просто zoom:

void Zoom( void );

и небольшая переменная:

bool m_bZoomed;

Так же нам надо записать нашу переменную в DataDesk:

DEFINE_FIELD( m_bZoomed, FIELD_BOOLEAN ),

Теперь нам надо что б наш зум вызывался на ПКМ ( правая кнопка мыши ). Для этого мы идём в функцию ItemPostFrame и там напишем что-нибудь вроде этого:

if ( pPlayer -> m_nButtons & IN_ATTACK2 ) // если игрок нажмет на правую кнопку мышы
{
Zoom(); // то будем вызывать нашу фукцию zoom
}

С этим покончено. Теперь непосредственно перейдем к самому приближению. Для этого создадим функцию:

voidCWeaponTest::Zoom( void )
{
CBasePlayer *pPlayer = ToBasePlayer( GetOwner() );
if ( pPlayer == NULL ) return;

if ( m_bZoomed )
{
pPlayer -> ShowViewModel( true ); // пока игрок не нажал на ПКМ, то вью модель оружия будет видна

WeaponSound( SPECIAL2 ); // звук при нажатии
pPlayer -> SetFOV( this, 0, 0.1f );
m_bZoomed = false; // m_bZoomed не активен
}
else
{
pPlayer -> ShowViewModel( false ); // вьюмодель будет уже скрыта, так как зум ативирован :)

WeaponSound( SPECIAL1 ); // звук при нажатии
pPlayer -> SetFOV( this, 35, 0.1f ); // 35 – значение насколько сильно приближение
m_bZoomed = true; // m_bZoomed активен
}
}

Если вам ненужны звуки при переключении Простой режим - зум и обратно, то просто удалите строки начинающиеся с WeaponSound.

Ну вот собственно с самым легким зумом покончено wink На этом пока всё.

To be continued…

Категория: Туториалы по программированию (HL2) | Добавил: DetLeR (26.04.2009)
Просмотров: 1441 | Комментарии: 4 | Рейтинг: 4.5 |

Всего комментариев: 4
4 Strider  
0
Ладно, тогда первый камент

3 DetLeR  
0
Мне тот тутор не нравится тем что там куча лишнего. У меня же всё конпактно и удобно как по мне smile

2 Strider  
0

1 Strider  
0
А можно, чтобы при зуме включался оверлей? В скриптах если на зум поставить, то прицел будет везде (не только в зуме)

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Кто в Онлайн

Друзья сайта

Баннеры

  Сайт CrazyArts   Black   Сообщество сайтов о Half-Life   Самый   Только   Все   hl2 top 100     Rambler's Top100  

игры
игры

  Каталог сайтов Планета Топ 100 - Planet Top 100       ТОП ЛУЧШИХ ИГРОВЫХ САЙТОВ           Detroit Team Site :: Моды от Detroit Team, видео, новости.   Naruto-kun[Звезда Наруто]  


The idea of dising: Homie7