Цитата:Оригинальное сообщение от Fena
Хотите, чтоб в вашем моде можно было выкинуть пушку аля кс? не вопрос =) Основной код за вас сделала valve, а на осталось только зарегить команду в console... Короче поехали:
1) Откроем файл: dlls\client.cpp
Найдём строку: code:static ConCommand drawcross
После неё вставим код:
code:
void CC_Player_Drop( void )
{
CBasePlayer *pPlayer = ToBasePlayer( UTIL_GetCommandClient() );
CBaseCombatWeapon *pPlayerItem;
pPlayerItem = pPlayer->GetActiveWeapon();
pPlayer->Weapon_Drop(pPlayer->GetActiveWeapon(), NULL, NULL);
}
static ConCommand drop("drop", CC_Player_Drop, "Drop Player Item.");
Вот и всё Теперь пишем в консоле bind g "drop" и вуаля =) Если будут какие-нибудь вопросы пишите: mailto:fedjarik@gcnet.ru | © SilentPlace
А я вот сидел перечитывал форум и решил предложить свой способ.
code:
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.");
И надо в классе CBaseCombatWeapon сделать метод :
code:
bool CanDrop( void ){return true;}
И например если у вас есть оружие базирующаяся на данном классе и вы не хотите его выкидывать
просто впишите в класс вашего оружия:
code:
bool CanDrop( void ){return false;}