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

Weapon_Slam from HL2: Deathmatch to HL2
Сегодня мы сделаем weapon_slam из HL2: Deathmatch в просто в HL2. Итак начнем, добавим в серверную часть проекта (src/dlls/hl2_dll) 3 файла ( так же к ним созадйте 3 файла с разширеним .h ): weapon_slam.cpp, grenade_satchel.cpp и grenade_tripmine.cpp (Качаем эти исходники здесь). Повписываем в свои файлы которые вы добавили в проект. В клиентовскую часть вписывать ничего не надо, так как там уже вписано от HL2: Deathmatch'a.
Теперь мы идем сюда (src\game_shared\hl2\hl2_gamerules.cpp) и разцитируем эти две строчки:

//ConVarsk_max_slam ( "sk_max_slam","0", FCVAR_REPLICATED);
//ConVar sk_max_tripwire ( "sk_max_tripwire","0", FCVAR_REPLICATED);

Обязательно поставте значение sk_max_slam на 10, иначе в игре работать не будет!

Потом в этом же файле спускаемся в самый низ до строчек def.AddAmmoType и там где то после строчки:

def.AddAmmoType("Grenade", DMG_BURN, TRACER_NONE, "sk_plr_dmg_grenade", "sk_npc_dmg_grenade", "sk_max_grenade", 0, 0);

Вставим эту:

def.AddAmmoType("Slam", DMG_BURN, TRACER_NONE, NULL, NULL, "sk_max_slam", 0, 0);

Всё, можно компилить smile Теперь сделаем скрипт, для этого заходите в папку вашего мода/Scripts и там создадим файл под названием weapon_slam.txt и туда впишем это:

// Slam

WeaponData
{
// Weapon data is loaded by both the Game and Client DLLs.
"printname" "Slam"
"viewmodel" "models/weapons/v_slam.mdl"
"playermodel" "models/weapons/w_slam.mdl"
"anim_prefix" "slam"
"bucket" "4"
"bucket_position" "1"

"clip_size" "3"
"primary_ammo" "None"
"secondary_ammo" "slam"
"default_clip2" "3"

"weight" "1"
"item_flags" "2"

// Weapon Sprite data is loaded by the Client DLL.
TextureData
{
"weapon"
{
"file" "sprites/w_icons2b"
"x" "128"
"y" "64"
"width" "128"
"height" "64"
}
"weapon_s"
{
"file" "sprites/w_icons2b"
"x" "128"
"y" "64"
"width" "128"
"height" "64"
}
"ammo"
{
"font" "WeaponIcons"
"character" "o"
}
"crosshair"
{
"font" "Crosshairs"
"character" "Q"
}
"autoaim"
{
"file" "sprites/crosshairs"
"x" "48"
"y" "72"
"width" "24"
"height" "24"
}
}

Теперь надо сделать звуки к нашему слэму, так что идем сюда Scripts/Game_sounds_weapons.txt и там где то после обозначений звуков гранаты (weapon_frag) впишем наши звуки:

"Weapon_SLAM.ThrowMode"
{
"channel" "CHAN_VOICE"
"volume" "1.0"
"soundlevel" "SNDLVL_75dB"

"wave" "weapons/slam/throw_mode.wav"
}

"Weapon_SLAM.TripMineMode"
{
"channel" "CHAN_VOICE"
"volume" "1.0"
"soundlevel" "SNDLVL_75dB"

"wave" "weapons/slam/mine_mode.wav"
}

"Weapon_SLAM.SatchelDetonate"
{
"channel" "CHAN_VOICE"
"volume" "1.0"
"soundlevel" "SNDLVL_75dB"

"wave" "weapons/slam/detonator_button.wav"
}

"Weapon_SLAM.TripMineAttach"
{
"channel" "CHAN_VOICE"
"volume" "1.0"
"soundlevel" "SNDLVL_75dB"

"wave" "weapons/slam/mine_deploy.wav"
}

"Weapon_SLAM.SatchelThrow"
{
"channel" "CHAN_VOICE"
"volume" "1.0"
"soundlevel" "SNDLVL_75dB"

"wave" "weapons/slam/throw.wav"
}

"Weapon_SLAM.SatchelAttach"
{
"channel" "CHAN_VOICE"
"volume" "1.0"
"soundlevel" "SNDLVL_75dB"

"wave" "weapons/slam/mine_deploy.wav"
}

И осталось совсем чуть-чуть! Зайдите в папку вашего мода\cfg\skill.cfg там найдите и там разцитируйте эти строчки:

//sk_plr_dmg_satchel "150"
//sk_npc_dmg_satchel "75"
//sk_satchel_radius "150"

А потом эти:

//sk_plr_dmg_tripmine "150"
//sk_npc_dmg_tripmine "125"
//sk_tripmine_radius "200"

Всё, можно запускать игру и смотреть как всё это дело работает smile Звуки, материалы и модели качать здесь или вытаскивать из Миссинг Инфо.

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

Всего комментариев: 5
5 LongNange{RUS}  
1
Почему луч СИНИЙ???
А у меня как в ДМ - красный. А исходники не палёные. просто коече нужно пофиксить. причем легко очень. Если че марк обращайся, помогу

4 MARK  
1
А исходники то палёные 11 егоров нашлось

3 cIIeIL  
1
для комбайнов =D

2 Mapper Chuwis720  
1
А что плохого?

1 SiPlus  
1
Почему луч СИНИЙ???

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

Кто в Онлайн

Друзья сайта

Баннеры

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