Вторник, 15.10.2024, 04:18
Приветствую Вас 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

Наш опрос
Оцените мой сайт
Всего ответов: 632

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

Патроны
Итак откройте item_ammo.cpp и найдите например это:

LINK_ENTITY_TO_CLASS(item_ar2_grenade, CItem_AR2_Grenade);
LINK_ENTITY_TO_CLASS(item_ammo_smg1_grenade, CItem_AR2_Grenade);

После добавьте это:

// ========================================================================
// >> Custom Ammo
// ========================================================================

#define SIZE_AMMO_-CUSTOM- 30 //Количество патронов, даваемых при прикосновении

class CItem_-Custom- : public CItem
{
public:
DECLARE_CLASS( CItem_-Custom-, CItem );

void Spawn( void )
{
Precache( );
SetModel( "models/items/boxsrounds.mdl"); //Моделька коробочки. Здесь я использую пистолетную
BaseClass::Spawn( );
}
void Precache( void )
{
PrecacheModel ("models/items/boxsrounds.mdl"); //Опять модель коробки
}
bool MyTouch( CBasePlayer *pPlayer )
{
if (ITEM_GiveAmmo( pPlayer, SIZE_AMMO_-CUSTOM-, "-Custom-"))
{
if ( g_pGameRules->ItemShouldRespawn( this ) == GR_ITEM_RESPAWN_NO )
{
UTIL_Remove(this);
}
return true;
}
return false;
}
};
LINK_ENTITY_TO_CLASS(item_box_-Custom-, CItem_-Custom-); //Название ентити
LINK_ENTITY_TO_CLASS(item_ammo_-Custom-, CItem_-Custom-); //Название ентити

Дальше ищем файл hl2_gamerules.cpp.
Ищем строку:

CAmmoDef *GetAmmoDef()
И под ней вставляем после неё:
def.AddAmmoType("-Custom-", DMG_BULLET, TRACER_LINE_AND_WHIZ, "sk_plr_dmg_-custom-", "sk_npc_dmg_-custom-", "sk_max_-custom-", BULLET_IMPULSE(200, 1225), 0 );
Так же ищем:
ConVar sk_max_ar2_altfire ( "sk_max_ar2_altfire","0", FCVAR_REPLICATED);
И ниже добавляем:
ConVar sk_plr_dmg_-custom- ( "sk_plr_dmg_-custom-","0", FCVAR_REPLICATED );
ConVar sk_npc_dmg_-custom- ( "sk_npc_dmg_-custom-","0", FCVAR_REPLICATED);
ConVar sk_max_-custom- ( "sk_max_-custom-","0", FCVAR_REPLICATED);

Теперь замените все выделенные -Custom- на собственное, например AlyxGun, причём с учётом регистра и без "-".
А в скриптах оружия измените название с, например AlyxGun на ваши патроны

Вот так. Компильте и радуйтесь! Так же советую прописать патроны в импульс 101 wink

Туториал от Страйдера.

Категория: Туториалы по программированию (HL2) | Добавил: Strider (21.05.2009)
Просмотров: 1667 | Комментарии: 3 | Рейтинг: 0.0 |

Всего комментариев: 3
3 Decer  
1
Кстати, он не полный, здесь есть много чего не хватает, позже скажу.

2 Frest  
1
Неверно, ведь надо ещё прописать декларацию о том чтобы можно было использовать патроны в скриптах оружии (weapon_smg1).Иначе пахать не будет (проверено на мне).Как именно можешь узнать о туториале создание OICW автор которого DeTLeR.Там все написано.

1 Decer  
0
Пасиб!!! biggrin

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

Кто в Онлайн

Друзья сайта

Баннеры

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