Хотите, чтоб в вашем моде можно было выкинуть пушку аля кс? не вопрос =) Основной код за вас сделала valve, а на осталось только зарегить команду в console... Короче поехали: 1) Откроем файл: dlls\client.cpp Найдём строку: static ConCommand drawcross("drawcross", CC_DrawCross, "Draws a cross at the given location\n\tArguments: x y z", FCVAR_CHEAT); После неё вставим код: void CC_Player_Drop( void ) { CBasePlayer *pPlayer = ToBasePlayer( UTIL_GetCommandClient() ); CBaseCombatWeapon *pWeapon = pPlayer->GetActiveWeapon(); if ( pWeapon->CanDrop() ) { pPlayer->Weapon_Drop( pWeapon, NULL, NULL); } } static ConCommand drop("drop", CC_Player_Drop, "Drop Player Weapon."); Дальше находим файл basecombatweapon_shared.h и в нём после строчки: virtual bool IsPredicted( void ) const { return false; } Вставис эту: bool CanDrop( void ){return true;} Теперь если вы хотите, что в вашем моде нельзя выло выкидывать, например ломик, то вы идёте в его класс и где-нибудь там вставляете строку: bool CanDrop( void ){return false;} Так можно сделать со множеством оружия Теперь пишем в консоле bind g "drop" и вуаля =) Если будут какие-нибудь вопросы пишите: mailto:fedjarik@gcnet.ru | © SilentPlace
Источник: http://bbs.nashalife.ru/showthread.php?s=&threadid=12626 |