Пятница, 19.04.2024, 17:10
Приветствую Вас 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

Наш опрос
Очистить ли форум от всех сообщений и начать всё с чистого листа?
Всего ответов: 561

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

Создание бинокля для Half-Life 2
Привет всем кто читает эту статью! Тут рассказуется про как создать бинокль для Half-Life 2. Итак поехали! Сначало созадайте в серверной части кода (src/dlls/hl2_dll/) файлик под названием weapon_binoculars.cpp и туда впишите всё из этого файла. После этого мы идём в клиентовскую часть. Идём сюда (src\cl_dll\hl2_hud\c_weapon__stubs_hl2.cpp) и вписываем где то после:

STUB_WEAPON_CLASS( weapon_bugbait, WeaponBugBait, C_BaseHLCombatWeapon );

Вот это:

STUB_WEAPON_CLASS( weapon_binoculars, WeaponBinoculars, C_BaseHLCombatWeapon );

Всё, в клиете всё сделано. Теперь нам надо сделать такую штуку что б при импульс 101 нам довалось всё оружие, включая наш бинокль smile Так что направляемся сюда (src\dlls\player.cpp) и ищем в этом файле строку case 101 и чуть ниже вы найдете строки куда вписывать оружие, не путаете с тем где вписывать патроны, так что где то после:

GiveNamedItem( "weapon_crossbow" );

Вот эту строку:

GiveNamedItem( "weapon_binoculars"

Но это еще не всё, надо кое-что поправить в файлике baseentity (src\dlls\baseentity.h) в нем ищем такую строку:

// Returns a CBaseAnimating if the entity is derived from CBaseAnimating.

И перед ней сразу пишем:

virtual bool IsSoundSource( void ) { return false; };

Всё, можно компилить! Но надо теперь сделать скрипт для этой пушки, так что неторопимся запускать игру biggrin Теперь лезем в вашу папку с модом, а оттуда в папку Scripts и там создадим файлик weapon_binoculars.txt куда впишем следующие:

//Binoculars

WeaponData
{
// Weapon data is loaded by both the Game and Client DLLs.
"printname" "Binoculars"
"viewmodel" "models/weapons/v_binoculars.mdl"
"playermodel" "models/weapons/w_binoculars.mdl"
"anim_prefix" "binoculars"
"bucket" "3"
"bucket_position" "3"

"clip_size" "-1"
"primary_ammo" "None"
"secondary_ammo" "None"

"weight" "0"
"item_flags" "0"

// Sounds for the weapon. There is a max of 16 sounds per category (i.e. max 16 "single_shot" sounds)
SoundData
{
"special1" "Weapon_Binoculars.Special1"
"special2" "Weapon_Binoculars.Special2"
"reload" "Weapon_Binoculars.Reload"
}

// Weapon Sprite data is loaded by the Client DLL.
TextureData
{
"weapon"
{
"file" "sprites/w_icons1b"
"x" "1"
"y" "129"
"width" "126"
"height" "62"
}
"weapon_s"
{
"file" "sprites/w_icons1b"
"x" "1"
"y" "129"
"width" "126"
"height" "62"
}
"ammo"
{
"file" "sprites/640hud7"
"x" "0"
"y" "72"
"width" "24"
"height" "24"
}

"ammo2"
{
"file" "sprites/640hud7"
"x" "48"
"y" "72"
"width" "24"
"height" "24"
}

"crosshair"
{
"font" "Crosshairs"
"character" "Q"
}

"autoaim"
{
"file" "sprites/crosshairs"
"x" "48"
"y" "72"
"width" "24"
"height" "24"
}

"zoom"
{
"file" "sprites/reticle"
"x" "0"
"y" "0"
"width" "128"
"height" "128"
}

"zoom_autoaim"
{
"file" "sprites/reticle"
"x" "0"
"y" "0"
"width" "128"
"height" "128"
}
}
}

Сделали? Отлично! Вы уже думайте запускать игру? А нифига, надо сделать еще что б у нашей пушки были звуки, для этого лезем в scripts\game_sounds_weapons.txt и там где то после обозначений звуков арбалета впишем это:

// weapon_binoculars.txt
"Weapon_Binoculars.Special1"
{
"channel" "CHAN_WEAPON"
"volume" "1.0"
"soundlevel" "SNDLVL_NORM"

"wave" "weapons/binoculars/binoculars_zoomin.wav"
}

"Weapon_Binoculars.Special2"
{
"channel" "CHAN_WEAPON"
"volume" "1.0"
"soundlevel" "SNDLVL_NORM"

"wave" "weapons/binoculars/binoculars_zoomout.wav"
}

"Weapon_Binoculars.Reload"
{
"channel" "CHAN_ITEM"
"volume" "1.0"
"soundlevel" "SNDLVL_NORM"

"wave" "weapons/binoculars/binoculars_zoommax.wav"
}

Вот теперь качаем модели и материалы к туториалу smile Cкачать их можно здесь или взять из Миссинг Инфо.

Категория: Туториалы по программированию (HL2) | Добавил: DetLeR (15.09.2007) | Автор: Роман
Просмотров: 2660 | Комментарии: 6 | Рейтинг: 5.0 |

Всего комментариев: 3
3 MyLordJeka  
1
было бы прикольно еще если приближение будет с тестуркой

2 DetLeR  
0
А то biggrin

1 OlegS  
0
Классный тутор smile

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

Кто в Онлайн

Друзья сайта

Баннеры

  Сайт 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