Добавляем патроны к снайперской винтовке из беты Half-life 2
 

0 Members and 1 Guest are viewing this topic.

  • Citizen
  • *
  • Posts: 31
    • View Profile
Этот гайд рассчитан на таких же  нубов как и я, блуждая по просторам интернета я увидел сайт где говорили о том, что можно портировать оружие из хл2 бета в хл2 (так например с винтовкой)

Вот ссылка: LINK
Там всё подробно написано кроме одного, как добавить коробочку с патронами? Ответ тут:

Открываем item_ammo.cpp в sp/src/game/server/hl2 и пишем где-то после //
Code: [Select]
========================================================================
// >> LargeBoxSRounds
// ========================================================================
class CItem_LargeBoxSRounds : public CItem
{
public:
DECLARE_CLASS( CItem_LargeBoxSRounds, 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_PISTOL_LARGE, "Pistol"))
{
if ( g_pGameRules->ItemShouldRespawn( this ) == GR_ITEM_RESPAWN_NO )
{
UTIL_Remove(this);
}
return true;
}
return false;
}
};
LINK_ENTITY_TO_CLASS(item_large_box_srounds, CItem_LargeBoxSRounds);
LINK_ENTITY_TO_CLASS(item_ammo_pistol_large, CItem_LargeBoxSRounds);


Делаем два пробела и на втором вставляем:

Code: [Select]
#define SIZE_AMMO_SNIPER_ROUND 5 // сколько патронов будет давать оружие

class CItem_SniperRound : public CItem
{
public:
DECLARE_CLASS(CItem_SniperRound, CItem);

void Spawn(void)
{
Precache();
// выберите подходящую модель: можно свою или из инета, можно из HL2
SetModel("models/items/boxsniperrounds.mdl");
BaseClass::Spawn();
}

void Precache(void)
{
PrecacheModel("models/items/boxsniperrounds.mdl");
}

bool MyTouch(CBasePlayer* pPlayer)
{
if (ITEM_GiveAmmo(pPlayer, SIZE_AMMO_SNIPER_ROUND, "SniperRound"))
{
if (g_pGameRules->ItemShouldRespawn(this) == GR_ITEM_RESPAWN_NO)
{
UTIL_Remove(this);
}
return true;
}
return false;
}
};

LINK_ENTITY_TO_CLASS(item_box_sniper_round, CItem_SniperRound);
LINK_ENTITY_TO_CLASS(item_ammo_sniper_round, CItem_SniperRound);


Готово, (модель патронов к снайперской винтовке есть в самой хл2)

Однако, урон у неё маленький и с первого раза никого не убьёшь, фиксим зайдя в: yourmod/cfg, там находим файл skill.cfg (СОВЕТУЮ РЕДАЧИТЬ В NOTEPAD++), с уроном от оружия, статами нпсишек и т.д.. Находим там:

//sk_plr_dmg_gauss         "25"
//sk_plr_max_dmg_gauss      "30"

И после этого, снизу пишем:

sk_plr_dmg_sniper_round      "200"
sk_npc_dmg_sniper_round      "500"
sk_max_sniper_round         "30"


(Я нубище в программировании и это мой первый тутор, поправьте если я где-то ошибся)
  • Citizen
  • *
  • Posts: 31
    • View Profile
Поправка: Не забудьте после компиляции перекинуть клиент и сервер части в папку bin вашего мода!

SimplePortal 2.3.7 © 2008-2026, SimplePortal