Найди строку: Code LINK_ENTITY_TO_CLASS( item_rpg_round, CItem_RPG_Round ); И после неё вписывем: Code #define AMMO_<<NAMMO>>_GIVE <<SIZE>> // Колличество снарков которые будет давать данный item #define AMMO_<<NAMMO>>_MODEL <<MODEL DIR>> // УКАЖИТЕ вашу модель для коробочки тут
class CItem_SnarksAmmo : public CItem { public: DECLARE_CLASS( CItem_SnarksAmmo, CItem );
void Spawn( void ) { Precache(); SetModel( AMMO_<<NAMMO>>_MODEL ); BaseClass::Spawn(); } void Precache( void ) { engine->PrecacheModel( AMMO_<<NAMMO>>_MODEL ); } bool MyTouch( CBasePlayer *pPlayer ) { if ( ITEM_GiveAmmo( pPlayer, AMMO_SNARKS_GIVE, <<NAMMO>> ) ) { if ( g_pGameRules->ItemShouldRespawn( this ) == GR_ITEM_RESPAWN_NO ) { UTIL_Remove(this); } return true; } return false; } }; LINK_ENTITY_TO_CLASS( item_ammo_<<nammo>>, CItem_<<Nammo>>Ammo ); // Название инить LINK_ENTITY_TO_CLASS( item_<<nammo>>_ammo, CItem_<<Nammo>>Ammo ); // Название инить Далее лезем в player.cpp и ищем команду Case 101 (что бы при impulse 101 давал и патрончики к снаркам), и добавляем туда строчки: Code GiveAmmo( 150, "<<NAMMO>>" ); Далее лезем в hl2_gamerules.cpp, на сервере и находим по поиску (CTRL+F): Code CAmmoDef *GetAmmoDef() И под строкой: Code def.AddAmmoType("AirboatGun", DMG_AIRBOAT, TRACER_LINE, "sk_plr_dmg_airboat", "sk_npc_dmg_airboat", NULL, BULLET_IMPULSE(10, 600), 0 ); Пишем: Code def.AddAmmoType("<<NAMMO>>", DMG_BLAST, TRACER_LINE, "sk_plr_dmg_<<NAMMO>>", "sk_npc_dmg_<<NAMMO>>", "sk_max_<<NAMMO>>", BULLET_IMPULSE(200 , 1225), 0 ); Теперь ищме строку в этом же файле: Code ConVar sk_max_smg1 ( "sk_max_smg1","0", FCVAR_REPLICATED); И под ней пишем: Code // hitmen047 ConVar sk_plr_dmg_<<NAMMO>> ( "sk_plr_dmg_<<NAMMO>>","0", FCVAR_REPLICATED ); ConVar sk_npc_dmg_<<NAMMO>> ( "sk_npc_dmg_<<NAMMO>>","0", FCVAR_REPLICATED); ConVar sk_max_<<NAMMO>> ( "sk_max_<<NAMMO>>","0", FCVAR_REPLICATED); Теперь идём в действительную папку с модом, залазим там в scripts, и создаём текстовик weapon_gauss.txt вот с такими внутренностями: Code // Snark
WeaponData { // Weapon data is loaded by both the Game and Client DLLs. "printname" "Weapon with new ammo" "viewmodel" "models/v_squeak.mdl" // Ставьте своё "playermodel" "models/w_sqknest.mdl" // Ставьте своё "anim_prefix" "squeak" "bucket" "4" // Позиция по горизонтале "bucket_position" "3" // Позиция по вертекале
"clip_size" "-1" "default_clip" "5" " pri mary_ammo " "<<NAMMO>>" "secondary_ammo" "None"
"weight" "5" "item_flags" "24" // ITEM_FLAG_LIMITINWORLD | ITEM_FLAG_EXHAUSTIBLE
// Sounds for the weapon. There is a max of 16 sounds per category (i.e. max 16 "single_shot" sounds) SoundData { }
// Weapon Sprite data is loaded by the Client DLL. TextureData { "weapon" { "file" "sprites/640hud3" "x" "0" "y" "135" "width" "170" "height" "45" } "weapon_s" { "file" "sprites/ 640hud6" "x" "0" "y" "135" "width" "170" "height" "45" } "ammo" { "file" "sprites/640hud7" "x" "96" "y" "96" "width" "24" "height" "24" } } } Теперь лезем в skill.cfg и выставляем значения для: Code sk_plr_dmg_<<NAMMO>> sk_npc_dmg_<<NAMMO>> sk_max_<<NAMMO>> Например: Code sk_plr_dmg_<<NAMMO>> "3" sk_npc_dmg_<<NAMMO>> "4" sk_max_<<NAMMO>> "5" ПОЯСНЕНИЯ: <<NAMMO>> - Ваше название патронов, например: SMG1 или SMG2 (любое). <<SIZE>> - Кол-во патронов, которые будем получать при поднятии коробки. <<MODEL DIR>> - Дирректория модели, например: "models/SNARKS.mdl".
Источник: http://detroitmod.ucoz.ru/forum/43-207 |