diff --git a/src/client/cstrike/cmds.c b/src/client/cstrike/cmds.c index 2607cd6a..a030e963 100644 --- a/src/client/cstrike/cmds.c +++ b/src/client/cstrike/cmds.c @@ -33,17 +33,6 @@ Game_ConsoleCommand(void) case "radio3": Textmenu_Call("RADIOC"); break; - case "motd": - /*VGUI_MessageOfTheDay();*/ - break; - case "buy": - /*if (getstatf(STAT_BUYZONE) == TRUE) { - VGUI_BuyMenu(); - }*/ - break; - case "chooseteam": - /*VGUI_ChooseTeam();*/ - break; case "nightvision": /*Nightvision_Toggle();*/ break; diff --git a/src/client/cstrike/defs.h b/src/client/cstrike/defs.h index 9ced33d8..1b4dd24f 100644 --- a/src/client/cstrike/defs.h +++ b/src/client/cstrike/defs.h @@ -30,6 +30,7 @@ struct int m_iVMBones; int m_iVMEjectBone; int m_iLastWeapon; + int m_iOldWeapon; float m_flBobTime; float m_flBob; diff --git a/src/client/cstrike/hud_weaponselect.c b/src/client/cstrike/hud_weaponselect.c index 9488fb98..6f29a089 100644 --- a/src/client/cstrike/hud_weaponselect.c +++ b/src/client/cstrike/hud_weaponselect.c @@ -91,7 +91,11 @@ HUD_DrawWeaponSelect_Trigger(void) void HUD_DrawWeaponSelect_Last(void) { - + player pl = (player)pSeat->m_ePlayer; + if (pl.g_items & g_weapons[pSeat->m_iOldWeapon].id) { + pl.activeweapon = pSeat->m_iOldWeapon; + sendevent("PlayerSwitchWeapon", "i", pSeat->m_iOldWeapon); + } } void diff --git a/src/client/gearbox/hud_weaponselect.c b/src/client/gearbox/hud_weaponselect.c index ff58f1a5..403e04ef 100644 --- a/src/client/gearbox/hud_weaponselect.c +++ b/src/client/gearbox/hud_weaponselect.c @@ -97,7 +97,11 @@ HUD_DrawWeaponSelect_Trigger(void) void HUD_DrawWeaponSelect_Last(void) { - + player pl = (player)pSeat->m_ePlayer; + if (pl.g_items & g_weapons[pSeat->m_iOldWeapon].id) { + pl.activeweapon = pSeat->m_iOldWeapon; + sendevent("PlayerSwitchWeapon", "i", pSeat->m_iOldWeapon); + } } void diff --git a/src/client/rewolf/hud_weaponselect.c b/src/client/rewolf/hud_weaponselect.c index fa6b67b0..bf13d31d 100644 --- a/src/client/rewolf/hud_weaponselect.c +++ b/src/client/rewolf/hud_weaponselect.c @@ -95,7 +95,11 @@ void HUD_DrawWeaponSelect_Trigger(void) void HUD_DrawWeaponSelect_Last(void) { - + player pl = (player)pSeat->m_ePlayer; + if (pl.g_items & g_weapons[pSeat->m_iOldWeapon].id) { + pl.activeweapon = pSeat->m_iOldWeapon; + sendevent("PlayerSwitchWeapon", "i", pSeat->m_iOldWeapon); + } } void HUD_DrawWeaponSelect_Num(vector vecPos, float fValue) diff --git a/src/client/valve/defs.h b/src/client/valve/defs.h index 66f9335f..d95d25c8 100644 --- a/src/client/valve/defs.h +++ b/src/client/valve/defs.h @@ -28,6 +28,7 @@ struct int m_iVMBones; int m_iVMEjectBone; int m_iLastWeapon; + int m_iOldWeapon; float m_flBobTime; float m_flBob; diff --git a/src/client/valve/hud_weaponselect.c b/src/client/valve/hud_weaponselect.c index bf82f50f..6b6ada1f 100644 --- a/src/client/valve/hud_weaponselect.c +++ b/src/client/valve/hud_weaponselect.c @@ -91,7 +91,11 @@ HUD_DrawWeaponSelect_Trigger(void) void HUD_DrawWeaponSelect_Last(void) { - + player pl = (player)pSeat->m_ePlayer; + if (pl.g_items & g_weapons[pSeat->m_iOldWeapon].id) { + pl.activeweapon = pSeat->m_iOldWeapon; + sendevent("PlayerSwitchWeapon", "i", pSeat->m_iOldWeapon); + } } void diff --git a/src/client/valve/view.c b/src/client/valve/view.c index 22c7f9cf..55921816 100644 --- a/src/client/valve/view.c +++ b/src/client/valve/view.c @@ -23,6 +23,7 @@ View_UpdateWeapon(entity vm, entity mflash) if (pSeat->m_iLastWeapon == pl.activeweapon) { return; } + pSeat->m_iOldWeapon = pSeat->m_iLastWeapon; pSeat->m_iLastWeapon = pl.activeweapon; if (!pl.activeweapon) { diff --git a/src/server/cstrike/armoury_entity.cpp b/src/server/cstrike/armoury_entity.cpp index d7286427..bfc8b062 100644 --- a/src/server/cstrike/armoury_entity.cpp +++ b/src/server/cstrike/armoury_entity.cpp @@ -115,6 +115,10 @@ armoury_entity::touch(void) return; } + /* temp */ + if (m_iItem == 17 || m_iItem == 16) + return; + if (Weapons_AddItem((player)other, m_iItem) == FALSE) { return; } diff --git a/src/shared/cstrike/w_usp45.c b/src/shared/cstrike/w_usp45.c index f0ea002c..23a499b7 100644 --- a/src/shared/cstrike/w_usp45.c +++ b/src/shared/cstrike/w_usp45.c @@ -71,13 +71,13 @@ w_usp45_updateammo(player pl) string w_usp45_wmodel(void) { - return "models/w_usp45.mdl"; + return "models/w_usp.mdl"; } string w_usp45_pmodel(void) { - return "models/p_usp45.mdl"; + return "models/p_usp.mdl"; } string diff --git a/src/shared/valve/weapon_common.c b/src/shared/valve/weapon_common.c index 9ba5e25f..b2df0094 100644 --- a/src/shared/valve/weapon_common.c +++ b/src/shared/valve/weapon_common.c @@ -370,5 +370,31 @@ void Weapons_ReloadWeapon(player pl, .int mag, .int ammo, int max) pl.(mag) += iNeed; pl.(ammo) -= iNeed; } -} +} + +void CSEv_DropWeapon(void) +{ + player pl = (player)self; + + static void DropWeapon_Enable(void) + { + self.solid = SOLID_TRIGGER; + } + + if (!pl.activeweapon) + return; + + item_pickup drop = spawn(item_pickup); + drop.setitem(pl.activeweapon); + setorigin(drop, pl.origin); + drop.solid = SOLID_NOT; + drop.think = DropWeapon_Enable; + drop.nextthink = time + 1.5f; + drop.movetype = MOVETYPE_TOSS; + + makevectors(pl.v_angle); + drop.velocity = v_forward * 256; + drop.avelocity[1] = 500; + Weapons_RemoveItem(pl, pl.activeweapon); +} #endif